14. DHCP

14.1. Zeroconf ( Informativo)

Zeroconf: Zero Configuration Networking

Existen situaciones en las que dos usuarios de equipos portátiles por ejemplo, quieren armar una Red punto a punto (AD HOC) para intercambiar archivos o para dar internet a otro equipo por ejemplo.

En ese escenario no podemos pedir a los usuarios que instalen una aplicación que oficie de DHCP. La solución a ese problema se llama Zeroconf y el mismo configura una red IP que conecta los dispositivos, sin que el usuario tenga que realizar configuraciones manuales de temas que no conoce.

Esto fue se desarrolló entre 1999 y 2003 por IETF bajo unas implementaciones mas destacadas que se conocen como Bonjour y Avahi

Características:

  •     Resolución de nombres integrada
  •     Asignación automática de la máscara de subred de la dirección IP local y del router
  •     Función de búsqueda para encontrar servicios de red disponibles
  •     Asignación automática de direcciones multidifusión para conexiones multipunto
  •     Mismo nivel de seguridad que las redes sin Zeroconf

IETF se unió con otras compañias e hizo la especificación RFC3927 conocida como: Dynamic Configuration of IPv4 Link-Local Addresses, cuyo nombre abreviado es IPV4LL.

IPv4LL asigna automáticamente direcciones IP aleatorias con el prefijo 169.254/16, es decir, entre 169.254.0.x y 169.254.255.x, aunque las primeras y últimas 256 direcciones están reservadas para futuras aplicaciones. 


El estándar RFC también requiere que el generador de números aleatorios tenga en cuenta informaciones específicas del equipo como, por ejemplo, la dirección MAC de la interfaz de red, minimizando la posibilidad de que dos dispositivos tengan la misma IP.

Como funciona?
  1. En primer lugar se genera la dirección IP.
  2. A continuación, IPv4LL proporciona pruebas ARP, en las que se comprueba si la dirección IP generada ya es utilizada por otro dispositivo en la red. Con este fin, se envían como receptor tres paquetes ARP con la dirección de origen 0.0.0.0 y con la dirección a comprobar.
  3. Si durante este periodo se recibe un paquete ARP en el que la dirección del emisor se corresponde con la dirección IP creada, quiere decir que esta ya fue asignada dentro de la red y el proceso tendrá que comenzar desde cero.
  4. Si se recibe una prueba ARP externa que incluye la dirección a comprobar, al menos un dispositivo está usando esta IP para intentar unirse a la red, razón por la cual el procedimiento se repetirá desde el primer paso.
  5. Si no se presenta ningún conflicto, el dispositivo de conexión reclama la dirección como suya y envía dos de los llamados ARP Announcements (“anuncios”), donde se corresponden el remitente y el destinatario de las direcciones IP generadas.
Como esto es dinámico, después de cada reinicio, activación después del modo de reposo, conexión del cable de Ethernet o inicio de sesión en la red inalámbrica.

Vemos que dentro de las especificaciones se habla de Nombres. Se incluyeron en Zeroconf herramientas para poder solucionar el tema de Nombres locales bajo IP que no tengan que ver con DNS.

Multicast DNS (mDNS) 

mDNS describe cómo los dispositivos pueden enviar consultas DNS a direcciones IP multidifusión. Con este fin, en el protocolo mDNS, el dominio de nivel superior .local se define como enlace local. Además, todas las peticiones que terminen en .local tienen que ser enviadas a la dirección IPv4LL multidifusión 224.0.0.251 (en IPv6 la dirección es FF02::FB). Todas las solicitudes DNS que no terminan en .local también son enviadas a la dirección multidifusión si la red no cuenta con un servidor DNS, si tiene un servidor DNS declarado, hace la consulta al mismo. Se utiliza el puerto se utiliza el puerto multidifusión 5353.

DNS Based Service Discovery (DNS-SD)

El DNS Based Service Discovery (DNS-SD)  es un protocolo ligero de Apple, utilizado por los productos de Apple, y diferentes impresoras de red además de un considerable número de productos de terceras partes y aplicaciones sobre varios sistemas operativos.define cómo los servicios pueden hacerse visibles y disponibles para todos los participantes de una red Zeroconf. Para garantizar la sintonización, primero es necesario registrar estos servicios en la IANA (Internet Assigned Numbers Authority). Mas información ver en : http://www.dns-sd.org/.

Este DNS-SD al igual de mDNS es usado por Bonjour que veremos a continuación.