Tu ordenador tiene dos direcciones en Internet: una dirección física permanente o dirección de Control de Acceso al Medio (MAC) y una dirección lógica de Protocolo de Internet o dirección IP. Pero, dado que muchos ordenadores cambian constantemente de dirección IP, ¿cómo pueden las redes asociar varias IP a una única dirección MAC?

Introduce el ARP, conocido formalmente como Protocolo de Resolución de Direcciones.

El trabajo del ARP consiste en traducir entre la dirección MAC de un ordenador y la(s) dirección(es) IP — una función bastante útil para cualquier red. Sin embargo, a pesar de su utilidad, el ARP también puede presentar varios riesgos de seguridad, incluidos los que pueden interceptar datos potencialmente sensibles.

Pero, ¿cómo funciona todo esto?

En este artículo definiremos el ARP, lo compararemos con otros protocolos de red similares, exploraremos sus distintos tipos y casos de uso, y los riesgos de utilizarlo en tu red. Sigue leyendo para saber más sobre este protocolo de red tan común — y a veces arriesgado.

¿Qué Es el ARP?

El Protocolo de Resolución de Direcciones o ARP es una forma habitual de que las redes traduzcan entre (o resuelvan) la dirección IP de un ordenador y su dirección física de máquina.

Dado que estas dos direcciones difieren en longitud y formato, el ARP es esencial para permitir que los ordenadores y otros dispositivos se comuniquen a través de una red. Sin embargo, para entender realmente por qué es importante, vamos a hacer un rápido repaso de estos dos tipos de direcciones y cómo se relacionan con nuestros modelos de red cotidianos.

ARP enlaza las direcciones MAC e IP de un ordenador
ARP vincula las direcciones MAC e IP de un ordenador

Direcciones IP vs MAC

Tu ordenador, smartphone y otros dispositivos conectados tienen dos direcciones en Internet: una dirección IP y una dirección MAC.

Pero, ¿por qué tener dos direcciones distintas para un mismo dispositivo?

Imagina por un momento que tu ordenador es una autocaravana. Cuando la caravana sale de la línea de fabricación, puede tener un número de serie (o algún otro identificador único) que la separa de todas las demás casas móviles. En otras palabras, la casa móvil puede identificarse por su número de serie.

Una imagen que muestra los números de una caravana
Las autocaravanas tienen números de serie únicos

Supongamos ahora que aparcas la autocaravana en tu barrio. Dependiendo del solar en el que la hayas aparcado, la caravana tendrá una dirección —digamos «Kinsta Lane 27» Si tu caravana está aparcada en ese mismo solar, su dirección seguirá siendo  Kinsta Lane 27. Sin embargo, también podrías trasladarla a otra calle y darle una nueva dirección, como «Kinsta Lane 93»

Observa que al aparcar la autocaravana tienes dos formas de identificarla: el número de serie y la dirección. Aquí, la dirección indica a todo el mundo dónde se encuentra la autocaravana en relación con el resto del mundo, mientras que el número de serie la distingue de otras autocaravanas que puedan estar en el mismo terreno.

Las direcciones IP y MAC de tu ordenador sirven exactamente para lo mismo, solo que el barrio de nuestro ejemplo es ahora una red local.

Aquí, la dirección MAC de tu ordenador es su identificador físico único en una red, de forma muy parecida a como el número de serie de la autocaravana era su identificador físico único. Por ello, la dirección MAC suele denominarse dirección física o dirección de hardware. Al igual que el número de serie, no puedes cambiar la dirección MAC de tu ordenador.

Una dirección MAC impresa directamente en el hardware
Una dirección MAC impresa directamente en el hardware (Fuente: LearnTomato)

Mientras tanto, la dirección IP de tu ordenador es su «dirección postal» en la red. Cuando un ordenador se conecta a una red, se le asigna una dirección IP, igual que a una autocaravana se le asigna una dirección postal cuando está aparcada en un aparcamiento.

Sin embargo, si el ordenador se desconecta de la red, pierde la dirección IP, del mismo modo que si una autocaravana se traslada a otro lugar, pierde la dirección de la calle. Reconectarse a la red también equivale a aparcar la caravana en otro lugar, donde el ordenador recibirá una nueva dirección IP, igual que la caravana recibiría una nueva dirección postal.

Por supuesto, las direcciones IP y MAC siguen siendo muy diferentes de las direcciones de las calles y los números de serie.

Mientras que un empleado de correos puede entregar el correo a una autocaravana sin conocer su número de serie, el equivalente de Internet — el Protocolo de Internet o IP — necesita ambas direcciones para entregar el correo o los paquetes al ordenador correcto.

Principales diferencias entre las direcciones MAC e IP
Principales diferencias entre las direcciones MAC e IP (Fuente: TechTarget)

En resumen, las direcciones MAC y las direcciones IP identifican los dispositivos de una red de formas distintas. Aquí están algunas de las principales diferencias entre ambas:

  • Direcciones de capas diferentes. Las direcciones MAC e IP funcionan en capas distintas del Modelo de Interconexión de Sistemas Abiertos (OSI), que describe las distintas etapas por las que pasan los datos cuando se envían entre ordenadores. Aunque aquí no entraremos en demasiados detalles, las direcciones MAC funcionan en la capa de Enlace de Datos (o capa 2), que traduce directamente las señales eléctricas enviadas a través de un cable y los datos lógicos. Las direcciones IP funcionan una capa más arriba, en la capa de Red (o capa 3), que se encarga del direccionamiento y enrutamiento a través de la red, casi como escribir una dirección en un sobre.
  • Ámbito local frente a ámbito global. Las direcciones MAC se utilizan para identificar distintos dispositivos a escala «local», como distintos ordenadores que comparten una red en un edificio de oficinas. Las direcciones IP funcionan de forma más global, controlando cómo los dispositivos de Internet se localizan y comunican entre sí.
  • Diferentes formatos de dirección. Como las direcciones MAC e IP trabajan en capas distintas y hacen cosas distintas, también tienen formatos distintos. Una dirección MAC tiene un formato similar a un número de serie, de 12 dígitos agrupados en pares y separados por guiones o dos puntos (00:00:00:00:00:00:00), mientras que una dirección IPv4 típica es una dirección de 32 bits (bit significa dígito binario) agrupada en cuatro números decimales (000.000.000.0000). Aunque por ahora no necesitas conocer los detalles, ten en cuenta que asociar estos dos formatos de dirección es la función principal de ARP.
  • Las direcciones MAC son permanentes. Las direcciones MAC son asignadas a un dispositivo por el fabricante en cuanto se construye. Esta dirección está esencialmente «incrustada» en el hardware de red del dispositivo, lo que la hace permanente e inmutable, igual que el número de serie de nuestra autocaravana de antes. Las direcciones IP son temporales y se asignan cada vez que el dispositivo se conecta a una red. Como resultado, los dispositivos pueden asumir cualquier número de direcciones IP diferentes a lo largo de su vida.
  • Físico frente a lógico. Por extensión de lo anterior, una dirección MAC también se conoce como dirección física o dirección de hardware, mientras que las direcciones IP a veces (pero no tan comúnmente) se conocen como direcciones lógicas .
  • Se asignan en momentos diferentes. Como ya se ha dicho, las direcciones MAC se asignan una vez en el momento de la fabricación. Después, las direcciones IP se pueden asignar cualquier número de veces, tantas veces como el aparato se conecte a una red.

Entonces, ¿dónde entra en juego el ARP?

Puesto que cada ordenador tiene ambas direcciones, debe haber alguna forma de asociar una con la otra para que los paquetes lleguen al lugar correcto. Esto nos lleva a la función central del ARP: vincular la dirección MAC de un dispositivo a su dirección IP, siempre cambiante, y viceversa.

Veamos más detenidamente cómo funciona esto exactamente.

¿Cómo Funciona el ARP?

Ahora que hemos respondido «¿Qué es ARP?», entendamos cómo funciona. ARP mantiene una lista actualizada de direcciones MAC y sus direcciones IP asociadas. Esta lista suele mantenerla una pasarela o un router — es decir, cualquier conmutador de red responsable de gestionar el flujo de datos entre redes y dispositivos.

Para que esto tenga sentido, echemos un vistazo al siguiente diagrama.

Diagrama que muestra cómo funciona el ARP en una red Ethernet
ARP en una red Ethernet (Fuente: Fortinet)

Aquí, el ordenador «HOST» de la izquierda está intentando enviar algo al ordenador de la derecha con la dirección IP 34.40.21.20. Para enviar datos con éxito a este ordenador, el ordenador «HOST» necesita su dirección IP y su dirección MAC.

Afortunadamente, el ordenador HOST ya tiene la dirección IP del ordenador. Todo lo que necesita ahora es la dirección MAC del ordenador, que es donde entra en juego el ARP.

Los dispositivos conectados a la red y los conmutadores (en este caso, un router) mantienen una lista de traducciones conocidas de direcciones IP a MAC en sus sistemas operativos. Esta lista se conoce como caché ARP o tabla ARP, que requiere actualizaciones constantes para mantenerse al día con las direcciones IP en constante cambio.

Cuando un ordenador quiere enviar algo a una dirección IP concreta, primero comprueba su caché ARP para ver si tiene una dirección MAC que coincida. Si no la tiene, envía paquetes de solicitud de la dirección MAC.

Ilustremos este proceso utilizando los dos ordenadores del diagrama:

  1. El ordenador HOST comprueba su caché ARP para ver si ya conoce la dirección MAC de 34.40.21.20. Si es así, tiene todo lo que necesita y envía el mensaje.
  2. El ordenador HOST envía una solicitud de la dirección MAC de 34.40.21.20.
  3. El router recibe la solicitud de direcciones de red del ordenador HOST y utiliza el ARP para intentar localizar la dirección MAC.
  4. El ARP intentará hacer referencia a la caché ARP existente en el router y, si no encuentra la dirección MAC, envía una solicitud a 34.40.21.20.
  5. 34.40.21.20 envía su dirección MAC (A5:22:98:5C:24:93) de vuelta al router.
  6. El router actualiza su caché ARP y devuelve la dirección MAC de 34.40.21.20 al ordenador HOST, completando así la petición.
  7. El ordenador HOST envía algo a 34.40.21.20.

Aunque éste es sólo un ejemplo básico, debería darte una idea de la función principal del ARP.

Otra función básica del ARP es mantener (y purgar) las traducciones de IP a MAC en la caché ARP. Mantener la caché ARP relativamente limpia no solo es necesario para obtener la información más reciente; también ayuda a eliminar direcciones inexactas o no utilizadas. Como veremos más adelante, purgar las traducciones también es necesario para evitar que las direcciones IP caigan en malas manos.

Las entradas de una caché ARP también pueden ser dinámicas o estáticas. Las entradas dinámicas son las que se rellenan automáticamente de la forma que ya hemos descrito. Sin embargo, los usuarios también pueden especificar manualmente entradas estáticas que quieran mantener de forma permanente. Esto es útil para dispositivos de red persistentes con direcciones IP fijas (es decir, estáticas).

ARP vs DHCP vs DNS: ¿Cuál es la Diferencia?

Si estás mínimamente familiarizado con las redes, probablemente hayas oído hablar del Protocolo de Configuración Dinámica de Host (DHCP) y/o del Sistema de Nombres de Dominio (DNS). Si es así, puede que también te preguntes en qué se diferencia el ARP en redes de estos protocolos similares.

  • DHCP vs ARP: ARP existe en gran medida porque las direcciones IP siempre se están cambiando y reasignando en una red. El DHCP es el responsable de este cambio constante, ya que es el protocolo que configura una dirección IP dinámica para los hosts, de ahí el nombre de protocolo de configuración dinámica de host. DHCP también ayuda a evitar conflictos, como que varios ordenadores tengan asignada la misma dirección IP.
  • DNS vs ARP: Mientras que ARP asocia direcciones IP y MAC, DNS asocia direcciones IP y nombres de dominio (como «kinsta.com»). Todos los sitios web dependen del alojamiento web para alojar sus páginas web, imágenes y todo lo que las compone. Como cualquier otro dispositivo de red, los servidores de alojamiento web tienen una dirección IP. Sin embargo, gracias al DNS, no necesitas escribir la dirección IP de un servidor para acceder a un sitio web. En lugar de eso, basta con que escribas una URL como «www.ejemplo.com», y el servidor DNS obtendrá la dirección IP correspondiente para que tu navegador web pueda solicitar y servir las páginas web del alojamiento web.
DNS vincula un nombre de dominio a una dirección IP
El DNS vincula un nombre de dominio a una dirección IP (Fuente: GeeksforGeeks)

Usos y Tipos de ARP

Aunque el ARP pueda parecer un proceso grande y monolítico, puede implementarse de muchas formas diferentes.

Diagrama de los cuatro tipos principales de ARP
Los cuatro tipos principales de ARP (Fuente: IPXO)

A la hora de explicar qué es ARP, hay cuatro tipos especiales: ARP proxy, ARP gratuito, ARP inverso (RARP) y ARP inverso (IARP). Cada tipo presenta casos de uso diferentes y, en algunos casos, ventajas e inconvenientes distintos.

¿Qué Es Proxy ARP?

Un proxy ARP es aquel en el que un conmutador configurado para ARP (como un router) gestiona solicitudes ARP (es decir, solicitudes de direcciones MAC) de dispositivos/hosts fuera de su red inmediata. El conmutador envía su propia dirección MAC como respuesta, actuando como «representante» de cada host de su red.

Router como proxy ARP para peticiones a través de redes
Router como proxy ARP para solicitudes a través de redes (Fuente: Practical Networking)

Para aclararlo, veamos más de cerca el diagrama anterior. Aquí, el router verde del centro sirve a dos redes de área local distintas: 10.0.0.0/24 y 10.0.4.0/24.

Supongamos que el Host B quiere enviar un mensaje al Host D. Aunque eso no supondría ningún problema si el Host D estuviera en la misma red de área local (como el Host A), lamentablemente está en una red diferente. Como resultado, el Host B se encuentra en una situación complicada: ¿cómo puede obtener la dirección MAC del Host D?

Afortunadamente, el router acude al rescate. Cuando el Host B envía un mensaje de solicitud ARP al router, éste interviene y proporciona su propia dirección MAC como respuesta. Con la dirección MAC del router en la mano, el Host B envía su mensaje al router, que ahora actúa literalmente como «proxy» del Host B. A continuación, el router envía el mensaje del Host B al Host D, el destinatario previsto.

Como puedes imaginar, el ARP proxy es muy común en las redes informáticas, con usos típicos como las conexiones VPN y los cortafuegos.

Sin embargo, el ARP proxy tiene algunas desventajas, la mayoría de ellas derivadas de configuraciones inadecuadas. Una de estas desventajas es el mayor riesgo de enviar mensajes a lugares equivocados, ya que los dispositivos fuera de la red pueden no ser conscientes de las configuraciones inadecuadas cuando sólo tratan con un ARP proxy. Los ARP proxy también pueden servir como vectores para ataques de denegación de servicio (DoS), que exploraremos un poco más adelante.

¿Qué Es un ARP Gratuito?

Un ARP gratuito es una respuesta ARP que no se ha solicitado previamente. En otras palabras, el ARP gratuito es gratuito con el envío de respuestas ARP, difundiendo efectivamente su traducción IP a MAC a cada host/dispositivo de la red. Es casi como si alguien enviara un «correo masivo» para hacer saber a todo el mundo que ha actualizado su información de contacto.

Un host notifica a una red de una dirección MAC actualizada con un ARP gratuito
Un host notifica a una red una dirección MAC actualizada con un ARP gratuito (Fuente: IPCisco.com)

El ARP gratuito tiene varias aplicaciones útiles. Por un lado, es esencial para actualizar las cachés y el mapeo ARP, especialmente cuando un nuevo dispositivo o nodo se une a la red. En el caso de un nuevo dispositivo, el ARP gratuito evita enviar y responder a peticiones ARP individuales a todos los demás dispositivos de la red local.

Garantizar la redundancia es otro uso importante del ARP gratuito. Por ejemplo, algunas redes redundantes pueden utilizar dos o más routers con la misma dirección IP. Cuando uno de estos routers falla, el router «superviviente» envía un ARP gratuito para informar a la red de dónde enviar los mensajes.

¿Qué Es el ARP Inverso (RARP)?

El ARP inverso (RARP) hace exactamente lo que sugiere su nombre. Envía una dirección IP en lugar de una dirección MAC.

Host enviando una petición RARP para conocer su dirección IP
Host enviando una petición RARP para conocer su dirección IP (Fuente: NetworkLessons)

Pero, ¿por qué hacer esto? ¿No conocen ya las direcciones IP los hosts de una red?

No siempre. Por improbable que parezca, algunos servidores ni siquiera conocen sus propias direcciones IP. A menudo, esto se debe a que la máquina simplemente no tiene memoria o espacio para almacenar su información IP, lo que hace necesaria una solicitud RARP para la comunicación. Recuerda que sólo las direcciones MAC se asignan permanentemente y, por tanto, los servidores pueden no saber nada más que su dirección MAC

¿Qué es el ARP inverso (IARP o InARP)?

Al igual que RARP, ARP inverso (abreviado como IARP o InARP) también envía direcciones IP en lugar de direcciones MAC. Sin embargo, a diferencia del RARP, el ARP inverso funciona exactamente igual que el ARP tradicional, sólo que traduce direcciones MAC a direcciones IP en lugar de direcciones IP a direcciones MAC.

IARP es especialmente útil para las direcciones IP que cambian constantemente (gracias de nuevo a DHCP). En este caso, un host puede conocer la dirección MAC de otro host o router cuya dirección IP ha cambiado desde entonces. Con sólo la dirección MAC en la mano, IARP es necesario para que el host obtenga la nueva dirección IP y envíe su mensaje.

¿Qué Es el ARP Spoofing?

También conocido como ARP Poisoning, el ARP Spoofing consiste en que los hackers envían mensajes ARP falsos a una red objetivo en un intento de vincular su propia dirección MAC con una dirección IP legítima de la red.

IMmge muestra cómo un hacker realiza ARP spoofing para interceptar el tráfico de red.
IMmge muestra cómo un hacker realiza ARP spoofing para interceptar el tráfico de red. (Fuente: OKTA)

Si tiene éxito, los mensajes destinados al ordenador con la dirección IP legítima se enviarán al hacker en su lugar. Esto permite al hacker lanzar otros tipos de ciberataques, entre ellos:

Man-in-the-Middle (MTM)

Un ataque man-in-the-middle (MTM) consiste en que un hacker «espía» el tráfico de la red, interceptando potencialmente datos valiosos como contraseñas, información bancaria, etc. En el caso de los ataques de suplantación de ARP, los hackers utilizan mensajes ARP fraudulentos para redirigir el tráfico de red a través de sus ordenadores, a menudo pasándolo al destinatario previsto para que parezca que no ha pasado nada.

Session Hijacking

El secuestro de sesión consiste en que un hacker roba y asume el identificador de sesión de un usuario, un tipo especial de datos que autoriza a los usuarios a realizar determinadas acciones en los sitios web. A menudo distribuidos por los sitios web en forma de cookies, los ID de sesión permiten a los usuarios permanecer conectados o acceder a carros de la compra guardados.

Al redirigir el tráfico mediante la suplantación de ARP, los hackers pueden acceder fácilmente a los ID de sesión y hacerse pasar por el usuario. Esto significa que podrán hacer cualquier cosa para la que el usuario esté autorizado, como acceder a cuentas bancarias en las que haya iniciado sesión.

Denial-of-Service (DoS)

Un ataque de denegación de servicio (DoS) o de denegación de servicio distribuido (DDoS) puede adoptar una de estas dos formas: un hacker bloquea los mensajes a un host o un hacker satura a un host con demasiados mensajes. Esto último es lo más frecuente.

En ambos casos, sin embargo, la suplantación de ARP es lo que permite a los hackers bloquear o transmitir mensajes en masa. Interceptando el tráfico normal de la red, el hacker puede bloquear los mensajes a sus destinatarios o redirigirlos a un único objetivo.

Resumen

Aquí hemos dado una respuesta en profundidad a «¿Qué es el ARP?» — uno de los protocolos más comunes y útiles en las redes informáticas. Gracias al ARP, los ordenadores y dispositivos de red pueden asociar direcciones MAC físicas con direcciones IP siempre cambiantes, lo que permite la fácil comunicación de la que disfrutamos hoy en día.

Sin embargo, incluso el ARP mejor intencionado puede dar lugar a vulnerabilidades de seguridad y ciberataques. Con funciones de seguridad como la protección DDoS, el alojamiento administrado de WordPress de Kinsta puede ayudar a protegerte contra muchos ciberataques relacionados con la suplantación de ARP.