Grundlagen: Layer-4/7-Switching

02.04.2004 von Christoph Lange
Load Balancing und Traffic Management sorgen für zügigen Datenverkehr und schützen unternehmenskritische Anwendungen gegen Ausfälle. Wie die dahintersteckenden Layer-4/7-Switches funktionieren, zeigt unser Artikel.

Für Switches, die oberhalb der IP-Routing-Schicht 3 arbeiten, hat sich in der Praxis der Begriff "Layer-4-bis-7-Switching" oder "L4/L7-Switching" etabliert. Diese Definition zeigt, dass sich die im OSI-Schichtenmodell festgelegten oberen Schichten von 4 bis 7 in der Praxis nicht so eindeutig zuweisen lassen, wie dies die Theorie vorsieht.

Relativ klar abgegrenzt gibt sich immerhin noch der Layer 4. Hier arbeiten IP-basierende Dienste wie TCP, HTTP, UDP oder Telnet. Diese kommunizieren mit Anwendungen, die auf Layer 7 angesiedelt sind. Bei den OSI-Schichten 5 (Sitzung) und 6 (Darstellung) dagegen fällt die Zuordnung zu einzelnen Protokollen oder Anwendungen schwer. Daher fasst man die beiden Layer meist gemeinsam mit Layer 7 zur Gruppe der "anwendungsorientierten" Schichten zusammen. Layer 1 bis 4 bezeichnet man im Zug dieser vereinfachten Einteilung dagegen als "transportorientierte" Schichten.

Layer 4/7

Die Kategorie "Layer-4-bis-7-Switching" kommt dadurch zustande, dass für eine gezielte Steuerung der Datenübertragungen auf Anwendungsebene neben den Layern 5 bis 7 auch die Schicht 4 erforderlich ist. Sie stellt als Transportschicht die Verbindung zwischen den (anwendungsorientierten) Layern 4 bis 7 und den unteren (transportorientierten) Schichten 1 bis 3 her.

Die meisten Geräte der Kategorie L4/L7 unterstützen neben einem Traffic Management für Anwendungen auch ein Load Balancing zwischen Servern, um eine gleichmäßige Auslastung der Systeme zu erreichen und so die Leistungsfähigkeit zu erhöhen.

Im ersten Abschnitt dieses Grundlagenbeitrags stellen wir Ihnen die verschiedenen technischen Verfahren für das Server-Load-Balancing vor. Der zweite Abschnitt erläutert dann die unterschiedlichen Techniken für das Traffic Management, die in L4/L7-Switches zum Einsatz kommen.

Schichten im ISO-/OSI-Modell

Schicht

Bezeichnung

Bezeichnung (d)

7

Application Layer

Anwendungsschicht

6

Presentation Layer

Darstellungsschicht

5

Session Layer

Sitzungsschicht

4

Transport Layer

Transportschicht

3

Network Layer

Vermittlungsschicht

2

Data Link Layer

Sicherungsschicht

1

Physical Layer

Bitübertragungsschicht

Load Balancing

Für Anwendungen, die von mehreren Servern bereitgestellt werden, hat sich das Load Balancing als Standardtechnik etabliert, um die Last möglichst gleichmäßig zu verteilen.

Ein wichtiges Anwendungsgebiet für Load-Balancer sind Web-Server-Farmen. Daneben ermöglichen die Geräten auch eine gleichmäßigere Auslastung von Firewalls. Sie erhöhen zudem die Verfügbarkeit der Anwendungen, da die User beim Ausfall eines Servers automatisch von einem anderen bedient werden. Bei Wartungsarbeiten entfallen die Offline-Zeiten, da ein Server abgeschaltet werden kann, ohne dass die Anwender davon etwas mitbekommen (schlimmstenfalls sind die Antwortzeiten etwas länger).

Weitere Einsatzgebiete

Load-Balancer kommen aber auch für andere Anwendungen in Server-Farmen und in Rechenzentren zum Einsatz. Wenn die Server an unterschiedlichen Standorten untergebracht sind, können die Systeme zudem einen Schutz vor Katastrophen bieten, wenn sie über entsprechende Umschaltmechanismen verfügen.

Für Großunternehmen, die eine Lastverteilung zwischen ihren weltweit verteilten Standorten durchführen möchten, gibt es zudem Lösungen für ein Global Load Balancing, zum Beispiel 3DNS von F5 Networks. Derartige Produkte können die Last zwischen ganzen Rechenzentren und über Kontinente hinweg umverteilen.

Größere Ethernet-Switches integrieren die Lastverteilung häufig bereits im Gerät, so dass der Administrator das Load-Balancing für die angeschlossenen Server über die Management-Software des Switches einrichten kann. Die weiter unten behandelten L4/L7-Switches für das Traffic Management sind meist ebenfalls mit einer Lastverteilung ausgestattet. Je nach Hersteller stehen hierfür unterschiedliche Verfahren zur Verfügung.

Verfahren für die Lastverteilung

Bei der Lastverteilung operiert ein Load-Balancer nach einem von drei grundsätzlichen Verteilungsverfahren: Round Robin, Weighted Round Robin oder Verteilung nach Verbindungsanzahl.

Der Round-Robin-Algorithmus verteilt jede neue Verbindung oder Session strikt der Reihe nach an den nächsten verfügbaren Server. Diese rein statische Methode berücksichtigt jedoch nicht die aktuelle Belastung des jeweiligen Servers.

Beim Weighted Round Robin erfolgt die Verteilung zwar ebenfalls der Reihe nach, es werden jedoch zusätzliche Kriterien berücksichtigt. So gibt es etwa Lösungen, die anhand der Antwortzeiten der Server entscheiden, welches System die nächste Verbindungsanfrage erhält. Dies stellt sicher, dass immer die schnellstmögliche Serververbindung geschaltet wird. Zugleich lassen sich damit innerhalb einer Server-Farm den Systemen mit schnelleren Prozessoren mehr Verbindungen zuweisen als den langsameren Rechnern.

Das Load Balancing nach Verbindungen erfasst kontinuierlich die Anzahl der Sessions, die jeder Server gerade unterhält. Das System mit der niedrigsten Zahl aktiver Verbindungen übernimmt die nächste Verbindungsanfrage.

Web-Caching und Persistence

Damit sich die Geschwindigkeits- und Kostenvorteile von Web-Cache-Servern auch mit Load-Balancern nutzen lassen, implementieren die meisten Hersteller eine so genannte Web-Cache-Redirection-Funktion. Sie leitet den ausgehenden Verkehr für den HTTP-Port (Port 80/tcp) auf die Web-Cache-Server um. Für den Anwender erfolgt das transparent, er merkt also nichts davon. Auch an der Webbrowser-Konfiguration der User-PCs sind keine Änderungen nötig.

Auf interaktiven Sites tritt beim Einsatz von Load-Balancern ein spezielles Problem auf: Wie hält man während einer Transaktion die Sitzung persistent? Wie ist sicherzustellen, dass ein Anwender, der gerade eine Online-Bestellung ausführt, während des Bestellvorganges mit demselben Server verbunden bleibt?

Für derartige Transaktionen werden in der Regel mehrere TCP-Verbindungen aufgebaut. Würden diese Sessions von einem Load-Balancer auf verschiedene Web-Server verteilt, könnte dies den Bestellvorgang unterbrechen. Dass dies unterbleibt, stellen Load-Balancer über so genannte Persistence-Funktionen sicher.

Persistence-Verfahren

Eine Persistence anhand der Source-IP-Adresse stellt sicher, dass ein Anwender für die Dauer einer Transaktion mit einem ganz bestimmten Server verbunden bleibt. Dieses Verfahren funktioniert in der Regel mit allen Internet-Anwendungen. Das Nachsehen haben allerdings Anwender, die hinter einer Web-Proxy-Serverfarm sitzen. Sie müssen damit rechnen, dass sich die Source-IP-Adresse während einer Session ändert. In diesem Fall hilft eine andere Persistence-Variante, welche die Source-IP-Adresse mit einer bestimmten IP-Maske kombiniert. Dies bindet alle Sessions einer Web-Proxy-Gruppe an einen bestimmten Server.

Die Persistence anhand der Destination-IP-Adresse ermöglicht es Service-Providern, wiederholte Zugriffe auf bestimmte Seiten aus dem Cache zu bedienen. Das heißt, ein Anwender erhält diese Seiten immer von demselben Server-Cache bereitgestellt.

Es gibt noch weitere Spielarten: Mittels URL-/Cookie-Persistence lassen sich Datenbank-Cache-Hits verbessern und für Clients hinter Proxy-Server-Farmen die Session-Integrität sichern. Diese Technik sorgt dafür, dass alle Client-Sessions auf dem Server-Load-Balancer terminiert und dann zu allen Servern reconnected werden. Dass dies viel Leistung kostet, liegt auf der Hand. Dasselbe gilt für die sinngemäß funktionierende SSL-Session-ID-Persistence. Aufgrund des hohen Aufwands sollten Sie diese Funktionen nur mit dedizierten Load-Balancer-Appliances nutzen.

Produktauswahl

Bei der Auswahl eines Load-Balancing-Produkts ist zu berücksichtigen, auf wie viele Server und mit welcher Geschwindigkeit die Lastverteilung erfolgen soll. Der Durchsatz des Load-Balancers muss ausreichend dimensioniert sein, um das Auftreten eines Flaschenhalses zu vermeiden.

Hersteller wie Nortel, Foundry und Cisco bieten Load-Balancing- und Traffic-Management-Produkte sowohl als separate Geräte als auch als Line-Card für ihre Layer-2/3-Switches an. Andere Hersteller wie Extreme haben das Server-Load-Balancing als Zusatzfunktion in die Switching-Software integriert.

Application Traffic Management

Ein reines Load-Balancing auf HTTP-Basis ist zwar für Web-Server-Farmen eine feine Sache. Es nützt aber wenig, wenn es darum geht, geschäftskritische Anwendungen über Internet- oder Intranet-Verbindungen hinweg zuverlässig und mit garantierter Performance zu betreiben.

Der Grund: Viele Anwendungen nutzen den HTTP-Port 80 für die Kommunikation über Internet-Verbindungen. Deshalb sind zusätzliche Mechanismen-Ebenen nötig, um Anwendungen unterschiedlich zu priorisieren oder ihnen eine bestimmte Bandbreite zu garantieren. Dies ist zum Beispiel nötig, um zu verhindern, dass eine Backup-Anwendung fast die gesamte WAN-Bandbreite verbraucht und dadurch andere wichtige Anwendungen blockiert.

Monitoring als Basis

Um Bandbreiten auf Basis einzelner Anwendungen zu verwalten, müssen L4/L7-Switches erkennen können, zu welcher Applikation die jeweiligen Datenpakete gehören. Immer mehr Hersteller gehen dazu über, nicht nur die Protokoll-Header, sondern auch den Inhalt der Datenpakete zu analysieren, um möglichst viele Informationen zu erfassen.

Die Traffic-Management-Geräte von F5 Networks zum Beispiel können bis zu 16 Byte tief in die Anwendungsdaten jedes Pakets hineinschauen. Dadurch ist eine intelligente Lastverteilung für einzelnen Anwendungen möglich. So lassen sich beispielsweise Read-Anforderungen an eine Datenbank auf einem anderen Server ausführen als die Write-Befehle.

Zu den allgemeinen Unterscheidungskriterien, die so gut wie alle Hersteller für das Identifizieren und Klassifizieren von Anwendungen nutzen, zählen: Signatur der Anwendung, Protokoll, Port-Nummer, URL, Host-Name, Diffserv-Eintrag, MPLS- und 802.1p/q-Tag, IP- und MAC-Adresse sowie VLAN-ID. Zur gehobenen Kunst zählen Funktionen wie die Erfassung dynamischer Port-Zuweisungen, die zum Beispiel bei RPC-Kommunikation vorkommen. Gute Traffic Manager erkennen auch, wenn sich während einer Transaktion die Port-Nummern ändern.

Performance-Analyse

Damit ein L4/L7-Switch die richtigen Entscheidungen treffen kann, muss das Gerät nicht nur die einzelnen Anwendungen erkennen, sondern auch genau wissen, welche Antwortzeiten sie im Netzwerk gerade benötigen.

Je umfassender der Traffic Manager über die aktuelle Leistungsfähigkeit der verschiedenen Kommunikationsteilnehmer Bescheid weiß, umso besser kann er die nötigen Maßnahmen ergreifen, um die vom Administrator konfigurierten Service-Level-Vorgaben einzuhalten.

Um auch in größeren Netzwerken den Überblick zu behalten, sollten sich die von den verschiedenen L4/L7-Switches erfassten Daten an zentraler Stelle zusammenfassen lassen. Damit erhält der Administrator wertvolle Informationen über den Gesamtzustand des Netzwerks und die Leistungsfähigkeit der einzelnen Anwendungen.

Datenverkehr steuern

Zu den wichtigsten Funktionen eines L4/L7-Switches zählt es, einzelnen Anwendungen eine bestimmte Bandbreite zu garantieren. Die Art und Weise des Bandbreiten-Managements unterscheidet sich je nach Hersteller. In der einfachsten Variante weist der Administrator einer Anwendung eine feste Bandbreite statisch zu. Der einmal festgelegte Prozentsatz steht immer zur Verfügung, egal wie hoch oder niedrig die Auslastung des gesamten Links gerade ist.

Mehr Flexibilität bieten Lösungen, die zwar einerseits eine minimale Bandbreite garantieren, der Anwendung aber andererseits mehr gönnen, wenn die Verbindung nicht voll ausgelastet ist. Einige Hersteller kombinieren diese Funktion auch mit einer Obergrenze von zum Beispiel 50 oder 60 Prozent, die nicht überschritten werden darf. Mit einigen L4/L7-Switches lässt sich die Bandbreite zudem pro Anwender beschränken, wenn Engpässe auftreten. Ist die Verbindung nicht vollständig ausgelastet, erhalten die Anwender die volle Bandbreite.

Mittels TCP Rate Control können Administratoren die Flow-Rate und die Größe des TCP-Fensters anpassen und auf diese Weise den Durchsatz steigern. UDP Rate Control lässt sich dazu nutzen, UDP-Übertragungen (beispielsweise VoIP) zu optimieren.

WAN-Übertragungen komprimieren

Da L4/L7-Switches häufig zwischen dem Unternehmens-LAN und der WAN-Anbindung platziert werden, liegt es nahe, in diese Geräte auch Komprimierungsfunktionen zu integrieren. Dadurch lässt sich die vorhandene WAN-Bandbreite besser ausnutzen.

In diesem Marksegment konnten sich Newcomer wie Peribit und Expand inzwischen erfolgreich etablieren. Ihre Produkte haben sich zunächst vor allem auf eine möglichst effiziente Komprimierung der zu übertragenden Daten konzentriert. Hierfür kommen spezielle Algorithmen und Verfahren für die Mustererkennung zum Einsatz. Wiederholt sich ein Muster, wird es durch einen kleinen Platzhalter ersetzt und auf der Gegenseite der WAN-Strecke wieder rekonstruiert. Dies reduziert die für die WAN-Übertragung benötigte Bandbreite je nach Anwendung auf die Hälfte oder gar ein Viertel des ursprünglichen Wertes.

Inzwischen hat auch Packeteer nachgezogen, einer der Pioniere im Application Traffic Management. Für die Packetshaper-Familie ist mit Xpress ein Software-Update erhältlich, das umfangreiche Komprimierungsfunktionen bietet. Im Gegenzug bewegt sich Peribit zunehmend in Richtung Application Traffic Management, indem der Hersteller seine Software Stück für Stück um intelligentes Bandbreitenmanagement erweitert.

Integration von Security-Funktionen

Die meisten Anbieter von L4/L7-Switches haben ihre Produkte mittlerweile um Sicherheitsfunktionen erweitert. Hierzu zählen nicht nur SSL-Module, sondern auch Content-Filtering- oder Intrusion-Detection-Systeme. Derartige Erweiterungen sind durchaus sinnvoll, weil das Traffic Management ja bereits sehr tief in die Datenpakete hineinschaut. Da liegt es nahe, die hierbei erfassten Informationen auch gleich für Sicherheitsanwendungen zu nutzen.

Einige L4/L7-Switches können Denial-of-Service-Attacken, wie zum Beispiel SYN-Floods, erkennen und abwehren. Foundry hat das Betriebssystem der Serveriron-Familie um die so genannte Synguard-Technologie erweitert, die vor SYN-Flood-Attacken schützen soll. Eine Content-Inspection-Funktion, mit der sich Datenpakete auf Würmer untersuchen lassen, bieten unter anderem Radware, F5, und Array Networks an.

Nortel konzentriert sich derzeit darauf, SSL-Funktionen in das Highend-Switching-Portfolio zu integrieren. Die L4/L7-Switches hat der Hersteller um Firewall- und VPN-Funktionen sowie um IDS-Load-Balancing erweitert. Auch Cisco bietet für seine Content Services Switches (CSS) SSL-Module an.

Einzelgeräte versus All-in-One

Auch bei L4/L7-Switches stellt sich die Frage, ob es besser ist, für jede Aufgabe ein spezielles Produkt einzusetzen, oder ob ein All-in-One-Gerät mehr Vorteile bietet. Die Einzelprodukt-Philosophie hat Radware am konsequentesten umgesetzt: Für jede Anforderung wurde ein eigenes Gerät entwickelt. Einen Mittelweg verfolgen Cisco, F5 und Nortel, die mehrere Funktionen wie Server-Load-Balancing, SSL und VPN in einer Box integrieren.

Am konsequentesten hat Array Networks den integrativen Ansatz umgesetzt. Das Unternehmen fasst so viele Funktionen wie möglich in einer Box zusammen und vertraut dabei auf die Rechenkraft moderner Intel-CPUs. Die L4/L7-Switches bieten Server-Load-Balancing, Traffic Management, Global Load Balancing, Komprimierung, SSL, Firewall und ein Identity Management.

Insbesondere für kleinere und mittlere Unternehmen ist dieses Konzept auf den ersten Blick durchaus attraktiv. Sie sparen Anschaffungskosten, da nur noch ein Gerät nötig ist. Auch die Verwaltung dürfte unter dem Strich kostengünstiger sein, da nur ein System zu managen ist und die Administratoren nur eine Benutzerschnittstelle neu lernen müssen.

Vor einem Einsatz derartiger Lösungen sollte aber möglichst genau ermittelt werden, welche Performance-Anforderungen ein Unternehmen in den verschiedenen Bereichen hat. Nur so lässt sich sicherstellen, dass das ins Auge gefasste Produkt im praktischen Betrieb erfolgreich bestehen kann. (jlu)

Literatur / White Papers

Weitere Informationen zur Technik des Layer-4/7-Switching sowie den eingesetzten Verfahren finden Sie in den White Papers und Grundlagenpapieren der einschlägigen Hersteller. Wir haben dazu einige Links für Sie zusammengestellt:

Allot Communications

Cisco Systems

Extreme Networks

F5 Networks (White Papers)

F5 Networks (PDF)

Foundry Networks

Nortel Networks

Packeteer

Peribit Networks

Radware