Mecanismos de extensión para DNS


Los mecanismos de extensión para DNS ( EDNS ) son una especificación para expandir el tamaño de varios parámetros del protocolo del Sistema de nombres de dominio (DNS) que tenía restricciones de tamaño que la comunidad de ingeniería de Internet consideraba demasiado limitadas para aumentar la funcionalidad del protocolo. El primer conjunto de extensiones fue publicado en 1999 por Internet Engineering Task Force como RFC  2671 , también conocido como EDNS0 [1], que fue actualizado por RFC 6891 en 2013 cambiando la abreviatura ligeramente a EDNS(0) . [2] 

El Sistema de nombres de dominio se desarrolló por primera vez a principios de la década de 1980. Desde entonces, se ha mejorado progresivamente con nuevas funciones, manteniendo la compatibilidad con versiones anteriores del protocolo.

Las restricciones en el tamaño de varios campos de banderas, códigos de retorno y tipos de etiquetas disponibles en el protocolo DNS básico impidieron el soporte de algunas características deseables. Además, los mensajes DNS transportados por UDP se restringieron a 512 bytes, sin considerar el Protocolo de Internet (IP) y los encabezados de la capa de transporte . [3] Recurrir a un transporte de circuito virtual , utilizando el Protocolo de control de transmisión (TCP), aumentaría en gran medida la sobrecarga. Esto presentaba un gran obstáculo para agregar nuevas funciones al DNS. En 1999, Paul Vixiepropuso extender el DNS para permitir nuevas banderas y códigos de respuesta, y brindar soporte para respuestas más largas en un marco que es compatible con implementaciones anteriores.

Dado que no se pueden agregar nuevas banderas en el encabezado de DNS, EDNS agrega información a los mensajes de DNS en forma de registros de pseudo - recursos ("pseudo-RR") incluidos en la sección de "datos adicionales" de un mensaje de DNS. Tenga en cuenta que esta sección existe tanto en las solicitudes como en las respuestas.

Como pseudo-RR, los RR de tipo OPT nunca aparecen en ningún archivo de zona; existen solo en mensajes, fabricados por los participantes del DNS.

El mecanismo es compatible con versiones anteriores , porque los respondedores DNS más antiguos ignoran cualquier RR del tipo OPT desconocido en una solicitud y un respondedor DNS más nuevo nunca incluye un OPT en una respuesta a menos que haya uno en la solicitud. La presencia del OPT en la solicitud significa que un solicitante más nuevo sabe qué hacer con un OPT en la respuesta.