Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Cache DNS

Chaque fois que vous demandez à votre appareil d'aller sur un site Web ou d'exécuter un service Web, la première opération consiste à aller chercher l'adresse de la machine (le serveur) qui héberge ce site ou service en consultant un serveur DNS. Par principe d'accélération par l'anticipation, cette résolution est notée dans un cache DNS.

01.04.2012 - Révision 21.08.2020 - Révision mineure 21.09.2021. Auteur : Pierre Pinard.

Chaque fois que vous demandez à votre appareil d'aller sur un site Web ou d'exécuter un service Web, la première opération consiste à aller chercher l'adresse de la machine (le serveur) qui héberge ce site ou service en consultant un serveur DNS qui donne la résolution d'un nom de domaine en une adresse IP. Puis, avec un cache (« principe d'accélération par l'anticipation »), cette résolution est notée dans un cache DNS.

Comme tous les « caches », les « caches DNS » font partie du « principe d'accélération par l'anticipation ». Lorsqu'une demande de résolution d'un nom de domaine en une adresse IP est communiquée à votre appareil (système d'exploitation ou navigateur Web), celui-ci met en « cache », dans un cache dit « cache DNS », le résultat de cette résolution (résolutions réussies durant les dernières 86.400 secondes ou échouées durant les dernières 300 secondes), afin de ne pas avoir à redemander cette résolution.

Voir Hosts et DNS : Schéma de principe de la résolution des noms de domaine.

La résolution est mise en cache pour un certain temps. Lire les durées de vie dans le cache DNS.

Cache DNS - L'outil de résolution des noms de domaine

Les sites et services Web sont hébergés (stockés) sur des ordinateurs appelés « serveurs ». Votre ordinateur est le « client » et fait des demandes (appelées « requêtes ») aux serveurs. L'usage WEB de l'Internet fonctionne entièrement dans ce mode appelé « Client/Serveur ». Le « P2P » (dont les Réseaux privés virtuels - « VPN - Virtual private network ») est une autre forme d'usage de l'Internet.

Les sites ou services Web sont connus de vous sous leurs « noms de domaine », ce dont le WEB se fiche complètement. Lorsque vous demandez le domaine https://tartempion.com, il est impossible de le trouver sous ce nom puisque, techniquement parlant, le serveur de ce domaine n'est connu que sous son adresse IP (IPv4 ou IPv6).

Il existe donc un unique outil mondial de conversion de tous les « noms de domaine » en adresses IP : l'annuaire mondial des paires « nom de domaine adresse IP du serveur de ce domaine ». Cet outil de « résolution des noms de domaine » est accessible sur des serveurs particuliers, les serveurs DNS (en fait, des appareils normaux avec un logiciel particulier : logiciels serveur DNS). Il y a 13 serveurs DNS « racine » dans le monde, qui contiennent la totalité de la base de données des paires « noms de domaines adresses IP » et il existe des dizaines de milliers de réplications partielles de cette base de données un peu partout, dont chez les FAI (Fournisseur d'Accès Internet) qui, chacun, privilégie les domaines/serveurs de sa zone d'influence (son pays).

Une fois cette « résolution d'un nom de domaine » obtenue, comment faire pour ne pas recommencer cette demande de résolution chaque fois que l'on retourne sur le même domaine ? Comment gagner un peu de temps en évitant de recommencer une requête dont on a déjà obtenu le résultat ?

Comme il est très rare que les sites et services Web changent de serveur, tous les systèmes d'exploitation et navigateurs Web du monde conservent dans une petite mémoire locale, appelée « cache DNS », les résolutions des paires « Noms de domaine adresses IPs » qui viennent d'être résolues, afin de les retrouver plus rapidement (principe d'anticipation) la prochaine fois, sans avoir à re consulter les « serveurs DNS ». Ce mécanisme permet de gagner, en vitesse de connexion Internet, quelque chose comme un milliardième de nanoseconde, quelques dizaines de fois par jour, soit rien du tout. Cela avait du sens lors des connexions Internet avec le réseau téléphonique commuté (ce qui n'est plus le cas en France, mais ce qui est encore le cas dans de nombreux pays).

Cache DNS - Accélération par la mise en cache de la résolution

Comme il peut arriver qu'un site ou service change de serveur, ce qui est tout de même très rare, le « cache DNS » peut alors provoquer l'effet inverse en dirigeant vers une adresse IP récemment résolue, mais qui vient de changer. Cela provoque un blocage d'accès similaire au fonctionnent des listes Hosts de blocage. Le problème est partiellement résolu automatiquement, car la durée de rétention des paires, dans le « cache DNS », est de 24 heures. Chaque paire qui a plus de 24 heures est automatiquement effacée et il faut recommencer une résolution. Conséquence : durant ces 24 heures, si vous n'arrivez plus à joindre un domaine, il faut vider (effacer) le « cache DNS ».

Pour plus de détail, voir la page Schéma de principe de la résolution des noms de domaine

Hosts et DNS - Schéma de principe de la Résolution des noms de domaine
Hosts et DNS - Schéma de principe de la Résolution des noms de domaine


Cache DNS - Blocage accidentel d'accès à un domaine

Pour information, des tentatives de faire « tomber » le WEB mondial en attaquant les serveurs DNS « racine » (attaques DDoS) ont eu lieu à plusieurs reprises. Elles ont toutes échoué (simples ralentissements), mais cela a permis à des états cybercriminels de sonder et mesurer la résistance du Web et de préparer la prochaine cyberguerre.

  1. Attaque du 21 octobre 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. Les cybercriminels 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 charge habituelle 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/DDoS (dont fournir une redondance sur panne automatique).

  2. Attaque du 6 février 2007

    Le 6 février 2007, les serveurs F, G, L et M ont été attaqués pendant 24 heures à partir de 10:00 (Temps universel 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 de l'attaque s'avère être un botnet de 5 000 machines essentiellement basées en Corée du Sud et dirigé depuis les États-Unis.

  3. Attaques des 30 novembre et 1er décembre 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é.

Il y a d'autres types d'attaques comme jouer avec la recherche automatique, par certains serveurs DNS, de noms de domaines proches d'une résolution échouée pour diriger vers des domaines marchands inattendus, etc.

Cache DNS - Attaques des serveurs DNS (serveurs racine)

Dossier (collection) : Caches, caches DNS, anticipation et accélération

Notions et principes
Principes d'anticipation
Notion de cache et principe d'accélération
Antémémoire
Antémémoire (« Cache memory »)
Mémoire cache
Mémoire prédictive
Mémoire d'anticipation
Schéma de principe - résolution noms de domaine
ETag (Entity Tag - HTTP ETag - balise-entité ETag HTTP)

Ce ne sont pas des caches
Les « caches disques » ne sont pas des « caches »
Disque dur - Gestion des « caches d'écriture différée »
La mémoire virtuelle (fichier PageFile.sys) de Windows n'est pas un cache

Les caches DNS des systèmes d'exploitation
Cache DNS - Qu'est-ce que c'est
TTL - Durée de vie des données mises en cache DNS

Comment voir le contenu du cache DNS de Windows - invite de commande
Comment voir le contenu du cache DNS de Windows - Application graphique gratuite DNSDataView

Comment vider le cache DNS de Windows
Comment vider le cache DNS de Linux
Comment vider le cache DNS de MAC OS X

Les caches DNS des navigateurs Web
Comment vider le cache DNS de Firefox
Comment vider le cache DNS de Google Chrome

Les caches des navigateurs Web
Cache des navigateurs Web (ajustement et vider)
Vider le cache d'Internet Explorer 7
Vider le cache d'Internet Explorer 8
Vider le cache d'Internet Explorer 9
Vider le cache d'Internet Explorer 10
Vider le cache d'Internet Explorer 11
Vider le cache de Firefox
Vider le cache d'Opera 11
Vider le cache d'Opera 12
Vider le cache d'Opera 15
Vider le cache de Google Chrome
Vider le cache de Safari pour Windows

Accélérateur de Windows : le Prefetch - ne jamais y toucher
Prefetch (mécanisme accélérateur dans Windows)
Prefetcher
Prefetching
Windows Prefetching
Prefetch et Windows
Application Prefetching
Paging memory system
Hard page fault intensive scenarios

Cas d'usages du nettoyage des caches
Accélérer Windows et le PC
Procéder à une décontamination


Dossier (collection) : Hosts, DNS et Web

Hosts et DNS
Hosts et DNS - Schéma de principe
Hosts et DNS - Un peu d'histoire
Naissance du World Wide Web
Nom de domaine

Fichier Hosts - Qu'est-ce que c'est ? Où ?
Hosts
Hosts : Où se trouve le fichier Hosts
Comment restaurer un fichier hosts corrompu
Où trouver des listes Hosts toutes faites
HostsMan (pour importer des listes dans hosts)

DNS - Qu'est-ce que c'est ? Où ?
DNS
DNS - Les Kits de connection des FAI
DNS - Pourquoi changer de DNS
DNS - Comment changer de DNS
DNS des FAI français (et quelques autres)
Comment utiliser les DNS de Google ?
Comment utiliser les DNS d'OpenDNS ?
Comment utiliser les DNS de la FDN ?
Comment vider les caches des navigateurs ?
NameBench - Trouver des DNS rapide

Cache DNS du Système d'exploitation
Cache DNS - Qu'est-ce que c'est
Cache DNS - Voir le cache - Invite commande
Cache DNS - Voir le cache - DNSDataView
Cache DNS - Vider le cache DNS Windows
Cache DNS - Vider le cache DNS Linux
Cache DNS - Vider le cache DNS MAC OS X

Cache DNS des navigateurs Web
Cache DNS des navigateurs Web - Qu'est-ce que c'est ?
Cache DNS - Vider le cache DNS Firefox
Cache DNS - Vider le cache DNS de MS IE
Cache DNS - Vider le cache DNS de MS EDGE
Cache DNS - Vider le cache DNS Opera
Cache DNS - Vider le cache DNS Chrome
Cache DNS - Vider le cache DNS Safari

Web Réputation et listes de blocage
Domaine dans la listes hosts hphosts
Domaine dans les listes noires (blacklists)
Domaine de confiance ?
Catégorisation des sites dans une liste hosts

Trucs à DNS
Trucs à DNS 1 (Whois et IP-Whois)
Trucs à DNS 2 (Historiques, Ping, DNS...)
Trucs à DNS 3 (DNSView - Lecture du cache DNS)

Attaques des DNS et autres corruptions
Attaque en Pharming (corruption de hosts)



Cache DNS - Ressources


# Ailleurs sur le Web #

  1. #Cache DNS#