ARP (Address Resolution Protocol) es un protocolo fundamental de la capa de enlace de datos (Capa 2 del modelo OSI) diseñado para resolver la dirección física (dirección MAC) de un dispositivo a partir de su dirección de red lógica (dirección IPv4) conocida. Funciona como un puente indispensable para permitir que los paquetes de Capa 3 se puedan encapsular en tramas de Capa 2 y entregarse correctamente dentro de un mismo dominio de difusión.
El protocolo ARP (Protocolo de Resolución de Direcciones) es el encargado de vincular una dirección de capa de red (IP) con una dirección de capa de enlace de datos (MAC). Es, esencialmente, el pegamento que permite que la comunicación fluya en una red local.
Dado que los switches conmutadores de una red de área local (LAN) reenvían las tramas Ethernet utilizando únicamente direcciones MAC y desconocen las direcciones IP, ningún host puede enviar un paquete de datos a otro sin antes descubrir la dirección MAC del destinatario (o de la puerta de enlace predeterminada si el destino está en otra red).
¿Cómo funciona el proceso de resolución ARP?
Cuando un equipo quiere enviar datos a una IP específica dentro de su misma red, primero necesita saber la dirección física (MAC) del destinatario para que el Switch sepa a qué puerto enviarlo. El proceso es el siguiente:
Cuando un equipo quiere enviar datos a una IP específica dentro de su misma red, primero necesita saber la dirección física (MAC) del destinatario para que el Switch sepa a qué puerto enviarlo. El proceso es el siguiente:
Consulta la Tabla ARP: El equipo mira en su memoria caché si ya conoce la MAC de esa IP.
Petición ARP (Request): Si no la conoce, lanza un grito a toda la red enviando una trama de difusión (Broadcast a la MAC
FF:FF:FF:FF:FF:FF): "¿Quién tiene la IP 192.168.1.5? Dime tu MAC".Procesamiento local: Todos los equipos del dominio de difusión reciben la trama y leen la solicitud, pero solo el equipo cuya dirección IP coincide con la consultada responde; los demás descartan la trama silenciosamente.
Respuesta ARP (Reply): El equipo con esa IP responde mediante un tráfico unidifusión (unicast) dirigido únicamente al interesado: "Soy yo, mi MAC es AA:BB:CC...".
Actualización y almacenamiento en la Tabla ARP: El solicitante guarda la relación
IP → MACen su caché/tabla ARP local para no tener que repetir la consulta en futuros envíos de paquetes.
Tabla de tipos de mensajes ARP y variantes clave
| Variante de ARP | Tipo de Tráfico | Función / Propósito Principal |
|---|---|---|
| ARP Request (Petición) | Broadcast (FF:FF:FF:FF:FF:FF) |
Consultar la MAC asociada a una dirección IPv4 conocida. |
| ARP Reply (Respuesta) | Unicast (directo al solicitante) | Informar de la dirección MAC propia al host que hizo la petición. |
| Gratuitous ARP (ARP Gratuito) | Broadcast | Anunciar cambios de MAC/IP a la red o verificar duplicidades de IP. |
| Proxy ARP | Unicast / Respuesta directa | Un router responde con su propia MAC a peticiones de otra subred. |
| RARP / InARP | Broadcast / Unicast | Mecanismos inversos (obtener IP a partir de una MAC conocida). |
Evolución: ARP en IPv4 vs. ND (Neighbor Discovery) en IPv6
| Característica | IPv4 (Address Resolution Protocol) | IPv6 (Neighbor Discovery Protocol - NDP) |
|---|---|---|
| Protocolo utilizado | Protocolo ARP independiente (operando sobre Ethernet). | Basado en mensajes ICMPv6 (Neighbor Solicitation / Advertisement). |
| Uso de Tráfico | Usa Broadcast masivo para peticiones (FF:FF:FF:FF:FF:FF). |
Usa Multicast de nodo solicitado (ej. ff02::1:ffxx:xxxx). |
| Seguridad nativa | Sin autenticación (vulnerable a ARP Spoofing). | Puede protegerse mediante SEND (Secure Neighbor Discovery). |
| Caché | Tabla ARP (arp -a). |
Tabla de vecinos IPv6 (netsh interface ipv6 show neighbors). |
Características principales:
- Es un protocolo sin estado (stateless): los equipos aceptan y procesan respuestas ARP incluso si no han enviado una petición previa. El usuario nunca ve este proceso, ocurre de forma automática en milisegundos.
- Se dice que opera entre la capa 2 y 3, ya que usa ambas direcciones.
- Las entradas registradas en la caché ARP son dinámicas y tienen un tiempo de vida limitado (TTL, típicamente de 2 a 10 minutos) para refrescar cambios en las tarjetas de red. Las entradas en la tabla ARP son temporales; si no se usan, se borran para mantener la tabla limpia.
- Es la base de ataques de ciberseguridad conocidos como ARP Spoofing / ARP Poisoning, donde un atacante envía respuestas ARP falsas para posicionarse como un "Man-in-the-Middle" entre la víctima y el router.
- Técnicas de mitigación como Dynamic ARP Inspection (DAI) en switches gestionados permiten validar las tramas ARP consultando la base de datos de DHCP Snooping.
Analogía: Es como si en una oficina conoces el nombre de alguien (IP), pero para entregarle un paquete necesitas saber en qué mesa se sienta (MAC). Te levantas y preguntas en voz alta: "¿Quién es Juan?", y cuando Juan levanta la mano, ya sabes dónde está su mesa.
Actividad práctica
Objetivo:
Inspeccionar la tabla caché ARP del sistema operativo local, forzar el descubrimiento de una dirección MAC y analizar el intercambio de tramas mediante la consola de comandos.
Tareas:
- Abre la consola de comandos de tu sistema operativo (CMD/PowerShell en Windows o Terminal en Linux/macOS).
- Muestra el contenido actual de la tabla ARP de tu equipo:
- En Windows:
arp -a - En Linux:
ip neighoip n
- En Windows:
- Limpieza de la caché: Borra el contenido dinámico de la tabla caché ARP para obligar al sistema a realizar nuevas peticiones:
- En Windows (como Administrador):
arp -d * - En Linux:
sudo ip -s -s neighbor flush all
- En Windows (como Administrador):
- Muestra nuevamente el contenido de la tabla ARP. Debería estar prácticamente vacía.
- Abre Wireshark (o el modo simulación en Packet Tracer).
- Filtra solo por el protocolo
arp. - Ejecuta un comando
ping <IP_Puerta_de_Enlace>hacia la IP de tu router. - Haz un
pinga la IP de un compañero. - Vuelve a ejecutar el comando
arp -apara comprobar cómo se ha vuelto a aprender de forma dinámica la dirección MAC de la puerta de enlace predeterminada. - En Wireshark analiza los paquetes capturados. Verás un paquete cuya dirección de destino es
FF:FF:FF:FF:FF:FF. Eso es el Broadcast de ARP. - Selecciona el paquete de respuesta (Reply).
- ¿Quién envía ese paquete? ¿Es un broadcast o va dirigido solo a tu PC?
Preguntas de reflexión:
- Si un PC desea enviar datos a un servidor web en Internet (por ejemplo,
8.8.8.8), ¿de qué dispositivo buscará la dirección MAC en su tabla ARP local? - ¿Por qué se considera que el protocolo ARP es inherentemente inseguro frente a ataques de suplantación de identidad en la red local?
- ¿Qué función cumple la caché o tabla ARP en los sistemas operativos y qué ocurriría si las entradas nunca caducaran?
- ¿Qué ocurre si dos dispositivos en la misma red local responden a una misma solicitud ARP indicando distintas direcciones MAC para la misma dirección IP?
- ¿Por qué el protocolo IPv6 prescindió del uso de ARP y cómo resuelve las direcciones físicas de capa de enlace?
- ¿Qué sucede si un equipo responde a una petición ARP con una MAC falsa?
- ¿Por qué el Router también necesita tener una tabla ARP?
- Si haces ping a una dirección IP de Google, ¿aparecerá la MAC de los servidores de Google en tu tabla ARP local?
Haz clic aquí para ver las soluciones y explicaciones
1. Si un PC desea enviar datos a un servidor web en Internet (por ejemplo, 8.8.8.8), ¿de qué dispositivo buscará la dirección MAC en su tabla ARP local?
Buscará la dirección MAC de su puerta de enlace predeterminada (Default Gateway / Router local). Dado que las direcciones MAC solo tienen alcance local y no cruzan los routers, el PC necesita encapsular el paquete en una trama Ethernet dirigida a la MAC del router para que este lo enrute hacia el exterior.
2. ¿Por qué se considera que el protocolo ARP es inherentemente inseguro frente a ataques de suplantación de identidad en la red local?
Porque ARP no incluye ninguna autenticación ni verificación de identidad. Los equipos aceptan respuestas ARP (ARP Replies) no solicitadas y actualizan su tabla local con cualquier información recibida. Esto permite a un atacante enviar ARP Poisoning/Spoofing y asociar su MAC con la IP del router para interceptar todo el tráfico de la víctima.
3. ¿Qué función cumple la caché o tabla ARP en los sistemas operativos y qué ocurriría si las entradas nunca caducaran?
La caché almacena temporalmente los mapeos IP → MAC para evitar enviar una petición en broadcast por cada paquete transmitido, optimizando el ancho de banda. Si las entradas no caducaran, un cambio de tarjeta de red, la sustitución de un router o la reasignación de una IP por DHCP provocaría un fallo permanente de comunicación, ya que el equipo intentaría enviar tramas a una MAC obsoleta.
4. ¿Qué ocurre si dos dispositivos en la misma red local responden a una misma solicitud ARP indicando distintas direcciones MAC para la misma dirección IP?
Se produce un conflicto de red (habitualmente provocado por una IP duplicada o un ataque de ARP Spoofing). El equipo emisor sobrescribirá su tabla ARP con la última respuesta recibida, lo que causará inestabilidad en las conexiones, pérdida aleatoria de paquetes o la redirección del tráfico hacia un equipo no deseado.
5. ¿Por qué el protocolo IPv6 prescindió del uso de ARP y cómo resuelve las direcciones físicas de capa de enlace?
IPv6 eliminó ARP para deshacerse del tráfico innecesario en broadcast masivo que afectaba al rendimiento de todos los equipos. En su lugar utiliza el protocolo NDP (Neighbor Discovery Protocol) a través de mensajes ICMPv6 enviados mediante grupos de multicast de nodo solicitado, alcanzando únicamente a los hosts potencialmente interesados.
6. ¿Qué sucede si un equipo responde a una petición ARP con una MAC falsa?
Se produce una vulnerabilidad de seguridad conocida como ARP Spoofing (o envenenamiento ARP). El equipo atacante engaña a las demás víctimas asociando su propia dirección MAC con la dirección IP del Gateway (o de otro host legítimo). Como resultado, todo el tráfico de red dirigido a esa IP es enviado erróneamente al atacante, permitiendo interceptar datos confidenciales, realizar ataques de intermediario (Man-in-the-Middle) o denegación de servicio (DoS).
7. ¿Por qué el Router también necesita tener una tabla ARP?
Porque el router opera principalmente en la Capa 3 (Red), pero para poder entregar físicamente un paquete IP a través de una red de Área Local (Ethernet en Capa 2), necesita encapsularlo en una trama que incluya obligatoriamente la dirección MAC de destino. Si el siguiente salto está en la misma subred local, el router consulta su propia tabla ARP para asociar esa IP con su correspondiente MAC física.
8. Si haces ping a una dirección IP de Google, ¿aparecerá la MAC de los servidores de Google en tu tabla ARP local?
No. El protocolo ARP funciona exclusivamente a nivel de enlace local (dentro de la misma red física o subred). Como los servidores de Google se encuentran en una red externa e Internet, tu ordenador nunca se comunica directamente con la MAC de Google; en su lugar, tu equipo descubre y almacena en su tabla ARP únicamente la dirección MAC de su propia puerta de enlace predeterminada (el router), que es el encargado de rutear el paquete hacia el exterior.