Inleiding
In dit document wordt beschreven hoe EDNS Client Subnet (ECS) werkt met Cisco Umbrella.
Wat is ECS?
Traditionele DNS is een verzoek bij een DNS-server die reageert met een enkel A-record antwoord. Deze discussie wordt vereenvoudigd door alleen A-records te bespreken. Hetzelfde geldt voor IPv6 en AAAA records. Met de komst van wijdverspreide content delivery networks (CDN’s) en recursieve DNS-diensten wordt geolocatie steeds belangrijker voor een optimale beleving.
Traditionele DNS geolokaliseert het antwoord op een DNS-vraag op de gezaghebbende DNS-server en biedt in ruil daarvoor een antwoord dat het best overeenkomt met de bron van de DNS-query. Om een metaforisch voorbeeld te gebruiken, neem een telefoonboek. Traditioneel was het enige telefoonboek dat relevant was het lokale telefoonboek, dus je vindt altijd de lokale winkel. Een query van "bel Jim's hardware store". Tegenwoordig, waar een enkel webadres wereldwijd veel locaties heeft, is het noodzakelijk voor een goede ervaring om verbinding te maken met een nabijgelegen server. Met recursieve DNS-servers en meer gedistribueerde netwerken resulteert de bron-IP van de DNS-query niet noodzakelijkerwijs in de beste bron van geolocatiegegevens.
Afbeelding 2: Voorbeeld voor een gebruiker in New Jersey die een antwoord zoekt bij een gezaghebbende DNS

In onze metafoor voor telefoonboeken heeft een bedrijf misschien 50 locaties over de hele wereld, maar als lezer weet je wat de dichtstbijzijnde is en bel je ze. Jim's doet het goed, dus onze zoekopdracht voor "bel Jim's hardware store" kan je naar de winkel in New Jersey of de winkel in Chicago brengen, afhankelijk van wie je het vraagt. ECS voert dezelfde service uit, maar dan voor een DNS-lookup. EDNS Client Subnet (ECS) is een mechanisme voor het gewenste bron-IP-adres van een DNS-query dat moet worden ingebed in de EDNS-informatie van een DNS-pakket. De gezaghebbende DNS-server die ECS ondersteunt, leest deze broninformatie en antwoordt met de A-record van de best mogelijke server. Voor onze metafoor voor telefoonboeken is ECS gelijk aan een notitie die aangeeft in welk gebied het telefoonboek moet worden bekeken. Dit verzoek zou zijn "bel Jim's hardware store in Belvidere, NJ" en een ideaal antwoord kan worden verstrekt. Ga voor meer informatie naar de startpagina voor het ECS-project op umbrella.cisco.com.
ECS- en recursieve DNS-servers
Cisco Umbrella is, net als andere recursieve DNS-services, een uitdaging voor op DNS gebaseerde geolocatie. Traditioneel zouden gebruikers DNS aanvragen bij de ISP, die de DNS-autoriteit bevraagt. Dit biedt een native goede geolocatie voor de IP-bereiken van het netwerk van de ISP.
Recursieve DNS-providers bevinden zich buiten het netwerk van een ISP en kunnen zich overal bevinden. Cisco Umbrella exploiteert veel datacenters onder anycast IP-adressen en DNS-query's kunnen wereldwijd op een van de verschillende resolver-locaties worden uitgevoerd. Meestal wordt de dichtstbijzijnde locatie gevraagd; dit is echter afhankelijk van optimale routes met elke ISP. Belangrijker nog, als het gaat om breed gedistribueerde webservices zoals CDN's, is de dichtstbijzijnde Umbrella Resolver mogelijk niet in de buurt van de locatie van de aanvrager en ontvangt deze mogelijk een slechte CDN-server als reactie. Een gebruiker in Costa Rica kan bijvoorbeeld het datacenter van Cisco Umbrella in Miami raken en inhoud krijgen van een Miami CDN. Voor onze telefoonboek metafoor, dit is het equivalent van bellen met de operator en vragen om het nummer voor Jim's hardware. Op basis van waar de operator zich bevindt, ontvangt u het antwoord op basis van die regio. Chicago geeft Jim's of Wheaton terug en Miami kan Jim's of South Beach teruggeven.
Afbeelding 2: Voorbeeld voor een gebruiker in New Jersey die een antwoord zoekt bij Cisco Umbrella

ECS is van onschatbare waarde voor CDN's voor recursieve DNS-providers, omdat het oorspronkelijke bronsubnet via ECS kan worden doorgegeven aan de gezaghebbende DNS-infrastructuur van de CDN. Een query via Umbrella naar een ECS-enabled nameserver omvat het klasse C-netwerk van de vragende gebruiker (CIDR/24-blok) naar de gezaghebbende DNS-query en retourneert en cache (volgens TTL) het relevante antwoord. Voor onze telefoonboek metafoor, dit is bellen met de operator en het aanvragen van Jim's hardware in de buurt van San José, Costa Rica. De operator in Miami zou antwoorden met het nummer voor Jim's van San Pedro.
Tot slot stelt ECS een gebruiker, waar ook ter wereld, in staat om een naamserver overal ter wereld te bevragen en een aangepast antwoord te ontvangen op basis van zijn bronlocatie, zelfs als hij een ver weg recursieve DNS-server gebruikt (die ECS ondersteunt). Het eindresultaat is de snelste CDN-server die mogelijk is vanaf elke locatie ter wereld via elke ondersteunde DNS-service.
Paraplu voor ECS en Cisco
Cisco Umbrella ondersteunt ECS voor gezaghebbende DNS-resolvers op basis van een opt-in-basis voor eigenaren van nameservers. Veel CDN's genieten van snelle, nauwkeurige geolocatie voor Umbrella-gebruikers, terwijl sommige CDN's en services ECS nog niet ondersteunen.
Ken je een dienst die nog geen gebruik maakt van ECS? Neem contact op met het CDN-netwerk en vraag naar de implementatie van ECS. ECS moet worden ondersteund door de bevoegde nameservers voordat Umbrella het ECS-gegevens kan verzenden.
Site-eigenaren, als u ECS vandaag gebruikt, neem dan contact met ons op via umbrella-support@cisco.com om uw implementatie te valideren en begin vandaag nog ECS-gegevens van Cisco Umbrella te ontvangen! IPv6- en IPv4 ECS-gegevens worden ondersteund. Voeg een lijst met naamservers (op naam) toe om te valideren en een domein om te valideren.
ECS gebruiken bij graven
Wist je dat Dignative ECS ondersteunt in DNS-query's die beginnen in versie 9.10? Voeg "+subnet=<subnet>" rechtstreeks toe aan uw opgraving tegen de gezaghebbende naamserver. Opmerking: deze gegevens worden verwijderd als u Umbrella rechtstreeks opvraagt en worden vervangen door uw bron /24. Zie ons artikel hier voor meer informatie https://support.opendns.com/hc/en-us/articles/227987687.
dig +subnet=208.67.222.0/24 <domain> @<nameserver>
Kijk voor deze subsectie in het antwoord om te bevestigen dat een nameserver gebruik maakt van ECS-gegevens:
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; CLIENT-SUBNET: 208.67.222.0/24/32
Gezaghebbende eigenaren van naamservers
Gebruikt u ECS op uw nameserver en wilt u het potentieel ervan ontsluiten voor Cisco Umbrella-gebruikers over de hele wereld? Laat het ons weten op umbrella-support@cisco.com zodat we kunnen beginnen met het verzenden van ECS-gegevens naar uw nameservers! Voeg bij uw aanvraag een lijst met uw nameserverdomeinen en een voorbeelddomein dat is ingeschakeld voor ECS dat we kunnen gebruiken om uw configuratie te valideren. Laten we samen een sneller internet bouwen.