2. lucas.girardin.com
Hey I would like access to lucas-
girardin.com website
Sure, it’s me, here is my index.html page
lucas.girardin.com
Server
lucas.girardin.com
6. Domain Name
Server
Or
Resolver
Do you know name.com ?
Do you know name.com ?
Root Server
13 servers
all around
the world
.com .net .org
Top Level Domain Server
This guy knows the
IP, for sure
Authoritative
Server Name
7. Domain Name
Server
Or
Resolver
Do you know name.com ?
Do you know name.com ?
Root Server
13 servers
all around
the world
.com .net .org
Top Level Domain Server
This guy knows the
IP, for sure
Authoritative
Server Name
Cache Cache
Cache
8. Cache, a TTL* story
*Time To Live
Short TTL
• Cache of
computers/servers/DNS must
be updated more frequently
• Increase the number of
requests on DNS server
• Useful if the IP of server
change frequently
Long TTL
• Cache of
computers/servers/DNS are
updated less frequently
• Decrease the number of
requests on DNS server
• Useful if the DNS server
is not available, request
can continue to reach the
website
TTL value can be seconds, minutes, days, months…
9. DNS Record
• A / AAAA = Server IP v4 / v6
• CNAME = Alias
• MX = For mail server
• …
• SOA / NS = Truth source
• PTR = A opposite, convert an IP in name
11. Domain Name
Server
Lucas-Girardin.com
---------------------------------
A . . . . . . . . . . : 10.10.10.1
CNAME . . . . . . . . : WebServer01
Time To Live . . . . : 86400
10.10.10.1
Access to :
- lucas.Girardin.com
- WebServer1
- 10.10.10.1
192.168.20.10
Access to :
- 192.168.20.10
DNS entry to updated
12. Domain Name
Server
Lucas-Girardin.com
---------------------------------
A . . . . . . . . . . : 192.168.20.10
CNAME . . . . . . . . : WebServer01
Time To Live . . . . : 86400
Lucas-Girardin.com
--------------------------------
Record Name . . . . . : Lucas-
Girardin.com
Record Type . . . . . : 1
Time To Live . . . . : 514
Data Length . . . . . : 4
Section . . . . . . . : Answer
A (Host) Record . . . :
10.10.10.1
ipconfig /displaydns
13. TTL strategy
• For an initial TTL at 86400s (1 day)
• Reduce TLL to 3600s (1 hour) at least one day before
the migration
• Reduce TLL to 600s (10 minutes) at least one hour
before the migration
• After migration set the TTL to the initial value,
86400s (1 day)
Editor's Notes
Pour accéder a un site web on entre une adresse web, qui est l’adresse de ce site web uniquement
Mais en fait les adresse web c’est un truc d’humain, les machines ne parle qu’en chiffre, en binaire, mais aussi pour le réseau en adresse IP
On a donc un peut notre super héros, ou notre super traducteur qui converti les noms d’adresse IP en nom et les noms en adresse IP, c’est le Domain Name Server ou DNS
Sur nos machines on peut voir notre cache DNS, avec ipconfig /displaydns par exemple sur Windows.
Dans les informations on voit toutes les informations DNS que notre ordinateur à garder en cache pour éviter de les demander à chaque fois. Si on va 50 fois par jour sur google.com, c’est inutile de demander 50 fois au serveur DNS qu’elle est l’adresse IP derrière google.com on le demande la première fois et ensuite on garde l’information un certain temps
Cette information en cache elle vient bien sûr d’abord du DNS, si le DNS ne connais pas l’adresse alors il va contacter les Root Server, qui sont les 13 serveurs qui servent à connecter le monde (https://root-servers.org/) Attention, 13 serveurs, ne veut pas dire 13 instances !
Ces Root Server peuvent demander une information aux Top Level Domain Server, ce sont les serveurs qui gère les domaines principaux, il en existe 1 par extension (.com, .net, .fr …) (https://www.iana.org/domains/root/db)
Ces Top Level Domain Server peuvent demander à un Authoritative Server Name pour chaque nom de domaine qu’elle est l’IP attaché.
Bien sûr on ne doit pas faire ça pour chaque requête, ça sera un trafique énorme, on a donc du cache a tous les niveaux pour éviter de demander à chaque fois l’information a quelqu’un d’autre.
Le cache est donc la partie très importante dans les noms de domaine car c’est sur ça que l’on s’appuie la plupart du temps. Le cache se met à jour selon le TTL d’une entrée DNS ou son Time To Live.
On peut avoir un TTL court ou un TTL long, les deux ont des avantages et inconvénient.
Un TTL court oblige les diffèrent cache à se mettre à jour plus fréquemment, cela augmente donc les requête et la charge sur le réseau et les serveurs. Si cependant notre site et derrière une IP qui change fréquemment c’est nécessaire pour être sûr que tout le monde est toujours la dernière adresse
Au contraire un cache long implique moins de requête et de charge et permet d’avoir un site web toujours accessible, même si le serveur DNS ne répond plus.
Les valeur TTL qui sont toujours exprimé en seconde peuvent aller de quelque seconde, a des mois
L’autre point important c’est les fameuse entrée DNS, une entrée DNS contient les informations suivantes
A ou AAAA qui est l’adresse IP v4 ou V6 delà machine qu’on doit joindre
Le CNAME est un alias, donc un autre nom qui peut se référer à cette adresse IP
MX qui est spécifique au serveur mail
SOA et NS qui désigne les sources d’autorités sur cette entrée.
Et PTR qui l’inverse de A / AAAA convertie une IP en un nom. C’est utilisé dans le nslookup par exemple.
Prenons l’exemple suivant, mon site web est sur le server 10.10.10.1.
Mon server DNS a une entrée qui indique que le nom lucas-Girardin.com est lié au server 10.10.10.1
On a aussi un alias, WebServer1
Enfin le TTL est de 1 jour
On peut donc accéder à mon site web via lucas.Girardin.com, webserver1 ou 10.10.10.1 et ces infos serons mis à jour chez tout le monde, toutes les 24 heures
Si je migre mon site web vers un autre serveur, il aura donc une autre IP, et si l’entrée DNS ne change pas, je ne pourrai accéder à mon site web que par l’adresse IP directement 192.168.20.10
Je peux donc mettre à jour mon entrée DNS, mais attention avec un TTL de 86400 secondes le cache des autres machines ne sera pas mis à jour tous de suite, et donc depuis mon ordinateur qui utilise son propre cache l’adresse sera toujours relié à l’ancien serveur.
En plus de l’entrée DNS le TTL est donc aussi à gérer pour effectuer une migration, une approche avec un TTL d’un jour et de le réduire petit à petit, d’abord à 1h, puis 10 minutes afin de ne pas avoir trop de charge sur le serveur DNS au début.
Une fois la migration réussite le TTL peut être remis à son niveau initial