stringtranslate.com

protocolo de resolucion de DIRECCION

El Protocolo de resolución de direcciones ( ARP ) es un protocolo de comunicación utilizado para descubrir la dirección de la capa de enlace , como una dirección MAC , asociada con una dirección de capa de Internet determinada , generalmente una dirección IPv4 . Este mapeo es una función crítica en el conjunto de protocolos de Internet . ARP fue definido en 1982 por RFC  826, [1] que es el estándar de Internet STD 37.

ARP se ha implementado con muchas combinaciones de tecnologías de capa de enlace de datos y red, como IPv4 , Chaosnet , DECnet y Xerox PARC Universal Packet (PUP) utilizando los estándares IEEE 802 , FDDI , X.25 , Frame Relay y Modo de transferencia asíncrono (ATM). .

En las redes del Protocolo de Internet versión 6 (IPv6), la funcionalidad de ARP la proporciona el Protocolo de descubrimiento de vecinos (NDP).

Alcance operativo

El Protocolo de resolución de direcciones es un protocolo de solicitud-respuesta . Sus mensajes están directamente encapsulados por un protocolo de capa de enlace. Se comunica dentro de los límites de una única subred y nunca se enruta .

Estructura del paquete

El Protocolo de resolución de direcciones utiliza un formato de mensaje simple que contiene una solicitud o respuesta de resolución de direcciones. Los paquetes se transportan en la capa de enlace de datos de la red subyacente como carga útil sin procesar. En el caso de Ethernet, se utiliza un valor EtherType 0x0806 para identificar tramas ARP.

El tamaño del mensaje ARP depende del tamaño de la dirección de la capa de enlace y de la capa de red. El encabezado del mensaje especifica los tipos de red en uso en cada capa, así como el tamaño de las direcciones de cada una. El encabezado del mensaje se completa con el código de operación de solicitud (1) y respuesta (2). La carga útil del paquete consta de cuatro direcciones, la dirección de hardware y de protocolo de los hosts del remitente y del receptor.

La estructura principal de los paquetes ARP se muestra en la siguiente tabla que ilustra el caso de redes IPv4 que se ejecutan en Ethernet. En este escenario, el paquete tiene campos de 48 bits para la dirección de hardware del remitente (SHA) y la dirección de hardware de destino (THA), y campos de 32 bits para las direcciones de protocolo de destino y de remitente correspondientes (SPA y TPA). El tamaño del paquete ARP en este caso es de 28 bytes.

Tipo de hardware (TIPO H)
Este campo especifica el tipo de protocolo de enlace de red. Ejemplo: Ethernet es 1. [2]
Tipo de protocolo (PTYPE)
Este campo especifica el protocolo de red para el cual está destinada la solicitud ARP. Para IPv4, esto tiene el valor 0x0800 . Los valores PTYPE permitidos comparten un espacio de numeración con los de EtherType . [2] [3]
Longitud del hardware (HLEN)
Longitud (en octetos ) de una dirección de hardware. La longitud de la dirección Ethernet es 6.
Longitud del protocolo (PLEN)
Longitud (en octetos) de las direcciones de internet. El protocolo de red se especifica en PTYPE. Ejemplo: la longitud de la dirección IPv4 es 4.
Operación
Especifica la operación que realiza el remitente: 1 para solicitud, 2 para respuesta.
Dirección de hardware del remitente (SHA)
Dirección de medios del remitente. En una solicitud ARP, este campo se utiliza para indicar la dirección del host que envía la solicitud. En una respuesta ARP, este campo se utiliza para indicar la dirección del host que buscaba la solicitud.
Dirección de protocolo del remitente (SPA)
Dirección de Internet del remitente.
Dirección de hardware de destino (THA)
Dirección de medios del receptor previsto. En una solicitud ARP, este campo se ignora. En una respuesta ARP, este campo se utiliza para indicar la dirección del host que originó la solicitud ARP.
Dirección de protocolo de destino (TPA)
Dirección de red del receptor previsto.

Los valores de los parámetros del protocolo ARP han sido estandarizados y son mantenidos por la Autoridad de Números Asignados de Internet (IANA). [2]

El EtherType para ARP es 0x0806 . Esto aparece en el encabezado de la trama Ethernet cuando la carga útil es un paquete ARP y no debe confundirse con PTYPE, que aparece dentro de este paquete ARP encapsulado.

capas

La ubicación de ARP dentro del conjunto de protocolos de Internet y el modelo OSI puede ser motivo de confusión o incluso de disputa. RFC  826 lo coloca en la capa de enlace y lo caracteriza como una herramienta para consultar sobre la "capa de nivel superior", como la capa de Internet. [4] RFC  1122 también analiza ARP en su sección de capa de enlace. [5] [6] Richard Stevens coloca ARP en la capa de enlace de datos de OSI [7] mientras que las ediciones más nuevas lo asocian con la capa de red o introducen una capa OSI intermedia 2.5. [8]

Ejemplo

Dos computadoras en una oficina ( Computadora 1 y Computadora 2 ) están conectadas entre sí en una red de área local mediante cables Ethernet y conmutadores de red , sin puertas de enlace ni enrutadores intermedios . La computadora 1 tiene un paquete para enviar a la computadora 2 . A través de DNS , determina que la Computadora 2 tiene la dirección IP 192.168.0.55 .

Para enviar el mensaje, también se requiere la dirección MAC de la Computadora 2 . Primero, la Computadora 1 usa una tabla ARP almacenada en caché para buscar en 192.168.0.55 cualquier registro existente de la dirección MAC de la Computadora 2 ( 00:EB:24:B2:05:AC ). Si se encuentra la dirección MAC, envía una trama Ethernet que contiene el paquete IP al enlace con la dirección de destino 00:EB:24:B2:05:AC . Si el caché no produjo un resultado para 192.168.0.55 , la Computadora 1 debe enviar un mensaje de solicitud ARP de transmisión (dirección MAC de destino FF:FF:FF:FF:FF:FF ), que es aceptado por todas las computadoras en la red local. , solicitando respuesta para 192.168.0.55 .

La computadora 2 responde con un mensaje de respuesta ARP que contiene sus direcciones MAC e IP. Como parte del procesamiento de la solicitud, la Computadora 2 puede insertar una entrada para la Computadora 1 en su tabla ARP para uso futuro.

La computadora 1 recibe y almacena en caché la información de respuesta en su tabla ARP y ahora puede enviar el paquete. [9]

sonda ARP

Una sonda ARP en IPv4 es una solicitud ARP construida con el SHA del host de sondeo, un SPA de todos 0, un THA de todos 0 y un TPA configurado en la dirección IPv4 que se está investigando. Si algún host en la red considera la dirección IPv4 (en el TPA) como propia, responderá al sondeo (a través del SHA del host sondeador) informando así al host sondeador del conflicto de direcciones. Si, por el contrario, no hay ningún host que considere propia la dirección IPv4, no habrá respuesta. Cuando se han enviado varias sondas de este tipo, con ligeros retrasos, y ninguna recibe respuesta, se puede esperar razonablemente que no exista ningún conflicto. Como el paquete de sonda original no contiene un par SHA/SPA válido ni un par THA/TPA válido, no existe riesgo de que ningún host utilice el paquete para actualizar su caché con datos problemáticos. Antes de comenzar a utilizar una dirección IPv4 (ya sea recibida mediante configuración manual, DHCP o algún otro medio), un host que implemente esta especificación debe probar para ver si la dirección ya está en uso, transmitiendo paquetes de sonda ARP. [10] [11]

anuncios ARP

ARP también se puede utilizar como protocolo de anuncio simple. Esto es útil para actualizar las asignaciones de una dirección de hardware de otros hosts cuando cambia la dirección IP o MAC del remitente. Un anuncio de este tipo, también denominado mensaje ARP gratuito (GARP), normalmente se transmite como una solicitud ARP que contiene el SPA en el campo de destino (TPA=SPA), con el THA establecido en cero. Una forma alternativa es transmitir una respuesta ARP con el SHA y SPA del remitente duplicados en los campos de destino (TPA=SPA, THA=SHA).

La solicitud ARP y los anuncios de respuesta ARP son métodos basados ​​en estándares, [12] [13] pero se prefiere el método de solicitud ARP . [14] Algunos dispositivos pueden configurarse para el uso de cualquiera de estos dos tipos de anuncios. [15]

Un anuncio ARP no pretende solicitar una respuesta; en su lugar, actualiza las entradas almacenadas en caché en las tablas ARP de otros hosts que reciben el paquete. El código de operación en el anuncio puede ser solicitud o respuesta; El estándar ARP especifica que el código de operación solo se procesa después de que la tabla ARP se haya actualizado desde los campos de dirección. [16] [17] [18]

Muchos sistemas operativos emiten un anuncio ARP durante el inicio. Esto ayuda a resolver problemas que de otro modo ocurrirían si, por ejemplo, se cambiara recientemente una tarjeta de red (cambiando la asignación de dirección IP a dirección MAC) y otros hosts todavía tuvieran la asignación anterior en sus cachés ARP.

Algunas interfaces de red también utilizan anuncios ARP para proporcionar equilibrio de carga para el tráfico entrante. En un equipo de tarjetas de red, se utiliza para anunciar una dirección MAC diferente dentro del equipo que debería recibir los paquetes entrantes.

Los anuncios ARP se pueden utilizar en el protocolo Zeroconf para permitir la asignación automática de una dirección de enlace local a una interfaz donde no hay otra configuración de dirección IP disponible. Los anuncios se utilizan para garantizar que una dirección elegida por un host no sea utilizada por otros hosts en el enlace de red. [19]

Esta función puede ser peligrosa desde el punto de vista de la ciberseguridad ya que un atacante puede obtener información sobre los otros hosts de su subred para guardar en su caché ARP ( ARP spoofing ) una entrada donde la MAC del atacante está asociada, por ejemplo, a la IP predeterminada . gateway , permitiéndoles así interceptar todo el tráfico hacia redes externas.

mediación ARP

La mediación ARP se refiere al proceso de resolución de direcciones de Capa 2 a través de un servicio de cable privado virtual (VPWS) cuando se utilizan diferentes protocolos de resolución en los circuitos conectados, por ejemplo, Ethernet en un extremo y Frame Relay en el otro. En IPv4 , cada dispositivo perimetral del proveedor (PE) descubre la dirección IP del dispositivo perimetral del cliente (CE) conectado localmente y distribuye esa dirección IP al dispositivo PE remoto correspondiente. Luego, cada dispositivo PE responde a las solicitudes ARP locales utilizando la dirección IP del dispositivo CE remoto y la dirección de hardware del dispositivo PE local. En IPv6 , cada dispositivo PE descubre la dirección IP de los dispositivos CE locales y remotos y luego intercepta los paquetes locales de descubrimiento de vecinos (ND) y de descubrimiento de vecinos inversos (IND) y los reenvía al dispositivo PE remoto. [20]

ARP inverso y ARP inverso

El protocolo de resolución de direcciones inversas ( ARP inverso o InARP ) se utiliza para obtener direcciones de capa de red (por ejemplo, direcciones IP ) de otros nodos a partir de direcciones de capa de enlace de datos (Capa 2). Dado que ARP traduce direcciones de capa 3 a direcciones de capa 2, InARP puede describirse como su inverso. Además, InARP se implementa como una extensión del protocolo ARP: utiliza el mismo formato de paquete que ARP, pero diferentes códigos de operación.

InARP se utiliza principalmente en redes Frame Relay ( DLCI ) y ATM, en las que las direcciones de capa 2 de circuitos virtuales a veces se obtienen a partir de la señalización de capa 2, y las direcciones de capa 3 correspondientes deben estar disponibles antes de que se puedan utilizar esos circuitos virtuales. [21]

El protocolo de resolución de direcciones inversas (ARP inverso o RARP), como InARP, traduce direcciones de capa 2 en direcciones de capa 3. Sin embargo, en InARP la estación solicitante consulta la dirección de capa 3 de otro nodo, mientras que RARP se utiliza para obtener la dirección de capa 3 de la propia estación solicitante para fines de configuración de direcciones. RARP está obsoleto; fue reemplazado por BOOTP , que luego fue reemplazado por el Protocolo de configuración dinámica de host (DHCP). [22]

Suplantación de ARP y ARP proxy

Un ataque de suplantación de identidad ARP exitoso permite a un atacante realizar un ataque de intermediario .

Debido a que ARP no proporciona métodos para autenticar las respuestas ARP en una red, las respuestas ARP pueden provenir de sistemas distintos del que tiene la dirección de Capa 2 requerida. Un proxy ARP es un sistema que responde a la solicitud ARP en nombre de otro sistema para el cual reenviará el tráfico, normalmente como parte del diseño de la red, como por ejemplo para un servicio de Internet por acceso telefónico. Por el contrario, en la suplantación de identidad ARP , el sistema de respuesta, o spoofer , responde a una solicitud de la dirección de otro sistema con el objetivo de interceptar datos destinados a ese sistema. Un usuario malintencionado puede utilizar la suplantación de ARP para realizar un ataque de intermediario o de denegación de servicio a otros usuarios de la red. Existen varios programas para detectar y realizar ataques de suplantación de identidad de ARP, aunque ARP en sí no proporciona ningún método de protección contra dichos ataques. [23]

Alternativas

IPv6 utiliza el protocolo Neighbor Discovery y sus extensiones, como Secure Neighbor Discovery , en lugar de ARP.

Las computadoras pueden mantener listas de direcciones conocidas, en lugar de utilizar un protocolo activo. En este modelo, cada computadora mantiene una base de datos de la asignación de direcciones de Capa 3 (por ejemplo, direcciones IP ) a direcciones de Capa 2 (por ejemplo, direcciones MAC Ethernet ). Estos datos se mantienen principalmente interpretando paquetes ARP desde el enlace de la red local. Por lo tanto, a menudo se le llama caché ARP . Al menos desde la década de 1980, [24] los ordenadores en red disponen de una utilidad llamada arp para consultar o manipular esta base de datos. [25] [26] [27]

Históricamente, se utilizaron otros métodos para mantener el mapeo entre direcciones, como archivos de configuración estáticos [28] o listas mantenidas centralmente.

relleno ARP

Los sistemas integrados, como cámaras en red [29] y dispositivos de distribución de energía en red, [30] que carecen de una interfaz de usuario, pueden utilizar el llamado relleno ARP para realizar una conexión de red inicial, aunque este es un nombre inapropiado, ya que ARP no está involucrado.

El relleno ARP se logra de la siguiente manera:

  1. La computadora del usuario tiene una dirección IP ingresada manualmente en su tabla de direcciones (normalmente con el comando arp con la dirección MAC tomada de una etiqueta en el dispositivo)
  2. La computadora envía paquetes especiales al dispositivo, generalmente un paquete de ping con un tamaño no predeterminado.
  3. El dispositivo adopta entonces esta dirección IP.
  4. Luego, el usuario se comunica con él mediante telnet o protocolos web para completar la configuración.

Estos dispositivos suelen tener un método para desactivar este proceso una vez que el dispositivo está funcionando normalmente, ya que esta capacidad puede hacerlo vulnerable a ataques.

Documentos de normas

Ver también

Referencias

  1. ^ David C. Plummer (noviembre de 1982). "RFC 826, un protocolo de resolución de direcciones Ethernet - o - conversión de direcciones de protocolo de red a direcciones Ethernet de 48 bits para transmisión en hardware Ethernet". Grupo de trabajo de ingeniería de Internet, grupo de trabajo de redes.
  2. ^ abc "Parámetros del Protocolo de resolución de direcciones (ARP)". www.iana.org . Consultado el 16 de octubre de 2018 .
  3. ^ RFC  5342
  4. ^ David C. Plummer (noviembre de 1982). Un protocolo de resolución de direcciones Ethernet. Grupo de Trabajo de Red. doi : 10.17487/RFC0826 . ETS 37. RFC 826. Estándar de Internet 37. seg. Monitoreo y depuración de redes. Actualizado por RFC 5227 y 5494.
  5. ^ R. Braden , ed. (octubre de 1989). Requisitos para servidores de Internet: capas de comunicación. Grupo de Trabajo de Red. doi : 10.17487/RFC1122 . ETS 3. RFC 1122. Estándar de Internet 3. Actualizado por RFC 1349, 4379, 5884, 6093, 6298, 6633, 6864, 8029 y 9293.
  6. ^ RFC  1122
  7. ^ W. Richard Stevens, TCP/IP ilustrado, volumen 1: Los protocolos , Addison Wesley, 1994, ISBN 0-201-63346-9.
  8. ^ W. Richard Stevens, TCP/IP ilustrado, volumen 1: Los protocolos , Addison Wesley, 2011, ISBN 0-321-33631-3, página 14
  9. ^ Chappell, Laura A.; Título, Ed (2007). Guía de TCP/IP (Tercera ed.). Tecnología del curso Thomson. págs. 115-116. ISBN 9781418837556.
  10. ^ Cheshire, S. (julio de 2008). Detección de conflictos de direcciones IPv4. Grupo de Trabajo de Ingeniería de Internet. doi : 10.17487/RFC5227 . RFC 5227.
  11. ^ Harmush, Ed. "Sonda ARP y anuncio ARP". Networking práctico . PracticalNetworking .net . Consultado el 3 de agosto de 2022 .
  12. ^ Perkins, C. (noviembre de 2010). "RFC 5944 - Soporte de movilidad IP para IPv4, revisado". Grupo de Trabajo de Ingeniería de Internet. Un ARP gratuito PUEDE utilizar un paquete de solicitud ARP o de respuesta ARP. [...] cualquier nodo que reciba cualquier paquete ARP (Solicitud o Respuesta) DEBE actualizar su caché ARP local con el protocolo del remitente y las direcciones de hardware en el paquete ARP [...]
  13. ^ Perkins, C. (octubre de 1996). "RFC 2002 - Soporte de movilidad IP". Grupo de Trabajo de Ingeniería de Internet.
  14. ^ Cheshire, S. (julio de 2008). "RFC 5227 - Detección de conflictos de direcciones IPv4". Grupo de Trabajo de Ingeniería de Internet. ¿Por qué los anuncios ARP se realizan utilizando paquetes de solicitud ARP y no paquetes de respuesta ARP?
  15. ^ "Preguntas frecuentes: el firewall no actualiza la tabla del protocolo de resolución de direcciones". Citrix . 2015-01-16. [...] garpReply habilitado [...] genera paquetes ARP que [...] son ​​de tipo OPCODE RESPUESTA, en lugar de SOLICITUD.
  16. ^ "Borrador ARP gratuito en DHCP frente a IPv4 ACD". Archivado desde el original el 12 de octubre de 2007.
  17. ^ Perkins, Charles E. (octubre de 1996). "RFC 2002 Sección 4.6".
  18. ^ Droms, Ralph (marzo de 1997). "RFC 2131 DHCP - Últimas líneas de la Sección 4.4.1".
  19. ^ RFC  3927
  20. ^ Shah, H.; et al. (Junio ​​2012). Mediación del protocolo de resolución de direcciones (ARP) para el interfuncionamiento IP de VPN de capa 2. Grupo de Trabajo de Ingeniería de Internet. doi : 10.17487/RFC6575 . RFC 6575.
  21. ^ T. Bradley; C. Marrón; A. Malis (septiembre de 1998). Protocolo de resolución de dirección inversa. Grupo de Trabajo de Red. doi : 10.17487/RFC2390 . RFC 2390. Proyecto de Norma. Obsoleto RFC 1293.
  22. ^ R. Finlayson; T. Mann; J. Mogul; M. Theimer (junio de 1984). Un protocolo de resolución de direcciones inversas. Grupo de Trabajo de Red. doi : 10.17487/RFC0903 . ETS 38. RFC 903. Estándar de Internet 38.
  23. ^ Steve Gibson (11 de diciembre de 2005). "Envenenamiento de la caché ARP". GRC .
  24. ^ Universidad de California, Berkeley. "Página del manual de BSD para el comando arp(8C)" . Consultado el 28 de septiembre de 2011 .
  25. ^ Canónico. "Página del manual de Ubuntu para el comando arp(8)". Archivado desde el original el 16 de marzo de 2012 . Consultado el 28 de septiembre de 2011 .
  26. ^ Computadora Apple. "Página del manual de Mac OS X para el comando arp(8)" . Consultado el 28 de septiembre de 2011 .
  27. ^ Microsoft. "Ayuda de Windows para el comando arp" . Consultado el 28 de septiembre de 2011 .
  28. ^ Microsistemas solares. "Página de manual de SunOS para el archivo ethers(5)" . Consultado el 28 de septiembre de 2011 .
  29. ^ Comunicación del eje. "Guía de instalación de la serie de cámaras de red Axis P13" (PDF) . Consultado el 28 de septiembre de 2011 .
  30. ^ Corporación Estadounidense de Energía. "Manual de instalación y inicio rápido de la unidad de distribución de energía en rack conmutada" (PDF) . Archivado desde el original (PDF) el 25 de noviembre de 2011 . Consultado el 28 de septiembre de 2011 .

enlaces externos