domingo, 20 de agosto de 2017

O processo de aprendizagem do SWITCH - Tabela MAC x Tabela ARP

O Switch é um elemento concentrador na rede, e faz o que chamamos de comutação de frames. O pacotes dos hosts são encapsulados em frames Ethernet, em seguida enviados ao switch com MAC address de ORIGEM e MAC address de DESTINO.
Neste artigo vamos esclarecer e entende os conceitos no processo de comunicação em camada 2, do ponto de vista do switch e do ponto de vista do host.

Como o switch é um elemento de camada 2, ele não depende de absolutamente nada do protocolo IP(camada3), sendo necessário apenas conhecer o MAC de cada dispositivo associado a cada porta. Para isto ele implementa o que chamamos de "Tabela MAC", ou "MAC address table".
Já o host, precisa conhecer o endereço IP do dispositivo que quer se comunicar, mas como é obrigado a colocar alguma coisa no campo "MAC de destino" do frame, ele precisa se virar e descobrir o MAC do dito cujo, para que o Switch consiga fazer seu trabalho.
Vejamos:

 - Do ponto de vista do switch(Tabela MAC):

O switch é completamente ignorante em relação ao protocolo IP, portanto não há qualquer informação sobre endereços IP para o seu funcionamento padrão. Um switch aprende os endereços MAC dos dispositivos associados a cada porta e tenta encaminhar os frames da melhor maneira possível. Em resumo:
 - O switch preenche a tabela MAC de acordo com os endereços de ORIGEM dos frames que RECEBE.
 - O switch ENCAMINHA frames de acordo com endereços de DESTINO contidos na tabela.
 - Se o endereço de DESTINO do frame não é conhecido na tabela MAC, o switch inunda todas as portas(flood) com este frame, EXCETO a porta de onde o frame veio.
 - Naturalmente, switchs "obedecem" à pacotes de broadcast. Se o MAC de destino de um frame é o FF:FF:FF:FF:FF:FF, ele vai ser multiplicado em todas as portas ativas, exceto aquela que originou o frame.
Na figura abaixo temos um switch que já recebeu frames de todos os hosts, portanto conhece cada endereço MAC e a que porta está associado:


A cada frame recebido o switch atualiza a tabela MAC, e cada entrada na tabela tem um tempo de validade(agging time), geralmente não mais que alguns segundos.
Assim funciona um switch de forma padrão. Basta tirar da caixa e ligá-lo que este é o comportamento default de qualquer switch, se necessidade de qualquer configuração.
É claro que em switchs gerenciáveis existem  muito mais opções, como alterar o agging time ou manipular a tabela MAC, sem falar em 1001 outras funcionalidades.


 - Do ponto de vista do host(Tabela ARP):
Como o host precisa preencher o MAC de destino no cabeçalho do frame ele deve conhecer o MAC do host que quer se comunicar. Para isso existe a tabela ARP. A tabela ARP é consultada em busca do MAC correspondente de acordo com o IP de destino do pacote. Se ele não existir na tabela o protocolo ARP é acionado para descobrir. O importante é que o frame seja formado corretamente e despachado pela interface. O switch que "se vire depois" :-)
Na figura abaixo temos um exemplo onde as tabelas ARP de todos os hosts estão completamente preenchidas, como se todos ele já tivessem comunicado entre si:

Nenhum comentário:

Postar um comentário