melhor compreensão do protocolo arp

1

Não tenho certeza sobre o protocolo ARP.

Um exemplo de rede é mostrado abaixo:

Eu quero enviar uma mensagem de A para B, o protocolo ARP funcionará:

  • Primeiro A enviará o endereço MAC de R1 e o B IP
  • Em seguida, R1 se comunicará com R3 e R1 enviará o endereço MAC% deR3, mas também enviará o IP de B .
  • Após esse R3 se comunicar com R4 , R3 envia R4 endereço MAC, mas B 's IP
  • No final, o pacote chega em B .
  • A minha lógica está correta?
  • É assim que funciona quando tenho que mudar mais de 2 nós?
  • Além disso, se isso funciona assim, como o nó anterior sabe o endereço MAC do próximo nó?
por burrito 07.09.2018 / 12:40

3 respostas

0

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:

  1. A transmite 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.5 para responder
  2. 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á:

  1. Use o ARP para localizar o endereço MAC do roteador ( R1 )
  2. Envie um pacote endereçado para o IP de B ( 10.0.5.2 ), mas usando o endereço MAC do roteador R1
  3. O% de R1 do roteador realizará a mesma pesquisa, enviando um pacote para o endereço MAC de R3 (ou R2 ), mas com o endereço IP de B .
  4. Isso continua até que o pacote atinja B ou 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 .

    
por 07.09.2018 / 14:58
3

O protocolo ARP é apenas usado para descobrir o endereço MAC associado ao endereço IPv4 de um host no link local.

Em seu exemplo, quando o host A deseja enviar uma mensagem para o host B, ele o envia ao roteador apropriado para entrega. O roteador escolhido depende da tabela de roteamento no host A. O roteador está no mesmo link que o host A e, para enviar a mensagem ao roteador, o host A precisa do endereço MAC do roteador R1. Se o host A não puder encontrar o endereço MAC do roteador R1 em seu cache ARP, ele usará o protocolo ARP para descobrir o endereço MAC do roteador R1. Uma vez que o endereço MAC é conhecido, o pacote pode ser enviado.

Depois que o roteador R1 receber a mensagem, ele repete o que o host A fez: consulta sua tabela de roteamento e seleciona o roteador de próximo salto (digamos, R3). Se R1 não souber o endereço MAC R3, ele usará o protocolo ARP para descobrir. Depois de ter o endereço MAC de R3, ele o usa para enviar a mensagem para R3.

Isso se repete até que a mensagem chegue ao host de destino B (ou algum erro ocorre).

    
por 07.09.2018 / 14:50
0

Basicamente, algum nó X enviará uma solicitação ARP sempre que tiver um endereço IP para algum nó Y, mas não souber o endereço MAC de Y. Nesse caso, o nó Y com esse endereço IP responderá com seu nó. próprio endereço MAC.

Essas atribuições são armazenadas em cache em cada host e novas mensagens são enviadas somente se as informações não puderem ser encontradas no cache.

Portanto, não há ordem fixa de mensagens quando A quer se comunicar com B; dependerá de que comunicação aconteceu antes.

Observe também que, como você tem diferentes segmentos da LAN entre nós, cada nó solicitará o endereço IP do próximo nó ("próximo salto") e não o endereço IP de B. Então você precisa de tabelas de roteamento adequadas para tudo isso funcionar.

    
por 07.09.2018 / 14:38

Tags