Você está confundindo duas coisas - ARP e Roteamento .
ARP
O ARP (Protocolo de resolução de endereços) é usado para identificar o endereço de hardware de um host na rede local (ou seja, a mesma sub-rede).
Se A (IP 10.0.1.2/24 ) quisesse se comunicar com outro host ( C ) com o endereço IP 10.0.1.5 , o seguinte aconteceria se esse host não estivesse no cache:
-
Atransmite uma " solicitação ARP "- Usando o endereço MAC de transmissão (
ff:ff:ff:ff:ff:ff) - Perguntar por qualquer host com o endereço IP
10.0.1.5para responder
- Usando o endereço MAC de transmissão (
- Se o host remoto (
C) receber esse pacote, ele responderá com o endereço MAC correto.
O ARP também pode ocorrer proativamente, com os próprios hosts " anunciando " em uma tentativa de reduzir a latência incorrida pela pesquisa, embora isso possa facilmente levar a falsificação e envenenamento.
Roteamento
O roteamento permite que um host acesse outros hosts que estão fora da rede " local ". Por exemplo, o host B tem um endereço IP de 10.0.5.2 , que está fora do host A 10.0.1.0/24 sub-rede.
Para obter pacotes para hospedar B , o host A deve enviá-los por meio de um roteador (também conhecido como " gateway "). Se nenhuma rota padrão for fornecida (ou nenhuma rota específica correspondente for configurada), o host ficará inacessível.
Se uma rota existir , A será:
- Use o ARP para localizar o endereço MAC do roteador (
R1) - Envie um pacote endereçado para o IP de
B(10.0.5.2), mas usando o endereço MAC do roteadorR1 - O% de
R1do roteador realizará a mesma pesquisa, enviando um pacote para o endereço MAC deR3(ouR2), mas com o endereço IP deB. - Isso continua até que o pacote atinja
Bou até que um roteador declare que não é possível rotear para o host fornecido.
If this works like this, how does the previous node know the MAC address of the next node?
O ARP é usado em cada etapa para obter o endereço MAC do próximo host. R1 quer encaminhar um pacote via R3 , então ele usa o ARP para obter o endereço MAC de R3 .