Une IP, un serveur, ou une IP, plusieurs
Unicast
Une IP correspond à un seul serveur
Anycast
Une IP annoncée depuis de nombreux sites
Le DNS anycast expliqué
Habituellement, une adresse IP identifie une machine précise, joignable par un chemin réseau précis. L'anycast remet volontairement en cause cette hypothèse : la même adresse IP est annoncée, simultanément, depuis de nombreux sites physiquement distincts à travers le monde. Le routage Internet achemine alors chaque requête vers le site annonceur le plus proche de l'émetteur sur le plan topologique, pas forcément le plus proche en distance physique, mais le plus proche par le chemin réseau.
Pourquoi l'infrastructure DNS s'appuie autant sur l'anycast
Les résolveurs publics comme 1.1.1.1 et 8.8.8.8 sont des adresses anycast. Lorsque vous interrogez 1.1.1.1 depuis Tokyo et que quelqu'un d'autre interroge la même adresse depuis Berlin, vous atteignez en réalité chacun un serveur physique différent, celui qui est le plus proche sur le réseau, alors que vous saisissez tous deux exactement la même adresse IP dans votre configuration. C'est ce qui permet à une seule IP facile à retenir d'offrir une latence constamment faible dans le monde entier, au lieu que tout le monde soit routé vers un unique centre de données, où qu'il se trouve.
| Unicast | Anycast | |
|---|---|---|
| Une IP correspond à | Exactement un serveur physique | De nombreux serveurs physiques simultanément |
| Le routage choisit | Un seul chemin fixe | Le site annonceur le plus proche sur le plan topologique |
| Un site qui tombe en panne | Le service devient injoignable | Le trafic bascule vers le site suivant le plus proche |
| Exposition aux DDoS | Le trafic d'attaque se concentre sur une seule cible | Le trafic d'attaque se répartit naturellement entre tous les sites |
- Résilience : si un site anycast tombe en panne, le routage bascule simplement vers le suivant le plus proche, souvent sans que le client s'en aperçoive.
- Ce n'est pas propre au DNS : les CDN et d'autres services sensibles à la latence utilisent la même technique sous-jacente.
L'essentiel en pratique
Vous n'avez rien à configurer différemment pour profiter de l'anycast : tout se passe au niveau de la couche de routage réseau, de façon invisible pour l'application qui émet la requête. Il est surtout utile de le connaître parce qu'il explique pourquoi un grand résolveur public peut rester rapide et disponible à l'échelle mondiale sans que vous ayez à choisir un point de terminaison propre à une région, comme on le ferait pour une base de données cloud ou une instance de calcul.
BGP est le mécanisme derrière « le plus proche topologiquement »
« Le plus proche par le chemin réseau » n'est pas déterminé par une mesure de la distance physique en temps réel. Chaque réseau qui annonce une adresse anycast le fait via BGP, le protocole de routage qui relie entre eux les réseaux individuels d'Internet, et chaque routeur sur le trajet choisit le chemin qui semble actuellement le plus court selon les propres métriques de BGP : en général le moins de sauts réseau, pas le moins de kilomètres. En pratique, cela correspond le plus souvent à la proximité physique, mais pas parfaitement : une requête peut parfois être routée vers un site légèrement plus éloigné si ce chemin paraît plus court en termes BGP, notamment lors de pannes de réseau ou d'accords de peering inhabituels.
Pourquoi l'anycast ne convient pas à tout
L'anycast convient très bien aux échanges courts et sans état, comme une requête DNS unique et sa réponse : rien n'est perdu si un paquet suivant est routé vers un autre serveur physique que le premier. Il convient mal aux connexions longues avec état : si le chemin réseau change en cours de connexion (instabilité de route, modification de peering), une session TCP en anycast dirigée vers un autre point de terminaison physique que celui qui l'a établie s'interrompt tout simplement, car le nouveau serveur ignore que la connexion a existé. C'est en partie pour cette raison que l'anycast est si fortement associé au DNS et aux autres protocoles requête-réponse fondés sur UDP, et bien moins utilisé pour une connexion de base de données de longue durée ou un flux vidéo.
Besoin de vérifier les adresses DNS publiques d'un domaine ? Utilisez l'outil Domain IP Lookup.
À lire aussi
Pourquoi une recherche affiche le CDN, pas l'origine
Visiteur
recherche le domaine
Edge CDN
104.21.x.x
c'est ce que renvoie le DNS
Serveur d'origine
IP réelle, jamais exposée
Comment les CDN utilisent le DNS pour router le trafic
La vraie magie d'un réseau de diffusion de contenu opère au niveau du DNS, avant même qu'un seul octet de contenu soit demandé.
Un nom d'hôte, plusieurs enregistrements A
1re réponse
93.184.216.34
2e réponse
93.184.216.35
3e réponse
93.184.216.36
Le résolveur renvoie tous les enregistrements, généralement en rotation
Round-robin DNS : répartir le trafic entre plusieurs IP
Comment le round-robin DNS renvoie plusieurs adresses, ce qu'il peut (ou non) faire pour répartir la charge, et l'influence du cache sur les résultats observés.
Un nom d'hôte, plusieurs enregistrements A
1re réponse
93.184.216.34
2e réponse
93.184.216.35
3e réponse
93.184.216.36
Le résolveur renvoie tous les enregistrements, généralement en rotation
Répartition de charge DNS : méthodes, avantages, limites
Comparez le DNS aux répartiteurs de charge applicatifs et voyez comment TTL, contrôles de santé et réponses régionales influent sur la disponibilité.