# Serveur racine du DNS

Un serveur racine du DNS est un serveur DNS qui répond aux requêtes qui concernent les noms de domaine de premier niveau (TLD) et qui les redirige vers le serveur DNS de premier niveau concerné. Bien qu'il puisse exister d'autres hiérarchies de système de noms de domaine (DNS) avec des serveurs racine alternatifs, « serveur racine du DNS » est généralement utilisé pour désigner l'un des treize serveurs racine du Domain Name System d'Internet géré sous l'autorité de l'ICANN.
Dans le système des noms de domaine, le point est un séparateur de domaine. Par convention, un Fully qualified domain name est terminé par un point, ce qui signifie qu'il est suivi par une chaîne vide qui représente le domaine racine. Par extension, on représente aussi le domaine racine par un point.
Les domaines de premier niveau (par exemple .com, .org et .fr) sont des sous-domaines du domaine racine.

## Requêtes DNS destinées aux serveurs racine

Un serveur DNS s'adresse à un serveur racine dans deux cas :
* au démarrage, pour obtenir la liste à jour des serveurs racine.
* quand il doit déterminer la liste des serveurs de noms d'un domaine de premier niveau.
Les informations sont ensuite mises dans le cache du serveur DNS pendant une longue durée : 6 jours pour la liste des serveurs racine, 2 jours pour les informations des serveurs des domaines de premier niveau (TLD). Ces informations variant peu, les requêtes vers les serveurs racine sont donc relativement peu nombreuses.
Les serveurs racine sont non-récursifs, c'est-à-dire qu'ils ne fournissent que des réponses qui font autorité, ne transmettent aucune requête à un autre serveur et ne font pas usage d'un cache. Ils ne sont donc pas utilisables directement par le résolveur d'un client final.
Une étude de 2003 indique que seuls 2 % des requêtes à destination de ces serveurs étaient légitimes. Les mises en cache incorrectes ou inexistantes sont à l'origine de 75 % des demandes. 12,5 % concernent des demandes pour des domaines de premier niveau inconnus, 7 % parce qu'elles traitent des adresses IP comme des noms de domaines, etc. Certains ordinateurs de bureau mal configurés tentent même de mettre à jour les enregistrements des serveurs racine ou sollicitent de la récursion, ce qui est le résultat d'une erreur de configuration. Les problèmes observés et les solutions pour y remédier sont décrits dans la RFC 4697.
En 2007, il y avait environ dix milliards de requêtes vers les serveurs racine quotidiennement.
Les serveurs racine font également autorité pour le domaine de premier niveau .arpa. La zone in-addr.arpa, utilisée pour la résolution inverse des adresses IPv4, était gérée par les serveurs racine jusqu'en février 2011. Elle est désormais sous la gestion technique des registres Internet régionaux.

## Les serveurs racine du DNS

Contrairement à la croyance populaire, il n'y a plus de nos jours physiquement et uniquement treize serveurs racine du DNS, mais plutôt treize « identités de serveur »$^,$ dont les noms sont de la forme lettre.root-servers.net où lettre est une lettre comprise entre A et M. Cependant, ces « identités » (ou serveurs de noms (en)) ayant chacune une seule adresse IP assignée, sont communément référées comme étant les « serveurs racines ».
Douze organisations$^,$ contrôlent ces serveurs, deux sont européennes (RIPE NCC et Autonomica, une division de Netnod), une japonaise (WIDE), les autres étant américaines. Neuf de ces serveurs ne sont pas de simples machines mais correspondent à plusieurs installations réparties dans des lieux géographiques divers, il y a ainsi au 19 juillet 2019 plus de 997 sites dans 53 pays qui hébergent un serveur racine du DNS. En 2007, on comptait 130 sites$^,$.
Les serveurs ont été regroupés sous le même nom de domaine pour exploiter un mécanisme d'évitement de répétition des noms dans le protocole DNS.
| Lettre | adresse IPv4 | adresse IPv6 | Autonomous System | Ancien nom | Société | Localisation | Sites (global/local) | Logiciel |
| A | 198.41.0.4 | 2001:503:ba3e::2:30 | AS19836 | ns.internic.net | VeriSign | trafic distribué par anycast | 6 (6/0) | BIND |
| B | 199.9.14.201 | 2001:500:200::b | AS394353 | ns1.isi.edu | Université du Sud de la Californie | Marina Del Rey, Californie, États-Unis | 1 (1/0) | BIND |
| C | 192.33.4.12 | 2001:500:2::c | AS2149 | c.psi.net | Cogent Communications | trafic distribué par anycast | 6 (6/0) | BIND |
| D | 199.7.91.13$^,$ | 2001:500:2d::d | AS10886 | terp.umd.edu | Université du Maryland | College Park, Maryland, États-Unis | 1 (1/0) | BIND |
| E | 192.203.230.10 | 2001:500:a8::e | AS21556 | ns.nasa.gov | NASA | Mountain View, Californie, États-Unis | 1 (1/0) | BIND |
| F | 192.5.5.241 | 2001:500:2f::f | AS3557 | ns.isc.org | Internet Systems Consortium | trafic distribué par anycast | 49 (2/47) | BIND |
| G | 192.112.36.4 | 2001:500:12::d0d | AS5927 | ns.nic.ddn.mil | Defense Information Systems Agency | trafic distribué par anycast | 6 (6/0) | BIND |
| H | 198.97.190.53$^,$ | 2001:500:1::53 | AS1508 | aos.arl.army.mil | United States Army Research Laboratory (en) | Aberdeen, Maryland, États-Unis | 1 (1/0) | NSD |
| I | 192.36.148.17 | 2001:7fe::53 | AS29216 | nic.nordu.net | Autonomica (Netnod (en)) | trafic distribué par anycast | 68 | BIND |
| J | 192.58.128.30$^,$ | 2001:503:c27::2:30 | AS26415 | | VeriSign | trafic distribué par anycast | 70 (63/7) | BIND |
| K | 193.0.14.129 | 2001:7fd::1 | AS25152 | | RIPE NCC | trafic distribué par anycast | 18 (5/13) | BIND, NSD |
| L | 199.7.83.42 | 2001:500:3::42 | AS20144 | | ICANN | trafic distribué par anycast | 38 (37/1) | NSD |
| M | 202.12.27.33 | 2001:dc3::35 | AS7500 | | WIDE Project (en) | trafic distribué par anycast | 6 (5/1) | BIND |

## Limitation du nombre de serveurs

La RFC 1035 prévoit que les requêtes et les réponses DNS sur le protocole de datagramme utilisateur (UDP) ne dépassent pas 512 octets. Si la réponse est plus volumineuse, le protocole TCP doit alors être utilisé. Ceci consomme plus de ressources et présente le risque d'être bloqué par un pare-feu. Ce cas de réponse volumineuse est rare en pratique, mais la liste des serveurs de noms de la zone racine du DNS avec les adresses IP correspondantes atteint cette limite ; 671 octets étant nécessaires pour une réponse complète en juillet 2010.
Les serveurs A, C, F, G, I, J, K, L et M sont maintenant distribués géographiquement grâce à anycast. En général, le serveur le plus proche du client au sens du réseau sera alors utilisé. C'est ainsi que la plupart des serveurs physiques du système de noms de domaine sont à présent situés hors des États-Unis.
Les serveurs racines du système de noms de domaine peuvent également être déclinés localement, par exemple sur les réseaux des fournisseurs d'accès à internet. Ils doivent être synchronisés avec le fichier de la zone racine du département du Commerce des États-Unis ainsi que le préconise l'ICANN. De tels serveurs ne sont pas des serveurs DNS alternatifs mais une déclinaison locale des serveurs racines de A à M.
L'extension EDNS0 (RFC 2671) permet d'utiliser une taille de paquets plus élevée, sa prise en charge est recommandée pour IPv6 comme pour DNSSEC.

## Sécurité des serveurs racine

Les serveurs racine jouent un rôle important dans le système de noms de domaine (DNS). Si l'un ou quelques-uns d'entre eux ne répondent plus, la charge est répartie entre les serveurs qui subsistent. Si aucun d'entre eux ne pouvait répondre aux requêtes, les noms de domaines deviendraient progressivement inaccessibles, au fur et à mesure que les informations dans les caches parviendraient à expiration, c'est-à-dire environ 2 % par heure d'indisponibilité totale.
La possibilité d'un bug qui affecterait l'ensemble des serveurs est limitée par la diversité des versions logicielles employées : BINDv8, BINDv9 et NSD. Le matériel sur lequel fonctionnent les serveurs est divers.
Les risques d'attaques par déni de service sont réduits par le nombre de serveurs en anycast. L'adresse unicast de la plupart des serveurs n'est pas publiée pour éviter les attaques ciblées. Il n'est pas rare que l'un des serveurs fasse l'objet d'une attaque par déni de service, sans que cela affecte de façon perceptible la qualité du fonctionnement du DNS dans son ensemble.
Certaines attaques de grande ampleur ont cependant eu lieu au XXIe siècle :

### Attaque de 2002

Le 21 octobre 2002, la racine complète du DNS a fait l'objet d'une attaque de grande ampleur pendant une heure, les treize serveurs A à M étant visés$^,$. Pendant cette attaque, sept serveurs sur treize ont vu leurs performances dégradées en raison d'un flux de 100 000 à 200 000 requêtes par seconde vers chacun des serveurs. Toutefois, l'attaque n'a pas provoqué de grandes perturbations du réseau mondial, ce qui montre la robustesse du système. Selon le président-directeur général de Verisign, qui gère deux serveurs racine, l'ensemble des requêtes aurait pu être assuré par un seul serveur.
L'attaque a été réalisée selon la méthode DDoS (déni de service). Les pirates ont pu, grâce à un parc de machines très important, générer un nombre de requêtes deux à trois fois supérieur à la capacité de charge des treize serveurs visés, soit quarante fois le volume habituel des requêtes.
Le système anycast a été mis en place après cette attaque pour neutraliser les attaques de type DoS.

### Attaque de 2007

Le 6 février 2007, les serveurs F, G, L et M ont été attaqués pendant 24 heures à partir de 10:00 UTC. G et L ont été affectés sérieusement, tandis que F et M ont rapporté une charge inhabituelle. L'impact sur M a été amoindri grâce à anycast.
La source s'avère être un réseau botnet de 5 000 machines essentiellement basées en Corée du Sud et dirigé depuis les États-Unis.

### Attaques de 2015

Le 30 novembre 2015 (de 06:50 UTC jusqu’à environ 09:30 UTC) et le 1er décembre 2015 (de 05:10 UTC à 06:10 UTC), les 13 serveurs racine ont fait l’objet de deux attaques DDoS, causant des délais d’attente sur les serveurs racine B, C, G et H. Environ 5 millions de requêtes ont été envoyées par seconde vers les serveurs avec deux domaines uniques à l'origine de l'attaque, un pour chaque attaque. Selon le rapport du site root-servers.org, trois des treize serveurs racine ont subi des ralentissements, mais l'impact sur l'ensemble d'internet est resté limité.

## Zone racine

Le fichier de la zone racine est disponible publiquement. Il est assez peu volumineux (de l'ordre de 2,1 Mo) et contient 1531 délégations de domaines de premier niveau, 7 295 serveurs de noms, 4 265 enregistrements A et 3 641 enregistrements AAAA en avril 2019.
Des signatures DNSSEC RRSIG ont été ajoutées aux fichiers de la racine en juillet 2010. Le 11 octobre 2018, la clé de signature de clé (KSK) de la zone racine a été changée avec succès par l'ICANN. En avril 2019, sur l'ensemble des 1 531 domaines de premier niveau présents, 1 388 sont signés avec DNSSEC.

## Hiérarchies alternatives

Il est possible de créer une hiérarchie DNS alternative avec un ensemble de serveurs racine alternatifs. Un serveur qui voudrait y avoir recours doit disposer de la liste des serveurs racine de cette hiérarchie DNS alternative.
Ces hiérarchies peuvent définir d'autres domaines de premier niveau. Ces domaines ne seront pas accessibles par les clients qui n'utilisent pas cet ensemble de serveurs. La possibilité qu'un domaine de premier niveau soit défini de façon différente entre des hiérarchies alternatives existe également.
Parmi ces hiérarchies alternatives, on peut citer :
* ORSN (en)
* OpenNIC
* Unifiedroot
* AlterNIC (en) qui a cessé ses activités en 1997
* eDNS, clos en 1998
L'Internet Architecture Board (IAB) a exprimé, dans le RFC 2826, la nécessité de conserver une hiérarchie unique pour préserver la cohésion du réseau Internet.

### Hiérarchies alternatives en pair à pair

Différents systèmes de réseaux en pair à pair ont également été créés, dans le but d'offrir une alternative viable tout en réduisant les frais de l'infrastructure, parmi lesquels :
* CoDoNS, développé à l'université Cornell
* GNU Name System (GNS), utilisé par le réseau GNUnet avec le domaine de premier niveau .gnu
* Kadnode, basé sur le protocole en table de hachage distribuée Kademlia
* Namecoin, basé sur Bitcoin, utilise le domaine de premier niveau .bit
* OddDNS ; projet abandonné en 2012