Content Delivery Network

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Content Delivery Network (CDN), oder auch Content Distribution Network genannt, ist ein Netz lokal verteilter und über das Internet verbundener Server, mit dem Inhalte –insbesondere große Mediendateien – ausgeliefert werden.

CDN-Knoten sind auf viele Orte verteilt und oft auch auf viele Backbones. Sie arbeiten zusammen, um Anfragen (Requests) von End-Nutzern nach Inhalten (Content) möglichst ökonomisch zu bedienen.

Im Hintergrund (transparent) werden die Daten im Netz so vorgehalten (Caching), dass die jeweilige Auslieferung entweder möglichst schnell geht (Performance-Optimierung) oder möglichst wenig Bandbreite verbraucht (Kosten-Optimierung), oder beides zugleich.

Große CDNs unterhalten tausende Knoten mit zehntausenden Servern.

Funktionsweise[Bearbeiten]

Das CDN besteht zunächst aus einem Ursprungsserver, auf dem der Inhalteanbieter die zu verteilenden Inhalte ablegt, einer großen Zahl an Replica-Servern, die Kopien dieser Inhalte vorhalten, und einem Distributionssystem, das die Inhalte auf den Replica-Servern verteilt. Für die Umleitung der Benutzeranfragen auf die einzelnen Replica-Server ist ein Request-Routing-System zuständig, welches sich dabei auf verschiedene Kennzahlen über diese Server stützt, die ihm vom Accounting-System geliefert werden.

Sendet ein Client eine Anfrage an das CDN, dann wählt das Request-Routing-System einen geeigneten Replica-Server. Bei der Auswahl bezieht es Kennzahlen über deren aktuelle Belastung (zum Beispiel CPU-Auslastung, Anzahl der aktiven Verbindungen) und über die Netzwerkverbindung zwischen Client und Server (zum Beispiel geographische Entfernung, Latenzzeit, Übertragungsrate), seltener über die Identität des Clients (zum Beispiel Unterscheidung zwischen Standard- und Premium-User) mit ein, die ihm durch das Accounting-System zur Verfügung gestellt werden.

Nach Auswahl des Servers muss die Benutzeranfrage nun umgeleitet werden. Das am häufigsten eingesetzte Verfahren dafür ist DNS-basiertes Request Routing. Dabei werden Anfragen des Clients an einen vom CDN bereitgestellten DNS-Server weitergeleitet, welcher die IP-Adresse des Replica-Servers zurückgibt. Alternativ dazu kann als Verfahren auch das HTTP-Übertragungsprotokoll zum Einsatz kommen, wo der Statuscode 302 die Weiterleitung auf einen anderen Webserver veranlasst.

Auswahl von CDN-Anbietern[Bearbeiten]

Open-Source Software und freie Service-Anbieter[Bearbeiten]

MirrorBrain ist eine freie HTTP-Server-Software für Linux zum Betrieb eines CDN.

Die Inhalte von freien JavaScript-, CSS frameworks oder freie Iconsets werden von verschiedenen CDN-Anbietern zum freien und erlaubten Hotlinking angeboten. Google Hosted Libraries bietet bekannte Bibliotheken wie jQuery -UI, AngularJS oder Dojo Toolkit an.[1] Andere Anbieter wie Jsdelivr[2] oder cdnjs[3] bieten zusätzlich zahlreiche weitere, kleinere Bibliotheken an. Wobei Jsdelivr auch das Zusammenfassen zu einem HTTP-request ermöglicht.[4]

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. https://developers.google.com/speed/libraries/devguide?csw=1
  2. http://www.jsdelivr.com/
  3. http://cdnjs.com/about
  4. https://github.com/jsdelivr/jsdelivr#load-multiple-files-with-single-http-request