¿Cómo funciona el ARP gratuito?

36

¿El ARP gratuito funciona como una solicitud ARP normal?

¿Por qué se usa ARP gratuito para HSRP?

Troyano
fuente
3
¿Leíste esto en alguna parte? Si no lo hiciste, deberías. Si lo hizo y algo no está claro, sea más específico en su pregunta.
Gerben
@Gerben, tengo claro cómo funciona arp, pero este concepto es mi parte confusa, especialmente en HSRP, cómo funciona este ARP ...
Troyano
Uno dice que Grauitous ARP es una solicitud, mientras que el otro muestra un esquema de Wireshark que dice que es una respuesta. ¿Es algún tipo de comportamiento aleatorio? En mi computadora, un paquete ARP Gratuito también fue anotado como una Solicitud (Opcode: 1).
VITOR FERNANDES DE BARROS

Respuestas:

42

El ARP gratuito es una especie de "notificación anticipada", actualiza el caché ARP de otros sistemas antes de que lo soliciten (sin solicitud ARP) o para actualizar información obsoleta.

Cuando se habla de ARP gratuito, los paquetes son en realidad paquetes de solicitud ARP especiales, no paquetes de respuesta ARP como uno podría esperar. Algunas razones para esto se explican en RFC 5227 .

El paquete ARP gratuito tiene las siguientes características:

  • Tanto la IP de origen como la de destino en el paquete son la IP del host que emite el ARP gratuito
  • La dirección MAC de destino es la dirección MAC de difusión ( ff:ff:ff:ff:ff:ff)
    • Esto significa que el paquete se inundará en todos los puertos en un conmutador
  • No se espera respuesta

El ARP gratuito se usa por algunas razones:

  • Actualice las tablas ARP después de una dirección MAC para cambios de IP (conmutación por error, nueva NIC, etc.)
  • Actualice las tablas de direcciones MAC en dispositivos L2 (conmutadores) para que una dirección MAC esté ahora en un puerto diferente
  • Envíe ARP gratuito cuando la interfaz se active para notificar a otros hosts sobre los nuevos enlaces MAC / IP con anticipación para que no tengan que usar solicitudes ARP para averiguar
  • Cuando se recibe una respuesta a una solicitud ARP gratuita, sabe que tiene un conflicto de dirección IP en su red

En cuanto a la segunda parte de su pregunta, HSRP , VRRP , etc. utilizan ARP gratuito para actualizar las tablas de direcciones MAC en dispositivos L2 (conmutadores). También existe la opción de utilizar la dirección MAC grabada para HSRP en lugar de la "virtual". En ese caso, el ARP gratuito también actualizaría las tablas ARP en dispositivos / hosts L3.

Sebastian Wiesinger
fuente
¿Cómo ver los paquetes ARP gratuitos?
Troyano
Use un sniffer de red como Wireshark
Sebastian Wiesinger
¿hay alguna captura de Wirehark para ARP gratuito?
Troyano
1
Puede ver un paquete de ejemplo en la página de inicio de Wireshark
Sebastian Wiesinger
1
Porque está recibiendo una respuesta para una solicitud ARP que tiene su propia IP. Entonces, alguien más tiene esta IP y responde en consecuencia.
Sebastian Wiesinger
14

Un ARP Gratuito es una Respuesta ARP que no fue solicitada por una Solicitud ARP. El ARP Gratuito se envía como una trama de difusión, como una forma para que un nodo anuncie o actualice su mapeo de IP a MAC a toda la red.

Un paquete ARP contiene un campo " Opcode " que indica si el paquete es una solicitud o una respuesta. En el ARP Gratuito , el campo Opcode se establece en 2, que indica una Respuesta:

ingrese la descripción de la imagen aquí

Hay muchos casos de uso para ARP Gratuito , todos típicamente relacionados con algún tipo de necesidad de actualizar las tablas de direcciones MAC de ARP Mapping o Switchport.

HSRP (y muchos otros protocolos de redundancia) usan ARP Gratuito con frecuencia. Esta animación ilustrará cómo:

ingrese la descripción de la imagen aquí

Observe que RouterA y RouterB comparten la dirección IP 10.0.0.1y la dirección MAC 0053.ffff.1111. Los hosts están configurados con una puerta de enlace predeterminada 10.0.0.1, y cada uno tiene una asignación ARP que indica que la 10.0.0.1dirección IP se asigna a la 0053.ffff.1111dirección MAC. Dado que tanto la dirección MAC como la dirección IP se comparten entre los dos enrutadores, esta asignación ARP nunca tendrá que actualizarse.

Sin embargo , cuando el RouterA es el enrutador HSRP activo, el dispositivo conectado al puerto de conmutación 0053.ffff.1111sirve la dirección MAC. El dispositivo conectado al switchport 2.

El proceso ocurre nuevamente si el RouterB falla, y el RouterA necesita retomar el servicio de IP / MAC 10.0.0.1/0053.ffff.1111

La captura de paquetes de las transiciones HSRP y los paquetes GARP en la animación anterior se puede descargar y estudiar en Wireshark .


Si bien no es estrictamente algo sobre lo que preguntaste, dados los comentarios en estas preguntas y respuestas, pensé que era conveniente mencionar algo sobre la detección de direcciones duplicadas:

Hay un punto a menudo confuso con respecto a la detección de direcciones duplicadas y ARP Gratuito. Cuando una computadora intenta ver si otro host de la red está usando una dirección IP particular , no envía un ARP Gratuito .

La razón de esto es por definición, un ARP Gratuito está destinado a actualizar las asignaciones de ARP de otros dispositivos en la red. Si una IP no es única, no queremos que la "prueba de unicidad" provoque que se actualice una entrada ARP incorrecta.

En realidad, se utiliza un conjunto específico de mensajes ARP en la detección de direcciones duplicadas: una sonda ARP y un anuncio ARP .

La diferencia crucial entre estos dos paquetes y un ARP Gratuito real es que la Sonda ARP no tiene un mapeo completo de IP / MAC, por lo tanto, es imposible que una Sonda ARP actualice accidentalmente un caché ARP por error.

El proceso general es que la sonda ARP se envía varias veces, lo que llevaría al propietario de la IP en cuestión a enviar un ARP gratuito si la IP ya está en uso. Si no se recibe respuesta, el remitente envía un Anuncio ARP para reclamar oficialmente la dirección IP en la red.

El Anuncio ARP es aún más similar a un ARP Gratuito, pero (también) no es técnicamente el mismo porque el Anuncio ARP tiene un código de operación de1 , que indica una solicitud (donde como ARP Gratuito tendrá un código de operación de2 ).

Eddie
fuente