Home - improve
Unser Angebot
Presse-Forum
Veröffentlichungen
Referenzen
Kontakt
Termine

Nur ständig verfügbare und performante Web-Sites sind erfolgreich

Web-Switches auf dem Vormarsch

Da die Konkurrenz im Internet nur einen Mausklick entfernt ist, muss die Internet-Präsenz eines Unternehmens jederzeit verfügbar, performant und zuverlässig sein. Web-Switches bieten viele Funktionen, um diesen Anforderungen gerecht zu werden.

Von Klaus Eppele

Ein Web-Server kann nur eine begrenzte Anzahl von Anfragen simultan verarbeiten. Damit auch stark frequentierte Web-Sites alle Web-Anfragen ohne große Verzögerungen bedienen können, muss man die Web-Inhalte auf mehrere Server verteilen und den Datenverkehr mittels Load Balancing optimal an die verschiedenen Server leiten. Load Balancing ist eine der essentiellen Aufgaben der Web-Switches. Diese untersuchen TCP/IP-Daten bis tief in den HTTP-Header und können anhand von Layer-7-Inhalten wie URL- oder Cookie-Informationen eine optimale Lastverteilung vornehmen und die für Warenkorb-Transaktionen notwendige Persistenz einer Verbindung gewährleisten. Sie verteilen den Datenverkehr abhängig von den übertragenen Inhalten und erkennen anhand eines Datenpakets, ob es sich um einfaches Websurfen, eine zeitkritische SAP-Transaktion oder gar um eine Online-Bestellung handelt. Somit kann jede Anfrage mit der entsprechenden Priorität versehen werden.

Load-Balancing ermöglicht Skalierbarkeit und mehr

Load-Balancing-Switches dienen den Serverfarmen als Front-End zum Internet. Sie bilden die realen IP-Adressen der Server auf eine oder mehrere virtuelle IP-Adressen (VIP) ab. Da nur diese virtuellen Adressen nach außen hin publiziert werden, laufen alle Web-Anfragen beim zentralen Web-Switch auf. Dieser verteilt die Anfragen an die entsprechenden Server der Serverfarm. Somit wird es möglich, verschiedene Dienste auf dafür optimierte Server zu verteilen. Dynamische Web-Funktionen können so beispielsweise von einem Hochleistungsserver erbracht werden, der für die Verarbeitung von Skripts und Applets ausgelegt ist; und statische Inhalte wie Templates oder Bilddateien kann man mittels preisgünstigerer Server verfügbar machen.

Bild 1 

Bild 1: Der Load-Balancing-Switch dient als Front-End für eine Serverfarm. Im gezeigten Beispiel wird sämtlicher HTTP-Verkehr an die Server A,B und D gelenkt, FTP-Anfragen gelangen zu den Servern A,C und E. Der Server B ist für den DNS-Verkehr zuständig. Alle Dienste sind über die virtuelle IP-Adresse 198.121.1.1 zu erreichen.

Web-Switches sollten folgende Load-Balancing-Verfahren unterstützen:

  • Round Robin (sequentielle Verteilung): Alle Anfragen werden sequentiell an die Server verteilt.
  • Least Connection (geringste Auslastung): Der Server, der am wenigsten Verbindungen bedient, erhält die nächste Anfrage.
  • Weighted Distribution (gewichtete Auslastung): Mit dieser Methode kann der Systemadministrator dafür sorgen, dass leistungsfähigere Server mehr Anfragen bearbeiten müssen als langsamere Systeme.
  • Response Time (Antwortzeit): Der Server mit der besten Antwortzeit erhält die Anfrage.
  • Kombinationen aus diesen Verfahren wie z.B. die Weiterleitung der Anfrage abhängig von der Anzahl der aktuellen Verbindungen und der Antwortzeit der Server.

Diese Verfahren optimieren den Datenverkehr, ohne die Kapazität eines Servers zu überschreiten. Server Load Balancing reizt vorhandene Ressourcen optimal aus und vereinfacht die Konfiguration und das Management der Server: Der Systemadministrator kann Dienste und Anwendungen von einem Server zum anderen verlagern, im laufenden Betrieb neue Server hinzufügen oder Wartungsarbeiten durchführen, ohne die Performanz der Web-Site zu gefährden. Dies ist möglich, da die Web-Switches in Echtzeit erkennen können, welche Dienste auf welchen Servern angeboten werden und in welchem Zustand sich die Server und Applikationen befinden. Dazu senden sie beispielsweise in kurzen Intervallen Daten an die Server und messen, wie schnell diese antworten. Aus den Antwortzeiten erkennen sie, welche Server besonders stark und welche weniger ausgelastet sind. Manche Web-Switches gehen noch einen Schritt weiter. Sie prüfen auch, ob die Applikationen auf den Servern noch korrekt arbeiten. Dazu werden bestimmte Web-Anfragen simuliert und die Antwort des Servers analysiert. Antwortet ein Web-Server zum Beispiel mit „404 - Object not found“ werden künftige Web-Anfrage automatisch an einen redundanten Server umgeleitet. Wenn trotz dieser Verteilverfahren Überlast-Situationen auftreten, kann ein entfernter Backup-Server in Anspruch genommen werden oder ein HTTP-Redirect zu einem Remote Server erfolgen.

Web-Switches helfen auch, die Sicherheit zu erhöhen. Da sie den gesamten Datenverkehr von und zum Internet kontrollieren, können sie mittels Zugriffslisten bestimmte Absender von bestimmten Diensten ausschließen. Außerdem sind sie in der Lage die Serverfarm gegen Denial of Service Attacken zu schützen. Da nur die virtuelle Adresse veröffentlicht wird und die realen IP-Adressen der Server nicht über die DNS-Dienste verteilt werden, schützen die Web-Switches auch vor nicht autorisierten Zugriffen und ermöglichen die interne Verwendung von „illegalen“ IP-Adressen.

Damit der Web-Switch für Anwendungen mit hohem Durchsatzbedarf nicht zum Engpass wird, unterstützten manchen Systeme auch das sogenannte „Switch Back Verfahren“. Dabei werden die abgerufenen Web-Inhalte, wie z.B. Streaming Videos, mit der gesamten verfügbaren Leitungsgeschwindigkeit am Web-Switch vorbei direkt über einen leistungsfähigen Gigabit-Switch zum Anwender übertragen.

Globales Load Balancing

International agierende Unternehmen etablieren aus Hochverfügbarkeits- und Service-Aspekten mehrere, über den gesamten Globus verteilte Server-Farmen. „Global Server Load Balancing (GSLB)“ sorgt dafür, dass ein Internet-Nutzer immer zu der ihm am nächsten platzierten Internet-Präsenz geleitet wird, bzw. dass er auf weiter entfernte, redundante Web-Sites umgeleitet wird, falls die lokale Internet-Präsenz überl

Foundry Logo 

Foundry Logo 

Foundry Networks gehört zu den führenden Anbietern leistungsstarker Ende-zu-Ende Switching- und Routing-Lösungen. Das Produktspektrum umfasst Internet Router, Layer-3-Switches und Internet Traffic Management Systeme für Layer-4-7-Switching. Zur Kundenbasis zählen globale Internet Service Provider wie AOL, EarthLink, AT&T WorldNet, MSN und Cable & Wireless, aber auch Unternehmen der Unterhaltungs-, Fertigungs-  und pharmazeutischen Industrie, Suchmaschinen, E-Commerce-Sites, Universitäten und Regierungsbehörden - darunter LucasFilm, Yahoo!, Incyte Pharmaceuticals, NASA sowie die US Army, Navy & Air Force. Weitere Informationen zu Foundry Networks und seinen Produkten findet man im Internet unter http://www.foundrynetworks.com.

astet oder ausgefallen ist. Somit kann man sicherstellen, dass die Anwender immer und mit bestmöglicher Geschwindigkeit mit den gewünschten Informationen versorgt werden.

Wenn ein Kunde beispielsweise auf die URL http://www.foundrynetworks.com zugreifen möchte, sendet sein Browser eine DNS (Domain Name Server)-Anfrage an den lokalen DNS-Server, um die zur URL gehörige IP-Adresse zu bekommen. Falls der lokale DNS-Server die IP-Adresse nicht kennt, reicht er die Anfrage sukzessiv an die ihm übergeordneten DNS-Server weiter bis er den „authoritative DNS-Server“ für die gesuchte IP-Adresse findet. Von diesem erhält er die gewünscht IP-Adresse, die er für künftige Anfragen in seinen Cache-Speicher ablegt und an den anfragenden Broswer weiterleitet. Dieser kann nun die gewünschte Verbindung zur Web-Site der Firma Foundry Networks aufbauen.

Hierbei verhindert GSLB, dass

  • der „authoritative DNS-Server“ IP-Adressen von Servern propagiert, die ausgefallen sind
  • ein Browser mit einem Server auf einem anderen Kontinent und nicht wie gewünscht mit dem nächstliegenden Server verbunden wird
  • veraltete IP-Adressen aus dem Cache des lokalen DNS-Servers verbreitet werden, obwohl sich die IP-Adressen im „authoritative“ DNS-Server bereits geändert haben.

GSLB kann problemlos als Front-End einer vorhandenen DNS-Infrastruktur installiert werden. Damit die Web-Kunden immer automatisch auf die Web-Site mit der aktuell höchsten Verfügbarkeit gelangen, modifiziert GSLB die DNS-Antworten. Dabei sollte man darauf achten, dass das gewählte GSLB-Verfahren keine Neu-Implementierung der vorhandenen DNS erforderlich macht. GSLB misst die „Entfernung“ einer Web-Site zum Kunden auf der Basis des tatsächlichen Client/Server-Verkehrsaufkommens, des aktuellen Round-Trip-Delays und der Anzahl der zu überbrückenden Router-Hops. Falls an jedem Serverstandort BGP-Router vorhanden sind, kann GSLB auch die BGP-Metrik der BGP-Router nutzen, um die Entfernung zu einem Server zu bestimmen

ServerIron XL, ServerIron 400/800 und BigServerIron

Das Internet-Traffic-Management-System ServerIron für ISPs und Enterprise-Netzwerke garantiert ein Maximum an Geschwindigkeit im Bereich von Layer 4-7 (Web Server-, Firewall Load Balancing- und Transparent Cache Switching). Foundry Networks „Internet IronWare“ Software ermöglicht es, in Campus- und ISP-Netzen dem täglich extrem ansteigenden Datenaufkommen bei Internet-Transaktionen und Web-Applikationen entgegen zu treten. Alle Systeme enthalten zusätzliche Layer 4 QoS/CoS- und Filter-Funktionen (ASL).

Der ServerIron XL ist ein „fault tolerance“ Layer 4 bis 7 Switching-System mit 8-, 16- oder 24-Port 10/100-TX. Das System kann durch ein oder zwei optionale Gigabit Ethernet-Module (1000BaseT, 1000BaseSX, 1000BaseLX oder bis zu 150 km über 1000BaseLongHaul) ergänzt werden. Mit acht Ports Gigabit Ethernet (SX oder LX)ist der ServerIronXL/G ein Hochleistungs-Fiber-Switch für den Einsatz in hochsensiblen, unternehmskritischen Bereichen.

Der ServerIron 400/800 ist ein Chassis basierendes Internet-Traffic-Management-Switch-System mit bis zu 168 10/100BaseTX- bwz. 56 Gigabit-Ethernet-Ports. Der ServerIron 400/800 stellt eine Kombination aus Wire-Speed-Switching, und –Routing (256 Gbit/s Switching Kapazität, 84.000.000 Paketen pro Sekunde Datendurchsatz) und maximalem Funktionsangebot im Bereich Layer 4-7 (Server-, Global Server-, Firewall Load Balancing, Transparent Cache Switching, URL-, Cookie- und SSL Session ID Switching) dar.

Außerdem prüft GSLB ständig die Verfügbarkeit der Server und der Services. GSLB erkennt beispielsweise Fehlermeldungen wie „Page temporarily not available“ und leitet in solchen Fällen die Anfragen zu einem alternativen Server.

Bild 2 

Bild 2: Global Server Load Balancing sorgt dafür, dass ein Internet-Nutzer immer mit der Web-Site verbunden wird, die ihm am nächsten und am performantesten ist. Die Web-Switches messen hierzu die Verfügbarkeit der Server und deren Applikationen sowie die Entfernung eines Nutzers zu den verschiedenen Web-Sites und wählen die optimale Verbindung aus.

URL-Switching

Manche Server Load Balancing Verfahren funktionieren nur, wenn alle Server einer Serverfarm identische Inhalte bereitstellen. Wenn nun aber eine Web-Site so umfangreich wird, dass sie nicht auf jedem Server repliziert werden kann, muss man die Inhalte auf verschiedene Server verteilen und den Datenverkehr mit Hilfe von URL-Switching entsprechend lenken. Intelligente Web-Switches können dazu den Präfix, den Suffix oder beliebige Muster innerhalb einer URL heranziehen. Beispielsweise kann man eine Serverfarm so einrichten, dass alle URL-Anfragen mit Präfix „/home“ beim Server A landen, dass alle URL-Anfragen mit Suffix „.gif“ zum Server B gelenkt werden und dass alle HTTP-Requests für URLs, die „/cgi-bin/“ enthalten, auf Server C zugreifen.

Bild 3 

Bild 3: URL-Switching erlaubt die Verteilung der Inhalte einer Web-Site auf verschiedene, dafür optimierte Server.

URL-Switching setzt leistungsfähige Web-Switches voraus. Denn für jede Content-Anfrage muss der Web-Switch die zugehörige TCP-Verbindung des Clients terminieren und den HTTP-Request abwarten, der die URL und damit die Information, zu welchem Server die Anfrage weitergeleitet werden soll, enthält. Hierzu muss der Web-Switch zuerst wie der gewünschte Ziel-Server agieren, die gesamte Session-Informationen vom Client abfragen, eine Verbindung zum entsprechenden Server aufbauen und den Request weiterleiten. Während dieses Vorgangs muss der Web-Switch die gesamte Web-Anfrage temporär zwischenspeichern, was zusätzlichen Speicherplatz erfordert. Außerdem werden durch dieses als „Delayed Binding“ bezeichneten Vorgehen erhebliche Rechenressourcen benötigt. Denn der Web-Switch unterhält für jede Anfrage zwei unabhägige TCP-Verbindungen - eine vom Client zum Web-Switch und eine vom Web-Switch zum Server. Und für jede dieser Verbindungen muss der Web-Switch die TCP-Sequenznummer umsetzen und die Prüfsumme im TCP-Header neu berechnen.

Persistente Verbindungen

Zur Ausführung umfangreicher Internet-Transaktionen eröffnet ein Browser oft parallel mehrere TCP-Verbindungen. Damit Warenkorb-Transaktionen oder Such-  bzw. Formularfunktionen, die sich über mehrere Seiten erstrecken, vollständig durchgeführt werden können, muss man sicherstellen, dass alle TCP-Verbindungen einer Transaktion beim gleichen Server terminieren. Bei Einsatz von Serverfarmen und Web-Switches muss der Web-Switch für persistente Verbindungen sorgen, ohne seine Load Balancing Aufgabe über Gebühr zu vernachlässigen.

Web-Switches bieten eine Reihe von Mechanismen, um Persistenz zu gewährleisten. So kann ein Web-Switch beispielsweise so konfiguriert werden, dass er alle Verbindungen mit der gleichen Kombination an Quell-IP-Adresse, VIP und Portnummer (z.B. 80  für HTTP) immer zum gleichen Server sendet. In einem Mega-Proxy-Umfeld sind aber die Cookies oder die SSL-Session-IDs die einzigen zuverlässigen Mechanismen zum Abgleich der unterschiedlichen Verbindungen eines Nutzers. Beim Cookie-basierten Switching sucht der Web-Switch beim Verbindungsaufbau gemäß dem ihm vorgegebenen Regeln zur Lastverteilung einen Server aus. Der ausgewählte Server sendet  ein Cookie z.B. mit dem Wert „Server = 1“ an den Client. Dieser speichert das Cookie und sendet den Cookie-Wert als Teil eines jeden weiteren HTTP GET Requests. Der Web-Switch erkennt den Cookie-Wert „Server = 1“ und gibt die Anfrage wieder an den Server 1 weiter.

Bild 4 

Bild 4: Um persistente Verbindungen zu gewährleisten überprüft der Web-Switch die Cookie-Werte der HTTP GET Requests und sorgt so dafür, dass alle TCP-Verbindungen, die zu einer Transaktion gehören, zum selben Server geleitet werden.

Im Falle einer SSL-Verbindung, kann auch die Analyse der SSL-Session-ID zur Erhaltung der Persistenz herangezogen werden. Um eine SSL-Sitzung aufzubauen, tauschen Client und Server bestimmte Parameter zur Definition der Ver- und Entschlüsselung der Daten aus. Der Server sendet eine SSL-ID als Teil seiner Bestätigung. Der Web-Switch merkt sich, welche SSL-ID von welchem Server gesendet wurde. Nachfolgender Datenverkehr kann somit anhand der SSL-ID an den zuständigen Server weitervermittelt werden.

Firewall Load Balancing

Auch eine Firewall kann nur eine limitierte Anzahl von TCP-Verbindungen gleichzeitig bedienen. Somit begrenzt beispielsweise auch die installierte Firewall die Anzahl der gleichzeitig aktiven Kunden eines Web-Shops. Zudem stellt sie einen Single Point of Failure dar. Denn wenn die Firewall ausfällt, ist die Web-Site nicht mehr verfügbar.

Web-Switches erlauben die Installation multipler und skalierbarer Firewall-Architekturen. Sie werden sowohl auf der Internet-, als auch auf der Intranet-Seite einer Gruppe von Firewalls installiert. Der Internet-seitige Web-Switch verteilt den eingehenden Datenverkehr an die Firewalls, der Intranet-seitige Web-Switch tut selbiges für alle ausgehenden Verbindungen. Damit alle Pakete einer TCP-Verbindung über die selbe Firewall geleitet werden und es nicht zu sogenannten „sticky connections“ kommt, wird die für eine TCP-Verbindung zuständige Firewall von beiden Web-Switches mittels eines Hashwerts aus Quell-IP-Adresse, Ziel-IP-Aadresse, Quellport und Zielport ermittelt. Die Web-Switches überwachen ständig die Verbindungen zu den Firewalls, die Firewalls selbst und den Web-Switch auf der gegenüberliegenden Seite. Sobald irgendwelche Störungen auftreten, wird der Datenverkehr entsprechend umgeleitet. Wer verhindern möchte, dass bei  einer solchen Konfiguration der Web-Switch selbst zum Single Point of Failure wird, kann auch die Web-Switches redundant auslegen und diese entweder in einem active/standby oder acitve/active Modus betreiben.

Bild 5 

Bild 5: Firewall Load Balancing macht aus dem „Flaschenhals“ Firewall eine skalierbare Lösung. Firewalls können problemlos  im laufenden Betrieb hinzugefügt oder zu Wartungszwecken heruntergefahren werden.

Transparentes Zwischenspeichern

Web-Switches können auch verwendet werden, um den Einsatz von Caching-Systeme zu optimieren. Caches werden eingesetzt, um häufig nachgefragte Web-Inhalte lokal zu speichern, so dass nicht für jede Web-Anfrage eine Verbindung zum Internet aufgebaut werden muss. Dadurch werden Verbindungskosten minimiert und gleichzeitig die Antwortzeiten und die Verfügbarkeit von Internet-Inhalten verbessert.

Web-Switches fungieren als Load Balancer für redundante Caching-Systeme. Sie analysieren den Datenstrom nach vordefinierten Regeln und verteilen mittels Load Balancing die HTTP-Requests der Clienten an die vorhandenen Caching-Systeme. Sie sorgen dafür, dass sich die Trefferwahrscheinlichkeit erhöht und Web-Inhalte nicht mehrfach im Cache zwischengespeichert werden. Sonstiger Datenverkehr sowie Anfragen nach nicht cachbaren Inhalten, wie CGIs oder Active-Server-Pages, werden am Cache vorbei an das Internet weitergereicht. Gleiches geschieht auch mit den HTTP-Requests, sobald die Web-Switches, die ständig die korrekte Funktion der lokalen Caching-Systeme prüfen, einen Systemausfall feststellen. Mittels Web-Switches lassen sich Caching-Lösungen transparent realisieren, ohne dass alle vorhandenen Browser manuell umkonfiguriert werden müssen.

Bild 6 

Bild 6: Web-Switches fungieren als Load Balancer für redundante Caching-Systeme. Sie analysieren den Datenstrom nach vordefinierten Regeln und verteilen mittels Load Balancing die HTTP-Requests der Clienten an die vorhandenen Caching-Systeme.

Web-Switches sind zu unverzichtbaren Helfern im Internet geworden. Lt. dem US-Analysten Dell´Oro Group wird der Weltmarkt der Web-Switches für die Lastverteilung in Web-Serverfarmen in den nächsten vier Jahren um 400 Prozent auf zwei Milliarden Dollar anwachsen.

 

Autor:

improve
marketing-training-consulting
Dipl. Inform. Klaus Eppele
Heinrich-Weitz-Str. 31
76228 Karlsruhe
Tel: 07 21 / 94 74 621
Fax: 07 21 / 94 74 622
eMail:
eppele@improve-mtc.de
URL:
http://www.improve-mtc.de

Erschienen in DATACOM 03/01, Seiten 52 - 58.