Verbindungskünstler auf höheren Ebenen

Für die Vernetzung in Unternehmen haben sich Layer-2- und Layer-3- Switching durchgesetzt. Der zunehmende Einsatz von Internettechniken führt dazu, dass immer mehr IT-Abteilungen Switching auch auf den höheren OSI-Ebenen 4 bis 7 implementieren. Der Beitrag stellt Funktionsweise und Einsatzmöglichkeiten dieser intelligenten Switches vor.

Von: Bernd Klusmann

Laut Definition des OSI-Schichtenmodells (siehe Ticker Seite 15) segmentieren Bridges beziehungsweise Switches das lokale Netzwerk auf Schicht 2 in separate Subeinheiten, die so genannten Collision Domains. Switches unterscheiden sich von Bridges dadurch, dass sie das Bridging hardware-gestützt ausführen und dadurch sehr schnell sind. Im Zentrum von Switches befindet sich die Switch-Fabric, bei neueren Geräten meist als Shared-Memory- oder Crosspoint-Matrix-Architektur ausgeführt.

Network Application Priority Switches (NAPS) sollen sicherstellen, dass Applikationen eine garantierte Dienstgüte erhalten.

Bei der Shared-Memory-Architektur befindet sich zwischen dem Empfangs- und Sendepfad ein einzelner, gemeinsam genutzter Speicher zur Verteilung der Frames zwischen den Eingangs- und Ausgangs-Ports. Bei der aufwändigeren Crosspoint-Matrix-Architektur dagegen ermöglicht eine Matrix von elektronischen Schaltern eine direkte Verbindung von beliebigen Eingangs- und Ausgangs-Ports auf einer Frame-by-Frame-Basis.

Für die schnelle Bearbeitung der Switching-Funktionen sorgen eine oder mehrere CPUs. Zu den wichtigsten Aufgaben zählen die Steuerung der Flusskontrolle, Trunking, die Paketklassifizierung (VLAN-Filter, Priorisierung, Queueing) sowie vor allem die Paketwegewahl, der so genannte Lookup. Dabei vergleicht der Switch die MAC-Adresse eines Ethernet-Paketes mit der eigenen Adressdatenbank und bestimmt dadurch den Ausgangsport, an den das Paket weitergeleitet wird. Die Lookup-Funktion entspricht bei Schicht-2-Switches dem Bridging. Switches lernen automatisch die Adressinformationen der angeschlossenen Geräte und bauen Adresstabellen auf. Dadurch können sie Netzwerke segmentieren, was die Performance erhöht.

Seit der Entwicklung des hardwaregestützten Routings, auch Layer-3-Switching genannt, ist der Geschwindigkeitsvorteil der Switching-Technik nicht mehr auf die Schicht 2 und einzelne logische IP-Netze beschränkt. Layer-3-Switches sind ähnlich aufgebaut wie Layer-2-Geräte. Im Vergleich zum Switch stellt ein Router jedoch deutlich höhere Anforderungen an die Klassifizierungs- und Lookup-Einheiten.

Bernd Klusmann, Projektmanager EANTC.

Switching auf höheren Ebenen

Der wichtigste Grund, weshalb Switching auf den höheren Layern 4 bis 7 implementiert wird, liegt in einer Verbesserung der Performance. Durch den steigenden Bedarf an Sicherheitsanwendungen und Quality-of-Service-Diensten spielen immer häufiger auch funktionale Überlegungen eine Rolle. Damit die auf Layer 2 erzielte Leistungssteigerung nicht durch die Switch-CPU belastende Software auf höheren Layern aufgefressen wird, sind durchgängig hardwaregestützte Algorithmen nötig. Für den gesamten OSI-Stack sollten Application Specific Integrated Circuits (Asic) zur Verfügung stehen, die auf bestimmte Aufgaben spezialisiert sind, etwa die Bearbeitung von Priorisierungs-Access-Listen.

Layer-4-Switching wertet neben den IP-Adressen der Schicht 3 auch TCP- und UDP-Portnummern aus (Transport Control Protocol, User Datagram Protocol). Die meisten der heute erhältlichen Multilayer-Switches können sowohl integriertes L2/L3-Switching als auch Layer-4-Session-Switching in Hardware durchführen. Die Konfiguration erfolgt über Zugriffslisten, die neben den Quell- und Ziel-Adressen auch Quell- und Ziel-Ports enthalten.

Oft ist es sinnvoll, in Access-Listen Informationen zu Serviceklassen anzugeben. Hierfür steht das Type-of-Service-Feld (TOS) des IP-Headers zur Verfügung, das die Klassen als so genannte Differentiated Services Code Points (DSCP) codiert. Mit diesen erweiterten Access-Listen ist eine sehr feine Auflösung einzelner Verkehrsströme (Flows) möglich. Diese Flows lassen sich einer Reihe von Regeln zuführen, welche die weitere Verarbeitung der Pakete bestimmen. So kann der Administrator zum Beispiel Access- oder Deny-Entscheidungen für den Zugriff auf ausgewählte Dienste, bestimmte Netze oder einzelne Clients festlegen. Die Zuweisung von einzelnen Flows zu unterschiedlichen Queues bewirkt eine Priorisierung der Verkehrsströme.

Layer-4-Switches werden häufig dazu eingesetzt, bei der Datenkommunikation über Firewalls hinweg festzustellen, welche Pakete zu einer bestehenden Verbindung gehören, für welche eine neue Verbindung aufgebaut werden muss und welche zu Servern in der Demilitarisierten Zone (DMZ) zu leiten sind. Mit parallelen Firewalls und einer passenden Interface- und Routen-Konfiguration lässt sich auch eine Lastverteilung (Load Balancing) für Firewalls aufbauen. Schließlich wird die Flow-Klassifizierung für das Accounting eingesetzt.

Content-Switches sorgen dafür, dass Anfragen in Abhängigkeit vom angeforderten Inhalt auf dem richtigen Server landen.

Content-Switching

Als Switching auf Schicht 7 beziehungsweise Content-Switching wird eine Übertragung von Verkehrsströmen bezeichnet, die sich nach dem Inhalt der jeweiligen Datenpakete richtet. Streaming-Techniken und Voice over IP nutzen unterschiedliche Übertragungskanäle für Kontrollinformationen und die eigentlichen Daten. Die verwendeten TCP/UDP-Ports werden dynamisch generiert und müssen den richtigen Servern zugeordnet sowie als eine logische Session behandelt werden. Bei DHCP-Servern oder Proxy-Firewalls lassen sich benutzerspezifische Daten für individuelle Serviceleistungen nur noch mit Hilfe von Markierungen im Inhalt, den Cookies, gewinnen.

Um Inhalte mit der von den Benutzern geforderten Performance zur Verfügung stellen zu können, muss der ankommende Datenstrom von Content-Switches auf Layer 7 inhaltlich vorselektiert und an leistungsfähige Webserver-Cluster weitergeleitet werden. Die Untersuchung der URL einer Webanfrage und die vom Inhalt abhängige Weiterleitung ermöglicht die

- flexible Verteilung der Anfragen;

- Transaktionsintegrität durch den Vergleich von Cookies beziehungsweise SSL Session Identifiers;

- erhöhte Servereffizienz durch Filtern von Anfragen;

- Trennung von HTTP-Transaktionen, die über eine gemeinsame TCP-Verbindung laufen;

- Gestaltung von Differentiated Services für die Priorisierung.

Layer-7-Switches

Die Aufgaben eines Content-Switches sind deutlich komplexer als die eines L-4-Switches, denn die zu analysierenden Informationen sind von variabler Länge und können sich an unterschiedlichen Stellen der Anfrage befinden. Ein Content-Switch muss deshalb den Inhalt einzelner Sessions fortlaufend untersuchen. Damit er an diese Daten herankommt, spielt er dem anfragenden Client zunächst die Rolle des Webservers vor, der die TCP-Verbindung aufbaut. Anschließend analysiert er die vom Client gesendeten Daten und leitet sie an den passenden Server weiter. Die auf dem Web-Switch anfallenden Daten müssen für die Dauer der Unterbrechung zwischengespeichert werden. Der Web-Switch bildet also eine Art Relais zwischen Client und Server, wobei er die Session des Clients terminiert und die mit dem Server initiiert. Dabei muss er die TCP-Header von beiden Sessions modifizieren, die TCP-Sequenznummer übersetzen und die Checksumme neu berechnen. Bei einer großen Anzahl gleichzeitiger Sessions stellt dies hohe Anforderungen an die Leistungsfähigkeit.

Für das Design von Content-Switches gibt es zwei Ansätze:

- das Aufsetzen auf bestehende L2/L3-Switching-Fabrics mit einer zentralen oder dezentralen Softwareverarbeitung.

- die Integration von Netzwerkprozessoren in eine Switching-Fabric.

Auch wenn schon Teile des Content-Switching wie das TCP-Connection-Splicing in Hardware realisiert werden, sind L2/L3-Switches selbst bei einer Verteilung der Software-Tasks auf mehrere parallele Prozessoren nicht so leistungsfähig, wie Geräte mit integrierten Netzwerkprozessoren. Dies liegt daran, dass die als ASIC realisierten Netzwerkprozessoren direkt in die Switching-Fabric integriert sind.

Application-Switching

Ziel des Application-Level-Switching ist es, jeder Anwendung eine spezifische Datenrate zuzusichern. Diese wird als Application Committed Information Rate (Application CIR) bezeichnet. Für die Einhaltung von Anwendungs-CIRs sollen Network Application Priority Switches (NAPS) sorgen, die zwischen den WAN-Links und den dazugehörigen Routern sitzen. Sie verwenden hierfür die Informationen einer auf das OSI-Modell bezogenen virtuellen Schicht 7+. Diese Geräte werden in der Lage sein, Anwendungen und ihre Bandbreitenanforderungen zu analysieren und den Verkehrsstroms nach Anwendung, Anwender, Tageszeit und Server zu priorisieren. Als Alternative zu NAPS bieten Router-Hersteller All-in-one-Geräte mit integrierter Service-Level-Management-Software an. Sie setzen Funktionen wie Weighted Fair Queueing (WFQ) und Traffic Shaping zur Verkehrssteuerung ein. Allerdings stellt sich die Frage, ob die Skalierbarkeit und Leistungsfähigkeit von Routern hierfür ausreicht.

Herstellerübergreifende Standards für SLM gibt es bislang weder bei den NAPS-Geräten noch bei Routern. Für Frame-Relay besteht in Form des FRF.13 eine anerkannte Vorlage von SLA-Standards für die Schichten 1 bis 4. Unterschiedliche Hersteller, Service Provider und das Frame-Relay-Forum arbeiten daran, den FRF.13-Standard für höhere Schichten des OSI-Protokoll-Stacks zu erweitern. Damit stünde endlich ein einheitlicher Rahmen für die Priorisierung von Anwendungen zur Verfügung. (cl)

Zur Person

Bernd Klusmann

studierte an der TU Berlin Elektrotechnik und ist seit einem Jahr beim EANTC als Projektmanager tätig.