4.3 Protocolo de Resolución de Direcciones

El protocolo de resolución de direcciones (ARP, del inglés Address Resolution Protocol) es un protocolo de comunicaciones de la capa de enlace, responsable de encontrar la dirección de hardware (Ethernet MAC) que corresponde a una determinada dirección IP. Para ello se envía un paquete (ARP request) a la dirección de difusión de la red (broadcast, MAC = FF FF FF FF FF FF) que contiene la dirección IP por la que se pregunta, y se espera a que esa máquina (u otra) responda (ARP reply) con la dirección Ethernet que le corresponde. Cada máquina mantiene una caché con las direcciones traducidas para reducir el retardo y la carga. ARP permite a la dirección de Internet ser independiente de la dirección Ethernet, pero esto solo funciona si todas las máquinas lo soportan.

ARP está documentado en el RFC 826. El protocolo RARP realiza la operación inversa y se encuentra descrito en el RFC 903.

En Ethernet, la capa de enlace trabaja con direcciones físicas. El protocolo ARP se encarga de traducir las direcciones IP a direcciones MAC (direcciones físicas). Para realizar esta conversión, el nivel de enlace utiliza las tablas ARP, cada interfaz tiene tanto una dirección IP como una dirección física MAC.

ARP se utiliza en cuatro casos referentes a la comunicación entre dos hosts:

-Cuando dos hosts están en la misma red y uno quiere enviar un paquete a otro.

-Cuando dos hosts están sobre redes diferentes y deben usar un gateway o router para alcanzar otro host.

-Cuando un router necesita enviar un paquete a un host a través de otro router.

-Cuando un router necesita enviar un paquete a un host de la misma red.

Función

Cuando una máquina desea ponerse en contacto con otra y no se conoce su dirección IP, entonces necesita un mecanismo dinámico que permite conocer su dirección física . Entonces envía una petición ARP por broadcast (o sea a todas las maquinas). El protocolo establece que solo contestara a la petición, si esta lleva su dirección IP. Por lo tanto solo contestará la maquina que corresponde a la dirección IP buscada, con un mensaje que incluya la dirección física. El software de comunicaciones debe mantener una caché con los pares IP-dirección física. De este modo la siguiente vez que hay que hacer una transmisión a es dirección IP, ya conoceremos la dirección física.

El protocolo RARP le permite a la estación de trabajo averiguar su dirección IP desde una tabla de búsqueda entre las direcciones MAC (direcciones físicas) y las direcciones IP alojadas por una pasarela ubicada en la misma red de área local (LAN).

Objetivos

El protocolo ARP tiene un papel clave entre los protocolos de capa de Internet relacionados con el protocolo TCP/IP, ya que permite que se conozca la dirección física de una tarjeta de interfaz de red correspondiente a una dirección IP. Por eso se llama Protocolo de Resolución de Dirección.

Cada equipo conectado a la red tiene un número de identificación de 48 bits. Éste es un número único establecido en la fábrica en el momento de fabricación de la tarjeta.

Para que las direcciones físicas se puedan conectar con las direcciones lógicas, el protocolo ARP interroga a los equipos de la red para averiguar sus direcciones físicas y luego crea una tabla de búsqueda entre las direcciones lógicas y físicas en una memoria caché.

Cuando un equipo debe comunicarse con otro, consulta la tabla de búsqueda. Si la dirección requerida no se encuentra en la tabla, el protocolo ARP envía una solicitud a la red. Todos los equipos en la red comparan esta dirección lógica con la suya. Si alguno de ellos se identifica con esta dirección, el equipo responderá al ARP, que almacenará el par de direcciones en la tabla de búsqueda, y, a continuación, podrá establecerse la comunicación.

ARP proxy

Hay ocasiones en las que un host puede enviar una solicitud de ARP con el objetivo de mapear una dirección IPv4 fuera del alcance de la red local. En estos casos, el dispositivo envía solicitudes de ARP para direcciones IPv4 que no se encuentran en la red local en vez de solicitar la dirección MAC asociada a la dirección IPv4 del gateway. Para proporcionar una dirección MAC para estos hosts, una interfaz de router puede utilizar un ARP proxy para responder en nombre de estos hosts remotos.  Con el proxy ARP, una interfaz de router actúa como si fuera el host con la dirección IPv4 solicitada por la solicitud de ARP. Al "simular" su identidad, el router acepta la responsabilidad de enrutar paquetes al destino "real".

Uno de los usos que se le da a dicho proceso es cuando una implementación más antigua de IPv4 no puede determinar si el host de destino se encuentra en la misma red lógica que el origen. En estas implementaciones, el ARP siempre envía solicitudes de ARP para la dirección IPv4 de destino. Si el ARP proxy se desactiva en la interfaz del router, estos hosts no pueden comunicarse fuera de la red local.

Otro caso en el que se utiliza el ARP proxy es cuando un host cree que está directamente conectado a la misma red lógica que el host de destino. Esto ocurre generalmente cuando un host se configura con una máscara inapropiada.

Tal como se muestra en la figura, el Host A se configuró inapropiadamente con una máscara de subred /16. Este host cree que está directamente conectado a la red 172.16.0.0 /16 en vez de a la subred 172.16.10.0 /24.

Cuando se intenta comunicar con cualquier host IPv4 en el intervalo de 172.16.0.1 a 172.16.255.254, el Host A enviará una solicitud de ARP para esa dirección IPv4. El router puede utilizar un ARP proxy para responder a las solicitudes de dirección IPv4 del Host C (172.16.20.100) y el Host D (172.16.20.200). Como resultado, el Host A tendrá entradas para estas direcciones mapeadas a la dirección MAC de la interfaz e0 del router (00-00-0c-94-36-ab).

Comentarios