Eu tenho uma pergunta relativamente idiota. Suponha que o Switch tenha acabado de iniciar e receba um quadro que contenha um endereço MAC de destino para um dispositivo de rede que não esteja em sua tabela de endereços MAC.
O que acontece depois? Ele transmite (endereço MAC ff:ff:ff:ff:ff:ff
) e recebe respostas dos dispositivos conectados ou existe um protocolo dedicado ao que é usado? Não acho que o switch use o ARP (Address Resolution Protocol)?
switch
mac-address
Ron Maupin
fonte
fonte
Respostas:
Boa pergunta. Vou responder com uma animação:
Quando o Host A envia o quadro, o switch não possui nada na tabela de endereços MAC. Ao receber o quadro, ele grava o endereço MAC do host A para o mapeamento da porta do switch . Como ele não sabe onde está o endereço MAC de destino, ele inunda o quadro em todas as portas.
Isso garante que, se existir o host B (que neste momento o comutador ainda não sabe), ele o receberá. Esperamos que, ao receber o quadro, o Host B gere um quadro de resposta, o que permitirá ao Switch aprender o mapeamento de endereços MAC a partir do quadro de retorno.
Você pode ler mais sobre como um Switch funciona aqui (de onde tirei a animação). Eu também sugeriria a leitura de toda a série de artigos para ver mais de perto como um pacote se move através de uma rede .
Uma última observação sobre os termos Flooding vs Broadcast . Um switch nunca transmite quadros, uma transmissão não é uma ação que um switch pode executar. Um switch pode apenas inundar um quadro. Uma transmissão é simplesmente um quadro com um endereço MAC de destino
ffff.ffff.ffff
. Isso geralmente é confuso porque o efeito final é o mesmo, mas eles são realmente diferentes .fonte
Quando um switch recebe um quadro, ele atualiza sua tabela de endereços MAC com o endereço MAC de origem e a porta na qual recebeu o quadro. Se o endereço MAC de destino não estiver em sua tabela de endereços MAC (unicast desconhecido), ele inundará o quadro para todas as portas, exceto a porta na qual o quadro foi recebido.
fonte
O switch não usa o ARP, mas o ARP pode ajudar a impedir que essa situação ocorra em primeiro lugar, por dois motivos:
Se o nó A estiver enviando um pacote IP para o nó B que não está em seu cache ARP, ele primeiro enviará uma solicitação ARP (que é um pacote de broadcast e será automaticamente inundada em todas as portas pelo switch). Quando o nó B envia sua resposta ARP, o switch aprende seu endereço MAC. Portanto, quando a transferência real de dados acontece, o comutador já conhece os endereços MAC dos participantes e não precisa inundar pacotes de dados.
Muitos dispositivos, quando o link aumenta, enviam um pacote ARP gratuito . Além de atualizar os caches ARP de outros nós na rede, o GARP também preencherá a tabela de endereços MAC do switch.
O IPv6 não usa o ARP, mas o NDP cumpre uma finalidade semelhante.
Portanto, em geral, embora interruptores certamente vai inundar quadros para endereços unicast eles não aprenderam, não é necessário tão frequentemente como se poderia pensar, porque, geralmente, terá a oportunidade de aprender os endereços dos nós de quadros de broadcast de antemão. No entanto, você pode definitivamente observá-lo com um switch que teve sua tabela MAC excedida ou que acabou de reiniciar.
fonte