Comme vous le savez, les sites internet sont définis par des IPs et pas par des noms de domaine. Les noms de domaine ont été inventés pour faciliter les choses aux humains afin qu'ils puissent désigner leurs sites par des noms au lieu de chiffres plus difficiles à retenir.
Par exemple, les liens suivants sont équivalents:
http://www.cnn.comet
http://64.236.24.20Les deux renvoient vers le même site, mais un est facile à retenir alors que l'autre est plus compliqué.
Afin de savoir quel domaine pointe vers quelle adresse IP, il y a des tables qui correspondent tout simplement à des listes. Ce sont ce qu'on appelle les enregistrements DNS.
Quand vous consultez un site, vous entrez le nom de domaine et une base de données DNS est interrogée afin de savoir vers quelle IP vous diriger.
Les enregistrement DNS sont partout. Sur des serveurs DNS de votre ISP, de votre hébergeur, de serveurs DNS de grands réseaux... mais aussi en cache.
En fait, on ne fait pas d'interrogation DNS à chaque visite de site. Ca crée de la latence pour rien. C'est à dire qu'à chaque fois, il y aura une perte de temps correspondant au temps d'interrogation. Ceci arrive quand vous visitez un site pour la première fois, par la suite, cette information est mise en cache et la prochaine fois que vous visitez le site, l'interrogation DNS n'est pas réalisée.
Cache, donc problèmes potentiels...Ce cache peut se trouver partout. Déjà, il y en a un sur Votre Windows. Certains routeurs ou modems évolués ont une mémoire qui va garder en cache des infos DNS. C'est à dire des correspondances entre des domaines et des IPs. Le but est d'accélérer la navigation et l'affichage des sites "connus", c'est à dire que ceux que vous avez déjà visité. D'ailleurs, c'est dans cette même optique que les navigateurs internet gardent en cache des images, des textes et des pages entières que vous avez déjé visité pour vous les afficher plus vite la prochaine fois.
Le problème est que si l'IP correspondant à un nom de domaine venait à changer, il y a des chances pour votre système local continue à chercher votre site sur une IP plus valide du tout. Le cache peut être celui de Windows, comme celui de votre routeur, voir serveur principal qui sert de point d'accès à internet dans des cybercafés, entreprises, universités...
Le TTLLes tables DNS ne contiennent pas seulement des domaines et des IPs. D'autres informations viennent s'y ajouter et peuvent rendre l'ensemble très complique. Une information qui nous intéresse est le TTL. Le "Time To Live". Ce TTL accompagne chaque enregistrement DNS quand il est copié. Il correspond au temps que les diverses machines doivent garder en cache un enregistrement avant de le considérer comme expiré et d'aller chercher un nouveau.
Chez EdelweissHosting, le TTL moyen utilisé est de 1800 secondes, soit 30 minutes. Quand un visiteur arrive sur votre site, une seule interrogation DNS est faite par sa machine et pendant 30 minutes, les pages sont affichées directement sans interrogation. C'est pour cette raison que la première page met une fraction de seconde de plus à s'afficher. Nous utilisons beaucoup de serveurs DNS pour accélérer au maximum ce processus qui se fait à chaque entrée de site.
Respect du TTLMême si tout ce qui concerne les DNS est très normalisé et régulé de par le monde, voir trop des fois (ex. Afnic), il y a des soucis qui peuvent arriver. Un système peut être mal conçu, mal configuré ou avoir un bug ou autre et dans ce cas, il va appliquer un cache d'une durée par défaut qui n'est pas le TTL. Dans le pire des cas, ce cache peut avoir un TTL de plusieurs jours, voir éternel !
Quels sont les symptômes- Votre site ne s'affiche plus
- Votre site s'affiche lentement ou de manière incomplète
- Votre site aboutit à une autre page
- D'autres peuvent voir votre site mais pas vous...
...
Problèmes de sécuritéUn cache DNS peut aussi être un problème de sécurité. S'il était manipulé, il pourrait renvoyer un domaine que vous entrez vers n'importe quel site ! Par exemple, l'URL de votre banque vers celui du site d'un pirate. Heureusement, il y a les certificats SSL, ces derniers, vérifient le domaine ET aussi l'IP associée. Si le cache DNS est empoisonné, vous aurez une alerte de sécurité.
Le cache négatifLes systèmes qui font du cache retiennent aussi les sites auxquels vous n'avez pas pu accéder. Par exemple, vous achetez un nouveau nom de domaine et immédiatement vous aller le tapper dans la barre d'URL. Windows interroge une base DNS et ne trouve pas le nom de domaine et aucun site n'est affiché. Malheuresement, cette information est aussi mise en cache ! Si elle persiste trop lontemps, même quand votre domaine sera actif, vous n'allez pas le voir mais continuer à avoir immédiatement un message d'erreur. Si vous avez l'habitude de votre PC, vous pouvez même sentir quand il est entrain de vour arnaquer avec de mauvaises infos du cache. La réponse sera trop rapide. Il suffit de lui tapper le domaine et à peine vous tappez enter, qu'il va afficher un message d'erreur. En si peu de temps, il ne va jamais vous faire croire qu'il est allé chercher une info DNS fraîche !
Que faire ?Sur Windows, il est possible de vider le cache DNS. Vous pouvez faire ceci quand vous voulez, ça n'a pas de conséquences sur votre navigation. Vous pouvez juste constater après avoir vidé le cache que l'accès la première fois à tous les sites est précédé d'un infime temps de latence correspondant à une nouvelle interrogation DNS.
- Allez dans
Start en bas à gauche et dans
Run... (exécuter), entrez:
ipconfig /flushdnsWindows répondra:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.Pour vider le cache DNS sous Mac, la commande est:
lookupd -flushcacheSous Linux, la commande est
/etc/rc.d/init.d/nscd restart Il s'agit en fait de redémarrer
nscd parce que c'est lui qui gère cela.
Voir le cache de Windows:Ceci vous permet de voir ce que fait votre Windows et à quelle IP il s'adresse pour tel ou tel URL. Dans Start >>> RUN entrez la commande CMD. La fenêtre noire va s'ouvrir (une époque il n'y avait que ça dans les PC...

)
Entrez la commande
ipconfig /displaydnsCette commande vous permet aussi de découvrir certains programmes malicieux que vous n'avez jamais lancé mais qui tournent en tache de fond. Ils font donc des résolutions DNS et vous allez les voir. Si vous avez vidé le cache et 5 min après vous trouvez que votre PC a fait une résolution DNS vers un site de P2P ou Adulte... c'est qu'il y a du souci à se faire.
Editer les valeurs du cache (utilisateurs avancés seulement !!!)Les infos dans la base de registre Windows pour le cache sont ici:
HKEY_LOCAL_MACHINES\SYSTEM\CurrentControlSet\Services\DNSCache
Si vous vous trompez dans leur édition, vous coupez la connexion de votre PC à internet. N'y touchez que si vous savez ce que vous faites.
Routeurs et autre matérielLes routeurs ont souvent une mémoire intégrée et même des piles pour la garder. Il suffit qu'ils aient un souci et votre internet va très mal se comporter. Que faire ? Il faut éteindre le routeur quelques minutes en le mettant bien hors ligne (pas de courant). Si ça persiste, utilisez sa fonction de reset. Attention, à ne pas perdre toutes ses données de configuration si jamais.
Si c'est un serveur d'entreprise ou autre qui vous pose problème, il faut contacter son Admin pour lui demander de mieux le configurer.