Esta entrada de blog trata sobre el protocolo ARP, el cual se encarga de las comunicaciones de la capa de enlace de datos y es el responsable de encontrar la dirección MAC que corresponde a una determinada dirección IP.

 

¿Cómo se comunican los dispositivos a través de este protocolo?

Para que un dispositivo se pueda comunicar con otro es necesario que sepa cómo mínimo dos direcciones del destinatario, la dirección IP y la dirección física o MAC. La primera de ellas es conocida por el equipo emisor, pero para poder conocer la segunda es necesario realizar una petición ARP. Para ello el equipo emisor realiza lo siguiente:

Envía un paquete ARP de petición (ARP request) que incluye su dirección física e IP, y la IP del destinatario. Se envía a la dirección de difusión de la red (dirección MAC = FF: FF: FF: FF: FF: FF) que contiene la dirección IP por la que se pregunta, y se espera a que esa máquina responda (ARP reply) con la dirección MAC que tiene asignada, mediante una comunicación unicast con la máquina que le hizo la petición.

 

Eficiencia de ARP

El protocolo ARP puede ser ineficiente si se necesita hacer una petición ARP por cada paquete IP que se desea enviar. Por ello y dado que generalmente un sistema envía varios paquetes al mismo destino, se almacena la respuesta ARP en memoria caché durante unos 20 o 30 minutos (a no ser que se llene). De esta manera, antes de enviar una petición ARP, el sistema comprueba su caché para ver si ya existe una asociación entre el emisor y el receptor.

Podemos ver la tabla ARP (memoria caché) con el comando “arp –a”:

Protocolo ARP

 

Vulnerabilidad de ARP

El protocolo ARP puede presentar alguna vulnerabilidad, como es el caso del “ARP Spoofing”, el cual se define detalladamente a continuación:

Es posible engañar a un host dentro de la red diciéndole que la dirección MAC con quien se quiere comunicar sea un tercer host, produciéndose así una re-dirección del tráfico del host origen al host destino, en donde toda la información que salga del host origen pase por un tercer host, y éste a su vez vuelva a re-direccionar el tráfico hacia el host destino verdadero con el fin de funcionar transparentemente en la comunicación de ambos y observando todo lo que se dicen. Este tipo de ataque se conoce como “Hombre en medio” o “Man In The Middle”.

Una vez conseguimos “colocar” este tercer host entre dos hosts que se están comunicando, podremos monitorizar absolutamente todo el tráfico que circule entre origen y destino. En consecuencia podremos extraer cualquier tipo de información valiosa aplicando filtros determinados a los paquetes que el host malicioso va recibiendo del host origen. Claramente se observa aquí como se pone en tela de juicio la seguridad de toda la red en el momento en que un host ajeno es capaz de entrometerse en el tráfico de una comunicación supuestamente segura en una red conmutada.

 

Protocolo ARP

Protocolo ARP

 

RARP (Reverse Address Resolution Protocol)

Como curiosidad, hay que mencionar la existencia del RARP, el cual se define a continuación:

El protocolo de resolución de direcciones inverso es un protocolo de comunicaciones utilizado para resolver la dirección IP de una dirección MAC dada. El procedimiento es exactamente igual al de ARP,  solo que en este caso, en lugar de resolver direcciones lógicas (IPs), resuelve direcciones físicas (MAC).

 

Alberto Carretero Cruz

Alumno del curso: Cisco CCNA R&S

Centro: Tajamar

Año: 2015-2016