Address Resolution Protocol (ARP)

Especificación del RFC 826, Métodos de Transmisión y Mapeo de IP a MAC en Redes Locales

1. Fundamentos: Tipos de Comunicación en Red

Métodos de transmisión de un host en una red local:

2. ¿Qué es el Protocolo ARP?

El Address Resolution Protocol (ARP) permite asociar una dirección IP (Capa 3 / Lógica) con una dirección MAC (Capa 2 / Física) dentro de un mismo dominio de difusión Ethernet.

Resolución de direcciones ARP

3. Rol de la Tarjeta de Red (NIC) y Trama Ethernet

Las aplicaciones operan con direccionamiento IP, pero la entrega de marcos en la red local se realiza a través de las direcciones MAC procesadas por la NIC.

Estructura Básica de una Trama Ethernet II (Capa 2) Formato del mensaje que viaja a través de la red local Preámbulo Sincronización MAC Destino 6 Bytes MAC Origen 6 Bytes EtherType 2 Bytes Datos (Payload) 46 - 1500 Bytes (Paquete IP o Mensaje ARP) FCS (CRC) 4 Bytes Tipo de Protocolo Contenido (EtherType): 0x0806 = Mensaje ARP | 0x0800 = Paquete IPv4 • MAC Destino FF:FF:FF:FF:FF:FF Broadcast: Recibido y procesado por todos los nodos. • FCS (Frame Check Sequence) Verifica la integridad de la trama a nivel de enlace. • Filtro de Hardware La NIC solo eleva a la CPU tramas dirigidas a su propia MAC o Broadcast.

4. La Tabla Caché ARP

Los sistemas operativos almacenan dinámicamente las entradas IP-MAC aprendidas en la memoria RAM para optimizar el tráfico de red:

estructura_tabla_arp_cache.txt
+------------------+-------------------+---------------+------------+
| Dirección IP     | Dirección MAC      | Tipo          | Estado     |
+------------------+-------------------+---------------+------------+
| 192.168.1.1      | 00-11-22-33-44-55 | Estática      | Permanente |
| 192.168.1.20     | 00-11-22-AA-BB-CC | Dinámica      | Activa     |
| 192.168.1.30     | 3C-D9-2B-10-4F-A2 | Dinámica      | Activa     |
| 255.255.255.255  | FF-FF-FF-FF-FF-FF | Estática      | Permanente |
+------------------+-------------------+---------------+------------+

5. Proceso de Mapeo de Direcciones

  1. Consulta de Caché Local: El host origen busca la IP destino en su tabla ARP.
  2. Solicitud ARP (Broadcast): Si no existe el registro, envía un ARP Request con dirección MAC de destino FF:FF:FF:FF:FF:FF.
  3. Inundación por el Switch: El switch retransmite la trama por todos los puertos activos del dominio de colisión/VLAN.
  4. Filtrado e Identificación: Los hosts descartan la trama salvo el equipo que posee la IP solicitada.
  5. Respuesta ARP (Unicast): El host destino responde con un ARP Reply dirigido explícitamente a la MAC del emisor.
  6. Actualización de Caché y Transmisión: El origen actualiza su tabla ARP y conmuta el tráfico de datos por unicast.

6. Estructura del Mensaje ARP (RFC 826)

Formato del paquete de datos ARP (28 bytes sobre encabezado Ethernet):

arp_header_spec.txt
+-----------------------------------+-----------------------------------+
| Tipo Hardware: Ethernet (0x0001)  | Tipo Protocolo: IPv4 (0x0800)    |
+-----------------------------------+-----------------------------------+
| Tamaño MAC: 6 Bytes                | Tamaño IP: 4 Bytes                |
+-----------------------------------+-----------------------------------+
| Opcode: 1 (Request / Pregunta) / 2 (Reply / Respuesta)                 |
+-----------------------------------------------------------------------+
| MAC Emisor (SHA) - [6 Bytes]                                       |
+-----------------------------------------------------------------------+
| IP Emisor (SPA) - [4 Bytes]                                        |
+-----------------------------------------------------------------------+
| MAC Destino (THA) - [6 Bytes] (00:00:00:00:00:00 en Request)         |
+-----------------------------------------------------------------------+
| IP Destino (TPA) - [4 Bytes]                                       |
+-----------------------------------------------------------------------+

7. Variaciones del Protocolo ARP

8. Comandos de Diagnóstico

Windows (CMD / PowerShell)
# Mostrar tabla ARP
arp -a

# Borrar tabla ARP (Requiere privilegios de Administrador)
arp -d *
Linux / macOS
# Ver vecinos ARP
ip neighbor show

# Limpiar caché ARP
sudo ip neigh flush dev eth0

9. Seguridad: ARP Spoofing

Debido a la ausencia de autenticación en el RFC 826, un atacante puede enviar respuestas ARP no solicitadas para asociar su MAC a la IP del Gateway, facilitando ataques de tipo Man-In-The-Middle (MITM).

Nota: Implementación en IPv6

En IPv6 no existe el protocolo ARP ni las transmisiones por broadcast. Se utiliza en su lugar NDP (Neighbor Discovery Protocol) sobre mensajes Multicast ICMPv6.