870 likes | 994 Views
Contentnetwerken. Multimediatechnieken Prof. Peter De Neve academiejaar 2004-2005. Inhoud van de les. Het klassieke Internetmodel Data- en contentswitching Contentnetwerken Waarom en voordelen Verschillende types afhankelijk van de eigenaar Netwerkoperatoren Contentleveranciers
E N D
Contentnetwerken Multimediatechnieken Prof. Peter De Neve academiejaar 2004-2005
Inhoud van de les • Het klassieke Internetmodel • Data- en contentswitching • Contentnetwerken • Waarom en voordelen • Verschillende types afhankelijk van de eigenaar • Netwerkoperatoren • Contentleveranciers • Gebruikers • Case study • Akamai
World Wide Web • URL • Beperking • URL-verwijzing naar pagina bevat altijd verwijzing naar host • URL wijst slechts naar 1 host • soms wenselijk (vaak geraadpleegde data): gebruik van spiegels ("mirrors") • probleem: hoe spiegelversies beheren ? (behoud van dataconsistentie)
Het klassieke Internetmodel - Beschrijving • Huidige Internetarchitectuur is gebaseerd op het “end-to-end” principe • Om functionaliteit tussen client en server te garanderen moet alles in de hosts worden uitgevoerd, niet in het tussenliggende netwerk • Transport- en applicatielaag worden enkel aangesproken in client en server • In het netwerk zelf wordt de TCP/IP stack slechts tot op laag 3 opgebouwd (routing)
Data- en contentswitching In deze context beperkt tot de zogenaamde layer 4 en 7 switching
Layer 4 switching – Algemeen principe • Layer 4 = transportlaag (TCP of UDP) • De switch voert een “content-blind routing” uit, ook wel “immediate binding” genoemd • Switch doet zich voor als de eindserver (end-host) bij aankomst van het eerste TCP SYN pakket • Switch gebruikt informatie uit de transportlaag om traffiek gericht te switchen/routeren (+ binding table) • Efficiënte routering, maar niet voor het dispatchen van content (geen kennis van de HTTP content die de client aanvraagt) • In de transportlaag wordt de poort informatie gebruikt om bepaalde applicaties te identificeren (TCP poort 80 voor HTTP, TCP poort 20/21 voor FTP, …)
Layer 4 switching – Voorbeeld HTTP FTP server FTP Internet Web server SMTP Layer 4 switch SMTP server HTTP
Layer 7 switching – Algemeen principe • Layer 7 = applicatielaag (bv. HTTP) • De switch voert een “content-aware routing” uit, ook wel “delayed binding” genoemd • Switch doet zich eveneens voor als de eindserver maar zet een complete TCP-connectie op met client (3-way handshake) • Client pakketten worden door de switch dus ontleed tot in de applicatielaag en dan afgeleid naar server • Minder snelle routering wegens ontleding tot op layer 7 • Uitstekende kennis voor het dispatchen van content want kennis van de HTTP content die de client aanvraagt
Layer 7 switching – Voorbeeld http://news.site.org Web server sports.site.org http://sports.site.org Internet Web server news.site.org Layer 7 web switch IP: 212.100.190.238 http://www.site.org http://news.site.org Web server www.site.org In DNS (voorbeeld) 212.100.190.238 A sports.site.org 212.100.190.238 A news.site.org 212.100.190.238 A www.site.org
Contentswitching apparatuur • Vaak wordt er geen onderscheid gemaakt in “Layer 4” and “Layer 7” switches omdat de meeste apparatuur beide aankan • Deze switches worden “contentswitches” genoemd • Ook aangeduid als “Layer 4-7 switches” • De pioniers in content switches • Nortel Networks (Alteon WebSystems) • Cisco Systems • F5 Networks • Foundry networks • Extreme Networks • Connectiviteit op basis van Ethernet poorten, deze switches bevatten typsich geen interfaces om WAN technologie connecties te termineren ATM, G.SHDSL, E1, MFE1, ...
Contentnetwerken • Laatste jaren: groeiende interesse • Diverse systemen en technologieën mogelijk • Hebben allemaal het volgende doel Mogelijkheid om gebruikers toegang te verlenen tot bepaalde objecten op een locatie-onafhankelijke manier • Betekent een fundamenteel verschillende manier van communicatie op het Internet • URL’s zijn niet geschikt om objecten te identificeren die op verschillende locaties in het netwerk beschikbaar zijn • Objecten op verschillende locaties publiceren door replicatie van data
Motivatie • Oplossing vinden voor opstoppingen (congestion) van IP-lijnen (vooral accesslijnen) op het Internet • Webservers raken soms overbelast door een overvloed aan requests • Directe communicatie met de originele servers kan resulteren in bepaalde vertragingen • Bescherming tegen “flash crowds” : vaak is content heel populair op een korte tijdspanne • Bv. Verkiezingsuitslagen, film trailers, breaking news, 9/11, Columbia accident, … • Noodzaak om content te distribueren op basis van geografische locatie • Voorbeeld: CNN specifieke servers in Europa voor het Europese nieuws, specifieke servers in US voor het lokale (domestic) nieuws
Er zijn vier mogelijke punten van opstopping (congestion) op het Internet • Internet acceslijn gebruiker • Het netwerk van een ISP (backbone) • Peering punten (interconnecties tussen ISP’s) • Internet acceslijn en belasting web server ISP3 4 3 ISP1 3 2 1 web server ISP2 Gebruiker
1. Internet toegangslijn van de gebruiker • Diverse technologieën voor toegang (access) • Dial-up, xDSL, kabelmodem, gehuurde lijnen • Fysische drager kan sterk verschillen (koper, glasvezel, …) • Diverse capaciteiten zijn beschikbaar • Al dan niet gegarandeerd met een Service Level Agreement (SLA) • Al dan niet verschil tussen “download” en “upload” capaciteit • Aantal gebruikers en soort traffiek op de lijn is heel belangrijk • Prioritisatie van bepaalde toepassingen soms mogelijk en noodzakelijk (HTTP server traffiek, VoIP, Citrix, …) • Quality of Service (QoS) – bv. Diffserv (Differentiated Services) -> aan de hand van de TOS byte in de header van een IPv4 pakket
2. Het netwerk van de ISP - Algemeen • Voldoende bandbreedte moet aanwezig zijn • Cruciale parameters voor de kwaliteit van het ISP netwerk zijn: • Vertragingen (delay, latency, round-trip times) tussen de verschillende netwerkelementen • Jitter (delay variation): bv. VoIP toepassingen zijn hier zeer gevoelig voor • Pakketverlies (packet loss) typisch uitgedrukt in % • Een goed ISP-netwerk is steeds gelaagd • Hiërarchische structuur met goed-gedefinieerde lagen (elke laag heeft zijn eigen functie en eigenschappen) • Doel is zo efficiënt mogelijke routeringspaden en dus snelle doorstroming van IP-pakketten te garanderen • Vergelijkbaar met de “geheugenpiramide” in computerarchitectuur
Het netwerk van de ISP (Voorbeeld UUNET) • Hoofzakelijk een 3-lagig hiërarchisch model • Edge laag • Dit is de laag waarin alle klanten worden aangesloten • Entry point in het netwerk • Typische eigenschap: veel aansluitingen (dus veel routering) van beperkte capaciteit • Metro laag • Dit is de eerste laag van de “backbone” of “core” van het netwerk • Typische eigenschap: minder connecties, vertegenwoordigt lokale traffiek (bv. binnen België), middelmatige capaciteit • Transit laag • Dit is de tweede laag van de “backbone” of “core” van het netwerk en verzorgt capaciteit naar de rest netwerk/Internet • Bijna geen routering (alles is al geaggregeerd in grote IP-adresblokken), pure switching, zeer hoge capaciteiten
Het netwerk van de ISP (Voorbeeld UUNET) Transit (2.4 - 10 Gbps) Metro (155 - 622 Mbps) Edge (64 kbps - 155 Mbps) Klanten
3. Peering punten Directe peering Via een Internet Exchange (bv. BNIX in België) ISP1 ISP2 BNIX ISP2 ISP1 ISP3
4. Internet toegangslijn van de server • Is qua problematiek van verzadiging identiek aan punt 1 (Internet toegangslijn van de gebruiker) • Additioneel moet er hier vooral rekening gehouden worden met upload traffiek, ttz. content die in de richting van het Internet vloeit • Hoeveel simultane connecties naar een webserver wil men toelaten • Gemiddelde grootte van de webobjecten, structuur van de websites (qua grootte in bytes) • Moeten nog andere protocollen dan HTTP geprioritiseerd worden (bv. applicaties voor remote beheer) • Belasting van de webserver
Contentnetwerk: de oplossing? • Congestion op de accesslijn (pijnpunt 1) van de gebruiker kan niet worden aangepakt, enkel gebruiker heeft hierover zelf de controle • Contentnetwerken kunnen tot op zekere hoogte wel de pijnpunten 2, 3, 4 reduceren door • Content zo dicht mogelijk bij de gebruikers te brengen, namelijk op de rand (edge) van het ISP netwerk (pijnpunt 2) • Content verspreiden over verschillende ISP’s (pijnpunt 3) • Belasting van de web server te verminderen door content te spreiden over meerdere servers of over diverse accesslijnen (pijnpunt 4)
Contentnetwerken: Doel • Beheren van replicatie van content door middel van de volgende 2 taken • Distributie • Garandeert het kopiëren en synchroniseren van van (een) object(en) van een originele server naar diverse replica servers • Redirection (herroutering) • Laat gebruikers toe om het object te vinden, liefst op de server die zich het “dichtst” bij hen bevindt • “dichtst” in Internetterminologie (volgt niet noodzakelijk geografische logica), is combinatie van • Minimaal aantal hops • Minimale latency
Elementen van een contentnetwerk Master server Replica server Replica server Replica server ? Client
Classificatie • Verschillende manieren om contentnetwerken te classificeren • Lokale / Globale distributie applicatieservers • DNS-gebaseerde / Applicatieserver gebaseerde routeringsmechanismen • … • Op basis van wie de eigenaar is van het contentnetwerk en het beheert (deze les) • Contentnetwerken beheerd door de netwerkoperatoren (ISP’s) • Contentnetwerken beheerd door de contentleveranciers • Contentnetwerken beheerd door de gebruikers
1. Contentnetwerken beheerd door de netwerkoperatoren • Netwerkoperatoren = Internet Service Providers (ISP’s) • Maken gebruik van caching proxies om bandbreedte (en dus cost!) in de backbone te besparen (is minder een issue nu dan in de jaren ’90 – grote prijserosie) • Proxies kunnen • Recursief gebruikt worden, betekent dat ze gebruik kunnen maken van ouderproxies indien nodig • Hiërarchische boomstructuur van proxies kan worden opgebouwd • Voor aanvraag van minder populaire objecten zal ongetwijfeld vertraging optreden • Werkt niet ideaal als de originele servers niet dicht zitten bij de proxies uit de boomstructuur
Modellen voor webcaching • Explicit caching • Het gebruik van proxies kan vrij door de gebruiker bepaald worden in de browser (aan/uit) • Moet ondersteund worden door de ISP • Forced explicit caching • Sommige ISP’s forceren het gebruik van proxies bij hun klanten • HTTP-traffiek wordt niet doorgelaten indien het geen proxy server van de ISP passeert (typisch blokkeren op TCP poort 80 naar andere dan IP-adressen proxy) • Transparent caching • Traffiek naar TCP poort 80 kan door de ISP worden afgeleid naar een proxyserver zonder expliciete configuratie in browser van de gebruiker
Algemeen principe van gebruik proxyserver Client TCP: CONNECT proxy.isp.com HTTP: GET www.site.org/index.html Ingeval van een “cache hit” Ingeval van een “cache miss” TCP: CONNECT www.site.org HTTP: GET index.html Content server Caching server
Squid • Squid caching proxy (www.squid.org) • Werkt op basis van hiërarchische boomstructuur • Moeder proxy zal een query lanceren op basis van de domeinnaam van de gekozen URL • Matchen met lijsten van URL’s in de proxy boomstructuur • Eventueel direct aan originele server vragen • Configuratie is omvangrijk • Niet triviaal omdat domeinnamen niet noodzakelijk overeenkomen met de netwerktopology • Is zelfs bijna nooit het geval • Geen relatie tussen de IP-adresblokken in de IPv4 adresruimte en de erin gebruikte domeinnamen)
Web Cache Communication Protocol (WCCP) • Proxies moeten door gebruikers ingesteld worden in hun browsers • Om configuraties of problemen met configuraties te vermijden, kan men gebruik maken van zogenaamde interception of redirection proxies • Maakt gebruik van transparent caching • Netwerkelementen (routers) geconfigureerd met WCCP zullen HTTP-traffiek afleiden naar proxy servers zonder dat de gebruikers dit merken • Volledige transparantie voor de gebruikers • WCCP bevat ook een fail-safe mechanisme: betekent dat als de web cache niet bereikbaar is, er geen afleiding van HTTP traffiek gebeurt naar de web cache
2. Contentnetwerken beheerd door de contentleveranciers • Contentleveranciers zijn organisaties die grote hoeveelheden content publiceren op het Internet • Voorbeeld: CNN, Yahoo!, … • Drijfveer voor contentleveranciers • Content zo wijd mogelijk beschikbaar stellen bij de gebruikers • Controle houden over de content • Zonder al te zware investeringen te doen in netwerken en bandbreedte • Opdeling • A. Lokale server topologieën A.1 Clustergebaseerd websysteem (webcluster) A.2 Gedistribueerd websysteem • B. Mirror sites • C. Content-Delivery netwerken (CDN)
A. Lokale server topologieën A.1 Webclusters • De contentservers maskeren hun IP-adressen voor de clients • De client ziet 1 “virtual IP” (VIP) adres dat gerelateerd is aan een device vóór de contentservers • Device: “contentswitch”, ook “webswitch” genoemd (Layer 4 of Layer 7)
A. Lokale server topologieën A.2 Gedistribueerde web systemen • De contentservers tonen hun IP-adres aan de clients • Sturing gebeurt niet vanuit een contentswitch • In lokale server topologieën komt A.1 het vaakst voor, A.2 is ouder qua technologie en komt vaker voor bij geografisch verspreide web server systemen (vooral bij DNS-gebaseerde routering)
A.1 Webclusters • Gebaseerd op • Layer 4 switching • Layer 7 switching • EN • Gebaseerd op client/server dataflow (vooral dan wat betreft het terugkeerpad) • One-way architectuur • De contentserver antwoordt direct naar de client • Two-way architectuur • De contentserver antwoordt aan de contentswitch, die vervolgens antwoordt aan de client
Bepalen hoe de request bij de contentserver(s) terechtkomt Twee aspecten zijn belangrijk: A.1.1 Routeringsmechanismen A.1.2 Dispatching algoritme voor de selectie van de beste server (bv. load balancing) Bepalen bij welke content server de request terechtkomt A.1 – Taxonomie voor webclusters
A.1.1 – Oplossingen op basis van Layer 4 switches (two-way architecturen)
A.1.1 – Oplossingen op basis van Layer 4 switches (two-way architecturen) • Packet double-rewriting is gebaseerd op Network Address Translation (NAT) • Zowel voor ingaande als uitgaande pakketten moet de TCP en IP header worden herschreven + checksum herberekenen • Ingaand • Web switch herschrijft het publieke IP-adres naar het private IP-adres van de content server • Uitgaand • Pakketten van de content server naar de client passeren terug de web switch • Web switch herschrijft het bronadres van het private IP-adres naar het publieke van de web switch
A.1.1 – Oplossingen op basis van Layer 4 switches (one-way architecturen)
A.1.1 – Oplossingen op basis van Layer 4 switches (one-way architecturen) • Packet single-rewriting • Web switch vervangt het VIP adres door IP adres van de contentserver + herberekent IP en TCP checksum • De contentserver antwoordt rechtstreeks aan client maar gebruikt als bron IP-adres het VIP-adres • Packet tunneling (ook IP encapsulation) • Techniek om een IP datagram te encapsuleren in een ander IP diagram • Webswitch tunnelt het inkomende pakket naar de contentserver door het te encapsuleren in een nieuw IP datagram (met bron IP = VIP en destinatie IP = IP contentserver) • Contentserver stript het IP datagram eraf en ziet dat het pakket origineel bestemd was aan het VIP-adres • Contentserver antwoordt rechtstreeks aan de client maar gebruikt als bron IP-adres het VIP adres
A.1.1 – Oplossingen op basis van Layer 4 switches (one-way architecturen) • Packet forwarding • Het VIP adres wordt gedeeld door de webswitch en de contentservers door het gebruik van primaire en secundaire IP-adressen • Contentservers hebben een primair IP-adres en als secundair IP-adres het VIP-adres (bv. via loopback interface) • ARP mechanisme moet worden uitgeschakeld op de contentservers • Packet forwarding gebeurt doordat de web switch in het inkomende pakket het MAC-adres vervangt door dat van de contentserver • Er gebeurt dus een transformatie op layer 2 niveau, “MAC address translation” • Wanneer de contentserver het pakket ontvangt ziet het eruit als een pakket voor zichzelf, aangezien hij het VIP-adres deelt • De contentserver kan rechtstreeks antwoorden aan de client zonder modificatie van het IP datagram
A.1.1 – Oplossingen op basis van Layer 7 switches (two-way architecturen)
A.1.1 – Oplossingen op basis van Layer 7 switches (two-way architecturen) • TCP gateway • Webswitch bevat een applicatielaag proxyserver die alle binnenkomende connecties accepteert • De proxyserver onderhoudt “TCP persistent” connecties met alle contentservers • Proxyserver stuurt de client request door naar de contentserver via de “TCP persistent” connectie • Het antwoord komt via de “TCP persistent” connectie terug bij webswitch die het doorstuurt naar de client • Eenvoudige techniek (“TCP persistent” sessies kunnen want alles staat lokaal) • Grootste nadeel: Zowel de inkomende als uitgaande data flows lopen via de webswitch op applicatielaagniveau • TCP splicing • Cfr volgende slide(s)
A.1.1 – Oplossingen op basis van Layer 7 switches (one-way architecturen)