mini|alt=Links zu sehen ein Server, von dem aus Inhalte an mehrere Clients verteilt werden. Rechts die Verteilung der Inhalte über mehrere Server, d. h. das CDN|Links: Verteilung über Einzelserver Rechts: CDN-Schema Ein Content Delivery Network (CDN), oder auch Content Distribution Network, sehr selten auch InhaltszustellnetzSo in der NIS-2-Richtlinie oder BR-Drs. 166/24 (PDF; 0,9 MB) genannt, ist ein Netz regional verteilter und über das Internet verbundener Server, mit dem Inhalte – insbesondere große Mediendateien – ausgeliefert werden. Ein CDN stellt skalierende Speicher- und Auslieferungskapazitäten zur Verfügung und gewährleistet auch bei großen Lastspitzen einen optimalen Datendurchsatz.
CDN-Knoten sind auf viele Standorte verteilt und oft auch auf viele Backbones. Sie arbeiten zusammen, um Anfragen (Requests) von End-Nutzern nach Inhalten (Content) möglichst ökonomisch zu bedienen. Einzelne Standorte werden als PoP (Point of Presence) bezeichnet und bestehen aus Server-Clustern.
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.
CDN ist ein Oberbegriff, der verschiedene Arten von Diensten zur Bereitstellung von Inhalten umfasst: Videostreaming, Software-Downloads, Beschleunigung von Web- und Mobilinhalten, lizenziertes/verwaltetes CDN, transparentes Caching sowie Dienste zur Messung der CDN-Leistung, Lastausgleich, Multi-CDN-Switching und Analysen sowie Cloud Intelligence. CDN-Dienste können in den Bereichen Sicherheit, DDoS-Schutz und Web Application Firewalls (WAF) sowie WAN-Optimierung angewendet werden.
Funktionsweise 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, der die IP-Adresse des Replica-Servers zurückgibt. Alternativ dazu kann auch ein HTTP-Statuscode 302 die Weiterleitung auf einen anderen Webserver veranlassen.
Architektur und Schlüsselkomponenten
Inhaltsanbieter die Einrichtung, die den Inhalt zur Verfügung stellt. Autorisierung Der Inhaltsanbieter erteilt dem CDN-Anbieter die Genehmigung zur Bereitstellung von Inhalten. Berichterstattung Der Inhaltsanbieter ersucht den CDN-Anbieter um eine Leistungsanalyse, um die Servicequalität des CDN-Anbieters zu bewerten und Zugang zu anderen maßgeblichen Daten zu erhalten. Quelle Der Inhaltsanbieter übermittelt eine Kopie des Inhalts. Inhalt Digitale Informationen, die zur Verbreitung erstellt oder lizenziert wurden. Anforderung Der Nutzer oder die Nutzerin fordert den Inhaltsanbieter auf, Daten lokal anzuzeigen oder zu speichern. Ausliefern CDN sendet den Inhalt an den Nutzer. Nutzer Die Einheit, die Daten vom Inhaltsanbieter anfordern will. Delivery Nodes (Zustellungsknoten) Die Hauptaufgabe besteht darin, dem Endnutzer Inhalte zu liefern. Bei den Zustellungsknoten handelt es sich um Server mit Caches, auf denen Inhalte bereitgestellt werden. Die Inhalte können manuell auf diesen Knoten gespeichert werden (Push-CDNs), oder die Zustellungsknoten können die Inhalte von den Ursprungsknoten anfordern (Pull-CDNs). Der Hauptvorteil von Push-CDNs liegt darin, dass der Inhalt für die Nutzer, die ihn abrufen, ohne Verzögerung verfügbar ist. Der Hauptnachteil ist, dass der Inhaltsanbieter die Inhalte nach jeder Aktualisierung proaktiv „pushen“ muss. Der Unterschied zu Pull-CDNs besteht vor allem in der automatischen Abfrage von Inhalten beim Content-Provider. Der Hauptnachteil ist die Anfangsgeschwindigkeit bei der Bereitstellung der Inhalte: Wenn der Benutzer die Inhalte das erste Mal abruft, erfolgt die Bereitstellung genauso schnell, wie wenn der Inhaltsanbieter kein CDN verwenden würde. Storage Nodes (Speicherknoten) Das Hauptziel besteht darin, Kopien der Originaldaten zu speichern, die auf Bereitstellungsknoten verteilt werden. Für die Speicherknoten kann ein hierarchisches Modell festgelegt werden, das ein Caching auf mehreren Ebenen zulässt. Origin Nodes (Ursprungsknoten) Das sind die wichtigsten Inhaltsquellen, die die Übertragung von Inhalten über das Netz oder die Infrastruktur des Inhaltseigentümers erlauben. Control Node (Kontrollknoten) Die Hauptaufgabe ist das Hosten von Verwaltungs-, Routing- und Überwachungskomponenten eines CDN.
Im Wesentlichen gibt es 3 Typen von Inhalten:
Dynamic content (Dynamische Inhalte) dynamische_Webseiten, die mit Hilfe einer der gängigen Web-Programmiersprachen wie PHP, Ruby oder Java automatisch erzeugt werden. Static content (Statische Inhalte) Inhalte, die sich normalerweise nicht sehr oft verändern und nicht neu erstellt werden müssen, wie zum Beispiel Computergrafik, CSS, JavaScript oder ganze statische Webseiten. Streaming content (Streaming-Inhalte) Die Streaming Media, die mit Hilfe einer Webbrowser-Steuerung wiedergegeben werden.
Caching Die Zwischenspeicherung (Caching) ist das Herzstück der CDN-Dienste. Ähnlich wie beim Caching von Browsern (siehe Cache) werden Dateien auf einer Festplatte gespeichert, wo sie schneller abgerufen werden können. Ein CDN verschiebt den Inhalt einer Webseite auf leistungsstarke Proxy-Server, die für eine beschleunigte Verteilung von Inhalten optimiert sind. Diese Inhalte können nun von Website-Besuchern, die von einem nahe gelegenen Standort aus surfen, schnell abgerufen werden. Im Gegensatz zum Cache eines Webbrowsers, der nur für einen einzigen Benutzer verwendet wird, verfügt das CDN über einen gemeinsamen Cache. In einem gemeinsam genutzten CDN-Cache kann eine von einem Nutzer angeforderte Datei später von anderen Nutzern abgerufen werden, was die Anzahl der Anfragen an den Ursprungsserver erheblich verringert.
CDN-Topologien Bezüglich der Topologie unterscheidet man bei Content Delivery Networks zwischen einer verstreuten und einer konsolidierten Topologie.
Verstreute CDNs betreiben eine große Anzahl von PoP mit mittlerer und niedriger Kapazität, die ausgewählte geografische Regionen dicht besiedeln. Der Schwerpunkt dieser Topologie liegt auf der optimalen räumlichen Nähe, wobei die einzelnen PoPs in unmittelbarer Nähe zueinander liegen können. Durch die physische Nähe kann die Latenzzeit wesentlich verringert werden, insbesondere in Regionen mit geringerer Breitbandkonnektivität. Nachteile dieser Form der Topologie sind der höhere Wartungsaufwand sowie die damit verbundenen Kosten und die durch mehrere Verbindungspunkte verlängerte Paketumlaufzeit. Diese Topologie kam vor allem in frühen CDNs zum Einsatz.
Bei einem Konsolidierten CDN wird eine kleine Anzahl hoch-leistungsfähiger PoP betrieben, die strategisch in großen Datenzentren positioniert sind, um eine breite Bevölkerungsmenge zu bedienen. Diese Netzwerktopologie stellt einen modernen Ansatz für die Bereitstellung von Inhalten dar, der durch die Entwicklung der Internetkonnektivität ermöglicht wurde. Der Hauptvorteil einer konsolidierten Topologie ist die zentralisierte Infrastruktur, die flexibles Management und agile Konfigurationsbereitstellung ermöglicht. Dies kommt sowohl den Endnutzern als auch den Netzbetreibern zugute, da sie mehr Kontrolle und eine insgesamt bessere Reaktionsfähigkeit bieten. Zudem sind die hier eingesetzten Points of Presence widerstandsfähiger (z. B.: gegen DDoS-Angriffe). Nachteile dieser Topologie sind deren geringere Effektivität in Regionen mit schlechterer Konnektivität und die höhere Komplexität der Bereitstellung des Netzwerkes.
CDN-Arten Content-Delivery-Netzwerke können auf unterschiedlichen Bereitstellungsprinzipien basieren:
Origin Push CDN Der Begriff Push-CDN bezieht sich auf die Art von Content-Delivery-Network, bei dem die einzelnen CDN-Server ähnlich wie der Ursprungsserver vorgehen. In diesem Szenario sendet der Ursprungsserver die Inhalte direkt und proaktiv an Edge-Server im CDN-Netzwerk (automatisch oder manuell) und verlinkt auf sie. Diese Inhalte werden auf dem Server zwischengespeichert, bis sie gelöscht oder bereinigt werden, weil eine neue Version der Seite gesendet wird. Die Webinhalte werden hierbei automatisch in den CDN-PoP eingefügt, der dem Standort des Clients am nächsten ist. Wenn Endnutzer also eine Datei (HTML, Video, CSS, …) anfordern, kann das CDN alle nötigen Daten nahtlos in deren Browser liefern. Die Verantwortlichkeit der Inhalte liegt dabei bei den jeweiligen Websiteeigentümern, die bei jeglichen Änderungen explizit in das CDN „gepusht“ werden müssen.
Ein Vorteil dieser CDN-Art ist die effizientere und einfachere Nutzung des Datenverkehrs, da nur bei Änderungen Inhalte auf den CDN-Server hochgeladen werden müssen. Push-CDNs sind bei relativ statischen Webseiten mit großen eingebetteten Datenmengen zu bevorzugen.
Origin Pull CDNs Ein Pull-CDN basiert darauf, dass die tatsächlichen Inhalte nur auf den jeweiligen Webservern gespeichert werden, es werden keine Daten tatsächlich auf die CDN-Server hochgeladen. Hier zieht das CDN die Inhalte von den Hauptservern und speichert sie im Cache. Je nach Benutzeranforderung werden die Inhalte nicht vom Hauptserver, sondern von den zwischengespeicherten Kopien des nächstgelegenen CDN-Servers an den Client-Browser geliefert. Bei der ersten Anfrage für einen spezifischen Inhalt an einen Edge-Server treten höhere Ladezeiten auf, da die Daten erst in den Cache geladen werden müssen. Das CDN bewahrt die Dateien auf, bis sie ablaufen.
Peer-to-Peer CDN mini|P2P-Netzwerk Peer-to-Peer (P2P) CDNs nutzen das Peer-to-Peer-Protokoll zur Bereitstellung von Inhalten. Hierbei werden die Inhalte nicht auf designierten CDN-Servern gespeichert bzw. gecached, hier sind Benutzerclients Teil des Netzwerkes. Die Clients, die auf die Inhalte zugreifen, teilen die Teile mit anderen, d. h. während sie die Inhalte herunterladen, laden sie sie auch hoch, ohne das normale Browsing-Erlebnis zu beeinträchtigen. Das bedeutet, dass die inhaltszentrierten Netze im Gegensatz zu Client-Server-Systemen besser funktionieren, wenn mehr Nutzer auf die Inhalte zugreifen (insbesondere bei Protokollen wie Bittorrent, die eine gemeinsame Nutzung erfordern). Diese Eigenschaft ist einer der Hauptvorteile von P2P-Netzen, denn dadurch sind die Einrichtungs- und Betriebskosten für den ursprünglichen Inhaltsanbieter sehr gering.
Peer-Assisted CDN