Los Protocolos de resolución de direcciones (ARP) se ocupan de la forma en que se resuelven las direcciones IP locales entre los ordenadores de una red.
En su forma más simple, imagina que tienes un ordenador como un portátil y quieres comunicarte con tu frambuesa PI que está conectada como parte de tu conexión de banda ancha local.
Generalmente puede ver si el PI de Frambuesa está disponible en la red haciendo ping. Tan pronto como haga ping al PI de Frambuesa o intente cualquier otra conexión con el PI de Frambuesa, estará empezando a necesitar una resolución de dirección. Piensa en ello como una forma de apretón de manos.
El ARP compara la dirección y las máscaras de subred del host y el equipo de destino. Si estos coinciden, la dirección se ha resuelto efectivamente a la red local.
Entonces, ¿cómo funciona realmente este proceso?
Su computadora tendrá una caché ARP a la que se accede primero para intentar resolver la dirección.
Si la caché no contiene la información necesaria para resolver la dirección, se envía una solicitud a todos los equipos de la red.
Si una máquina en la red no tiene la dirección IP que se está buscando, entonces simplemente ignorará la solicitud, pero si la máquina tiene una coincidencia, agregará la información de la computadora que llama a su propia caché ARP. A continuación, enviará una respuesta al ordenador que realiza la llamada original.
Al recibir la confirmación de la dirección del ordenador de destino, se realiza la conexión y se puede procesar un ping u otra solicitud de red.
La información real que el ordenador de origen está buscando del ordenador de destino es su dirección MAC o como a veces se denomina la dirección HW.
Índice de contenidos
Un ejemplo práctico usando el comando ARP
Para que esto sea más fácil de entender, necesitará tener dos ordenadores conectados a su red.
Asegúrese de que ambos ordenadores estén encendidos y puedan conectarse a Internet.
Ahora abra una ventana de terminal usando Linux y escriba el siguiente comando:
arp
La información que se muestra es la información actualmente almacenada en la caché ARP de su ordenador.
Es posible que los resultados sólo muestren su máquina, que no vea nada en absoluto o que incluyan el nombre de la otra computadora si se ha conectado previamente a ella.
La información proporcionada por el comando arp es la siguiente:
- Dirección
- Tipo HW
- Dirección HW
- Banderas
- Máscara
- IFace
Si no tiene nada en pantalla, no se preocupe porque esto cambiará pronto. Si puede ver la otra computadora, es probable que vea que la dirección HW está configurada como «(incompleta)».
Necesita saber el nombre del ordenador al que se está conectando. En mi caso, me estoy conectando a mi frambuesa PI cero.
Dentro de la terminal ejecute el siguiente comando reemplazando las palabras frambuesapizero por el nombre del ordenador al que se está conectando.
ping frambuesapizero
>
Lo que ha ocurrido es que la computadora que está usando ha mirado en su caché ARP y se ha dado cuenta de que no tiene información o no tiene suficiente información sobre la máquina que está tratando de hacer ping. Por lo tanto, ha enviado una solicitud a través de la red preguntando a todas las demás máquinas de la red si son realmente el ordenador que está buscando.
Cada computadora en la red mirará la dirección IP y la máscara solicitada y todas, excepto la que tiene esa dirección IP, descartarán la solicitud.
La computadora que tiene la dirección IP solicitada y la máscara gritará, «¡Eh, ese soy yo! Esto se añadirá a la caché ARP del ordenador que realiza la llamada.
¿No me crees? Ejecute de nuevo el comando arp.
arp
Esta vez deberías ver el nombre de la computadora a la que has hecho el ping y también verás la dirección HW.
Mostrar las direcciones IP en lugar del nombre de host del equipo
Por defecto, el comando arp mostrará el nombre de host de los elementos dentro de la caché ARP, pero puede forzarlo a mostrar las direcciones IP utilizando el siguiente parámetro:
arp -n
Alternativamente, puede que desee utilizar el siguiente interruptor que mostrará la salida de una manera diferente:
arp -a
La salida del comando anterior será algo parecido a esto:
raspberrypi (172.16.15.254) a d4:ca:6d:0e:d6:19[éter] en wlp2s0>.
Esta vez se obtiene el nombre del ordenador, la dirección IP, la dirección HW, el tipo de HW y la red.
Cómo eliminar entradas de la caché del ARP
La caché ARP no conserva sus datos durante mucho tiempo, pero si tiene problemas para conectarse a un equipo específico y sospecha que se debe a que los datos de dirección guardados son incorrectos, puede eliminar una entrada de la caché de la siguiente manera.
Primero, ejecute el comando arp para obtener la dirección HW de la entrada que desea eliminar.
Ahora ejecute el siguiente comando:
arp -d HWADDR
Reemplace HWADDR con la dirección HW para la entrada que desea eliminar.
Resumen
El comando arp no es usado comúnmente por el usuario promedio de su computadora y sólo será relevante para la mayoría de las personas cuando se trate de resolver problemas de red.