Saber como um Switch L2 encaminha informações na Rede é fundamental para qualquer profissional de tecnologia, seja você iniciante ou mais avançado, pois muitos problemas podem ser resolvidos se entendemos bem o encaminhamento de quadros através de uma LAN.
Os switches podem ser classificados de várias maneiras, porém quando tratamos de encaminhamento de informações temos que entender o que é e como funciona um Switch L2 ou layer-2 ou camada-2.
Ser um Switch L2 significa que ele atua na camada de Enlace do Modelo OSI e faz o encaminhamento utilizando os Frames ou Quadros de camada-2.
Basicamente aprendendo os endereços MAC de origem dos quadros que estão trafegando em suas portas e guardando em uma tabela de endereços MAC.
Funções de um Switch L2
As três funções básicas de um switch camada-2 ou switch L2 são:
- Aprender os endereços MAC de origem dos hosts conectados às suas portas.
- Encaminhar ou filtrar quadros com base no endereço MAC de destino do quadro recebido em uma porta.
- Evitar loops de camada-2 com o protocolo Spanning-tree ou STP.
Tipos de Endereços MAC
Lembre-se que já citamos que os switches L2 podem ler e tomar decisões com base no endereço de camada-2 do quadro Ethernet, por isso precisamos conhecer os três tipos de endereços MAC utilizados em comunicações via IP:
- MAC de endereços de Unicast: é o MAC da placa de rede do computador, roteador ou de um switch, identifica o dispositivo ou interface em uma LAN de maneira exclusiva, ou seja, para comunicações de host a host (um para um).
- MAC de broadcast: todos os 48 bits setados em 1 “ff:ff:ff:ff:ff:ff” e é utilizado quando um host quer se comunicar com todos os dispositivos da LAN (um para todos).
- MAC de multicast: faixa de 01:00:5e:00:00:00 até 01:00:5e:7f:ff:ff, sempre iniciando em “01:00:5e”. É utilizado para comunicações em grupo (um para alguns hosts do mesmo grupo de multicast).
Ao receber um quadro, o switch aprende o MAC pelo campo de endereço de origem do quadro ethernet e encaminha com base no endereço de destino.
É importante lembrar-se de que o aprendizado depende do estado que o spanning-tree vai colocar a porta após sua convergência, uma porta bloqueada não aprende endereços MAC.
Encaminhamento de Quadros em Switches L2
Na fase de encaminhamento o switch pode tomar três ações básicas:
- Encaminhar para uma porta de destino específica.
- Encaminhar para todas as portas menos pela que recebeu o quadro, processo chamado de flooding ou inundação de quadros. Esse processo é realizado quando o switch não conhece o MAC de destino ou esse destino é um broadcast ou multicast. Outra situação de flooding é quando o número máximo de MACs é atingido, nesse caso o switch acaba se comportando como um HUB.
- Não encaminhar e filtrar esse quadro (bloquear o envio), normalmente em portas onde temos HUBs conectados e os dois hosts estão conectados ao mesmo HUB.
Os MACs de broadcast enviados pelos dispositivos conectados ao switch não são armazenados pela tabela de endereços MAC, por isso quando o switch recebe como endereço de destino um broadcast é sempre feito o flooding dos quadros para todas as portas menos para a porta que originou o quadro.
Por padrão os quadros de multicast também são tratados como os de broadcast, porém existem configurações mais avançadas para melhorar o desempenho de multicasts enviados através de switches, mas isso é um assunto mais avançado e fica para uma próxima postagem!
Os switches encaminham quadros em suas portas de acesso (access) com base no endereço MAC de destino seguindo as regras básicas de abaixo:
- O quadro recebido tem MAC de destino de Unicast está na tabela de endereços MAC à o switch encaminha para a porta de destino conforme tabela de endereços MAC.
- O quadro recebido tem MAC de destino de Unicast e não está na tabela de endereços MAC à o switch faz o flooding do quadro para todas as portas pertencentes à mesma VLAN, menos para a porta de origem. O quadro também é encaminha do para o link trunk que tem aquela VLAN permitida.
- O quadro recebido tem como MAC de destino um endereço multicast ou broadcast à o switch faz o flooding do quadro para todas as portas da mesma VLAN, menos para a de origem. O quadro também é enviado para os trunks que tem a VLAN em questão permitida.
- O MAC de destino é de Unicast e está listado na mesma porta que o MAC de origem à o switch filtra o quadro, pois essa porta está sendo compartilhada com outros dispositivos através de um HUB ou Switch através de uma porta de acesso, portanto o quadro com certeza não está em outro segmento de rede e não precisa ser encaminhado.
Com as regras acima podemos prever o comportamento normal do switch ao encaminhar quadros para determinado destino específico através de portas de acesso.
Agora vamos analisar o que acontece com os quadros em portas trunk.
Encaminhamento em Portas Trunks 802.1Q
Em portas configuradas como trunk, sejam 802.1Q ou ISL, quando um quadro é recebido ele vem marcado com a Tag da VLAN que ele pertence (VLAN-ID).
O switch que recebeu o quadro precisa retirar a Tag para encaminhar esse quadro recebido para a porta de acesso ou simplesmente encaminhar o quadro com a tag para outro trunk que pertence à mesma VLAN e tem o MAC de destino cadastrado.
Se o switch de destino também não conhece o MAC ele fará um flooding do quadro para todas as portas que estão na mesma VLAN e para os trunks que tem a VLAN em questão permitida, menos para o trunk que o recebeu até alcançar o host de destino.
Os trunks dos switches guardam na tabela de endereços MAC os endereços que foram utilizados remotamente em conversações entre hosts.
Esse comportamento permite a redução do envio de flooding e também permite estender as VLANs entre diferentes switches.
O processo de retransmissão do flooding pelos trunks citado anteriormente vai sendo repetido até o último switch que estiver em cascata, por isso não se recomenda ter redes com um diâmetro muito grande, ou seja, muitos switches em cascata conectados em série.
O uso da topologia em três camadas reduz esse efeito do diâmetro de rede.
Com isso chegamos ao fim de mais um artigo e esperamos que tenham sido úteis as informações que passamos nesse artigo!
Compartilhe o artigo com seus amigos e deixe seu comentário logo abaixo!
8 Responses
Professor Marcelo, em primeiro lugar gostaria de parabeniza-lo pelo seu nível de conhecimento e agradecer pois suas aulas tanto no site da Dltec como os artigos divulgados no nossos e-mails, tem contribuído muito para o meu crescimento intelectual. Especificamente neste artigo sobre Switch, fiquei com dúvidas na parte onde diz sobre flooding quando o número máximo de mac’s é atingido. Minha dúvida é a seguinte: qual é a capacidade máxima de mac’s que um switch L2 comporta? Isso depende da memória dele? É possivel expandir a memoria como é feito em roteadores? A capacidade da tabela de ma’s tem haver com o número de portas do Switch? Obrigado e desejo sucesso, paz e muita saúde!
Oi Adriano, obrigado pelo elogio! Sobre o número de MACs depende de modelo e fabricante, mas é fixo e normalmente não dá pra expandir. Maioria dos switches de pequeno porte tem em torno de 8000 MACs de capacidade.
Bom dia, professor. Vamos ver se eu entendi. Numa tabela MAC se a cada interface corresponde um endereço MAC, eu poderia então ter até 8.000 portas em um switch de “médio porte”?
Oi Miguel, cada porta pode ter vários MACs nela, por exemplo, em um entroncamento entre switches o switch agregador pode ter uma porta com MACs de vários clientes de outros switches que estão abaixo dele, por isso o tamanho da tabela MAC não tem a ver com o número de portas físicas de um switch. E com um programa hacker para atacar a tabela MAC vc lota esses 8000 em segundos.
Complementando minha pergunta. Minha dúvida é se seria possível termos um switch com até 8.000 portas, ou se na tabela MAC, uma porta poderia corresponder a mais de um endereço MAC.
Obrigado,
Olá, tive um problema um tempo atrás que deu muita dor de cabeça, a rede inteira topando com o Core de rede topando processamento. Após inúmeras tratativas verificamos que uma tabela chamada “ARP” estava ficando lotada com MAC ADDRESS. Não houve configuração que fizesse ela diminuir. Até que a fabricante, voltando versões do OS do SW conseguiu resolver. Vocês já viram isso anteriormente?
Muito bom o conteúdo do site.
Oi Junior, nunca pegamos algo assim, mas se foi o próprio switch gerando provavelmente foi um bug de software, os quais podem acontecer mesmo… normalmente lotar a tabela MAC é gerada por algo externo, problemas em sistemas operacionais ou então ataques de MAC Spoofing.
Obrigado pelo Ensinamento!
Parabéns