El protocolo ARP. Protocolo de resolución de dirección.

El protocolo de resolución de direcciones (ARP; Address Resolution Protocol) es un protocolo de nivel de red que permite que las direcciones IP, sólo entendidas por los niveles superiores, sean entendidas por los interfaces de red, que trabajan con direcciones físicas. Al hacerlo, elimina la necesidad de que las aplicaciones conozcan direcciones físicas. Está descrito en la RFC 826.
 Para realizar la traducción entre direcciones IP y direcciones físicas utiliza una tabla conocida como ARP cache.
Veamos cómo funciona:
Cuando una aplicación quiere enviar datos a cierta dirección IP, el mecanismo de enrutamiento IP primero determina la dirección del próximo salto del paquete (puede ser el propio host o un router) y el dispositivo hardware al que debería ser enviado. Posteriormente el módulo ARP debe ser consultado para mapear la dirección destino a una dirección física.
 El módulo ARP intenta encontrar la dirección en su caché ARP. Si encuentra la correspondencia devuelve la correspondiente dirección física de 48 bits al emisor, el cual transmite el paquete. Si la dirección no se encuentra en la caché ARP, se envía un broadcast a la red. Este mensaje,  conocido como solicitud ARP (ARP request) se recibe en  todos los dispositivos de la red local. Si una de las máquinas en la red reconoce su propia IP en la solicitud, envía un mensaje de respuesta (ARP reply) con su dirección física de vuelta a la máquina que generó la solicitud, y ésta coloca la información en su ARP cache para uso futuro.
Veamos ahora el formato de un paquete ARP de solicitud y respuesta:

Protocolo ARP. ARP request and reply packet

·         Tipo de hardware: Especifica el tipo de hardware. Por ejemplo, Ethernet.

·         Tipo de protocolo: Especifica el tipo de protocolo, de la misma manera que el campo Ethertype en la cabecera IEEE 802 (0x0800 para IPv4; 0x0806 para ARP).

·         Longitud de la dirección hardware. Especifica la longitud en bytes de la direcciones hardware incluidas en el datagrama. Para IEEE 802.3 es 6.

·         Longitud de la dirección de protocolo. Especifica la longitud en bytes de la dirección de protocolo en el datagrama. Para IP es 4.

·         Código de operación. Especifica si el datagrama es una solicitud ARP (1) o una respuesta ARP (2).

·         Dirección hardware del emisor/receptor. Contiene la dirección hardware del dispositivo emisor/receptor. Para IEEE 802.3 son direcciones de 48 bit.

·         Dirección IP del emisor/receptor. Contiene las direcciones IP del emisor/receptor. Son direcciones de 32 bit.

 Para el paquete de solicitud ARP, la dirección hardware del receptor es el único campo sin definir en el paquete.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.