•Tópicos Avançados de VLANs Configuração de Portas Trunk Balanceamento de Carga Protocolos Spanning-Tree PVST Rapid-PVST MST Cascateamento de Switches • O cascateamento de switches na presença de VLANS motivou a elaboração dos seguintes padrões IEEE: – 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 MAC origem MAC destino Tipo Proto. Dados FCS (6 bytes) (6 bytes) (2 bytes) (46 a 1500 bytes) (4 bytes) MAC origem MAC destino Tamanho Dados FCS (6 bytes) (6 bytes) (2 bytes) (46 a 1500 bytes) (4 bytes) IEEE 802.3 IEEE 802.1Q MAC origem MAC destino Tipo Proto VLAN id e prioridade Dados FCS (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) 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 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 Spanning Tree Protocol: STP • Quando os switches colocados em cascata formam caminhos com loops fechados, o encaminhamento de quadros pode levar ao congestionamento da rede. • O STP é um protocolo de camada 2 utilizado para prevenir a ocorrência desses loops. Loops em Cascateamento de Switches • Os switches criam tabelas de encaminhamento escutando os endereços MAC de origem enviado para suas portas. C,D A B A,B C D Cascateamento de Switches C,D,E,F E,F A,B A B C D A,B,C,D E F Cascateamento de Switches A,B,C,D,E,F A,B,C,D,E,F A,B,C,D,E,F A,B,C,D,E,F A B C A,B,C,D,E,F D A,B,C,D,E,F E F Princípio do STP • O STP é executado em cada switch da rede • Princípio: – Somente um caminho ativo pode existir entre 2 estações na rede – Bloquear as portas que impliquem em loops fechados. • A estratégia consiste em escolher um switch como Root, e construir uma árvore como o menor caminho até o Root. SPT • O STP utiliza um protocolo chamado BPDU: – Bridge Protocol Data Unit – Mensagens em Multicast (MAC) • DE: 0x0180C20000000 • ATÉ: 0x0180C20000010 • STP funciona continuamente, de maneira a refletir mudanças de topologia na rede. – Se SPT está ativo, os pacotes multicast são recebidos, mas não encaminhados. – Se SPT está desativo, os pacotes multicast são encaminhados como multicast desconhecido. Topologia STP As portas na direção oposta ao root são chamadas de designadas. A RP B RP C RP D As portas na direção do root são chamadas porta Root BPDU: Padrão IEEE 802.1D Campos do BPDU • • • • • • • • • • • • Protocol Identifier: 0 (SPT) Version: 0 (ST) Message Type: 0 (Configuration) Flags: Topology change (TC), Topology change acknowledgment (TCA) Root ID: 2-Byte Prioridade + 6-Byte MAC da Bridge Root Path Cost: 4-Bytes custo da Bridge até o root. Bridge ID: 2-Byte Prioridade + 6-Byte MAC da Bridge (por VLAN) Port ID: 2 Bytes (usado para escolher a porta a ser bloqueada em caso de loop) Message Age: Tempo decorrido desde que a mensagem repassada foi enviada pelo Root Maximum Age: Idade a partir do qual a mensagem deve ser ignorada Hello Time: Intervalo entre mensagens da root bridge Forward Delay: Tempo que a bridge deve esperar antes de mudar de estado em caso de mudança de topologia. Topologia STP Todas as portas são DP Porta Root é aquela que tem a menor distância até o Switch Root ROOT = Bridge com a menor Bridge ID (menor prioridade ou menor MAC) Por default, a prioridade de todos os switches é 32768. Esses caminhos foram bloqueados. Em caso de caminhos paralelos, a interface mais lenta é sempre bloqueada. Mensagens BPDU • Todos os switches são root inicialmente • Todos os switches enviam mensagens BPDU em multicast para todas as suas interfaces. • Se SPT está ativo, as mensagens recebidas não são propagadas pelo switch. • Se a mensagem recebida por um switch é superior (menor bridge ID, custo) ele é armazenada, senão é ignorada. • Se a mensagem superior for recebida pela porta root, ela é propagada para as demais portas DP, correspondendo as redes LAN onde o switch é designado. Estados de uma Porta Apenas recebe BPDUS Apenas recebe BPDUS timer Problema de conectividade Recebe BPDUS Aprende Endereços Recebe BPDUS Aprende Endereços Encaminha Quadros Configuração Default Exemplo Fa0/1-5 Fa0/6-10 vlan1 Fa0/1-5 vlan1 vlan1 10.26.136.60 Fa0/24 Fa0/6-10 vlan1 10.26.136.184 Fa0/23 Fa0/23 Fa0/24 Fa0/21 Fa0/18 10.26.136.13 vlan1 Fa0/1-5 vlan1 Fa0/6-10 Exemplo • Verifique a configuração atual do SPT – show spanning-tree summary – show spanning-tree detail – show spanning-tree active – show spanning-tree interface interface-id – show spanning-tree blocked ports • Identifique: – switch root – topologia da árvore formada Exemplo • O switch escolhido como root pode não ser o melhor switch da topologia. É possível alterar o switch root com o seguinte comando: – configure terminal • spanning-tree vlan vlan-id root primary [diameter netdiameter [hello-time seconds]] • end – show spanning-tree detail • O diâmetro da spanning tree é o número máximo de switches entre dois terminais [2-7] • O hello é o intervalo de envio de mensages de configuração pelo switch root (1 a 10s) Exercício 1 Fa0/1-5 Fa0/6-10 vlan1 Fa0/1-5 vlan20 vlan1 B = 10.26.136.60 Fa0/24 Fa0/6-10 C = 10.26.136.184 Fa0/23 Fa0/23 Fa0/24 Fa0/21 Fa0/18 A = 10.26.136.13 vlan1 Fa0/1-5 vlan20 vlan1 Fa0/6-10 Exercício I • Adição de portas as VLANs – configure terminal • interface range Fa0/6 - 10 – #switchport mode access – switchport access vlan 2 • end • Verificar configuração atual – show VLAN brief Exercício I • Verifique o efeito de desabilitar o protocolo SPT nos switches, desabilitando SPT para VLAN 20: – configure terminal • no spanning-tree vlan vlan-id • end. – show spanning-tree vlan vlan-id • Para reabilitar o SPT utilize o comando: – spanning-tree vlan vlan-id Aprimorando SPT • É possível induzir o protocolo SPT a escolher portas e caminhos diferentes para cada conjunto de VLANs. • Essa configuração é feita alterando-se o nível de prioridade (ou custo) associado as portas trunks. Portas VLANS em Switches CISCO • A Cisco define 6 modos de operação de portas para VLAN: switchport mode access Força a porta a operar em modo acesso switchport mode dynamic auto Permite que a interface entre em modo trunk switchport mode dynamic desirable Entra prioritariamente em modo trunk switchport mode trunk Força a porta a operar em modo trunk switchport nonegotiate Não negocia com a porta vizinha switchport mode dot1q-tunnel Força o encapsulamento em modo 802.1q Negociação switch auto trunk desirable dynamic desirable Trunk nonegotiate Trunk switch switch switch Access nonegotiate switch Host Modos de Encapsulamento • A cisco possui um modo de encapsulamento trunk proprietário denominado ISL. • As seguintes opções de encapsulamento estão disponíveis para o switch cisco: – switchport trunk encapsulation isl – switchport trunk encapsulation dot1q – switchport trunk encapsulation negotiate • isl é o modo preferido Configuração Default • switchport mode dynamic auto – Negocia se a porta será trunk ou não com o vizinho • switchport trunk encapsulation negotiate – Negocia o modo de encapsulamento (dot1q) ou (isl) com o vizinho • Range de VLANs – 1 até 4094 (1006 a 4004 são extendidas) • VLAN default em modo acesso –1 Exemplo de Comandos • configure terminal – interface rage Fa0/1 - 24 • • • • switchport mode dynamic desirable switchport access vlan 1 #switchport trunk encapsulation dot1q end Mapeamento de VLANs em portas trunk • Por default, cada porta trunk pode ser utilizada por todos as VLANs do switch. • Todavia, no caso de haver caminhos redundantes, é possível restringir o uso das VLANs para portas trunks específicas. • Isso permite efetuar balaceamento de carga, mas sem failback. Exercício 2 Fa0/1-5 Fa0/6-10 vlan1 Fa0/1-5 vlan20 vlan1 B = 10.26.136.60 Fa0/24 Fa0/6-10 C = 10.26.136.184 Fa0/23 Fa0/23 Vlan1 somente Fa0/24 Vlan20 somente Fa0/21 Fa0/18 A = 10.26.136.13 vlan1 Fa0/1-5 vlan20 vlan1 Fa0/6-10 Portas Trunk • Verifique a configuração atual dos switches – show interfaces trunk – show spanning-tree blocked ports Comandos para Mapeamento da VLANs • configure terminal – interface Fa0/18 (A) ou Fa0/24 (B) • switchport trunk allowed vlan remove all • switchport trunk allowed vlan add 1 • end – interface Fa0/21 (A) ou Fa0/24 (C) • switchport trunk allowed vlan remove all • switchport trunk allowed vlan add 20 • end Portas SPAN • A fim de verificar para qual porta trunk o tráfego das VLANs está sendo encaminhado é necessário utilizar portas SPAN. • As portas SPAN fazem uma cópia da porta trunk para outra porta do switch, permitindo que o tráfego seja monitorado com o Ethereal. • As portas SPAN são configuradas em sessões. Cada sessão representa uma regra de “cópia” de uma porta de origem para uma porta de destino. Comando para Portas SPAN • configure terminal – no monitor session 1 – monitor session 1 source interface Fa0/18 • monitor session 1 destination interface Fa0/5 • encapsulation replicate • end • show monitor Exercício 3 • Configure as portas SPANs nos switches para verificar o fluxo do tráfego trunk: • 2950-2 e 2950-3 – Fa0/23: cópia da Fa0/1 – Fa0/24: cópia da Fa0/2 • 2950-1 – Fa0/18: cópia da Fa0/1 – Fa0/21: cópia da Fa0/2 Native VLAN • Uma porta trunk está sujeita a dois tipos de tráfego: – Tráfego com TAG: • resultantes do tráfego de VLANs de um switch para outro – Tráfego sem TAGs: • utilizados normalmente por protocolos intra-switch, como o protocolo de configuração de portas trunk • O tráfego sem TAGs é associado a Native VLAN da porta trunk. – Por default, a native VLAN das portas trunk é VLAN 1 Native VLAN • A fim de haver negociação entre entre portas trunk é necessário que elas pertençam a mesma VLAN – O tráfego direcionado de uma VLAN para a porta Trunk não receberá o cabeçalho de VLAN, se seu código coincidir com a Native VLAN do switch. Tráfego com TAG vlan1 Tráfego sem TAG vlan20 2950-1 Native VLAN 1 10.0.0.2 vlan1 vlan20 2950-1 Native VLAN 1 10.0.0.2 Configuração da Native VLAN • configure terminal – interface interface-id • switchport trunk native vlan vlan-id • end • show interfaces interfaceid switchport Balanceamento de Carga com Prioridade de Portas • O mapeamento estático de VLANs para portas trunk não permite a reorganização automática do fluxo de dados quando uma enlace trunk é danificado. • A alternativa mais adequada é priorizar a utilização de certas VLANs em certas portas, ao invés de bloquear sua utilização. – Por default, a prioridade de utilização de VLANs em portas trunk é 128. Exercício 4 Fa0/1-5 Fa0/6-10 vlan1 Fa0/1-5 vlan20 vlan1 B = 10.26.136.60 Fa0/24 Fa0/6-10 vlan20 C = 10.26.136.184 Fa0/23 Fa0/23 Fa0/24 Vlan1 prio 16 Vlan1 prio 128 Vlan 20 prio 128 Vlan 20 prio 16 Fa0/18 Fa0/21 A = 10.26.136.13 vlan1 Fa0/1-5 vlan1 Fa0/6-10 Balanceamento de Carga • Aumentar a prioridade para 16: – VLAN 1 no trunk A – B – VLAN20 no trunk A - C • Verificar o balanceamento de carga com • show spanning-tree detail • Provocar a falha no trunk e verificar o fail-over Comandos • configure terminal – interface Fa0/18 (A) ou Fa0/24 (B) • spanning-tree vlan 1 port-priority 16 • spanning-tree vlan 20 port-priority 128 • exit – interface Fa0/21 (A) ou Fa0/24 (C) • spanning-tree vlan 20 port-priority 16 • spanning-tree vlan 1 port-priority 128 • end • show running-config Balanceamento de Carga com STP Path Cost • Por default, o custo dos caminhos trunk está associado a velocidade das portas do switch. – Porta Ethernet: 100 – Porta Fast-Ethernet: 19 – Porta Giga-BitEthernet: 4 • Em caso de haver trunks redundantes para o mesmo caminho, o STP irá selecionar com caminho com o menor custo (i.e., maior velocidade). – Por default, o valor do custo é o mesmo para todas as VLANs, mas pode ser alterado para prover balanceamento de carga. – O custo é acumulativo quando switches são cascateados Exercício 5 Fa0/1-5 Fa0/6-10 vlan1 Fa0/1-5 vlan20 vlan1 B = 10.26.136.60 Fa0/24 Fa0/6-10 vlan20 C = 10.26.136.184 Fa0/23 Fa0/23 Fa0/24 Vlan1 path 19 Vlan1 path 30 Vlan 20 path 30 Vlan 20 prio 19 Fa0/18 Fa0/21 A = 10.26.136.13 vlan1 Fa0/1-5 vlan1 Fa0/6-10 Comandos • Exemplo: – configure terminal • interface Fa0/18 (A) ou Fa0/24 (B) – spanning-tree vlan 20 cost 30 – end – configure terminal • interface Fa0/21 ou Fa0/24 (C) – spanning-tree vlan 1 cost 30 – end Modos e Protocolos de Spanning Tree • PVST+: – Protocolo da cisco baseado no IEEE 802.1d – Usa um algoritmo de SPT por VLAN • Rapid PVST+: (RSTP) – Convergência rápida baseada no IEEE 802.1w – Apaga imediatamente as entradas MAC após uma mudança de topologia, ao invés de aguardar o aging-time de 5 minutos. • MSTP: – Baseado no padrão IEEE 802.1s – Permite mapear múltiplas VLANs em uma única instância de SPT. – Executado sobre o RSTP (IEEE 802.1w) (uso obrigatório) Limitações • PVST+ e RSTP: – 128 instâncias de SPT (i.e., 128 VLANs) • MSTP: – 65 MST instâncias – Número ilimitado de VLANs por MST. Configuração Default • • • • • STP mode: PVST+ Switch Priority: 32768 Port Priority: 128 Port Cost: 4 (1G), 19 (100M), 100 (10M) Timers: – Hello: 2s (gerado pelo root para indicar que está funcionando) – Forward-delay: 15s, – Maximum-age: 20 seconds (tempo que o switch aguarda sem receber PDUs antes de tentar uma re-configuração) – Transmit Hold Count: 6 BPDUs (n. PDUs por 1s de pausa – evita uso excessivo de CPU) Exercício 6 • Compare o desempenho dos protocolos de spanningtree PVST e Rapid-PVST no caso de reconfiguração de caminhos. • Para o teste matenha um ping permanente entre dois computadores situados na mesma VLANs em switches diferentes. – Remova o cabo de entroncamento da porta do trunk que não estiver bloqueada e conte o número de pings perdidos. Exercício 6 Fa0/1-5 Fa0/6-10 vlan1 Fa0/1-5 vlan20 vlan1 B = 10.26.136.60 Fa0/24 Fa0/6-10 C = 10.26.136.184 Fa0/23 Fa0/23 Vlan1 somente Fa0/24 Vlan20 somente Fa0/21 Fa0/18 A = 10.26.136.13 vlan1 Fa0/1-5 vlan20 vlan1 Fa0/6-10 Comandos • Cenário 1: spanning-tree normal – configure terminal – spanning-tree mode pvst – end – show spanning–tree summary • Cenário 2: rapid-spanning tree – configure terminal – spanning-tree mode rapid-pvst – end – show spanning–tree summary Funcionamento do STP com Stack SwitchApenas uma porta no stack é escolhida como root. Todos os switches tem o mesmo id Root Todas as portas DP Porta Bloqueada Porta na Direção do root MSTP – Multiple Spanning-Tree Protocol • MSTP: IEEE 802.1s – Melhora a tolerância a falhas – Múltiplos forwarding paths – Permite balanceamento de carga – Mais escalabilidade que o PVST Problema do PVST • PSVT permite balanceamento de carga, escolhendo trunks diferentes para diferentes VLANs. – D1: root para Vlans 501 a 1000 e D2: root para Vlans 1-500 • Problema: 1000 instâncias de PSVT com uma topologia de apenas 2 caminhos alternativos. – Alto consumo de CPU nos switches e pouca escalabilidade. Padrão 802.1q • Define apenas uma instância de ST para todas as VLANs: CST (Common Spanning Tree) • Não permite balanceamento de carga. • OBS. PVST não é padrão IEEE 802.1q Padrão IEEE 802.1s (MST) • Permite agrupar VLANs em instâncias de SPT. – Intancia 1: VLANs 1 a 500 – Instancia 2: VLANs 501 a 1000 – Cada instância pode ter um caminho diferente. – Apenas duas instâncias de SPT para 2 alternativas de topologia. Regiões MST • A fim de prover maior escalabiliade, o padrão MST define que uma rede pode ser organizada em regiões – Cada região pode possuir múltiplas instâncias, sendo • 1 instância IST (Internal Spanning Tree) – Instância 0 – Transmite BPDUs • 1 ou mais instâncias MST – Transmite MSTP BDUs IST Master MST Region 1 IST Master IST Master MST Region 2 MST Region 3 Região MST • Switches pertencem a mesma região MST se: – Tiverem o mesmo nome de região – Tiverem a mesma versão – Tiverem o mesmo mapeamento de instâncias para VLAN Exercício 6 Fa0/1-5 Fa0/6-10 vlan1 Fa0/1-5 vlan20 vlan1 B = 10.26.136.60 Fa0/24 Instance 1 Vlan 1 e 10 Fa0/6-10 vlan20 C = 10.26.136.184 Fa0/23 Fa0/23 Fa0/24 Instance 1 prio 16 Instance 2 prio 16 Instance 2 prio 128 Fa0/18 Instance 1 prio 128 Instance 2 Vlan 2 e 20 Fa0/21 A = 10.26.136.13 vlan1 Fa0/1-5 vlan1 Fa0/6-10 Comandos – Todos os Switches • configure terminal – spanning-tree mst configuration • • • • • • • • • instance 1 vlan 1 Instance 1 vlan 10 instance 2 vlan 2 Instance 2 vlan 20 name region1 revision 1 show pending spanning-tree mode mst end Configuração de Port Priority 2950 • configure terminal – interface Fa0/18 (A) ou Fa0/24 (B) • spanning-tree mst 1 port-priority 16 • spanning-tree mst 2 port-priority 128 • exit – interface Fa0/21 (A) ou Fa0/24 (C) • spanning-tree mst 1 port-priority 128 • spanning-tree mst 2 port-priority 16 • end • show spanning-tree mst 1 • show spanning-tree mst 2 Configuração Path Cost • configure terminal – interface interface-id • spanning-tree mst instance-id cost cost • end • show spanning-tree mst instance-id Escolhendo o Swith Root para uma instância • configure terminal – spanning-tree mst instance-id priority priority – end • show spanning-tree mst instance-id OBS. VTP • A cisco utiliza um protocolo denominado VTP para manter a consistência de configuração entre os switches. • Utilizando o protocolo VPT é possível fazer a configuração de VLANs em um único switch, e repassar essa configuração para os demais switches que pertençam a um mesmo domínio administrativo. Entidades VTP • VTP Server – Recebe novas configurações e repassa para os demais switches do domíno • VTP Client – Apenas recebe configurações do server. Não pode ser configurado diretamente. • VTP Transparent – Recebe configurações e pode ser alterado diretamente. Todavia, as alterações feitas num switch em modo transparent não são repassadas aos demais. Configuração Default Alterando a Configuração • configure terminal – vtp mode server – vtp domain domain-name – vtp password password – end • show vtp status