El protocolo arp y su finalidad. protocolo arp

Por la publicación del artículo original, así como a todos los que sumaron karma por la posibilidad de mi propia publicación. Ahora una versión actualizada teniendo en cuenta deseos y adiciones. Bienvenido al gato.

Buenos días, queridos habrausers. Con este artículo quiero comenzar una serie de historias sobre protocolos que nos ayudan a intercambiar información de forma transparente, rápida y confiable. Y comience con el protocolo ARP.

Como sabe, las direcciones en Internet son una secuencia de 32 bits de 0 y 1, denominadas direcciones IP. Pero la comunicación directa entre dos dispositivos en la red se lleva a cabo mediante direcciones de nivel de enlace (direcciones MAC).

Entonces, para determinar la correspondencia entre la dirección lógica de la capa de red (IP) y la dirección física del dispositivo (MAC), se utiliza el protocolo ARP (Protocolo de resolución de direcciones) descrito en RFC 826.

ARP consta de dos partes. El primero determina la dirección física al enviar un paquete, el segundo responde a solicitudes de otras estaciones.

El protocolo dispone de una memoria buffer (tabla ARP) en la que se almacenan pares de direcciones (dirección IP, dirección MAC) para reducir el número de solicitudes enviadas, ahorrando así tráfico y recursos.

Un ejemplo de una tabla ARP.

192.168.1.1 08:10:29:00:2F:C3
192.168.1.2 08:30:39:00:2F:C4

A la izquierda están las direcciones IP, a la derecha están las direcciones MAC.

Antes de conectarse a uno de los dispositivos, el protocolo IP comprueba si hay una entrada para el dispositivo correspondiente en su tabla ARP. Si existe tal entrada, entonces la conexión y la transmisión de paquetes se producen directamente. De lo contrario, se envía una solicitud de transmisión ARP para averiguar qué dispositivo posee la dirección IP. Una vez identificado, el dispositivo responde con su dirección MAC y se ingresa la entrada correspondiente en la tabla ARP del remitente.

Hay dos tipos de entradas de la tabla ARP: estáticas y dinámicas. Los estáticos los agrega el propio usuario, mientras que los dinámicos se crean y eliminan automáticamente. En este caso, la tabla ARP siempre almacena la dirección física de transmisión FF:FF:FF:FF:FF:FF (en Linux y Windows).

Crear una entrada en la tabla ARP es simple (a través de la línea de comando):

arpe –s

Mostrar entradas de la tabla ARP:

arpía –a

Después de agregar una entrada a la tabla, se le asigna un temporizador. Además, si la entrada no se utiliza durante los primeros 2 minutos, se elimina, y si se utiliza, su vida útil se amplía otros 2 minutos, con un máximo de 10 minutos para Windows y Linux (FreeBSD - 20 minutos, Cisco IOS - 4 horas), después de lo cual se realiza una nueva solicitud ARP de transmisión.

Los mensajes ARP no tienen un formato de encabezado fijo y se encapsulan en un campo de datos de capa de enlace cuando se transmiten a través de una red.

Formato de mensaje ARP.

  • tipo de red (16 bits): para Ethernet – 1;
  • tipo de protocolo (16 bits): h0800 para IP;
  • longitud de la dirección de hardware (8 bits);
  • longitud de la dirección de red (8 bits);
  • tipo de operación (16 bits): 1 – solicitud, 2 – respuesta;
  • dirección de hardware del remitente (longitud variable);
  • dirección de red del remitente (longitud variable);
  • dirección de hardware del destinatario (longitud variable);
  • dirección de red del destinatario (longitud variable).

Y así es como se determina una ruta utilizando el protocolo ARP.

Deje que el remitente A y el destinatario B tengan sus propias direcciones indicando la máscara de subred.

  1. Si las direcciones están en la misma subred, se llama a ARP y se determina la dirección física de destino, después de lo cual el paquete IP se encapsula en una trama de capa de enlace y se envía a la dirección física especificada correspondiente a la dirección IP de destino.
  2. Si no, la mesa comienza a escanear en busca de una ruta directa.
  3. Si se encuentra una ruta, se llama a ARP y se determina la dirección física del enrutador correspondiente, después de lo cual el paquete se encapsula en una trama de capa de enlace y se envía a la dirección física especificada.
  4. De lo contrario, se llama a ARP y se determina la dirección física predeterminada del enrutador, después de lo cual el paquete se encapsula en una trama de capa de enlace y se envía a la dirección física especificada.

La principal ventaja del protocolo ARP es su simplicidad, de la que también surge su principal desventaja: la inseguridad absoluta, ya que el protocolo no verifica la autenticidad de los paquetes y, como resultado, es posible reemplazar las entradas en la tabla ARP. (material para un artículo separado) por acuñamiento entre remitente y destinatario.

Puede combatir este inconveniente ingresando entradas manualmente en la tabla ARP, lo que agrega una gran cantidad de trabajo de rutina tanto al formar la tabla como a su posterior mantenimiento durante la modificación de la red.

También existen los protocolos InARP (ARP inverso), que realiza la función inversa: se busca en el destinatario lógico una dirección física determinada, y RARP (ARP inverso), que es similar a InARP, solo que busca la dirección lógica del remitente. .

En general, el protocolo ARP es universal para cualquier red, pero se utiliza únicamente en redes IP y de difusión (Ethernet, WiFi, WiMax, etc.), por ser las más extendidas, lo que lo hace indispensable a la hora de buscar coincidencias entre direcciones lógicas y físicas. .

PD Escribí este artículo yo mismo, sin mirar a ningún lado, basándome únicamente en mis conocimientos adquiridos durante el estudio de las redes.

El protocolo ARP funciona de manera diferente según el protocolo de capa de enlace que se ejecuta en una red determinada: un protocolo de red de área local (Ethernet, Token Ring, FDDI) con la capacidad de transmitir acceso simultáneamente a todos los nodos de la red, o un protocolo de red de área amplia ( X.25, Frame Relay), por regla general, no admite el acceso de transmisión.

En las redes locales, ARP utiliza tramas de transmisión de protocolo de capa de enlace para buscar en la red un host con una dirección IP determinada.

Principio de funcionamiento:

    Un nodo que necesita asignar una dirección IP a una dirección local genera una solicitud ARP, la inserta en una trama de protocolo de capa de enlace, indicando una dirección IP conocida en ella y transmite la solicitud.

    Todos los hosts de la red local reciben una solicitud ARP y comparan la dirección IP allí especificada con la suya.

    Si coinciden, el nodo genera una respuesta ARP, en la que indica su dirección IP y su dirección local y la envía ya dirigida, ya que en la solicitud ARP el remitente indica su dirección local.

Tabla Arp para traducción de direcciones.

La traducción de direcciones se realiza buscando en la tabla. Esta tabla, llamada tabla ARP, se almacena en la memoria y contiene filas para cada host de la red.

Las tablas ARP se construyen de acuerdo con RFC-1213 y para cada dirección IP contienen cuatro códigos:

    ifindex - Puerto físico (interfaz) correspondiente a esta dirección;

    Dirección física - dirección MAC, por ejemplo dirección Ethernet;

    dirección IP - dirección IP correspondiente a la dirección física;

    tipo de coincidencia de dirección - este campo puede tomar 4 valores: 1 - la opción no es estándar y no encaja en ninguno de los tipos descritos a continuación; 2 - esta entrada ya no es cierta; 3 - encuadernación permanente;

4 - encuadernación dinámica;

Señales de la tabla para tecnología Ethernet:

dirección ethernet

08:00:39:00:2F:C3

08:00:10:99:AC:5

Es habitual escribir todos los bytes de una dirección IP de 4 bytes como números decimales con puntos. Al escribir una dirección Ethernet de 6 bytes, cada byte se especifica en hexadecimal y está separado por dos puntos.

La tabla ARP es necesaria porque las direcciones IP y Ethernet se eligen de forma independiente y no existe ningún algoritmo para convertir una en otra.

La dirección IP la selecciona el administrador de la red. La dirección Ethernet la selecciona el fabricante del equipo de interfaz de red del espacio de direcciones asignado bajo la licencia. Cuando se reemplaza la tarjeta adaptadora de red de una máquina, su dirección Ethernet también cambia.

Caché de arp.

    La eficacia de ARP depende en gran medida de la memoria caché ARP presente en cada host.

    La vida útil estándar de cada entrada de caché es de 20 minutos desde el momento en que se crea la entrada.

Orden de traducción de direcciones

Durante el funcionamiento normal, un programa de red como TELNET envía un mensaje de aplicación utilizando servicios de transporte TCP. El módulo TCP envía el mensaje de transporte correspondiente a través del módulo IP. El resultado es un paquete IP que debe enviarse al controlador Ethernet. La dirección IP de destino es conocida por el programa de aplicación, el módulo TCP y el módulo IP. En base a esto, necesita encontrar la dirección Ethernet del destino. Se utiliza una tabla ARP para determinar la dirección Ethernet deseada.

¿Cómo se llena la tabla ARP? El módulo ARP lo completa automáticamente según sea necesario. Cuando una tabla ARP existente no logra resolver una dirección IP, ocurre lo siguiente:

    Una solicitud ARP se transmite a través de la red.

    El paquete IP saliente está en cola.

Cada adaptador de red recibe transmisiones. Todos los controladores Ethernet verifican el campo de tipo en la trama Ethernet recibida y reenvían paquetes ARP al módulo ARP. Una solicitud ARP se puede interpretar de la siguiente manera: "Si su dirección IP coincide con la que aparece, dígame su dirección Ethernet". El paquete de solicitud ARP se parece a esto:

Ejemplo de solicitud ARP

Cada módulo ARP verifica el campo de dirección IP buscado en el paquete ARP recibido y, si la dirección coincide con su propia dirección IP, envía una respuesta directamente a la dirección Ethernet del solicitante. La respuesta ARP se puede interpretar de la siguiente manera: "Sí, esta es mi dirección IP y tal o cual dirección Ethernet le corresponde". El paquete de respuesta ARP se parece a esto:

Ejemplo de respuesta ARP

Esta respuesta la recibe la máquina que realizó la solicitud ARP. El controlador de esta máquina verifica el campo de tipo en la trama Ethernet y pasa el paquete ARP al módulo ARP. El módulo ARP analiza el paquete ARP y agrega una entrada a su tabla ARP.

La tabla actualizada se ve así:

Calificación: 4.86 Votos: 7 Comentarios: 10

Empecemos con la teoría...

¿Qué es ARP y por qué lo necesitamos?

ARP(“Protocolo de resolución de direcciones”: protocolo de determinación de direcciones) es un protocolo de bajo nivel utilizado en redes informáticas, diseñado para determinar la dirección de la capa de enlace a partir de una dirección de capa de red conocida. Este protocolo se ha generalizado más debido a la ubicuidad de las redes IP construidas sobre Ethernet, ya que en casi el 100% de los casos se utiliza ARP con esta combinación.

El protocolo ARP funciona con direcciones MAC. Cada tarjeta de red tiene su propia dirección MAC individual.

dirección MAC (“Control de acceso a medios” - control de acceso a medios) es un identificador único asociado con diferentes tipos de equipos de redes informáticas. La mayoría de los protocolos de red de capa de enlace utilizan uno de los tres espacios de direcciones MAC administrados por IEEE: MAC-48, EUI-48 y EUI-64. En teoría, las direcciones en cada espacio deberían ser globalmente únicas. No todos los protocolos utilizan direcciones MAC y no todos los protocolos que utilizan direcciones MAC necesitan que estas direcciones sean tan únicas.

Fig.1. Ruta a la tabla ARP.

Fig.2. tabla ARP.

En la Figura 2 vemos la tabla ARP. Contiene tres entradas, se agregan automáticamente y tienen la siguiente estructura. Dirección IP– esta es, de hecho, la dirección IP de la computadora de la red, Dirección MAC– esta es la dirección mac de la misma computadora, y interfaz, que indica en qué interfaz se encuentra esta computadora. Tenga en cuenta que todas las entradas tienen una letra D al lado. Esto significa que esta entrada es dinámica y se modificará si cambia algún dato. Es decir, si el usuario ingresa accidentalmente una dirección IP incorrecta, la entrada en la tabla ARP simplemente cambiará y nada más. Pero esto no nos conviene. Necesitamos asegurarnos contra tales casos. Para hacer esto, se agregan entradas estáticas a la tabla ARP. ¿Cómo hacer esto? Hay dos maneras.

Fig.3. Agregamos un registro estático de la primera manera.

Método uno. Como de costumbre, presione el signo más rojo. En la ventana que aparece, ingrese la dirección IP, la dirección MAC y seleccione la interfaz detrás de la cual se encuentra esta computadora.

Fig.4. Agregamos un registro estático de la segunda forma.

Método dos. Seleccione la entrada deseada, haga doble clic con el botón izquierdo del mouse y, en la ventana que aparece, presione el botón hacer estadística. Se agregó entrada estática.

Fig.5. Tabla con registros estáticos.

Como puede ver en la Figura 5, no hay ninguna letra D frente a la entrada agregada. Esto indica que la entrada es estática.

Ahora, si el usuario ingresa accidentalmente una dirección que no es la suya, Mikrotik, después de verificar la correspondencia de las direcciones IP y MAC en la tabla ARP y no encontrar la entrada requerida, no permitirá que el usuario acceda a Internet, lo que provocará el usuario crea que puede haberse equivocado y deberá llamar al administrador.

¿Qué más me gustaría? llama tu atención e: estas entradas se utilizan para los paquetes que pasan a través del enrutador.

Enrutador o enrutador- un dispositivo de red que toma decisiones sobre el reenvío de paquetes de capa de red (capa 3 del modelo OSI) entre diferentes segmentos de red basándose en información sobre la topología de la red y ciertas reglas.

Si desea que las reglas se apliquen al Bridge, debe habilitar la función Usar firewall IP en Bridge (Fig. 6).

Puente es una forma de conectar dos segmentos de Ethernet a nivel de enlace de datos, es decir sin utilizar protocolos de nivel superior como IP. Los paquetes se transmiten en función de direcciones Ethernet en lugar de direcciones IP (como en un enrutador). Debido a que la transmisión se produce en la capa de enlace de datos (OSI Capa 2), todos los protocolos de nivel superior pasan de forma transparente a través del puente.

Fig.6. Habilitando la función Usar Firewall IP.

Evgeniy Rudchenko

La utilidad de línea de comandos ARP.EXE está presente en todas las versiones de Windows y tiene la misma sintaxis. Diseñado para ver y cambiar entradas en la caché ARP (Protocolo de resolución de direcciones), que es una tabla de correspondencia entre direcciones IP y direcciones de hardware de dispositivos de red. Una dirección de hardware es una dirección única de 6 bytes asignada de fábrica para un dispositivo de red, como una tarjeta de red. Esta dirección también suele denominarse dirección MAC (control de acceso a medios) o dirección Ethernet. En las redes Ethernet, los datos transmitidos y recibidos siempre contienen la dirección MAC de origen (Source MAC) y la dirección MAC de destino (Destination MAC).

Los dos bits más significativos de la dirección de hardware se utilizan para identificar el tipo:

El primer bit es una dirección única (0) o de grupo (1).

El segundo bit es un signo de una dirección universal (0) o administrada localmente (1).

Los siguientes 22 bits de la dirección contienen un código especial del fabricante, denominado M.F.G. o OUI- código universal de la organización.

Así, en las redes Ethernet, cualquier dispositivo de red tiene una dirección de hardware que consta de dos partes, cuyo significado depende del fabricante del equipo y de la instancia específica del dispositivo. La parte superior de la dirección MAC se asigna de forma centralizada bajo licencia a cada fabricante de equipos de red. Por ejemplo, 00:E0:4C - para dispositivos de red REALTEK SEMICONDUCTOR CORP. Los grandes fabricantes de equipos de red suelen poseer varias gamas OUI. La parte inferior de la dirección MAC se forma durante la producción del dispositivo de red y es única para cada instancia.

La asignación de direcciones IP (generadas por software) a direcciones de hardware se realiza mediante los siguientes pasos:

Se envía una solicitud de transmisión (solicitud ARP) a la red y todos los dispositivos de la red la aceptan. Contiene las direcciones IP y Ethernet de origen, así como la dirección IP de destino para la cual se determina la dirección MAC.

Cada dispositivo que recibe la solicitud comprueba si la dirección IP de destino especificada en la solicitud coincide con su propia dirección IP. Si hay una coincidencia, se envía al remitente una respuesta ARP, que contiene las direcciones IP y MAC del nodo que responde. La trama de respuesta ARP contiene las direcciones IP y MAC tanto del remitente como del destinatario de la solicitud.

La información recibida en la respuesta ARP se almacena en la caché ARP y se puede utilizar para comunicaciones IP para ese host. La caché ARP es una tabla en la RAM, cada entrada contiene IP, MAC y su vigencia (desde varios segundos hasta varias horas). La antigüedad de la entrada se tiene en cuenta para garantizar que el procedimiento ARP pueda volver a ejecutarse si hay algún cambio en la asignación de direcciones.

Formato de línea de comando ARP:

ARP -s inet_addr eth_addr

ARP -d inet_addr

ARP -a [-N if_addr] [-v]

Opciones de línea de comando ARP:

-a-Muestra las entradas ARP actuales consultando los datos del protocolo actual. Si se especifica el parámetro inet_addr, luego se mostrarán las direcciones IP y físicas solo para la computadora especificada. Si se utilizan ARP en más de una interfaz de red, se mostrarán las entradas de cada tabla.

-gramo- igual que el parámetro -a.

-v- muestra las entradas ARP actuales en modo de registro detallado. Se mostrarán todas las entradas no válidas y las entradas en la interfaz de comentarios.

inet_addr- determina la dirección IP.

-N si_dirección- muestra entradas ARP para el especificado if_addr interfaz de red.

-d- elimina el nodo especificado inet_addr. Parámetro inet_addr puede contener comodines * para eliminar todos los nodos.

-s- agrega un nodo y vincula una dirección de Internet inet_addr con dirección física eth_addr. La dirección física se especifica mediante 6 bytes (en hexadecimal), separados por un guión. Esta conexión es permanente.

eth_addr- define la dirección física.

if_addr- si se especifica, especifica la dirección de la interfaz de Internet cuya tabla de traducción de direcciones se va a cambiar. Si no se especifica el parámetro, se utilizará la primera interfaz disponible.

En las redes IP, existen tres formas de enviar paquetes desde un origen a un destino:

Transmisión unidifusión ( Unidifusión);

Transmisión ( Transmisión);

En la transmisión de unidifusión, el flujo de datos se transfiere desde el nodo emisor a la dirección IP individual del nodo receptor.

La transmisión implica entregar un flujo de datos desde un nodo de origen a múltiples nodos destinatarios conectados a un segmento de red local determinado mediante una dirección IP de transmisión.

La multidifusión entrega un flujo de datos a un grupo de nodos en la dirección IP del grupo de multidifusión. Los nodos del grupo pueden estar ubicados en esta red local o en cualquier otra. Los nodos para la distribución de multidifusión se combinan en grupos utilizando el protocolo. IGMP(Protocolo de gestión de grupos de Internet, Protocolo de gestión de grupos de Internet). Los paquetes que contienen una dirección de grupo en el campo del encabezado de destino llegarán a los nodos del grupo y serán procesados. La fuente de tráfico de multidifusión dirige los paquetes de multidifusión no a las direcciones IP individuales de cada uno de los nodos destinatarios, sino a la dirección IP de multidifusión.

Las direcciones de multidifusión definen un grupo arbitrario de nodos IP que se han unido a este grupo y desean recibir tráfico dirigido a él. La Autoridad de Números Asignados de Internet (IANA), que rige la asignación de direcciones de multidifusión, ha asignado direcciones IPv4 de Clase D en el rango 224.0.0.0 a 239.255.255.255 para multidifusión.

Ejemplos de uso ARP:

arp -a- mostrar una tabla de correspondencia entre las direcciones IP y MAC para esta computadora.

arp -a | más- Igual que en el caso anterior, pero con la información mostrada en modo página por página.

arp -a > macaddr.txt- mostrar una tabla de correspondencia entre las direcciones IP y MAC para una computadora determinada con los resultados enviados al archivo de texto macaddr.txt.

Ejemplo de contenido de la tabla ARP:

Interfaz: 127.0.0.1 --- 0x1

224.0.0.22 estático
224.0.0.251 estático
239.255.255.250 estático

Interfaz: 192.168.1.133 --- 0x1c

Dirección de Internet Tipo de dirección física

192.168.1.1 c8-2b-35-9a-a6-1e dinámico
192.168.1.132 00-11-92-b3-a8-0d dinámico
192.168.1.255             ff-ff-ff-ff-ff-ff              estático
224.0.0.22 01-00-5e-00-00-16 estático
224.0.0.251 01-00-5e-00-00-fb estático
224.0.0.252 01-00-5e-00-00-fc estático
239.255.255.250        01-00-5e-7f-ff-fa     estático

Este ejemplo contiene entradas ARP para la interfaz loopback. 127.0.0.1 y real 192.168.1.133 . La interfaz loopback no se utiliza para la transferencia de datos real y no está vinculada a una dirección de hardware. La tabla ARP de interfaz real contiene entradas para hosts con direcciones 192.168.1.1 Y 192.168.1.132 , así como entradas para transmisión (la dirección MAC es ff-ff-ff-ff-ff-ff) y multidifusión (la dirección MAC comienza con 01-00-5e). La dirección MAC de multidifusión siempre comienza con un prefijo de 24 bits: 01-00-5E. El siguiente bit, el 25, es 0. Los últimos 23 bits de la dirección MAC se forman a partir de los 23 bits menos significativos de la dirección IP de multidifusión.

arp -s 192.168.1.1 00-08-00-62-F6-19- agregue una entrada a la tabla ARP que coincida con la dirección IP 192.168.1.1 y la dirección física 00-08-00-62-F6-19

arp -d 192.168.1.1- eliminar una entrada de la tabla ARP para la dirección IP 192.168.1.1

arp -d 192.168.1.*- eliminar entradas de la tabla ARP para el rango de direcciones IP 192.168.1.1 - 192.168.1.254

Algunas notas sobre el uso práctico del comando ARP:

La resolución de direcciones ARP se realiza solo durante las operaciones. transferencias datos a través del protocolo IP.
- la vida útil de las entradas en la tabla ARP es limitada, por lo tanto, antes de ver su contenido para una dirección específica, debe hacer ping a esa dirección.
- si no llega una respuesta al ping y hay una entrada para una dirección IP determinada en la tabla ARP, entonces este hecho puede interpretarse como un bloqueo de los paquetes ICMP por parte del firewall del host al que se hace ping.
- la imposibilidad de conectarse a un host remoto a través de los protocolos TCP o UDP si hay entradas en la tabla ARP para la IP de destino, puede ser un signo de la ausencia de servicios que procesen las conexiones entrantes o su bloqueo por parte de un firewall (puertos cerrados) .
- El protocolo ARP funciona dentro del segmento de la red local. Por lo tanto, si hace ping a un host externo (por ejemplo, ping yandex.ru), la tabla ARP contendrá una entrada para la dirección IP del enrutador a través del cual se envía el paquete a la red externa.

Si la computadora se comunica con otro dispositivo similar en la misma red, se requiere una dirección física o MAC. Pero dado que la aplicación ha proporcionado la dirección IP del destinatario, necesita algún mecanismo para vincularla a la dirección MAC. Esto se hace utilizando el Protocolo de resolución de direcciones (ARP). Se transmite la dirección IP del host de destino y el host de destino transmite la fuente de su dirección MAC.

Esto significa que en todos los casos, cuando la máquina A intenta enviar paquetes de datos al dispositivo B, se ve obligada a enviar un paquete ARP para resolver la dirección MAC de B. En consecuencia, esto aumenta demasiado la carga de tráfico, por lo que para reducir los costos de comunicación. Las computadoras que usan protocolos ARP mantienen un caché de enlaces de direcciones IP_a_MAC adquiridas recientemente, es decir, no deben reutilizar este protocolo.

Aspecto moderno

Hoy en día, se utilizan varias mejoras al protocolo ARP y su propósito. Entonces, cuando la máquina A quiere enviar paquetes al dispositivo B, es posible que B envíe datos a A en breve. Por esta razón, para evitar ARP para la máquina B, A debe vincular la dirección IP_a_MAC cuando solicita la dirección MAC de B en un paquete especial.

Dado que A realiza su solicitud inicial de la dirección MAC de B, cada computadora en la red debe recuperar y almacenar en su caché el enlace de dirección IP_a_MAC de A. Cuando una nueva computadora ingresa a la red (por ejemplo, cuando se reinicia el sistema operativo), puede hacerlo. transmitir este enlace para que todas las demás máquinas puedan almacenarlo en sus cachés. Esto eliminará una gran cantidad de paquetes ARP de todas las demás máquinas cuando quieran comunicarse con el dispositivo agregado.

Variaciones del protocolo ARP

Considere un escenario en el que una computadora intenta hacer PING a una máquina remota cuando no se han intercambiado previamente datagramas IP entre los dispositivos y se debe enviar un paquete ARP para identificar la dirección MAC de la computadora remota.

El mensaje de solicitud del Protocolo de resolución de direcciones (que parece una llamada AAA a B.B.B.B - direcciones IP) se transmite en la red local utilizando el protocolo Ethernet tipo 0x806. El paquete es descartado por todas las máquinas excepto el destino, que responde con un mensaje de respuesta APR (AAAA - hh: hh: hh: hh: hh: hh donde hh: hh: hh: hh: hh: hh es la dirección de origen de Ethernet) . Esta respuesta se difunde por unidifusión a la máquina con la dirección IP B.B.B.B. Debido a que el mensaje de solicitud del protocolo APR incluía la dirección de hardware (es decir, la fuente Ethernet) de la computadora solicitante, el dispositivo de destino no necesita otro mensaje para comprenderlo.

Relación con otros protocolos

Una vez que comprenda para qué sirve ARP, debe considerar cómo interactúa con otros elementos de la red.

RARP es un protocolo mediante el cual una máquina física en una red local puede realizar una solicitud para averiguar su dirección IP a partir de la tabla de protocolos o del almacenamiento en caché del servidor de puerta de enlace. Esto es necesario porque el dispositivo no puede tener un disco instalado permanentemente donde pueda almacenar permanentemente su dirección IP. El administrador de red crea una tabla en el enrutador de la puerta de enlace LAN que asigna las direcciones físicas de la computadora (o control de acceso a medios - MAC) a las direcciones IP correspondientes. Cuando se configura una nueva máquina, su programa cliente RARP solicita al servidor RARP en el enrutador que le envíe su dirección IP. Suponiendo que se haya configurado una entrada en la tabla de enrutadores, este servidor RARP devolverá la IP a la computadora, que puede almacenarla para uso futuro. Por tanto, este es también un tipo de protocolo de determinación de direcciones.

Mecanismo en detalle

Tanto la máquina que emite la solicitud como el servidor que responde utilizan direcciones de red físicas durante su breve comunicación. Normalmente el ordenador solicitante no lo sabe. De esta forma, la solicitud se transmite a todas las máquinas de la red. El solicitante ahora debe identificarse de forma exclusiva ante el servidor. Para hacer esto, puede usar el número de serie del procesador o la dirección de red física del dispositivo. Al mismo tiempo, utilizar el segundo como identificador único tiene dos ventajas:

  • Estas direcciones siempre están disponibles y no están necesariamente asociadas con el código de arranque.
  • Dado que la información de identidad es específica de la red y no de la CPU, todas las máquinas en una red determinada proporcionarán identificadores únicos.

Al igual que un mensaje ARP, una solicitud RARP se envía de una computadora a otra, encapsulada en la porción de datos de una trama de red. La trama Ethernet que la contiene tiene el preámbulo habitual, las direcciones de origen y destino de Ethernet y los campos de tipo de paquete antes de la trama. La trama está codificada con un valor de 8035 para identificar su contenido como un mensaje RARP. La porción de datos de la trama incluye un mensaje de 28 octetos.

El remitente envía una solicitud RARP que se identifica como el solicitante y la máquina de destino, y pasa su dirección de red física al campo de dirección del hardware de destino. Todos los dispositivos de la red reciben la solicitud, pero solo aquellos autorizados para proporcionar RARP procesan la solicitud y envían una respuesta. Estas máquinas se conocen informalmente como servidores de este protocolo. Para implementar con éxito los protocolos ARP/RARP, la red debe contener al menos uno de estos servidores.

Responden a una solicitud completando el campo de dirección del protocolo de destino, cambiando el tipo de mensaje de solicitud a respuesta y enviando la respuesta directamente a la máquina que envía la solicitud.

Sincronización de transacciones RARP

Debido a que RARP utiliza directamente la red física, ningún otro software de protocolo necesita responder o retransmitir la solicitud. El software RARP debe realizar estas tareas. Algunas estaciones de trabajo que dependen de dicho protocolo para la descarga optan por reintentar indefinidamente hasta recibir una respuesta. Otras implementaciones declaran fallas después de varios intentos de evitar que la red se inunde con transmisiones innecesarias.

Ventajas de los Servidores RARP Múltiples: mayor confiabilidad.

Desventaja: puede ocurrir una sobrecarga cuando todos los servidores responden.

Por lo tanto, para evitar desventajas, puede utilizar un servidor primario y uno secundario. A cada computadora que solicita una solicitud RARP se le asigna un servidor primario. Por lo general, responde a todas las solicitudes, pero si falla, el solicitante puede agotar el tiempo y retransmitir la solicitud. Si el segundo servidor recibe una segunda copia de la solicitud poco tiempo después de la primera, responde. Pero todavía puede haber un problema en el que todos los servidores secundarios respondan de forma predeterminada, sobrecargando así la red. Entonces el problema es evitar enviar respuestas desde ambos servidores al mismo tiempo. Cada servidor secundario que recibe una solicitud calcula un retraso aleatorio y luego envía una respuesta.

Desventajas de RARP

Debido a que opera a bajo nivel, requiere direcciones directas en la red, lo que dificulta que las aplicaciones creen un servidor. No utiliza plenamente las capacidades de una red como Ethernet, que se utiliza para enviar un paquete mínimo. Debido a que la respuesta del servidor contiene solo una pequeña información, una dirección de Internet RARP de 32 bits se describe formalmente en RFC903.

protocolo ICMP

Este protocolo cifra el mecanismo que utilizan las puertas de enlace y los hosts para intercambiar información de control o error. El Protocolo de Internet proporciona un servicio confiable de datos sin conexión, el datagrama viaja de puerta de enlace en puerta de enlace hasta llegar a uno que pueda entregarlo directamente a su destino final.

Si una puerta de enlace no puede enrutar o entregar un datagrama, o si detecta una condición inusual, como una congestión de la red, que afecta su capacidad para reenviar el datagrama, debe indicar a la fuente original que tome medidas para evitar o corregir el problema.

Enlace

El Protocolo de control de protocolo de Internet permite que las puertas de enlace envíen mensajes de error o mensajes de control a otras puertas de enlace o hosts. ICMP proporciona comunicación entre el software de Protocolo de Internet entre computadoras. Este es el llamado mecanismo de mensajes de propósito especial agregado por los desarrolladores a los protocolos TCP/IP. Esto permite que las puertas de enlace de Internet informen errores o reenvíen información sobre circunstancias inesperadas.

El protocolo IP en sí no contiene nada que ayude a conectarse a las pruebas del remitente ni a conocer fallas. Los errores y las correcciones de errores se informan a través de ICMP únicamente a la fuente original. Debe asociar errores con programas de aplicación individuales y tomar medidas para corregir los problemas. Por lo tanto, proporciona una manera para que la puerta de enlace informe un error. Sin embargo, no define completamente las acciones que se deben tomar para corregir el problema.

ICMP está limitado debido a la fuente original, pero no a los mensajes ICMP intermedios. Se envían a través de Internet en la porción de datos de un datagrama IP, que a su vez viaja a través de la red. Por eso están estrechamente relacionados con el protocolo ARP. Los mensajes ICMP se enrutan exactamente como los datagramas que contienen información del usuario, sin ninguna confiabilidad ni prioridad adicional.

Existe una excepción para los procedimientos de manejo de errores cuando no se genera un datagrama IP que transporta mensajes ICMP para errores que surgen de datagramas que contienen mensajes de problemas.

Formato de mensaje ICMP

Contiene tres campos:

  • Un campo TIPO de número entero de 8 bits que identifica el mensaje;
  • Un campo CÓDIGO de 8 bits que proporciona información adicional sobre su tipo;
  • Campo CHECKSUM de 16 bits (ICMP utiliza el mismo algoritmo de suma de comprobación, que cubre sólo el mensaje del protocolo).

Además, los mensajes de error ICMP incluyen en todos los casos el encabezado y los 64 bits de datos iniciales del datagrama que causa el problema.

Solicitudes y respuestas

Los protocolos TCP/IP proporcionan un medio para ayudar a los administradores o usuarios de la red a identificar problemas de la red. Una de las herramientas de depuración más utilizadas es realizar llamadas de solicitud de eco ICMP y mensajes de respuesta de eco. Un host o puerta de enlace envía un mensaje a un destino específico.

Cualquier computadora que reciba la solicitud de eco crea una respuesta y la devuelve al remitente original. La solicitud incluye un alcance opcional de datos a enviar. La respuesta contiene una copia de los datos enviados en la solicitud. El ping y la respuesta asociados con él se pueden utilizar para probar la disponibilidad de un objetivo y una respuesta alcanzables.

Dado que tanto la solicitud como la respuesta se envían en datagramas IP, la recepción exitosa de la solicitud confirma que el sistema está funcionando correctamente. Para ello se deben cumplir las siguientes condiciones:

  • El software IP de origen debe enrutar el datagrama;
  • Las puertas de enlace intermedias de destino y origen deben estar ejecutándose y enrutar correctamente el datagrama;
  • La computadora de destino debe estar ejecutando y ejecutando software ICMP e IP;
  • Las rutas en las puertas de acceso en el viaje de regreso deben ser correctas.

¿Cómo funciona esto?

El funcionamiento de los protocolos ARP e ICMP está estrechamente relacionado. Siempre que un error impide que la puerta de enlace enrute o entregue un datagrama, envía un mensaje de destino inalcanzable al origen y luego descarta el datagrama. Los problemas de red incorregibles suelen implicar fallos en la transmisión de datos. Debido a que el mensaje incluye un prefijo corto del datagrama que causa el problema, la fuente sabe exactamente qué dirección es inalcanzable. Es posible que el destino no esté disponible porque el hardware está temporalmente inactivo, el remitente informó una dirección de destino que no existe o porque la puerta de enlace no tiene una ruta a la red de destino.

Aunque las puertas de enlace envían mensajes fallidos a sus destinos, si no pueden enrutar o entregar datagramas, es posible que no se detecten todos esos errores. Si un datagrama contiene un parámetro de ruta de origen con datos incorrectos, puede generar un mensaje de error de ruta de origen.




Arriba