Qu’est-ce qu’anycast?
Anycast, également connu sous le nom d’IP anycast, est une technique de mise en réseau qui permet à plusieurs machines de partager la même adresse IP. En fonction de l’emplacement de la demande de l’utilisateur, les routeurs l’envoient à la machine du réseau le plus proche. Ceci est bénéfique car, entre autres, cela réduit la latence et augmente la redondance. Si un centre de données particulier devait être déconnecté, une adresse IP anycasted choisirait le meilleur chemin pour les utilisateurs et les redirigerait automatiquement vers le centre de données le plus proche. Ce qui suit décrit certains des avantages et des inconvénients associés à la configuration d’anycast.
Avantages
- Vitesse. Le trafic allant à un nœud anycast sera acheminé vers le nœud le plus proche, réduisant ainsi la latence entre le client et le nœud lui-même. Cela garantit que les vitesses seront optimisées, quel que soit l’endroit où le client demande des informations.
- Redondance. Anycast améliore la redondance en plaçant plusieurs serveurs à travers le monde en utilisant la même adresse IP. Cela permet de rediriger le trafic vers le serveur le plus proche dans le cas où un serveur tombe en panne ou se déconnecte.
- Atténuation des attaques DDoS. Les attaques DDoS sont causées par des réseaux de zombies qui peuvent générer tellement de trafic qu’ils submergent une machine monodiffusion typique. L’avantage d’avoir une configuration anycast dans cette situation est que chaque serveur est capable d' »absorber » une partie de l’attaque, ce qui réduit la pression sur le serveur dans son ensemble.
- Équilibrage de charge. L’équilibrage de charge peut être utilisé dans le cas où plusieurs nœuds se trouvent tous à la même distance géographique de la requête. Cela supprime une partie des besoins en ressources d’un nœud singulier et les disperse sur plusieurs nœuds.
Inconvénients
- Difficile à mettre en œuvre. La mise en œuvre d’IP anycast est une entreprise complexe qui nécessite du matériel supplémentaire, des fournisseurs en amont fiables et un routage du trafic approprié.
Protocole de passerelle frontière et systèmes autonomes
Le protocole de passerelle frontière (BGP) et les Systèmes autonomes (AS) font partie intégrante du fonctionnement d’IP anycast. Le BGP échange des informations de routage et d’accessibilité entre AS. Il prend des décisions de routage basées sur des chemins, des stratégies et des ensembles de règles, ce qui est un élément clé de ce qu’offre IP anycast. Dans le routage BGP, il existe plusieurs routes pour la même adresse IP qui pointent vers des emplacements différents.
Un système autonome est un réseau unique ou un ensemble de réseaux tous administrés par le même administrateur. Les systèmes autonomes ont chacun un numéro ASN unique, ou Numéro de système Autonome, à utiliser dans le routage BGP, car chaque ASN identifie chaque réseau sur Internet.
Des outils comme ExaBGP peuvent être utilisés pour transformer des messages BGP en texte ou en JSON qui peuvent ensuite être gérés par de simples scripts. Cela permet aux administrateurs de détecter et de gérer facilement les pannes de réseau ou de service.
Comment fonctionne anycast ?
Comme mentionné précédemment, anycast dirige les demandes des utilisateurs vers le nœud le plus proche afin de réduire la latence de la page. Il le fait en suivant ces étapes.
- Plusieurs instances de service annoncent qu’elles partagent la même adresse IP.
- Lorsque le navigateur de l’utilisateur fait une demande, le routeur reçoit cette demande et choisit simplement l’itinéraire avec la distance la plus courte vers le serveur le plus proche en fonction du chemin AS.
En utilisant l’unicast, qui sera expliqué dans la section suivante, le chemin ne conduirait qu’à une destination, quelle que soit la distance. En utilisant anycast, l’itinéraire est optimisé car il sélectionne toujours le meilleur chemin. Dans le cas où un serveur est en panne, le BGP trouvera simplement le prochain meilleur chemin et y acheminera la demande.
Il convient cependant de noter qu’anycast peut être configuré non seulement pour acheminer la demande en fonction de la distance, mais également d’autres facteurs, par exemple:
- Disponibilité du serveur
- Nombre de connexions
- Délai de réponse
Autres méthodes d’adressage
D’autres méthodes d’adressage existent également pour acheminer les demandes des utilisateurs vers un point final de réseau particulier. Ceux-ci incluent l’unicast, la multidiffusion, la diffusion et la géocast. Nous allons entrer plus en détail pour chacun dans les sections ci-dessous.
Unicast
La plupart d’Internet utilise aujourd’hui cette méthode. L’unicast limite l’association d’une adresse IP à un seul nœud particulier d’un réseau. C’est ce qu’on appelle une association individuelle. Bien qu’une grande partie d’Internet utilise cette méthode, elle est sous-optimale en raison des restrictions consistant à ne pouvoir associer une adresse IP qu’à un seul nœud.
Multidiffusion
La multidiffusion utilise une association un-à-plusieurs-de-plusieurs ou plusieurs-à-plusieurs-de-plusieurs. La multidiffusion permet d’acheminer simultanément une demande d’un expéditeur vers divers points de terminaison sélectionnés. Cela permet à un client de télécharger un fichier en morceaux à partir de plusieurs hôtes en même temps (utile pour le streaming audio ou vidéo). La multidiffusion est souvent confondue avec anycast, mais la principale différence est qu’anycast achemine l’expéditeur vers un nœud spécifique, même si plusieurs nœuds sont disponibles.
Broadcast
Broadcast utilise une association un pour tous. Un datagramme d’un expéditeur singulier est acheminé vers tous les points de terminaison associés à l’adresse broadbast. Le réseau réplique automatiquement les datagrammes afin qu’il puisse atteindre tous les destinataires de la diffusion, qui consiste généralement en un sous-réseau de réseau entier.
Geocast
La géocast est quelque peu similaire à la multidiffusion en ce sens que les demandes d’un expéditeur sont acheminées simultanément vers plusieurs points de terminaison, mais la différence est que le réseau est défini par leur emplacement géographique.
Anycast et IPv4 vs IPv6
Anycast n’est pas officiellement pris en charge en IPv4, cependant, cela peut être contourné en utilisant BGP. Essentiellement, plusieurs hôtes reçoivent la même adresse IP unicast et les routes sont annoncées via BGP. Par conséquent, les routeurs interprètent cela comme plusieurs routes vers la même destination alors qu’en fait, ils sont routés vers des destinations différentes avec la même adresse.
L’inconvénient de cette approche est cependant que le réseau peut effectuer ce qu’on appelle un « commutateur POP » qui modifie les paquets de routage en cas d’encombrement ou de modifications du réseau.
IPv6, d’autre part, prend explicitement en charge anycast. Les routeurs IPv6 ne distinguent généralement pas un paquet anycast d’un paquet unicast via le réseau, bien qu’une manipulation spéciale des routeurs proches de la destination soit requise.
De plus, le même processus utilisé en IPv4 peut également être utilisé en IPv6. Cette méthode ne dépend pas des routeurs conscients d’anycast, mais vous rencontrerez les mêmes problèmes que ceux décrits ci-dessus.
Résumé
Il est clair qu’anycast est une technique puissante pour, entre autres, réduire la latence des pages et atténuer les attaques. Bien qu’il s’agisse d’une entreprise complexe à mettre en œuvre, les bénéfices sont considérables pour les utilisateurs et les fournisseurs de services.
KeyCDN est heureux d’offrir anycast pour aider à améliorer l’efficacité globale des services à nos clients.