QoS Ethernet e VLANs Redes de Computadores Cenário de Estudo • Como utilizar os recursos de priorização de VLANs em switches Ethernet VLAN 1 - VOZ 1 VLAN 2 - DADOS 2 rede 1 T rede 2 T 1 2 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 interface Trunk. 0x8100 6 Bytes 6 Bytes 2 Bytes 3 Bits 1 Bit 12 Bits DESTINO ORIGEM TYPE PRIO CFI VLAN ID Esses campos são removidos quando o quadro é enviado para uma interface do tipo access. 2 Bytes TYPE Dados CRC PRIO: IEEE 802.1 P CFI: Canonical Format Indicator • 0 em redes Ethernet 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 Avaya P130 • Operação sem políticas: – Frames com TAG: • Usa o valor de COS que vem no quadro – Frames sem TAG: • Usa o valor de COS default da porta • Operação com políticas: – Efetua a remarcação do CoS dos quadros de acordo com políticas associadas a interface de entrada 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: – Da porta do switch – Dos campos dos cabeçalhos de transporte e rede. Remarcação por Regras • • • • • 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.1 traffic-class.prioridade0 datalink-traffic-class-indices 0 datalink-traffic-mask 0xe000 parent root-input-tree • Regra para pacotes com prioridade 1 a 3 – datalink-traffic-class-indices 0x2000-0x6000 • Regra para pacotes com prioridade 4 a 7 – datalink-traffic-class-indices 0x8000-0xe000 Exemplos de mapeamento de VLAN • Regra para pacotes pertencentes as VLANs de 1 a 10 e 14. – config cbq.1 traffic-class.prioridade1-10-14 datalink-traffic-class-indices 0x01-0x0a,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 Interface do Roteador vlan1 eth0.1 eth0.2 vlan2 Preparando o Roteador • 1) É necessário criar uma sub-interface para cada VLAN tratada pelo roteador: – stack slot.4.1 cbq.1 eth.1 eth.1.new ip.new • 2) Use o comando status para verificar o novo id da interface. Elas serão criadas na seqüência: – eth.1.1, eth.1.2, etc. – ip.1.1, ip.1.2, 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.1 • 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.