Proxies,, Caches & CDNs



Documents pareils
Réseaux. 1 Généralités. E. Jeandel

Caches web. Olivier Aubert 1/35

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Programmation Internet Cours 4

CREER UN ENREGISTREMENT DANS LA ZONE DNS DU DOMAINE

Internet Le service de noms - DNS

Serveurs de noms Protocoles HTTP et FTP

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Linux sécurité des réseaux

Gérer son DNS. Matthieu Herrb. tetaneutral.net. Atelier Tetaneutral.net, 10 février

DIFF AVANCÉE. Samy.

«Cachez-moi cette page!»

Les Content Delivery Network (CDN)

Sécurité des réseaux Firewalls

Plan. Programmation Internet Cours 3. Organismes de standardisation

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Gestion centralisée d un réseau de sites discrets. Nicolas JEAN

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

GENERALITES. COURS TCP/IP Niveau 1

Protection des protocoles

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Master d'informatique 1ère année Réseaux et protocoles

Application Web et J2EE

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

L3 informatique Réseaux : Configuration d une interface réseau

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS

Bind, le serveur de noms sous Linux

Les services usuels de l Internet

Installation Serveur DNS Bind9 Ubuntu LTS

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Approche Hybride de la Diffusion OTT. Julien Privé / Senior Solutions Engineer

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Technologies Web avancées. ING1 SIGL Technologies Web avancées

Pierre-Louis Théron Nikolay Rodionov Axel Delmas

Aperçu technique Projet «Internet à l école» (SAI)

DNS et Mail. LDN 15 octobre DNS et Mail. Benjamin Bayart, Fédération FDN. DNS - fichier de zone. DNS - configuration

Il est possible d associer ces noms aux langages numérique grâce à un système nommé DNS(Domain Name System)

L3 informatique TP n o 2 : Les applications réseau

Sécurité des réseaux Les attaques

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Télécommunications. IPv4. IPv4 classes. IPv4 réseau locaux. IV - IPv4&6, ARP, DHCP, DNS

Module BD et sites WEB

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Introduction aux Technologies de l Internet

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Introduction. Adresses

Les réseaux de campus. F. Nolot

«clustering» et «load balancing» avec Zope et ZEO

Outils de l Internet

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Administration réseau Résolution de noms et attribution d adresses IP

Le routeur de la Freebox explications et configuration

LOSLIER Mathieu. Filière Informatique et Réseau 1 ère année. TP DNS. Responsable : LOHIER Stephane. Chargé de TD : QUIDELLEUR Aurélie

Performance Front-End

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Hébergement de site web Damien Nouvel

Intégration de la fonction de proxy cache aux routeurs actifs

Les fournisseurs de contenu. Optimisation du transport de contenu 4 - Content Delivery Networks. Qu'est-ce qu'un CDN? Content Delivery Network

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

DNS. Olivier Aubert 1/27

Ebauche Rapport finale

Réalisation d un portail captif d accès authentifié à Internet

TER Réseau : Routeur Linux 2 Responsable : Anthony Busson

Les cahiers pratiques de Anonymat.org. SocksCap32. Edition du 20 Octobre 2000

Présentation du système DNS

Étude de l application DNS (Domain Name System)

Domaine Name System. Auteur: Congduc Pham, Université Lyon 1. Figure 1: Schéma des salles TP11 et TD4

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Domain Name System. F. Nolot

DNS : Domaine Name System

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

Microsoft Internet Security and Acceleration Déploiement et gestion de Microsoft Internet Security and Acceleration Server 2000

TCP/IP, NAT/PAT et Firewall

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Performance, rendement Vs Evolutivité

Architecture Multi-Niveaux

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Démonstration de la mise en cache via HTML 5 sur iphone

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

DNS ( DOMAIN NAME SYSTEM)

Mandataires, caches et filtres

Résolution de noms. Résolution de noms

L identité numérique. Risques, protection

Réseau - VirtualBox. Sommaire

FORMATION CN01a CITRIX NETSCALER

Services Réseaux - Couche Application. TODARO Cédric

Content Switch ou routage de niveau HTTP

Systèmes pour les fournisseurs

TP de réseaux : Domain Name Server.

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Table des matières Hakim Benameurlaine 1

Transcription:

Proxies,, Caches & CDNs Anthony Busson Plan Exemple de page web simple Anatomie du téléchargement d une page web Problématique Définition : Proxy, Reverse Proxy Interception, Redirection Système de cache Cache array Hiérarchique Distribué Communication entre les caches Content Delivery Network exemple

Exemple de page web simple : vu par le navigateur Titre de la page web URL (uniform resource locator) Page web Fichiers : images, sons, applets, shockwave, flash. Exemple de page web simple : le code html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>exemple de page web</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> <p>ceci est un exemple de page web avec deux images :</p> <p> </p> <p><img src="moi-en-vacances.jpg" width="240" height="240"></p> <p> </p> <p> </p> <p><img src="moi-au-travail.jpg" width="312" height="367"></p> <p> </p> <p>et du blablabla blablablaba blablabla blablabla blablablaba blablabla blablabla blablablaba blablabla blablabla blablablaba blablabla blablabla blablabla blablabla blablablaba blablabla blablabla blablablaba blablabla.</p> </body> </html>

Exemple de page web simple : du code html à la page web <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>exemple de page web</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> <p>ceci est un exemple de page web avec deux images :</p> <p> </p> <p><img src="moi-en-vacances.jpg" width="240" height="240"></p> <p> </p> <p> </p> <p><img src="moi-au-travail.jpg" width="312" height="367"></p> <p> </p> <p>et du blablabla blablablaba blablabla blablabla blablablaba blablabla blablabla blablablaba blablabla blablabla blablablaba blablabla blablabla blablabla blablabla blablablaba blablabla blablabla blablablaba blablabla.</p> </body> </html> Anatomie du téléchargement d une page web Un document web (pages html, php, images, etc.) est identifié de manière unique sur le web par son URL (Uniform Resource Locator) http://www.defense.gouv.fr/marine/present/present.htm Protocole de transfert du fichier Nom du serveur web Chemin du fichier sur le serveur nslookup www.defense.gouv name : www.defense.gouv.fr adress : 195.46.214.11

Anatomie du téléchargement d une page web Requête DNS : www.defense.gouv.fr 195.46.214.11 INTERNET Anatomie du téléchargement d une page web GET : /marine/present/present.htm http 1.1 200 OK : /marine/present/present.htm INTERNET

Anatomie du téléchargement d une page web GET : /marine/present/image1.jpg http 1.1 200 OK : image1.jpg INTERNET Problématiques 90% du trafic sur le web est du trafic http Un même document est téléchargé plusieurs fois par le même utilisateur, des utilisateurs géographiquement proche congestion inutile du réseau utilisation d un réseau congestionné Intérêt de cacher les documents déjà téléchargé par d autre utilisateur économie de ressources délai minimiser puisque document téléchargé localement

Définition : Proxy (1) Proxy (by proxy = par procuration), gère la requête à la place de l utilisateur Le proxy va télécharger le document à la place du client sur le serveur original client @C <- @P proxy @P <- @S Requête : www.enst.fr/index.html @Client -> @Proxy Requête : www.enst.fr/index.html @Proxy -> @Serveur Serveur original Définition : Proxy (2) La requête est redirigée vers un cache local client proxy Requête : www.enst.fr/index.html @Client -> @Proxy Requête : www.enst.fr/index.html @Proxy -> @cache Serveur original Cache

Qui est mon proxy? Configuration manuelle du «browser» : @ du proxy (par l utilisateur) Fichier.pac (proxy auto configuration), on indique l emplacement d un fichier dans le browser (netscape, explorer) La gestion est centralisée (prise en charge par l administrateur) Possibilité de faire du partage de charge en fonction des URLs WPAD : Web Proxy Auto-Discovery Protocol Découvrir l url du fichier.pac (explorer 5.x). Ne nécessite aucune configuration du client. Utilise les services du réseau existant DHCP (Dynamic Host Configuration Protocol) SLP (Service Location Protocol): cherche les informations relatives aux services d un réseau DNS «well known»: wpad.enst.fr est l alias de l URL du fichier recherché. DNS «SRV»: wpad.tcp.enst.fr DNS «txt»: wpad.enst.fr

Vocabulaire : Transparent proxy (1) Aucune configuration nécessaire pour le client/utilisateur Obligation pour le client/utilisateur d utiliser un proxy Nécessité d intercepter les requêtes http (lecture de l en-tête TCP, filtre sur le port 80) Transparent proxy Internet Cache Définition : transparent proxy (2) proxy Reverse proxy Serveur original Serveur original

Définitions : server farm,, web switch Server farm : ensemble de serveurs placés derrière un web swtich Une seule @ IP est définit pour l architecture La sélection du serveur peut se faire en fonction des adresses IP, des N ports (L4) des URLs (L7) Web switch Serveur farm Définition : Cache array Ensemble de caches placés derrière un proxy Fonctionne comme un cache logique Interrogation des autres caches pour un URL Interrogation des autres caches (ICP) Fonction de hashing sur les URLs demandés (CARP) ou sur les @IP (WCCP) proxy Serveur original

CARP (Cache Array Routing Protocol) ) : Micro détails Proxy www.enst.fr www.microsoft.co m www.sharereactor.com www.linux.com Pour un URL on choisit le proxy dont hash(proxy+url) à la plus grande valeur Proxy1 5 6 10 4 Proxy2 9 2 7 5 Proxy3 7 4 3 10 Proxy4 4 7 8 1 Proxy5 2 9 4 6 Modèle Hiérarchique parent requête requête requête parent Serveur original requête miss miss requête sibling sibling

Internet Cache Protocol Protocole qui définit le format des messages utilisé par des Web caches pour communiquer (sur UDP) Initialement utilisé pour localiser des objets web (pages html, images, etc.) dans les caches voisins Mais où est donc www.enst.fr/index.html? ICP Query : www.enst.fr/index.html? HTCP : Hyper Text Caching Protocol Protocol communication entre les caches HTTP Ping Mon (effacer,ajouter..) Set (prolongement de l objet) TST (vérifier la présence d un objet) Basé sur UDP, peut être utilisé avec TCP Gestion des caches (expiration date, update age,..) plus à jour que ICP. Plus de fonctionnalités (très inspiré de HTTP 1.1).

Problématiques : échanges entre les caches no ICP Query URL? no ICP Query no ICP Query Pour chaque URL, on envoi un message à tous les «siblings» : Latence Si aucun d entre eux n a l URL : on envoi une requête au cache parent ou au serveur original : Latence Génère un grand nombre de messages. Cache Digest Distribution régulière du contenu des caches (URL) entre les caches (utilisant HTTP) sous forme de table de routage : Les requêtes sont redirigées vers le bon cache On n interroge pas les autres caches, l information est directement accessible : minimise la latence (ICP, HTCP) Réduit le nombre d échange entre les caches

Cache digest : Principe de base URL h 1 (URL) h 2 (URL) h 3 (URL) h 4 (URL) N fonction de hash {0,1, x} {0,1, x} {0,1, x} {0,1, x} 00001111000101010101010101010101010101010101000101010101 Vecteur de x bits Cache Digest : Bloom Filter 1. Nombre d URL stockés : M 2. Taille de la table : k*m (bits) (par défaut k=5) 3. Appliquer une fonction de hash (MD5) à l URL+method_http 4. On divise le mot de 128 bits en N (par défaut 4) mots 5. Ce chiffre est recalculé modulo 5*M 6. On met à 1 tous les bits correspondant à ces 4 valeurs dans 1 vecteur ( le résumé) 0 URL e06a5625 mod(5*m) 0 HASH 7d8879d9 mod (5*M) 0 + (MD5) 0 e968e83f mod (5*M) http 128 bits 1 2ded3df7 mod (5*M) 0 method 0 e06a56257d8879d9e968e83f2ded3df7 0 1

CDN Content Delivery Network CDN : Plan Structure, modèle économique Push, Pull Redirection Synchronisation Exemple

Strucure d un CDN Content delivery Infrastucture : un ensemble de serveurs («surrogates») Request Routing Infrastucture : redirige les requêtes vers le serveurs optimal Distribution Infrastucture : place le contenu des clients dans les surrogates Accounting Infrastucture : compte et collectes des statistiques sur l utilisation des «surrogates» le fournisseur de contenu ne sait plus qui vient consulter son site web CDN : Modèle commercial Bande passante Service Fournisseur de contenu ISP CDN contenu consommateurs

Distribué quoi? Page webs, photo, etc. Vidéo sur demande(stockées dans des serveurs dédiés), vidéo live (splitters) Gros fichiers, patches pour des compagnies de logiciels Information boursière Distribué le contenu : Push/Pull PUSH : Les documents sont placés dans les serveurs à l avance Pour un site web particulier (e-business) Pour les pages webs les plus populaires Pour les pages webs remises à jour périodiquement Intérêt Peut-être fait en dehors des heures de pointes Les pages webs sont toujours disponible et à jour PULL : Les documents sont placés et stockés après une demande d un client.

Rediriger les requêtes Rediriger les requêtes vers les «surrogates» (content routing) Choisir sur le site un mirror HTTP redirection (3xx) : interroger le serveur qui redirige la requête vers un surrogate DNS : la résolution DNS renvoi l adresse d un surrogate plutôt que le serveur original (plus élégant) Switching layer 4/7 Redirection : le meilleur surrogate? Boomerang DNS local Requête DNS DNSB Utilisation des tables de routage BGP Solutions propriétaires

Synchronisation Garantir la fraîcheur (freshness) d un objet Indiquer l objet comme «non-cacheable» Utiliser «If-modified-since» Mettre un TTL suffisamment court Utiliser un serveur de synchronisation (WCIP) Serveur synchronisé sur le serveur original qui envoi régulièrement des messages aux surrogates Exemple : xxx Téléchargement de index.html sur le site www.yyy.com/index.html Les photos, les videos et les fichiers executables sont en charge du CDN (+ de 60% d une page web)

Exemple : xxx Code source de http://www.yyyy.com/index.html : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Apple</TITLE> <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=iso-8859-1"> <META HTTP-EQUIV="PICS-Label" CONTENT='(PICS-1.1 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" for "http://www.apple.com/" on "1999.12.29T20:06-0800" r (n 0 s 0 v 0 l 0))'>... SRC="http://a772.g.xxx.net/7/772/51/5593ee8a8ef77e/www.ap ple.com/t/2001/us/en/i/1bg.gif" Exemple : xxx (2) Object Data : Code qui dépend du type code (garantie la fraicheur du document) http://a772.g.xxx.net/7/772/51/5593ee8a8ef77e/ www.apple.com/t/2001/us/en/i/1bg.gif Serial number xxx Domain URL de l image sur le serveur original Type code N qui identifie le client

Exemple : choisir le meilleur serveur Résoudre : a9.g.xxx.net 2 jours.net root user @IP.xxx.net? Plusieurs HLDNS g.xxx.net? 20 min H L D N S Local Name server a9.g.xxx.net? Serveur xxx @ IP du serveur 20 sec L L D N S xxx : Un site entier Redirection DNS : CNAME (resource record) www.apple.com IN CNAME server1.xxx.net www.apple.com www.apple.com? Server1.xxx.net Server1.xxx.net? DNS Apple @ IP du serveur optimal DNS xxx

Ouvertures Gestion dans les caches/surrogates de pages dynamiques, de services web (ex : ESI de Akamai) Utilisation du multicast pour la diffusion de contenu (aujourd hui : satellite ) Interopérabilité Limites de tailles pour les CDNs Équipements Espaces pour placer ces équipements Recouvrement J ai une infrastructure CDN mais pas de clients J ai des clients mais pas d infrastructure Exemple : content Bridge, CiRouter