Como o ARP gratuito funciona?

36

O ARP gratuito funciona como uma solicitação ARP normal?

Por que o ARP gratuito é usado para HSRP?

Trojan
fonte
3
Você leu isso em algum lugar? Se você não fez, você deveria. Se você fez e algo não está claro, seja mais específico em sua pergunta.
Gerben
@Gerben eu sou clara sobre como funciona arp, mas este conceito é a minha parte confuso, especialmente no HSRP como isso ARP funciona ..
Trojan
Um diz que o Grauitous ARP é uma solicitação, enquanto o outro mostra um esquema do Wireshark dizendo que é uma resposta. É algum tipo de comportamento aleatório? No meu computador, um pacote ARP gratuito detectado também foi anotado como uma solicitação (código de operação: 1).
VITOR FERNANDES DE BARROS

Respostas:

42

O ARP gratuito é uma espécie de "notificação prévia"; ele atualiza o cache do ARP de outros sistemas antes que eles o solicitem (sem solicitação do ARP) ou para atualizar informações desatualizadas.

Quando se fala em ARP gratuito, os pacotes são pacotes especiais de solicitação de ARP, não pacotes de resposta de ARP, como seria de esperar. Algumas razões para isso são explicadas na RFC 5227 .

O pacote ARP gratuito possui as seguintes características:

  • O IP de origem e de destino no pacote é o IP do host que emite o ARP gratuito
  • O endereço MAC de destino é o endereço MAC de transmissão ( ff:ff:ff:ff:ff:ff)
    • Isso significa que o pacote será inundado para todas as portas em um switch
  • Nenhuma resposta é esperada

O ARP gratuito é usado por alguns motivos:

  • Atualizar tabelas ARP após um endereço MAC para alterações de IP (failover, nova NIC, etc.)
  • Atualizar tabelas de endereço MAC em dispositivos L2 (comutadores) em que um endereço MAC está agora em uma porta diferente
  • Envie ARP gratuito quando a interface subir para notificar outros hosts sobre novas ligações MAC / IP com antecedência, para que eles não precisem usar solicitações ARP para descobrir
  • Quando uma resposta a uma solicitação gratuita de ARP é recebida, você sabe que possui um conflito de endereço IP na sua rede

Quanto à segunda parte da sua pergunta, HSRP , VRRP etc. usam ARP gratuito para atualizar as tabelas de endereços MAC nos dispositivos L2 (comutadores). Também existe a opção de usar o endereço MAC gravado no HSRP em vez do endereço "virtual". Nesse caso, o ARP gratuito também atualizaria as tabelas ARP nos dispositivos / hosts L3.

Sebastian Wiesinger
fonte
Como visualizar os pacotes ARP gratuitos?
Trojan
Use um sniffer de rede como Wireshark
Sebastian Wiesinger
há quaisquer capturas Wireshark para ARP gratuito ..
Trojan
1
Você pode ver um exemplo de pacote na página inicial
Sebastian Wiesinger
1
Porque você está recebendo uma resposta para uma solicitação ARP que possui seu próprio IP. Então, alguém tem esse IP e está respondendo de acordo.
Sebastian Wiesinger
14

Um ARP gratuito é uma resposta do ARP que não foi solicitada por uma solicitação do ARP. O ARP gratuito é enviado como um quadro de transmissão, como uma maneira de um nó anunciar ou atualizar seu IP para o mapeamento MAC para toda a rede.

Um pacote ARP contém um campo " Opcode " que indica se o pacote é uma solicitação ou uma resposta. No ARP gratuito , o campo Opcode é definido como 2, o que indica uma resposta:

insira a descrição da imagem aqui

Existem muitos casos de uso do ARP gratuito , todos normalmente relacionados a algum tipo de necessidade de atualizar as tabelas de endereços MAC do ARP Mapping ou Switchport.

O HSRP (e muitos outros protocolos de redundância) usam ARP gratuito com freqüência. Esta animação irá ilustrar como:

insira a descrição da imagem aqui

Observe que o roteador A e o roteador B estão compartilhando o endereço IP 10.0.0.1e o endereço MAC 0053.ffff.1111. Os hosts são configurados com um gateway padrão de 10.0.0.1e cada um possui um mapeamento ARP indicando o 10.0.0.1endereço IP mapeado para o 0053.ffff.1111endereço MAC. Como o endereço MAC e o endereço IP são compartilhados entre os dois roteadores, esse mapeamento ARP nunca precisará ser atualizado.

No entanto , quando o RoteadorA é o roteador HSRP ativo, o endereço MAC está sendo atendido pelo dispositivo conectado à porta de switch 1. Se o RoteadorA falhar, o RoteadorB envia um ARP gratuito para atualizar a tabela de endereços MAC do comutador pelo qual o endereço MAC 0053.ffff.1111agora está sendo atendido. o dispositivo conectado à porta de switch 2.

O processo ocorre novamente se o roteador B falhar e o roteador A precisar retomar a veiculação do servidor IP / MAC 10.0.0.1/0053.ffff.1111

A captura de pacotes das transições HSRP e pacotes GARP na animação acima pode ser baixada e estudada no Wireshark .


Embora não seja estritamente algo que você tenha perguntado, dados os comentários nestas perguntas e respostas, achei sensato mencionar algo sobre a detecção de endereço duplicado:

Há um ponto frequentemente confuso em relação à detecção de endereços duplicados e ao ARP gratuito. Quando um computador está tentando verificar se outro host da rede está usando um endereço IP específico, ele não envia um ARP gratuito .

A razão para isso é, por definição, que um ARP gratuito destina-se a atualizar os mapeamentos ARP de outros dispositivos na rede. Se um IP não for exclusivo, não queremos que o "teste de exclusividade" faça com que uma entrada incorreta do ARP seja atualizada.

Na realidade, um conjunto específico de mensagens ARP é usado na detecção de endereço duplicado: um probe ARP e um anúncio ARP .

A diferença crucial entre esses dois pacotes e um ARP gratuito gratuito é que o ARP Probe não possui um mapeamento completo de IP / MAC; portanto, é impossível para um ARP Probe atualizar acidentalmente, incorretamente, um cache ARP.

O processo geral é que o probe ARP é enviado algumas vezes, o que levaria o proprietário do IP em questão a enviar um ARP gratuito se o IP já estiver em uso. Se nenhuma resposta for recebida, o remetente enviará um Anúncio ARP para reivindicar oficialmente o endereço IP na rede.

O Anúncio ARP é ainda mais semelhante a um ARP Gratuito, mas (também) não é tecnicamente o mesmo porque o Anúncio ARP possui um código de operação1 , indicando uma solicitação (onde, como um ARP gratuito, terá um código de operação2 ).

Eddie
fonte