Inicio Atrás Adelante

El protocolo ARP

El protocolo ARP es el encargado de realizar la resolución automática del mapeado entre direcciones MAC.

Cuando efectuamos la transmisión de un paquete entre dos estaciones locales de una misma LAN, lo hacemos indicando en la aplicación correspondiente sólo la dirección IP. Por ejemplo, si desde 147.83.153.103 queremos conectarnos a 147.83.153.100, haremos:

$ telnet 147.83.153.100

Pero ¿cómo sabe el sistema la dirección física de destino de las tramas a donde tienen que ir los paquetes IP que genera la aplicación Telnet? Mediante una tabla que mapea las direcciones de un nivel (IP) con las del otro (MAC). Esta tabla se llama memoria caché ARP.

Ejemplo
Como en el caso de la tabla de encaminamiento, lo explicaremos mediante un ejemplo:

Tabla memoria caché ARP

 

Dirección IP

Dirección MAC

Interfaz

1

147.83.153.103

08:00:00:10:97:00

ether0

2

147.83.153.5

00:0c:aa:00:0f:e0

ether0

Por medio de la única interfaz del sistema, se conoce el mapeado MAC-IP de la misma tarjeta de red (entrada 1) y el de otra máquina (entrada 2). Si bien esta tabla se puede modificar de forma manual (con el pedido arp), lo más normal es que estas entradas aparezcan de manera automática, por obra del protocolo ARP.


Contenido complementario

El protocolo ARP entra en funcionamiento en el momento en que el nivel necesita transmitir un paquete IP destinado a una dirección IP cuyo mapeado MAC se desconoce. En el ejemplo de conexión anterior (telnet), y utilizando también la memoria caché ARP que hemos mostrado, antes de que el protocolo telnet envíe un solo paquete, el sistema necesita averiguar la dirección MAC. Dentro de la memoria caché ARP no hay esta entrada; por lo tanto, hay que actualizarla.

El protocolo ARP se basa en dos únicos paquetes que van encapsulados directamente sobre tramas Ethernet (tipo Ethernet: 0x0806):

  • La petición ARP: transporta la dirección IP cuya dirección MAC se quiere conocer. Puesto que precisamente no se conoce su dirección MAC, la trama debe llevar como dirección de destino la dirección broadcast (FF:FF:FF:FF:FF:FF). Todas las estaciones locales de la LAN procesan estas tramas, pero sólo la poseedora de la dirección IP pedida debe contestar. Con el fin de minimizar los accesos a la LAN, el receptor de la petición ARP también actualiza su memoria caché (si le hace falta) con el mapeado @IP - @MAC del originador de la petición.
  • La respuesta ARP: comunica la dirección MAC a quien la ha pedido (es el paquete respuesta del anterior). De hecho, el formato es casi irrelevante, porque lo único interesante es la trama MAC y, en particular, su dirección de origen.
Bibliografía sugerida

Actividad

La tabla ARP se llama memoria caché porque, de hecho, actúa como una memoria auxiliar que evita la consulta de la información en la LAN mientras se tenga una copia local de ella. Podría parecer que la consulta ARP no tendría que ser muy frecuente, ya que al cabo de cierto tiempo toda la información se encontraría en la memoria caché. El hecho es, sin embargo, que las entradas caducan al cabo de un periodo de tiempo relativamente breve (entre uno y unos cuantos minutos, según el sistema).

Algunos usos alternativos de interés del protocolo ARP son los siguientes:

  • ARP innecesario (gratuitous-ARP): cuando una estación arranca, le permite saber si hay alguna otra estación que está utilizando su misma dirección IP. Mediante una petición ARP, puede preguntar quién tiene su dirección IP (un conflicto de este tipo podría dejar las dos estaciones "fuera de combate").
  • ARP subsidiario (proxy-ARP): se utiliza en situaciones en las cuales un encaminador divide una subred sin que las estaciones ni el encaminador que los conecta a Internet modifiquen su máscara. Esta técnica, aun no siendo muy ortodoxa, se aplica frecuentemente cuando el encaminador de una red privada se conecta a Internet mediante una red ajena (un proveedor de Internet, por ejemplo).
Actividad
Actividad
Arriba