¿Qué es el Protocolo ARP?
El Protocolo ARP es un mecanismo que permite a los dispositivos en una red local (LAN) conocer la física (dirección MAC) de un dispositivo destino a raíz de su dirección lógica (dirección IP). Prácticamente lo que hace es hacer un match entre la dirección IP la cual opera en la capa 3 y la dirección MAC la cual esta en la capa 2, sin esta información un dispositivo no sabría como enviar datos de manera correcta dentro de una red LAN.
¿Cómo Funciona el protocolo ARP?
Veamos el siguiente ejemplo, tenemos los datos de capa 3 y capa 2 de cada host.

Cuando dos dispositivos se desean comunicar, en este caso PCA hace ping a PCB, PCA hace uso del protocolo ICMP para generar un mensaje echo request o ICMP mensaje tipo 8, este mensaje va dirigido a PCB, la información contenida es carga útil de un paquete IP, el cual contendrá la dirección IP origen y destino, es decir el mensaje contendrá la dirección IP de PCA y PCB.
Por lo tanto, PCA envía un echo request a PCB, pero debemos aclarar un punto importante, PCA conoce la dirección IP de destino a nivel de capa 3, como el destino está dentro de la misma red de PCA enviara la trama a PCB pero requiere la dirección MAC de PCB, de ser un destino diferente fuera de su red, la trama de PCA la enviara a su Gateway.
Entonces cuando PCA no conoce la dirección MAC de PCB, la cual debe ir en la trama, PCA antes de enviar el echo request, envía un mensaje ARP Request para conocer la MAC de PCB, por lo tanto, en la dirección MAC de destino va un broadcast, esto debido a que no se conoce la dirección MAC de destino y dicho mensaje debe llegar a todos los dispositivos.
Una vez llega la trama a PCB este reconoce su propia dirección IP en el encabezado IP como destino, a lo cual este procede a responder un ARP Reply proporcionando su dirección MAC a PCA.
Para lo antes mencionado se tienen dos mensajes:
1. ARP Request: Es el mensaje que pregunta “¿quién tiene esta dirección IP?”. Este mensaje se envía a toda la red mediante un broadcast.
2. ARP Reply: Es la respuesta del dispositivo que tiene la dirección IP solicitada, donde proporciona su dirección MAC.
Veamos los datos de la PC:
eth1: flags=4163
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
ether 50:00:00:30:00:01 txqueuelen 1000 (Ethernet)
RX packets 208 bytes 15350 (15.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@PCB:/# ifconfig
eth1: flags=4163
inet 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255
ether 50:00:00:2f:00:01 txqueuelen 1000 (Ethernet)
RX packets 237 bytes 17429 (17.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Procedamos a generar el ping, para ver los mensajes antes indicados, pero antes de realizar el ping veamos que información tiene la tabla ARP de PCA
root@PCA8:/# <
Del resultado anterior podemos confirmar que PCA no tiene ninguna informacion en su tabla ARP.
PING 192.168.1.11 (192.168.1.11) 56(84) bytes of data.
64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=2.44 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=1.34 ms

ARP Request:
Analicemos el mensaje 446, podemos confirmar lo siguiente:
• La dirección MAC origen de PCA 50:00:00:30:00:01 y la dirección MAC de destino una tipo de Broadcast.
• Es un mensaje ARP (Address Resolution Protocol) Request, en la cual vemos la dirección IP origen y MAC de PCA, la dirección IP de destino de PCB pero en la dirección MAC no hay una dirección validad porque no la conoce.

ARP Reply:
Analicemos el mensaje 447, podemos confirmar lo siguiente:
• PCB responde con un ARP reply
• En dicho mensaje PCB responde con la dirección MAC asociada a la IP que se está haciendo ping más su dirección IP, ojo en el campo origen (Src) va la dirección MAC de PCB por que el le esta respondiendo a PCA el ARP Request.

Una vez que PCA tiene la dirección MAC de destino envía el echo request.
Echo Request:Analicemos el mensaje 448, podemos confirmar lo siguiente:
• En la capa 2, podemos ver que ya conoce la dirección MAC de destino de PCB
• En el protocolo IP, podemos ver la dirección IP origen de PCA y de PCB
• En el mensaje ICMP: vemos que es un mensaje tipo 8 y otros parámetros que se verán más adelante.

Una vez se completa el ping podemos ver que PCA ya tiene información en su tabla ARP, dicha información es la IP de PCB y la MAC asociada a dicho dispositivo final
? (192.168.1.11) at 50:00:00:2f:00:01 [ether] on eth1
Una vez que PCB recibe el Echo Request responde con un Echo Reply en el mensaje 449, mas adelante explicamos este tipo de mensajes cuando el destino pertenece a otro segmento de RED.
COMPARTIR ESTA PÁGINA