Hay algo que siempre debe ocurrir para que cualquiera de nuestros dispositivos pueda disfrutar de conexión a cualquier red, ya sea una red local de pequeña escala como la que podemos tener en nuestro domicilio, como una red de área local más grande como las de las empresas, y es la obtención de una dirección IP privada para que tengamos comunicación en la red local y también conexión a Internet, porque en la mayoría de los casos estaremos detrás de la popular NAT. Esta asignación puede suceder de varias maneras diferentes, y para ello, tenemos dos protocolos muy importantes que nos permitirán obtenerla, el protocolo DHCP y el protocolo ARP, estos dos protocolos son fundamentales en redes IPv4 para la obtención de direccionamiento IP y permitir comunicación en la red local.
Protocolo ARP (Address Resolution Protocol)
En una red de área local, el protocolo ARP o también conocido como Address Resolution Protocol, se encarga de localizar la dirección MAC (dirección física de la tarjeta de red) que se corresponde a una determinada dirección IP privada (dirección lógica que tiene la tarjeta de red, o que la ha obtenido vía DHCP). Lo primero que hará el dispositivo en cuestión, es enviar un mensaje ARP Request a la dirección MAC de broadcast, la cual es FF:FF:FF:FF:FF:FF, con la IP que se pregunta, para que el ordenador de destino conteste con un ARP Reply y ya puedan comunicarse.
Con el estándar Ethernet, la capa de enlace trabaja con direcciones MAC, y este protocolo es fundamental para traducir las direcciones IP en direcciones MAC. ARP se utiliza en diferentes escenarios, como por ejemplo cuando dos hosts quieren comunicarse dentro de una misma red, si están en distinta red entonces tendrán que localizar antes el router para alcanzar el otro host. Este protocolo ARP también lo usan los routers, tanto si necesitan comunicarse con un host en concretro, o cuando necesitan enviar un paquete a un host a través de otro router.
Un detalle muy importante es que el protocolo ARP queda contenido dentro de la misma porción de red, es decir, las direcciones MAC no viajan por Internet en ningún momento, ya que se utilizan las direcciones IP para ello. En caso de que nuestro equipo quiera salir a Internet, el protocolo ARP lo que hará es localizar la puerta de enlace predeterminada, es decir, tanto la dirección MAC como la dirección IP privada del router, para posteriormente enviarle los paquetes y que el router se encargue de reenviarlo por los puertos adecuados.
El protocolo ARP no existe en redes IPv6, su funcionalidad la hereda el protocolo ICMPv6 que realiza aún más funciones que en redes IPv4, sin embargo, ARP es uno de los protocolos de redes más importantes para IPv4, sin ARP no podríamos tener comunicación.
Otro aspecto muy importante, es que existen ataques al protocolo ARP llamado ARP Spoofing, este tipo de ataque consiste en hacer creer a los diferentes equipos de la red local que nosotros somos el router, para que todo el tráfico pase antes por nosotros y poder capturarlo e incluso modificarlo al vuelo. Actualmente existen medidas para mitigar estas actividades que se usan generalmente para realizar un ataque Man in the Middle, algunas de estas medidas son configurar correctamente los switches, poniendo una pareja de dirección IP-MAC asociada a un determinado puerto y a una determinada VLAN. De esta forma, un posible atacante no podrá hacernos este ataque ni interceptar las comunicaciones haciendo uso del ARP Spoofing.
Principales ventajas del protocolo ARP
- Si está utilizando ARP, las direcciones MAC se pueden conocer fácilmente si conoce la dirección IP del mismo sistema.
- Los nodos finales no deben configurarse para «conocer» las direcciones MAC. Se puede encontrar cuando sea necesario.
- El objetivo de ARP es habilitar cada host en una red que le permita crear un mapeo entre las direcciones IP y las direcciones físicas.
- El conjunto de asignaciones o tablas almacenadas en el host se denomina tabla ARP o caché ARP.
Además, debemos destacar como algo no tan positivo que, por ejemplo, cuando se hacen solicitudes ARP para un host que no existe es frecuente que aumenten los intervalos de tiempo entre dichas solicitudes hasta que eventualmente ARP se da por vencido.
Ataques ARP
En este caso nos encontramos con los famosos ataques ARP Spoofing. Estos realizan un envenenamiento de tablas ARP. Es una técnica utilizada por los piratas informáticos para poder robar paquetes de datos que pasan por una red local. Esto puede permitir controlar el tráfico, o incluso en algunos casos llegar a retenerlo. Para ello envían mensajes falsos a una red LAN, y consiguen una dirección MAC con la IP de un servidor, lo cual es necesario.
En ese momento es cuando se empieza a recibir la información que pasa por esa dirección. Por lo tanto, se puede decir que la suplantación ARP se basa en los envíos de mensajes falsos. Esto puede suponer un importante problema para las redes y sus usuarios, ya que se pueden llegar a filtrar datos sensibles de estos. Esto puede incluir:
- Nombres de usuario
- Contraseñas
- Conversaciones
- Cookies
En el caso de los usuarios y contraseñas de los mismos, otorgaría acceso a quién posea esos datos a otros archivos o programas que pueden manejar más información sensible por otro métodos, o incluso en otras redes de forma remota. Esto hace que el alcance pueda ser muy grande en caso de ataque. Pero incluso en esta modalidad, nos podemos encontrar diferentes tipos de ataques, como por ejemplo:
- Ataques Man-in-the-Middle (MiTM)
- Denegaciones de servicio (DoS)
- Secuestro de sesiones
Para esto, los atacantes pueden utilizar diferentes herramientas, las cuales si se conocen, pueden ayudar a prevenirlos. Algunas de ellas son Arpoison, Netcut o Ettercap. Pero en general, internet está repleto de herramientas para realizar estos ataques. Pero para poder estar prevenidos de forma general, es recomendable llevar a cabo monitorizaciones, subdivisión en diferentes partes, aplicar protecciones de red o protocolos Secure Neighbor Discovery. Es muy importante tomar las medidas necesarias para estar protegidos ante estos ataques, y otros.
Importancia del protocolo ARP para las empresas
El protocolo ARP se trata de una herramienta muy importante para las empresas en la configuración y gestión de sus redes internas. Esta se utiliza para mapear direcciones físicas de la capa de enlace de datos a direcciones IP en Internet. Esto es un punto clave para la comunicación en la red, permitiendo que los dispositivos se comuniquen y sepan a donde están enviando datos. Algunas de las razones por las que se trata de un protocolo importante para las empresas son:
- Identificación de dispositivos: Permite que los dispositivos se identifiquen mutuamente dentro de la red, lo que es algo básico para la comunicación. Cada dispositivo tiene una dirección IP asignada y única, una dirección MAC única, y ARP mapea estas direcciones para que los dispositivos puedan establecer la comunicación entre sí.
- Resolución de conflictos de direcciones: En ocasiones, dos dispositivos diferentes pueden tener la misma dirección IP. Con ARP podemos este problema al asignar una dirección MAC única a cada dispositivo, lo que permite que los datos se envíen al dispositivo correcto en todo momento.
- Optimización del rendimiento de la red: Se puede mejorar el rendimiento de la red al almacenar en caché las direcciones MAC de los dispositivos que se encuentran en la red. Esto evita la necesidad de buscar constantemente la dirección MAC de un dispositivo, lo que puede reducir la latencia y mejorar la velocidad de conexión de forma generalizada.
- Seguridad: Este protocolo también juega un papel importante en la seguridad de la red, permitiendo que los dispositivos establezcan conexiones seguras y eviten ataques de suplantación de dirección MAC. Esto es algo que ocurre cuando un atacante intenta hacerse pasar por otro dispositivo en la red. En este caso, el protocolo ARP puede detectarlo, y prevenirlo.
- Gestión de redes: El protocolo ARP también es importante para la gestión de redes. Permite a los administradores de redes monitorear y controlar los dispositivos que están conectados. Esto es muy útil en entornos empresariales, donde la gestión de las redes puede llegar a ser muy compleja y requiere una gran cantidad de recursos e importantes gastos en administración.
Protocolo DHCP (Dynamic Host Configuration Protocol)
El Protocolo DHCP (Dynamic Host Configuration Protocol) se encarga de proporcionar las direcciones IP de manera dinámica o estática a los host que lo soliciten. Cuando se conecta por primera vez un determinado equipo a la red local, y si tiene habilitado el cliente DHCP, el host enviará un mensaje «DHCP Discovery» para encontrar el servidor DHCP de la red local, posteriormente el servidor DHCP le contesta con un «DHCP Offer» con los parámetros de configuración de red necesarios, y el host en este momento lo que hace es realizar una solicitud de dirección IP nuevamente, a través del mensaje «DHCP Request». Por último, el servidor DHCP recibirá esta información, y le enviará un mensaje «DHCP Acknowledge» con el acuse de recibo de que todo ha funcionado correctamente.
El DHCP asignará una dirección IP a cualquier dispositivo que se conecte, haciendo uso de la dirección MAC de la tarjeta de red. La dirección IP asignada estará dentro del rango configurado en el propio servidor DHCP, lo normal es que el DHCP tenga configurado un rango de 100 direcciones, o directamente todas las direcciones de host de una subred excepto la primera (porque la tiene el propio router). Dependiendo del fabricante del router y de su configuración predeterminada, tendremos una configuración u otra, pero ambas son perfectamente válidas, excepto si vamos a conectar más de 100 dispositivos simultáneamente que no nos servirá la primera configuración con límite de 100 direcciones.
El servidor DHCP nos permite también reservar direcciones fijas, ya que si no introducimos equipos en la tabla del «Static DHCP» del router, sea cual sea el equipo, le dará una IP de manera dinámica cada vez que se conecte. Por ejemplo, el servidor DHCP le puede asignar la IP 192.168.1.55 y si se desconecta, la próxima vez que vuelva a conectarse puede tener la IP 192.168.1.112.
Hay equipos que necesitan tener la misma IP siempre porque hemos realizado reenvío de puertos, o por motivos de seguridad porque hemos abierto la DMZ. El protocolo DHCP nos permite reservar la dirección IP que queramos para la MAC que queramos, con lo que siempre que se conecte ese equipo recibirá siempre la misma dirección IP.
Principales ventajas del protocolo DHCP
- Gestión automática de direcciones IP, incluida la prevención de problemas de direcciones IP duplicadas.
- Permite la compatibilidad con clientes BOOTP, por lo que puede cambiar fácilmente sus redes de BOOTP a DHCP.
- Da poder al administrador para establecer tiempos de arrendamiento, incluso en direcciones IP asignadas manualmente.
- Permite limitar qué direcciones MAC se sirven con direcciones IP dinámicas.
- Permite al administrador configurar tipos de opciones de DHCP adicionales, además de lo que es posible con BOOTP.
- Permite definir el pool o pools de direcciones IP que se pueden asignar de forma dinámica. Un usuario puede tener un servidor que obligue al grupo a ser una subred o red completa. El servidor no debe obligar a que dicho grupo se componga de direcciones IP contiguas.
- Permite la asociación de dos o más grupos de direcciones IP dinámicas en redes (o subredes) IP separadas. Este es el soporte básico para redes secundarias. Permite que un enrutador actúe como un relé BOOTP para una interfaz que tiene más de una dirección IP de red o subred IP.
Tanto el protocolo ARP y DHCP funcionan de manera conjunta para proporcionarnos conexión a la red local, ya sea doméstica o profesional. ARP se encarga de localizar los diferentes equipos que hay en la red en base a su dirección MAC, y el protocolo DHCP se encarga de proporcionarnos una dirección IP lógica a nuestro equipo, para poder comunicarnos a nivel de red y tener conectividad con Internet. En caso de utilizar una red con IPv6, el protocolo ARP deja de existir, ya que el protocolo ICMPv6 integra la misma funcionalidad que el ARP.