Introducción
Este documento describe EDNS Client Subnet (ECS) y cómo funciona con Cisco Umbrella.
¿Qué es ECS?
El DNS tradicional es una solicitud en un servidor DNS que responde con una única respuesta de registro A. Esta discusión se simplifica discutiendo solamente los registros A. El mismo proceso se aplica a los registros IPv6 y AAAA. Con la llegada de las redes de distribución de contenido (CDN) ampliamente distribuidas y los servicios DNS recursivos, la geolocalización es cada vez más importante para lograr una experiencia óptima.
El DNS tradicional geolocaliza la respuesta a una pregunta de DNS en el servidor DNS autorizado y proporciona una respuesta a cambio que se adapta mejor al origen de la consulta de DNS. Para utilizar un ejemplo metafórico, tome una guía telefónica. Tradicionalmente, la única libreta de teléfonos relevante era la libreta de teléfonos local, por lo que siempre se encuentra la tienda local. Una consulta de "llamar a la ferretería de Jim". Hoy en día, cuando una única dirección web tiene muchas ubicaciones en todo el mundo, es imprescindible para disfrutar de una buena experiencia conectarse a un servidor cercano. Con los servidores DNS recursivos y más redes distribuidas, la IP de origen de la consulta DNS no necesariamente resulta en la mejor fuente de datos de geolocalización.
Figura 2: Ejemplo de un usuario en Nueva Jersey que busca una respuesta de DNS autorizado

En nuestra metáfora de la guía telefónica, una empresa puede tener 50 ubicaciones en todo el mundo, pero como lector, ya sabes cuál es la más cercana y llámalos. Jim ha estado haciendo bien, por lo que nuestra consulta para "llamar a la ferretería de Jim" podría llevarle a la tienda de Nueva Jersey o la tienda de Chicago, dependiendo de a quién le pregunte. ECS realiza el mismo servicio, pero para una búsqueda de DNS. La subred de clientes EDNS (ECS) es un mecanismo para que la dirección IP de origen deseada de una consulta DNS se integre en la información EDNS de un paquete DNS. El servidor DNS autorizado que admite ECS lee esta información de origen y contesta con el registro A del servidor mejor ubicado posible. Para nuestra metáfora de libreta de teléfonos, ECS equivale a una nota que especifica la libreta de teléfonos de la zona que se debe consultar. Esta solicitud sería "llame a la ferretería de Jim en Belvidere, Nueva Jersey" y se puede proporcionar una respuesta ideal. Para obtener más información, visite la página de inicio del proyecto ECS aquí en umbrella.cisco.com.
ECS y servidores DNS recursivos
Cisco Umbrella, al igual que otros servicios DNS recursivos, supone un reto para la geolocalización basada en DNS. Tradicionalmente, los usuarios solicitaban DNS al ISP, que consulta a la autoridad DNS. Esto proporciona una buena geolocalización nativa para los rangos de IP de red del ISP.
Los proveedores de DNS recursivos se encuentran fuera de la red de un ISP y se pueden encontrar en cualquier lugar. Cisco Umbrella opera muchos Data Centers bajo direcciones IP de difusión por proximidad, y las consultas de DNS pueden llegar a una de las diversas ubicaciones de resolución en todo el mundo. Con mayor frecuencia se consulta la ubicación más cercana; sin embargo, esto depende de las rutas óptimas con cada ISP. Lo más importante, cuando se trata de servicios web ampliamente distribuidos como CDN, la resolución de Umbrella más cercana podría no estar cerca de la red de la ubicación del solicitante y podría recibir un servidor CDN deficiente en respuesta. Por ejemplo, un usuario de Costa Rica podría acceder al Data Center de Cisco Umbrella en Miami y recibir contenido de un CDN de Miami. Para nuestra metáfora de la guía telefónica, esto equivale a llamar al operador y pedirle el número del hardware de Jim. En función de la ubicación del operador, recibirá la respuesta en función de esa región. Chicago devuelve Jim's de Wheaton y Miami puede devolver Jim's de South Beach.
Figura 2: Ejemplo de un usuario de Nueva Jersey que busca una respuesta de Cisco Umbrella

ECS es inestimable para los CDN para los proveedores de DNS recursivos, ya que la subred de origen original se puede pasar a través de ECS a la infraestructura de DNS autoritativo del CDN. Una consulta a través de Umbrella a un servidor de nombres habilitado para ECS incluye la red de Clase C del usuario solicitante (bloque CIDR 1/24) a la consulta DNS autorizada, y devuelve y almacena en caché (según TTL) la respuesta pertinente. Para nuestra metáfora de la agenda telefónica, esto es llamar al operador y solicitar el hardware de Jim cerca de San José, Costa Rica. El operador en Miami respondería con el número de Jim's de San Pedro.
En conclusión, ECS permite a un usuario, en cualquier parte del mundo, consultar un servidor de nombres en cualquier parte del mundo y recibir una respuesta personalizada basada en su ubicación de origen, incluso si utiliza un servidor DNS recursivo lejano (compatible con ECS). El resultado final es el servidor CDN más rápido posible desde cualquier parte del mundo a través de cualquier servicio DNS admitido.
ECS y Cisco Umbrella
Cisco Umbrella es compatible con ECS para resoluciones DNS autorizadas basadas en la inclusión voluntaria de los propietarios de servidores de nombres. Muchos CDN disfrutan de una geolocalización rápida y precisa para los usuarios de Umbrella, mientras que algunos CDN y servicios todavía no admiten ECS.
¿Conoce un servicio que aún no utiliza ECS? Póngase en contacto con la red CDN y pregúntele sobre la implementación de ECS. Se requiere que ECS sea compatible con los servidores de nombres autorizados antes de que Umbrella pueda enviarle datos ECS.
Si utiliza ECS hoy mismo, póngase en contacto con nosotros en la dirección umbrella-support@cisco.com para validar su implementación y comenzar a recibir datos de ECS de Cisco Umbrella hoy mismo. Se admiten datos ECS IPv6 e IPv4. Incluya una lista de servidores de nombres (por nombre) para validar y un dominio para validar.
Uso de ECS en excavación
¿Sabía que dig admite de forma nativa ECS en consultas DNS a partir de la versión 9.10? Añada "+subnet=<subnet>" directamente a su búsqueda en el servidor de nombres autorizado. Tenga en cuenta que estos datos se descartan si se consulta directamente a Umbrella y se sustituyen por su origen /24. Consulte nuestro artículo aquí para obtener más información https://support.opendns.com/hc/en-us/articles/227987687.
dig +subnet=208.67.222.0/24 <domain> @<nameserver>
Busque esta subsección en la respuesta para confirmar que un servidor de nombres utiliza datos ECS:
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 208.67.222.0/24/32
Propietarios de servidores de nombres autorizados
¿Utiliza ECS en su servidor de nombres y desea aprovechar todo su potencial para los usuarios de Cisco Umbrella de todo el mundo? Háganos saber en umbrella-support@cisco.com para que podamos comenzar a enviar datos ECS a sus servidores de nombres. Incluya con su solicitud una lista de sus dominios de servidor de nombres y un dominio de ejemplo que esté habilitado para ECS y que podamos usar para validar su configuración. Construyamos juntos un Internet más rápido.