Introduction
Ce document décrit le sous-réseau client EDNS (ECS) et son fonctionnement avec Cisco Umbrella.
Qu'est-ce que ECS ?
Le DNS traditionnel est une requête effectuée sur un serveur DNS qui répond par une seule réponse d'enregistrement A. Cette discussion est simplifiée en ne traitant que des enregistrements A. Le même processus s'applique aux enregistrements IPv6 et AAAA. Avec l'avènement des réseaux de diffusion de contenu largement distribués (CDN) et des services DNS récursifs, la géolocalisation est de plus en plus importante pour une expérience optimale.
Le service DNS traditionnel géolocalise la réponse à une question DNS sur le serveur DNS faisant autorité et fournit une réponse en retour qui correspond le mieux à la source de la requête DNS. Pour utiliser un exemple métaphorique, prenez un annuaire téléphonique. Traditionnellement, le seul annuaire téléphonique pertinent était l'annuaire téléphonique local, de sorte que vous trouvez toujours le magasin local. Une requête de « Call Jim's hardware store ». Aujourd'hui, lorsqu'une seule adresse Web a de nombreux emplacements dans le monde entier, il est impératif pour une bonne expérience de se connecter à un serveur à proximité. Avec des serveurs DNS récursifs et des réseaux plus distribués, l'IP source de la requête DNS n'est pas nécessairement la meilleure source de données de géolocalisation.
Figure 2 : Exemple pour un utilisateur du New Jersey cherchant une réponse auprès d'un DNS faisant autorité

Dans notre métaphore de l'annuaire téléphonique, une entreprise peut avoir 50 sites à travers le monde, mais en tant que lecteur, vous savez quel est le plus proche et vous les appelez. Jim s'en sort bien, donc notre requête pour "appeler le magasin de matériel Jim" pourrait vous amener au magasin du New Jersey ou le magasin de Chicago selon qui vous demandez. ECS effectue le même service, mais pour une recherche DNS. Le sous-réseau client EDNS (ECS) est un mécanisme permettant d’incorporer l’adresse IP source souhaitée d’une requête DNS dans les informations EDNS d’un paquet DNS. Le serveur DNS faisant autorité prenant en charge ECS lit ces informations source et répond avec l'enregistrement A du serveur le mieux situé possible. Pour notre métaphore d'annuaire téléphonique, ECS équivaut à une note spécifiant l'annuaire téléphonique de la zone à consulter. Cette demande serait « appelez la quincaillerie Jim's à Belvidere, NJ » et une réponse idéale peut être fournie. Pour plus d'informations, visitez la page d'accueil du projet ECS ici à umbrella.cisco.com.
Serveurs ECS et DNS récursifs
Cisco Umbrella, comme d'autres services DNS récursifs, représente un défi pour la géolocalisation basée sur DNS. En règle générale, les utilisateurs demandent le DNS au FAI, qui interroge l’autorité DNS. Cela permet une bonne géolocalisation native des plages IP du réseau du FAI.
Les fournisseurs DNS récursifs sont situés en dehors du réseau d’un FAI et peuvent être situés n’importe où. Cisco Umbrella gère de nombreux data centers sous des adresses IP anycast, et les requêtes DNS peuvent atteindre l'un des nombreux emplacements de résolution dans le monde. Le plus souvent, l'emplacement le plus proche est interrogé ; toutefois, cela dépend des routes optimales avec chaque FAI. Plus important encore, lorsqu'il s'agit de services Web largement distribués tels que les CDN, le résolveur Umbrella le plus proche peut ne pas être proche de l'emplacement du demandeur au niveau du réseau et peut recevoir un mauvais serveur CDN en réponse. Par exemple, un utilisateur au Costa Rica peut accéder au data center de Cisco Umbrella à Miami et recevoir du contenu d'un CDN de Miami. Pour notre métaphore de l'annuaire téléphonique, c'est l'équivalent d'appeler l'opérateur et de demander le numéro du matériel de Jim. En fonction de l'emplacement de l'opérateur, vous recevez la réponse en fonction de cette région. Chicago rend Jim de Wheaton et Miami peut rendre Jim de South Beach.
Figure 2 : Exemple pour un utilisateur du New Jersey cherchant une réponse auprès de Cisco Umbrella

ECS est inestimable pour les CDN pour les fournisseurs DNS récursifs, car le sous-réseau source d'origine peut être transmis via ECS à l'infrastructure DNS faisant autorité du CDN. Une requête par Umbrella à un serveur de noms compatible ECS inclut le réseau de classe C de l'utilisateur demandeur (bloc CIDR/24) à la requête DNS faisant autorité, et renvoie et met en cache (selon TTL) la réponse appropriée. Pour notre métaphore de répertoire, c'est appeler l'opérateur et demander le matériel de Jim près de San José, Costa Rica. L'opérateur à Miami répondrait avec le numéro pour Jim de San Pedro.
En conclusion, ECS permet à un utilisateur, n'importe où dans le monde, d'interroger un serveur de noms n'importe où dans le monde et de recevoir une réponse personnalisée en fonction de son emplacement source, même si vous utilisez un serveur DNS récursif éloigné (prenant en charge ECS). Le résultat final est le serveur CDN le plus rapide du monde via n'importe quel service DNS pris en charge.
ECS et Cisco Umbrella
Cisco Umbrella prend en charge ECS pour les résolveurs DNS faisant autorité, sur la base d'une option d'adhésion pour les propriétaires de serveurs de noms. De nombreux CDN bénéficient d'une géolocalisation rapide et précise pour les utilisateurs d'Umbrella, tandis que certains CDN et services ne prennent pas encore en charge ECS.
Connaître un service qui n'utilise pas encore ECS ? Contactez le réseau CDN et renseignez-vous sur la mise en oeuvre d'ECS. ECS doit être pris en charge par les serveurs de noms faisant autorité avant qu'Umbrella puisse lui envoyer des données ECS.
Si vous utilisez ECS aujourd'hui, contactez-nous à l'adresse umbrella-support@cisco.com pour valider votre implémentation et commencer à recevoir des données ECS de Cisco Umbrella dès aujourd'hui ! Les données ECS IPv6 et IPv4 sont prises en charge. Incluez une liste de serveurs de noms (par nom) à valider et un domaine à valider.
Utilisation d'ECS dans dig
Saviez-vous que dig prend en charge ECS nativement dans les requêtes DNS commençant dans la version 9.10 ? Ajoutez "+subnet=<sous-réseau>" à votre recherche directement sur le serveur de noms faisant autorité. Notez que ces données sont abandonnées si vous interrogez directement Umbrella et sont remplacées par votre source /24. Consultez notre article ici pour plus de détails https://support.opendns.com/hc/en-us/articles/227987687.
dig +subnet=208.67.222.0/24 <domain> @<nameserver>
Recherchez cette sous-section dans la réponse pour confirmer qu'un serveur de noms utilise les données ECS :
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 208.67.222.0/24/32
Propriétaires de serveurs de noms autorisés
Utilisez-vous ECS sur votre serveur de noms et cherchez-vous à libérer son potentiel pour les utilisateurs Cisco Umbrella dans le monde entier ? Faites-le nous savoir à l'adresse umbrella-support@cisco.com afin que nous puissions commencer à envoyer des données ECS à vos serveurs de noms ! Inclure avec votre demande une liste de vos domaines de serveurs de noms et un exemple de domaine activé par ECS que nous pouvons utiliser pour valider votre configuration. Construisons ensemble un Internet plus rapide.