La distribution de contenu dans l Internet 4 ontent elivery Networks (N) hristophe eleuze EIA/ING LI ENT janvier 005 ontexte infrastructure de caches indispensable gérés par les opérateurs peu soucieux des fournisseurs fournisseurs de contenu utilisent le web gros besoins de distribution N Les fournisseurs de contenu veulent : rendre contenu accessible capacité serveur capacité réseau garder le contrôle fraîcheur comptage etc web dynamique gestion de site ystèmes pour les fournisseurs Accélérateur web (reverse proxy) origine caché derrière un proxy géré par le fournisseur de contenu + charge origine variante : web switch/server farm N N Équilibrage de charge Miroirs L4 switch (I src) L5-7 switch (web switch) ex. routage req stat/dyn monitoring isco istributed irector adware ache erver irector Linux Virtual erver statique dynamique W requête un site principal des sites miroirs inconvénients synchronisation généralement périodique sélection du miroir + ou manuelle AN sauve le choix dans un cookie puis HTT redirect infrastructure statique N 4 N 5 ontent elivery Network N - systèmes surrogate placé près des clients géré par le fournisseur de contenu + charge origine + débit réseau + délai client + stats origine + fraicheur rapprocher le contenu des clients quatre systèmes delivery serveurs surrogates redirection distribution réplication routage du live comptabilité distribution redirection comptabilité delivery N 6 N 7
fournisseur de contenu consommateurs opérateur réseau opérateur N F Qu est-ce qu un N? $ $ $ contenu service N I B Akamai : 500 serveurs Mirror Image igital Island... pérateurs de N services connexes de gestion de contenu monitoring reporting M identification des utilisateurs spécialiser/segmenter les contenus N 8 N 9 edirection edirection (request routing) trouver le meilleur surrogate (équilibrage de charge + distance au client) surrogate = f(consommateur, contenu, état réseau, états surrogates) routage de requête routage (construction des tables) relayage (forwarding) transparent pour le client... différentes méthodes pour le relayage edirection : application redirect ex HTT : 07 temporary redirect + précis adresse client UL contenu connexion vers l origine à implémenter pour chaque type de contenu l UL du document change! GET url 07 newurl GET newurl 00 K N 0 N appels sur le N edirection : N B distribuée et redondante associations (nom, adr. I) espace de noms hiérarchique serveur resolver (cache server) NAME (alias) N "." N "net." N "activia.net." W www.activia.net UL http://monsite.com/monfichier.html. résolution N de monsite.com 9.64... ouv. T vers 9.64... GET monfichier.html HTT/. répondre I selon le client + élégant + scalable, robuste (sécurisé?) précision adresse du resolver du client N accelerator N N edirection N hiérarchique ésolveurs bien placés? TTL = j LNE TTL = 0s TTL = 0s AI parfois NN ère étude dist. depuis l intérieur du réseau (traceroute divergence) d = max(a, b) médiane : 5 0 % > 8! r = c/d 5 % ou 5 % < 0.5 moins de 0 % >.0 a client point de probe c b résolveur N 4 N 5
ième étude définition de la proximité. A cluster ésolveurs. network cluster (analyse tables BG). traceroute divergence 4. corrélation TT à topologie 4 performance Méthode de mesure lien sur un GIF de pixel transparent <img src="http://rd.example.com/tr.gif" height= width=> 0.0.0. 4 GET image GET image edirect ip0.0.0..cs.example.com? ip0.0.0..cs.example.com 0.0.0. serveur rd.example.com serveur de l image serveur de nom pour *.cs.example.com I = 0.0.0., N = 0.0.0. N 6 N 7 mesurés req client A 69 64 network 4 6 ésultats meilleurs possibles req client A 9 88 network 70 66 onclusion impact faible pour N actuels fortes améliorations possibles (et nécessaires) si densification des N éécriture N interception N réécrit la req. pb : très intrusif = N standard? content.com content.com = 0.0.0. 4? pop.cdn.net! pop.cdn.net = 0.0.0. N 8 N 9 amorçage par HTT redir GET /content.html HTT/. Host: provider.com éécriture HTT HTT/. 07 Temp. edirect Location: http://pop.cdn.net/ provider.com/content.html GET /provider.com/content.html Host: pop.cdn.net puis réécriture des liens type I machine en reverse proxy... provider.com 4 pop.cdn.net N : impact des TTL faibles charge serveurs N non trafic (5 % en 9) délais contenu du cache N réponse addr. du serv. N adr. root et.com dernier cas : 5 % > s! délai médian, ms 60 ms 00 ms N 0 N N : pb des objets embarqués ers N répliquaient seulement les objets embarqués la page web moyenne tps de charg. total taille totale taille moy. objets tps de charg. moy. objets tt sur le ˆm serveur ms 0 % 00 ms % rés. N / obj 00 ms 48 % 6, s 0,9 ko, ko 0,45 s edirection : routage requête client pour document ensemble des gtes ayant le document charge (U, nb. connexions...) distance au client (hops, délai, B...) réponse rapide + infos à jour méthode passive (IG/BG...) méthode active (network probing) à la demande à l avance Akamai secret sauce trouver un surrogate raisonnable N N
edirection : routage intra A edirection : routage extra A approche active/à l avance décision centralisée clusters de surrogates pop (agrégats de clients) charge des services dans chaque cluster chaque cluster probe tous les pops association (pop, service) cluster associations pop { réseaux } (ex. IG) cluster pop décision probe rapport point de peering = pop liste des réseaux fournie par BG (route descendante ) A A A cluster pop A A A N 4 N 5 outage à la demande si topologie inconnue ou très gd nb de pops potentiels req. arrive probe le client maintient un cache de n clients découverte topologie dynamique ex. créneaux horaires Mesure des métriques assive infos des protocoles de routage IG Interior Gateway rotocol F topologie I distances en nb de nœuds EG Exterior Gateway rotocol : BG A path length traces de trafic Active TT : echo IM (ping) pertes... B packet pair : B lien goulot packet train : B disponible N 6 N 7 N boomerang Boomerang/Flash N/N flooding les clusters répondent ère arrivée gagne proximité réseau si serveurs chargés retarder la réponse routage très simple! N B B istribution istribution : réplication éplication copie push pull synchronisation (cohérence) ush multicast problème de la fiabilité contrôle de flux (hétérogénéité) interface des surrogates N 8 N 9 éplication : copie éplication : synchronisation ull où chercher le contenu? origine voisins hiérarchie ex. I forme de routage déterminer les routes possibles choisir la meilleure (distance réseau + charge serveur) maintenir la cohérence des surrogates avec l origine surrogate = serveur authoritatif invalidation de contenu mises à jour multicast content signaling tentatives actuelles (abandonnées?) WI Web ache Invalidation rotocol (IETF/isco) U esource Update rotocol (IETF) N 0 N
Web ontent istribution rotocol W content group (choix du créateur) register <cg> pseudo-push invalidation avec rafraich. immédiat ou rafraich retardé (charge) cohérence forte envoi invalidation attends les AK publie le nouvel objet W cohérence forte avec push proxy pulle mais relaie les req. qd ts les AK reçus, origine publie et envoie MMIT proxy publie à réception du MMIT -cohérence heartbeat et invalidation temporaire scalabilité pour miroirs N N WI WI Web ache Invalidation rotocol assure la -cohérence serveur d invalidation ( origine) canal d invalidation client léger volume d objets unité de filtrage + unité de cohérence deux modes mené par le proxy se resynch. regulièrement mené par le serveur (d inv.) invalidations/mises à jour + heartbeat canal wcip:... (ex HTT/XML) infos par : Invalidated-By: <wcip UI> I peut être chez FAI! I I N 4 N 5 Leases gestion classique côté serveur (invalidation) états côté client (revalidation syst.) msgs compromis : lease (bail) {,,d} serv s engage à notifier des modifs de pendant d Lease-ontrol: Grant-Lease enew-lease... cohérence forte relachée Invalidate-Lease:... Invalidate-Ack:... serv attend les AK ou fin du bail pour modifier ooperative leases leases pas scalable (état/cache et objet) coop lease {, G, L, d, } G groupe, L leader, cohérence groupe : état, notifs coopération pour cohérence coopération pour cache N 6 N 7 istribution de stream stream : non élastique on demand/live T, T/T gros fichiers longue occupation au serveur tream à la demande qualité dépend du chemin N : streamer depuis le bord du réseau pb : taille des fichiers prefix caching puis transfert élastique de la suite segmentation des fichiers et répartition sur les réplicas qualité : path diversity plusieurs surr. en // N 8 N 9
N réseau overlay multicast soulage l origine soulage le réseau routage ad-hoc ex min bandwidth... protection des flots FE flots redondants hétérogénéité tream live Multicast noeud N Autres elivery system proxy caches web (statique, dynamique) stream real networks windows media machines spécialisées (hardware, ) Network Appliances (NetApp), acheflow, Inktomi isco, Intel besoins spécifiques des N? N 40 N 4 omptabilité les logs sont répartis dans tous les surrogates besoin de générer une vision globale pour le fournisseur de contenu pour l opérateur de N scalabilité? structure hiérachique (multicast inverse) Edge ide Includes Akamai/racle/... 0 assemblage dynamique de fragments en bordure protocole d invalidation fragment paramétres de cohérence partagés par les utilisateurs template assemblage dynamique template + fragments N 4 N 4 EI élts du template <esi:include> <esi:choose>... style I/GI Edge ide Includes for Java (JEI) J EI J tag library protocole urrogate-apabilities:... urrogate-ontrol: surr-id, action protocole d invalidation EI req. inv. HTT T avec doc XML (port 400) T... msg-inv-xml 00 K msg-result-xml invalidation par UI préfixe regexp UI et en-tête ne propose pas de solution au pbs classiques petit N N 44 N 45 théorie des graphes... facility location pb i emplacements lacement des réplicas construire à i coûte f i client j affecté à i coût d j c ij (d j demande de j) solution? (nb serv + empl. pour coût minimum) N-dur... Minimum K-median pb n pts donnés Algorithmes algos approximation polynomiaux Greedy choisir M réplicas sur N sites er = coût min avec tous les clients sur lui ajouter le ième... itérer Hot-pot trier les N sites par trafic généré dans le voisinage andom... en choisir K, affecter clt j au plus proche d j c ij N-dur versions avec limite de capacité sur les serveurs N 46 N 47
Internet intranet IN EN Enterprise N (EN) réseaux d entreprise e-learning, e-commerce, e-... offre I streaming réplication multicast Interconnexion de Ns IETF I ontent istribution Internetworking qqes N mondiaux (Akamai...) intérêt des I service revenu infrastructure mais pb de couverture interconnecter les N projet abandonné? N 48 N 49 N / caches web qu est-ce qui les différencie? redirection? mais caches transparents push? systèmes hybrides ontent Networks Qu est-ce qu un N? Les N.... partagent dynamiquement l infrastructure de réplication. fournissent un espace de noms adapté. utilisent les UL classiques et paraissent contradictoires Un N est : une infrastructure de réplication un changement de sémantique de l espace de noms UL N 50 N 5