Réseau de diffusion de contenu - Content delivery network

(Gauche) Distribution à serveur unique
(Droite) Schéma de distribution CDN

Un réseau de diffusion de contenu , ou réseau de distribution de contenu ( CDN ), est un réseau géographiquement réparti de serveurs proxy et de leurs centres de données . L'objectif est de fournir une disponibilité et des performances élevées en répartissant le service dans l'espace par rapport aux utilisateurs finaux . Les CDN ont vu le jour à la fin des années 90 en tant que moyen de réduire les goulots d'étranglement des performances d'Internet, alors qu'Internet commençait à devenir un média essentiel pour les personnes et les entreprises. Depuis lors, les CDN se sont développés pour servir une grande partie du contenu Internet d'aujourd'hui, y compris les objets Web (texte, graphiques et scripts), les objets téléchargeables (fichiers multimédias, logiciels, documents), les applications ( e-commerce , portails ), la diffusion en direct. les médias, les médias de diffusion en continu à la demande et les sites de médias sociaux.

Les CDN sont une couche de l'écosystème Internet. Les propriétaires de contenu tels que les sociétés de médias et les fournisseurs de commerce électronique paient des opérateurs de CDN pour fournir leur contenu à leurs utilisateurs finaux. À son tour, un CDN rémunère les fournisseurs de services Internet (FAI), les opérateurs et les opérateurs de réseau pour l'hébergement de ses serveurs dans leurs centres de données.

CDN est un terme générique couvrant différents types de services de diffusion de contenu : streaming vidéo , téléchargements de logiciels, accélération de contenu Web et mobile, CDN sous licence/géré, mise en cache transparente et services pour mesurer les performances du CDN, équilibrage de charge , commutation et analyse multi CDN et cloud intelligence. Les fournisseurs de CDN peuvent passer à d'autres secteurs comme la sécurité, avec la protection DDoS et les pare-feu d'applications Web (WAF) et l'optimisation WAN.

La technologie

Les nœuds CDN sont généralement déployés dans plusieurs emplacements, souvent sur plusieurs dorsales Internet . Les avantages incluent la réduction des coûts de bande passante, l'amélioration des temps de chargement des pages ou l'augmentation de la disponibilité globale du contenu. Le nombre de nœuds et de serveurs composant un CDN varie en fonction de l'architecture, certains atteignant des milliers de nœuds avec des dizaines de milliers de serveurs sur de nombreux points de présence distants (PoP). D'autres construisent un réseau mondial et ont un petit nombre de points de présence géographiques.

Les demandes de contenu sont généralement dirigées de manière algorithmique vers des nœuds qui sont optimaux d'une manière ou d'une autre. Lors de l'optimisation des performances, les emplacements les mieux adaptés pour diffuser du contenu à l'utilisateur peuvent être choisis. Cela peut être mesuré en choisissant des emplacements qui comportent le moins de sauts , le plus petit nombre de secondes de réseau loin du client demandeur ou la plus haute disponibilité en termes de performances du serveur (à la fois actuelles et historiques), afin d'optimiser la livraison sur les réseaux locaux. Lors de l'optimisation des coûts, les emplacements les moins chers peuvent être choisis à la place. Dans un scénario optimal, ces deux objectifs ont tendance à s'aligner, car les serveurs de périphérie qui sont proches de l'utilisateur final à la périphérie du réseau peuvent avoir un avantage en termes de performances ou de coût.

La plupart des fournisseurs de CDN fourniront leurs services sur un ensemble variable et défini de PoP, en fonction de la couverture souhaitée, comme les États-Unis, l'international ou le monde, l'Asie-Pacifique, etc. Ces ensembles de PoP peuvent être appelés « edges », " nœuds de périphérie", "serveurs de périphérie" ou "réseaux de périphérie" car ils seraient la périphérie la plus proche des actifs CDN de l'utilisateur final.

Sécurité et confidentialité

Les fournisseurs de CDN bénéficient soit des frais directs payés par les fournisseurs de contenu utilisant leur réseau, soit des données d'analyse et de suivi des utilisateurs collectées lorsque leurs scripts sont chargés sur les sites Web des clients à l'intérieur de leur navigateur d'origine . En tant que tels, ces services sont signalés comme une intrusion potentielle dans la vie privée à des fins de ciblage comportemental et des solutions sont créées pour restaurer le service à origine unique et la mise en cache des ressources.

Les CDN servant JavaScript ont également été ciblés comme moyen d'injecter du contenu malveillant dans les pages qui les utilisent. Le mécanisme d' intégrité des sous-ressources a été créé en réponse pour garantir que la page charge un script dont le contenu est connu et contraint à un hachage référencé par l'auteur du site Web.

Techniques de mise en réseau de contenu

Internet a été conçu selon le principe de bout en bout . Ce principe maintient le cœur de réseau relativement simple et déplace l'intelligence autant que possible vers les points de terminaison du réseau : les hôtes et les clients. En conséquence, le cœur de réseau est spécialisé, simplifié et optimisé pour ne transmettre que les paquets de données.

Les réseaux de diffusion de contenu augmentent le réseau de transport de bout en bout en y distribuant une variété d'applications intelligentes utilisant des techniques conçues pour optimiser la diffusion de contenu. La superposition étroitement intégrée qui en résulte utilise la mise en cache Web, l'équilibrage de la charge du serveur, le routage des demandes et les services de contenu.

Les caches Web stockent le contenu populaire sur les serveurs qui ont la plus grande demande pour le contenu demandé. Ces appliances réseau partagées réduisent les besoins en bande passante, réduisent la charge du serveur et améliorent les temps de réponse des clients pour le contenu stocké dans le cache. Les caches Web sont remplis en fonction des requêtes des utilisateurs (pull caching) ou en fonction du contenu préchargé diffusé à partir des serveurs de contenu (push caching).

L'équilibrage de charge du serveur utilise une ou plusieurs techniques, notamment basées sur les services (équilibrage de charge global) ou sur le matériel (c'est-à-dire des commutateurs de couche 4 à 7 , également appelés commutateur Web, commutateur de contenu ou commutateur multicouche) pour partager le trafic entre un certain nombre de serveurs ou de caches Web. Ici, le commutateur se voit attribuer une seule adresse IP virtuelle . Le trafic arrivant au commutateur est ensuite dirigé vers l'un des vrais serveurs Web connectés au commutateur. Cela a l'avantage d'équilibrer la charge, d'augmenter la capacité totale, d'améliorer l'évolutivité et d'offrir une fiabilité accrue en redistribuant la charge d'un serveur Web défaillant et en fournissant des vérifications de l'état du serveur.

Un cluster de contenu ou un nœud de service peut être formé à l'aide d'un commutateur de couche 4 à 7 pour équilibrer la charge sur plusieurs serveurs ou plusieurs caches Web au sein du réseau.

Le routage des demandes dirige les demandes des clients vers la source de contenu la mieux à même de répondre à la demande. Cela peut impliquer de diriger une demande client vers le nœud de service le plus proche du client, ou vers celui avec la plus grande capacité. Divers algorithmes sont utilisés pour acheminer la demande. Il s'agit notamment de l'équilibrage de charge global du serveur, du routage des requêtes basé sur DNS, de la génération de métafichiers dynamiques, de la réécriture HTML et de la diffusion Anycast . La proximité (choix du nœud de service le plus proche) est estimée à l'aide de diverses techniques, notamment le sondage réactif, le sondage proactif et la surveillance de la connexion.

Les CDN utilisent diverses méthodes de diffusion de contenu, notamment, mais sans s'y limiter, la copie manuelle des ressources, les caches Web actifs et les équilibreurs de charge matérielle globaux.

Protocoles de service de contenu

Plusieurs suites de protocoles sont conçues pour fournir un accès à une grande variété de services de contenu distribués sur un réseau de contenu. Le protocole ICAP (Internet Content Adaptation Protocol) a été développé à la fin des années 1990 pour fournir une norme ouverte pour la connexion des serveurs d'applications. Une solution plus récemment définie et robuste est fournie par le protocole Open Pluggable Edge Services (OPES). Cette architecture définit les applications de service OPES qui peuvent résider sur le processeur OPES lui-même ou être exécutées à distance sur un Callout Server. Edge Side Include ou ESI est un petit langage de balisage pour l'assemblage de contenu Web dynamique au niveau de la périphérie. Il est assez courant que les sites Web aient généré du contenu. Cela peut être dû à la modification du contenu comme les catalogues ou les forums, ou à cause de la personnalisation. Cela crée un problème pour les systèmes de mise en cache. Pour surmonter ce problème, un groupe d'entreprises a créé ESI.

CDN pair-à-pair

Dans les réseaux de diffusion de contenu peer-to-peer (P2P) , les clients fournissent des ressources et les utilisent. Cela signifie que contrairement aux systèmes client-serveur , les réseaux centrés sur le contenu peuvent en fait mieux fonctionner à mesure que davantage d'utilisateurs commencent à accéder au contenu (en particulier avec des protocoles tels que Bittorrent qui exigent que les utilisateurs partagent). Cette propriété est l'un des principaux avantages de l'utilisation des réseaux P2P car elle réduit les coûts d'installation et de fonctionnement pour le distributeur de contenu original.

CDN privés

Si les propriétaires de contenu ne sont pas satisfaits des options ou des coûts d'un service CDN commercial, ils peuvent créer leur propre CDN. C'est ce qu'on appelle un CDN privé. Un CDN privé se compose de PoP (points de présence) qui servent uniquement du contenu pour leur propriétaire. Ces PoP peuvent être des serveurs de mise en cache, des proxys inverses ou des contrôleurs de livraison d'applications. Cela peut être aussi simple que deux serveurs de mise en cache, ou assez grand pour servir des pétaoctets de contenu.

Les grands réseaux de distribution de contenu peuvent même créer et mettre en place leur propre réseau privé pour distribuer des copies de contenu à travers des emplacements de cache. Ces réseaux privés sont généralement utilisés conjointement avec des réseaux publics comme option de secours au cas où la capacité du réseau privé ne serait pas suffisante ou en cas de défaillance entraînant une réduction de capacité. Étant donné que le même contenu doit être distribué sur de nombreux emplacements, diverses techniques de multidiffusion peuvent être utilisées pour réduire la consommation de bande passante. Sur des réseaux privés, il a également été proposé de sélectionner des arbres de multidiffusion en fonction des conditions de charge du réseau pour utiliser plus efficacement la capacité de réseau disponible.

Tendances CDN

Emergence des CDN telco

La croissance rapide du trafic vidéo en streaming nécessite d'importantes dépenses d' investissement de la part des fournisseurs de haut débit afin de répondre à cette demande et de fidéliser les abonnés en offrant une qualité d'expérience suffisamment bonne .

Pour résoudre ce problème, les fournisseurs de services de télécommunications (FST) ont commencé à lancer leurs propres réseaux de diffusion de contenu afin de réduire les demandes sur la dorsale du réseau et de réduire les investissements en infrastructure.

Avantages Telco CDN

Parce qu'ils possèdent les réseaux sur lesquels le contenu vidéo est transmis, les CDN de télécommunications ont des avantages par rapport aux CDN traditionnels.

Ils possèdent le dernier kilomètre et peuvent fournir du contenu plus près de l'utilisateur final, car il peut être mis en cache profondément dans leurs réseaux. Cette mise en cache approfondie minimise la distance parcourue par les données vidéo sur l'Internet général et les délivre plus rapidement et de manière plus fiable.

Les CDN de télécommunications ont également un avantage de coût intégré puisque les CDN traditionnels doivent leur louer de la bande passante et intégrer la marge de l'opérateur dans leur propre modèle de coût.

De plus, en exploitant leur propre infrastructure de diffusion de contenu, les opérateurs de télécommunications ont un meilleur contrôle sur l'utilisation de leurs ressources. Les opérations de gestion de contenu effectuées par les CDN sont généralement appliquées sans (ou avec des informations très limitées) sur le réseau (par exemple, topologie, utilisation, etc.) des opérateurs de télécommunications avec lesquels ils interagissent ou entretiennent des relations commerciales. Celles-ci posent un certain nombre de défis aux opérateurs télécoms qui ont un champ d'action limité face à l'impact de ces opérations sur l'utilisation de leurs ressources.

En revanche, le déploiement des telco-CDN permet aux opérateurs de mettre en œuvre leurs propres opérations de gestion de contenu, ce qui leur permet d'avoir un meilleur contrôle sur l'utilisation de leurs ressources et, ainsi, d'offrir une meilleure qualité de service et d'expérience à leurs utilisateurs finaux.

CDN fédérés

En juin 2011, StreamingMedia.com a signalé qu'un groupe de FST avait fondé un Operator Carrier Exchange (OCX) pour interconnecter leurs réseaux et concurrencer plus directement les grands CDN traditionnels comme Akamai et Limelight Networks , qui ont de vastes PoP dans le monde entier. De cette façon, les opérateurs télécoms construisent une offre CDN fédérée, ce qui est plus intéressant pour un fournisseur de contenu désireux de livrer son contenu à l'audience agrégée de cette fédération.

Il est probable que dans un futur proche, d'autres fédérations de telco CDN voient le jour. Ils se développeront par l'inscription de nouveaux opérateurs télécoms rejoignant la fédération et apportant la présence du réseau et leurs bases d'abonnés Internet à ceux existants.

Amélioration des performances du CDN à l'aide de l'option EDNS0

La latence (RTT) vécue par les clients avec des résolveurs non locaux ("élevé") a considérablement diminué lorsqu'un CDN a déployé l'extension EDNS0 en avril 2014, tandis que la latence des clients avec des résolveurs locaux n'est pas affectée par le changement ("faible" ).

Traditionnellement, les CDN utilisaient l'adresse IP du résolveur DNS récursif du client pour géolocaliser le client. Bien qu'il s'agisse d'une approche judicieuse dans de nombreuses situations, cela conduit à de mauvaises performances du client si le client utilise un résolveur DNS récursif non local qui est éloigné. Par exemple, un CDN peut acheminer les demandes d'un client en Inde vers son serveur de périphérie à Singapour, si ce client utilise un résolveur DNS public à Singapour, ce qui entraîne de mauvaises performances pour ce client. En effet, une étude récente a montré que dans de nombreux pays où les résolveurs DNS publics sont couramment utilisés, la distance médiane entre les clients et leurs résolveurs DNS récursifs peut atteindre des milliers de kilomètres. En août 2011, un consortium mondial de principaux fournisseurs de services Internet dirigé par Google a annoncé sa mise en œuvre officielle du projet Internet edns-client-subnet IETF, qui est destiné à localiser avec précision les réponses de résolution DNS. L'initiative implique un nombre limité de fournisseurs de services DNS de premier plan, tels que Google Public DNS , ainsi que des fournisseurs de services CDN. Avec l' option edns-client-subnet EDNS0 , les CDN peuvent désormais utiliser l'adresse IP du sous-réseau du client demandeur lors de la résolution des requêtes DNS. Cette approche, appelée mappage de l'utilisateur final, a été adoptée par les CDN et il a été démontré qu'elle réduit considérablement les latences aller-retour et améliore les performances pour les clients qui utilisent le DNS public ou d'autres résolveurs non locaux. Cependant, l'utilisation d'EDNS0 présente également des inconvénients car elle diminue l'efficacité de la mise en cache des résolutions au niveau des résolveurs récursifs, augmente le trafic total de résolution DNS et soulève un problème de confidentialité lié à l'exposition du sous-réseau du client.

CDN virtuel (vCDN)

Les technologies de virtualisation sont utilisées pour déployer des CDN virtuels (vCDN) dans le but de réduire les coûts des fournisseurs de contenu , tout en augmentant l'élasticité et en réduisant les délais de service. Avec les vCDN, il est possible d'éviter les limitations traditionnelles des CDN, telles que les performances, la fiabilité et la disponibilité, car les caches virtuels sont déployés dynamiquement (en tant que machines virtuelles ou conteneurs) dans des serveurs physiques répartis sur la couverture géographique du fournisseur. Comme le placement du cache virtuel est basé à la fois sur le type de contenu et l'emplacement géographique du serveur ou de l'utilisateur final, les vCDN ont un impact significatif sur la prestation de services et la congestion du réseau.

Optimisation et diffusion d'images (CDN d'images)

En 2017, Addy Osmany de Google a commencé à désigner des solutions logicielles qui pourraient s'intégrer naturellement avec le paradigme de conception Web réactive (avec une référence particulière à l'élément <picture>) en tant que CDN d'image . L'expression faisait référence à la capacité d'une architecture Web à servir plusieurs versions de la même image via HTTP, en fonction des propriétés du navigateur qui la demande, telles que déterminées par le navigateur ou la logique côté serveur. Le but des Image CDN était, dans la vision de Google, de servir des images de haute qualité (ou, mieux, des images perçues comme de haute qualité par l'œil humain) tout en préservant la vitesse de téléchargement, contribuant ainsi à une excellente expérience utilisateur (UX).

On peut soutenir que le terme Image CDN était à l'origine un abus de langage , car ni Cloudinary ni Imgix (les exemples cités par Google dans le guide 2017 d'Addy Osmany) n'étaient, à l'époque, un CDN au sens classique du terme. Peu de temps après, cependant, plusieurs entreprises ont proposé des solutions permettant aux développeurs de servir différentes versions de leurs actifs graphiques selon plusieurs stratégies. Un grand nombre de ces solutions ont été construites sur des CDNs traditionnels, comme Akamai , CloudFront , Fastly , Verizon Digital Media services et Cloudflare . Dans le même temps, d'autres solutions qui fournissaient déjà un service multi-servage d'images ont rejoint la définition du CDN Image en offrant soit la fonctionnalité CDN nativement (ImageEngine) soit en s'intégrant à l'un des CDN existants (Cloudinary/Akamai, Imgix/Fastly).

Bien qu'il ne soit pas possible de fournir une définition universellement acceptée de ce qu'est un CDN d'image, de manière générale, un CDN d'image prend en charge les trois composants suivants :

  • Un réseau de diffusion de contenu (CDN) pour une diffusion rapide des images.
  • Manipulation et optimisation d'images, soit à la volée via des directives d' URL , en mode batch (via le téléchargement manuel d'images) ou entièrement automatique (ou une combinaison de ceux-ci).
  • Device Detection (également connu sous le nom de Device Intelligence), c'est-à-dire la capacité de déterminer les propriétés du navigateur et/ou de l'appareil demandeur grâce à l'analyse de la chaîne User-Agent , des en- têtes HTTP Accept, des Client-Hints ou de JavaScript .

Le tableau suivant résume la situation actuelle des principaux CDN logiciels de cet espace :

Image principale des CDN sur le marché
Nom CDN Optimisation des images Détection de périphérique
Gestionnaire d'images Akamai Oui Temps différé basé sur l'en-tête HTTP Accept
Polonais Cloudflare Oui entièrement automatique basé sur l'en-tête HTTP Accept
Nuageux A travers Akamai Lot, directives d'URL Accepter l'en-tête, Client-Hints
E/S rapide Oui Directives d'URL basé sur l'en-tête HTTP Accept
ImageEngine Oui entièrement automatique WURFL , Client-Hints, Accepter l'en-tête
Imgix À travers rapidement entièrement automatique Accepter l'en-tête / Client-Hints
PageCDN Oui Directives d'URL basé sur l'en-tête HTTP Accept

Fournisseurs de services de diffusion de contenu notables

CDN gratuits

CDN commerciaux traditionnels

CDN de télécommunications

CDN commerciaux utilisant le P2P pour la livraison

Multi-CDN

CDN interne

Voir également

Les références

Lectures complémentaires