Router und Switches - Weblearn

Werbung
Hochschule Bremen – RST Labor WS 1998/99
Router und Switches
Autoren: Christa Eekhoff & Christine Reckziegel
Datum: 06.01.99
Router und Switches
OSI-Referenz Modell
Zur Erklärung der Funktionalität von Routern ist das Open System Interconnection (OSI) Referenz
Modell, das von der International Organization or Standardization (ISO) entwickelt wurde,
nützlich. Das OSI Referenz Modell dient der Entwicklung von Software für Kommunikation
zwischen Computersystemen. Es ist in 7 Schichten aufgebaut, um die Komplexität von
Softwaresystemen zu reduzieren. Jede Schicht ist verantwortlich für einen bestimmten Teil der
Kommunikation.
7 Anwendungsschicht (Application Layer)
6 Darstellungsschicht (Presentation Layer)
5 Sitzungsschicht (Session Layer)
4 Transportschicht (Transport Layer)
3 Vermittlungsschicht (Network Layer)
2 Verbindungsschicht (Data Link Layer)
1 Bitübertragungsschicht (Physical Layer)
Das OSI Referenz Modell wurde allerdings zu spät entwickelt, da es bereits andere
herstellerspezifische Lösungen gab. Wie z.B. das TCP/IP Referenz Modell, das jedoch recht
ähnlich ist. Es wurde im ARPANET (Forschungsnetz des US-Verteidigungsministeriums 1969)
und seinem Nachfolger dem Internet angewendet. Im Folgenden werden die beiden Modelle
gegenübergestellt.
7
6
5
4
3
2
1
OSI
Verarbeitung
Darstellung
Sitzung
Transport
Vermittlung
Verbindung
Bitübertragung
TCP/IP
Verarbeitung
Transport
Internet
Host-an-Netz
Bild 1: OSI vs. TCP/IP aus (Tannenbaum,1997)
Gemeinsam ist beiden Modellen das Konzept der Stapels unabhängiger Protokolle. Auch die
Funktionalität der Schichten ist ähnlich. Die unteren Schichten bis zur Transportschicht dienen der
Bereitstellung von Ende-zu-Ende Transportdiensten, während die Schichten oberhalb der
Transportschicht anwendungsorientiert sind.
Die Host-an-Netz Schicht des TCP/IP Modells ist nicht genauer definiert und weicht von Host zu
Host und Netz zu Netz ab.
Die Internet-Schicht sorgt im verbindungslosen, paketvermittelnden Netz dafür, daß Hosts von
jedem Netz Pakete senden können und diese zum möglicherweise in einem anderen Netz
befindlichen Ziel befördert werden. Die Pakete können dabei sogar in einer anderen Reihenfolge
ankommen, als sie abgeschickt wurden und es gibt keine garantierte Übertragung der Pakete.
Die Transportschicht ermöglicht die Kommunikation zweier Hosts über das Netz oder mehrere
Netze. Hierfür sind zwei Ende-zu-Ende Protokolle definiert. Das TCP (Transmission Control
Protocol) ist ein zuverlässiges verbindungsorientiertes Protokoll und sorgt u.a. für die
Flußsteuerung. Außerdem gibt es noch des UDP (User Data Protokoll), das ein unzuverlässiges
verbindungsloses Protokoll ist. Die entsprechenden Anwendungen müssen Abfolge und
1
Router und Switches
Flußkontrolle selber bereitstellen, dafür ist die Datenübertragung dank eines wesentlich kleineren
Headers sehr viel schneller.
Die Verarbeitungsschicht umfaßt alle höherschichtigen Protokolle wie Telnet, ftp, SMTP und
HTTP.
Router, Bridges, Gateways, Switches
Um die Funktionsweise von Routern zu erklären, soll hier ein zunächst eine Abgrenzung der
Begriffe Bridge, Router, Gateway und Switch folgen.
Das Internet besteht aus vielen unterschiedlichen Teilnetzen, die verbunden werden müssen. Auch
kann es notwendig sein, mehrere lokale Netze (LANs) innerhalb eines Unternehmens zu verbinden.
Hierfür stehen Bridges und Router zur Verfügung, die unterschiedliche Funktionalität besitzen.
Bridges basieren auf der zweiten Schicht des OSI Referenz Modells.
Open System A
Open System B
Verarbeitung
Darstellung
Sitzung
Transport
Vermittlung
Verbindung
Bitübertragung
Verarbeitung
Darstellung
Sitzung
Transport
Vermittlung
Verbindung
Bitübertragung
Bridge
Verbindung
Bitübertragung Bitübertragung
Bild 2: Übertragung mit Bridges aus (Peng, 1998, S.2) übersetzt
Das bedeutet, sie überprüfen die Header der Vermittlungsschicht nicht und vermitteln daher IP, IPX
oder OSI-Pakete gleichermaßen, dies nennt man auch Protokolltransparenz nach oben. Daher
können sie auch keine IP-Adressen lesen, sondern vermitteln die Pakete nur aufgrund der
Adressierungsart des Protokolls der Verbindungsschicht, z.B. MAC (Medium Access Control), das
die Hardwareadresse benutzt. Bridges verbinden gleiche oder ähnliche LAN Protokolle, z.B.
Ethernet mit Ethernet/Token Ring Die Notwendigkeit hierfür kann unterschiedliche Gründe haben.




Historische Gründe durch gewachsene Strukturen. In vielen Unternehmen entstanden zunächst
abteilungseigene LANs, die früher oder später verbunden werden müssen.
Geographische Gründe. LANs können sich in verschiedenen weit voneinander entfernten
Gebäuden befinden. Dann ist es günstiger einzelne LANs zu benutzen, anstatt ein riesiges über
das ganze Gelände verteiltes. Außerdem bestehen Beschränkungen in der Länge von LAN
Segmenten und der Anzahl der angeschlossenen Knoten.
Logische Aufteilung in einzelne LANs, um die Belastung zu verteilen. Was noch bei der
Funktionsweise von Bridges näher erläutert wird.
Steigerung der Zuverlässigkeit. Bridges können defekte Knoten davon abhalten das gesamte
Netz lahmzulegen. Auch hierzu folgt eine kurze Erläuterung.
Bridges überwinden die Restriktionen des LANs für die maximale Segmentlänge und die Anzahl
der Knoten, da jedes einzelne Subnetz die volle Längenausdehnung und volle Knotenzahl erhalten
kann. Dies kann auch durch einfache Repeater übernommen werden, allerdings arbeiten sie nur auf
Schicht 1 des OSI Referenz Modells. Sie dienen nur der Signalverstärkung. Bridges hingegen
dienen der Lastentrennung und erreichen eine verbesserte Netzkapazität, da sie lokalen vom
2
Router und Switches
netzübergreifenden Verkehr trennen. Diese Entscheidung wird durch das Nachschlagen in einer
großen Hash-Tabelle innerhalb der Bridge gefällt, selbstlernende Bridges füllen diese Tabelle
während des Betriebes, daher ist keine Grundkonfiguration nötig. Fehlerhafte Pakete der
Sicherungsschicht werden erkannt und nicht weitergeleitet, somit wird die Ausbreitung von Fehlern
verhindert. Allerdings werden alle Broadcast-Meldungen übertragen, was zu einer relativ hohen
Grundlast führt.
Router basieren auf Schicht 3 des OSI Referenz Modells und verbinden unterschiedliche Subnetze
miteinander.
Open System A
Open System B
Verarbeitung
Darstellung
Sitzung
Transport
Vermittlung
Verbindung
Bitübertragung
Verarbeitung
Darstellung
Sitzung
Transport
Vermittlung
Verbindung
Bitübertragung
Router
Vermittlung
Verbindung
Verbindung
Bitübertragung Bitübertragung
Bild 3: Übertragung mit Routern aus (Peng, 1998, S.2) übersetzt
Die Vermittlungsschicht hat die Aufgabe eine Wegwahl (Routing) für den Datenstrom
vorzunehmen. Dies ist erst möglich, wenn mehrere Subnetze zu einem Gesamtnetz verbunden
werden, hierfür benötigt man Router. Da Subnetze mit unterschiedlichen Vermittlungsprotokollen,
z.B. TCP/IP, DECnet, AppleTalk usw., verbunden werden, dienen Router zusätzlich als
Protokollkonverter.
„Den Nachrichtentransport kann man sich generell folgendermaßen vorstellen: Ein Endgerät
erzeugt eine Nachricht und versieht sie auf Schicht 3 mit ihrer eigenen Netzwerkadresse und der
Netzwerkadresse des Ziels. Auf Schicht 2, im LAN-Bereich auf MAC-Schicht, erhält die Nachricht
die eigene MAC-Adresse des LAN-Adapters sowie die MAC-Adresse des Routers. Der Router
empfängt die Nachricht, die ja auf Ebene 2 an ihn gerichtet ist, und interpretiert auf Schicht 3 die
Netzwerkadressen.
Durch die hierarchische Adressierung erkennt der Router das Zielnetz und leitet die Nachricht an
den nächsten Router auf dem Weg zu diesem Zielnetz weiter. Hierzu versieht er die Nachricht auf
Schicht 2 mit seiner MAC-Adresse und der MAC-Adresse des nächsten Routers auf dem Weg zum
Zielnetz. Auf diese Weise wird die Nachricht sukzessive bis zum Router an dem Zielnetz
weitergeleitet und gelangt von dort zur Zielstation.“(Tannenberg, 1997, S.557)
Für die Wegwahl gibt es verschiedene Algorithmen, die hierfür nötigen Informationen tauschen
Router im Rahmen eigener Managementprotokolle aus. Bei redundanten Netzstrukturen bieten sich
Möglichkeiten der dynamischen Wegwahl und alternativen Routen. Das bedeutet, daß Router die
Verfügbarkeit von Transportwegen erhöhen. Außerdem werden fehlerhafte Pakete der
Verbindungs- und Vermittlungsschicht erkannt und nicht weiterbefördert. Sie unterstützen im
Gegensatz zu Brücken das Segmentieren, Numerieren und Wiederzusammensetzen von Paketen,
dies ist notwendig, da die zulässigen Paketgrößen verschiedener Protokolle meist differieren. Der
Nachteil von Routern ist, daß sie protokollabhängig sind und eine Mindestkonfiguration benötigen.
(Detken, 1998, S.88). „Schließlich können die umfangreichen Aufgaben von Routern dazu führen,
daß sie ziemlich langsam arbeiten, zu langsam für Anwendungen mit synchronen Anforderungen
wie Multimedia.“ (Kauffels, 1996, S.557)
3
Router und Switches
Koppelelemente, die sowohl Bridging als auch Routing erlauben, heißen Bridge-Router, Brouter
oder Hybridrouter. Diese sind in der Lage Pakete zu bridgen, wenn sie nicht geroutet werden
können, z.B. wenn das Protokoll nicht bekannt ist.
Gateways sind notwendig bei der Verbindung unterschiedlichen Netzwerkarchitekturen, diese
decken alle sieben Schichten des OSI-Referenzmodells ab. Dies beinhaltet Adressumsetzung,
Formatumsetzung, Codekonvertierung, Paketzwischenspeicherung, Paketbestätigung, Flußkontrolle
sowie Geschwindigkeitsanpassung (Detken, 1998, S.89).
Open System A
Verarbeitung
Darstellung
Sitzung
Transport
Vermittlung
Verbindung
Bitübertragung
Gateway
Verarbeitung
Darstellung
Darstellung
Sitzung
Sitzung
Transport
Transport
Vermittlung
Vermittlung
Verbindung
Verbindung
Bitübertragung Bitübertragung
Open System B
Verarbeitung
Darstellung
Sitzung
Transport
Vermittlung
Verbindung
Bitübertragung
Bild 4: Übertragung mit Gateways
Switches kamen auf, “als es eine Ablösung der klassischen Bridges anzupreisen galt. Die
grundlegene Funktionalität eines Switches entspricht zwar exakt der einer Bridge, aber clevere
Marketingfachleute fanden das neue Schlagwort wohl verkaufsfördernder als eine langweilige
Bezeichnung wie High-Performance-Bridge”(N&C, 9/98, S.83). Sie wurden entwickelt um der
Forderung nach schnellen Netzwerkkomponenten nachkommen. Sie basieren wie Bridges
normalerweise auf Schicht 2 des OSI-Referenzmodells; es gibt aber inzwischen auch sogenannte
Layer-3 Switches und Layer-4 Switches, hierzu später mehr.
Bridges trennen zwei Netze, rein theoretisch verdoppelt sich dadurch die mögliche Leistung, aber
nur wenn nicht z.B. alle Clients auf einer Seite und alle Server auf der anderen Seite der Bridge
sind, denn kann die Leistung sogar unter die eines einzelnen Netzes sinken, da hier die Bridge der
limitierende Faktor ist. Die Entwicklung hat schnell zu Backbones geführt, das sind Netze mit im
allgemeinen höherer Leistung, die die autonomen Teile miteinander verbindet. Da aber Backbones
in vielen Fällen zu teuer und überdimensioniert sind, wird eine.Funktion, die zwischen Bridge und
Backbone liegt gesucht, dies ist der LAN-Switch. LAN-Switching ist eine Form des Bridgens auf
OSI Schicht 2 und bringt die volle Bandbreite an jeden Port. Wie alle Verfahren auf der Schicht 2
ist auch das LAN-Switching nicht in der Lage, Broadcast- und Sicherheitswälle bzw. Schutzzonen
aufzubauen. (Kauffels, 1996, S.139)
Beispiel: Fast Packet Switching (FPS)
Schnelle Paketvermittlung FPS soll mittelfristig das wirklich betagte X.25 ablösen. FPS ist ein
grundlegendes Verfahrensprinzip für die Hochgeschwindigkeits-Hochleistungskommunikation. Der
haupsächliche Unterschied zur traditionellen Paketvermittliung besteht in der Tiefe der
Implemntierung einer Verbindung im Hinblick auf das OSI-Referenzmodell. Im traditionellen
Netz muß eine Verbindung in jedem zwischenliegendem System jede Schicht bis zur dritten des
OSI-Referenzmodells abarbeiten. “Dies ist umständlich und entspricht dem Entwicklungsstand der
frühen sechziger Jahre” (Kauffels, 1996, S.142). Mögliche Datenraten hängen also zumeist an
dieser umständlichen Abarbeitung als an den Übertragungsmedien. Bei FPS-Netzen ist die
Verbindungsschicht (Data Link Layer) aufgeteilt in Fast Packet Relay FPR Sublayer, die Fast
Packet Adaption FPA Sublayer und die Data Link Control DLC Sublayer (s. Abb. u.)
4
Router und Switches
Bild 5:Virtuelle Verbindungen mit FPS (Kauffels, 1996, S.143)
Noch ein Beispiel: Dedicated Ethernet
Die FPR ist in der Lage, eine Ende-zu-Ende Verbindung in den Zwischensystemen ohne großartige
Routing-Berechnung in der Vermittlungsschicht zu unterstützen. Die in traditionellen Netzen
übliche Fluß- und Fehlerkontrolle werden ebenso weggelassen, da die heutigen
Übertragungssystem immer verläßlicher werden. FPS kann unterteilt werden in die beiden
Betriebsverfahren Frame Relay und Cell Relay. (Kauffels, 1996, S.141ff)
Dedicated Ethernet ist eine Ethernet-Switching-Technologie. Technisch gesehen ist ein Dedicated
Ethernet Switch Port ein Bridge Port: Pakete werden nach ihrer Zieladresse an den entsprechenden
Empfänger Port geschickt. Wie bei eine Bridge gibt es alternierende Lern- und Arbeitsphasen. In
der Lernphase nimmt der Switch Adressen auf und speichert sie in einer Tabelle. Bei einer Lösung,
bei der jedes Endgerät an einen eigenen Port angeschlossen ist, wird kein Router Port benötigt.
Dies wird angestrebt um vom Shared Medium wegzukommen, um jeder einzelnen Station
dauerhaft volle Bandbreite zur Verfügung zu stellen. Wenn nur eine Station pro Port angeschlossen
ist, wird der zur Adressverwaltung benötigte Speicher deutlich reduziert. Der Zwischenspeicherung
für die Pakete während der Adressuche kann ebenfalls geringer ausgelegt werden und die
Rechenleistung beim Suchen sinkt. Um den Speicherplatz weiter zu Reduzieren und die Leistung
zu erhöhen, insbesondere um die Latenzzeit zu verkürzen, wird das sogenannte Cut Through
Switching benutzt. Normalerweise werden Switches mit einer Store- and Forward-Architektur
aufgebaut, dabei wird ein Paket vor der Weiterleitung vollständig zwischengespeichert und auf
Fehler untesucht. Bei Cut Through wird das Paket weitergeleitet sobald die Zieladresse ausgewertet
wurde (innerhalb der ersten 20 bis 30 Bytes), hierbei ist natürlich keine Fehleruntersuchung mehr
möglich. Allerdings ist die Zwischenspeicherung in vielen Fällen trotzdem notwendig, z.B. wenn
verschiedene Netztypen verbunden werden und eine Konversion vorgenommen werden muß oder
wenn der Ziel Port nicht frei ist. Zusätliches Problem ist der geringe Speicherplatz für Adresstafeln.
Wenn die Adresstafel zu klein ist, kommen häufig Pakete mit unbekannter Zieladresse, die der
Switch nicht richtig weiterleiten kann, er kann sie aber auch nicht lange speichern, da sein Store5
Router und Switches
and Forward-Speicher sonst überläuft. Entweder der Switch wartet nun und wirft das Paket später
weg oder er wirft das Paket gleich weg. Eine andere Methode ist Hot Potato, wobei der Switch das
Paket wie ein heiße Kartoffel einfach auf alle Ports schickt, dem sogenannten Fluten (Flooding).
Dies verschwendet natürlich Brandbreite. (Kauffels, 1996, S.687ff)
Zur Leistungsfähigkeit von LAN-Switches
„Was nutzt der schnellste Switch, der mit ATM-Line-Speed und einer Verzögerung im
Mikrosekundenbereich arbeitet, wenn dazwischenliegende Router lange an seinem Päkchen
herumrechnet und umständlicherweise für jedes einzelne Paket eine neue Wegwahl durchführen
muß? Switches führen heute zu einer Latenz oder Paketverzögerung zwischen 10 und 50
Mikrosekunden, Multiprotokollrouter bringen es auf 100 bis 500 Mikrosekunden oder mehr.”
(Kauffels, 1996, S.826)
Layer-3 Switch
Da man das Netz nicht immer auf Schicht 2 des OSI-Referenzmodells verflachen kann, wird
Routing weiterhin von Nöten sein. Layer-3 Switches können grundsätzlich mit schnellen Routern
verglichen werden, die in der Lage sind Wegewahl auf Schicht 3 des OSI-Referenzmodells
vorzunehmen. Die hierfür benötigten Mechanismen werden allerdings durch spezielle
Hardwarebausteine, sogenannte ASICs (application-specific integrated circuits) zur Verfügung
gestellt. Herkömmliche Router benutzen stattdessen Multifunktionsprozessoren und
implementieren die Routingfunktion in Software. Daher sind Layer-3 Switches schneller und
meistens preisgünstiger. “Allerdings unterstützen sie meist nur die Protokolle IP und IPX. Router
verarbeiten nahezu alle vorhandenen Protokolle, verfügen über zahlreiche Schnittstellen und stellen
Zusatzfunktionen wie Filter, Accesslisten oder Firewalling bereit”(N&C, 9/98, S.85).
Von der Firma 3Com gibt es ein sogenanntes Network Control Taxonomy
Control
Layer 3
Layer 3
Cut-through
Layer 2/3
Layer 2
Route
everywhere
Route once
switch afterwards
Switch where you can,
route where you must
Switch
everywhere
Cost
Bild 6: Network Control Taxonomy
Die Methode des einmal routen und danach switchen funktioniert folgendermaßen: soll ein Paket
von einem Netz in ein anderes verschickt werden, wird in einer Tabelle nicht nur die
Routinginformation für die Zieladresse nachgeschaut, sondern auch die Einstellungen für die
ASICs und die Ausgangs Portnummer. Mit diesen Informationen wird das Paket über das Netz
geschickt und kann auf Schicht 2 des OSI-Referenzmodells geswitched werden. Normalerweise
werden auch noch mehrere der ASICs parallel geschaltet, so daß die Ports simultan bedient werden
können und nahezu die Übertragungsgeschwindigkeit des Mediums an jedem Port erreicht wird.
Layer-4 Switches unterstützen meisten nur IP. Als zusätliche Information wird hier die
Portnummer für IP-Dienste benutzt. Typischer Einsatz ist das Load-Balancing, damit Server nicht
zum Flaschenhals im Netz werden. Weiter Informationen (N&C, 9/98)
6
Router und Switches
Wofür Router, Routing Protokolle
Mit Routern soll ein optimaler Weg durchs Gesamtnetz realisiert werden. Qualitätskriterien sind
hierbei
 Auslastung
 Durchsatz
 Gebühren
 Wartezeit
 Verkehrstrennung usw. (Kauffels, 1996, S. 556)
Es gibt dabei zwei verschiedene Konzepte: das statische und das dynamische Routing. Beim
statischen Routing muß die Konfiguration des Netzes samt Routern und verfügbaren Leitungen
bekannt sein. Beim dynamischen Routing werden dies Informationen ständig aktualisiert, somit
kann auf bestimmte Ereignisse wie Ausfall von Netzwerkkomponenten, reagiert werden. Außerdem
kann so ein Ausgleich stattfinden, der die aktuelle Last berücksichtigt.
Routing Protokolle wurden meistens in Verbindung mit den Netzwerk-Protokollen entwickelt. Das
Netzwerk-Protokoll wie IP (Internet Protocol) oder IPX (Internet Packet Exchange) ermöglicht
durch den Einsatz geeigneter Adressen das Routing. Es wird dabei vom eigentlichen RoutingProtokoll unterstützt. Bei der TCP/IP Protokollfamilie ist IP das Netzwerk-Protokoll und
zugehörige Routing-Protokolle sind z.B. RIP (Routing Information Protocol) oder OSPF (Open
Shortest Path First). Weitere Routing-Protokolle sind APPN (Advanced Peer-to-Peer Networking)
von IBM und herstellerspezifische wie IGRP (Iterior Gateway Routing Protocol) von Cisco.
Wegen seiner großen Verbreitung wird hier als Beispiel die TCP/IP Protokollfamilie genommen.
Die Hauptaufgabe des IP ist die Adressierung und das Routing. Dabei wird an jede Station eine
eindeutige 32-Bit-Adresse vergeben, mit der Sender und Empfänger identifiziert werden. Die Daten
werden in sogenannten Datagrammen verpackt und vollkommen unabhängig über das Netz
geschickt. Dabei findet kein Verbindungsaufbau statt, die Datagramme können auf verschiedenen
Wegen und sogar in verschiedener Reihenfolge ankommen, jede weiter Kontrolle muß von höheren
Protokollschichten übernommen werden.
Die Funktion des Routers ist hierbei
 Prüfsumme wird bei jedem Netzknoten (Router) überprüft und bei negativen Ergebnis wird das
Paket verworfen.
 TTL-Zeit wird pro Routerdurchlauf herabgesetzt. Bei Erreichung der Zahl 0 wird das Paket
zerstört.
 Router trifft weitere Wegewahl.
 Fragmentierung des Datagramms, falls es aufgrund von Begrenzung erforderlich sein sollte.
 IP-Header wird erneuert, der die TTL-Zeit, Fragmentierung und Prüfsummenfeld beinhaltet.
 Weitergabe an das Netzwerk.
Für weitere Informationen über TCP/IP sei auf die entsprechende Literatur verwiesen z.B. (Detken,
1998)
7
Router und Switches
Router-Architektur am Beispiel:
Der Cisco 12000 Serie Gigabit Switched Router
Switched Backplane
Zunächst möchte ich auf die Entwicklung zum Switched Backplane eingehen.
Bild 7: Allgemeine Architektur eines Routers
Die allgemeine Architektur eines Routers kann man sich wie in Bild 7 dargestellt vorstellen. Einen
Router kann man dabei in 4 Funktionsmodule aufteilen. Ein Kontrol- und Managementmodul,
welches für das Forwarding Table Management, Network Management und das System
Management zuständig ist. Diese Funktionen werden in Software ausgeführt. Die Forwarding
Decision, Backplane und Output Link Scheduling Funktionen werden bei Hochleistungsroutern in
Hardware implementiert.
Die Architektur eines Routers hat sich im Laufe der Zeit geändert. So wurde es möglich durch neue
Technologien immer mehr Funktionen in Hardware zu implementieren. Dies bringt einen
Geschwindigkeitsvorteil und stellt sicher, daß gleiche Funktionen gleich schnell und
kostengünstiger ausgeführt werden können. Da die einzelnen Komponenten immer kostengünstiger
werden, gibt es einen Trend zu mehr Parallelverarbeitung. Der Engpaß eines Systems der
gemeinsame Bus wird ersetzt durch einen Switch. Worauf ich später noch eingehen möchte.
Bild 8: Router mit einer zentralen CPU
Die Architektur eines Routers könnte wie in Bild 8 dargestellt aussehen, mit einem gemeinsamen
Bus, einer zentralen CPU und Speicher und Leitungskarten. Diese Leitungskarten verbinden das
System mit den externen Netzen. Ein ankommendes Paket wird vom Eingang über den
gemeinsamen Bus zur CPU geleitet. Dort wird entschieden, auf welche Ausgangsleitung das Paket
8
Router und Switches
zu schicken ist, und wird dann über den gemeinsamen Bus zum Ausgang übertragen. Ein Nachteil
dieses System ist, daß die CPU die Forwarding Decision für jedes ankommende Paket fällen muß.
Bild 9: Router mit parallel arbeitenden CPUs
Man ist also dann dazu übergegangen, mehrere CPUs in das System zu integrieren, wie in Bild 9
dargestellt. Die Pakete werden jetzt zu der nächsten freien CPU geschickt. Dies erhöht den
Durchsatz des Routers. Zudem können kostengünstigere CPUs verwendet werden.
Bild 10: Router mit CPUs integriert auf den Leitungskarten
Diese Idee kann man noch einen Schritt weiter führen, indem jeder Leitungskarte eine eigene CPU
gibt (dargestellt in Bild 10). Dies hat den Vorteil, daß die Pakete nicht zweimal über den Bus
geschickt werden müssen. Die Forwarding Decision wird bereits am Eingang getroffen und das
Paket sofort zum richtigen Ausgang geschickt. Dadurch wird der Durchsatz des Routers erhöht. Die
zentrale CPU übernimmt die Pflege der Forwarding Tabellen jeder CPU und das System
Management.
Es gibt zwei Faktoren, die Leistung dieses System begrenzen:
1. Die Forwarding Decisions Funktionen sind in Software implementiert und sind so durch die
Geschwindigkeit der CPU begrenzt. Eine normale CPU ist nicht sonderlich gut geeignet für den
Daten(Paket)fluß durch ein System. Daher werden spezielle Bausteine eingesetzt, sogenannte
ASICs (Application Specific Integrated Circuits). Diese sind wesentlich schneller als eine
normale CPU, wenn es um Forwarding Decisions, Queue Management und Entscheidungen für
die Busbenutzung geht. Die Entwicklung dieser ASICs ist relativ teuer, da für jede neue
Application ein neuer Baustein entwickelt werden muß und Fehler schwer zu korrigieren sind.
Zudem sind ASIC-Debugger-Geräte sehr teuer. Die Produktion des fertig entwickelten ASIC ist
jedoch sehr günstig.
9
Router und Switches
2. Das System wird außerdem durch den gemeinsamen Bus begrenzt. Da nur ein Paket zur Zeit
den Bus überqueren kann, ist das System durch die Geschwindigkeit des Busses begrenzt. Eine
Lösung für dieses Problem ist der Einsatz eines Switches.
Bild 11: Router mit switched Backplane und ASICs
Das System dargestellt in Bild 11 zeigt eine Lösung mit ASICs und einem Switch als Backplane.
Hochgeschwindigkeitsrouter haben eine solche Architektur.
Die Cisco 12000 Serie Gigabit Switched Router besitzt die Möglichkeit 16 Ports gleichzeitig zu
switchen. Jede Leitung hat dabei eine Datenraten von 2,4Gb/s. Würden die Eingangs- und
Ausgangsports über einen gemeinsamen Bus verbunden, wäre diese Performance nicht möglich, da
der Bus eine Datenrate von 38,4 Gb/s zur Verfügung stellen müßte. Dies ist technisch nicht zu
realisieren. Ein Bus kann heutzutage eine Datenrate von 20 Gb/s zur Verfügung stellen. Switched
Backplane können leicht eine höhere Datenrate zur Verfügung stellen und sind einfach zu
realisieren.
Ein Crossbar Switch stellt aus zwei Gründen diese hohe Leistung zur Verfügung: zum einen sind
die Verbindungen der Leitungskarten einfache Punkt-zu-Punkt Verbindungen, die mit sehr hohen
Geschwindigkeiten arbeiten können. In den letzten Jahren wurden Verbindungen entwickelt, die
mit einer Geschwindigkeit von 1 Gb/s arbeiten. Diese benutzen einen normalen CMOS Prozeß. In
den nächsten paar Jahren werden wohl Verbindungen zur Verfügung stehen, die
Geschwindigkeiten von 4-10 Gb/s zur Verfügung stellen. Kurze Punkt-zu-Punkt Verbindungen
machen die Kontrolle des Taktes, der Signal Integrität leichter und reduzieren die
elektromagnetische Interferenz.
Zum anderen bietet der Crossbar Switch eine höher Leistung, da viele Pakete simultan übertragen
werden können. Durch das Schließen mehrerer Kreuzungspunkte zur gleichen Zeit, können Pakete
gleichzeitig zwischen verschiedenen Ports übertragen werden. Ein Crossbar Switch ist ein nonblocking Baustein. Jeder Eingang kann mit jedem Ausgang verbunden werden.
Ein zentraler Scheduler stellt sicher, daß jeder Input mit einem Output verbunden wird und die
Ressource Switch optimal genutzt wird.
Die einfache Struktur eines Switches kann in Silicon implementiert werden. Um die Leistung
innerhalb des Routers noch zu steigern, kann man mehrere Switches parallel betreiben. Dadurch
läßt sich die Bandbreite erhöhen.
Feste Paketlänge
Im Cisco 12000 wird eine feste Paketlänge benutzt. Der Cisco 12000 zerteilt daher alle
ankommenden Pakete in Packte gleicher Größe, bevor sie über den Backplane transportiert werden.
Theoretisch könnte man sich auch vorstellen, daß Pakete variabler Größe über den Backplane
10
Router und Switches
transportiert werden. Bevor die Pakete den Router verlassen werden sie wieder auf die original oder
für das zuroutende Netz passende Größe zusammengebaut.
Das Verwenden von Paketen fester Länge macht das Leben einfacher. Man kann die Zeiteinheiten
zur Übertragung von Daten so groß wählen, daß genau ein Paket übertragen werden kann. Dann
sind alle Ein- und Ausgänge am Ende jeder Zeiteinheit frei. Der Scheduler kann daher die
Ressource Crossbar Switch sehr effizient verwalten und vergeben. Die Verwaltung ist wesentlich
einfacher und schneller, als wenn Pakete variabler Länge verwendet würden, auch ist das Hardware
Design einfacher.
Bei der Verwendung von Paketen mit variabler Länge, hat der Scheduler wesentlich mehr Arbeit.
Die Pakete können zu irgendeiner Zeit fertig übertragen worden sein und ständig muß geprüft
werden, ob die Ein- und Ausgänge frei oder belegt sind. Außerdem kann es vorkommen, daß ein
Eingang auf einen Ausgang warten muß, da er belegt ist, obwohl es günstiger wäre, diesen Eingang
zuerst zu verbinden. Der Scheduler kann also den Crossbar Switch nicht optimal verwalten und viel
Bandbreite wird fürs scheduling verschwendet.
Daher wird im Cisco 12000 eine feste Paketlänge verwendet. Die Zeit, die benötigt wird um die
Pakete zu zerteilen und wieder zusammenzubauen, fällt dabei kaum in Gewicht.
Virtual Output Queueing
Auch wenn der Crossbar Switch intern kein Blocking aufweist, können Blockingsituationen im
Router auftreten.
Eine Art des Blockings ist das Head-of-line (HOL) Blocking. Diese Art des Blockings tritt bei
First-in First-out (FIFO) Queues auf. Dabei kann ein Paket, welches als erstes in der Queue steht,
Pakete aufhalten, welche später an der Reihe sind und zu einem anderen (freien) Ausgang wollen.
Analog dazu kann man sich eine Ampelkreuzung vorstellen, wo es Rechtsabbiegern trotz roter
Ampel erlaubt ist weiterzufahren. Gibt es nur eine Spur für Geradeausfahrer und Rechtsabbieger,
kann es vorkommen, daß vorne an der Ampel ein Auto steht, das geradeaus fahren möchte und
warten muß, da die Ampel rot ist. Dieses Auto blockiert die Autos, die hinter ihm stehen und rechts
abbiegen möchten. Dies Problem kann man lösen indem man für die Rechtsabbieger eine extra
Spur einrichtet.
Die Lösung für HOL-Blocking ist Virtual Output Queueing. Dabei wird an jedem Eingang für
jeden Ausgang eine Virtuelle FIFO-Queue für jeden Ausgang geschaffen. Jedes Paket wird in die
entsprechende Virtuelle Queue gesteckt. Dies ist im Bild 12 dargestellt.
Bild 12: Virtual Output Queueing (VOQ)
Theoretisch kann man den Durchsatz von 60% mit FIFO Queueing auf 100% mit VOQ erhöhen, da
man das HOL-Blocking komplett eliminiert hat.
11
Router und Switches
Prioritäts Klassen
Bei Multimediaanwendungen muß man sicherstellen können, daß die Pakete nach einer bestimmten
Zeit den Router wieder verlassen haben. Prioritätsklassen werden im Cisco 12000 verwendet um
die Verzögerungszeit der einzelnen Pakete kontrollieren zu können. Dies verhindert nicht, daß es zu
Verzögerungen durch Input- und Output-Blocking kommt, Pakete mit hoher Priorität werden
jedoch nicht durch Pakete mit niedriger Priorität aufgehalten. Durch die wachsende Anzahl
Multimedia Anwendungen wird auch die Zahl der Pakete mit hoher Priorität wachsen. Dies kann
dann wieder zu Verzögerungen führen, da sich die Pakete mit hoher Priorität gegenseitig blockieren
können. Zu große Verzögerungszeiten werden dadurch vermieden, daß man den Multimediatraffic
begrenzt. Damit kann man sicherstellen, daß die Verzögerungszeit des Multimediatraffic sich im
Rahmen des erforderlichen Quality of Service bewegt.
Input-Blocking entsteht, wenn es mehrere nicht leere VOQs an einem Input gibt. Der Scheduler
kann jedoch nur eine Queue per Zeiteinheit auswählen und bedienen. Die anderen Queues müssen
daher warten. Man kann nicht genau sagen, wann diese anderen Queues bedient werden. Daher
kann nicht genau vorhergesagt werden, wie lange ein Paket in der VOQ warten muß.
Output-Blocking entsteht, weil jede Ausgangsleitung nur eine Paket zur Zeit übertragen kann.
Angenommen Von zwei verschiedenen Eingängen möchten Pakete auf denselben Ausgang, dann
muß ein Paket warten. Genau wie beim Input-Blocking, kann man auch beim Outputblocking nicht
genau vorhersagen, wie lange ein Paket warten muß.
Speedup
Um Input- und Output-Blocking zu reduzieren, kann man ein Verfahren anwenden, welches sich
Speedup nennt. Hierbei wird der Switch mit der doppelten Geschwindigkeit als die Ein-und
Ausgangsleitungen betrieben. Man kann also pro Zeiteinheit zwei Pakete übertragen. Theoretisch
müßte man den Switch mit der N-fachen Geschwindigkeit (für N-Ports) betreiben. Dies würde
jedoch in unserem Fall dazu führen, daß die Speicher eine Lese oder Schreib Operation alle 5ns zu
erledigen hätte. Dies ist nicht realisierbar und uneconomisch.
Untersuchungen haben ergeben, daß ein Crossbar Switch mit einem Speedup von 2 sich fast
identisch verhält wie ein Crossbar Switch mit einem Speedup von N; unabhängig von N.
Voraussetzung ist, daß VOQ benutzt wird.
Unicast und Multicast Traffic
Der CISCO 12000 unterstützt auch multicast traffic. Der crossbar Switch erlaubt eine einfache
Übertragung von Multicast Traffic. Hierbei wird die Natur des Crossbar Switches ausgenutzt und
eine Paket durch das Schließen verschiedenen Kreuzungspunkte auf mehrere Ausgänge gleichzeitig
gelegt. Hierdurch vermeidet man das kopieren des Paketes in verschiedene VOQ, was wesentlich
länger dauern würde und zudem Speicherplatz verbrauchen würde.
Im kombinierten Unicast/Multicast Switch werden zwei Arten von Queues unterstützt. VOQs für
Unicast Pakete und Multicast Queues für dir Multicast Pakete. Dies ist in Bild 13 dargestellt.
12
Router und Switches
Bild 13: Kombinierter Unicast/Multicast Switch
Fanout – Splitting
Die Cisco 12000 Serie GSR benutzt das sogenannte fanout-splitting. Als Fanout bezeichnet man
den Satz Ausgangspakete, zu dem ein Eingangspaket kopiert werden möchte. Es gibt zwei
Möglichkeiten dies zu realisieren. Zum einen kann ein Paket solange warten, bis alle gewünschten
Ausgänge frei sind und alle Pakete werden zur selben Zeit übertragen (no fanout-splitting). Zum
anderen kann man alle die Pakete, die schon übertragen werden können übertragen und die
restlichen Pakete werden dann beim nächsten Mal übertragen (fanout-spitting). Dies Verfahren
wird hier verwendet, da es einen großen Geschwindigkeitsvorteil bringt und nicht sehr schwer zu
implementieren ist.
ESLIP Algorithmus
Der ESLIP Algorithmus ist ein Scheduling Algorithmus und eine Weiterentwicklung des iSLIP
Crossbar Scheduling Algorithmuses und erlaubt sowohl Unicast als auch Multicast Traffic.
Ein Crossbar Scheduling Algorithmus sollte folgende Eigenschaften haben:
 Hoher Durchsatz – idealerweise sollte aller Input direkt ohne Verzögerung an die Ausgänge
weitergeleitet werden
 Kein Verhungern – der Algorithmus muß sicherstellen, daß alle VOQ abgearbeitet werden
 Schnell – Um die höchst mögliche Bandbreite des Switches zu bekommen, ist es wichtig, daß
die Geschwindigkeit des Scheduling Algorithmuses nicht zum Bottleneck des Systems wird.
Der Algorithmus muß daher so schnell wie möglich eine Konfiguration des Crossbars
auswählen.
 Einfach zu implementieren – Wenn der Algorithmus in der Praxis schnell sein soll, muß er in
einer speziellen Hardware implementiert werden; vorzugsweise in nur einem Chip.
Bevor ich den ESLIP Algorithmus näher erläuter, werde ich den iSLIP Algorithmus vorstellen.
ISLIP ist ein iterativer Algorithmus – in jeder Zeiteinheit werden viele Iterationen getätigt um eine
Crossbar Konfiguration zu finden, um die Eingänge mit den jeweiligen Ausgängen zu verbinden.
Der iSLIP Algorithmus verwendet hierbei rotierende Prioritäten (“round-robin”) Entscheidungen
um jeden aktiven Eingang und Ausgang gerecht zu werden. Der iSLIP Algorithmus ist sehr
einfach, dies ist sein Hauptcharakteristika. Es ist einfach in Hardware zu implementieren und sehr
schnell.
Der iSLIP Algorithmus konvergiert schnell zu einer konfliktfreien Konfiguration für den Crossbar
Switch. Jede Iteration besteht aus drei Schritten. Zu begin sind alle Ein- und Ausgänge frei und nur
die Ein- und Ausgänge, die am Ende einer Iteration nicht verbunden sind, sind beim nächsten Mal
geeignet. Die Schritte einer Iteration sind:
1. Schritt: Request. Jeder Eingang sendet jedem Ausgang für den ein Paket da ist ein Request.
2. Schritt: Grant. Wenn der Ausgang irgendein Request erhält, wählt es den, der als erstes in
einem festen, round-robin Schedule, beginnend mit dem Element mit der höhsten Priorität,
13
Router und Switches
steht. Der Ausgang benachrichtigt dann alle Eingänge, ob der Request gewährt wurde oder
nicht.
3. Schritt: Accept. Wenn ein Eingang die Nachricht erhält, daß der Request gewährt wurde, wählt
es den Ausgang, der als erstes in einem festen, round-robin Schedule, beginnend mit dem
Element mit der höhsten Priorität, steht. Der Zeiger ai, der auf dem Element mit der höchsten
Priorität von dem round-robin Scheduler wird inkrementiert (modulo N) zu einem Element
unter dem acceptierten Ausgang. Der Zeiger gi, der auf dem Element mit der höchsten Priorität
in der korespondierenden Ausgangsqueue steht, wird inkremmentiert (modulo N) zu einem
Element unter dem gewährten Eingang. Die Zeiger werden nur nach der ersten Iteration
erneuert.
Da bei jeder neuen Iteration nur die Ein- und Ausgänge berücksichtig werden, die noch nicht
verbunden sind, werden bei jeder iteration neue Ein- und Ausgänge verbunden.
Die Eigenschaften des iSLIP Algorithmuses in kürze:
1. Hoher Durchsatz – Für gleichmäßigen und unzusammenhängende Paketankünfte, kann der
iSLIP Algorithmus eine 100% Nutzung der Switching Kapazität ermöglichen.
2. Kein verhungern – Keine Verbindung verhungert. Weil die Zeiger nach der ersten Iteration
nicht erneuert werden, wird der Ausgang solange versuchen, dem Eingang mit der höchsten
Priorität eine Verbindung zu geben, bis er erfolgreich ist. Desweiteren ist der iSLIP
Algorithmus auch fair, wenn sehr viele Pakete ankommen, wird mit einer Iteration und unter
starker Belastung alle Queues der gleiche Durchsatz gewährt.
3. Schnell – Der iSLIP Algorithmus ist nach höchstens N Iterationen garantiert fertig. In der
Praxis ist dies jedoch meistens schon nach log2(N) Iterationen der Fall. Für einen Switch mit 16
Ports sind also nur vier Iterationen notwendig.
4. Leicht zu implementieren – Ein iSLIP Scheduler besteht aus 2N programmierbaren Prioritäts
encoder. Ein Scheduler für einen 16-Port Switch kann einfach auf einem Chip implementiert
werden.
Um den Multicast Traffic zu unterstützen braucht man einen neuen Scheduling Algorithmus. Dieser
Algorithmus muß die konkurierenden Unicast und Multicast Pakete fair durch den Switch leiten.
Für diese Aufgabe wurde ESLIP entwickelt, ein erweiterter iSLIP Algorithmus. Er kann Pakete mit
höherer Priorität bevorzugen und Unicast und Multicast Traffic gleichzeitig schedulen.
Bild 13 zeigt die Queues, die bei einem 16-Port Switch mit vier Prioritätsklassen, berücksichtigt
werden müssen. Am Anfang einer jeden Zeiteinheit untersucht der ESLIP Scheduler den Inhalt
jeder Queue. Wie beim iSLIP Algorithmus ist ESLIP ein Iteratives Verfahren. Zu Anfang sind alle
Ein- und Ausgänge frei und mit jeder Iteration werden mehr und mehr Ein- und Ausgänge
verbunden. Um einen Überblick zu bahlten, welcher Eingang mit welchem Ausgang verbunden ist,
hat der Ausgang einen Grantzeiger für jede Prioritätsklasse, z.B. hat der Ausgang j die Zeiger gaj
bis gdj. Zusätzlich haben alle Ausgänge die gemeinsamen Zeiger gaM bis gaM für Multicast.
Genauso hat jeder Eingang Zeiger für jede Prioritätsklasse und gemeinsame Zeiger für den
Multicast Traffic. Jede iteration besteht wieder aus drei Schritten:
1. Schritt: Request. Jeder Input schickt einen priorisierten Request an jeden Output, für den es ein
Unicast oder ein Multicast Paket hat.
2. Schritt: Grant. Die Gewährung funktioniert für die Unicast queues wie beim schon
beschriebenen iSLIP Algorithmus. Auch beim Multicast wird dasselbe Prinzip verwendet. Der
Ausgang informiert die Eingänge ob der Request gewährt wurde oder nicht.
3. Schritt: Accept. Auch das Akzeptieren funktioniert wie beim iSLIP Algorithmus. Nur muß auch
noch bedacht werden, ob beim Multicast Paket ein fanout abgeschlossen wurde. Dann werden
die Multicastzeiger erneuert.
Auch wenn der ESLIP Algorithmus ein wenig komplizierter ist, ist er doch relativ einfach in
Hardware zu implementieren. Eine schematische Darstellung kann man in Bild 14 sehen. Der
Scheduler besteht aus zwei Sätzen von Arbiters – grant Arbiters, die Schritt 2 implementieren und
14
Router und Switches
accept arbiter, die Schritt 3 implementieren. Eine Vergrößerung des Arbiters zeigt, wie zwischen
Unicast und Multicast Traffic entschieden wird und wie die Priorität von dem selektierten Request
bestimmt wird.
Bild 14: Eine schematische Darstellung des ESLIP Algorithmus
Die Eigenschaften von ESLIP:
5. Hoher Durchsatz – Für gleichmäßigen und unzusammenhängende Paketankünfte (unicast),
kann der ESLIP Algorithmus eine 100% Nutzung der Switching Kapazität ermöglichen. Da
beim Multicast Traffic fanout-splitting verwendet wird, ist ein hoher Durchsatz möglich.
6. Kein verhungern – Keine Verbindung verhungert.
7. Schnell – Der ESLIP Algorithmus ist nach höchstens N Iterationen garantiert fertig. In der
Praxis ist dies jedoch meistens schon nach log2(N) Iterationen der Fall. Für einen Switch mit 16
Ports sind also nur vier Iterationen notwendig.
8. Leicht zu implementieren – Ein ESLIP Scheduler besteht aus 2N programmierbaren Prioritäts
encoder. Ein Scheduler für einen 16-Port Switch kann einfach auf einem Chip implementiert
werden.
15
Router und Switches
Cisco 12000 Gigabit Switched Router – Eigenschaften
In der Cisco 12000 Serie sind die oben beschriebenen Verfahren implementiert.
 Switched Backplane
 Feste Packetlänge
 Virtual Output Queueing
 Prioritätsklassen
 Speedup
 Unicast und Multicast
 ESLIP
Die Cisco 12000-Serie ist daher für folgende Anwendungen besonders geeignet:
 Internet Backbones
 Hohe Kapazität für Internetzugang
 Unternehmens-WAN/MAN
Skalierbare Performance
 Die modulare Multigigabit-Koordinaten-Switchkonstruktion erlauct es, die Bandbreite zu
steigern, wenn die Anforderungen an den Backbone sich erhöhen (Cisco 12000 steigert von 5
auf 60Gbps).
 Das innovative Design der Switch-Konstruktion unterstützt virtuelle Output-Warteschlangen.
Um Zeilenkopfblockierung zu verhindern
 Wenn Leitungskarten hinzugefügt werden, liefert die verteilte Architektur eine skalierbare
Performance für Schicht 3-Switching.
 Das Senden von Leitungsraten lastet die SONET/SDH-Übertragungskommunikationskanäle
voll aus und gewährleistet damit die beste Rendite für die Investition in teure WANSchaltkreise
 Massive Leitungskarten-Paketpuffer erhöhen durch Maximierung des TCP-Goodputs die
Effizienz des Netzwerks
Zu der Cisco 12000-Serie gehören der 12004 mit 5 Gbps Bandbreite und 4 konfigurierbaren
Chassis Slots, der 12008 mit 10-40 Gbps Bandbreite und 8 konfigurierbaren Chassis Slots und der
12012 mit 15-60 Gbps Bandbreite und 12 konfigurierbaren Chassis Slots. Alle Modelle haben den
R5000, 200MHz Processor als Route Processor mit einem Speicher von 64-256 MB EDO und 20
MB Flash.
16
Router und Switches
Literatur
Detken, K.-O. (1998) ATM in TCP/IP Netzen, Heidelber: Hüthig Verlag
Gut strukturiert, Informationen einfacher zu finden als im Kauffels, alle Grundlagen für TCP/IP
Kauffels, F.-J. (1996) Lokale Netze 8., akt. und erw. Auflage, Bergheim: DATACOM-Buchverlag
Sehr ausführlich, mit Produktinformationen
McKeown, Nick Fast Switched Backplane for a Gegabit Switched Router, Standford University
CA 94305-9030 www.cisco.com/warp/public/733/12000/technical.shtml
Sehr gute Beschreibung des Gigabit Switched Routers. Sämtliche Bilder aus dem Routerbeispiel
sind aus diesem Dokument
Tanenbaum, A. S. (1997) Computernetzwerke 3. Auflage, München: Prentice Hall
Peng, X. (1998) Lecture Notes Telecommunication and Broadband Systems London: Peng
Lange, M. (1998) Layer-4 Switching: Routing mit Mehrwert, N&C 9 September S. 82-85
Sehr ehrlich, sehr informativ
Muccariello, M. (1998) Switches und deren Auswirkung aufs Ethernet, electronik Journal
6. Juni S.92-94
gibt eine weitere Einteilung für Switches
3Com (1997) Flexible Intelligent Routing Engine (FIRE), 3Com
Hein, Mathias (1996) Switching Technologie in lokalen Netzen, Bonn: Internat. Thomson Publ.
Cisco Homepage www.cisco.com
17
Herunterladen