Como um switch aprende um endereço MAC que não está em sua tabela de pesquisa?

12

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)?

Ron Maupin
fonte
11
Se você pensar bem, quando um comutador não pode realmente mudar um quadro (porque não possui o endereço necessário em sua tabela, por exemplo), geralmente ele deve ser tratado como um hub por motivos de compatibilidade.
Todd Wilcox
Muito obrigado a todos pelas respostas.

Respostas:

28

Boa pergunta. Vou responder com uma animação:

insira a descrição da imagem aqui

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 .

Eddie
fonte
A principal diferença entre a inundar e de radiodifusão é a forma como o próximo nó (s) vai reagir
Ferrybig
2
@Ferrybig Correct. Mas eu o chamaria de um pouco diferente ... A principal diferença entre um switch que inunda um quadro de unicast e um switch que inunda um quadro de transmissão é como os próximos nós reagirão. Não existe um interruptor que transmita um quadro. (Este comentário, e minha resposta, está falando de tráfego de trânsito, não tráfego de gerenciamento de / para o switch)
Eddie
4

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.

Ron Maupin
fonte
Exceto quando inunda, ele não inunda o quadro de volta à porta da qual recebeu o quadro, certo?
Todd Wilcox
11
Direita. não o envia para a porta da qual o quadro foi recebido.
Ron Maupin
3
Acrescentarei apenas que o switch não aprende o novo endereço MAC (de destino) até que o dispositivo responda.
Ron Trunk
Ao inundar o quadro para todas as portas, há risco de segurança?
3
Pode ser. E é por isso que alguns / muitos switches suportam a desativação da inundação unicast de unicast desconhecido (e também de multicast). Em três décadas de rede, nunca tive a necessidade de usá-lo.
Ricky feixe
4

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:

  1. 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.

  2. 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.

hobbs
fonte