ARP | |
---|---|
Nombre | protocolo de resolucion de DIRECCION |
Nivel (según el modelo OSI ) | canalizado |
Familia | TCP/IP |
Creado en | mil novecientos ochenta y dos |
Puerto/ID | 0x0806/ Ethernet |
Propósito del protocolo | Conversión de direcciones de red en direcciones de canal |
Especificación | RFC 826 |
Implementaciones principales (clientes) | implementaciones de la pila TCP/IP en Microsoft Windows , Linux y BSD |
Implementaciones principales ( servidores ) | implementaciones de la pila TCP/IP en Windows , Linux y BSD |
Archivos multimedia en Wikimedia Commons |
ARP ( Eng. Address Resolution Protocol - protocolo de determinación de direcciones) es un protocolo en redes informáticas diseñado para determinar la dirección MAC de otra computadora mediante una dirección IP conocida .
La descripción del protocolo se publicó en noviembre de 1982 en RFC 826 . ARP fue diseñado para transmitir paquetes IP a través de paquetes Ethernet (tramas). El principio de averiguar la dirección de hardware del host de destino, utilizado en ARP, se utilizó luego en otros tipos de redes.
ARP se ha generalizado debido a la ubicuidad de las redes IP construidas sobre Ethernet, ya que casi siempre usan ARP. ARP no existe en la familia de protocolos IPv6 , sus funciones están asignadas a ICMPv6 .
Considere la esencia del funcionamiento de ARP en un ejemplo simple. La computadora A (dirección IP 10.0.0.1) y la computadora B (dirección IP 10.22.22.2) están conectadas por una red Ethernet . La computadora A quiere enviar un paquete de datos a la computadora B, la dirección IP de la computadora B es conocida por ella. Sin embargo, la red Ethernet a la que están conectados no funciona con direcciones IP. Por lo tanto, la computadora A necesita conocer la dirección de la computadora B en la red Ethernet ( la dirección MAC en términos de Ethernet) para poder transmitir a través de Ethernet. Para esta tarea se utiliza el protocolo ARP. Bajo este protocolo, la computadora A envía una solicitud de transmisión dirigida a todas las computadoras en el mismo dominio de transmisión . La esencia de la solicitud: "computadora con dirección IP 10.22.22.2, dígale su dirección MAC a la computadora con dirección MAC (por ejemplo, a0:ea:d1:11:f1:01)". La red Ethernet entrega esta solicitud a todos los dispositivos en el mismo segmento Ethernet, incluida la computadora B. La computadora B responde a la computadora A con la solicitud e informa su dirección MAC (p. ej., 00:ea:d1:11:f1:11) Ahora, Habiendo recibido la dirección MAC de la computadora B, la computadora A puede enviarle cualquier dato a través de la red Ethernet.
Existen los siguientes tipos de mensajes ARP: solicitud ARP (solicitud ARP ) y respuesta ARP (respuesta ARP ). El sistema de envío, utilizando una solicitud ARP, solicita la dirección de hardware del sistema receptor, que viene dentro de la respuesta ARP.
Antes de pasar un paquete de capa de red a través de un segmento de Ethernet, la pila de red verifica el caché ARP para ver si la información del nodo de destino requerida ya está registrada en su tabla. Si no existe tal entrada en la memoria caché ARP, se realiza una solicitud de difusión ARP. Esta solicitud de dispositivos en la red tiene el siguiente significado: "¿Alguien sabe la dirección física del dispositivo con tal o cual dirección IP?" Cuando un host con esta dirección IP recibe un paquete de solicitud de este tipo, debe responder: "Sí, esta es mi dirección IP y mi dirección de hardware es tal y tal". Después de eso, el remitente de la solicitud almacenará la dirección de hardware del destinatario en su caché ARP y podrá dirigir la información al destinatario.
A continuación se muestra un ejemplo de una solicitud y respuesta de ARP. < ver en la parte inferior de la página>
Las entradas en la caché ARP pueden ser estáticas o dinámicas. El ejemplo anterior describe una entrada de memoria caché dinámica. También puede crear entradas estáticas en la tabla. En la mayoría de los sistemas operativos, esto se puede hacer con el comando:
arp -s <IP-адрес> <MAC-адрес>En Windows Server 2003, las entradas de la tabla ARP creadas dinámicamente permanecen en la memoria caché durante 2 minutos. Si durante estos dos minutos hubo una retransmisión de datos a esta dirección, el tiempo de almacenamiento de la entrada en el caché se extiende por otros 2 minutos. Este procedimiento se puede repetir varias veces, pero la entrada máxima en el caché durará hasta 10 minutos. Después de eso, la entrada se eliminará del caché y, si es necesario, se enviará una nueva solicitud ARP [1] .
En los sistemas operativos más nuevos, el tiempo de retención de las entradas en la tabla ARP y el método de almacenamiento se pueden seleccionar mediante programación y se pueden cambiar si se desea.
ARP se desarrolló originalmente no solo para IP, este protocolo también se puede usar para averiguar direcciones MAC en varias direcciones de protocolos de capa 3 . ARP también se ha adaptado para obtener otras direcciones de capa 2 (hardware) del modelo OSI ( direcciones de capa 2 ).
Los protocolos InARP y ATM ARP se utilizan en varias encapsulaciones de IP sobre ATM descritas en RFC 1577 ( Classical IP and ARP over ATM ) [2] .
Actualmente, ARP se usa principalmente para hacer coincidir las direcciones IP y MAC en las redes ethernet.
Inverse Address Resolution Protocol , Inverse ARP o InARP es un protocolo para obtener direcciones de capa de red (por ejemplo , direcciones IP ) de otras estaciones de trabajo por sus direcciones de capa de enlace (por ejemplo, DLCI en redes Frame Relay ). InARP se usa comúnmente en redes Frame Relay y ATM .
Comparación de ARP e InARPARP traduce las direcciones de la capa de red en direcciones de la capa de enlace, mientras que InARP puede verse como su inversa. InARP se implementa como una extensión de ARP. Los formatos de paquete de estos protocolos son los mismos, solo difieren los códigos de operación y los campos a completar.
El Protocolo de resolución de dirección inversa, ARP inversa o RARP , como InARP , traduce las direcciones de la capa de enlace en direcciones de la capa de red. Pero RARP se utiliza para obtener las direcciones lógicas de las propias estaciones emisoras, mientras que en el protocolo InARP el emisor conoce sus propias direcciones y solicita la dirección lógica de otra estación. Se abandonó RARP en favor de BOOTP , que a su vez fue reemplazado por DHCP .
La traducción de direcciones se realiza consultando la tabla de correspondencia entre las direcciones IP y MAC. Esta tabla, llamada tabla ARP, se almacena en la memoria del sistema operativo y contiene entradas para cada host conocido. Las dos columnas contienen las direcciones IP y Ethernet (MAC). Si desea convertir una dirección IP en una MAC, la tabla ARP busca una entrada con la dirección IP correspondiente.
223.1.2.1 | 08:00:39:00:2F:C3 |
223.1.2.3 | 08:00:5A:21:A7:22 |
223.1.2.4 | 08:00:10:99:AC:54 |
La estructura de paquetes utilizada en las solicitudes y respuestas ARP se ilustra a continuación. En redes Ethernet , estos paquetes usan EtherType 0x0806 y las solicitudes se envían a la dirección MAC de transmisión : FF:FF:FF:FF:FF:FF. Tenga en cuenta que en la estructura del paquete que se muestra a continuación, las palabras de 32 bits se usan convencionalmente como SHA, SPA, THA y TPA ; la longitud real está determinada por el dispositivo físico y el protocolo.
|
Si un host con dirección IPv4 10.10.10.123 y dirección MAC 00:0D:9D:86:59:E2 desea enviar un paquete a otro host con dirección 10.10.10.140 pero no conoce su dirección MAC, debe enviar un ARP solicitud para resolver la dirección.
El paquete que se muestra a continuación representa una solicitud de transmisión. Si el host con IP 10.10.10.140 está presente en la red y es accesible, recibe esta solicitud ARP y devuelve una respuesta.
|
En la situación descrita anteriormente, si el nodo con la dirección 10.10.10.140 tiene una dirección MAC de 00:09:58:D8:33:AA, devolverá el paquete que se ilustra a continuación. Tenga en cuenta que los bloques de dirección del remitente y el destinatario ahora han cambiado de valor (el remitente de la respuesta ahora es el destinatario de la solicitud; el destinatario de la respuesta es el remitente de la solicitud). Además, la respuesta tiene una dirección MAC de host de 10.10.10.140 en el campo de dirección física de origen (SHA) y el campo THA no está vacío (respuesta de unidifusión).
Cualquier host en la misma red que el remitente y el receptor también recibirá la solicitud (porque es una transmisión) y, por lo tanto, agregará información sobre el remitente a su caché. La respuesta ARP se dirige solo al origen de la solicitud ARP, por lo que la respuesta ARP no está disponible para otros hosts en la red.
|
La eficacia de ARP depende en gran medida de la caché ARP (caché ARP ) que está disponible en cada host. El caché contiene una tabla de correspondencia entre las direcciones MAC e IP compiladas por el sistema operativo.
La vida útil de una entrada de caché se deja a discreción del desarrollador. El valor predeterminado puede ser desde decenas de segundos (por ejemplo, 20 segundos) hasta cuatro horas ( Cisco IOS ). [3]
ARP se puede utilizar para detectar conflictos de direcciones IP en una red local. RFC 5227 define un formato de solicitud de sonda ARP con un campo SPA de ceros (dirección IP 0.0.0.0). Antes de asignar una dirección IP a una interfaz, un host PUEDE verificar que otro host no esté utilizando la dirección en el segmento LAN.
Un anuncio ARP es un paquete (generalmente una solicitud ARP [4] ) que contiene el SHA y SPA correctos del host emisor, con un TPA igual a SPA. Esta no es una solicitud de permiso, sino una solicitud para actualizar el caché ARP de otros hosts que reciben el paquete.
La mayoría de los sistemas operativos envían un paquete de este tipo cuando un host se conecta, lo que ayuda a evitar una serie de problemas. Por ejemplo, al cambiar la tarjeta de red (cuando es necesario actualizar la asociación entre las direcciones IP y MAC), dicha solicitud corregirá las entradas en el caché ARP de otros hosts en la red.
Las alertas ARP también se utilizan para "proteger" las direcciones IP en el protocolo Zeroconf , descrito en RFC 3927 .
Un caso especial de una solicitud ARP es una solicitud de dirección IP propia, se denomina " ARP Gratuito " (solicitud ARP voluntaria) [5] .
En dicha solicitud, las direcciones IP del remitente y del destinatario son las mismas.
El ARP gratuito se utiliza con dos propósitos [5] :
Protocolos TCP /IP básicos por capas del modelo OSI | |
---|---|
Físico | |
canalizado | |
la red | |
Transporte | |
sesión | |
Representación | |
Aplicado | |
Otro aplicado | |
Lista de puertos TCP y UDP |