Anycast vs Unicast : quel est le meilleur choix dans chaque cas

Beaucoup de gens ont probablement entendu parler d'Anycast. Dans cette méthode d'adressage et de routage réseau, une seule adresse IP est attribuée à plusieurs serveurs sur un réseau. Ces serveurs peuvent même être situés dans des centres de données éloignés les uns des autres. L'idée d'Anycast est que, en fonction de l'emplacement de la source de la requête, les données sont envoyées au serveur le plus proche (selon la topologie du réseau, plus précisément le protocole de routage BGP). De cette façon, vous pouvez réduire le nombre de sauts de réseau et la latence.

Essentiellement, le même itinéraire est annoncé depuis plusieurs centres de données à travers le monde. Ainsi, les clients seront envoyés vers le « meilleur » et le « plus proche » en fonction des routes BGP, le centre de données. Pourquoi Anycast ? Pourquoi utiliser Anycast au lieu d’Unicast ?

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Unicast est vraiment adapté à un site avec un seul serveur Web et un trafic modéré. Cependant, si un service compte des millions d’abonnés, il utilise généralement de nombreux serveurs Web, chacun ayant la même adresse IP. Ces serveurs sont répartis géographiquement pour répondre de manière optimale aux demandes.

Dans ce scénario, Anycast améliorera les performances (le trafic est envoyé à l'utilisateur dans un délai minimal), assurera la fiabilité du service (grâce aux serveurs de sauvegarde) et l'équilibrage de charge - le routage vers plusieurs serveurs répartira efficacement la charge entre eux, améliorant ainsi la vitesse. du site.

Les opérateurs proposent aux clients différents types d'équilibrage de charge basés sur Anycast et DNS. Les clients peuvent spécifier les adresses IP auxquelles les demandes seront envoyées en fonction de la situation géographique du site. Cela permet de répartir les demandes des utilisateurs de manière plus flexible.

Supposons qu'il existe plusieurs sites entre lesquels vous devez répartir la charge (utilisateurs), par exemple une boutique en ligne avec 100 000 requêtes par jour ou un blog populaire. Pour limiter la région à partir de laquelle les utilisateurs accèdent à un site spécifique, vous pouvez utiliser l'option Geo Community. Il vous permet de limiter la région dans laquelle l'opérateur annoncera l'itinéraire.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Anycast et Unicast : différences

Anycast est souvent utilisé dans des applications telles que DNS (Domain Name System) et CDN (Content Delivery Networks), permettant des décisions de routage qui améliorent les performances du réseau. Les réseaux de diffusion de contenu utilisent Anycast car ils gèrent de gros volumes de trafic, et Anycast offre un certain nombre d'avantages dans ce cas (plus d'informations ci-dessous). Dans DNS, Anycast permet d'augmenter considérablement le niveau de fiabilité et de tolérance aux pannes du service.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Dans Anycast IP, lors de l'utilisation de BGP, il existe plusieurs routes vers un hôte spécifique. Il s'agit en fait de copies d'hôtes dans plusieurs centres de données, utilisées pour établir des connexions à faible latence.

Ainsi, dans un réseau Anycast, la même adresse IP est annoncée à différents endroits et le réseau décide où acheminer la demande de l'utilisateur en fonction du « coût » de l'itinéraire. Par exemple, BGP est souvent utilisé pour déterminer le chemin le plus court pour la transmission de données. Lorsqu'un utilisateur envoie une requête Anycast, BGP détermine le meilleur itinéraire pour les serveurs Anycast disponibles sur le réseau.

Avantages d'Anycast

Réduire la latence
Les systèmes dotés d'Anycast peuvent réduire la latence lors du traitement des demandes des utilisateurs, car ils vous permettent de recevoir des données du serveur le plus proche. Autrement dit, les utilisateurs se connecteront toujours au serveur DNS « le plus proche » (du point de vue du protocole de routage). En conséquence, Anycast réduit le temps d'interaction en réduisant la distance réseau entre le client et le serveur. Cela réduit non seulement la latence, mais assure également l'équilibrage de la charge.

vitesse

Étant donné que le trafic est acheminé vers le nœud le plus proche et que la latence entre le client et le nœud est réduite, le résultat est une vitesse de livraison optimisée, quel que soit l'endroit d'où le client demande des informations.

Stabilité et tolérance aux pannes accrues

Si plusieurs serveurs dans le monde utilisent la même IP, alors si l'un des serveurs tombe en panne ou est déconnecté, le trafic sera redirigé vers le serveur le plus proche. En conséquence, Anycast rend le service plus résilient et offre un meilleur accès/latence/vitesse au réseau. 

Ainsi, en mettant plusieurs serveurs à la disposition des utilisateurs en permanence, Anycast, par exemple, améliore la stabilité du DNS. Si un nœud tombe en panne, les demandes des utilisateurs seront redirigées vers un autre serveur DNS sans aucune intervention manuelle ni reconfiguration. Anycast permet une commutation pratiquement transparente vers d'autres sites en supprimant simplement les routes du site problématique. 

L'équilibrage de charge

Dans Anycast, le trafic réseau est réparti sur différents serveurs. Autrement dit, il agit comme un équilibreur de charge, empêchant un serveur unique de recevoir la majeure partie du trafic. L'équilibrage de charge peut être utilisé, par exemple, lorsqu'il existe plusieurs nœuds de réseau à la même distance géographique de la source de la demande. Dans ce cas, la charge est répartie entre les nœuds.

Réduisez l’impact des attaques DoS 

Une autre caractéristique d'Anycast est sa résistance aux DDoS. Il est peu probable que les attaques DDoS soient capables de faire tomber un système Anycast, car elles devraient submerger tous les serveurs d'un tel réseau avec une avalanche de requêtes. 

Les attaques DDoS utilisent souvent des botnets, qui peuvent générer tellement de trafic qu'ils surchargent le serveur attaqué. L'avantage d'utiliser Anycast dans cette situation est que chaque serveur est capable « d'absorber » une partie de l'attaque, ce qui réduit la charge sur ce serveur particulier. Une attaque par déni de service sera très probablement localisée sur le serveur et n’affectera pas l’ensemble du service.

Haute évolutivité horizontale

Les systèmes Anycast sont bien adaptés aux services avec de gros volumes de trafic. Si un service utilisant Anycast nécessite de nouveaux serveurs pour gérer l'augmentation du trafic, de nouveaux serveurs peuvent être ajoutés au réseau pour le gérer. Ils peuvent être placés sur des sites nouveaux ou existants. 

Si un emplacement particulier connaît une forte augmentation du trafic, l'ajout d'un serveur aidera à équilibrer la charge de ce site. L'ajout d'un serveur sur un nouveau site contribuera à réduire les temps d'attente en créant un nouvel itinéraire le plus court pour certains utilisateurs. Les deux méthodes contribuent également à améliorer la stabilité du service à mesure que de nouveaux serveurs deviennent disponibles sur le réseau. De cette façon, si un serveur est surchargé, vous pouvez simplement en déployer un autre dans un emplacement qui lui permet d'accepter une partie des requêtes du serveur surchargé. Cela ne nécessite aucune configuration de la part des clients. 

Ce n'est qu'ainsi que des térabits de trafic et un très grand nombre d'utilisateurs peuvent être servis lorsque le serveur ne dispose que de quelques ports 10 ou 25 Gbit/s. 100 hôtes avec une seule adresse IP permettront de traiter des volumes de trafic de plusieurs térabits.

Gestion facile des configurations

Comme indiqué ci-dessus, le DNS est une utilisation intéressante d’Anycast. Vous pouvez placer plusieurs serveurs DNS différents sur les nœuds du réseau, mais utilisez une seule adresse DNS. Selon l'emplacement de la source, les requêtes sont acheminées vers le nœud le plus proche. Cela fournit un certain équilibrage du trafic et une redondance en cas de panne du serveur DNS. De cette façon, au lieu de configurer différents serveurs DNS en fonction de leur emplacement, la configuration d'un serveur DNS peut être propagée à tous les nœuds.

Les réseaux Anycast peuvent être configurés pour acheminer les requêtes non seulement en fonction de la distance, mais également en fonction de paramètres tels que la présence d'un serveur, le nombre de connexions établies. ou le temps de réponse.

Aucun serveur, réseau ou composant spécial n'est requis côté client pour utiliser la technologie Anycast. Mais Anycast a aussi ses inconvénients. On estime que sa mise en œuvre est une tâche complexe, nécessitant des équipements supplémentaires, des fournisseurs fiables et un acheminement approprié du trafic.

Loin de la source pure de la beauté

Bien qu'Anycast achemine les utilisateurs en fonction du moins de sauts, cela ne signifie pas nécessairement la latence la plus faible. La latence est une mesure plus complexe car elle peut être plus élevée pour une transition que pour dix.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Exemple : les communications intercontinentales peuvent impliquer un seul saut avec une latence très élevée.

Anycast est principalement utilisé pour les services basés sur UDP tels que DNS. Les demandes des utilisateurs sont acheminées vers le centre de données « le meilleur » et « le plus proche » en fonction des routes BGP.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Exemple : Un poste de travail client DNS avec une adresse IP DNS Anycast de 123.10.10.10 effectue une résolution DNS vers le plus proche des trois serveurs de noms DNS déployés à l'aide de la même adresse IP Anycast. Si le routeur R1 ou le serveur A tombe en panne, les paquets du client DNS seront automatiquement transmis au serveur DNS le plus proche via les routeurs R2 et R3. De plus, la route vers notre serveur A sera supprimée des tables de routage, empêchant toute utilisation ultérieure de ce serveur de noms.

Scénarios de déploiement

Il existe deux schémas généraux utilisés pour déterminer à quel serveur un utilisateur se connecte :

  • Couche réseau Anycast. Connecte l'utilisateur au serveur le plus proche. Le chemin réseau de l’utilisateur au serveur est ici important.
  • Anycast au niveau de l'application. Ce schéma comporte des métriques plus calculées, notamment la disponibilité du serveur, le temps de réponse, le nombre de connexions, etc. Cela dépend d'un moniteur externe qui fournit des statistiques sur le réseau.

CDN basé sur Anycast

Revenons maintenant à l'utilisation d'Anycast dans les réseaux de diffusion de contenu. Anycast est certainement un concept de réseau intéressant et est de plus en plus accepté parmi les fournisseurs de CDN de nouvelle génération.

CDN est un réseau distribué de serveurs qui fournissent du contenu aux utilisateurs finaux avec une haute disponibilité et une faible latence. Les réseaux de diffusion de contenu jouent aujourd’hui un rôle important en tant qu’épine dorsale de nombreux services de médias en ligne, et les consommateurs tolèrent de moins en moins la lenteur des vitesses de téléchargement. Les applications vidéo et vocales sont particulièrement sensibles à la gigue et à la latence du réseau.

Un CDN connecte tous les serveurs en un seul réseau et assure un chargement plus rapide du contenu. Parfois, il est possible de réduire le temps d'attente de l'utilisateur de 5 à 6 secondes. Le but d'un CDN est d'optimiser la diffusion en diffusant le contenu à partir du serveur le plus proche de l'utilisateur final. Ceci est très similaire à Anycast, où le serveur le plus proche est sélectionné en fonction de l'emplacement de l'utilisateur final. Il semblerait que chaque fournisseur de services CDN utilise Anycast par défaut, mais en réalité ce n'est pas le cas.

Les applications qui utilisent des protocoles tels que HTTP/TCP dépendent de l'établissement de la connexion. Si un nouveau nœud Anycast est sélectionné (par exemple, en raison d'une panne de serveur), le service peut être interrompu. C'est pourquoi Anycast était auparavant recommandé pour les services sans connexion tels que UDP et DNS. Cependant, Anycast fonctionne également bien pour les protocoles orientés connexion ; par exemple, TCP fonctionne bien en mode Anycast.

Certains fournisseurs CDN utilisent le routage basé sur Anycast, d'autres préfèrent le routage basé sur DNS : le serveur le plus proche est sélectionné en fonction de l'emplacement du serveur DNS de l'utilisateur.

Les infrastructures hybrides et multi-datacenters sont un autre exemple d’utilisation d’Anycast. L’adresse IP Load Balancing reçue du fournisseur vous permet de répartir la charge entre les adresses IP des différents services clients dans le centre de données du fournisseur. Grâce à la technologie n'importe quel appareil, il offre de meilleures performances en cas de trafic intense, une tolérance aux pannes et permet d'optimiser le temps de réponse face à un grand nombre d'utilisateurs.

Dans les infrastructures hybrides multi-centres de données, vous pouvez répartir le trafic sur des serveurs ou même des machines virtuelles sur des serveurs dédiés.

Ainsi, il existe un vaste choix de solutions techniques pour construire des infrastructures. Vous pouvez également configurer l'équilibrage de charge entre les adresses IP de plusieurs centres de données, en ciblant n'importe quel appareil d'un groupe pour optimiser les performances du site.

Vous pouvez répartir le trafic selon vos propres règles, en définissant le « poids » de chacun des serveurs distribués dans chaque centre de données. Cette configuration est particulièrement utile lorsqu'il existe un parc de serveurs distribués et que les performances des services sont inégales. Cela permettra au trafic d'être distribué plus souvent pour améliorer les performances du serveur.

Pour créer un système de surveillance à l'aide de la commande ping, il est possible de configurer des sondes. Cela permet à l'administrateur de définir ses propres procédures de surveillance et d'avoir une idée plus claire de l'état de chaque composant de l'infrastructure. De cette manière, des critères d'accessibilité peuvent être définis.

Il est possible de construire une infrastructure hybride : il est parfois pratique de laisser le back-office dans le réseau de l'entreprise, et d'externaliser la partie interface au fournisseur.

Il est possible d'ajouter des certificats SSL pour l'équilibrage de charge, le cryptage des données transmises et la sécurité des communications entre les visiteurs du site et l'infrastructure de l'entreprise. En cas d'équilibrage de charge entre centres de données, SSL peut également être utilisé.

Le service Anycast avec équilibrage de charge d'adresse peut être obtenu auprès de votre fournisseur. Cette fonctionnalité contribuera à améliorer la façon dont les utilisateurs interagissent avec les applications en fonction de leur emplacement. Il suffit d'annoncer quels services sont disponibles dans le centre de données et le trafic sera redirigé vers l'infrastructure la plus proche. S'il existe des serveurs dédiés, par exemple en France ou en Amérique du Nord, alors les clients seront dirigés vers le serveur le plus proche du réseau.

L’une des options d’utilisation d’Anycast est le choix optimal du point de présence (PoP) d’un opérateur. Donne moi exemple. LinkedIn (bloqué en Russie) s'efforce non seulement d'améliorer les performances et la rapidité de ses produits - applications mobiles et Web, mais également d'améliorer son infrastructure réseau pour une diffusion plus rapide du contenu. Pour cette diffusion de contenu dynamique, LinkedIn utilise activement les PoP – points de présence. Anycast est utilisé pour diriger les utilisateurs vers le PoP le plus proche.

La raison en est que dans le cas d’Unycast, chaque PoP LinkedIn possède une adresse IP unique. Les utilisateurs sont ensuite attribués à PoP en fonction de leur emplacement géographique à l'aide du DNS. Le problème est que lors de l’utilisation du DNS, environ 30 % des utilisateurs aux États-Unis ont été redirigés vers un PoP sous-optimal. Avec la mise en œuvre progressive d'Anycast, l'attribution de PoP sous-optimale est passée de 31 % à 10 %.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Les résultats du test pilote sont présentés dans le graphique, où l'axe Y représente le pourcentage d'attribution optimale des PoP. À mesure que Anycast se développait, de nombreux États américains ont constaté une amélioration du pourcentage de trafic vers le PoP optimal.

Surveillance du réseau Anycast

Les réseaux Anycast sont simples en théorie : plusieurs serveurs physiques se voient attribuer la même adresse IP, que BGP utilise pour déterminer l'itinéraire. Mais la mise en œuvre et la conception des plates-formes Anycast sont complexes, et les réseaux Anycast tolérants aux pannes sont particulièrement réputés pour cela. Il est encore plus difficile de surveiller efficacement un réseau Anycast pour identifier et isoler rapidement les pannes.

Si les services utilisent un fournisseur CDN tiers pour diffuser leur contenu, il est très important pour eux de surveiller et de vérifier les performances du réseau. La surveillance CDN basée sur Anycast se concentre sur la mesure de la latence de bout en bout et des performances de l'avant-dernier saut pour comprendre quel centre de données diffuse le contenu. L'analyse des en-têtes du serveur HTTP est un autre moyen de déterminer la provenance des données.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Exemple : en-têtes de réponse HTTP indiquant l'emplacement du serveur CDN.

Par exemple, CloudFlare utilise son propre en-tête CF-Ray dans les messages de réponse HTTP, qui inclut une indication du centre de données auquel la demande a été adressée. Dans le cas de Zendesk, l’en-tête CF-Ray pour la région de Seattle est CF-RAY : 2a21675e65fd2a3d-SEA, et pour Amsterdam, il s’agit de CF-RAY : 2a216896b93a0c71-AMS. Vous pouvez également utiliser les en-têtes HTTP-X de la réponse HTTP pour déterminer où se trouve le contenu.

Autres méthodes d'adressage

Il existe d'autres méthodes d'adressage pour acheminer les requêtes des utilisateurs vers un point de terminaison de réseau spécifique :

Unicast

La plupart des internautes utilisent aujourd’hui cette méthode. Unicast - transmission unicast, l'adresse IP est associée à un seul nœud spécifique du réseau. C'est ce qu'on appelle la correspondance individuelle. 

Multicast

La multidiffusion utilise une relation un-à-plusieurs ou plusieurs-à-plusieurs. La multidiffusion permet à une demande d'un expéditeur d'être envoyée simultanément à différents points de terminaison sélectionnés. Cela donne au client la possibilité de télécharger un fichier en morceaux à partir de plusieurs hôtes simultanément (ce qui est utile pour le streaming audio ou vidéo). La multidiffusion est souvent confondue avec Anycast. Cependant, la principale différence est qu'Anycast dirige l'expéditeur vers un nœud spécifique, même si plusieurs nœuds sont disponibles.

Diffusions

Un datagramme provenant d'un seul expéditeur est transmis à tous les points de terminaison associés à l'adresse de diffusion. Le réseau réplique automatiquement les datagrammes pour pouvoir atteindre tous les destinataires de la diffusion (généralement sur le même sous-réseau).

Géodiffusion

Geocast est quelque peu similaire à Multicast : les demandes de l'expéditeur sont envoyées simultanément à plusieurs points de terminaison. Cependant, la différence est que le destinataire est déterminé par sa situation géographique. Il s'agit d'une forme spécialisée de multidiffusion utilisée par certains protocoles de routage pour les réseaux mobiles ad hoc.

Un routeur géographique calcule sa zone de service et s'en rapproche. Les géorouteurs, échangeant des zones de service, créent des tables de routage. Le système de géorouteur a une structure hiérarchique.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Unicast, Multicast et Broadcast.

L'utilisation de la technologie Anycast augmente le niveau de fiabilité, de tolérance aux pannes et de sécurité du DNS. Grâce à cette technologie, les opérateurs proposent à leurs clients des services pour différents types d'équilibrage de charge basés sur DNS. Dans le panneau de configuration, vous pouvez spécifier les adresses IP auxquelles les demandes seront envoyées en fonction de la situation géographique. Cela donnera aux clients la possibilité de répartir les demandes des utilisateurs de manière plus flexible.

Certains opérateurs mettent en œuvre des capacités de surveillance des itinéraires à chaque point de présence (POP) : le système analyse automatiquement les itinéraires locaux et globaux les plus courts pour les points de présence et les achemine via les emplacements géographiques à latence la plus faible avec aucun temps d'arrêt.

À l'heure actuelle, Anycast est la solution la plus stable et la plus fiable pour créer des services DNS à forte charge, qui ont des exigences élevées en matière de stabilité et de fiabilité.

Le domaine .ru prend en charge 35 serveurs DNS Anycast, regroupés en 20 nœuds, répartis sur cinq cloud Anycast. Dans ce cas, le principe de construction basé sur des caractéristiques géographiques est utilisé, c'est-à-dire Géodiffusion. Lors du placement des nœuds DNS, il est prévu qu'ils soient déplacés vers des emplacements géographiquement dispersés, proches des utilisateurs les plus actifs, de la concentration maximale de fournisseurs russes au point où se trouve le nœud, ainsi que de la disponibilité de capacité libre et de la facilité de interaction avec le site.

Comment créer un CDN ?

CDN est un réseau de serveurs qui accélère la fourniture de contenu aux utilisateurs. Réseau de diffusion de contenu réunit tous les serveurs en un seul réseau et assure un chargement de contenu plus rapide. La distance entre le serveur et l'utilisateur joue un rôle important dans la vitesse de chargement.

CDN vous permet d'utiliser les serveurs les plus proches du public cible. Cela réduit le temps d'attente et contribue à accélérer le chargement du contenu du site pour tous les visiteurs, ce qui est particulièrement critique pour les sites contenant des fichiers volumineux ou des services multimédias. Les applications typiques du CDN sont le commerce électronique et le divertissement.

Le réseau de serveurs supplémentaires créés dans l'infrastructure CDN, situés le plus près possible des utilisateurs, contribue à une livraison de données plus stable et plus rapide. Selon les statistiques, l'utilisation d'un CDN réduit la latence d'accès à un site de plus de 70 % par rapport aux sites sans CDN.

Comme créer un CDN en utilisant DNS? La configuration d'un CDN à l'aide de la propre solution d'Anycast peut être un projet assez coûteux, mais il existe des options moins chères. Par exemple, vous pouvez utiliser GeoDNS et des serveurs classiques avec des adresses IP uniques. À l'aide des services GeoDNS, vous pouvez créer un CDN avec des capacités de géolocalisation, où les décisions sont prises en fonction de l'emplacement réel du visiteur, plutôt que de l'emplacement du résolveur DNS. Vous pouvez configurer votre zone DNS pour afficher les adresses IP des serveurs américains aux visiteurs américains, mais les visiteurs européens verront l'adresse IP européenne.

Avec GeoDNS, vous pouvez renvoyer différentes réponses DNS en fonction de l'adresse IP de l'utilisateur. Pour ce faire, le serveur DNS est configuré pour renvoyer différentes adresses IP en fonction de l'adresse IP source dans la requête. Généralement, une base de données GeoIP est utilisée pour déterminer la région à partir de laquelle une demande est effectuée. La géolocalisation via DNS permet d'envoyer du contenu aux utilisateurs depuis un site à proximité.

GeoDNS détermine l'adresse IP du client qui a envoyé la requête DNS, ou l'adresse IP du serveur DNS récursif du fournisseur, qui est utilisée lors du traitement de la requête client. Le pays/région est déterminé par la base de données IP et GeoIP du client. Le client obtient alors l'adresse IP du serveur CDN le plus proche. Vous pouvez en savoir plus sur la configuration de GeoDNS ici.

Anycast ou GeoDNS ?

Bien qu'Anycast soit un excellent moyen de diffuser du contenu à l'échelle mondiale, il manque de spécificité. C'est là que GeoDNS vient à la rescousse. Ce service vous permet de créer des règles qui envoient les utilisateurs vers des points de terminaison uniques en fonction de leur emplacement.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas
Exemple : les utilisateurs d'Europe sont dirigés vers un autre point de terminaison.

Vous pouvez également refuser l'accès aux domaines en rejetant toutes les demandes. C’est notamment un moyen rapide de couper la route aux intrus.

GeoDNS donne des réponses plus précises qu'Anycast. Si, dans le cas d'Anycast, l'itinéraire le plus court est déterminé par le nombre de sauts, alors dans GeoDNS, le routage pour les utilisateurs finaux se produit en fonction de leur emplacement physique. Cela réduit la latence et améliore la précision lors de la création de règles de routage granulaires.

Lors de la navigation vers un domaine, le navigateur contacte le serveur DNS le plus proche qui, selon le domaine, attribue une adresse IP pour charger le site. Supposons qu'une boutique en ligne soit populaire aux États-Unis et en Europe, mais que les serveurs DNS correspondants ne soient disponibles qu'en Europe. Ensuite, les utilisateurs américains qui souhaitent utiliser les services du magasin seront obligés d'envoyer une demande au serveur le plus proche, et comme il est très éloigné, ils devront attendre longtemps pour une réponse - le site ne se chargera pas rapidement.

Lorsqu'un serveur GeoDNS est situé aux USA, les utilisateurs y accéderont déjà. La réponse sera rapide, ce qui affectera la vitesse de chargement du site.

Dans le cas d'un serveur DNS existant aux États-Unis, lorsqu'un utilisateur des États-Unis navigue vers un domaine donné, il contactera le serveur le plus proche qui fournira l'adresse IP requise. L'utilisateur sera dirigé vers le serveur qui contient le contenu du site, mais comme les serveurs contenant le contenu sont éloignés, il ne le recevra pas rapidement.

Si vous hébergez des serveurs CDN aux États-Unis avec des données mises en cache, lors du chargement, le navigateur client enverra une requête au serveur DNS le plus proche, qui renverra l'adresse IP requise. Le navigateur avec l'adresse IP reçue contacte le serveur CDN le plus proche et le serveur principal, et le serveur CDN transmet le contenu mis en cache au navigateur. Pendant le chargement du contenu mis en cache, les fichiers manquants pour charger le site complet sont reçus du serveur principal. En conséquence, le temps de chargement du site est réduit, puisque beaucoup moins de fichiers sont envoyés depuis le serveur principal.

Déterminer l'emplacement exact d'une adresse IP spécifique n'est pas toujours une tâche facile : de nombreux facteurs entrent en jeu, et les propriétaires d'une plage d'adresses IP peuvent décider d'en faire la publicité à l'autre bout du monde (vous devrez alors attendez que la base de données soit mise à jour pour obtenir le bon emplacement). Parfois, les fournisseurs de VPS attribuent des adresses prétendument situées aux États-Unis à des VPS à Singapour.

Contrairement à l'utilisation des adresses Anycast, la distribution s'effectue lors de la résolution du nom plutôt que lors de la connexion au serveur de mise en cache. Si le serveur récursif ne prend pas en charge les sous-réseaux clients EDNS, l'emplacement de ce serveur récursif est utilisé plutôt que l'utilisateur qui se connectera au serveur de mise en cache.

Les sous-réseaux clients dans DNS sont une extension du DNS (RFC7871) qui définit la manière dont les serveurs DNS récursifs peuvent envoyer des informations client au serveur DNS, en particulier des informations réseau que le serveur GeoDNS peut utiliser pour déterminer plus précisément l'emplacement du client.

La plupart utilisent les serveurs DNS de leur FAI ou des serveurs DNS géographiquement proches d'eux, mais si quelqu'un aux États-Unis, pour une raison quelconque, décide d'utiliser un résolveur DNS situé en Australie, il se retrouvera probablement avec une adresse de serveur IP la plus proche de l'Australie.

Si vous souhaitez utiliser GeoDNS, il est important d'être conscient de ces fonctionnalités, car dans certains cas, cela peut augmenter la distance entre les serveurs de mise en cache et le client.

Résumé : si vous souhaitez combiner plusieurs VPS dans un CDN, alors la meilleure option de déploiement est d'utiliser un bundle de serveur DNS avec la fonction GeoDNS + Anycast prête à l'emploi.

Anycast vs Unicast : quel est le meilleur choix dans chaque cas

Source: habr.com

Ajouter un commentaire