Address Resolution Protocol (Protocolo de resolución de direcciones)

El primer protocolo a nivel de red es el ARP (Address Resolution Protocol - Protocolo de resolución de direcciones). ARP convierte dinámicamente las direcciones de Internet en las direcciones de hardware exclusivas de las redes de área local.

Para ilustrar cómo funciona ARP, examine dos nodos, X y Y. Si el nodo X desea comunicarse con Y y X e Y están en redes de área local (LAN) diferentes, X e Y se comunican a través de puentes, direccionadores o pasarelas, utilizando direcciones IP. En una LAN, los nodos se comunican utilizando direcciones de hardware de bajo nivel.

Los nodos del mismo segmento de la misma LAN utilizan ARP para determinar la dirección de hardware de otros nodos. En primer lugar, el nodo X difunde una petición ARP para la dirección de hardware del nodo Y. La petición ARP contiene las direcciones IP y de hardware de X y la dirección IP de Y. Cuando Y recibe la petición ARP, pone una entrada para X en la antememoria de ARP (que se utiliza para correlacionar rápidamente de la dirección IP a la dirección de hardware) y, a continuación responde directamente a X con una respuesta de ARP que contiene las direcciones IP y de hardware de Y. Cuando el nodo X recibe la respuesta ARP de Y, pone una entrada para Y en la antememoria de ARP.

Una vez que existe una entrada de antememoria ARP en X para Y, el nodo X puede de enviar paquetes directamente a Y sin recurrir otra vez a ARP (a menos que se suprima la entrada de antememoria de ARP para Y, en cuyo caso se vuelve a utilizar ARP para contactar con Y).

A diferencia de la mayoría de protocolos, los paquetes ARP no tienen cabeceras de formato fijo. En lugar de ello, el mensaje está diseñado para ser útil con diferentes tecnologías de red, tales como:

  • Adaptador LAN Ethernet (soporta los protocolos Ethernet y 802.3)
  • Adaptador de Red en anillo
  • Adaptador de red FDDI (Fiber Distributed Data Interface - Interfaz de datos distribuidos por fibra)

Sin embargo, ARP no convierte direcciones para SLIP (Serial Line Interface Protocol - Protocolo de interfaz de línea serie) o SOC (Serial Optical Channel Converter - Convertidor de canal óptico serie) puesto que éstas son conexiones de punto a punto.

El kernel mantiene las tablas de conversión y el ARP no está directamente disponible a los usuarios o aplicaciones. Cuando una aplicación envía un paquete de Internet a uno de los controladores de interfaz, el controlador solicita la correlación de direcciones apropiada. Si la correlación no está en la tabla, se envía un paquete de difusión ARP a través del controlador de interfaz solicitante a los sistemas principales de la red de área local.

Las entradas de la tabla de correlación ARP se suprimen después de 20 minutos; las entradas incompletas se suprimen después de 3 minutos. Para crear una entrada permanente en las tablas de correlación ARP, utilice el mandato arp con el parámetro pub:

arp -s 802.3 host2 0:dd:0:a:8s:0 pub

Cuando cualquier sistema principal que soporta ARP recibe un paquete de petición ARP, el sistema principal anota las direcciones IP y de hardware del sistema solicitante y, si es necesario, actualiza la tabla de correlación. Si la dirección IP del sistema principal receptor no coincide con la dirección solicitada, el sistema principal elimina el paquete de petición. Si la dirección IP no coincide, el sistema principal receptor envía un paquete de respuesta al sistema solicitante. El sistema solicitante almacena la nueva correlación y la utiliza para transmitir cualquier paquete de Internet similar pendiente.