¿Linux enviará el ARP gratuito o la sonda ARP (definida en RFC 5227)

7

Hice un experimento para verificar si Linux enviará la sonda ARP o ARP gratuita antes de usar la IP de destino.

El escenario del experimento es el siguiente:

Hay dos computadoras Linux, ambas conectadas al mismo AP. Primero conecté el primero y usé ifconfig wlan0 192.168.1.30(que es la dirección IP predeterminada de otra computadora Linux) para configurar la dirección IP estáticamente.

Luego uso WPA_supplicant para conectar el otro, y uso dhclient wlan0para obtener la dirección IP. Desde el sniffer, no observé ninguna sonda ARP o ARP gratuita enviada desde la segunda computadora.

Me pregunto en qué condiciones, ¿la computadora Linux enviará estas dos solicitudes ARP? Como bajo la misma condición, observo que mi computadora con Windows enviará la sonda ARP para solicitar la IP.

Gracias

Anakin Tung
fuente

Respuestas:

2

La configuración manual de una dirección IP en un dispositivo no requiere que el dispositivo verifique si hay conflictos de direcciones. Solo si el dispositivo configura su propia dirección IP (DHCP, etc.) debe verificar si hay conflictos de direcciones.

No verá un ARP gratuito si configura manualmente un dispositivo, ya que el dispositivo no tiene forma de cambiar su dirección (o solicitar una nueva) si descubre un conflicto. El propósito del RFC es que un dispositivo, configurando su propia dirección IP, pueda detectar si necesita cambiar la dirección IP que obtuvo. Puede hacer eso para cosas como DHCP, pero no tiene forma de hacerlo si configura manualmente la dirección. En otras palabras, el dispositivo tiene que confiar en que usted, el humano, sabe lo que está haciendo, pero debe verificar que cualquier dirección que aparezca por sí sola no esté en uso.

Ron Maupin
fuente
1
Incorrecto. Cito de RFC 5227 sección 2.1 (énfasis mío) - "Antes de comenzar a usar una dirección IPv4 (ya sea recibida de la configuración manual , DHCP o algún otro medio), un host que implemente esta especificación DEBE probar si la dirección ya está en use .... " https://tools.ietf.org/html/rfc5227#section-2.1
Steve365
Sí, pero esa no es la cantidad de proveedores de sistemas operativos implementados, de ahí la pregunta. Puede probar esto usted mismo con WireShark.
Ron Maupin
De hecho, simplemente estaba aclarando para futuros lectores que para cumplir completamente con el RFC, una implementación debería aplicar el protocolo para el direccionamiento manual, así como DHCP. Su línea de apertura sugirió que este no era el caso. Soy consciente de que hay muchas implementaciones con errores que no hacen esto :)
Steve365
No he visto un solo sistema operativo que realmente implemente esto. Sin embargo, lo he visto en algunos equipos de red. Los vendedores de sistemas operativos no ven el punto. Algunos ignoran los RFC completos (p. Ej., RFC 3021 - Uso de prefijos de 31 bits en enlaces punto a punto IPv4 , que ha existido durante más de 15 años).
Ron Maupin
Algunas versiones de Windows implementan esto. Acabo de usar Wireshark para confirmar en Windows 7 con una IP estática.
Steve365
2

Aquí hay una pregunta Why would Linux send an ARP probe for an IP that is being locally assigned, it knows who the own of that IP will be (itself!) ?: está configurando las IP para que sepa qué IP es libre. Cuando rm -rf /Linux no verifica, "simplemente lo hace", porque debe saber si está bien realizar esa operación o no. Windows (por ejemplo) tiene la costumbre de sostener su mano para que sea más idiota (en mi opinión).

En el caso de un servidor MS DHCP, si ejecuta una captura de paquetes en uno (que tengo) verá que hará ping a una dirección antes de arrendarla a un cliente para asegurarse de que no se haya tomado y no saberlo (ya sea debido a otro servidor DHCP o una asignación estática).

Cuando asigna una IP a una interfaz en Linux, no es necesario enviar un ARP gratuito. Si otros hosts desean conocer el MAC para IP 1.2.3.4, pueden enviar una solicitud ARP. No hay ningún beneficio para ARP gratuito cada vez que aparece una interfaz.

Sé que he hecho pocas declaraciones sin pruebas contundentes para respaldarlas, sin embargo, según su pregunta, ha visto por sí mismo el mismo comportamiento. Esto tiene sentido lógico para mí.

jwbensley
fuente
0

Solaris 10 y posteriores admiten DAD (RFC 5227) para IPv4 tanto para direcciones IP asignadas estáticas como direcciones IP asignadas dinámicamente.

El demonio dhcp (dhcpd) en NetBSD y otras plataformas (como Ubuntu) es compatible con RFC 5227.

Juan
fuente