Como um switch sabe para onde rotear pacotes, quando há outro switch na frente do destino?

8

Estou apenas me perguntando como um switch sabe como rotear pacotes para destinos "ocultos" atrás de outro switch. No meu entendimento, um switch possui uma tabela que mapeia cada uma de suas portas de hardware para exatamente um endereço MAC. Até aqui tudo bem, quando um pacote / quadro (?) Chega agora, pode determinar a porta na qual o pacote deve ser roteado.

Mas o que acontece quando há outro switch conectado a uma dessas portas e este segundo switch possui mais de um dispositivo conectado?

Gostaria de saber como um switch é capaz de resolver isso (na OSI-Layer 2, sem roteador), pois acho que isso realmente funciona na realidade (?)

Lamento se essa pergunta já existe (acho que não, não deve ser incomum), mas não consegui colocar meu pensamento em uma consulta de pesquisa adequada.

Jonas Eschmann
fonte
Relacionado: Como um switch aprende uma tabela de switches? . O mesmo processo pelo qual um comutador preenche sua tabela de endereços MAC é usado quando há dois comutadores ou três comutadores ou qualquer número de comutadores.
Eddie

Respostas:

15

Um comutador da Camada 2 aprende a maioria das informações sobre a localização de outros pontos de extremidade através da "escuta" de quadros de entrada e, quando não está ciente da localização, usa floodinge aprenderá com a resposta. Vamos dizer que a topologia é:

(Host A) <--> (Switch A) <--> (Switch B) <--> (Host B).

Também é importante notar que um switch L2 encaminha, ele não é roteado. Com isso, quero dizer, quando recebe um quadro encapsulado, o encaminha para interfaces.

  • O host A deseja acessar o host B. O host A sabe o endereço MAC do host B. Portanto, o Host A envia um quadro para o Switch A.
  • O switch A não possui o host B em sua tabela de endereços MAC. O switch A inundará o quadro em todas as suas portas, exceto a que o host A estiver localizado. Entre todas essas portas, há as portas nas quais o Switch B está conectado, portanto o Switch B recebe o quadro.
  • O switch B inundará esse quadro em todas as suas portas (considerando que o switch B não possui o host B em sua tabela de endereços MAC).
  • O host B responderá ao quadro, o switch B gravará o endereço MAC do host B e enviará a resposta ao switch A. O switch A registrará o endereço MAC do host B em sua tabela e enviará a resposta ao host A

Aqui está uma pergunta relacionada: Como um switch aprende uma tabela de switches?

HAL
fonte
ótimo obrigado! Pensei em transmitir, mas pensei que isso acrescentaria muita sobrecarga, especialmente quando muitos comutadores são encadeados.
Jonas Eschmann
2
@ sh4kesbeer Pode ser que os switches nem sequer gerem transmissões L2 "extras": antes de o host A enviar um pacote para o host B, ele normalmente envia uma transmissão de solicitação arp de qualquer maneira, solicitando o endereço MAC pertencente ao endereço IP especificado . Por que, ao processar essa consulta, todos os comutadores aprendem de onde o MAC do A entra. Portanto, eles já podem direcionar a resposta arp corretamente e (pelo menos aqueles ao longo do caminho de B a A) aprender de onde entra o MAC de B. - Então, "extra" radiodifusão causado pelo interruptor normalmente ocorrem somente após uma mudança de topologia
Hagen von Eitzen
Isso não é totalmente exato e pode causar confusão. Quando o comutador não sabe em qual porta o host de destino reside, FLOOD o quadro em todas as portas (exceto a de origem), não transmitido. O quadro ainda é um quadro unicast sendo inundado em todas as portas, e não uma transmissão.
JFL #
4

O switch pode mapear vários endereços MAC para uma porta.

Assim, todos os macs do dispositivo no segundo switch são vistos pelo primeiro switch como pertencentes a uma porta.

Ele atualiza sua tabela quando recebe qualquer pacote, pois todos eles contêm um Mac de origem. Se ele tinha o mac em uma porta diferente antes de mudar, é a tabela de endereços do mac (mac para o mapa da porta).

Quando a posição de um mac muda frequentemente entre portas, é relatada como uma aba de mac.

Pieter
fonte
1

Quando a topologia é a descrita: Host A - Switch A - Switch B - Host B

Idealmente, o Host A saberá o endereço IP do Host B (o destino com o qual deseja se comunicar). Supondo que os endereços IP dos dois hosts estejam na mesma rede, o host A usa o ARP para obter o endereço mac do destino. Esse é um quadro de transmissão que é encaminhado pelas portas do Switch A - e Switch B - para o Host B, que considera o destinatário pretendido e responde com seu próprio endereço MAC.

O host A mais tarde usa esse endereço MAC e envia o pacote ao switch A.

O switch A vê o endereço MAC e encaminha esse pacote para fora da interface, consultando sua própria tabela MAC. Operação semelhante ocorre no Switch B - que mais tarde alcançou o host B. de destino

escritura
fonte