1 votes

Comment le CDN d'Akamai diffuse le contenu du serveur de périphérie à l'utilisateur ?

Après avoir parcouru quelques ressources sur Google, j'ai compris le fonctionnement des serveurs CDN périphériques d'Akamai, mais j'ai quelques questions sur les éléments internes.

  1. Disons que j'ai du contenu statique mis en cache au CDN d'Akamai (XXX.XX.XXX.XXX, disons à Seattle) pour mon site xyz.com (YYY.YY.YYY.YYY). Ici, sur une interface Akamai, je vais router l'appel vers l'ip de mon serveur web d'origine. et demander à Akamai de mettre en cache le contenu statique.
  2. Maintenant, chaque fois que je tape www.xyz.com dans le navigateur (pour n'importe quelle ressource, qu'elle soit statique ou dynamique), l'appel ira au serveur DNS pour résoudre l'IP du domaine. www.xyz.com .
  3. Le serveur DNS fournira l'adresse IP du serveur Akamai Edge configuré (disons XXX.XX.XXX.XXX qui est codé en dur au point 1). Ma question est la suivante Comment m'assurer que le serveur DNS fournit le serveur Edge le plus proche de l'utilisateur ? Est-ce qu'il fournira toujours XXX.XX.XXX.XXX qui est l'adresse IP de Seattle, quel que soit l'utilisateur qui essaie d'accéder au serveur Edge ? l'utilisateur essaie d'accéder au site depuis la Chine ou l'Inde ?

0 votes

m.youtube.com/ Je pense que cela vous permettra de savoir comment faire ?

2voto

Rob Lambden Points 260

C'est la " magie " du DNS d'Akamai qui détermine où envoyer le client pour obtenir la requête.

D'après ce que j'ai compris (après avoir discuté avec un architecte réseau d'Akamai lors d'une réunion sur l'IP-Peering), le DNS d'Akamai utilise le routage du chemin le plus court (généralement BGP) à partir du client DNS demandeur pour déterminer où se trouve l'emplacement le plus proche et fournit cette adresse IP.

Le protocole DNS définit comment un client demande une adresse et comment un serveur la fournit. Tout comme un serveur web peut fournir une ressource différente en fonction du client qui la demande, il est possible d'écrire un serveur DNS qui peut également faire la même chose.

Le routage Internet fonctionne généralement sur le protocole BGP (Border Gateway Protocol) où les systèmes autonomes (identifiés par des numéros AS) échangent des informations sur les sous-réseaux contrôlés par tel ou tel système. Lorsqu'ils déterminent l'itinéraire vers une adresse IP, les routeurs choisissent généralement l'itinéraire qui passe par le plus petit nombre de systèmes autonomes.

Ainsi, un serveur DNS d'Akamai recevant une requête DNS pour une ressource hébergée chez Akamai dispose de l'adresse IP du client demandeur. Il peut la consulter dans sa base de données interne pour déterminer lequel des serveurs d'Akamai est le plus "proche" (en termes de route IP) de cette adresse et le client peut alors renvoyer l'adresse du serveur le plus "proche".

Après avoir eu cette conversation, j'ai fait quelques essais de recherche à partir de différents sous-réseaux et j'ai remarqué que la première recherche prenait généralement beaucoup plus de temps qu'une recherche DNS "normale". On peut supposer que c'était parce que le système cherchait à savoir comment router vers cette adresse. Les recherches suivantes étaient aussi rapides que d'habitude, sans doute parce que la réponse est mise en cache.


Informations supplémentaires (comment fonctionne le DNS)

Lorsqu'un client DNS demande un nom à un serveur DNS, le serveur fournira le nom s'il est disponible. faisant autorité pour ce domaine, ou bien il le cherchera sur d'autres serveurs (s'il est configuré pour être récursif ) ou il fournira une réponse précédemment mise en cache. Les serveurs "racine" globaux permettent aux serveurs DNS de localiser les serveurs DNS qui font autorité pour un domaine par5tculier afin de pouvoir diriger une requête récursive.

Les serveurs DNS ne contiennent pas de mappages pour toutes les adresses de l'internet - ce serait impossible à maintenir et les personnes qui gèrent des domaines doivent pouvoir modifier leurs propres enregistrements DNS.

Normalement, les serveurs DNS sont soit autoritaires, soit récursifs (mais généralement pas les deux). Lorsqu'il recherche l'adresse d'un nom qui possède un enregistrement CNAME, le client doit alors rechercher l'adresse IP que possède l'enregistrement A pointé par l'enregistrement CNAME. Ainsi, si vous avez des enregistrements CNAME pointant vers les serveurs périphériques d'Akamai, c'est le doamin d'Akamai qui doit être interrogé, car les serveurs de domaine d'Akamia font autorité pour ce domaine.

Lorsque la demande arrive sur le serveur d'Akamai, celui-ci peut rechercher toutes les informations qu'il souhaite afin de déterminer l'adresse IP à renvoyer. Comme il dispose d'un vaste réseau de peering (connecté à BGP), il détermine le serveur de périphérie le mieux placé pour fournir les données en fonction de la route la plus courte entre le serveur de périphérie et l'origine de la requête DNS.

Si la requête est effectuée par un serveur DNS effectuant une recherche récursive, il peut mettre la réponse en cache, mais comme il demandera le résultat avec la même adresse IP à l'avenir, il obtiendra normalement la même réponse, ce qui ne pose pas de problème. Akamai peut définir la durée de mise en cache de l'enregistrement dans sa réponse fournissant l'adresse (bien qu'un serveur puisse choisir de ne pas suivre ses instructions en ce qui concerne la durée de vie du cache).

Comme la plupart des clients ont des adresses résolues pour eux par un serveur DNS qui fait partie du même AS, la longueur du routage (nombre d'AS différents impliqués) est la même pour le serveur DNS qui cherche l'adresse et pour la machine cliente qui veut l'adresse.

0 votes

Vous avez dit So an Akamai DNS server receving a DNS request for a resource hosted at Akamai has the IP address of the requesting client. This can be looked up in their internal database to determine which of the Akamai servers is 'closest' (in terms of the IP route) to that address and so the client can then return the address of the 'closest' server. Ma question est la suivante : lorsque je tape www.example.com L'appel ira d'abord à n'importe quel serveur DNS (pas le serveur DNS d'Akamai) qui a un mappage codé en dur du serveur périphérique d'Akamai, puis l'appel ira à ce serveur périphérique d'Akamai codé en dur. N'est-ce pas ?

0 votes

Alors comment Akamai va-t-il jouer un rôle dans la résolution du serveur DNS et consulter la base de données interne pour déterminer lequel des serveurs Akamai est "le plus proche" de l'utilisateur ?

0 votes

Je donnerai plus d'explications dans ma réponse ...

1voto

Michael Hampton Points 232226

La seule chose que vous faites est configurer vos enregistrements DNS selon les spécifications d'Akamai. . Vous ne mettez que l'adresse et les enregistrements CNAME qu'ils vous donnent. Akamai se chargera de déterminer quel routeur périphérique est le plus proche d'un utilisateur donné.

0 votes

Comme l'entrée CNAME (pointant vers le serveur Edge d'Akamai) est effectuée par le serveur DNS, pouvez-vous nous éclairer sur la manière dont Akamai établit (ou peut établir) une correspondance interne avec le serveur Edge le plus proche de l'utilisateur ? Cette opération est-elle effectuée par le serveur DNS (et non par Akamai), qui voit l'emplacement de l'utilisateur et détermine le serveur périphérique d'Akamai le plus proche de l'utilisateur ?

-2voto

Max Points 1

Il existe un bon document qui décrit le processus.

Nom du papier : "Pépites algorithmiques dans la distribution de contenu"

0 votes

Il serait plus utile que vous résumiez le processus et que vous fournissiez un lien vers le document que vous avez mentionné.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X