Seminararbeit
Grundlagen von Content Delivery Networks
Thomas Seebauer15.11.2004
SeminarContent Delivery Networks
Universität MannheimLehrstuhl Praktische Informatik IV: Prof. Dr. Wolfgang Effelsberg
Betreuer: Dipl.-Ing. Hans Christian Liebig
ÜbersichtÜbersicht
• Rückblick: die Entwicklung von Content Delivery Networks
• Die Aufgaben eines Content Delivery Networks
• Die Architektur eines Content Delivery Networks
• Inhalte optimal verteilen: Content Distribution System
• Request Routing: Den besten Surrogate Server finden
• Request Routing: Weiterleitungsmechanismen
• Ausblick: Content Services
Die Entwicklung von CDNs – Struktur des InternetDie Entwicklung von CDNs – Struktur des Internet
• Dezentral: Netz von Netzen
• Content wird jedoch oft
Zentral bei nur einem
Anbieter gehostet
• Wachstum nur durch
hinzufügen von Servern
und Bandbreite möglich
Die Entwicklung von CDNs – Anatomie einer InternetverbindungDie Entwicklung von CDNs – Anatomie einer Internetverbindung
Letzte Meile
Ursprünglicher Content Server
Peering PointsMaximal Verfügbare Geschwindigkeit
Optische Gigabit Verbindung
Kapazität der ISPs und der Peering Punkte
T1, DSL, ISDN oder Modem
10 MBit bis 1 GBit Heimnetzwerk
Die Entwicklung von CDNs – Das Internet im WandelDie Entwicklung von CDNs – Das Internet im Wandel
• Wie das Internet ursprünglich entstand:
- Vornehmliche Verwendung in der Wissenschaft
- Überschaubare Benutzerzahlen
- Freigabe von statischen Dateien
- Zusammenarbeit einzelner Benutzer an gemeinsamen Projekten
• Wie das Internet heute aussieht:
- Rasant steigende Benutzerzahlen
- Rasant steigende Datenmengen
- Eines der wichtigsten Medien zum Informationsaustausch
- Großer Anteil an kommerziellen Anwendungen
- Überwiegend dynamische Inhalte (Online Shops, Streaming Media)
• Die Folgen dieses Wandels des Internet:
- Von zu vielen gleichzeitigen Zugriffen überlastete Content Server
- Engpässe bei den Leitungskapazitäten
Lösung durch technische Aufrüstung viel zu teuer !
Die Entwicklung von CDNs – Die Folgen des Wandels (1)Die Entwicklung von CDNs – Die Folgen des Wandels (1)
5.54 5.81 6.97 9.34 9.71 14.28 14.41
0
4
8
12
16
Altavista Datek CSFB
Direct
Ask
J eeves
Ameritrade E*Trade Char les
Schwab
Die sieben schnellsten Internetseiten*:
Dow
nlo
ad
zeit
mit
Dia
l-U
p Z
ug
an
g in
Seku
nd
en
* Quelle: Keynote Consumer 40 Index, April, 2004 (www.keynote.com)
Die Entwicklung von CDNs – Die Folgen des Wandels (2)Die Entwicklung von CDNs – Die Folgen des Wandels (2)
Hat die Performance einer Internetseite schon einmal ihr Surfverhalten beeinflusst?
Keine Antwort:1%
Ja, ich habe für dieses eine Mal eine andere Webseite verwendet:
13%
Ja, ich habe eine neue Seite gefunden, die ich jetzt regelmäßig
besuche:
24%
Ja, ich habe diese Seite seitdem nicht mehr verwendet:
9%
Nein: 53%
Quelle: Jupiter Communications Survey of 2,369 users, pub. 6/99
Die Entwicklung von CDNs – Load Balancing: ein erster SchrittDie Entwicklung von CDNs – Load Balancing: ein erster Schritt
Web Site
Client WebServer
ContentSwitch
Internet
Load Balancing: die einfachste Form eines CDN
• Sehr rudimentäres CDN
• Hilft nur bei der Entlastung der Content Server
• Problem der Leitungsengpässe bleibt ungelöst
Die Entwicklung von CDNs – Vom Load Balancing zum CDNDie Entwicklung von CDNs – Vom Load Balancing zum CDN
ÜbersichtÜbersicht
• Rückblick: die Entwicklung von Content Delivery Networks
• Die Aufgaben eines Content Delivery Networks
• Die Architektur eines Content Delivery Networks
• Inhalte optimal verteilen: Content Distribution System
• Request Routing: Den besten Surrogate Server finden
• Request Routing: Weiterleitungsmechanismen
• Ausblick: Content Services
Die Aufgaben eines CDN – Gewöhnlicher Internet ContentDie Aufgaben eines CDN – Gewöhnlicher Internet Content
• Statischer Content
- Beispiele: statische HTML Seiten, Softwarepatches, Publikationen
- Muss nur selten aktualisiert werden
- Stellt geringe Anforderungen an ein CDN
- Kann mit einfachen Proxy Caching Methoden bearbeitet werden
• Dynamischer Content
- Beispiele: Online Shops, Serverseitig erzeugte HTML Seiten
- Muss ununterbrochen aktualisiert werden
- Stellt die höchsten Anforderungen an ein CDN
- Komplizierte Aktualisierungsmechanismen nötig
Die Aufgaben eines CDN – Sonderfall Streaming MediaDie Aufgaben eines CDN – Sonderfall Streaming Media
Zwei verschiedene Formen von Streaming Media Content:
• On Demand Streaming Media
- Entspricht im wesentlichen dem normalen Statischen Content
- Es ist jedoch eine spezielle Streaming Software nötig
- Mindestbandbreite zu den Clients muss garantiert werden
• Live Streaming Media
- Content wird nicht Gespeichert
- Caching Server fungieren nur als Weichen
- Ebenfalls spezielle Software nötig
- Mindestbandbreite zu Clients und Master Server muss
garantiert werden
ÜbersichtÜbersicht
• Rückblick: die Entwicklung von Content Delivery Networks
• Die Aufgaben eines Content Delivery Networks
• Die Architektur eines Content Delivery Networks
• Inhalte optimal verteilen: Content Distribution System
• Request Routing: Den besten Surrogate Server finden
• Request Routing: Weiterleitungsmechanismen
• Ausblick: Content Services
Die Architektur eines CDN – Fünf wesentliche ElementeDie Architektur eines CDN – Fünf wesentliche Elemente
• Surrogate Server- Cachen des Content und Weiterleitung an zugeteilte Clients.- Sammeln statistischer Daten über die Clients und das Netzwerk.
• Distribution System- Zuständig für die optimale Verteilung des Content vom Master Server an die Surrogate Server und die anschließende regelmäßige Aktualisierung.
• Request Routing System- Überwacht die Netzwerkleistung, und sucht bei einer Content Anfrage einen optimalen Surrogate Server für den Client.
• Accounting System- Sammelt Daten aus dem gesamten CDN um Fehleranalyse, Zugriffsstatistiken, Web Accounting und andere Dienste zu ermöglichen.
• Peering System- Ermöglicht Verbindungen zu Content, der von fremden CDN gehostet wird.
Die Architektur eines CDN – ÜberblickDie Architektur eines CDN – Überblick
ÜbersichtÜbersicht
• Rückblick: die Entwicklung von Content Delivery Networks
• Die Aufgaben eines Content Delivery Networks
• Die Architektur eines Content Delivery Networks
• Inhalte optimal verteilen: Content Distribution System
• Request Routing: Den besten Surrogate Server finden
• Request Routing: Weiterleitungsmechanismen
• Ausblick: Content Services
Das Content Distribution System – Content verteilen (1)Das Content Distribution System – Content verteilen (1)
Ziele der Content Verteilung:
• Performance für die Clients optimieren
• Zahl der Content Replikationen minimieren
• Bandbreite für die spätere Aktualisierung minimieren
Dies ist eine äußerst komplexe Aufgabe, zu deren Lösung bereits viele Algorithmen entwickelt wurden und auch noch entwickelt werden.
Das Content Distribution System – Content verteilen (2)Das Content Distribution System – Content verteilen (2)
Zwei wesentliche Ansätze:• Statische Festlegung des Verteilungsmusters unter fester Definition
einer der drei Variablen
- Klassische Methode
- Leichter zu berechnen aber unflexibel
• Dynamische Berechnung des Verteilungsmusters
während des Betriebes des CDN
- Neuere Methode
- Noch im Anfangsstadium der Entwicklung
- Leistungsfähiger aber aufgrund der Komplexität derzeit
nur bei kleinen CDN einsetzbar
Das Content Distribution System – Content Aktualisieren (1)Das Content Distribution System – Content Aktualisieren (1)
Pull Verfahren
• Der Surrogate Server holt sich aktualisierten Content
selbständig nach Ablauf eines Verfallsdatums
• Klassische Methode der Content Aktualisierung
• Wird beispielsweise beim Proxy Caching eingesetzt
• Vorteile:
- Erzeugt keinen überflüssigen Traffic
- Benötigt kein zusätzliches Überwachungssystem
• Nachteile:
- Es können Inkonsistenzen zwischen Master und Surrogate
Servern auftreten
- Content Provider können die Content Kopien nicht beeinflussen
Das Content Distribution System – Content Aktualisieren (2)Das Content Distribution System – Content Aktualisieren (2)
Push Verfahren
• Das Content Distribution System überwacht alle Server und
Aktualisiert die Surrogate Server sobald sich die Daten auf
dem Master Server geändert haben
• Wird in den meisten modernen CDN eingesetzt
• Vorteile:
- Vollständige Kontrolle über die Content Kopien
- Keine Verzögerung zwischen Update des Content auf dem
Master Server und den Surrogate Servern
• Nachteile:
- Teilweise erheblicher Traffic Overhead insbesondere bei häufig
aktualisiertem und selten abgerufenem Content
ÜbersichtÜbersicht
• Rückblick: die Entwicklung von Content Delivery Networks
• Die Aufgaben eines Content Delivery Networks
• Die Architektur eines Content Delivery Networks
• Inhalte optimal verteilen: Content Distribution System
• Request Routing: Den besten Surrogate Server finden
• Request Routing: Weiterleitungsmechanismen
• Ausblick: Content Services
Den besten Surrogate Server finden - SuchkriterienDen besten Surrogate Server finden - Suchkriterien
Welches ist der beste Surrogate Server für einen bestimmten Client?
Wichtige Kriterien:
- Geographische Nähe
- Netzwerktopologische Nähe
- Auslastung der Surrogate Server
- Verbindungsqualität zwischen Surrogate Servern und Client
Analysemechanismen:
- OSI Layer 4 und 7 Header Informationen
- BIND Abfragen
- Passives Netzwerkmonitoring
- Aktives Netzwerk Probing
Den besten Surrogate Server finden – Passives MonitoringDen besten Surrogate Server finden – Passives Monitoring
Die Surrogate Server speichern Daten über vergangene Verbindungen zu den Clients und leiten diese an das Request Routing System weiter.
• Gewonnene Informationen:
Status der Surrogate Server und Statistik über die vergangene Netzwerkauslastung.
• Vorteile:
Das Monitoring bleibt innerhalb des CDN und verursacht wenig Zusatztraffic.
• Nachteile:
Aus Statistiken über vergangene Netzwerkaktivität Informationen für die Zuweisung von Surrogate Servern zu gewinnen kann zu Fehlzuweisungen führen.
Den besten Surrogate Server finden – Aktives Netzwerk ProbingDen besten Surrogate Server finden – Aktives Netzwerk Probing
Request Routing System
Client
Lokaler DNSServer
Den besten Surrogate Server finden – Aktives Netzwerk ProbingDen besten Surrogate Server finden – Aktives Netzwerk Probing
Die Surrogate Server Analysieren aktiv das Netzwerk indem sie beispielsweise ICMP ECHO Anweisungen absetzen.
• Gewonnene Informationen:
Status der Surrogate Server, Statistik über die vergangene Netzwerkauslastung und aktueller Status des Netzwerks.
• Vorteile:
Durch die Informationen über den aktuellen Netzwerkstatus kann der passende Surrogate Server viel genauer festgelegt werden.
• Nachteile:
Aktives Probing verursacht Zusatztraffic nicht nur innerhalb des CDN, sondern auch auf fremden Servern und stößt daher bei vielen Serveradministratoren auf wenig Gegenliebe.
ÜbersichtÜbersicht
• Rückblick: die Entwicklung von Content Delivery Networks
• Die Aufgaben eines Content Delivery Networks
• Die Architektur eines Content Delivery Networks
• Inhalte optimal verteilen: Content Distribution System
• Request Routing: Den besten Surrogate Server finden
• Request Routing: Weiterleitungsmechanismen
• Ausblick: Content Services
Request Routing - WeiterleitungsmechanismenRequest Routing - Weiterleitungsmechanismen
Nach dem festlegen eines geeigneten Surrogate Server muss der Client auf diesen umgeleitet werden.
Dazu gibt es im Wesentlichen drei Mechanismen:
• DNS Basiertes Request Routing
Sehr einfach umzusetzen, hat aber eine geringe Genauigkeit da nur DNS Server angesprochen werden und ist zudem auf die Mitarbeit externer DNS Server angewiesen.
• Transport Layer Request Routing
Hat eine hohe Auflösung und ist sehr flexibel auch während bestehender Verbindungen zu Clients, erzeugt aber Traffic Overhead.
• Application Layer Request Routing
Verwendet existierende Mechanismen der Layer 7 Protokolle oder leitet mittels URL Rewriting um. Sehr einfach und effektiv aber nicht bei allen Content Arten einsetzbar.
Ein Beispiel für DNS basiertes Request RoutingEin Beispiel für DNS basiertes Request Routing
WebDirector
WebCache
Service Node
Client
CNN’s WebServer
CNN’s NameServer
Internet
Local DNSServer
WebDNS
ÜbersichtÜbersicht
• Rückblick: die Entwicklung von Content Delivery Networks
• Die Aufgaben eines Content Delivery Networks
• Die Architektur eines Content Delivery Networks
• Inhalte optimal verteilen: Content Distribution System
• Request Routing: Den besten Surrogate Server finden
• Request Routing: Weiterleitungsmechanismen
• Ausblick: Content Services
Content Services - Möglichkeiten von CDNsContent Services - Möglichkeiten von CDNs
Client
MasterServer
Internet
RequestRouting
SurrogateServiceEngine
Der Client fordert eine Webseite an.
Die Seite wird auf den Surrogate Server geholt und dort gespeichert.
Die Webseite wird an den Client geschickt.
Ein Handybenutzer fordert dieselbe Seite an.
Der Surrogate Server sendet die lokale Kopie der Seite an die Service Engine und bekommt eine, an Handys angepasste Version zurück
Die angepasste Seite wird an den Hanybenutzer weitergeleitet (optional auch auf dem Surrogate gespeichert).
Analog können belibige weitere Geräte bedient werden. Zudem können viele Content Anbieter gleichzeitig dieselben Service Engines benutzen.
Content Services – Beispiel: Content AnpassungContent Services – Beispiel: Content Anpassung
4
2
13
5
MasterServer
6
1
2
3
4
5
6
Internet
Service Enginemit ContentAnpassung
MusikServer
• Der Moderator bereitet die Playlist für den nächsten Tag vor.
• Die Musikstücke werden Nachts auf die Surrogate Server gespeichert.
• Der Moderator Moderiert die Show mittels Live Streaming Media Transfer.
• Eine Content Service Engine sorgt dafür, daß die Musik-stücke zwischen den Mode-rationen per On Demand Streaming Media von den Surrogate Servern eingespielt werden.
12
33
3
1
2
3
Internet
Content ServicesContent Services – Beispiel:– Beispiel: Radio BroadcastingRadio Broadcasting
Content Services – Weitere denkbare AnwendungenContent Services – Weitere denkbare Anwendungen
• Anpassung des Content an technische Gegebenheiten:- Anpassung des Content an verschiedenste Endgeräte.- Anpassung an die verfügbare Bandbreite des Endbenutzers (z.B. Streaming Media)
• Anpassung des Content an den Endbenutzer:- Automatische Übersetzung in die lokale Sprache- Einfügen regional relevanter Zusatzinformationen für den Client- Personalisierung des Content anhand der Daten des Accounting Systems- Einfügen von, auf den Endbenutzer abgestimmter Werbung
• Content Filter Dienste- Virenüberprüfung des Content vor der Auslieferung- Zugriffskontrolle durch Contentanalyse (z.B. Alterskontrolle)
• Filtern der Content Requests- Zugriffkontrolle durch Anfrageanalyse- Anlegen von Benutzerprofilen- Anonymisierung von Zugriffen
ENDEENDE
Vielen Dank für die Aufmerksamkeit