Schneller Zugriff auf Web-Seiten durch Web-Caching

15.06.2000
Web-Caching ermöglicht eine intelligente Verteilung und somit den schnellen Zugriff auf Webpages. Auf welche Funktionen beim Caching geachtet werden muss, und welche Strategien sich sinnvoll in die Netze implementieren, beschreibt David Griffiths*.

Trotz der Bemühungen, die Performance des World Wide Web (WWW) zu erhöhen, wird die Web-Realität nicht den Ansprüchen der Nutzer gerecht. Die Internet-Ressourcen sind immer noch zu langsam, um eine verlässliche Basis für die prognostizierte "elektronische Gesellschaft" zu bieten.

Zwar steht Technologie bereit, mit der sich die Symptome kurieren lassen: Mit xDSL- und Kabelmodems wird die Zugriffsgeschwindigkeit im Local Loop gesteigert, Gigabit-Router und Wave-Division-Multiplexing-Technologien (WDM) verbessern den Durchsatz der weltweiten Backbones, Server-Cluster- und Load-Balancing-Funktionen sorgen für eine schnellere Bereitstellung der Web-Seiten.

Doch die eigentlichen Ursachen des Problems auf dem Pfad zwischen Client und dem Server bleiben bestehen. Trotz aller geschwindigkeitssteigernden Technologien ist die Verbindung immer so langsam wie ihr langsamster Knoten.

Staus im Web-Verkehr

Das World Wide Web ist inzwischen für mehr als 70 Prozent des Datenverkehrs im Internet verantwortlich. Der Web-Verkehr steigt von Monat zu Monat schneller an, und die Internet-Ressourcen können mit dieser Entwicklung nicht Schritt halten. Dadurch steigen zwangsläufig die Zugriffszeiten auf die Web-Ressourcen an.

Zu bestimmten Tageszeiten können einige Websites kaum noch erreicht werden. Dieser temporäre Engpass verursacht eine Reihe von weiteren Problemen.

Switches und Router reagieren auf die Überlastung mit Paketverlusten. Die Endgeräte bemerken mit einiger Verzögerung den Paketverlust und sorgen durch eine automatische Sendewiederholung für ein erneutes Übermitteln des Datenpakets und verursachen auf diese Weise zusätzliche Last im Netz. Zudem wird die Überlast immer weiter auf das gesamte Netz verteilt.

Nicht nur Content-Server, Backbone-Router und der Internet-Backbone werden schließlich überlastet, sondern die gesamte Internet-Verbindung inklusive des Local Loops und des ISP-Netzes, die unnötige Datenpakete verarbeiten müssen. Der Zugriff auf eine Web-Seite kann auf dem gesamten Weg zwischen Client und Content-Server aufgehalten respektive verlangsamt werden.

Dieses Phänomen hat nicht nur Auswirkungen auf den Nutzer, sondern auch auf den jeweiligen Service-Provider. Der ISP wird in der Regel für die geringe Performance im Internet verantwortlich gemacht.

Aus diesem Grund versuchen die ISPs und die Content-Provider, zwischen den ökonomischen Zwängen (Kosten/Nutzen) und den Ansprüchen der Kunden einen Balanceakt. Es gilt, die Reaktionszeit des Netzes kontinuierlich zu verbessern und gleichzeitig die Betriebskosten im Griff zu behalten.

Neue Web-Techniken für mehr Geschwindigkeit

Die Einführung der ADSL-Technik verspricht einen Durchsatz von bis zu 8 Mbit/s und den Upgrade der Kabelmodems bis zu 10 Mbit/s für den Nutzer. Auf der Content-Seite werden immer schnellere Server, Server-Cluster und Server-Farmen aufgebaut, die einen schnelleren Zugriff auf die Web-Informationen erlauben.

Im Backbone wird die Performance durch neue ATM-Switches und Switch-Router im Terabit-Bereich erhöht. Hierzu gehört auch das Wavelength-Division-Multiplexing, welches ein Vielfaches der heutigen Übertragungskapazitäten für die Zukunft verspricht. Diese Verbesserungen werden jedoch durch folgende Fakten quasi wieder zunichte gemacht:

-drastisch anwachsende Zahlen an Internet-Nutzern,

-immer länger werdende Online-Zeiten,

-sich explosionsartig entwickelnde Internet-Inhalte und

-die schleichende Migration von textorientierten zu Multimedia-Inhalten.

Mit dem reinen Aufrüsten der Technologie durch neue Technologien wird zwar ein momentaner Engpass behoben, aber eine Ursachenbehebung zwangsläufig verzögert.

Bandbreiten-Managemententzerrt Datenstau

Die Einführung von "Quality of Service"-Funktionen (QoS) in den Netzen durchbricht erstmals diesen Kreislauf. In den Koppelkomponenten werden die Datenströme entsprechend ihrer Wichtigkeit priorisiert und die Web-Anfragen auf dem optimalen Weg zum jeweiligen Content-Server übermittelt.

In der Regel werden die intelligenten Bandbreiten-Manager (siehe Abbildung 1) auf dem Übergang zwischen den LANs und WANs eingesetzt und somit die unterschiedlichen Übertragungsgeschwindigkeiten optimiert.

Die heutigen LANs verfügen über Transfergeschwindigkeiten zwischen 10 und theoretisch 1000 Mbit/s. Die WAN-Anschlüsse übersteigen nur selten 2 Mbit/s.

Durch den Kapazitätsengpass führt der netzübergreifende Datenverkehr quasi einen ständigen Kampf um die viel zu gering bemessenen Übertragungskapazitäten. Dies führt in der Praxis dazu, dass wichtige Geschäftsinformationen durch das reine Webbrowsing oder den Transfer unwichtiger Informationen auf der Strecke bleiben.

Der Bandbreiten-Manager greift genau in diesem Punkt ein, indem diese Applikation (anhand der gängigen "Traffic Shaping"-, "Packet Discard"- und "TCP Rate Control"-Mechanismen) sämtliche Protokoll-Header (von Layer 2 bis Layer 7) untersucht und den Datenverkehr entsprechend der vom Netzadmi-nistrator vordefinierten Kriterien (Applikations-, Protokolltyp, Port-Nummer, Web- oder IP-Adressen) die verfügbare Bandbreite aufteilt.

Kanalisierung des Web-Verkehrs

Intelligente Switches und Router verwenden ähnliche Techniken zur Festlegung der Ressourcen und zur Priorisierung der jeweiligen Datenströme. Selbst die neuen Tbit-Router mit den 2,5 Gbit/s schnellen Interfaces benötigen eine Hardware-basierte Priorisierung, um bei einem Ressourcen-Engpass die einzelnen Datenströme entsprechend der jeweiligen Dringlichkeit über das Netz zu übermitteln.

Auf der Seite der Server werden inzwischen intelligente Layer-7-Switches als Lastverteiler für Server-Farmen eingesetzt. Anhand der Protokollinformation wird der Web-Verkehr auf die jeweiligen Server verteilt und somit ein schnellerer Zugriff auf die Web-Daten gewährleistet.

Bei einigen dieser Applikationen speichern sämtliche Cache-Server die gleichen Informationen. Die Lastverteilung arbeitet nach einer gleichmäßigen Verteilung der eingehenden Verbindung. Die Anfragen werden nach der Reaktionszeit der angeschlossenen Server verteilt.

Dadurch wird die anfallende Last symmetrisch auf die vorhandenen CPU-Ressourcen verteilt. Erfolgt die Lastverteilung nach bestimmten Protokollfamilien (beispielsweise FTP, HTTP oder NFS), verteilt die Lastapplikation die eingehenden Pakete entsprechend der Protokolle (siehe Abbildung 2). Dadurch können vom Netzadministrator die Zugriffszeiten auf populäre Server beziehungsweise Inhalte bis zu einem gewissen Maß optimiert werden.

Bei genauerer Betrachtung wird deutlich, dass diese Produkte nur die Netz-Performance verbessern. Die Kabel- und ADSL-Modems sowie die Bandbreiten-Manager sorgen für eine Reduzierung der Verzögerungszeiten im Access-Bereich.

Zwar erhöhen WDM-Technik, die ATM-Switches und die Routing-Switches den Durchsatz im Backbone und intelligente Content-Switches sorgen für Geschwindigkeitsverbesserungen der Web-Server. Doch da jedes Produkt und jede Technologie nur für einen bestimmten Einsatzbereich entwickelt wurde, kann keine umfassende Lösung aller Bandbreitenprobleme im Web-Bereich erwartet werden.

Um eine durchgängige Verbesserung der Web-Performance zu erreichen, muss die Ursache der Verzögerung und somit die Funktion des WWW verstanden werden.

Bandbreitenverschwendung

Zum Abruf der Inhalte einer Website schickt der Browser eines Benutzers eine HTTP-Message an die jeweiligen URL des Empfängers. Die IP-Namen "Resolution" und die Routing-Prozesse wandeln die URL in eine Netzadresse um und leiten die Anfrage an den Webserver im Internet weiter.

Der Webserver bearbeitet die Anfrage und übermittelt das Objekt der gewünschten Webpage zurück. Dieses Objekt kann eine Vielzahl unterschiedlicher Informationen (angefangen von reinem Text bis hin zu Graphiken oder auch Videosequenzen) enthalten.

Aber der gesamte Weg zwischen Browser und Server ist mit Engpässen gepflastert. In der Praxis erhalten heute zehn Prozent aller Web-Seiten 90 Prozent aller Anfragen. Dass diese Server überlastet sind, ist klar.

Im Internet werden somit enorme Bandbreiten verschwendet, um die gleichen Inhalte ständig zu den unterschiedlichen Nutzern zu übermitteln. Da zahlreiche Nutzer dieser Informationen geographisch weit entfernt von diesen Servern arbeiten, müssen eine Vielzahl an Kopien des gleichen Inhalts über die gleichen Koppelkomponenten (Router, Switches) übertragen werden.

Dieser Mechanismus ist zwar vom Grundkonzept einleuchtend, er sorgt jedoch genau für die Bandbreitenengpässe im Internet. Daher müssen langfristig folgende Vorsorgemaßnahmen ergriffen werden:

-Die Web-Informationen der populären Server müssen näher zum Benutzer gebracht werden.

-Die Sendewiederholungen und doppelte Übermittlungen müssen so weit wie möglich reduziert werden.

-Ein Mechanismus ist notwendig, der sich automatisch an die Surf-Gewohnheiten der Benutzer anpasst.

Netzwerk-Caches entlasten

Das Caching der Web-Objekte im Netz bietet hier den Ausweg. Auf dem Weg vom Server zum Client werden die übertragenen Web-Objekte temporär zwischengespeichert. Wird das gleiche Objekt von einem anderen Nutzer abgerufen, so antwortet der Cache anstatt des Zielservers.

Durch eine sinnvolle Verteilung der Caches im Internet und in unternehmensweiten Netzen bewegen sich häufig abgefragte Web-Informationen zum eigentlichen Nutzer hin. Somit sorgen die Caches für eine signifikante Entlastung der Webserver und eine erhebliche Reduk-tion des Datenaufkommens im Netz. Die Netzwerk-Caches können unterschiedlich ausgeprägt sein. Es ist ja bereits in jedem Webbrowser ein einfacher Cache integriert. Dieser Cache hat die Aufgabe, den gerade abgerufenen Inhalt lokal abzuspeichern. Wird vom Nutzer auf eine bereits abgerufene Web-Seite erneut zugegriffen, so werden die gewünschten Inhalte nicht mehr vom Netz abgerufen, sondern aus dem Cache ausgelesen.

Um nicht nur die Inhalte eines einzelnen Benutzers zwischenspeichern zu können, müssen in den Unternehmen oder von den ISPs spezielle Cache-Server in den zentralen Knotenpunkten eingerichtet werden.

Der Cache-Server in einem Unternehmen wird in der Regel am WAN-Übergang installiert (siehe Abbildung 3). Der ideale Ort für die Installation des Cache-Servers beim ISP (Internet-Service-Provider) ist der "Point of Presence" (POP). Hierzu muss der Webbrowser des Nutzers so umkonfiguriert werden, dass dieser sämtlichen HTTP-Verkehr automatisch an den Cache und nicht mehr an die URL-Adresse des Servers verschickt. Verfügt der Cache über die entsprechende Kopie der gewünschten Webpage, kann dieser den Request direkt beantworten.

Router- und Switch-basierte Netzwerk-Caches arbeiten nach einem ähnlichen Verfahren. Hier muss jedoch nicht jeder Browser speziell konfiguriert werden, sondern der Switch oder der Router bearbeitet die HTTP-Botschaft selbsttätig. Dadurch agiert der Cache quasi transparent für die Browser, die Administration der Endgeräte entfällt.

Inzwischen sind die ISPs dazu übergegangen, Cache-Hierarchien in ihren Netzen aufzubauen (siehe Abbildung 4). Kann eine Anfrage vom primären Cache nicht beantwortet werden, so wird diese Anfrage automatisch an einen "Secondary Cache" weitergeleitet. Verfügt der Secondary Cache ebenfalls über keinerlei Informationen, so gibt der primäre Cache die Anfrage an den eigentlichen Content-Server weiter.

Nachteile der Netzwerk-Caches

Die beschriebenen Netzwerk CacheLösungen bieten neben den spezifischen Vorteilen auch einige signifikante Nachteile. Die Umleitung des HTTP-Verkehrs durch ein Browser- oder Router-Redirection birgt die Gefahr, dass die Cache-Server zur Schwachstelle der gesamten Lösung werden. Wird eine solche Server-Lösung durch Überlast oder einen Systemfehler beeinflusst, so ist der Zugang zum WWW blockiert. Die Behebung eines solchen Fehlers ist komplex, da die Browser der Benutzer explizit auf den inaktiven Webserver umgeleitet wurden.

Die automatische Umleitung der Browser kann unter Umständen auch negative Auswirkungen auf die Netz-Performance haben. Befindet sich der Browser topologisch näher am eigentlichen Content-Server als der Cache-Server, werden trotzdem sämtliche HTTP-Requests an den Cache-Server geschickt (siehe Abbildung 5). Damit muss jedes Web-Objekt, welches nicht im Cache gefunden wurde, doppelt über den jeweiligen Router oder Switch übermittelt werden (siehe Abbildung 6).

Intelligente Caching-Lösungen

Bei der idealen Cache-Lösung agiert der Cache quasi transparent im Netz und bearbeitet den HTTP-Verkehr selbsttätig. Daher entfällt auch das Umkonfigurieren des Webbrowsers beziehungsweise der Eingriff des Routers in den Transportprozess. Da ein solcher Netzwerk-Cache vollkommen transparent arbeitet, reduziert sich die Administration erheblich.

Sollte ein solcher Cache-Server aus irgendeinem Grund ausfallen oder nicht zur Verfügung stehen, sorgt die "Link-Redirector"-Funktion für eine automatische Abkopplung des Servers vom Netz. Da keine expliziten Pfade vom Browser oder Router zum Cache-Server angelegt werden, führt dies auch im Fehlerfall zu keinem Ausfall des Web-Systems.

Um die Verarbeitungsgeschwindigkeit dieser Cache-Server weiter zu erhöhen, können diese Systeme verteilt im Netz installiert werden (siehe Abbildung 7). Hierfür müssen die Systeme nicht manuell konfiguriert, sondern die Links zwischen den Caches anhand der bekannten Routing-Mechanismen aufgebaut werden.

Ist ein Cache-Server beispielsweise nicht in der Lage, eine Anfrage nach einer Web-Informationen zu beantworten, wird die Anfrage automatisch an den nächsthöheren Cache-Server weitergeleitet. Die Anfrage wird entweder von diesem nächsthöheren Server beantwortet oder ebenfalls weitergeleitet. So pflanzt sich die Anfrage entlang des Routing-Pfads von Cache-Server zu Cache-Server bis hin zum eigentlichen Content-Server fort. Die Antwort wird exakt auf dem gleichen Weg zurückgeschickt. Damit lernen sämtliche Cache-Server im Rückpfad das betreffende Web-Objekt.

In einem verteilten Netzwerk-Cache wandern die häufig abgerufenen Objekte somit schnell in die Nähe der Nutzer, und ein Großteil der Webpages wird aus dem Cache beantwortet und belastet nicht die Netzinfrastruktur.

Bei der Beantwortung eines Web Requests durch einen Cache-Server wird automatisch ein so genannter "Hit Report" an den originalen Content-Server generiert. Nach dem Empfang des Hit-Reports durch den Content-Server überprüft dieser, ob sich die betreffende Web-Seite in der Zwischenzeit geändert hat. In diesem Fall übermittelt der Content-Server automatisch das modifizierte Web-Objekt. Zusätzlich sorgt jeder Cache-Server für ein Update der betreffenden Web-Daten bei seinen direkten Cache-Nachbarn. Somit wird garantiert, dass die im Cache abgespeicherten Web-Objekte immer auf dem neuesten Stand gehalten werden (siehe Abbildung 8).

Fazit

Eine Erhöhung der Bandbreite, schnellere Server und intelligente Lastverteilungsmechanismen verbessern die Reaktions- und Antwortzeiten im World Wide Web. Aber nur mit einem verteilten Netzwerk-Cache-Mechanismus wird die eigentlichen Ursache der Probleme behoben und das Web wirklich benutzer- und damit kundenfreundlich beschleunigt.

www.infolibria.com

*Autor David Griffiths arbeitet als Manager New Business Development International bei dem US-Spezialisten für Caching Info Libria.

Zur Startseite