lunes, 4 de febrero de 2013

RFC 3315: DHCPv6

Para la clase de telecomunicaciones se nos pide realizar un reporte en donde expliquemos un RFC de las siglas Request for Comments, en donde encontraremos documentos de cada uno de los protocolos de la red y hacer un breve resumen sobre ello, es por eso que para esta entrada voy a escribir acerca del RFC 3315, el utilizado para el DHCPv6.


El DHCPv6 o en español el protocolo de configuración dinámica de host, es un protocolo utilizado para configurar nodos en alguna red, en donde se tiene una o mas direcciones IP versión 6, información de configuración de red o una o más prefijos IP versión 6.


Ofreciendo una función similar a la DHCPv4 pero para IPs versión 6 se especifica en el documento RFC que agrega modos adicionales de operación para el DHCPv6, uno el cual opera sin estado, en donde basicamente solo la información de configuración es intercambiada y un DHCPv6 que opera con estado, el cual funciona similar que el DHCPv4, esta no viene especificada en el RFC 3315, tiene su propio RFC, el 3736, cabe resaltar que esta versión 6 no es simplemente una actualización de la versión 4, el DHCPv6 es un protocolo separado y distinto al anterior, es por eso que tiene otro número de RFC.


Funcionamiento del DHCPv6

El funcionamiento del DHCPv6 empieza en el momento en el que el cliente escucha en el puerto 546 y los transmisores escuchan en el puerto 547, estos se comunican por medio de una liga local y direcciones multicast, entonces se puede decir que básicamente como se trabaja en este protocolo en un caso simple es de la siguiente manera:


  • Un cliente envía una solicitud (SOLICIT) para encontrar servidores y dichos servidores están enviando mensajes indicando que están disponibles para el servicio (ADVERTISE), 
  • Luego un cliente envía una solicitud para pedir los parámetros de configuración, (por ejemplo direcciones IPv6, prefijos IPv6, DNS, NIS, etc...) a los servidores con prioridad (REQUEST), dichos servidores son asignados según el administrador, 
  • Para luego el servidor envíe una respuesta (REPLAY) con los permisos a las direcciones y a la información de configuración, si no responde, sigue buscando por orden de valoración hasta que se quede sin solicitudes, es cuando reinicia su búsqueda.


DHCPv6


Entre los requerimientos del RFC se encuentra el DUID, que es el DHCP Unique Identifier, es utilizado para identificar a los clientes, se utiliza un DUID para cada cliente DHCPv6, se especifican 3 diferentes DUID: 
  • Dirección link-layer + el tiempo, es generada y guardada al inicio, 
  • Link-layer sencilla, es usada si la interfaz de red es permanente y 
  • Los que son generados por el fabricante.

Entre otros requerimientos del RFC también se encuentra la estructura de los mensajes los cuales se distribuyen de manera que la cabecera se divida en tres partes, 
  • La información codificada en 32 bits, incluyendo el tipo de mensaje, el cual define la función a realizar y un identificador del intercambio
  • Otra parte del mensaje incluye la información de direccionamiento y el campo de opciones.

En total DHCPv6 tiene 12 mensajes diferentes entre los cuales encontramos:
  • DHCP Solicit: Mensaje de solicitud para saber si existen servidores DHCP.
  • DHCP Advertise: Mensaje de respuesta en solicitud a un DHCP.
  • DHCP Request: Solicitud de parámetros a un cliente sin dirección.
  • DHCP Confirm: Mensaje de confirmación de validez de parametros.
  • DHCP Renew: Mensaje para prolongar el uso de la dirección de IP.
  • DHCP Rebind: Mensaje para prolongar el uso de otro servidor DHCP.
  • DHCP Reply: Respuesta de petición de un cliente
  • DHCP Release: liberación de direcciones IP.
  • DHCP Decline: Mensaje para decir que ya hay direcciones asignadas.
  • DHCP reconfigure-init: Mensaje para notificar la reconfiguración.


Al utilizar multicast en lugar de broadcast para procesar las solicitudes, lo veo como un punto positivo ya que solo se procesan solicitudes a los nodos que se requieran y no en todos los nodos a la vez, pero también de que existen todavía algunos sistemas operativos que no soportan el protocolo DHCPv6, entre ellos por ejemplo algunas versiones de Android y de Ubuntu, en donde se tiene que descargar herramientas aparte de las que ya vienen incluidas en el sistema, pero igual y esto irá cambiando con el tiempo, aparte algo que se quejan las personas que desarrollan los estándares es que DHCPv6 ya no da un gateway por defecto, por lo que todavía están en proceso de cambiar este problema para algunos, esto hace que no tengamos como anteriormente un mediador entre las redes.


Algunos aspectos diferentes entre el DHCPv4, es que la versión 6 únicamente es protocolo en capa 3,  esto es que todo el protocolo de DHCPv6 se hace en la capa de red, cuando para la asignación que se trabaja en la v4 es en la capa de aplicación, por lo que considero que, la versión 4 a mi parecer tiene mayor encaje al momento de entender cómo se trabaja en el protocolo, ya que considero que el servidor de DHCP es más que todo una aplicación a la red y no pertenece a la gestión de la red en sí.



Si deseas tener más información, puedes ver el RFC 3315

2 comentarios: