Introdução
Este documento descreve a sub-rede do cliente EDNS (ECS) e como ela funciona com o Cisco Umbrella.
O que é ECS?
O DNS tradicional é uma solicitação em um servidor DNS que responde com uma única resposta de registro A. Essa discussão é simplificada com a discussão apenas dos registros A. O mesmo processo se aplica aos registros IPv6 e AAAA. Com o advento de redes de distribuição de conteúdo (CDNs) amplamente distribuídas e serviços DNS recursivos, a geolocalização é cada vez mais importante para uma experiência ideal.
O DNS tradicional geolocaliza a resposta a uma pergunta DNS no servidor DNS autoritativo e fornece uma resposta em retorno que melhor corresponde à origem da consulta DNS. Para usar um exemplo metafórico, pegue uma agenda. Tradicionalmente, a única lista telefônica relevante era a lista telefônica local, então você sempre encontra a loja local. Uma consulta de "chame a loja de hardware de Jim". Hoje, onde um único endereço da Web tem muitos locais em todo o mundo, é imperativo que uma boa experiência se conecte a um servidor próximo. Com servidores DNS recursivos e redes mais distribuídas, o IP de origem da consulta DNS não resulta necessariamente na melhor fonte de dados de geolocalização.
Figura 2: Exemplo para um usuário em Nova Jersey que busca uma resposta de DNS autoritativo

Em nossa metáfora de agenda telefônica, uma empresa pode ter 50 locais em todo o mundo, mas como leitor, você sabe qual é o mais próximo e os chama. Jim está indo bem, então nossa pergunta para "ligue para a loja de hardware de Jim" pode levá-lo para a loja de Nova Jersey ou a loja de Chicago, dependendo de quem você perguntar. O ECS executa o mesmo serviço, mas para uma pesquisa de DNS. A Sub-rede de Cliente EDNS (ECS) é um mecanismo para que o endereço IP de origem desejado de uma consulta DNS seja incorporado às informações EDNS de um pacote DNS. O servidor DNS autoritativo que oferece suporte ao ECS lê essas informações de origem e responde com o registro A do melhor servidor possível localizado. Para nossa metáfora de agenda, o ECS é equivalente a uma observação especificando a agenda da área a ser examinada. Essa solicitação seria "ligue para a loja de hardware de Jim em Belvidere, NJ" e uma resposta ideal pode ser fornecida. Para obter mais informações, visite a página inicial do projeto ECS aqui em umbrella.cisco.com.
ECS e servidores DNS recursivos
O Cisco Umbrella, assim como outros serviços DNS recursivos, é um desafio para a geolocalização baseada em DNS. Tradicionalmente, os usuários solicitavam DNS do ISP, que consulta a autoridade DNS. Isso fornece uma boa geolocalização nativa para os intervalos de IP de rede do ISP.
Os provedores de DNS recursivo estão localizados fora da rede de um ISP e podem estar localizados em qualquer lugar. O Cisco Umbrella opera muitos data centers sob endereços IP de anycast, e as consultas de DNS podem atingir um dos vários locais de resolução em todo o mundo. Mais frequentemente, o local mais próximo é consultado; no entanto, isso depende das rotas ideais com cada ISP. Mais importante ainda, quando se trata de serviços Web amplamente distribuídos, como CDNs, o Umbrella Resolver mais próximo pode não ser próximo ao local do solicitante em termos de rede e pode receber um servidor CDN ruim em resposta. Por exemplo, um usuário na Costa Rica pode acessar o datacenter de Miami do Cisco Umbrella e receber conteúdo de uma CDN de Miami. Para nossa metáfora da agenda telefônica, isso é o equivalente a ligar para o operador e pedir o número do hardware de Jim. Com base na localização do operador, você recebe a resposta com base nessa região. Chicago retorna Jim's de Wheaton e Miami pode retornar Jim's de South Beach.
Figura 2: Exemplo para um usuário em Nova Jersey que está procurando uma resposta do Cisco Umbrella

O ECS é inestimável para CDNs para provedores de DNS recursivo, já que a sub-rede de origem original pode ser passada via ECS para a infraestrutura de DNS autoritativa do CDN. Uma consulta via Umbrella para um servidor de nomes ativado por ECS inclui a rede de classe C do usuário solicitante (bloco CIDR /24) para a consulta DNS autoritativa e retorna e armazena em cache (de acordo com o TTL) a resposta relevante. Para nossa metáfora na lista telefônica, estamos ligando para o operador e solicitando o hardware de Jim perto de San José, Costa Rica. O operador em Miami responderia com o número de Jim's de San Pedro.
Concluindo, o ECS permite que um usuário, em qualquer lugar do mundo, consulte um servidor de nome em qualquer lugar do mundo e receba uma resposta personalizada com base no local de origem, mesmo que esteja usando um servidor DNS recursivo distante (com suporte ao ECS). O resultado final é o servidor CDN mais rápido possível em qualquer lugar do mundo por meio de qualquer serviço DNS suportado.
ECS e Cisco Umbrella
O Cisco Umbrella suporta o ECS para resolvedores de DNS autorizados com base em uma opção de entrada para proprietários de servidores de nome. Muitas CDNs desfrutam da geolocalização rápida e precisa para os usuários do Umbrella, enquanto algumas CDNs e serviços ainda não suportam ECS.
Conhece um serviço que ainda não utiliza o ECS? Entre em contato com a rede CDN e pergunte sobre a implementação do ECS. É necessário que o ECS seja suportado pelos servidores de nome autorizados para que o Umbrella possa enviá-lo aos dados do ECS.
Proprietários de sites, se você utiliza o ECS hoje, entre em contato conosco pelo e-mail umbrella-support@cisco.com para validar sua implementação e começar a receber dados do ECS do Cisco Umbrella hoje mesmo! Há suporte para dados ECS IPv6 e IPv4. Inclua uma lista de servidores de nome (por nome) para validar e um domínio para validar.
Usando o ECS no dig
Você sabia que o dig nativamente suporta o ECS em consultas DNS a partir da versão 9.10? Acrescente "+subnet=<subnet>" diretamente à sua busca no servidor de nomes autoritativo. Observe que esses dados são descartados se você consultar o Umbrella diretamente, e são substituídos pela sua fonte /24. Consulte nosso artigo aqui para obter detalhes em https://support.opendns.com/hc/en-us/articles/227987687.
dig +subnet=208.67.222.0/24 <domain> @<nameserver>
Procure esta subseção na resposta para confirmar que um servidor de nome utiliza dados ECS:
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 208.67.222.0/24/32
Proprietários de servidores de nomes autoritativos
Você está usando o ECS em seu servidor de nome e deseja liberar seu potencial para usuários do Cisco Umbrella em todo o mundo? Informe-nos em umbrella-support@cisco.com para que possamos começar a enviar dados ECS para seus nameservers! Inclua na sua solicitação uma lista dos domínios do seu servidor de nomes e um domínio de exemplo com ECS habilitado que podemos usar para validar sua configuração. Vamos construir juntos uma Internet mais rápida.