Por que uma resposta PING exige uma solicitação ARP para os hosts de origem MAC?

4

Eu tenho um cenário como mostrado abaixo.
Aqui, duas máquinas host são conectadas por meio de um hub:

Ok,ohost-1querpingarohost-2eeuconfigureiowiresharkemumterceirohostconectadoaomesmohub.Agora,surpreendentemente,paraumúnicocomandopingfuncionar,vejo6pacotes,enquantodeveriahaver4.Aquiestáoqueeuvejodewireshark:

Agora, o que está além do meu entendimento é que o pacote 5 & 6 são gerados enquanto não estiver no destino de resposta ARP e já conhece o remetente mac.

Ou há algo errado com o meu entendimento? Por favor, ajude.

    
por Sara 21.09.2012 / 11:44

1 resposta

1

Resposta Original

A primeira resposta vem da interface do hub, não da interface do host-1. Ao enviar coisas de volta você ainda precisa conhecer o mac da interface com o IP do host-1. Alguns switches fazem isso automaticamente, outros não.

Resposta melhorada:


              .-----------.
              | hub       |
              |           |
[host-1 i1]+--+hi1     hi2+--+[i2 host-2]
              |           |
              '-----------´

network interfaces: 
i1, i2, hi1, hi2

Depois de enviar algo para o host-1 do host-2 através de um endereço IP na aplicação camada, a resposta inicial ao host-2 (e todas as respostas subseqüentes) vêm da interface hi2 , não da interface i1 no host-1.

Para enviar qualquer coisa para o IP já conhecido do host-1, o host-2 ainda precisa saber para onde enviar pacotes na camada de link. Fazer isso, O host-2 deve solicitar o endereço MAC da interface que mostra o IP do host-1.

Alguns switches fazem esse tipo de tradução automaticamente - eles lembram caminho do mac para trás . A maioria dos hubs não, portanto, o segundo pedido.

    
por 09.10.2012 / 15:21