QoS Ethernet e VLANs Redes de Computadores QoS Ethernet • A família Ethernet, padronizada pela série 802.3x tornou-se o modelo de LAN mais utilizado na atualidade, e sua utilização está se estendendo também a criação de enlaces WAN. – IEEE 802.1z (1 Gbe) e 10 Gbe (10 Gigabit Ethernet) QoS Ethernet • A importância do IEEE 802.3x motivou o IEEE a propor extensões do padrão original para suportar QoS: – IEEE 802.1Q: define o funcionamento de VLANs • Acrescenta dois campos no quadro: – Identificador de VLAN – Prioridade – IEEE 802.1p: define o uso do campo prioridade. Quadros Ethernet Ethernet I & II >= 1536 MAC origem MAC destino Tipo Proto. Dados CRC (6 bytes) (6 bytes) (2 bytes) (46 a 1500 bytes) (4 bytes) IEEE 802.3 < 1536 MAC origem MAC destino Tamanho Dados CRC (6 bytes) (6 bytes) (2 bytes) (46 a 1500 bytes) (4 bytes) IEEE 802.1Q MAC origem MAC destino Tipo Proto VLAN id e prioridade Dados CRC (6 bytes) (6 bytes) (2 bytes) (2 bytes) (46 a 1500 bytes) (4 bytes) Tipo 802.1Q = 0x8100 Prioridade (3 bits) + CF (1bit) + VLANID (12 bits) LANS Virtuais • SEGMENTO = Domínio de Colisão – Os computadores de um Hub estão no mesmo segmento físico. • VLAN = Domínio de Broadcast – O tráfego de broadcast pode passar de uma VLAN para outra apenas através de um roteador. FF.FF.FF.FF.FF.FF FF.FF.FF.FF.FF.FF B FF.FF.FF.FF.FF.FF A,B,C: VLAN 1 D,E: VLAN 2 C A SWITCH D E Interligação de Switches B C VLAN 2 VLAN 2 VLAN 1,2,3 VLAN 1 SWITCH A D SWITCH TRUNK ACCESS VLAN 3 VLAN 1,2,3 Interface Trunk: Tráfego de Várias VLANs IEEE 802.1Q Interface de Acesso: Tráfego de uma única VLAN IEEE 802.3 VLAN 1,2,3 SWITCH VLAN 2 E Modos das Portas de Switch • As portas de um switch pode trabalhar em dois modos: – Modo Access • Cada porta do switch pertence a uma única VLAN. • Quadros Ethernet: Formato Normal. – Modo Trunk • O tráfego de múltiplas VLANs é multiplexado em um único link físico. • Usualmente interconectam switches. • Quadros Ethernet: formato especial (VLAN). • Apenas computadores com placas especiais podem se conectar a essas portas. Protocolos Trunk • Os quadros nas interfaces Trunk são formatados em quadros especiais para identificar a quais LANs eles pertencem. • O IEEE 802.1Q é um protocolo para inteface Trunk. 6 Bytes 6 Bytes Endereço Físico de Destino Endereço Físico de Origem 2 Bytes Identificador de Tipo de VLAN Esses campos são removidos quando o quadro é enviado para uma interface do tipo access. 2 Bytes Prioridade e VLAN ID 4 Bytes Dados CRC Tipos de Tráfego: Exemplos • Switches Ethernet precisam diferenciar o tráfego, pois cada tipo de aplicação pode ter requisitos de QoS distintos: a) Gerenciamento da Rede: alta disponibilidade b) Voz: Atraso < 10 ms c) Video: Atraso < 100 ms d) Carga Controlada e) Excellent Effort: Best Effort para usuários importantes f) Best Effort: Best Effor para os demais usários g) Background: Transferências em batch, jogos, etc. Uso de Prioridade: Exemplo • De acordo com a abordagem do padrão 802.1p, o diferentes tipos de tráfego podem ser tratados utilizando 8 níveis de prioridade: – – – – – – – – 000 = 0 : Best Effort 001 = 1 : Background 010 = 2 : Não Utilizado 011 = 3: Excellent Effort 100= 4 : Carga Controlada 101 = 5 : Vídeo 110 = 6 : Voz 111= 7 : Controle de Rede Algoritmo no Avaya P130 • O P130 usa um escalonamento com 4 filas, usando um round-robin ponderado. Remarcação de Prioridade • O switch permite criar regras de (re)marcação em função dos campos dos cabeçalhos de transporte e rede. Exemplo • • • • • ip access-list 100 1 fwd6 ip host 149.49.50.40 any ip access-list 100 2 fwd1 ip host 149.49.70.61 any ip access-list 100 3 fwd4 ip any host 204.34.45.3 ip access-list 100 4 fwd3 tcp any any eq 80 ip access-list 100 5 fwd2 tcp any any range 20 21 – ativa a listra de acesso • ip access-group 100 Mapeamento DSCP - COS • Para integração com a marcação diffserv, o switch permite mapear códigos de DSCP em níveis de prioridade. • set qos dscp-cos-map 52 fwd2 • set qos dscp-cos-map 53 fwd3 Parâmetos de QoS no Switch • O padrão 802.1p define que as seguintes características de QoS devem ser controladas pelo Switch: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Taxa de disponibilidade do Serviço Taxa de perda de quadros Reordenamento de quadros de mesmo endereço (proibido) Duplicação de Quadros (proibido) Atraso introduzido pelo Switch Controle do tempo de vida dos quadros Taxa de erros não detectados Controle de MTU Prioridade de Usuário Vazão Configurando as portas do Switch • Verificar a configuração atual do switch – show port • Configurando uma prota como trunk ou não – set trunk 1/19 dot1q – set trunk 1/19 off • Configuração de uma porta não-trunk – set port vlan 1 1/1-2 • Configuração de prioridade – set port level 1/1-2 6 Configurando com trunk • Configurando o switch com trunk: – set trunk 1/19 dot1q – set port vlan-binding-mode 1/19 bind-toconfigured • Configuração da porta de gerenciamento – set inband vlan 1 Integração de QoS com VLANs • O mapeamento de condições para os campos da VLAN é feito através dos parâmetros: – datalink-traffic-indice e datalink-traffic-mask máscara 0xe000 15 14 13 prioridade 12 CFI 11 10 9 8 7 6 5 4 3 VLAN ID máscara 0x0fff 2 1 0 Exemplos de mapeamento de prioridade • Regra para pacotes com prioridade 0 – config cbq.3 traffic-class.prioridade0 datalink-traffic-class-indices 0 datalink-traffic-mask 0xe000 parent root-input-tree Exemplos de mapeamento de prioridade • Regra para pacotes com prioridade 1 a 3 – config cbq.3 traffic-class.prioridade0 datalink-traffic-class-indices 0x2000-0x6000 datalink-traffic-mask 0xe000 parent root-input-tree • Regra para pacotes com prioridade 4 a 7 – config cbq.3 traffic-class.prioridade0 datalink-traffic-class-indices 0x8000-0xe000 datalink-traffic-mask 0xe000 parent root-input-tree Exemplos de mapeamento de VLAN • Regra para pacotes pertencentes as VLANs de 1 a 10 e 14. – config cbq.3 traffic-class.prioridade0 datalink-traffic-class-indices 0x010x0a,0x0e datalink-traffic-mask 0x0fff bandwidth-allocation 100000 parent root-input-tree Preparando o Roteador • para aceitar quadros com tags de VLAN: – config eth.<instance> admit-8021q-tagged-frames true • para rotear para dispositivos com VLANs ID que não estão configuradas no AP – config eth.<instance> admit-configured-vlans-only false • para remover tags de VLAN – config eth.<instance> strip-bridged-8021q-tags true • para verificar os parâmetros de VLAN da interface – show eth.<instance> vlan Preparando o Roteador • 1) É necessário criar uma sub-interface para cada VLAN tratada pelo roteador: – stack slot.4.1 cbq.3 eth.2 eth.2.new ip.new • 2) Use o comando status para verificar o novo id da interface. Elas serão criadas na seqüência: – eth.2.1, eth.2.2, etc. – ip.2.1, ip.2.3, etc. • 3) Atribua um código de VLAN a nova instância. Exemplo: – config eth.2.1 vlan-id 12 • 4) Atribua o endereço IP e as rotas. Observação • Quadros com VLAN IDs configurados no roteador serão enviados para interface correspondente. • Quadros sem VLAN IDs ou com VLAN IDs que não existam no roteador, serão enviados para interface integral: e.g. eth.2 • A porta do switch ao qual o roteador está ligado deve ser configurado em trunk. Comandos Úteis • reset defaults • add ip.2 address.192.168.2.1 • show ip.* address-table summary • add ip static-route.192.168.1.0 ... Exercício: Parte 1 • Divida o switch da sua bancada em 2 VLANs – Dados: VLAN 11 (portas 1 a 2) – prioridade 0 – Voz: VLAN 12 (portas 3 e 4) – prioridade 6 1 192.168.1.1 (1.1) 2 192.168.2.1 (1.2) rede 1 192.168.1.0/25 192.168.2.0/24 rede 2 192.168.3.0/24 192.168.4.0/24 T T 192.168.3.1 (2.1) 1 2 192.168.4.1 (2.2) Comandos para o Switch • 1) Configuração das portas dos computadores – – – – set port vlan 11 1/1-2 set port vlan 12 1/3-4 set port level 1/1-2 0 set port level 1/3-4 6 • 2) Configuração da porta trunk – set trunk 1/12 dot1q – set port vlan-binding-mode 1/12 bind-toconfigured Exercício: Parte 2 • Crie duas sub-interfaces para cada porta do roteador, e atribua o identificador de VLAN para cada uma delas. 1 192.168.1.1 (1.1) 2 192.168.2.1 (1.2) rede 1 192.168.1.0/25 192.168.2.0/24 rede 2 192.168.1.0/24 192.168.2.0/24 T T 192.168.1.2 (2.1) 1 2 192.168.2.2 (2.2) Exercício: Comandos do Roteador • 3) Criação das sub-interfaces – stack slot.4.1 cbq.2 eth.1 eth1.new – stack slot.4.1 cbq.2 eth.1 eth1.new • 4) Criação das interfaces IP – stack slot.4.1 cbq.2 eth.1 eth1.1 ip.new – stack slot.4.1 cbq.2 eth.1 eth1.2 ip.new • OBS. – config eth.1 admit-8021q-tagged-frames true Exercício: Comandos do Roteador • 5) Atribuição das VLANs e endereços IP – config eth.1.1 vlan-id 11 – config eth.1.2 vlan-id 12 • 6) Atribuição dos endereços IP – add ip.7 address.192.168.1.1 net-mask 255.255.255.0 – add ip.8 address.192.168.2.1 net-mask 255.255.255.0 Exercício: Parte 3 • Em cada porta do roteador crie as regras para restringir o tráfego que atravessa o roteador para as VLANs 1 e 2, conforme a árvore abaixo. root input tree cbq 2 500 Kbps bounded true VLAN 11 VLAN 12 1000 Kbps bounded true Configuração do CBQ • comando para root-input-tree – config cbq.2 traffic-class.DADOS datalink-traffic-class-indices 0x0b datalink-traffic-mask 0x0fff bandwidth-allocation 500000 bounded true parent root-input-tree Configuração do CBQ • comando para root-input-tree – config cbq.2 traffic-class.VOZ datalink-traffic-class-indices 0x0c datalink-traffic-mask 0x0fff bandwidth-allocation 1000000 bounded true parent root-input-tree Exercício: Parte 4 • Avalie a configuração implementada, utilizando o analisador de desempenho tanto para o protocolo TCP quanto UDP.