Domain IP Lookup

Une IP, un serveur, ou une IP, plusieurs

Unicast

Une IP correspond à un seul serveur

Anycast

Une IP annoncée depuis de nombreux sites

Infrastructure et exploitation

Le DNS anycast expliqué

3 min de lecture

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.

UnicastAnycast
Une IP correspond àExactement un serveur physiqueDe nombreux serveurs physiques simultanément
Le routage choisitUn seul chemin fixeLe site annonceur le plus proche sur le plan topologique
Un site qui tombe en panneLe service devient injoignableLe trafic bascule vers le site suivant le plus proche
Exposition aux DDoSLe trafic d'attaque se concentre sur une seule cibleLe 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.