martes, 7 de junio de 2016

Protocolo ARP


Protocolo de resolución de direcciones (ARP, Address Resolution Protocol)


El Protocolo de resolución de direcciones (ARP, Address Resolution Protocol) es un estándar TCP/IP necesario que está definido en RFC 826, "Address Resolution Protocol (ARP)" (Protocolo de resolución de direcciones (ARP)). ARP resuelve direcciones IP que utiliza el software basado en TCP/IP para las direcciones de control de acceso a medios empleados por el hardware de LAN. ARP proporciona los siguientes servicios de protocolo a hosts que se encuentran en la misma red física:



  • Las direcciones de control de acceso a medios se obtienen mediante una solicitud de difusión de red en forma de la pregunta "¿Cuál es la dirección de control de acceso a medios de un dispositivo configurado con la dirección IP adjunta?"



  • Cuando se responde a una solicitud ARP, el remitente de la respuesta ARP y el solicitante de ARP original registran sus direcciones IP y de control de acceso a medios respectivos como una entrada en una tabla local, llamada la caché de ARP, para su uso posterior como referencia.


Con otras palabras, ARP es un protocolo de comunicaciones de la capa de red, responsable de encontrar la dirección de hardware (Ethernet MAC) que corresponde a una determinada dirección IP. Para ello se envía un paquete (ARP request) a la dirección de difusión de la red (broadcast, MAC) que contiene la dirección IP por la que se pregunta, y se espera a que esa máquina (u otra) responda (ARP reply) con la dirección Ethernet que le corresponde. Cada máquina mantiene una caché con las direcciones traducidas para reducir el retardo y la carga. ARP permite a la dirección de Internet ser independiente de la dirección Ethernet, cabe destacar que esto se utiliza si todas los host lo soportan.

El protocolo de resolución de direcciones inverso (en inglés Reverse Address Resolution Protocol, RARP) es un protocolo de comunicaciones utilizado para resolver la dirección IP de una dirección hardware dada (como una dirección Ethernet).


En Ethernet, la capa de enlace trabaja con direcciones físicas. El protocolo ARP se encarga de traducir las direcciones IP adirecciones MAC (direcciones físicas). Para realizar esta conversión, el nivel de enlace utiliza las tablas ARP, cada interfaz tiene tanto una dirección IP como una dirección física MAC.


ARP se utiliza en cuatro casos referentes a la comunicación entre dos hosts:

  1. Cuando dos hosts están en la misma red y uno quiere enviar un paquete a otro.
  2. Cuando dos hosts están sobre redes diferentes y deben usar un Gateway o Reuter para alcanzar otro host.
  3. Cuando un router necesita enviar un paquete a un host a través de otro router.
  4. Cuando un router necesita enviar un paquete a un host de la misma red.

La siguiente ilustración muestra cómo resuelve ARP las direcciones IP en direcciones de hardware de hosts que se encuentran en la misma red local.



En este ejemplo, dos hosts TCP/IP, los hosts A y B, se encuentran en la misma red física. El host A tiene asignada la dirección IP 10.0.0.99 y el host B la dirección IP 10.0.0.100. Cuando el host A intenta comunicarse con el host B, los siguientes pasos permiten resolver la dirección asignada por el software al host B (10.0.0.100) en la dirección de control de acceso a medios asignada por el hardware al host B:


  • Según el contenido de la tabla de enrutamiento del host A, IP determina que la dirección IP de reenvío que se va a utilizar para llegar al host B es 10.0.0.100. Después, el host A busca en su propia caché de ARP local una dirección de hardware coincidente para el host B.
  • Si el host A no encuentra ninguna asignación en la caché, difunde una trama de solicitud ARP a todos los hosts de la red local con la pregunta "¿Cuál es la dirección de hardware para 10.0.0.100?" Las direcciones de hardware y software del origen, el host A, se incluyen en la solicitud ARP.
  • Cada host de la red local recibe la solicitud ARP y comprueba si coincide con su propia dirección IP. Si el host no encuentra una coincidencia, descarta la solicitud ARP.
  • El host B determina que la dirección IP especificada en la solicitud ARP coincide con su propia dirección IP y agrega una asignación de direcciones de hardware y software para el host A a su caché de ARP local.
  • El host B envía directamente un mensaje de respuesta de ARP que contiene su dirección de hardware al host A.
  • Cuando el host A recibe el mensaje de respuesta de ARP del host B, actualiza su caché de ARP con una asignación de direcciones de hardware y software para el host B.



ARP también se utiliza para reenviar datagramas IP a enrutadores locales de destinos que no se encuentran en la red local. En estos casos, ARP resuelve la dirección de control de acceso a medios de la interfaz de un enrutador en la red local.

En la siguiente ilustración se muestra cómo resuelve ARP las direcciones IP en direcciones de hardware de dos hosts que se encuentran en redes físicas diferentes conectadas por un enrutador común.



En este ejemplo, el host A tiene asignada la dirección IP 10.0.0.99 y el host B la dirección IP 192.168.0.99. La interfaz del enrutador 1 se encuentra en la misma red física que el host A y utiliza la dirección IP 10.0.0.1. La interfaz del enrutador 2 se encuentra en la misma red física que el host B y utiliza la dirección IP 192.168.0.1. Cuando el host A intenta comunicarse con el host B, los siguientes pasos permiten resolver la dirección asignada por el software a la interfaz del enrutador 1 en la dirección de control de acceso a medios asignada por el hardware:
  • Según el contenido de la tabla de enrutamiento del host A, IP determina que la dirección IP de reenvío que se va a utilizar para llegar al host B es 10.0.0.1, la dirección IP de la puerta de enlace predeterminada. Después, el host A busca en su propia caché de ARP local una dirección de hardware coincidente para 10.0.0.1.
  • Si el host A no encuentra ninguna asignación en la caché, difunde una trama de solicitud ARP a todos los hosts de la red local con la pregunta "¿Cuál es la dirección de hardware para 10.0.0.1?" Las direcciones de hardware y software del origen, el host A, se incluyen en la solicitud ARP.
  • Cada host de la red local recibe la solicitud ARP y comprueba si coincide con su propia dirección IP. Si el host no encuentra una coincidencia, descarta la solicitud ARP.
  • El enrutador determina que la dirección IP especificada en la solicitud ARP coincide con su propia dirección IP y agrega una asignación de direcciones de hardware y software para el host A a su caché de ARP local.
  • Después, el enrutador envía directamente un mensaje de respuesta de ARP que contiene su dirección de hardware al host A.
  • Cuando el host A recibe el mensaje de respuesta de ARP del enrutador, actualiza su caché de ARP con una asignación de direcciones de hardware y software para 10.0.0.1.



La caché de ARP



Para disminuir el número de difusiones, ARP mantiene una caché de asignaciones de direcciones de control de acceso a direcciones de medios de IP para su uso posterior. La caché de ARP puede incluir entradas dinámicas y estáticas. Las entradas dinámicas se agregan y se quitan automáticamente a lo largo del tiempo. Las entradas estáticas permanecen en la caché hasta que se reinicia el equipo.


Las entradas dinámicas de la caché de ARP tienen un tiempo de vida posible de 10 minutos. Las nuevas entradas agregadas a la caché se marcan con la fecha y hora. Si una entrada no se vuelve a utilizar antes de 2 minutos desde que se agregó, caduca y se elimina de la caché de ARP. Si se utiliza una entrada, recibe dos minutos más de tiempo de vida. Si se sigue utilizando una entrada, recibe otros dos minutos más hasta un tiempo de vida máximo de 10 minutos.



ARP Proxy
La técnica ARP Proxy consiste en que un host, generalmente un router, responde a peticiones ARP destinadas a un host que se encuentra fuera de la red local. Por fingir su identidad, el router es responsable de encaminar el paquete hacia su destino real. La técnica ARP Proxy permite a los hosts de una subred alcanzar subredes remotas sin la necesidad de configurar el enrutamiento o la puerta de enlace predeterminada.

Usos ARP Proxy

Uno de los usos de la técnica ARP Proxy es cuando en una implementación más antigua de IPv4, no puede deducir si el host destino se encuentra en la misma red lógica que el host de origen. En estos casos, el ARP envía solicitudes de ARP para la dirección IPv4 de destino. También, si en la interfaz del router se desactiva el Proxy ARP, entonces los hosts no podrán comunicarse fuera de la red local. Entre otros usos.


Ventajas

La principal ventaja del uso de la técnica ARP Proxy es que se puede agregar a un solo enrutador en la red, esto permite que no se distorsione las tablas de encaminamiento de los otros enrutadores de la red. Es recomendable que el ARP Proxy sea utilizado en redes donde los hosts IP no se encuentren configurados con ninguna puerta de enlace predeterminada.


Desventajas

ARP tiene las desventajas siguientes:



  • Aumenta la cantidad de tráfico ARP en su segmento.
  • Posee grandes tablas ARP para manejar la asignación de dirección IP a MAC.
  • La seguridad puede ser expuesta. Un host puede simular ser otro host con el fin de interceptar los paquetes, esto es llamado “spoofing”.
  • No funciona para redes que no utilicen el protocolo ARP para la resolución de direcciones.




Fuentes:

https://msdn.microsoft.com/es-es/library/cc758357(v=ws.10).aspx

https://en.wikipedia.org/wiki/Address_Resolution_Protocol


No hay comentarios:

Publicar un comentario