Distribution de contenu 1 - caches web



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

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Proxies,, Caches & CDNs

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

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

«Cachez-moi cette page!»

Caches web. Olivier Aubert 1/35

Serveurs de noms Protocoles HTTP et FTP

Protocoles Applicatifs

(structure des entêtes)

Linux sécurité des réseaux

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

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Systèmes pour les fournisseurs

Administration Linux - Proxy

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

INF8007 Langages de script

Protocoles DHCP et DNS

Application Web et J2EE

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Sécurité des réseaux Firewalls

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

Protection des protocoles

Dans l'épisode précédent

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

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

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

Les clés d un réseau privé virtuel (VPN) fonctionnel

ADF Reverse Proxy. Thierry DOSTES

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

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

Squid. Olivier Aubert 1/19

GENERALITES. COURS TCP/IP Niveau 1

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

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

TR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ

ACTION PROFESSIONNELLE N 4. Fabien SALAMONE BTS INFORMATIQUE DE GESTION. Option Administrateur de Réseaux. Session Sécurité du réseau

Introduction à HTTP. Chapitre HTTP 0.9

Mandataires, caches et filtres

FORMATION CN01a CITRIX NETSCALER

TAGREROUT Seyf Allah TMRIM

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

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

TCP/IP, NAT/PAT et Firewall

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

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

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

Proxy SQUID sous Debian

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

EXCELIANCE ZAC des Metz 3 Rue du petit robinson Jouy en Josas Tél: Fax: sales@exceliance.

Cours CCNA 1. Exercices

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

Web des services : REST

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

But de cette présentation. Proxy filtrant avec Squid et SquidGuard. Serveur proxy. Serveur proxy. Hainaut P

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

MANUEL D INSTALLATION

Présentation Internet

Les systèmes pare-feu (firewall)

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

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

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

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

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Architectures en couches pour applications web Rappel : Architecture en couches

Le filtrage de niveau IP

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

Windows Internet Name Service (WINS)

LAB : Schéma. Compagnie C / /24 NETASQ

L annuaire et le Service DNS

MANUEL D INSTALLATION D UN PROXY

18 TCP Les protocoles de domaines d applications

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

ALOHA LOAD BALANCER MISE EN ŒUVRE DU SSL FRONTEND

CONFIGURATION DE BASE. 6, Rue de l'industrie BP130 SOULTZ GUEBWILLER Cedex. Fax.: Tel.:

Les Content Delivery Network (CDN)

SERVEUR HTTP Administration d apache

Quelques compléments sur HTTP. Distribution de contenu 2 - Fermes de serveurs. Introduction. Reverse proxy. Équilibrage DNS

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks)

Plan. Programmation Internet Cours 3. Organismes de standardisation

TP5 VOIP résidentiel étendu Page 1 sur 7 Lp Ampere CLAVAUD

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

Configurer Squid comme serveur proxy

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

Administration réseau Firewall

Réseau - VirtualBox. Sommaire

Sécurité des applications Web

But de cette présentation

Installation d'un serveur RADIUS

Administration de Citrix NetScaler 10.5 CNS-205-1I

Réseaux CPL par la pratique

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Le serveur HTTPd WASD. Jean-François Piéronne

Application des Spécifications détaillées pour la Retraite, architecture portail à portail

Transcription:

Distribution de contenu 1 - caches web hristophe Deleuze Grenoble IN ESISAR NE520 2010 2011 roxy élément intermédiaire dans une communication client-serveur passerelle protocoles réseau public/privé paramètres réseau requête réponse S filtrage transformation de contenu cache requête réponse S client proxy serveur aches 1 ache web ourquoi le cache est utile proxy garde réponses en cache 1 3 2 S 1 cache = 10 100 Go, Internet = 300 tera-octets (10 12 ) 0,033 %... gestion du cache Least Recently Used (LRU) Least Frequently Used (LFU) LRU + taille taille... aches 2 aches 3 Forward roxy aching Accélérateur web (reverse proxy) un proxy sert le contenu au client géré par le FAI + débit + délai + charge origine stats origine fraicheur explicite/forcé/transparent origine caché derrière un proxy géré par le fournisseur de contenu + charge origine variante : web switch/server farm R aches 4 aches 5 luster Hiérarchie groupe de caches localisé eqv système plus puissant projet Harvest 94 hiérarchie scalabilité conf. statique topologie du réseau A B aches 6 aches 7

Vue d ensemble j entre une URL... 1. le nom est résolu en adresse I (DNS) HTT 2. une connexion T ( tuyau ) est ouverte R (a) T SYN (b) T SYN+AK (c) T AK 3. la requête est envoyée, le serveur répond (en général, gd nb de requêtes et réponses) 1 2 3 W aches 8 0.9 Versions de HTT 1. client ouvre connexion et envoie GET doc.html 2. serveur écrit le fichier dans la connexion 3. la connexion est fermée 1.0 rfc 1945 possibilité connexion persistante format structuré pour les requêtes et les réponses GET / HTT/1.0 User-Agent: Wget/1.11.4 Accept: */* Host: www.acrimed.org HTT/1.0 200 K Date: Thu, 08 Apr 2010 13:11:50 GMT [le document] HTT/1.1 rfc 2616 GET / HTT/1.1 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-us; rv:1.9.0.12) Gecko/2009072220 Icew Accept-harset: IS-8859-1,utf-8;q=0.7,*;q=0.7 onnection: keep-alive HTT/1.1 200 K Date: Fri, 09 Apr 2010 07:50:23 GMT Server: Apache/1.3 (Unix) mod_ssl/2.8.28 penssl/0.9.8f AuthG/1.3 Frontage/5.0.2.2635 Last-Modified: Sun, 07 Feb 2010 11:25:56 GMT ontent-length: 18702 onnection: close ontent-type: text/html <HTML><HEAD> aches 9 aches 10 Gestion des proxys cache quelles réponses cacher? quels éléments des réponses? comment économiser en assurant la cohérence? (transparence sémantique) expiration validation cache control authentification GET /rivate/ HTT/1.1 Ne cache pas si... HTT/1.1 401 Authorization Required WWW-Authenticate: Basic realm="acces Restreint" GET /rivate/ HTT/1.1 Authorization: Basic cghvdg9zmdsb3bnbg9w HTT/1.1 200 K Date: Fri, 09 Apr 2010 09:28:26 GMT Server: Apache/roXad [Aug 9 2008 02:45:09] indication explicite (on y revient) aches 11 aches 12 arties non cachables hop-by-hop headers : n ont de sens que sur une connexion de transport, ne sont ni cachés ni relayés par les proxies. onnection Keep-Alive roxy-authenticate roxy-authorization Upgrade... ohérence degrés forte delta faible type mutuelle besoins pour objets et utilisateurs côté client (proxy)/serveur plus ceux listés dans onnection aches 13 aches 14

Expiration date spécifiée par le serveur : Expires heuristique adaptive TTL ex. isco ontent Engine TTL = (urrentdate LastModTime) FreshnessFactor (doc décourage FF > 10 %) expiration si age > TTL origine fournit Date proxy fournit Age Validation origine associe un validateur à la réponse req. cond. avec validateur si K 304 Not Modified validateurs Last-Modified (If-Modified-Since) HTT/1.0 ETag validateur opaque validateurs faibles et forts faible : reste valide si chgt not semantically significant GET subrange interdit fort : invalide pour tout chgt browser reload/shift-reload aches 15 aches 16 Validation : je clique reload GET / HTT/1.1 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-us; rv:1.9.0.12) Gecko/2009072220 Accept-harset: IS-8859-1,utf-8;q=0.7,*;q=0.7 onnection: keep-alive If-Modified-Since: Sun, 07 Feb 2010 11:25:56 GMT If-None-Match: "35d02c7-490e-4b6ea344" ache-ontrol: max-age=0 HTT/1.1 304 Not Modified Date: Fri, 09 Apr 2010 07:51:01 GMT Server: Apache/1.3 (Unix) mod_ssl/2.8.28 penssl/0.9.8f AuthG/1.3 Frontage/5.0.2.26 onnection: close remière requête tout à l heure... GET / HTT/1.1 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-us; rv:1.9.0.12) Gecko/ Accept-harset: IS-8859-1,utf-8;q=0.7,*;q=0.7 onnection: keep-alive HTT/1.1 200 K Date: Fri, 09 Apr 2010 07:50:23 GMT Server: Apache/1.3 (Unix) mod_ssl/2.8.28 penssl/0.9.8f AuthG/1.3 Front Last-Modified: Sun, 07 Feb 2010 11:25:56 GMT ontent-length: 18702 aches 17 aches 18 achabilité HTT/1.0 ragma: no-cache HTT/1.1 ache-ontrol: 0 max age requêtes no-cache no-store max-age max-stale min-fresh no-transform only-if-cached cache-extension min fresh Expires max stale réponses public private no-cache no-store no-transform must-revalidate proxy-revalidate max-age s-maxage cache-extension âge Exemple : je clique shift-reload GET / HTT/1.1 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-us; rv:1.9.0.12) Gecko/2009072220 Icew Accept-harset: IS-8859-1,utf-8;q=0.7,*;q=0.7 onnection: keep-alive ragma: no-cache ache-ontrol: no-cache HTT/1.1 200 K Date: Fri, 09 Apr 2010 07:51:36 GMT Server: Apache/1.3 (Unix) mod_ssl/2.8.28 penssl/0.9.8f AuthG/1.3 Frontage/5.0.2.2635 Last-Modified: Sun, 07 Feb 2010 11:25:56 GMT Accept-Ranges: bytes ontent-length: 18702 aches 19 aches 20 ohérence : résumé support pour : explicite (Expires) forte non scalable (revalidation systématique) faible K (adaptive TTL) hétérogénéité si explicite hétérogénéité client manque : invalidation/mise à jour délicat à intégrer dans HTT état serveur fiabilité/scalabilité pb administratifs rotocoles inter-caches aches 21

Internet ache rotocol - I - 1 I - 2 frères parent as-tu ce document en cache? 95 cache Squid conçu pour HTT/0.9 défini dans rfc2186/7 relations parents frères (siblings) msg UD : 20 octets en-tête + URL 1. envoie I QUERY aux pairs I SEH (= ping) à l origine 2. reçoit I HIT ou I MISS 3. 1 er HIT gagne GET xxx attend max 2 secondes pas de hit : parent le plus proche remarque : n attend plus les pairs qui ne répondent pas SEH GET HTT I QUERY QUERY aches 22 aches 23 I - 3 I - 4 I HIT BJ inclut objet dans la réponse + rapide + lent qu un HIT fragmentation ne distingue pas les représentations (rfc2616) resource : network data object or service that can be identified by a URI. Resources may be available in multiple representations. cache poisoning déconseillé network probe chaque proxy construit une table (origine, RTT) inclut son RTT vers l origine dans I RELY sélection du proxy le plus proche (peut être soit-même)! plus complexe attendre toutes les réponses problèmes de I scalabilité sécurité gestion des représentations aches 24 aches 25 Hyper Text aching rotocol - HT rfc2756 HT/0.0 - expérimental msgs sur UD (T optionnel) en-têtes complètes envoi d infos générales authentification (signatures) ache Digests Les protocoles précédents ajoutent des délais ache digest : résumé du contenu d un cache basé les filtres de Bloom compression avec pertes et recherche (hash) impossible effacer une clé unique les caches pairs s échangent leur D màj périodique 1 Mo pour 16 Go Système similaire : summary cache aches 26 aches 27 Efficacité : que mesurer? Efficacité faciles à mesurer débit économisé hit-rate (max 40 55 %) byte hit-rate (max 20 35 %) temps de remplissage plus difficiles gain en temps de réponse difficultés qu est-ce qu un hit? taux d utilisation par les usagers web dynamique peu cachable aches 28

Efficacité : impact de T l impact de T : ex. modem 28 kb/s débit : coût des ABRT annule les gains réduction de délai = 3 % sauf si connexions persistentes proxy = cache de connexions Efficacité : fournisseurs pratique du cache busting pour compter le nb de hits HTT/1.1 200 K Date: Fri, 09 Apr 2010 09:31:34 GMT Server: Apache ache-ontrol: no-store, no-cache, must-revalidate, post-check=0, pre-che ragma: no-cache HTT/1.0 200 K Date: Thu, 08 Apr 2010 13:11:50 GMT Server: Apache Expires: Thu, 19 Nov 1981 08:52:00 GMT Vary: ookie,accept-encoding,user-agent Last-Modified: Thu, 08 Apr 2010 11:16:22 GMT aches 29 aches 30 Efficacité : fournisseurs rfc2277 Simple Hit-Metering and Usage Limiting for HTT extension HTT, compte les hits en best-effort en-tête Meter (hop-by-hop) formation d un arbre de mesure chaque nœud compte les hit reporte à son parent au prochain GET nœuds feuilles font du cache busting autres approches : méthodes statistiques Efficacité : conf. clients explicite manuelle à partir d un fichier Autoonfig forcée automatique WAD aucune interception (cache transparent ) aches 31 aches 32 Interception niveau transport switch L4 examine trafic if I.proto=T & T.flags=SYN & T.dport = 80 then setup rewrite (I.src, I.dest, T.sport, 80) (myi, proxyi, T.sport, 80) doit retirer l entrée quand connexion terminée peut filtrer sur I.src ou I.dst légende (I.src, I.dst, T.sport, T.dport) (S,,pc,80) (,S,80,pc) (,,pc,80) S4 (,,80,pc) Interception niveau application peut se baser sur données application (URL...) nécessaire ouvrir connexion (prétend être l origine) puis ouvre 2ième connexion avec le proxy (ou l origine) et relaie... cxion 2 souvent cas d une machine in-path routeur d accès pare-feu NAT proxy transparent S7 ou cxion 2 cxion 1 aches 33 aches 34 b. avec interception pas très catholique si pb proxy, accès coupé transparence authentification/personalisation recherche DNS inutile ouvre/ferme connexions T WAD Web roxy Auto-discovery rotocol trouver l URL du fichier A (proxy auto config) http://<host>:<port><path> chaos de mécanismes d auto-conf port défaut 80, path défaut wpad.dat essayer dans l ordre : 1. DH 2. SL (Service Location rotocol rfc2608) 3. DNS wpad.example.com a) SRV b) TXT c) A 1 et 3c obligatoires le fichier précis en fct de User-Agent aches 35 aches 36

Exemple WAD DNS Standard query A wpad.esisar.inpg.fr DNS Standard query response NAME www.esisar.inpg.fr A 195.220.37.55 HTT GET /wpad.dat HTT/1.1 Host: wpad.esisar.inpg.fr HTT HTT/1.1 302 Redirect (text/html) Location: http://www.esisar.inpg.fr/auto-proxy.pac DNS Standard query A www.esisar.inpg.fr DNS Standard query response A 195.220.37.55 HTT GET /auto-proxy.pac HTT/1.1 Host: www.esisar.inpg.fr HTT HTT/1.1 200 K (application/x-ns-proxy-autoconfig) Active ache proposition académique en tête HTT acheapplet proxy exécute l applet ou fait suivre la requête applications journal d accès rotation bandeau pub. autorisation (vérification certificat) expansion SSI, compression delta etc sécurité... Java env. sécurisé 1 2 4 5 3 acheapplet: URL 5b GET URL 6 exécute applet 7 aches 37 aches 38 refetching omment augmenter le hit rate? en anticipant les requêtes doc. populaires sur le serveur prédiction sur l utilisateur trois situations client serveur proxy serveur client proxy (accès bas débit) Exemple de cache : Squid développé par le NLANR proxy cache pour HTT, FT et d autres proxy pour SSL support des hiérarchies support de I, HT, ache Digests proxy cache transparent reverse proxy cache les résultats DNS aches 39 aches 40 difficultés adaptativité contenus dynamiques cohérence forte En conclusion aches 41