Netzwerke und Internetworking - bilder.buecher.de · 90 Kapitel 3 – Netzwerke und Internetworking...

68
KAPITEL 3 Netzwerke und Internetworking Verteilte Systeme verwenden LANs, WANs und miteinander verbundene Netzwerke („Internetworks“) für die Kommunikation. Leistung, Zuverlässigkeit, Skalierbarkeit, Mobilität und Dienstgüte der zu Grunde liegenden Netzwerke beeinflussen das Ver- halten verteilter Systeme und damit auch ihren Entwurf. Änderungen der Benutze- ranforderungen haben zur Entwicklung von Funknetzwerken und Hochleistungs- netzwerken mit garantierter Dienstgüte geführt. Die Grundlagen, auf denen Computernetzwerke basieren, sind unter anderem die Protokollschichten, die Paketvermittlung, das Routing und das Daten-Streaming (Daten in Daten-Stream-Streams umwandeln). Internetworking-Techniken ermögli- chen die Integration heterogener Netzwerke. Das wichtigste Beispiel ist das Internet; seine Protokolle werden fast überall in verteilten Systemen eingesetzt. Die Adressie- rungs- und Routingschemata aus dem Internet haben dem Einfluss durch sein enor- mes Wachstum standgehalten. Jetzt werden sie überarbeitet, sodass sie auf das zukünftige Wachstum vorbereitet sind und damit sie neue Applikationsanforderun- gen in Hinblick auf Mobilität, Sicherheit und Dienstgüte erfüllen. Der Entwurf bestimmter Netzwerk-Technologien wird anhand von Fallstudien beschrieben: Ethernet, ATM-Netzwerke (Asynchronous Transfer Mode) und der Standard IEEE 802.11 für Funknetzwerke. 3.1 Einführung Die in verteilten Systemen verwendeten Netzwerke setzen sich aus den unterschied- lichsten Übertragungsmedien zusammen, unter anderem Draht, Kabel, Fiberglaskabel und Funkkanäle; aus Hardwaregeräten wie beispielsweise Routern, Switches, Bridges, Hubs, Repeatern und Netzwerkschnittstellen; sowie aus Software-Komponente-Kompo- nenten, wie beispielsweise Protokollstapel, Kommunikationsverarbeitungsroutinen und Treibern. Die resultierende Funktionalität und Leistung, die verteilten Systemen und entsprechenden Applikationsprogrammen geboten wird, wird von all diesen Komponenten beeinflusst. Wir bezeichnen die Hardware- und Software-Kompo- nente-Komponenten, die Funktionsmerkmale für die Kommunikation in einem ver- teilten System bereitstellen, als Kommunikations-Teilsystem. Die Computer und die anderen Geräte, die ein Netzwerk zu Kommunikationszwecken verwendet, werden als Hosts bezeichnet. Der Begriff Knoten bezieht sich auf einen Computer oder ein Schaltgerät, der oder das an ein Netzwerk angeschlossen ist. Das Internet ist ein einziges Kommunikations-Teilsystem, das die Kommunika- tion zwischen allen daran angeschlossenen Hosts unterstützt. Das Internet setzt sich aus vielen Teilnetzen zusammen, die unterschiedlichste Netzwerk-Technologien ver- wenden. Ein Teilnetz ist eine Menge verbundener Knoten, die alle dieselbe Technolo-

Transcript of Netzwerke und Internetworking - bilder.buecher.de · 90 Kapitel 3 – Netzwerke und Internetworking...

K AP I TE L 3

Netzwerke und Internetworking

Verteilte Systeme verwenden LANs, WANs und miteinander verbundene Netzwerke(„Internetworks“) für die Kommunikation. Leistung, Zuverlässigkeit, Skalierbarkeit,Mobilität und Dienstgüte der zu Grunde liegenden Netzwerke beeinflussen das Ver-halten verteilter Systeme und damit auch ihren Entwurf. Änderungen der Benutze-ranforderungen haben zur Entwicklung von Funknetzwerken und Hochleistungs-netzwerken mit garantierter Dienstgüte geführt.

Die Grundlagen, auf denen Computernetzwerke basieren, sind unter anderem dieProtokollschichten, die Paketvermittlung, das Routing und das Daten-Streaming(Daten in Daten-Stream-Streams umwandeln). Internetworking-Techniken ermögli-chen die Integration heterogener Netzwerke. Das wichtigste Beispiel ist das Internet;seine Protokolle werden fast überall in verteilten Systemen eingesetzt. Die Adressie-rungs- und Routingschemata aus dem Internet haben dem Einfluss durch sein enor-mes Wachstum standgehalten. Jetzt werden sie überarbeitet, sodass sie auf daszukünftige Wachstum vorbereitet sind und damit sie neue Applikationsanforderun-gen in Hinblick auf Mobilität, Sicherheit und Dienstgüte erfüllen.

Der Entwurf bestimmter Netzwerk-Technologien wird anhand von Fallstudienbeschrieben: Ethernet, ATM-Netzwerke (Asynchronous Transfer Mode) und derStandard IEEE 802.11 für Funknetzwerke.

3.1 EinführungDie in verteilten Systemen verwendeten Netzwerke setzen sich aus den unterschied-lichsten Übertragungsmedien zusammen, unter anderem Draht, Kabel, Fiberglaskabelund Funkkanäle; aus Hardwaregeräten wie beispielsweise Routern, Switches, Bridges,Hubs, Repeatern und Netzwerkschnittstellen; sowie aus Software-Komponente-Kompo-nenten, wie beispielsweise Protokollstapel, Kommunikationsverarbeitungsroutinenund Treibern. Die resultierende Funktionalität und Leistung, die verteilten Systemenund entsprechenden Applikationsprogrammen geboten wird, wird von all diesenKomponenten beeinflusst. Wir bezeichnen die Hardware- und Software-Kompo-nente-Komponenten, die Funktionsmerkmale für die Kommunikation in einem ver-teilten System bereitstellen, als Kommunikations-Teilsystem. Die Computer und dieanderen Geräte, die ein Netzwerk zu Kommunikationszwecken verwendet, werdenals Hosts bezeichnet. Der Begriff Knoten bezieht sich auf einen Computer oder einSchaltgerät, der oder das an ein Netzwerk angeschlossen ist.

Das Internet ist ein einziges Kommunikations-Teilsystem, das die Kommunika-tion zwischen allen daran angeschlossenen Hosts unterstützt. Das Internet setzt sichaus vielen Teilnetzen zusammen, die unterschiedlichste Netzwerk-Technologien ver-wenden. Ein Teilnetz ist eine Menge verbundener Knoten, die alle dieselbe Technolo-

Kapitel 3 – Netzwerke und Internetworking90

gie verwenden, um miteinander zu kommunizieren. Die Infrastruktur des Internetsbeinhaltet eine Architektur sowie Hardware- und Software-Komponente-Komponen-ten, die letztlich die verschiedenen Teilnetze zu einem einzigen Datenkommunikati-onsdienst zusammenfassen.

Der Entwurf eines Kommunikations-Teilsystems wird stark beeinflusst durch dieEigenschaften der Betriebssysteme der Computer, aus denen sich das verteilte Systemzusammensetzt, ebenso wie durch die Netzwerke, die sie verbinden. In diesem Kapi-tel betrachten wir den Einfluss der Netzwerk-Technologien auf das Kommunikati-ons-Teilsystem; Betriebssystemaspekte werden in Kapitel 6 beschrieben.

Dieses Kapitel bietet einen einführenden Überblick über Computernetzwerke mitHinweisen auf die Kommunikationsanforderungen verteilter Systeme. Leser, die mitComputernetzwerken nicht vertraut sind, sollten es als Grundlage für das restlicheBuch nutzen, während diejenigen, die bereits Erfahrung mit Netzwerken gesammelthaben, feststellen werden, dass dieses Kapitel einen erweiterten Überblick überAspekte der Computernetzwerke bietet, die für verteilte Systeme relevant sind.

Computernetzwerke entstanden unmittelbar nach der Erfindung der Computer.Die theoretische Grundlage für die Paketvermittlung wurde in einem Aufsatz vonLeonard Kleinrock [1961] vorgestellt. 1962 veröffentlichten J.C.R. Licklider und W.Clark, die an der Entwicklung des ersten Timesharing-Systems am MIT Anfang dersechziger Jahre beteiligt waren, einen Aufsatz über das Potential für die interaktiveProgrammierung und WANs, der das Internet in vielerlei Hinsicht ankündigte [DEC1990]. 1964 skizzierte Paul Baran einen praktischen Entwurf für zuverlässige undeffektive WANs (Wide Area Networks, Weitverkehrsnetze) [Baran 1964]. WeitereUnterlagen sowie Links zur Geschichte der Computernetzwerke und des Internetsfinden Sie in den folgenden Quellen: [www.isoc.org, Comer 1995, Kurose und Ross2000].

Im restlichen Abschnitt geht es um die Kommunikationsanforderungen verteilterSysteme. In Abschnitt 3.2 bieten wir einen Überblick über die Netzwerktypen, inAbschnitt 3.3 eine Einführung in Netzwerkgrundlagen. Abschnitt 3.4 beschäftigt sichmit dem Internet. Das Kapitel endet mit detaillierten Fallstudien über das Ethernet,ATM- und IEEE 802.11 (WaveLAN)-Netzwerk-Technologien in Abschnitt 3.5.

3.1.1 Netzwerkaspekte für verteilte SystemeDie ersten Computernetzwerke wurden entworfen, um einige wenige, relativ einfa-che Applikationsanforderungen zu erfüllen. Sie unterstützten Netzwerk-Applikatio-nen wie beispielsweise Dateiübertragung, entfernte Anmeldung, E-Mail und News-groups. Die nachfolgende Entwicklung verteilter Systeme mit der Unterstützungverteilter Applikationsprogramme, die auf gemeinsam genutzte Dateien und andereRessourcen zugreifen, setzte den Leistungsstandard höher, um die Bedürfnisse inter-aktiver Applikationen zu erfüllen.

In jüngster Zeit haben sich nach dem Wachstum und der Kommerzialisierung desInternets sowie der Entwicklung zahlreicher neuer Verwendungsmodi strengereAnforderungen in Hinblick auf Zuverlässigkeit, Skalierbarkeit, Mobilität und Sicher-heit sowie Dienstgüte entwickelt. In diesem Abschnitt definieren und beschreibenwir diese Anforderungen.

Leistung Für unsere Zwecke sind die Leistungsparameter für Netzwerke vonbesonderem Interesse, die die Geschwindigkeit beeinflussen, mit der einzelne Nach-richten zwischen zwei verbundenen Computern übertragen werden können. Es han-

3.1 Einführung 91

delt sich dabei um die Latenz sowie die Punkt-zu-Punkt-Datenübertragungsge-schwindigkeit.

Latenz ist die Verzögerung, die auftritt, bis die Daten am Ziel zur Verfügung ste-hen, nachdem eine Sende-Operation ausgeführt wurde. Sie kann gemessen wer-den als die Zeit, die erforderlich ist, um eine leere Nachricht zu übertragen.

Datenübertragungsgeschwindigkeit ist die Geschwindigkeit, mit der Daten zwischenzwei Computern im Netzwerk übertragen werden können, nachdem die Übertra-gung begonnen hat. Sie wird normalerweise in Bit pro Sekunde angegeben.

Aus diesen Definitionen leitet sich die Zeit ab, die ein Netzwerk benötigt, um eineNachricht mit länge Bits zwischen zwei Computern zu übertragen:

Nachrichtenübertragungszeit = Latenz + länge/Datenübertragungsgeschwindigkeit

Die obige Gleichung gilt für Nachrichten, deren Länge nicht einen maximalen Wertüberschreitet, der durch die zu Grunde liegende Netzwerk-Technologie bestimmtwird. Längere Nachrichten müssen unterteilt werden und die Übertragungszeit istdie Summe der Zeiten für die einzelnen Segmente.

Die Übertragungsgeschwindigkeit eines Netzwerks wird hauptsächlich durchseine physischen Eigenschaften bestimmt, während die Latenz hauptsächlich durchSoftware-Overheads, Routing-Verzögerungen und ein lastabhängiges statistischesElement bestimmt wird, das aus konfliktierenden Zugriffsanforderungen auf Über-tragungskanäle entsteht . Viele der zwischen Prozessen in einem verteilten Systemübertragenen Nachrichten sind sehr klein; die Latenz ist deshalb häufig auch vongleicher oder größerer Bedeutung als die Übertragungsgeschwindigkeit, was dieLeistung angeht.

Die Gesamtsystembandbreite eines Netzwerks ist ein Maß für den Durchsatz – dieGesamtmenge des Verkehrs, der innerhalb einer bestimmten Zeit über das Netzwerkübertragen werden kann. In vielen LAN-Technologien wie beispielsweise Ethernetwird für jede Übertragung die vollständige Übertragungskapazität des Netzwerksgenutzt und die Systembandbreite ist gleich der Datenübertragungsgeschwindigkeit.In den meisten WANs können die Netzwerknachrichten jedoch auf mehreren ver-schiedenen Kanälen gleichzeitig übertragen werden und die Gesamtsystemband-breite steht in keiner direkten Beziehung zu der Übertragungsgeschwindigkeit. DieLeistung von Netzwerken sinkt bei Überlast – wenn zu viele Nachrichten gleichzeitigim Netzwerk sind. Die genaue Auswirkung der Überlast auf die Latenz, die Datenü-bertragungsgeschwindigkeit und die Gesamtsystembandbreite eines Netzwerks iststark von der verwendeten Netzwerk-Technologie abhängig.

Betrachten wir jetzt die Leistung der Client-/Server-Client-/Server-Kommunika-tion. Die Zeit für die Übertragung einer kurzen Anforderungsnachricht und denEmpfang einer kurzen Antwort in einem wenig ausgelasteten lokalen Netzwerk zwi-schen Standard-PCs oder UNIX-Systemen liegt normalerweise unter einer Millise-kunde. Dies kann mit der unter einer Mikrosekunde liegenden Zeit verglichen wer-den, die für den Aufruf einer Operation für ein Objekt auf Applikationsebenebenötigt wird, das sich im lokalen Speicher des ausführenden Prozesses befindet.Trotz der Fortschritte im Bereich der Netzwerkleistung bleibt die Zeit für den Zugriffauf gemeinsam genutzte Ressourcen im selben Netzwerk um den Faktor 1.000 odermehr höher als der Zugriff auf Ressourcen, die sich im lokalen Speicher befinden.Andererseits bringt der Zugriff über ein Hochgeschwindigkeitsnetzwerk auf einen

Kapitel 3 – Netzwerke und Internetworking92

lokalen Webserver oder Datei-Server mit großem Cache häufig genutzter Dateien oftdieselbe oder eine bessere Leistung als der Zugriff auf Dateien, die auf einer lokalenFestplatte abgelegt sind, weil Netzwerk-Latenz und Bandbreite häufig die Festplat-tenleistung übertreffen.

Im Internet liegen die durchschnittlichen Antwortzeit-Latenzen im Bereich von300-600 ms, Aufrufe sind also etwa fünfhundertmal langsamer als für schnelle lokaleNetzwerke. Ein Großteil dieser Zeit ist Latenz, die durch Switching-Verzögerungenauf Routern und Verbindungen für Netzwerkschaltkreise entsteht.

Abschnitt 6.5.1 beschreibt und vergleicht die Leistung lokaler und entfernter Ope-rationen im Detail.

Skalierbarkeit Computernetzwerke sind ein nicht mehr wegzudenkender Teilder Infrastruktur moderner Gesellschaften. In Abbildung 1.4 zeigen wir den Anstiegder Anzahl der an das Internet angeschlossenen Host-Computer über einen Zeitraumvon 20 Jahren auf. Die potentielle zukünftige Größe des Internets entspricht der Erd-bevölkerung. Man kann realistisch erwarten, dass es mehrere Milliarden Knoten undHunderte Millionen aktiver Hosts beinhalten wird.

Diese Zahlen weisen auf die enormen Änderungen in Hinblick auf Größe undAuslastung hin, mit denen das Internet zurechtkommen muss. Die Netzwerk-Tech-nologien, auf denen es basiert, waren nicht einmal auf die aktuelle Größe des Inter-nets ausgelegt, dennoch weisen sie eine beachtenswert gute Leistung auf. Es sindeinige wesentliche Änderungen der Adressierungs- und Routingmechanismengeplant, die der nächsten Wachstumsphase des Internets gerecht werden; sie sind inAbschnitt 3.4 beschrieben.

Es gibt keine Zahlen zum Verkehr auf dem Internet, aber der Einfluss des Ver-kehrs auf die Leistung kann anhand von Kommunikations-Latenzen geschätzt wer-den. Interessante Zahlen zu aktuellen und historischen beobachteten Latenzen imInternet finden Sie unter [www.mids.org]. Trotz häufiger Witze über das „World WideWait“ scheinen diese Zahlen darauf hinzuweisen, dass sich die Netzwerk-Latenzen inden letzten Jahren etwas reduziert haben, sodass sich eine durchschnittliche Antwort-zeit von 100 bis 150 ms ergibt. Gelegentlich entstehen größere Abweichungen, mitSpitzen-Latenzen im Bereich von 400 ms, aber sie sind wahrscheinlich nicht der aus-schlaggebende Faktor, der für die von den Web-Benutzern erfahrenen Verzögerungenverantwortlich ist. Für einfache Client-/Server-Client-/Server-Applikationen wiebeispielsweise das Web erwarten wir, dass der zukünftige Verkehr proportional zuder Anzahl aktiver Benutzer steigt. Ob die Internet-Infrastruktur dazu in der Lage ist,mit dieser Anzahl zurechtzukommen, hängt von der Wirtschaftlichkeit der Nutzungab, insbesondere von den Gebühren für die Benutzer und den tatsächlich auftreten-den Kommunikationsmustern – beispielsweise inwieweit die Kommunikation lokalerfolgt.

Zuverlässigkeit Unsere Diskussion der Fehlermodelle in Abschnitt 2.3.2beschreibt den Einfluss von Kommunikationsfehlern. Viele Applikationen könnenKommunikationsfehler kompensieren und benötigen deshalb keine garantiert fehler-freie Kommunikation. Das Ende-zu-Ende-Argument (Abschnitt 2.2.1) unterstütztaußerdem die Ansicht, dass das Kommunikations-Teilsystem keine wirklich fehler-freie Kommunikation bieten muss; die Erkennung von Kommunikationsfehlern undihre Korrektur wird häufig am besten durch Software auf Applikationsebene ausge-führt. Die meisten physischen Übertragungsmedien sind sehr zuverlässig. Wenn Feh-ler auftreten, werden sie größtenteils durch Timing-Fehler in der Software beim Sen-der oder beim Empfänger verursacht (z.B. Fehler beim empfangenden Computer, ein

3.1 Einführung 93

Paket zu akzeptieren) oder durch einen Pufferüberlauf und nicht durch Fehler imNetzwerk.

Sicherheit Kapitel 7 beschreibt die Anforderungen und Techniken, um Sicherheitin verteilten Systemen zu erzielen. Die erste Verteidigungsmaßnahme, die von vielenUnternehmen eingesetzt wird, ist der Schutz ihrer Netzwerke und der daran ange-schlossenen Computer durch eine Firewall. Eine Firewall erzeugt einen Schutzwallzwischen dem Intranet des Unternehmens und dem restlichen Internet. Die Firewallhat die Aufgabe, die Ressourcen aller Computer innerhalb des Unternehmens vor demZugriff durch externe Benutzer oder Prozesse zu schützen und die Verwendung derRessourcen außerhalb der Firewall durch Benutzer im Unternehmen zu steuern.

Eine Firewall wird auf einem Gateway installiert – das ist ein Computer, der sicham Netzwerkeingangspunkt zum Intranet eines Unternehmens befindet. Die Firewallempfängt und filtert alle Nachrichten, die in ein Unternehmen hinein und aus ihmheraus gesendet werden. Sie wird der Sicherheitsstrategie des Unternehmens ent-sprechend konfiguriert und erlaubt, dass nur bestimmte ankommende und ausge-hende Nachrichten hindurchgelangen, während alle anderen zurückgewiesen wer-den. Wir werden dieses Thema in Abschnitt 3.4.8 noch einmal aufgreifen.

Um verteilten Applikationen zu ermöglichen, die durch Firewalls auferlegtenBeschränkungen zu umgehen, muss eine sichere Netzwerkumgebung aufgebautwerden, in der die meisten verteilten Applikationen eingesetzt werden können, mitEnde-zu-Ende-Authentifizierung, Privatsphäre und Sicherheit. Diese detailliertereund flexiblere Form der Sicherheit kann durch Verwendung von Verschlüsselungs-techniken erzielt werden. Normalerweise wird sie auf einer Ebene oberhalb des Kom-munikations-Teilsystems eingesetzt und deshalb erst in Kapitel 7 genauer beschrie-ben. Ausnahmen sind unter anderem die Notwendigkeit, Netzwerk-Komponentenwie etwa Router gegen unberechtigte Zugriffe zu schützen, oder die Notwendigkeitsicherer Verbindungen zu mobilen Geräten und anderen entfernten Knoten, sodassdiese Teil eines sicheren Intranets sein können – das ist das Konzept des virtuellen pri-vaten Netzwerks (VPN), das in Abschnitt 3.4.8 beschrieben ist.

Mobilität In Kapitel 2 haben wir die Anforderungen beschrieben, die für ver-teilte Systeme entstehen, um portable Computer und digitale Handheld-Geräte zuunterstützen. Außerdem haben wir den Bedarf an Funknetzwerken angesprochen,die benötigt werden, um eine stetige Kommunikation mit solchen Geräten zugewährleisten. Die Folgen der Mobilität gehen jedoch über den Bedarf an Funknetz-werken hinaus. Mobile Geräte werden häufig an unterschiedlichen Positionen einge-setzt und an geeigneten Anschlussstellen mit dem Netzwerk verbunden. Die Adres-sierungs- und Routingschemata des Internets und anderer Netzwerke wurden vorder Einführung der mobilen Geräte entwickelt. Obwohl die aktuellen Mechanismenangepasst und erweitert wurden, um sie zu unterstützen, bedingt das erwarteteWachstum bei der Verwendung mobiler Geräte weitere Erweiterungen.

Dienstgüte (Quality of Service) In Kapitel 2 haben wir die Dienstgüte definiertals die Fähigkeit, bei der Übertragung und Verarbeitung von Streams mit Echtzeit-Multimediadaten vorgegebene Zeiten einzuhalten. Damit entstehen wichtige neueAnforderungen an Computernetzwerke. Applikationen, die Multimediadaten über-tragen, benötigen eine garantierte Bandbreite sowie begrenzte Latenzzeiten für dievon ihnen verwendeten Kommunikationskanäle. Einige Applikationen variierendynamisch in ihren Anforderungen und geben sowohl einen Mindestwert für eineakzeptable Dienstgüte als auch ein gewünschtes Optimum an. Die Bereitstellung sol-cher Garantien und ihre Wartung ist Thema von Kapitel 15.

Kapitel 3 – Netzwerke und Internetworking94

Multicasting Ein Großteil der Kommunikation in verteilten Systemen erfolgt zwi-schen Paaren von Prozessen, aber häufig braucht man auch eine 1:n-Kommunikation.Sie kann durch Sende-Operationen an mehrere Ziele simuliert werden, aber dasbedeutet mehr Kosten als notwendig und bietet vielleicht nicht die Fehlertoleranz-Eigenschaften, die die Applikation benötigt. Aus diesen Gründen unterstützen vieleNetzwerk-Technologien die gleichzeitige Übertragung von Nachrichten an mehrereEmpfänger.

3.2 NetzwerktypenIn diesem Abschnitt stellen wir die wichtigsten Netzwerktypen vor, die verteilte Sys-teme unterstützen: LANs, WANs, MANs, Funknetzwerke und Internetworks.

Einige der Namen für die Netzwerktypen sind verwirrend, weil sie scheinbar nurauf die physische Größe verweisen (LANs, WANs), aber sie beschreiben auch physi-sche Übertragungs-Technologien und Low-Level-Protokolle. Diese unterscheidensich für LANs und WANs, obwohl einige in jüngerer Zeit entwickelte Netzwerk-Technologien wie beispielsweise ATM (Asynchronous Transfer Mode) sowohl fürLAN- als auch für WAN-Applikationen geeignet sind. Funknetzwerke unterstützenauch LAN- und MAN-Übertragungen.

Netzwerke, die sich aus vielen verbundenen Netzwerken zusammensetzen undso integriert sind, dass sie sich als einziges Datenkommunikationsmedium darstellen,bezeichnen wir als Internetworks. Das Internet ist der Prototyp für ein Internetwork; esbesteht momentan aus Hunderttausenden von LANS, MANs und WANs. Eine detail-lierte Beschreibung seiner Implementierung finden Sie in Abschnitt 3.4.

LANs (Local Area Networks, lokale Netzwerke) LANs übertragen Nachrichtenmit relativ hoher Geschwindigkeit zwischen Computern, die an ein einziges Kommu-nikationsmedium angeschlossen sind, wie beispielsweise verdrilltes Kupferkabel,Koaxialkabel oder Fiberglaskabel. Ein Segment ist ein Kabelabschnitt, der eine Abtei-lung oder ein Stockwerk eines Gebäudes unterstützt und an den viele Computerangeschlossen sein können. Innerhalb eines Segments ist kein Routing der Nachrich-ten erforderlich, weil das Medium direkte Verbindungen zwischen allen daran ange-schlossenen Computern verwendet. Die Gesamtsystembandbreite wird von den anein Segment angeschlossenen Computern gemeinsam genutzt. Größere lokale Netz-werke wie beispielsweise für die Abdeckung eines Campus oder eines Bürogebäudessetzen sich aus mehreren Segmenten zusammen, die über Switches oder Hubs mit-einander verbunden sind (siehe Abschnitt 3.3.7). In lokalen Netzwerken ist dieGesamtsystembandbreite hoch und die Latenz gering, außer wenn eine sehr hoheVerkehrslast vorliegt.

In den 70er Jahren wurden verschiedene LAN-Technologien entwikkelt – Ether-net, Token Rings und segmentierte Ringe. Jede dieser Technologien stellt eine effek-tive und leistungsfähige Lösung dar, aber Ethernet hat sich als die vorherrschendeTechnologie für WANs herausgebildet. Es wurde Anfang der 70er Jahre mit einerBandbreite von 10 Mbps (Millionen Bits pro Sekunde) entwickelt und vor kurzer Zeitauf 100 Mbps und 1.000 Mbps (1 Gigabit pro Sekunde) erweitert. Die Grundlagen fürden Betrieb von Ethernet-Netzwerken finden Sie in Abschnitt 3.5.1.

Es gibt sehr viele installierte LANs, die fast alle Arbeitsumgebungen unterstützen,in denen mehr als ein oder zwei PCs oder Workstations eingesetzt werden. Ihre Leis-tung ist im Allgemeinen ausreichend für die Implementierung verteilter Systeme und

3.2 Netzwerktypen 95

Applikationen. Die Ethernet-Technologie verfügt nicht über die Latenz- und Band-breitengarantien, die viele Multimedia-Applikationen benötigen. Um diese Lücke zufüllen, wurden ATM-Netzwerke entwickelt, aber der dafür anfallende Kostenauf-wand hat verhindert, dass sie sich in LAN-Applikationen wirklich durchgesetzthaben. Stattdessen wurden Hochgeschwindigkeits-Ethernets in einem geschaltetenModus eingesetzt, der diese Nachteile zu einem wesentlichen Grad ausgleicht, wennauch nicht so effektiv wie ATM.

WANs (Wide Area Networks, Weitverkehrsnetzwerke) WANs übertragen Nach-richten mit geringeren Geschwindigkeiten zwischen Knoten, die sich häufig in unter-schiedlichen Unternehmen befinden und zwischen denen große Distanzen liegenkönnen. Sie können sich in unterschiedlichen Städten, Ländern oder sogar Kontinen-ten befinden. Das Kommunikationsmedium ist eine Menge aus Kommunikations-schaltungen, die mehrere dedizierte Computer verbinden, die so genannten Router.Sie verwalten das Kommunikationsnetzwerk und leiten Nachrichten oder Pakete anihre Ziele weiter. In den meisten Netzwerken führen die Routing-Operationen anjedem Punkt in der Route eine Verzögerung ein, sodass die Gesamt-Latenz für dieÜbertragung einer Nachricht von der Route abhängig ist, der sie folgt, sowie von derVerkehrauslastung in den durchlaufenen Netzwerksegmenten. In heutigen Netzwer-ken betragen diese Latenzen zwischen 0,1 und 0,5 Sekunden. Aktuelle Zahlen für dasInternet finden Sie unter [www.mids.org]. Die Geschwindigkeit elektronischer Signaleliegt in den meisten Medien nahe der Lichtgeschwindigkeit, wodurch eine Unter-grenze für die Übertragungs-Latenzen von Langstreckennetzwerken festgelegt wird.Beispielsweise wird ein elektronisches Signal von Europa nach Australien in etwa0,13 Sekunden übertragen. Übertragungen, die über einen geostationären Satellitengehen, unterliegen einer Weitergabeverzögerung von schätzungsweise 0,20 Sekun-den.

Bandbreiten, die bei Verbindungen über das Internet zur Verfügung stehen, vari-ieren stark. In einigen Ländern werden Geschwindigkeiten von 1-2 Mbps über Teiledes Internets erreicht, aber auch Geschwindigkeiten von 10 bis 100 Kbps sind durch-aus üblich.

MANs (Metropolitan Area Networks, Regionalnetze) Dieser Netzwerktypbasiert auf der Kupfer- und Glasfaserverkabelung mit hoher Bandbreite, die seit eini-ger Zeit in bestimmten Städten für die Übertragung von Video, Voice und anderenDaten über bis zu 50 Kilometer installiert wurde. Diese Verkabelung kann genutztwerden, um Datenübertragungsgeschwindigkeiten zu erzielen, die mit den Anforde-rungen verteilter Systeme kompatibel sind. Für die Implementierung des Datenrou-tings in MANs wurde eine Vielzahl an Technologien eingesetzt, von Ethernet bisATM. Die IEEE hat die Spezifikation 802.6 [IEEE 1994] veröffentlicht, die insbeson-dere auf die Bedürfnisse von MANs hin ausgelegt ist; Implementierungen davonsind in Entwicklung. MANs befinden sich noch in den Kinderschuhen, aber sie wer-den sehr wahrscheinlich Anforderungen erfüllen, die denen von LANs entsprechen,während sie dabei größere Distanzen abdecken.

Die DSL- (Digital Subscriber Line) und Kabelmodem-Verbindungen, die es heutein den Städten einiger Länder gibt, sind ein Beispiel dafür. DSL verwendet normaler-weise ATM-Switches (Abschnitt 3.5.3), die sich in Telefonschaltstellen befinden, umdigitale Daten auf gedrillte Kupferkabel (wie die Verdrahtung von Telefonverbindun-gen) in den Wohnungen oder Büros der Benutzer zu leiten und das mit einerGeschwindigkeit im Bereich zwischen 0,25 und 6,0 Mbps. Die Verwendung vongedrilltem Kupferkabel für DSL-Verbindungen begrenzt ihre Reichweite auf etwa

Kapitel 3 – Netzwerke und Internetworking96

1,5 km von der Schaltstelle aus. Kabelmodem-Verbindungen verwenden analoge Sig-nale auf Kabel-TV-Netzwerken, um Geschwindigkeiten von 1,5 Mbps über Koaxial-kabel und mit einer wesentlich größeren Reichweite als DSL zu erreichen.

Funknetzwerke Die bequeme Verbindung portabler und Handheld-Gerätebedingt eine Funkkommunikation, wie in Kapitel 2 bereits beschrieben. In jüngsterZeit haben sich viele digitale Funkkommunikations-Technologien entwickelt. Einigedavon wie beispielsweise IEEE 802.11 (WaveLan) unterstützen eine Datenübertra-gung von 2 bis 11 Mbps über 150 m; es handelt sich dabei um Funk-LANs (WLANs,Wireless Local Area Networks), die für die Verwendung anstelle von verdrahtetenLANs vorgesehen sind. Andere sind darauf ausgelegt, mobile Geräte mit anderenmobilen Geräten oder fixen Geräten in derselben unmittelbaren Nachbarschaft zuverbinden, beispielsweise um sie mit lokalen Druckern oder anderen Palmtops oderDesktop-Computern zu verbinden. Man spricht hier auch von WPANs (Wireless Per-sonal Area Networks); Beispiele dafür sind unter anderem Infrarot-Verbindungen,die in vielen Palmtop- und Laptop-Computern eingebaut sind, sowie die BlueToothNiederspannungs-Funknetzwerk-Technologie [www.bluetooth.com], die eine Datenü-bertragung bei 1-2 Mbps über 10 m unterstützt. Viele Mobiltelefonnetzwerke basierenauf digitalen Funknetzwerk-Technologien, unter anderem auch der europäischeGSM-Standard (Global System for Mobile Communication), der in den meisten Län-dern der Welt eingesetzt wird. In den USA basieren die meisten Mobiltelefonemomentan auf dem analogen AMPS-Mobilfunkzellennetzwerk; CDPD (CellularDigital Packet Data) ist eine digitale Kommunikationseinrichtung, die darauf auf-setzt. Mobile Telefonnetzwerke sind darauf ausgelegt, über weite Bereiche (normaler-weise ganze Länder oder Kontinente) zu arbeiten; ihre Datenübertragungsfunktionenunterstützen deshalb weit reichende mobile Verbindungen zum Internet für portableGeräte. Die oben erwähnten Zellularnetzwerke bieten relativ geringe Datenge-schwindigkeiten – 9,6 bis 19,2 kbps, aber es sind Nachfolgernetzwerke mit einerDatenübertragungsgeschwindigkeit im Bereich von 128 kbps bis 384 kbps für Zellenmit einigen Kilometern Radius und bis zu 2 Mbps für kleinere Zellen geplant.

Wegen der beschränkten Bandbreite und anderer Einschränkungen portablerGeräte, beispielsweise die winzigen Bildschirme, wurden mehrere Protokolle entwi-ckelt, die auch als WAP (Wireless Application Protocol) bezeichnet werden und diespeziell auf die Verwendung in portablen Geräten ausgelegt sind [www.wap-formu.org].

Internetworks Ein Internetwork ist ein Kommunikations-Teilsystem, in demmehrere Netzwerke verbunden sind, um gemeinsame Datenkommunikationsfunkti-onen zu bieten, die die Technologien und Protokolle der einzelnen Komponenten-netzwerke sowie die Methoden für ihre wechselseitige Verbindung verbergen.

Internetworks werden für die Entwicklung erweiterbarer, offener verteilter Sys-teme benötigt. Die offene Natur verteilter Systeme bedingt, dass die dort verwende-ten Netzwerke so erweitert werden können, dass sie eine sehr große Anzahl an Com-putern unterstützen, während die einzelnen Netzwerke einen eingeschränktenAdressraum haben und zum Teil auch Leistungsbeschränkungen, die der Verwen-dung für große Systeme entgegenstehen. In Internetworks kann eine Vielzahl vonLAN- und WAN-Technologien zum Teil auch von unterschiedlichen Herstellern inte-griert werden, um die Netzwerkkapazität zu bieten, die von den einzelnen Benutzer-gruppen benötigt wird. Internetworks sorgen also dafür, dass die Kommunikation inverteilten Systemen von vielen der Vorteile offener Systeme profitieren kann.

3.2 Netzwerktypen 97

Internetworks werden aus einer Vielzahl von Komponentennetzwerken aufgebaut.Sie sind verbunden durch dedizierte Switching-Computer, so genannte Router undallgemeine Computer, so genannte Gateways; ein integriertes Kommunikations-Teil-system wird erzeugt durch eine Softwareschicht, die die Adressierung und Übertra-gung von Daten an Computer im gesamten Internetwork realisiert. Das Ergebniskann man sich als „virtuelles Netzwerk“ vorstellen, das durch die Überlagerungeiner Internetwork-Schicht über ein Kommunikationsmedium entsteht, das sich ausden zu Grunde liegenden Netzwerken, Routern und Gateways zusammensetzt. DasInternet ist das beste Beispiel für ein Internetwork und seine TCP/IP-Protokolle sinddas beste Beispiel für die oben beschriebene Integrationsschicht.

Netzwerkvergleiche Abbildung 3.1 zeigt die Reichweiten und Leistungseigenschaf-ten der verschiedenen oben beschriebenen Netzwerktypen. Zusätzliche Vergleichs-aspekte, die für verteilte Systeme relevant sind, sind die Häufigkeit und die Art derFehler, die in den verschiedenen Netzwerktypen zu erwarten sind. Die Zuverlässig-keit der zu Grunde liegenden Datenübertragungsmechanismen ist in allen Netzwerk-typen sehr hoch, bis auf die Funknetzwerke, bei denen Pakete auf Grund der extre-men Störungen häufig verloren gehen. In allen Netzwerktypen können Pakete aufGrund von Verarbeitungsverzögerungen oder einem Pufferüberlauf im Ziel verlorengehen. Das ist die bei weitem häufigste Ursache für einen Paketverlust.

Pakete können in einer anderen Reihenfolge ausgeliefert werden als sie verschicktwurden. Das gilt nur für Netzwerke, in denen separate Pakete einzeln geroutet wer-den – grundsätzlich WANs. Doppelte Kopien von Paketen können ebenfalls ausgelie-fert werden, aber das ist normalerweise eine Folge davon, wenn der Sender annimmt,ein Paket sei verloren gegangen. Das Paket wird erneut übertragen und sowohl dasOriginal als auch die erneut übertragene Kopie können am Ziel auftauchen.

Alle oben beschriebenen Fehler werden in TCP maskiert, ebenso wie in den meis-ten anderen so genannten zuverlässigen Protokollen, sodass die Applikationspro-gramme davon ausgehen können, dass alles, was übertragen wurde, von dem Pro-zess, an den es gesendet wurde, auch empfangen wird. Es gibt jedoch gute Gründe,für einige Aufgabenstellungen in verteilten Systemen weniger zuverlässige Proto-kolle einzusetzen, wie beispielsweise UDP. In diesen Situationen müssen Applikati-onsprogramme mögliche Fehler berücksichtigen.

Abbildung 3.1 Netzwerktypen

Reichweite Bandbreite (Mbps) Latenz (ms)

LAN 1-2 km 10-10.000 1-10

WAN Weltweit 0,010-600 100-500

MAN 2-50 km 1-150 10

Wireless LAN 0,15-1,5 km 2-11 5-20

Wireless WAN Weltweit 0,010-2 100-500

Internet Weltweit 0,010-2 100-500

Kapitel 3 – Netzwerke und Internetworking98

3.3 NetzwerkgrundlagenDie Grundlage für Computernetzwerke ist die Paketvermittlungstechnik, die in den60er Jahren entwickelt wurde. Die Paketvermittlung war ein radikaler Schritt überdie zuvor geschalteten Telekommunikationsnetzwerke hinaus, die für Telefonie- undTelegrafie-Kommunikation verwendet wurden; sie nutzt aus, dass Computer dieDaten während der Übertragung speichern können. Auf diese Weise können Pakete,die an unterschiedliche Ziele adressiert sind, eine einzige Kommunikationsverbin-dung verwenden. Die Pakete werden in einen Puffer gestellt und dann übertragen,sobald die Verbindung zur Verfügung steht. Die Kommunikation ist asynchron –Nachrichten kommen an ihrem Ziel nach einer Verzögerung an, die in Abhängigkeitvon der Zeit variiert, die Pakete im Netzwerk unterwegs sind.

3.3.1 PaketübermittlungIn den meisten Anwendungen von Computernetzwerken werden logische Informati-onseinheiten oder Nachrichten übertragen – das sind Abfolgen von Datenelementenbeliebiger Länge. Bevor jedoch eine Nachricht übertragen wird, wird sie in Pakete zer-legt. Die einfachste Form eines Pakets ist eine Abfolge binärer Daten (ein Feld mit Bitsoder Bytes) begrenzter Länge zusammen mit Adressinformationen, die ausreichen,um Quell- und Zielcomputer zu identifizieren. Pakete begrenzter Länge werdenbenutzt:

õ damit jeder Computer im Netzwerk ausreichend viel Pufferspeicher reservierenkann, um das größte mögliche ankommende Paket aufzunehmen;

õ um die übermäßigen Verzögerungen zu vermeiden, die auftreten können, wenndarauf gewartet werden muss, dass Kommunikationskanäle frei werden, wennlange Nachrichten übertragen werden, die nicht unterteilt sind.

3.3.2 Daten-StreamingEs gibt wichtige Ausnahmen von der Regel, dass die auf Nachrichten basierendeKommunikation die meisten Bedürfnisse von Applikationen erfüllt. In Kapitel 2haben wir bereits erwähnt, dass Multimedia-Applikationen auf der Übertragung vonStreams aus Audio- und Video-Datenelementen mit garantierter Geschwindigkeitund begrenzten Latenzen basieren. Solche Streams unterscheiden sich wesentlich vondem nachrichtenbasierten Verkehr, für den die Paketübermittlung entworfen wurde.Das Streaming von Audio und Video bedingt sehr viel höhere Bandbreiten als diemeisten anderen Kommunikationsformen in verteilten Systemen.

Die Übertragung eines Video-Streams für die Echtzeitanzeige bedingt eine Band-breite von etwa 1,5 Mbps bei komprimierten Daten oder 120 Mbps bei nicht kompri-mierten Daten. Darüber hinaus ist der Datenfluss fortlaufend, im Gegensatz zu demintermittierenden Verkehr, der durch typische Client-/Server-Client-/Server-Kom-munikationen entsteht. Die Abspielzeit eines Multimedia-Elements ist die Zeit, zu deres angezeigt (bei einem Video-Element) oder in Audio umgewandelt (für ein Sound-Sample) werden muss. In einem Stream mit Video-Frames beispielsweise, der 24 Ein-zelbilder pro Sekunde verwendet, hat der Frame N eine Abspielzeit, die N/24 Sekun-den nach der Startzeit des Streams liegt. Elemente, die nach ihrer Abspielzeit anihrem Ziel eintreffen, sind nicht mehr sinnvoll und werden vom empfangenden Pro-zess verworfen.

3.3 Netzwerkgrundlagen 99

Die rechtzeitige Auslieferung solcher Daten-Stream-Streams ist von der Verfügbar-keit von Verbindungen mit garantierter Dienstgüte abhängig – Bandbreite, Latenzund Zuverlässigkeit müssen garantiert sein. Es muss möglich sein, einen Kanal vonder Quelle zum Ziel eines Multimedia-Streams einzurichten, mit einer vordefiniertenRoute durch das Netzwerk, eine reservierte Ressourcenmenge in jedem Knoten, dieer durchläuft, sowie gegebenenfalls Puffer, um etwaige Unregelmäßigkeiten im Flussder Daten durch den Kanal zu kompensieren. Die Daten können dann mit dergeforderten Geschwindigkeit vom Sender an den Empfänger im Kanal übertragenwerden.

ATM-Netzwerke (Abschnitt 3.5.3) sind speziell darauf ausgelegt, hohe Bandbrei-ten und geringe Latenzen zu bieten und durch die Reservierung von Netzwerk-Res-sourcen Dienstgüte zu unterstützen. IPv6, das neue Netzwerk-Protokoll für das Inter-net, das in den nächsten zehn Jahren zum Einsatz kommen soll (siehe Abschnitt3.4.4), beinhaltet Funktionsmerkmale, die ermöglichen, dass jedes IP-Paket, das Teileines Echtzeit-Streams ist, unabhängig von anderen Daten auf Netzwerkebene identi-fiziert werden kann.

Kommuniktions-Teilsysteme, die Dienstgüte-Garantien bieten, bedingen Maß-nahmen für die Vorab-Reservierung von Netzwerk-Ressourcen und die Erzwingungdieser Reservierungen. RSVP (Resource Reservation Protocol) [Zhang et al. 1993]ermöglicht Applikationen, die Vorab-Reservierung von Bandbreite für Echtzeit-Daten-Stream-Streams abzustimmen. RTP (Real Time Transport Protocol) [Schulz-rinne et al. 1996] ist ein Datenübertragungs-Protokoll auf Applikationsebene, das injedem Paket Details zur Abspielzeit sowie weitere Timing-Anforderungen angibt. DieVerfügbarkeit effektiver Implementierungen dieser Protokolle im Internet ist vonwesentlichen Änderungen der Transport- und Netzwerkschichten abhängig. Kapitel15 beschreibt die Anforderungen verteilter Multimedia-Applikationen im Detail.

3.3.3 VermittlungsschemataEin Netzwerk besteht aus mehreren Knoten, die über Schaltungen verbunden sind.Um Informationen zwischen zwei beliebigen Knoten zu übertragen, braucht man einVermittlungssystem. Wir definieren hier vier Vermittlungstypen, die in Compu-ternetzwerken verwendet werden.

Broadcast Das Broadcasting ist eine Übertragungstechnik, für die keine Ver-mittlung erforderlich ist. Alles wird an jeden Knoten übertragen, und es bleibt demEmpfänger überlassen, die Nachrichten zu erkennen, die für ihn vorgesehen sind.Einige LAN-Technologien, beispielsweise Ethernet, basieren auf dem Broadcasting.Funknetzwerke basieren notwendigerweise auf Broadcasting, aber durch das Fehlenfester Schaltungen sind die Broadcasts so angeordnet, dass sie die in Zellen gruppier-ten Knoten erreichen.

Durchschaltevermittlung Am Anfang waren die Telefonnetzwerke die einzigenTelekommunikationsnetzwerke. Ihr Betrieb war leicht verständlich: wenn ein Anru-fer eine Nummer wählte, wurden die Kabelpaare von seinem Telefon zur lokalen Ver-mittlungsstelle durch einen automatischen Vermittler in der Vermittlungsstelle mitden Kabelpaaren des Telefons des anderen Teilnehmers verbunden. Für ein Fernge-spräch war die Vorgehensweise ähnlich, aber die Verbindung wurde durch mehreredazwischenliegende Vermittlungsstellen bis zum Ziel geschaltet. Dieses System wirdmanchmal auch als POTS (Plain Old Telephone System) bezeichnet. Dabei handelt essich um ein typisches durchschaltvermitteltes Netzwerk.

Kapitel 3 – Netzwerke und Internetworking100

Paketvermittlung Die Einführung von Computern und digitaler Technologiebrachte zahlreiche neue Möglichkeiten für die Telekommunikation mit sich. Auf dergrundlegenden Ebene brachte sie Verarbeitung und Speicher. Sie machte es möglich,Kommunikationsnetzwerke auf ganz andere Weise aufzubauen. Dieser neue Kom-munikationsnetzwerktyp wird auch als Speicher- und Verarbeitungsnetzwerk bezeich-net. Statt Verbindungen einzurichten und abzubauen, um Schaltungen zu erstellen,gibt ein Speicher- und Verarbeitungsnetzwerk Pakete nur von ihrer Quelle zu ihremZiel weiter. An jedem Vermittlungsknoten (wo mehrere Schaltungen miteinanderverbunden werden müssen) wird ein Computer platziert. Ein Paket, das bei einemKnoten ankommt, wird zunächst im Speicher des Computers an diesem Knotenabgelegt und dann von einem Programm verarbeitet, das es an sein Ziel weitergibt,indem eine ausgehende Schaltung gewählt wird, die das Paket auf einen anderenKnoten überträgt, der näher am endgültigen Ziel liegt.

Hier gibt es eigentlich nichts Neues: das Postsystem ist ein Speicher- und Verar-beitungsnetzwerk für Briefe, wobei die Verarbeitung durch Menschen oder Maschi-nen in Postverteilzentren erfolgt. Datenpakete in einem Computernetzwerk könnenjedoch in den Knoten so schnell gespeichert und weitergegeben werden, dass derEindruck entsteht, als würden sie unmittelbar weitergegeben. Das schien zumindestder Fall zu sein, bis die Leute dachten (sogar die Telefonie-Ingenieure), dass es nettsein könnte, auch Audio- und Video-Informationen über Computernetzwerke zuübertragen. Die Vorteile dieser Integration können immens sein – man braucht nurnoch ein einziges Netzwerk, um Computerkommunikation, Telefondienste, TV- undRadioübertragungen sowie Applikationen wie beispielsweise Telekonferenzen zurealisieren. Weil alles in digitaler Form dargestellt wird, kann es jederzeit manipuliertoder gespeichert werden. Aus solchen integrierten Telekommunikationssystemenwerden zweifellos zahlreiche neue Applikationen entstehen.

Frame-Relay Die Speicher- und Verarbeitungs-Übertragung von Paketen erfolgtnicht unverzüglich. Es dauert normalerweise eine Zeitspanne von etwa ein paarZehntel Mikrosekunden bis zu ein paar Millisekunden, ein Paket durch die einzelnenNetzwerkknoten zu schalten, abhängig von der Paketgröße, der Hardwaregeschwin-digkeit und dem restlichen Verkehrsaufkommen. Pakete müssen möglicherweisedurch mehrere Knoten geroutet werden, bevor sie ihr Ziel erreichen. Ein Großteil desInternets basiert auf Speicher- und Verarbeitungs-Vermittlungen und wie wir bereitsgesehen haben, benötigen selbst kleine Internetpakete normalerweise etwa 200 Milli-sekunden, um ihr Ziel zu erreichen.

Verzögerungen dieser Größe sind viel zu lang für Anwendungen wie beispiels-weise die Telefonie, wo Verzögerungen von weniger als 50 Millisekunden benötigtwerden, um eine unterbrechungsfreie Kommunikation am Telefon zu realisieren.Weil die Verzögerung additiv ist – je mehr Knoten ein Paket durchläuft, desto mehrwird es verzögert – und weil ein Großteil der Verzögerung an jedem Knoten aus denFaktoren stammt, die der Paketvermittlungs-Technologie inhärent sind, scheint dasein ernsthaftes Hindernis für die Integration zu sein.

Telefon- und Computernetzwerk-Ingenieure ließen sich jedoch nicht so schnellentmutigen. Sie erfanden eine weitere Vermittlungsmethode – Frame-Relay –, dieeinen Teil der Vorteile der durchschaltevermittelten in die paketvermittelten Netz-werke einfließen ließ. Das Resultat sind ATM-Netzwerke. Wir beschreiben ihrenBetrieb in Abschnitt 3.5.3. Sie kompensieren die Verzögerungsprobleme, indem siekleine Pakete (so genannte Frames) dynamisch vermitteln. Die Vermittlungsknoten(wobei es sich normalerweise um spezielle parallele digitale Prozessoren handelt)

3.3 Netzwerkgrundlagen 101

routen Frames abhängig von deren ersten beiden Bits. Als Resultat kann die ATM-Technologie Pakete über Netzwerke, die aus mehreren Knoten bestehen, in ein paarZehntel Mikrosekunden übertragen.

3.3.4 ProtokolleDer Begriff Protokoll beschreibt eine bekannte Menge aus Regeln und Formaten, die fürdie Kommunikation zwischen Prozessen genutzt werden, um eine bestimmte Aufgabezu erledigen. Die Definition eines Protokolls besteht aus zwei wichtigen Teilen:

õ die Spezifikation der Reihenfolge, in der die Nachrichten ausgetauscht werdenmüssen;

õ eine Spezifikation des Formats der Daten in den Nachrichten.

Die Existenz allgemein gebräuchlicher Protokolle erlaubt, dass einzelne Software-Komponenten verteilter Systeme unabhängig voneinander entwickelt und in unter-schiedlichen Programmiersprachen auf Computern mit unterschiedlichen Steuer-codes und Datendarstellungen implementiert werden.

Abbildung 3.2 Konzeptuelle Schichten der Protokoll-Software

Abbildung 3.3 Kapselung in geschichteten Protokollen

Kapitel 3 – Netzwerke und Internetworking102

Ein Protokoll wird durch ein Paar von Softwaremodulen implementiert, die sich imsendenden und im empfangenden Computer befinden. Beispielsweise überträgt einTransport-Protokoll Nachrichten beliebiger Länge von einem sendenden zu einemempfangenden Prozess. Ein Prozess, der eine Nachricht an einen anderen Prozessübertragen will, ruft ein Transport-Protokollmodul auf und übergibt ihm die Nach-richt im angegebenen Format. Die Transport-Software übernimmt die Übertragungder Nachricht an ihr Ziel, wobei sie diese in Pakete einer bestimmten Größe zerlegtund in ein Format bringt, das über das Netzwerk-Protokoll an das Ziel übermittelt wer-den kann – ein weiteres Protokoll, das sich auf einer tiefer liegenden Schicht befindet.Das entsprechende Transport-Protokollmodul im empfangenden Computer nimmtdas Paket über das Protokollmodul auf der Netzwerkschicht entgegen und führt dieumgekehrte Umwandlung durch, um die Nachricht wiederherzustellen, bevor sie anden empfangenden Prozess weitergegeben wird.

Protokollschichten Netzwerk-Software ist in einer Schichtenhierarchie organi-siert. Jede Schicht stellt eine Schnittstelle zu weiter oben liegenden Schichten bereit,die die Eigenschaften des zu Grunde liegenden Kommunikationssystems erweitert.Eine Schicht wird in jedem an das Netzwerk angeschlossenen Computer durch einModul dargestellt. Abbildung 3.2 zeigt die Struktur und den Fluss der Daten, wenneine Nachricht über ein geschichtetes Protokoll übertragen wird. Jedes Modul scheintdirekt mit einem Modul derselben Schicht im anderen Computer im Netzwerk zukommunizieren, aber in Wirklichkeit werden die Daten nicht zwischen den Proto-kollmodulen der einzelnen Schichten übertragen. Stattdessen kommuniziert jedeSchicht der Netzwerk-Software durch lokale Prozeduraufrufe mit der jeweils darüberund darunter liegenden Schicht.

Auf der sendenden Seite nimmt jede Schicht (außer der obersten oder Applikati-onsschicht) Datenelemente in einem vorgegebenen Format von der darüber liegendenEbene entgegen und wendet Umwandlungen darauf an, um die Daten in das fürdiese Ebene vorgegebene Format einzukapseln, bevor sie die Daten zur weiteren Ver-arbeitung an die darunter liegende Schicht weitergibt. Abbildung 3.3 zeigt diesenProzess für die oberen vier Schichten der OSI-Protokollfolge. Die Abbildung zeigt diePaket-Header, die die meisten netzwerkrelevanten Datenelemente enthalten, aber derKlarheit halber wurden die Anhängsel weggelassen, die für einige Pakettypen ver-wendet werden; außerdem wird dort vorausgesetzt, dass die zu übertragende Appli-kationsschicht-Nachricht kürzer ist als die maximale Paketgröße des zu Grunde lie-genden Netzwerks. Andernfalls müsste es in mehrere Netzwerkschicht-Paketeeingekapselt werden. Auf der empfangenden Seite werden die entgegengesetztenUmwandlungen von der darunter liegenden Schicht auf die Daten angewendet,bevor sie an die darüber liegende Schicht weitergegeben werden. Der Protokolltypder darüber liegenden Schicht wird in den Header jeder Schicht aufgenommen,sodass der Protokollstapel beim Empfänger die richtigen Software-Komponentenauswählen kann, um das Paket zu entpacken.

Damit bietet jede Schicht einen Dienst für die darüber liegende Schicht und erwei-tert den von der darunter liegenden Schicht bereitgestellten Dienst. Ganz unten befin-det sich die Bitübertragungsschicht. Sie wird durch ein Kommunikationsmedium imp-lementiert (Kupfer- oder Fiberglaskabel, Satellitenkommunikationskanäle oderFunkübertragung) und durch analoge Signalschaltkreise, die auf dem sendendenKnoten Signale auf das Kommunikationsmedium schicken und sie auf dem empfan-genden Knoten abgreifen. Auf empfangenden Knoten werden Datenelemente entge-gengenommen und in der Hierarchie der Softwaremodule nach oben weitergereicht

3.3 Netzwerkgrundlagen 103

und dabei entsprechend umgewandelt, bis sie sich in einem Format befinden, das anden betreffenden Empfänger-Prozess weitergegeben werden kann.

Protokollfolgen Eine vollständige Menge von Protokollschichten wird auch alsProtokollfolge oder Protokollstapel bezeichnet, was sich auf die Schichtstruktur bezieht.Abbildung 3.4 zeigt einen Protokollstapel, der dem Sieben-Schichten-Referenzmodellfür OSI (Open Systems Interconnection) entspricht, das von der ISO (International Stan-dards Organization) übernommen wurde [ISO 1992]. Das OSI-Referenzmodell wurdeübernommen, um die Entwicklung von Protokollstandards zu unterstützen, die denAnforderungen offener Systeme genügen sollten.

Die Aufgaben der einzelnen Schichten des OSI-Referenzmodells sind in Abbil-dung 3.5 zusammengefasst. Wie der Name schon sagt, handelt es sich dabei um einGerüst für die Definition von Protokollen und nicht um die Definition einer bestimm-ten Protokollfolge. Protokollfolgen, die konform zum OSI-Referenzmodell sind, müs-sen mindestens ein spezifisches Protokoll auf jeder der sieben im Modell definiertenEbenen bereitstellen.

Die Protokollschichtung bringt wesentliche Vorteile mit sich, weil sie die Soft-wareschnittstellen für den Zugriff auf die Kommunikationsdienste von Netzwerkenvereinfacht und verallgemeinert, bedeutet jedoch auch einen wesentlichen Leistungs-aufwand. Die Übermittlung einer Nachricht auf Applikationsebene über einen Proto-kollstapel mit N Schichten verursacht normalerweise N-mal die Übertragung derSteuerung an die relevante Softwareschicht in der Protokollfolge, von denen es sichbei mindestens einer um einen Betriebssystemeintritt handelt und bei denen NKopien der Daten als Teil des Einkapselungsmechanismus entgegengenommen wer-den. Dieser Aufwand resultiert in Datenübertragungsgeschwindigkeiten zwischenden Applikations-Prozessen, die viel geringer sind als die verfügbare Netzwerkband-breite.

Abbildung 3.5 beinhaltet Beispiele für im Internet verwendete Protokolle, aber dieImplementierung des Internets folgt dem OSI-Referenzmodell in zweierlei Hinsichtnicht. Erstens sind im Internet-Protokollstapel die Applikations-, Darstellungs- undSitzungsschichten nicht klar voneinander abgetrennt. Stattdessen sind die Applikati-

Abbildung 3.4 Protokollschichten im ISO OSI-Protokollmodell (Open Systems Interconnection)

Kapitel 3 – Netzwerke und Internetworking104

ons- und die Darstellungsschicht entweder als einzelne Middleware-Schicht oderseparat innerhalb jeder Applikation implementiert. CORBA implementiert also Inter-Objekt-Aufrufe und Datendarstellungen in einer Middleware-Bibliothek, die injedem Applikations-Prozess enthalten ist (weitere Informationen über CORBA findenSie in Kapitel 17). Webbrowser und andere Applikationen, für die sichere Kanäleerforderlich sind, verwenden auf ähnliche Weise die SSL (Secure Sockets Layer, Kapi-tel 7) als Prozedur-Bibliothek.

Zweitens, die Sitzungsschicht ist in die Transportschicht integriert. Internetwork-Protokollfolgen beinhalten eine Applikationsschicht (Anwendungsschicht/Verarbei-tungsschicht), eine Transportschicht und eine Internetwork-Schicht. Die Internetwork-Schicht ist eine „virtuelle“ Vermittlungsschicht, die dafür verantwortlich ist, Internet-work-Pakete an einen Zielcomputer zu übermitteln. Ein Internetwork-Paket ist die Ein-heit der über ein Internetwork übertragenen Daten.

Abbildung 3.5 Überblick über das OSI-Protokoll

Schicht Beschreibung Beispiele

Applikationsschicht Protokolle, die die Kommunikationsanforde-rungen bestimmter Applikationen erfüllen, häufig indem sie die Schnittstelle zu einem Dienst definieren

HTTP, FTP, SMTP, CORBA IIOP

Darstellungsschicht Protokolle auf dieser Ebene übermitteln Da-ten in einer Netzwerkdarstellung, die unab-hängig von den in den einzelnen Computern verwendeten Darstellungen ist, die sich un-terscheiden können. Auch die Verschlüsse-lung wird, falls angewendet, auf dieser Ebene durchgeführt.

SSL (Secure Sockets), CORBA, Daten-darstellung

Sitzungsschicht Auf dieser Schicht werden Zuverlässigkeit und Anpassung realisiert, beispielsweise die Fehlererkennung und die automatische Wiederherstellung.

Transportschicht Dies ist die niederste Schicht, auf der Nach-richten (und keine Pakete) verarbeitet wer-den. Nachrichten werden an die den Prozessen zugeordneten Kommunikations-ports adressiert. Protokolle dieser Schicht können verbindungsorientiert oder verbin-dungslos sein.

TCP, UDP

Vermittlungs-schicht

Überträgt Datenpakete zwischen Compu-tern in einem bestimmten Netzwerk. In ei-nem WAN oder einem Internetwork beinhaltet dies auch das Erstellen einer Route, die durch die verschiedenen Router führt. In einem einzelnen LAN ist kein Rou-ting erforderlich.

IP, ATM, virtuelle Schaltungen

3.3 Netzwerkgrundlagen 105

Internetwork-Protokolle setzen auf zu Grunde liegenden Netzwerken auf, wie inAbbildung 3.6 gezeigt. Die Vermittlungsschnittstellenschicht nimmt Internetwork-Pakete entgegen und wandelt sie in Pakete um, die für die Übertragung durch dieVermittlungsschichten der zu Grunde liegenden Netzwerke geeignet sind.

Paketzusammensetzung Die Aufgabe, Nachrichten vor der Übertragung inPakete zu zerlegen und sie auf dem empfangenden Computer wieder zusammenzu-setzen, erfolgt normalerweise auf der Transportschicht.

Die Pakete auf der Vermittlungsschicht bestehen aus einem Header und einemDatenfeld. In den meisten Netzwerk-Technologien hat das Datenfeld eine variableLänge, weist jedoch eine Größenbegrenzung auf, die so genannte MTU (MaximumTransfer Unit). Überschreitet die Länge einer Nachricht die MTU der zu Grunde lie-genden Vermittlungsschicht, muss sie in Abschnitte geeigneter Größe unterteilt wer-den, wobei Folgenummern vergeben werden müssen, die beim Zusammensetzen derAbschnitte benötigt werden und dann in mehreren Paketen übertragen werden. DieMTU für Ethernets beispielsweise beträgt 1.500 Byte – in einem einzelnen Ethernet-Paket können nicht mehr Daten übertragen werden.

Obwohl das IP-Protokoll in der Internet-Protokollfolge an der Position eines Ver-mittlungsschicht-Protokolls steht, ist seine MTU mit 64 Kbyte unüblich groß (in derPraxis werden häufig acht Kbyte verwendet, weil einige Knoten nicht in der Lagesind, so große Pakete zu verarbeiten). Egal welcher MTU-Wert für IP-Pakete verwen-det wird, es können Pakete vorkommen, die größer als die Ethernet-MTU sind unddie für die Übertragung über Ethernets unterteilt werden müssen.

Ports Die Aufgabe der Transportschicht ist, einen vom Netzwerk unabhängigenNachrichtentransportdienst zwischen Paaren von Netzwerk-Ports zu schaffen. Portssind über die Software definierbare Zielpunkte für die Kommunikation innerhalbeines Host-Computers. Ports sind Prozessen zugeordnet und ermöglichen diesen, inPaaren zu kommunizieren. Die jeweiligen Details der Port-Abstraktion können vari-

Sicherungsschicht Verantwortlich für die Übertragung von Pa-keten zwischen Knoten, die direkt über eine Übertragungsschicht verbunden sind. In ei-ner WAN-Übertragung erfolgt die Übertra-gung zwischen Router-Paaren oder zwischen Routern und Hosts. In einem LAN erfolgt sie zwischen einem beliebigen Paar von Hosts.

Ethernet MAC, ATM-Zellenübertragung, PPP

Bitübertragungs-schicht

Die Verbindungen und die Hardware, die das Netzwerk steuern. Sie überträgt Folgen binärer Daten durch analoge Signale, wobei die Amplituden- oder Frequenzmodulation elektrischer Signale (auf Kabelverbindun-gen), von Lichtsignalen (auf Glasfaserver-bindungen) oder anderer elektromagnetischer Signale (auf Funk- und Mikrowellenverbindungen) genutzt wird.

Ethernet-Basisband-Signale, ISDN

Abbildung 3.5 Überblick über das OSI-Protokoll

Schicht Beschreibung Beispiele

Kapitel 3 – Netzwerke und Internetworking106

iert werden, um zusätzliche praktische Eigenschaften bereitzustellen. Hier werdenwir die Adressierung der Ports beschreiben, wie sie im Internet und den meistenanderen Netzwerken gehandhabt wird. Kapitel 4 beschreibt die Verwendung derPorts.

Adressierung Die Transportschicht ist dafür verantwortlich, Nachrichten an ihreZiele auszuliefern, wofür Transportadressen verwendet werden, die sich aus derNetzwerkadresse eines Host-Computers und einer Port-Nummer zusammensetzen.Eine Netzwerkadresse ist eine numerische ID, die einen Host-Computer eindeutigidentifiziert und ermöglicht, dass er von Knoten gefunden wird, die für das Routingvon Daten an ihn verantwortlich sind. Im Internet wird jedem Host-Computer eineIP-Adresse zugeordnet, die ihn identifiziert, ebenso wie das Teilnetz, an das er ange-schlossen ist, sodass Daten von jedem anderen Knoten dorthin geroutet werden kön-nen, wie in den nachfolgenden Abschnitten beschrieben. In Ethernets gibt es keineRouting-Knoten; jeder Host ist selbst dafür verantwortlich, die an ihn adressiertenPakete zu erkennen und zu akzeptieren.

Im Internet sind jedem Host-Computer normalerweise mehrere Ports mit bekann-ten Nummern zugeordnet, die jeweils für bestimmte Internetdienste reserviert sindwie beispielsweise HTTP oder FTP. Die bekannte Port-Nummer sowie die Dienstdefi-nition sind bei einer zentralen Aufsichtsorganisation registriert [www.iana.org]. Umauf einen Dienst auf einem bestimmten Host zugreifen zu können, wird eine Anfor-derung an den relevanten Port auf dem Host geschickt. Einige Dienste wie beispiels-weise FTP reservieren dann einen neuen Port (mit einer privaten Nummer) und sen-den die Nummer des neuen Ports an den Client. Der Client nutzt den neuen Port zurEinrichtung einer TCP-Verbindung, die für die restliche Transaktion oder Sitzungverwendet wird. Andere Dienste, beispielsweise HTTP, führen ihre gesamten Aufga-ben über den bekannten Port aus.

Port-Nummern über 1023 stehen für den allgemeinen Gebrauch zur Verfügung,wie beispielsweise durch neue Dienste oder durch Client-Prozesse, die Ports reservie-ren müssen, auf denen sie Ergebnisnachrichten von Servern entgegennehmen. Ein

Abbildung 3.6 Internetwork-Schichten

3.3 Netzwerkgrundlagen 107

verteiltes System hat im Allgemeinen eine Vielzahl an Servern, die ständig wechseltund sich auch für einzelne Unternehmen unterscheidet. Offensichtlich ist es nichtmöglich, feste Hosts oder feste Port-Nummern für diese Dienste zu reservieren. DieLösung für das Problem, wie Clients beliebige Server in einem verteilten System fin-den, wird in Kapitel 5 beschrieben.

Paketauslieferung Für die Auslieferung von Paketen durch die Vermittlungs-schicht gibt es zwei Ansätze:

Datagramm-Paketauslieferung: Der Begriff „Datagramm“ bezieht sich auf die Ähn-lichkeit dieses Auslieferungsmodus mit der Art und Weise, wie Briefe und Tele-gramme ausgeliefert werden. Das wesentliche Funktionsmerkmal von Data-gramm-Netzwerken ist, dass die Auslieferung jedes Pakets in einem separatenProzess erfolgt; es ist kein Setup erforderlich und nachdem das Paket ausgeliefertist, behält das Netzwerk keine Informationen darüber zurück. In einem Data-gramm-Netzwerk kann eine Paketfolge, die von einem bestimmten Host an eineinzelnes Ziel übertragen wird, über unterschiedliche Routen laufen (wenn dasNetzwerk beispielsweise in der Lage ist, Fehler zu verarbeiten oder die Auswir-kungen lokaler Überlasten zu kompensieren). Wenn dies passiert, treffen sie mög-licherweise nicht in der richtigen Reihenfolge ein.

Jedes Datagramm-Paket enthält die vollständige Netzwerkadresse der Quell-und Ziel-Hosts; bei dem letztgenannten handelt es sich um einen wichtigen Para-meter für den Routing-Prozess, wie wir im nächsten Abschnitt noch beschreibenwerden. Die Datagramm-Auslieferung ist das Konzept, auf dem die Paketnetz-werke ursprünglich basierten und man findet es in den meisten der heute ver-wendeten Computernetzwerke. Die Vermittlungsschicht des Internets – IP –, dasEthernet sowie die meisten verkabelten und funkbasierten lokalen Netzwerk-Technologien basieren auf der Datagramm-Auslieferung.

Paketauslieferung über virtuelle Verbindungen: Einige Dienste auf Netzwerkebeneimplementieren eine Paketübermittlung, die mit einem Telefonnetzwerk vergli-chen werden kann. Bevor Pakete von einem Quell-Host A zu einem Ziel-Host Bübertragen werden können, muss eine virtuelle Verbindung eingerichtet werden.Die Einrichtung einer virtuellen Verbindung bedingt, dass eine Route von derQuelle zum Ziel identifiziert wird, die möglicherweise durch mehrere Zwischen-knoten führt. In jedem Knoten entlang der Route erfolgt ein Tabelleneintrag, derangibt, welche Verbindung für die nächste Phase der Route genutzt werden soll.

Nachdem eine virtuelle Verbindung eingerichtet wurde, kann sie genutzt wer-den, um beliebig viele Pakete zu übertragen. Jedes Paket auf der Vermittlungs-schicht enthält nur die Nummer einer virtuellen Verbindung anstelle der Quell-und Zieladressen. Die Adressen werden nicht benötigt, weil die Pakete auf denZwischenknoten anhand der Nummer ihrer virtuellen Verbindung weitergeleitetwerden. Erreicht ein Paket sein Ziel, kann die Quelle aus der Nummer der virtuel-len Verbindung ermittelt werden.

Die Analogie zu den Telefonnetzwerken sollte nicht zu wörtlich genommenwerden. Bei POTS führt ein Telefonanruf zur Einrichtung einer physischen Ver-bindung vom Anrufer zum Angerufenen und die Sprachverbindungen, ausdenen sie sich zusammensetzt, wird für ihre exklusive Nutzung reserviert. Bei derAuslieferung über eine virtuelle Verbindung werden die Verbindungen nur durchTabelleneinträge in den Routing-Knoten dargestellt und die Verbindungen, überdie die Pakete weitergeleitet werden, werden nur solange belegt, wie es dauert,

Kapitel 3 – Netzwerke und Internetworking108

um ein Paket zu übertragen; in der restlichen Zeit stehen sie für beliebige andereZwecke zur Verfügung. Eine einzelne Verbindung kann also in vielen separatenvirtuellen Verbindungen genutzt werden. Die wichtigste Netzwerk-Technologiemit virtuellen Verbindungen ist momentan ATM; wir haben bereits erwähnt(Abschnitt 3.3.3), dass sie von den geringeren Latenzen für die Übertragung dereinzelnen Pakete profitiert; dies ist ein direktes Resultat der Verwendung virtuel-ler Verbindungen. Die Notwendigkeit einer Setup-Phase führt jedoch zu einerkurzen Verzögerung, bevor irgendwelche Pakete an ein neues Ziel geschickt wer-den können.

Die Unterscheidung zwischen Datagramm-Auslieferung und Paketauslieferung übervirtuelle Verbindungen sollte nicht mit einem ähnlichen Mechanismenpaar auf derTransportebene verwechselt werden – verbindungslose und verbindungsorientierteÜbertragung. Darauf werden wir in Abschnitt 3.4.6 im Kontext der Internet-Trans-port-Protokolle eingehen, UDP (User Datagram Protocol, verbindungslos) und TCP(Transmission Control Protocol, verbindungsorientiert). Hier soll nur erwähnt wer-den, dass diese Übertragungsmodi über jeden Typ Netzwerkschicht implementiertwerden können.

3.3.5 RoutingRouting ist ein Funktionsmerkmal, das in allen Netzwerken benötigt wird, außer inLANs wie beispielsweise dem Ethernet, die direkte Verbindungen zwischen allenPaaren angeschlossener Hosts bereitstellen. In großen Netzwerken wird ein adaptivesRouting verwendet: in bestimmten Zeitabständen wird die beste Route für die Kom-munikation zwischen zwei Punkten im Netzwerk überprüft, wobei der aktuelle Ver-kehr im Netzwerk sowie etwaige Fehler wie beispielsweise defekte Verbindungenoder Router berücksichtigt werden.

Abbildung 3.7 Routing in einem WAN

3.3 Netzwerkgrundlagen 109

Die Auslieferung von Paketen an ihre Ziele in einem Netzwerk, wie beispielsweise inAbbildung 3.7 gezeigt, liegt in der kollektiven Verantwortung der Router an den Ver-bindungspunkten. Befinden sich Quell- und Ziel-Host nicht im selben LAN, mussdas Paket in einer Abfolge mehrerer hops (1 hop = 1 „Sprung“ von einem Knoten zueinem anderen) übertragen werden und dabei mehrere Router-Knoten durchlaufen.Die Festlegung von Routen für die Übertragung von Paketen an ihr Ziel unterliegtder Verantwortung eines Routing-Algorithmus – implementiert durch ein Programmauf der Vermittlungsschicht jedes Knotens.

Ein Routing-Algorithmus besteht aus zwei Teilen:

1. Er muss Entscheidungen treffen, um die Route zu bestimmen, über die die einzel-nen Pakete das Netzwerk durchlaufen sollen. In leitungsvermittelten Vermitt-lungsschichten, beispielsweise X.25- oder Frame-Relay-Netzwerken wie ATM,wird die Route festgelegt, wenn eine virtuelle Verbindung oder eine Verbindungeingerichtet wird. In paketvermittelten Vermittlungsschichten, beispielsweise IP,wird sie für jedes Paket separat ermittelt und der Algorithmus muss besonderseinfach und effizient sein, wenn er die Netzwerkleistung nicht verschlechtern soll.

2. Er muss sein Wissen über das Netzwerk ständig aktualisieren, indem er den Ver-kehr beobachtet und Konfigurationsänderungen oder Fehler erkennt. Diese Akti-vität ist weniger zeitkritisch; hier können langsamere und weniger recheninten-sive Techniken verwendet werden.

Abbildung 3.8 Routing-Tabellen für das in Abbildung 3.7 gezeigte Netzwerk

Routings von A

An Verbindung Kosten

A Lokal 0

B 1 1

C 1 2

D 3 1

E 1 2

Routings von B

An Verbindung Kosten

A 1 1

B Lokal 0

C 2 1

D 1 2

E 4 1➔

Kapitel 3 – Netzwerke und Internetworking110

Beide Aktivitäten sind über das Netzwerk verteilt. Die Routing-Entscheidungen wer-den auf einer hop-by-hop-Basis getroffen, wobei lokal vorgehaltene Informationengenutzt werden, um den nächsten hop für jedes eingehende Paket, welches weiterge-reicht werden soll, zu ermitteln. Die lokal vorgehaltene Routing-Information wird inbestimmten Zeitabständen durch einen Algorithmus aktualisiert, der Informationenüber die Zustände der Verbindungen verteilt (ihre Auslastung sowie den Fehlerzu-stand).

Abbildung 3.8 Routing-Tabellen für das in Abbildung 3.7 gezeigte Netzwerk

Routings von C

An Verbindung Kosten

A 2 2

B 2 1

C Lokal 0

D 5 2

E 5 1

Routings von D

An Verbindung Kosten

A 3 1

B 3 2

C 6 2

D Lokal 0

E 6 1

Routings von E

An Verbindung Kosten

A 4 2

B 4 1

C 5 1

D 6 1

E Lokal 0

3.3 Netzwerkgrundlagen 111

Unsere Darstellung beginnt mit einer Beschreibung eines relativ einfachen Routing-Algorithmus. Dies bildet die Grundlage für die Beschreibung in Abschnitt 3.4.3 desVerbindungszustand-Algorithmus (Link State Algorithm), der seit 1979 als Haupt-Routing-Algorithmus im Internet verwendet wird. Der Algorithmus, den wir hierbeschreiben, ist ein „Distanzvektor“-Algorithmus. Routing in Netzwerken ist ein Bei-spiel für das Problem, Pfade in Graphen zu finden. Der Algorithmus zum Auffindender kürzesten Pfade von Bellman, der lange vor der Entwicklung von Computernetz-werken veröffentlicht wurde [Bellman 1957], bildet die Grundlage für die Distanz-vektor-Methode. Die Methode von Bellman wurde von Ford und Fulkerson [1962] ineinen verteilten Algorithmus umgewandelt, der für die Implementierung in großenNetzwerken geeignet ist und Protokolle, die auf ihrer Arbeit aufsetzen, werden häu-fig auch als „Bellman-Ford“-Protokolle bezeichnet.

Er muss sein Wissen über das Netzwerk ständig aktualisieren, indem er den Ver-kehr beobachtet und Konfigurationsänderungen oder Fehler erkennt. Diese Aktivitätist weniger zeitkritisch; hier können langsamere und weniger rechenintensive Techni-ken verwendet werden. zeigt die Routing-Tabellen, die in den Routern aus Abbil-dung 3.7 verwaltet werden, vorausgesetzt, in dem Netzwerk gibt es keine defekten Ver-bindungen oder Router. Jede Zeile stellt die Routing-Informationen für Pakete bereit,die an ein bestimmtes Ziel adressiert sind. Das Feld Verbindung gibt die ausgehendeVerbindung für Pakete an, die an dieses Ziel adressiert sind. Das Feld Kosten enthälteine einfache Berechnung der Vektordistanz, d.h. die Anzahl der hops zu dem vorgege-benen Ziel. Für Speicher- und Verarbeitungsnetzwerke mit Verbindungen ähnlicherBandbreite erhält man damit eine sinnvolle Abschätzung der Zeit, die ein Paket benö-tigt, um sein Ziel zu erreichen. Die in den Routing-Tabellen gespeicherte Kosteninfor-mation wird während der in Teil 1 des Routing-Algorithmus ausgeführten Aktionenzum Paket-Routing nicht verwendet, ist aber für den Aufbau der Routing-Tabellesowie für ihre Wartung in Schritt 2 erforderlich.

Die Routing-Tabellen enthalten für jedes mögliche Ziel einen einzigen Eintrag, derden nächsten hop angibt, den das Paket in Richtung seines Zieles durchführen muss.

Ist beispielsweise ein Paket an C adressiert und gelangt auf den Router von A,wertet der Router den Eintrag für C in seiner Routing-Tabelle aus. Dieser Eintragzeigt, dass das Paket von A aus über die Verbindung 1 weitergeleitet werden soll.Das Paket kommt bei B an und auch hier wird die Routing-Tabelle ausgewertet,woraus sich ergibt, dass die Route nach C über die Verbindung 2 führt. Kommt dasPaket in C an, enthält die Routing-Tabelle statt einer Verbindungsnummer den Ein-trag „lokal“. Daran erkennen wir, dass das Paket an einen lokalen Host ausgeliefertwerden soll.

Jetzt wollen wir betrachten, wie die Routing-Tabellen aufgebaut sind und wie siegewartet werden, wenn im Netzwerk Fehler auftreten. Wir betrachten also, wie Teil 2des oben beschriebenen Routing-Algorithmus ausgeführt wird. Weil jede Routing-Tabelle nur einen einzigen hop für jede Route angibt, nämlich den nächsten hop,kann der Aufbau oder die Korrektur der Routing-Informationen auf verteilte Weisestattfinden. Ein Router tauscht Informationen über das Netzwerk mit seinen benach-barten Knoten aus, indem er ihnen unter Verwendung eines RIP (Router InformationProtocol) einen Überblick über seine Routing-Tabelle schickt. Die RIP-Aktionen aufeinem Router können formlos wie folgt beschrieben werden:

1. In bestimmten Zeitabständen und immer dann, wenn sich die lokale Routing-Tabelleändert, wird die Tabelle (in Überblicksform) an alle erreichbaren Nachbarn

Kapitel 3 – Netzwerke und Internetworking112

geschickt. Das bedeutet, es wird ein RIP-Paket geschickt, das eine Kopie derTabelle mit allen nicht fehlerhaften ausgehenden Verbindungen enthält.

2. Wird eine Tabelle von einem benachbarten Router empfangen und die empfangeneTabelle zeigt eine Route zu einem neuen Ziel auf oder eine bessere (billigere)Route zu einem bereits existierenden Ziel, wird die lokale Tabelle mit der neuenRoute aktualisiert. Wurde die Tabelle über Verbindung n empfangen und gibt füreine Route, die mit der Verbindung n beginnt, andere Kosten als die lokale Tabellean, werden die Kosten der lokalen Tabelle durch die neuen Kosten ersetzt. Daserfolgt, weil die neue Tabelle von einem Router empfangen wurde, der näher andem relevanten Ziel liegt und der deshalb immer die aktuelleren Informationenüber die zu durchlaufenden Routen enthält.

Dieser Algorithmus ist genauer in dem in Abbildung 3.9 gezeigten Pseudocodebeschrieben, wo Tr eine Tabelle ist, die von einem anderen Router empfangen wurde,und Tl ist die lokale Tabelle. Ford und Fulkerson [1962] haben gezeigt, dass die obenbeschriebenen Schritte ausreichend sind, um sicherzustellen, dass die Routing-Tabel-len die besten Routen zu jedem Ziel erkennen („konvergieren“), nachdem es Ände-rungen im Netzwerk gegeben hat. Die Frequenz t, mit der Routing-Tabellen veröf-fentlicht werden, auch wenn keine Änderungen aufgetreten sind, ist so ausgelegt,dass auch dann Stabilität gewährleistet ist, wenn beispielsweise einige RIP-Paketeverloren gehen. Im Internet wird für t der Wert 30 Sekunden angenommen.

Um mit Fehlern zurechtzukommen, beobachtet jeder Router seine Verbindungen undverhält sich wie folgt:

Wird eine fehlerhafte Verbindung n erkannt, werden die Kosten für alle Einträge inder lokalen Tabelle, die auf die fehlerhafte Verbindung verweisen, auf ∞ gesetztund es wird eine Send-Aktion ausgeführt.

Abbildung 3.9 Pseudocode für den RIP-Routing-Algorithmus

fehlerhaften

3.3 Netzwerkgrundlagen 113

Die Information, dass die Verbindung defekt ist, wird also durch einen unendlichenWert für die Kosten zu den betreffenden Zielen dargestellt. Wird diese Information anbenachbarte Knoten weitergegeben, wird sie der Receive-Aktion entsprechend verar-beitet (Knoten ∞+1 = ∞) und dann weitergereicht, bis ein Knoten erreicht ist, der einefunktionierende Route zu den relevanten Zielen aufweist, falls es einen solchen gibt.Der Knoten, der noch eine funktionierende Route aufweist, übermittelt irgendwannseine eigene Tabelle und die funktionierende Route ersetzt die fehlerhafte Route aufallen Knoten.

Der Vektordistanz-Algorithmus kann vielfach verbessert werden: Kosten (auchals die Metrik bezeichnet) können anhand der tatsächlichen Bandbreiten der Verbin-dungen berechnet werden; der Algorithmus kann so abgeändert werden, dass erschneller konvergiert und unerwünschte Zwischenzustände vermeidet wie beispiels-weise Schleifen, die auftreten können, bevor eine Konvergenz erreicht ist. Ein Rou-ting-Informations-Protokoll (RIP) mit diesen Verbesserungen war das erste im Inter-net verwendete Routing-Protokoll, auch als RIP-1 bezeichnet und in RFC 1058beschrieben [Hedrick 1988].

Nachfolgende Entwicklungen im Bereich der Routing-Algorithmen führten dazu,dass in jedem Knoten des Netzwerks mehr Wissen abgelegt wurde. Die wichtigsteAlgorithmenfamilie dieses Typs wird auch als Verbindungszustand-Algorithmenoder Link-State-Algorithms bezeichnet. Sie basieren auf der Verteilung und Aktuali-sierung einer Datenbank in jedem Knoten, die das gesamte oder einen wesentlichenTeil des Netzwerks darstellt. Jeder Knoten ist verantwortlich für die Berechnung opti-maler Routen zu den in seiner Datenbank aufgezeigten Zielen. Diese Berechnungkann von den unterschiedlichsten Algorithmen ausgeführt werden, von denen einigebekannte Probleme des Ballman-Ford-Algorithmus vermeiden, beispielsweise lang-same Konvergenz und unerwünschte Zwischenzustände.

Der Entwurf von Routing-Algorithmen ist ein wichtiges Thema und unsereBeschreibung erhebt keinen Anspruch auf Vollständigkeit. Eine ausführlicheBeschreibung des Routings im Internet finden Sie bei [Huitema 1995]. Weitere allge-meine Informationen zu Routing-Algorithmen finden Sie bei [Tanenbaum 1996].

3.3.6 ÜberlastungskontrolleDie Kapazität eines Netzwerks ist durch die Leistung seiner Kommunikationsverbin-dungen und Switching-Knoten begrenzt. Nähert sich die Last auf einer bestimmtenVerbindung oder einem Knoten seiner Gesamtkapazität, bilden sich Warteschlangenauf den Hosts, die versuchen, Pakete zu senden, ebenso wie auf Zwischenknoten;diese Warteschlangen enthalten Pakte, deren Weiterleitung durch anderen Verkehrblockiert ist. Bleibt die Auslastung gleich hoch, wachsen die Warteschlangen, bis siedie Grenze des verfügbaren Pufferspeichers erreicht haben.

Nachdem dieser Zustand an einem Knoten erreicht wurde, hat der Knoten keineandere Möglichkeit, als alle weiteren ankommenden Pakete zu verwerfen. Wie wirbereits erwähnt haben, ist der gelegentliche Verlust von Paketen auf Netzwerkebeneakzeptabel und kann kompensiert werden, indem man auf höheren Schichten eineerneute Übertragung initiiert. Erreicht die Verlustrate der Pakete jedoch einebestimmte Schwelle, kann die Auswirkung auf den Durchsatz des Netzwerks verhee-rend sein. Und das ist ganz leicht zu erkennen: werden Pakete auf Zwischenknotenverworfen, sind die Netzwerk-Ressourcen, die sie bereits verbraucht haben, vergeu-det und für die resultierende erneute Übertragung ist eine ähnliche Menge an Res-

Kapitel 3 – Netzwerke und Internetworking114

sourcen erforderlich, um denselben Punkt im Netzwerk zu erreichen. Als Faustregelgilt: wenn die Auslastung eines Netzwerks 80% seiner Kapazität übersteigt, sinkt derGesamtdurchsatz auf Grund von Paketverlusten, es sei denn, die Verwendung hochausgelasteter Verbindungen wird gesteuert.

Statt den Paketen zu ermöglichen, einfach durch das Netzwerk zu reisen, bis sieüberfüllte Knoten erreichen, wo sie verworfen werden müssen, ist es besser, sie anfrüheren Knoten zurückzuhalten, bis die Überlastung wieder reduziert ist. Das führtzu höheren Verzögerungen für Pakete, aber verringert den Gesamtdurchsatz desNetzwerks nur unwesentlich. Die Techniken, mit denen dies realisiert wird, werdenauch als Überlastkontrolle bezeichnet.

Im Allgemeinen wird die Überlastkontrolle erzielt, indem Knoten entlang einerRoute informiert werden, für die eine Überlast aufgetreten ist, und ihre Paketübertra-gungsrate sollte deshalb reduziert werden. Für Zwischenknoten führt dies dazu, dassankommende Pakete für längere Zeit gepuffert werden. Für Hosts, die als Quelle vonPaketen auftreten, bedeutet das, dass sie Pakete möglicherweise vor der Übertragungpuffern oder den Applikations-Prozess, der sie erzeugt, blockieren müssen, bis dasNetzwerk in der Lage ist, sie zu verarbeiten.

Alle datagramm-basierten Netzwerkschichten inklusive IP und Ethernets basie-ren auf die Ende-zu-Ende-Steuerung des Verkehrs. Das bedeutet, der sendende Kno-ten muss abhängig von den Informationen, die er vom Empfänger erhält, die Über-tragungsrate für Pakete reduzieren. Überlastinformationen können den sendendenKnoten bereitgestellt werden, indem dafür explizite Nachrichten (so genannteChoke-Pakete) übertragen werden oder durch die Implementierung eines speziellenÜbertragungssteuerungs-Protokolls (Transmission Control Protocol, wovon auchTCP seinen Namen ableitet; Abschnitt 3.4.6 erklärt die in TCP verwendeten Mecha-nismen) oder durch Beobachtung des Auftretens verworfener Pakete (falls das Proto-koll jedes Paket bestätigt).

In einigen virtuellen schaltungsvermittelten Netzwerken kann die Überlastinfor-mation auf jedem Knoten entgegengenommen und entsprechend darauf reagiertwerden. Obwohl ATM eine Auslieferung über virtuelle Verbindungen verwendet,verlässt es sich auf die Dienstgüte-Verwaltung (siehe Abschnitt 3.5.3 und Kapitel 5),um sicherzustellen, dass jede Verbindung den anfallenden Verkehr bewältigen kann.

3.3.7 InternetworkingEs gibt viele Netzwerk-Technologien mit unterschiedlichen Netzwerk- und Verbin-dungs-Protokollen sowie Protokollen für die Bitübertragungsschicht. Lokale Netz-werke werden mit Ethernet- und ATM-Technologien aufgebaut, WAN-Netzwerkeüber analoge und digitale Telefonnetzwerke verschiedener Arten, Satellitenverbin-dungen und Weitverkehrs-ATM-Netzwerke. Einzelne Computer und lokale Netz-werke werden über Modems, ISDN-Verbindungen oder DSL-Verbindungen mit demInternet oder Intranets verbunden.

Um ein integriertes Netzwerk (ein Internetwork) aufzubauen, müssen viele Teil-netze integriert werden, die jeweils auf einer dieser Netzwerk-Technologien basieren.Damit das möglich ist, müssen die folgenden Voraussetzungen gegeben sein:

1. Ein vereinheitlichtes Internetwork-Adressierungsschema, das ermöglicht, Paketean jeden an beliebige Teilnetze angeschlossenen Host zu adressieren

3.3 Netzwerkgrundlagen 115

2. Ein Protokoll, das das Format von Internetwork-Paketen definiert und Regeln zuihrer Handhabung vorschreibt

3. Verbindende Komponenten, die Pakete an ihre Ziele weiterleiten, indem sie ihreInternetwork-Adressen auswerten und die Pakete über Teilnetze mit möglicher-weise unterschiedlichen Netzwerk-Technologien weiterleiten

Für das Internet wird (1) durch IP-Adressen realisiert, (2) ist das IP-Protokoll und (3)wird durch Komponenten realisiert, die auch als Internet-Router bezeichnet werden.Das IP-Protokoll und die IP-Adressierung werden in Abschnitt 3.4 detailliertbeschrieben. Hier werden wir die Funktion von Internet-Routern und anderen Kom-ponenten, mit denen Netzwerke verbunden werden, beschreiben.

Abbildung 3.10 zeigt einen kleinen Teil des Intranets des Queen Mary and West-field College (QMW) der Universität von London. Viele der hier gezeigten Detailswerden in späteren Abschnitten genauer erklärt. Hier wollen wir darauf hinweisen,dass der in der Abbildung gezeigte Teil mehrere Teilnetze beinhaltet, die über Routermiteinander verbunden sind. Die Teilnetze sind grau markiert; es gibt fünf solcherTeilnetze, von denen drei dasselbe IP-Netzwerk verwenden, 138.37.95 (wozu das inAbschnitt 3.4.3 beschriebene Interdomain-Routingschema verwendet wird). Dienumerischen Adressen sind IP-Adressen und werden nachfolgend beschrieben. DieRouter liegen innerhalb mehrerer Teilnetze und haben für jedes Teilnetz, an das sieangeschlossen sind, eine separate IP-Adresse (die Adressen sind neben den Verbin-dungen gezeigt).

Die Router (Host-Namen: hammer und sickle) sind ganz allgemeine Computer, dieauch für andere Aufgaben genutzt werden. Einer davon dient als Firewall; die Rolleeiner Firewall ist eng mit dem Routing verknüpft, wie wir im Folgenden nochbeschreiben werden. Das Teilnetz 138.37.95.232/29 ist nicht mit dem restlichen Netz-werk auf IP-Ebene verbunden. Nur der Datei-Server custard kann darauf zugreifen,um über einen Server-Prozess, der die Verwendung der Drucker überwacht und steu-ert, einen Druckdienst auf den angeschlossenen Druckern bereitzustellen.

Alle in Abbildung 3.10 gezeigten Verbindungen sind Ethernets. Die meistendavon haben eine Bandbreite von 100 Mbps, aber eines davon unterstützt 1.000Mbps, weil es sehr viel Verkehr zwischen sehr vielen Computern überträgt, die vonStudenten und custard, dem Datei-Server, der alle ihre Daten enthält, verwendetwird.

Es gibt zwei Ethernet-Switches und mehrere Ethernet-Hubs in dem gezeigten Teildes Netzwerks. Beide Komponententypen sind transparent für IP-Pakete. Ein Ether-net-Hub stellt einfach eine Möglichkeit dar, mehrere Ethernet-Kabelsegmente zu ver-binden, die dann auf Ebene des Netzwerk-Protokolls ein einziges Ethernet bilden.Alle von dem Host empfangenen Ethernet-Pakete können an alle Segmente weiterge-geben werden. Ein Ethernet-Switch verbindet mehrere Ethernets miteinander undleitet die eingehenden Pakete nur in das Ethernet weiter, an das der Ziel-Host ange-schlossen ist.

Router Wir haben bereits erwähnt, dass in allen Netzwerken ein Routing erfor-derlich ist, außer beispielsweise in Ethernets und Funknetzwerken, in denen alleHosts über ein einziges Übertragungsmedium miteinander verbunden sind. Abbil-dung 3.7 zeigt ein solches Netzwerk, in dem fünf Router durch sechs Verbindungenverknüpft sind. In einem Internetwork können die Router über direkte Verbindungenverknüpft sein, wie in Abbildung 3.7 gezeigt, oder sie können durch Teilnetze mitein-ander verbunden sein, wie in Abbildung 3.10 für custard gezeigt. In beiden Fällen

Kapitel 3 – Netzwerke und Internetworking116

sind die Router dafür verantwortlich, die die an irgendeiner Verbindung ankommen-den Internetwork-Pakete an die korrekt ausgehende Verbindung weiterzuleiten, wieoben bereits erklärt; für diesen Zweck führen sie Routing-Tabellen.

Bridges Bridges verbinden Netzwerke unterschiedlicher Typen miteinander.Einige Bridges verknüpfen mehrere Netzwerke und werden als Bridge/Routerbezeichnet, weil sie auch Routing-Aufgaben übernehmen. Das Campus-Netzwerk inQMW beispielsweise enthält einen FDDI-Backbone (in Abbildung 3.10 nicht gezeigt),der über Bridge/Router mit den in der Abbildung gezeigten Ethernet-Teilnetzen ver-bunden ist.

Hubs Hubs sind einfach eine bequeme Möglichkeit, Hosts und erweiternde Seg-mente von Ethernet- und anderen lokalen Broadcast-Netzwerk-Technologien zu ver-binden. Sie haben mehrere Sokkets (normalerweise zwischen vier und 64), an die jeein Host-Computer angeschlossen werden kann. Außerdem können sie eingesetztwerden, um Distanzbeschränkungen in einzelnen Segmenten zu umgehen und eineMöglichkeit zu bieten, zusätzliche Hosts bereitzustellen.

Abbildung 3.10 Vereinfachte Ansicht des Netzwerks am Lehrstuhl für Informatik des QMW

3.3 Netzwerkgrundlagen 117

Switches Switches übernehmen ähnliche Aufgaben wie Router, allerdings nur fürlokale (normalerweise Ethernet-) Netzwerke. Das bedeutet, sie verbinden mehrereseparate Ethernets und leiten ihre eingehenden Pakete an das entsprechende ausge-hende Netzwerk weiter. Sie erledigen ihre Aufgabe normalerweise auf Ebene desEthernet-Netzwerk-Protokolls. Sie beginnen ohne jede Kenntnis des umschließendenInternetworks und bauen durch die Beobachtung des Verkehrs Routing-Tabellen auf,ergänzt durch Broadcast-Anforderungen, wenn ihnen Informationen fehlen.

Der Vorteil, den Switches gegenüber Hubs aufweisen, ist, dass sie den eingehen-den Verkehr isolieren und nur an das relevante ausgehende Netzwerk weitergebenund damit die Last auf den anderen angeschlossenen Netzwerken reduzieren.

Tunnelling Brigdes und Router übertragen Internetwork-Pakete über die unter-schiedlichsten Netzwerke, aber es gibt eine Situation, in der das zu Grunde liegendeNetzwerk-Protokoll vor den darüber liegenden verborgen werden kann, ohne einspezielles Internetwork-Protokoll zu verwenden. Wenn zwei Knoten, die an zweiseparate Netzwerke angeschlossen sind, über einen anderen Netzwerktyp oder einfremdes Protokoll miteinander kommunizieren müssen, bauen sie dafür einen Proto-koll-„Tunnel“ auf. Abbildung 3.11 zeigt die vorgeschlagene Verwendung des Tunnel-lings zur Unterstützung der Migration des Internets auf das vor kurzem anerkannteIPv6-Protokoll. IPv6 soll die aktuell verwendete Version IPv4 ersetzen und ist nichtdamit kompatibel. (IPv4 und IPv6 sind in Abschnitt 3.4 beschrieben). Während desÜbergangs zu IPv6 wird es „Inseln“ mit IPv6-Netzwerken geben, die im IPv4-Meerarbeiten. In unserer Darstellung sind A und B solche Inseln. IPv6-Pakete sind in IPv4eingekapselt und werden auf diese Weise über die dazwischen liegenden IPv4-Netz-werke übertragen.

Ein Protokolltunnel ist also eine Softwareschicht, die Pakete über eine fremdeNetzwerkumgebung überträgt. Als weiteres Beispiel wäre MobileIP zu nennen, dasIP-Pakete an mobile Hosts im Internet überträgt, indem es von ihrem Standort auseinen Tunnel anlegt. Die dazwischen liegenden Netzwerkknoten müssen nicht verän-dert werden, um das MobileIP-Protokoll verarbeiten zu können. Das IP-Multicast-Protokoll wird auf ähnliche Weise unterstützt, wobei nur ein paar auf das IP-Multi-cast-Routing ausgelegte Router verwendet werden, um die Routen festzulegen, dieIP-Pakete jedoch unter Verwendung von Standard-IP-Adressen über andere Routerübertragen werden. Ein weiteres Beispiel ist das Point-to-Point-Protocol (PPP) für dieÜbertragung von IP-Paketen über serielle Verbindungen.

Abbildung 3.11 Tunnelling für die IPv6-Migration

Kapitel 3 – Netzwerke und Internetworking118

Die folgende Analogie erklärt, warum diese Terminologie gewählt wurde, und zeigt,wie man sich das Tunnelling noch vorstellen könnte. Ein Tunnel durch einen Bergerlaubt einen Straßenverlauf, über den Autos fahren können, der andernfalls unmög-lich wäre. Die Straße ist unterbrechungsfrei – der Tunnel ist transparent für die Appli-kation (die Autos). Die Straße ist der Transportmechanismus und der Tunnel ermög-licht, dass sie auch in einer sonst ungeeigneten Umgebung verlaufen kann.

3.4 Internet-ProtokolleHier beschreiben wir die wichtigsten Funktionsmerkmale der TCP/IP-Protokollfolgeund diskutieren ihre Vorteile und Einschränkungen bei der Verwendung in verteiltenSystemen.

Das Internet ist nach zwanzig Jahren Forschung und Entwicklung an einem WANin den USA entstanden, mit ersten Versuchen Anfang der 70er Jahre im ARPANET(Advanced Research Projects Agency Network) – der ersten größeren Entwicklungim Bereich der Computernetzwerke [Leiner et al. 1997]. Ein wichtiger Teil der For-schung war die Entwicklung der TCP/IP-Protokollfolge. TCP steht für TransmissionControl Protocol, IP für Internet Protocol. Die allgemeine Verbreitung von TCP/IPund den Internet-Applikations-Protokollen in nationalen Forschungsnetzwerken undvor kürzerer Zeit auch in kommerziellen Netzwerken vieler Länder hat ermöglicht,die nationalen Netzwerke zu einem einzigen großen Netzwerk zu integrieren, dasextrem schnell bis zu seiner heutigen Größe von mehr als 60 Millionen Hosts ange-wachsen ist. Es gibt heute viele Applikationsdienste und Protokolle auf Applikations-ebene (die in der nachfolgenden Liste in Klammern angegeben sind), die auf TCP/IPbasieren, unter anderem das Web (HTTP), E-Mail (SMTP, POP), netnews (NNTP),Dateiübertragung (FTP) und Telnet (telnet). TCP ist ein Transport-Protokoll; Applika-tionen können direkt davon unterstützt werden oder zusätzliche Protokolle daraufaufsetzen, um zusätzliche Funktionsmerkmale zu unterstützen. Beispielsweise wird

Abbildung 3.12 TCP/IP Schichten

3.4 Internet-Protokolle 119

HTTP normalerweise durch die direkte Verwendung von TCP unterstützt, aber wenneine Ende-zu-Ende-Sicherheit benötigt wird, wird das SSL-Protokoll (Secure SocketsLayer) (siehe Abschnitt 7.6.3) auf TCP aufgesetzt, um sichere Kanäle bereitzustellen;die HTTP-Nachrichten werden über die sicheren Kanäle übertragen.

Die Internet-Protokolle wurden ursprünglich primär für die Unterstützung vonWAN-Applikationen entwickelt wie beispielsweise Dateiübertragung und E-Mail,wobei die Kommunikation mit relativ großen Latenzen zwischen geografisch verteil-ten Computern stattfand. Es stellt sich jedoch heraus, dass sie effizient genug waren,um die Anforderungen vieler verteilter Applikationen sowohl in WANs als auch inLANs zu unterstützen, und heute werden sie in verteilten Systemen ganz allgemeineingesetzt. Die resultierende Standardisierung der Kommunikations-Protokolle hatwesentliche Vorteile mit sich gebracht. Die einzigen wichtigeren Ausnahmen bei derallgemeinen Verwendung der TCP/IP-Kommunikation sind:

õ der Einsatz von WAP für Funk-Applikationen auf portablen Geräten;

õ spezielle Protokolle für die Unterstützung von Multimedia-Streaming-Applika-tionen.

Die allgemeine Darstellung der Netzwerk-Protokollschichten in Abbildung 3.6wurde in Abbildung 3.12 in den speziellen Internet-Fall übersetzt. Es gibt zwei Trans-port-Protokolle – TCP (Transport Control Protocol) und UDP (User Datagram Proto-col). TCP ist ein zuverlässiges verbindungsorientiertes Protokoll; UDP ist ein Data-gramm-Protokoll, das keine zuverlässige Übertragung garantiert. Das InternetProtocol (IP) ist das zu Grunde liegende „Netzwerk“-Protokoll des virtuellen Inter-net-Netzwerks – d.h. IP-Datagramme stellen den grundlegenden Übertragungsme-chanismus für das Internet und andere TCP/IP-Netzwerke dar. Wir haben das Wort„Netzwerk“ im vorigen Satz in Anführungszeichen gestellt, weil es nicht die einzigeNetzwerkschicht ist, die an der Implementierung der Internetkommunikation betei-ligt ist. Internet-Protokolle setzen normalerweise auf einer anderen Netzwerk-Tech-nologie auf wie beispielsweise dem Ethernet, das bereits eine Netzwerkschicht bereit-stellt, die ermöglicht, dass die an ein Netzwerk angeschlossenen Computer Data-gramme austauschen. Abbildung 3.13 zeigt die Kapselung von Paketen, die bei derÜbertragung einer Nachricht via TCP über ein zu Grunde liegendes Ethernet stattfin-

Abbildung 3.13 Die Kapselung bei der Übertragung einer Nachricht via TCP über ein Ethernet

Kapitel 3 – Netzwerke und Internetworking120

det. Die Tags in den Headern enthalten den Protokolltyp für die darüber liegendeSchicht, die für den empfangenden Protokollstapel benötigt wird, um die Pakete kor-rekt zu entpacken. In der TCP-Schicht übernimmt die Port-Nummer des Empfängerseine ähnliche Aufgabe und ermöglicht der TCP-Software-Komponente auf dem emp-fangenden Host, die Nachricht an einen bestimmten Prozess auf Applikationsebeneweiterzugeben.

Die TCP/IP-Spezifikationen [Postel 1981a; 1981b] beziehen sich nicht auf dieSchichten unterhalb der Internet-Datagrammschicht – IP-Pakete in der Internet-schicht werden zur Übertragung über fast jede beliebige Kombination zu Grunde lie-gender Netzwerke oder Datenverbindungen in Pakete verpackt.

Beispielsweise wurde IP ursprünglich über das ARPANET ausgeführt, das aus Hostsund einer frühen Variante von Routern bestand (den so genannten PSEs), die durchDatenverbindungen über große Distanzen verbunden waren. Heute wird es über fastjede bekannte Netzwerk-Technologie ausgeführt, unter anderem ATM, LANs wiez.B. Ethernets oder Token Ring-Netzwerke. IP wird unter Verwendung des PPP-Pro-tokolls [Parker 1992] über serielle Leitungen und Telefonverbindungen implemen-tiert, sodass es für die Kommunikation mit Modemverbindungen und anderen seriel-len Techniken geeignet ist.

Der Erfolg von TCP/IP begründet sich in seiner Unabhängigkeit von der zuGrunde liegenden Übertragungs-Technologie, sodass Netzwerke aus vielen heteroge-nen Netzwerken und Datenverbindungen aufgebaut werden können. Benutzer undApplikationsprogramme nehmen ein einziges virtuelles Netzwerk wahr, das TCPund UDP unterstützt, und die Implementierer von TCP und UDP sehen ein einzigesvirtuelles IP-Netzwerk, das die Verschiedenartigkeiten der zu Grunde liegendenÜbertragungsmedien verbirgt. Abbildung 3.14 zeigt diese Ansicht.

In den beiden nächsten Abschnitten beschreiben wir das IP-Adressierungsschemaund das IP-Protokoll. Das DNS, das Domainnamen wie beispielsweise www.ama-zon.com, hpl.hp.com, stanford.edu und qmw.ac.uk, die den Internetbenutzern so vertrautsind, in IP-Adressen umwandelt, wird in Abschnitt 3.4.7 eingeführt und detailliert inKapitel 9 beschrieben.

Die aktuell im Internet allgemein eingesetzte IP-Version ist IPv4 (seit Januar 1984)und diese Version wollen wir in den beiden nächsten Abschnitten auch betrachten.Das schnelle Wachstum des Internets hat jedoch zur Spezifikation einer neuen Ver-sion (IPv6) geführt, die die Adressierungsbeschränkungen von IPv4 lösen soll und

Abbildung 3.14 Die konzeptuelle Sicht eines Programmierers auf ein TCP/IP-Internet

3.4 Internet-Protokolle 121

einige neue Funktionsmerkmale einführt, die ganz neue Anforderungen unterstüt-zen. IPv6 ist in Abschnitt 3.4.4 beschrieben. Weil sehr viel Software davon betroffenist, ist der schrittweise Umstieg auf IPv6 über einen Zeitraum von zehn Jahren oderlänger geplant.

3.4.1 IP-AdressierungDer vielleicht schwierigste Aspekt beim Entwurf der Internet-Protokolle war die Ent-wicklung von Schemata für die Benennung und Adressierung von Hosts und dasRouting von IP-Paketen an ihre Ziele. Das Schema, nach dem Netzwerken und dendaran angeschlossenen Computern Host-Adressen zugewiesen werden, musste diefolgenden Anforderungen erfüllen:

õ Es musste universell sein – jeder Host sollte in der Lage sein, Pakete an jeden ande-ren Host im Internet zu senden.

õ Es sollte den Adressraum effizient nutzen – letztlich ist die genaue Größe desInternets und die dafür erforderliche Anzahl der Netzwerk- und Hostdressennicht vorherzusagen. Der Adressraum muss sorgfältig untergliedert werden, umsicherzustellen, dass die Adressen nicht ausgehen. In den Jahren 1978 bis 1982, alsdie Spezifikationen für die TCP/IP-Protokolle entwickelt wurden, ging mandavon aus, dass 232 oder etwa 4 Milliarden adressierbare Hosts (das entsprach zudiesem Zeitpunkt etwa der Weltbevölkerung) ausreichend seien. Diese Einschät-zung hat sich aus zwei Gründen als zu kurzsichtig erwiesen:– die Wachstumsrate des Internet hat alle Vorhersagen bei weitem übertroffen;– der Adressraum wurde sehr viel ineffizienter zugewiesen und genutzt, als

vorgesehen.

õ Das Adressierungsschema muss die Entwicklung eines flexiblen und effizientenRouting-Schemas unterstützen, aber die eigentlichen Adressen können nicht vielevon den Informationen aufnehmen, die benötigt werden, um ein Paket an seinZiel weiterzuleiten.

Das gewählte Schema weist jedem Host im Internet eine IP-Adresse zu – einen 32 Bitlangen numerischen Bezeichner, der eine Netzwerk-ID enthält, die eindeutig einesder Teilnetze im Internet bezeichnet, sowie eine Host-ID, die die Verbindung desHosts zu diesem Netzwerk eindeutig identifiziert. Diese Adressen werden in IP-Adressen platziert und dienen dazu, sie an ihr jeweiliges Ziel zu senden.

Abbildung 3.15 zeigt den Entwurf für den Internetadressraum. Es gibt vier Klas-sen von Internetadressen – A, B, C und D. Klasse D ist für die Internet-Multicast-Kommunikation reserviert, die nur in einigen Internet-Routern implementiert ist undin Abschnitt 4.5.1 noch genauer beschrieben wird. Klasse E enthält einen Bereichnicht zugewiesener Adressen, die für zukünftige Verwendungszwecke reserviertsind.

Diese 32-Bit-Internetadressen, die eine Netzwerk-ID und eine Host-ID enthalten,werden normalerweise als eine Folge aus vier Dezimalzahlen geschrieben, die durchPunkte voneinander getrennt sind. Jede Dezimalzahl stellt eines der vier Bytes oderOktette der IP-Adresse dar. Abbildung 3.16 zeigt die erlaubten Werte für die einzelnenKlassen der Netzwerkadressen.

Drei Adressklassen wurden darauf ausgelegt, die Anforderungen unterschiedli-cher Organisationsarten abzudecken. Klasse-A-Adressen mit einer Kapazität von 224

Kapitel 3 – Netzwerke und Internetworking122

Hosts in jedem Teilnetz sind für sehr große Netzwerke reserviert wie beispielsweisedas US NSFNet und andere nationale WANs. Klasse-B-Adressen werden Unterneh-men zugeordnet, die Netzwerke mit mehr als 255 Computern betreiben, und Klasse-C-Adressen sind allen anderen Netzwerkbetreibern zugeordnet.

Internetadressen mit den Host-IDs 0 und sonst lauter Einsen (binär) werden für spe-zielle Zwecke verwendet. Adressen mit der Host-ID 1 verweisen auf „diesen Host“und eine Host-ID, die aus lauter Einsen besteht, adressiert eine Broadcast-Nachrichtan alle an das in der Netzwerk-ID der Adresse angegebene Netzwerk angeschlosse-nen Hosts.

Netzwerk-IDs werden Organisationen, deren Netzwerke an das Internet ange-schlossen sind, über das NIC (Network Information Center) zugeteilt. Host-IDs für

Abbildung 3.15 Struktur der Internetadressen, wobei die Feldgrößen in Bits dargestellt sind

Abbildung 3.16 Dezimaldarstellung der Internetadressen

3.4 Internet-Protokolle 123

die Computer in den an das Internet angeschlossenen Netzwerken werden vomjeweiligen Administrator zugewiesen.

Weil Host-Adressen eine Netzwerk-ID enthalten, muss ein Computer, der anmehrere Netzwerke angeschlossen ist, für jedes davon eine separate Adresse besitzenund immer wenn ein Computer in ein anderes Netzwerk verschoben wird, muss sichseine Internetadresse ändern. Diese Forderung führt zu wesentlichen administrativenOverheads, beispielsweise bei portablen Computern.

In der Praxis hat sich das Zuordnungsschema für die IP-Adressen als sehr effektiverwiesen. Die größte Schwierigkeit ist, dass es für die Netzwerkadministratoren inBenutzerunternehmen nicht ganz einfach ist, den zukünftigen Bedarf an Host-Adres-sen vorherzusagen und sie ihn häufig überschätzen und im Zweifelsfall Klasse-B-Adressen anfordern. Schon 1990 wurde in Anbetracht der zu diesem Zeitpunkterfolgten Zuordnungen offensichtlich, dass dem NIC die IP-Adressen etwa 1996 aus-gehen würden. Man ergriff zwei Maßnahmen. Die erste war, die Entwicklung einesneuen IP-Protokolls und Adressierungsschemas zu initiieren, was zur Spezifikationvon IPv6 führte. Der zweite Schritt war, die Vorgehensweise bei der Zuordnung vonIP-Adressen radikal zu ändern. Ein neues Adresszuordnungs- und Routing-Schemawurde eingeführt, das den IP-Adressraum effektiver nutzt: das so genannte klassen-lose Interdomain-Routing (CIDR). Wir beschreiben CIDR in Abschnitt 3.4.3.

Abbildung 3.10 zeigt einen Teil des Netzwerks am Lehrstuhl für Informatik amQueen Mary and Westfield College, Universität London (Domainname:dcs.qmw.ac.uk). Es enthält mehrere Teilnetze mit der Größe von Klasse-C-Adressräu-men (wobei CIDR verwendet wird, um einen Klasse-B-Adressraum zu unterteilen,wie in Abschnitt 3.4.3 beschrieben) im Bereich von 128.37.88-138.37.95, die durchRouter miteinander verknüpft sind. Die Router verwalten die Auslieferung der IP-Pakete an alle Teilnetze. Außerdem sind sie für den Verkehr zwischen den Teilnetzenund von den Teilnetzen zur restlichen Welt verantwortlich.

3.4.2 Das IP-ProtokollDas IP-Protokoll überträgt Datagramme von einem Host zu einem anderen, gegebe-nenfalls auch über dazwischen liegende Router. Das vollständige IP-Abbildung 3.17Paketformat ist relativ komplex; zeigt die wichtigsten Komponenten. Es gibt mehrereHeader-Felder, die in diesem Diagramm nicht dargestellt sind und die von den Über-tragungs- und Routing-Algorithmen verwendet werden.

IP unterstützt einen Auslieferungsdienst, der auch als unzuverlässig beschriebenwird, weil die Auslieferung nicht garantiert ist. Pakete können verloren gehen, dop-pelt ankommen, verzögert oder in der falschen Reihenfolge ankommen, aber diese

Abbildung 3.17 Layout eines IP-Pakets

Kapitel 3 – Netzwerke und Internetworking124

Fehler treten nur dann auf, wenn die zu Grunde liegenden Netzwerke ausfallen oderdie Puffer am Ziel voll sind. Die einzige Prüfsumme in IP ist eine Header-Prüf-summe, die relativ unaufwendig zu berechnen ist und die sicherstellt, dass Beschädi-gungen der Daten für die Adressierung oder die Paketverwaltung erkannt werden.Es gibt keine Datenprüfsumme, um Overheads beim Durchqueren von Routern zuvermeiden, sodass es den Protokollen auf höherer Ebene überlassen bleibt (TCP undUDP), eigene Prüfsummen bereitzustellen – ein praktisches Beispiel für das Ende-zu-Ende-Argument (Abschnitt 2.2.1).

Die IP-Schicht verpackt IP-Datagramme in Netzwerkpakete, die für die Übertra-gung in dem zu Grunde liegenden Netzwerk geeignet sind (wobei es sich beispiels-weise um ein Ethernet handeln könnte). Ist ein IP-Datagramm länger als die MTU deszu Grunde liegenden Netzwerks, wird es an der Quelle in mehrere Pakete zerlegtund am Ziel wieder zusammengesetzt. Pakete können weiter unterteilt werden, umin anderen auf dem Weg von der Quelle vom Ziel eingesetzten Netzwerken übertra-gen werden zu können. (Jedes Paket hat eine Fragment-ID, um auch Fragmentezusammensetzen zu können, die nicht in der richtigen Reihenfolge angekommensind.)

Die IP-Schicht muss auch eine „physische“ Netzwerkadresse des Nachrichtenzielseinfügen. Diese ermittelt sie aus dem Adressauflösungsmodul der Netzwerkschnitt-stellenschicht, das im nächsten Abschnitt beschrieben ist.

Adressauflösung Das Adressauflösungsmodul ist für die Umwandlung vonInternetadressen in Netzwerkadressen für ein spezielles zu Grunde liegendes Netz-werk zuständig (manchmal auch als physische Adressen bezeichnet). Handelt es sichbeispielsweise bei dem Netzwerk um ein Ethernet, wandelt das Adressauflösungs-modul 32-Bit-Internetadressen in 48-Bit-Ethernet-Adressen um.

Diese Übersetzung ist von der Netzwerk-Technologie abhängig:

õ Einige Hosts sind direkt mit Internet-Paket-Switches verbunden; IP-Pakete kön-nen ohne eine Adressübersetzung an sie weitergeleitet werden.

õ Einige LANs erlauben, Hosts dynamisch Netzwerkadressen zuzuweisen und dieAdressen können praktischerweise so gewählt werden, dass sie genau der Host-ID der Internetadresse entsprechen – für die Übersetzung wird einfach nur dieHost-ID aus der IP-Adresse extrahiert.

õ Für Ethernets und einige andere LANs ist die Netzwerkadresse jedes Computersfest in der Netzwerkschnittstellen-Hardware kodiert und hat keine direkte Bezie-hung zu einer Internetadresse – für die Übersetzung muss man die Entsprechungzwischen IP-Adressen und Ethernet-Adressen für die Hosts auf dem lokalenEthernet kennen.

Jetzt skizzieren wir die Methode für die Auflösung von IP-Adressen in Ethernets.Damit IP-Pakete auf einem Ethernet ausgeliefert werden können, muss jeder an dasEthernet angeschlossene Computer das Adressauflösungs-Protokoll (ARP, AdressResolution Protocol) implementieren. Betrachten Sie zunächst den Fall, wo ein an einEthernet angeschlossener Host-Computer IP verwendet, um eine Nachricht an einenanderen Computer im selben Ethernet zu übertragen. Das IP-Softwaremodul auf demsendenden Computer muss die Internetadresse des Empfängers, die es im IP-Paketfindet, in eine Ethernet-Adresse übersetzen, damit das Paket ausgeliefert werdenkann. Dazu ruft sie das ARP-Modul auf dem sendenden Computer auf.

3.4 Internet-Protokolle 125

Das ARP-Modul verwaltet auf jedem Host einen Cache mit (IP-Adresse, Ethernet-Adresse)-Paaren, die dieser in vorhergehenden Abfragen erhalten hat. Befindet sichdie angeforderte IP-Adresse im Cache, wird die Anfrage unmittelbar beantwortet.Andernfalls überträgt das ARP ein Ethernet-Broadcastpaket (ein ARP-Anforderungs-paket) an das lokale Ethernet, das die gewünschte IP-Adresse enthält. Jeder Compu-ter im lokalen Ethernet erhält das ARP-Anforderungspaket und überprüft die darinenthaltene IP-Adresse, ob sie mit seiner eigenen IP-Adresse übereinstimmt. Ist diesder Fall, wird ein ARP-Antwortpaket an den Initiator der ARP-Anforderung mit derEthernet-Adresse des Senders gesendet; andernfalls wird das APR-Paket ignoriert.Das initiierende ARP-Modul fügt die neue Zuordnung IP-Adresse → Ethernet-Adressein seinen lokalen Cache mit (IP-Adresse, Ethernet-Adresse)-Paaren ein, sodass eszukünftige Anfragen dieser Art beantworten kann, ohne eine ARP-Anforderungbroadcasten zu müssen. Mit der Zeit enthält der ARP-Cache somit auf jedem Compu-ter ein (IP-Adresse, Ethernet-Adresse)-Paar für alle Computer, an die IP-Pakete gesen-det werden. ARP-Broadcasts werden also nur benötigt, wenn ein Computer neu andas lokale Ethernet angeschlossen wird.

IP-Spionage Wir haben gesehen, dass IP-Pakete eine Quelladresse enthalten –die IP-Adresse des sendenden Computers. Zusammen mit einer in das Datenfeld ein-gekapselten Port-Adresse (für UDP- und TCP-Pakete) wird diese von Servern häufigverwendet, um eine Rückgabeadresse zu erzeugen. Leider kann nicht garantiert wer-den, dass die Quelladresse wirklich die Adresse des Senders angibt. Ein arglistigerSender könnte ganz einfach eine Adresse einsetzen, die nicht seine eigene ist. DieseSicherheitslücke ist Ursache vieler bekannter Angriffe, unter anderem ist sie auch fürden Angriff mit der verteilten Dienstverweigerung im Februar 2000 [Farrow 2000]verantwortlich, wie in Abschnitt 1.4.3 bereits beschrieben. Dazu wurden viele ping-Dienstanforderungen an sehr viele Computer in mehreren Systemen gesendet (pingist ein einfacher Dienst, der die Verfügbarkeit eines Hosts überprüft). Diese arglisti-gen ping-Anforderungen enthielten alle in dem Feld für die Senderadresse die IP-Adresse eines einzigen Zielcomputers. Die ping-Antworten wurden also alle an die-ses Ziel gesendet, dessen Puffer überschwemmt wurden, sodass keine legitimen IP-Pakete mehr durchkommen konnten. Dieser Angriff wird in Kapitel 7 genauerbeschrieben.

3.4.3 IP-Routing

Die IP-Schicht routet Pakete von ihrer Quelle zu ihrem Ziel. Jeder Router im Internetimplementiert IP-Schicht-Software, um einen Routing-Algorithmus zu unterstützen.

Backbones Die topologische Karte des Internets ist konzeptuell in autonome Sys-teme (AS) unterteilt, die wiederum in Bereiche unterteilt sind. Die Intranets der meis-ten großen Organisationen, beispielsweise Universitäten und große Unternehmen,werden als ASe betrachtet und beinhalten normalerweise mehrere Bereiche. In Abbil-dung 3.10 ist das Campus-Intranet ein AS und der gezeigte Ausschnitt ein Bereich.Jedes AS in der topologischen Karte hat einen Backbone-Bereich. Die gesamten Router,die andere als Backbone-Bereiche mit dem Backbone verbinden, sowie Verknüpfun-gen, die diese Router verbinden, werden als das Backbone des Netzwerks bezeichnet.Die Verbindungen im Backbone haben normalerweise hohe Bandbreite und werdender Zuverlässigkeit halber repliziert. Diese hierarchische Struktur ist konzeptionell

Kapitel 3 – Netzwerke und Internetworking126

und wird hauptsächlich für die Verwaltung von Ressourcen und Komponentengenutzt. Das Routing von IP-Paketen wird dadurch nicht beeinflusst.

Routing-Protokolle RIP-1, der erste im Internet verwendete Routing-Algorith-mus, ist eine Variante des in Abschnitt 3.3.5 beschriebenen Distanzvektor-Algorith-mus. RIP-2 (siehe RFC 1388 [Malkin 1993]) wurde daraus abgeleitet, um einigezusätzliche Anforderungen abzudecken wie beispielsweise das klassenlose Routingzwischen Domains, ein besseres Multicast-Routing sowie die Forderung nachAuthentifizierung von RIP-Paketen, um Angriffe gegen die Router zu verhindern.

Weil das Internet größer geworden ist und die Verarbeitungskapazität der Routergesteigert werden konnte, setzt man heute eher Algorithmen ein, die nicht unter derlangsamen Konvergenz und der möglichen Instabilität von Distanzvektor-Algorith-men leiden. Stattdessen verwendet man immer mehr Algorithmen der Verbindungs-zustand-Klasse, die in Abschnitt 3.3.5 beschrieben sind, sowie den so genanntenOSPF-Algorithmus (open shortest path first). Dieses Protokoll basiert auf einem Algo-rithmus zur Suche von Pfaden, der auf Dijkstra [1959] zurückzuführen ist und fürden gezeigt wurde, dass er schneller konvergiert als der RIP-Algorithmus.

Beachten Sie, dass die Übernahme neuer Routing-Algorithmen in IP-Routerninkrementell erfolgen kann. Eine Änderung eines Routing-Algorithmus führt zueiner neuen Version des RIP-Protokolls und jedes RIP-Paket enthält eine Versions-nummer. Das IP-Protokoll ändert sich nicht, wenn ein neues RIP-Protokoll eingeführtwird. Ein IP-Router gibt eingehende IP-Pakete auf einer vernünftigen, wenn nichtoptimalen Route weiter, egal welche RIP-Version sie verwenden. Damit Routerjedoch bei der Aktualisierung ihrer Routing-Tabellen zusammenarbeiten können,müssen sie einen ähnlichen Algorithmus verwenden. Für diesen Zweck werden dieoben definierten topologischen Bereiche definiert. Innerhalb jedes Bereichs wird eineinzelner Routing-Algorithmus verwendet und die Router innerhalb eines Bereichsarbeiten bei der Verwaltung ihrer Routing-Tabellen zusammen. Router, die nur RIP-1unterstützen, sind immer noch weit verbreitet und unter Ausnutzung der Funktio-nen zur Abwärtskompatibilität der neueren Protokolle existieren sie zusammen mitRoutern, die RIP-2 und OSPF einsetzen.

1993 zeigten empirische Beobachtungen [Floyd und Johnson 1993], dass die 30-Sekunden-Frequenz, mit der IP-Router Informationen austauschen, eine Periodizitätbei der Leistung der IP-Übertragungen verursachte. Die durchschnittliche Latenz fürIP-Paketübertragungen zeigte in 30-Sekunden-Intervallen Spitzen. Dies führte manauf das Verhalten der Router zurück, die das RIP-Protokoll ausführten – beim Emp-fang eines RIP-Pakets verzögern die Router die Weitergabe von IP-Paketen, die sienoch enthalten, bis der Aktualisierungs-Prozess für alle bisher empfangenen RIP-Pakete abgeschlossen war. Daraus entstand die Tendenz für die Router, die RIP-Akti-onen holprig auszuführen. Die für die Router empfohlene Lösung war, einen Zufalls-wert im Bereich von 15 bis 45 Sekunden für das RIP-Aktualisierungsintervall zu ver-wenden.

Standard-Router Bis jetzt ist unsere Diskussion der Routing-Algorithmendavon ausgegangen, dass jeder Router eine vollständige Routing-Tabelle verwaltet,die die Route für jedes Ziel im Internet enthält (Teilnetze oder direkt an den Hostangeschlossen). Bei der aktuellen Größe des Internets ist das offensichtlich nicht mehrmachbar (die Anzahl der Ziele beträgt möglicherweise schon über eine Million undwächst extrem schnell an).

Es fallen einem sofort zwei mögliche Lösungen für dieses Problem ein, die beidebereits eingesetzt wurden, um die Auswirkungen des Internet-Wachstums abzu-

3.4 Internet-Protokolle 127

schwächen. Die erste Lösung ist, eine Art topologischer Gruppierung der IP-Adres-sen vorzunehmen. Vor 1993 konnte aus einer IP-Adresse nichts über deren Standortabgeleitet werden. Im Zuge der Bestrebungen, die Zuweisungen von IP-Adressen zuvereinfachen und ökonomischer zu gestalten, wie im Abschnitt über CIDR beschrie-ben, wurde 1993 für alle zukünftigen Zuweisungen entschieden, die folgenden regio-nalen Unterscheidungen zu treffen:

Adressen 194.0.0.0 bis 195.255.255.255 befinden sich in Europa.

Adressen 198.0.0.0 bis 199.255.255.255 befinden sich in Nordamerika.

Adressen 200.0.0.0 bis 201.255.255.255 befinden sich in Zentral- und Südamerika.

Adressen 202.0.0.0 bis 195.203.255.255 befinden sich in Asien und im pazifischenGebiet.

Weil diese geografischen Bereiche auch wohl definierten topologischen Bereichen imInternet entsprechen und nur ein paar wenige Gateway-Router Zugriff auf die einzel-nen Bereiche gewähren, wird dadurch eine wesentliche Vereinfachung der Routing-Tabellen für diese Adressbereiche erzielt. Beispielsweise kann ein Router außerhalbvon Europa einen einzigen Tabelleneintrag für den Bereich der Adressen 194.0.0.0 bis195.255.255.255 haben, der alle IP-Pakete mit Zielen in diesem Bereich auf derselbenRoute zum nächstliegenden europäischen Gateway-Router sendet. Beachten Sie, dassdie IP-Adressen vor dieser Entscheidung größtenteils ohne Berücksichtigung derTopologie oder Geografie zugewiesen wurden. Viele dieser Adressen werden heuteimmer noch verwendet und die Entscheidung von 1993 reduziert die Routing-Tabel-leneinträge für diese Adressen in keiner Weise.

Die zweite Lösung, mit dem explosionsartigen Wachstum der Routing-Tabellenzurechtzukommen, ist viel einfacher und sehr effektiv. Sie basiert auf der Beobach-tung, dass die Genauigkeit von Routing-Informationen für die meisten Router gelo-ckert werden kann, solange einige Schlüssel-Router, nämlich solche, die am nächstenbei den Backbone-Verbindungen liegen, relativ vollständige Routing-Tabellen haben.Diese Lockerung erfolgt in Form eines Standard-Zieleintrags in Routing-Tabellen.Betrachten Sie dazu Abbildung 3.7 und Er muss sein Wissen über das Netzwerk stän-dig aktualisieren, indem er den Verkehr beobachtet und Konfigurationsänderungenoder Fehler erkennt. Diese Aktivität ist weniger zeitkritisch; hier können langsamereund weniger rechenintensive Techniken verwendet werden. und stellen Sie sich vor,die Routing-Tabelle für Knoten C wird wie folgt abgeändert:

Damit ignoriert Knoten C die Knoten A und D. Er leitet alle an sie adressierten Paketeüber Link 5 an E weiter. Was folgt daraus? Pakete, die an D adressiert sind, erreichen

Routings von C

An Verbindung Kosten

B 2 1

C lokal 0

E 5 1

Standard 5 -

Kapitel 3 – Netzwerke und Internetworking128

ihr Ziel ohne Effizienzverlust beim Routing, aber die an A adressierten Pakete führeneinen zusätzlichen hop aus und werden durch E und B geleitet. Im Allgemeinen hebtsich bei der Verwendung von Standard-Routen die Routing-Effizienz gegenüber derTabellengröße auf. In einigen Fällen jedoch, insbesondere wenn sich ein Router aufeinem „Ausläufer“ befindet, sodass alle ausgehenden Nachrichten einen einzelnenPunkt durchlaufen müssen, gibt es keinen Effizienzverlust. Das Standard-Routen-schema wird für das Internet-Routing häufig eingesetzt; kein Router enthält die Rou-ten zu allen Zielen im Internet.

Routing in einem lokalen Teilnetz Pakete, die an Hosts im selben Netzwerk wieder Sender adressiert sind, werden innerhalb eines einzigen hops an den Ziel-Hostübertragen, wobei die Host-ID der Adresse verwendet wird, um die Adresse desZiel-Hosts im zu Grunde liegenden Netzwerk zu ermitteln. Die IP-Schicht verwendeteinfach ARP, um die Netzwerkadresse des Ziels zu erhalten, und überträgt die Paketedann über das zu Grunde liegende Netzwerk.

Erkennt die IP-Schicht im sendenden Computer, dass das Ziel in einem anderenNetzwerk liegt, muss sie die Nachricht an einen lokalen Router senden. Mithilfe vonARP ermittelt sie die Netzwerkadresse des Gateways oder Routers und überträgt dasPaket dann über das zu Grunde liegende Netzwerk. Gateways und Router sind anzwei oder mehr Netzwerke angeschlossen und haben mehrere Internetadressen: einefür jedes Netzwerk, an das sie angeschlossen sind.

CIDR (Classless Interdomain Routing) Der in Abschnitt 3.4.1 beschriebeneNachteil der IP-Adressen führte 1996 zur Einführung dieses Schemas für die Zuwei-sung von Adressen und die Verwaltung der Einträge in Routing-Tabellen. Das größteProblem war die Knappheit von Klasse-B-Adressen – für Teilnetze mit mehr als 255angeschlossenen Hosts. Klasse-C-Adressen standen in ausreichender Anzahl zur Ver-fügung. Die CIDR-Lösung für dieses Problem ist, einem Teilnetz, das mehr als 255Adressen brauchte, mehrere fortlaufende Klasse-C-Adressen zuzuweisen. Das CIDR-Schema ermöglicht außerdem, einen Klasse-B-Adressraum für die Zuweisung anmehrere Teilnetze zu unterteilen.

Das Stapeln von Klasse-C-Adressen scheint eine recht einfache Lösung zu sein,aber wenn es nicht mit einer Änderung des Routing-Tabellenformats einhergeht, hates einen wesentlichen Einfluss auf die Größe der Routing-Tabellen und damit auf dieEffizienz der Algorithmen für ihre Verwaltung. Man einigte sich auf die Änderung,ein Feld der Routing-Tabellen zu maskieren. Die Maske ist ein Bitmuster, mit dem derTeil einer IP-Adresse ausgewählt wird, der mit dem Routing-Tabelleneintrag vergli-chen wird. Damit ist es letztlich möglich, dass die Host/Teilnetz-Adresse ein beliebi-ger Teil der IP-Adresse ist, weshalb mehr Flexibilität erzielt wird als durch die Klas-sen A, B und C. Daher auch der Name klassenloses Interdomain-Routing. Auch hiererfolgen die Änderungen an Routern inkrementell, sodass einige Router CIDR aus-führen, während andere noch die alten, auf Klassen basierenden Algorithmen ver-wenden.

Das funktioniert, weil die neu reservierten Bereiche der Klasse-C-Adressenmodulo 256 zugewiesen werden, sodass jeder Bereich eine integrale Anzahl von Teil-netz-Adressen der Klasse-C-Größe darstellt. Andererseits verwenden einige Teilnetzeauch CIDR, um den Adressbereich in einem einzelnen Netzwerk der Klasse A, B oderC zu unterteilen. Werden mehrere Teilnetze ausschließlich über CIDR-Router mitdem Rest der Welt verbunden, können die Bereiche der dafür verwendeten IP-Adres-sen einzelnen Teilnetzen in Abschnitten zugewiesen werden, die durch eine binäreMaske beliebiger Größe festgelegt werden.

3.4 Internet-Protokolle 129

Beispielsweise kann ein Klasse-C-Adressraum in 32 Gruppen von je acht Adressenunterteilt werden. Abbildung 3.10 zeigt ein Beispiel für die Verwendung des CIDR-Mechanismus, um das Teilnetz 138.37.95 der Größe eines Klasse-C-Netzwerks inmehrere Gruppen mit acht Host-Adressen zu zerlegen, für die das Routing aufjeweils unterschiedliche Weise erfolgt. Die separaten Gruppen werden durch dieNotationen 138.37.95.232/29, 138.37.95.248/29 usw. dargestellt. Der Adressteil /29stellt eine 32-Bit-Binärmaske mit 29 führenden Einsen und 3 nachfolgenden Nullendar.

3.4.4 IP-Version 6

Es wurde auch nach einer dauerhafteren Lösung für die Adressprobleme von IPv4gesucht, was zur Entwicklung und zum Einsatz einer neuen Version des IP-Proto-kolls mit sehr viel größeren Adressen führte. Das IETF erkannte bereits 1990 diepotentiellen Probleme, die durch die 32-Bit-Adressen von IPv4 entstehen konnten,und rief ein Projekt zur Entwicklung einer neuen Version des IP-Protokolls ins Leben.1994 übernahm die IETF IPv6 und es wurde auch eine Strategie für die Migrationempfohlen.

Abbildung 3.18 zeigt das Layout von IPv6-Headern. Wir wollen den Aufbau hiernicht detailliert betrachten. Interessierte Leser seien auf [Tanenbaum 1996] und [Stal-lings 1998a] verwiesen, wo sie allgemeine Informationen über IPv6 finden, sowie auf[Huitema 1998], das eine schrittweise Beschreibung des Entwurfs-Prozesses von IPv6sowie Implementierungspläne beinhaltet. Hier werden wir nur die wichtigsten Vor-teile skizzieren, die IPv6 mit sich bringt.

Adressraum: IPv6-Adressen sind 128 Bit (16 Byte) lang. Daraus ergibt sich einewahrlich astronomische Anzahl adressierbarer Einheiten: 2128 bzw. fast 3 x 1038.Tanenbaum berechnet, dass dies ausreichend ist, um 7 x 1023 IP-Adressen proQuadratmeter Erdoberfläche bereitzustellen. Hitema hat eine konservativereBerechnung angestellt, die voraussetzt, dass die IP-Adressen so ineffizient wieTelefonnummern zugewiesen werden, und kam auf etwa 1.000 IP-Adressen proQuadratmeter Erdoberfläche (Land und Wasser).

Abbildung 3.18 Layout eines IPv6-Headers

-L

Kapitel 3 – Netzwerke und Internetworking130

Der IPv6-Adressraum ist partitioniert. Wir können hier nicht detailliert auf diePartitionierung eingehen, aber selbst die kleineren Partitionen (von denen eineden gesamten Bereich aller IPv4-Adressen bei einer 1:1-Abbildung enthält) sindsehr viel größer als der gesamte IPv4-Raum. Viele Partitionen (etwa 72%) sind fürnoch nicht definierte Aufgaben reserviert. Zwei große Partitionen (die je 1/8 desAdressraums einnehmen) werden für allgemeine Zwecke bereitgestellt und nor-malen Netzwerkknoten zugewiesen. Eine davon soll gemäß der geografischenPositionen der adressierten Knoten strukturiert werden, die andere gemäß ihrerorganisatorischen Positionen. Damit sind zwei alternative Strategien für dieGruppierung von Adressen für Routing-Zwecke möglich – es bleibt abzuwarten,welche davon sich als effektiver oder beliebter erweisen wird.

Routing-Geschwindigkeit: Die Komplexität des grundlegenden IPv6-Headers unddie Verarbeitung, die in jedem Knoten anfällt, werden reduziert. Auf den Paketin-halt (Nutzlast) wird keine Prüfsumme angewendet und es kann keine Fragmen-tierung mehr erfolgen, nachdem ein Paket auf die Reise geschickt wurde. Das ers-tere wird als akzeptabel betrachtet, weil Fehler auf höheren Ebenen erkanntwerden können (TCP beinhaltet eine Inhaltsprüfsumme), und das letztere wirddurch einen Mechanismus zur Ermittlung der kleinsten MTU vor der Übertra-gung eines Pakets kompensiert.

Echtzeit- und andere spezielle Dienste: Die Felder für Priorität und Flussbezeichnungbeschäftigen sich genau mit diesen Aspekten. Multimedia-Streams und andereFolgen mit Echtzeit-Datenelementen können als Teil eines identifizierten Flussesübertragen werden. Das Feld für die Priorität kann in Kombination mit der Fluss-bezeichnung verwendet werden oder auch unabhängig, um zu ermöglichen, dassbestimmte Pakete schneller oder mit einer höheren Zuverlässigkeit als andere ver-arbeitet werden. Die Prioritätswerte von 0 bis 8 sind für Übertragungen vorgese-hen, die langsamer ausgeführt werden können, ohne dass dies nachteilige Aus-wirkungen auf die Applikation hätte. Die Werte zwischen 8 und 15 sind fürPakete reserviert, deren Auslieferung zeitkritisch ist. Solche Pakete müssen ent-weder sofort ausgeliefert oder verworfen werden – eine verspätete Auslieferunghat keinen Sinn.

Flussbezeichnungen ermöglichen, bestimmte Ressourcen zu reservieren, umdie Timing-Anforderungen spezieller Echtzeit-Daten-Stream-Streams zu erfüllenwie beispielsweise Live-Audio oder -Video-Übertragungen. Kapitel 15 beschreibtdiese Anforderungen und Methoden für die entsprechende Zuweisung der Res-sourcen. Natürlich verfügen Router und Übertragungsverbindungen im Internetnur über begrenzte Ressourcen und das Konzept, sie für bestimmte Benutzer undApplikationen zu reservieren, wurde nie zuvor in Betracht gezogen. Die Nutzungdieser Funktionsmerkmale von IPv6 ist von umfassenderen Verbesserungen derInfrastruktur und der Entwicklung passender Methoden für die Gebührenerhe-bung und Entscheidung der Ressourcenzuteilung abhängig.

Weitere Entwicklung: Der Schlüssel für die weitere Entwicklung ist das Feld fürden nächsten Header. Ist es ungleich Null, definiert es den Typ eines Erweite-rungs-Headers, der im Paket enthalten ist. Momentan gibt es Erweiterungs-Hea-der-Typen, die zusätzliche Daten für spezielle Dienste der folgenden Arten bereit-stellen: Informationen für Router, Routen-Definition, Fragmentverarbeitung,Authentifizierung, Verschlüsselungsinformation und Zielverarbeitungsinforma-tion. Jeder Erweiterungs-Header-Typ hat eine spezielle Größe und ein definiertes

3.4 Internet-Protokolle 131

Format. Weitere Erweiterungs-Header-Typen werden definiert, sobald neueDienstanforderungen entstehen. Ein Erweiterungs-Header folgt, falls vorhanden,dem Basis-Header, geht der Nutzlast voraus und beinhaltet ebenfalls wieder einFeld für einen nächsten Header, sodass mehrere Erweiterungs-Header verwendetwerden können.

Multicast und Anycast: Sowohl IPv4 als auch IPv6 unterstützen die Übertragungvon IP-Paketen an mehrere Hosts unter Verwendung einer einzigen Adresse (diein dem Bereich für diesen Zweck reserviert ist). Die IP-Router sind dann verant-wortlich, das Paket an alle Hosts weiterzuleiten, die der durch die betreffendeAdresse identifizierten Gruppe beigetreten sind. Weitere Informationen zur IP-Multicast-Kommunikation finden Sie in Abschnitt 4.5.1. Darüber hinaus unter-stützt IPv6 einen neuen Übertragungsmodus, Anycast. Dieser Dienst liefert einPaket an mindestens einen der Hosts aus, der sich unter der betreffenden Adresseregistriert hat.

Sicherheit: Bisher vertrauten Internet-Applikationen, die eine authentifizierte oderprivate Datenübertragung brauchten, auf die Verwendung von Verschlüsselungs-techniken auf der Applikationsschicht. Das Ende-zu-Ende-Argument untermau-ert die Ansicht, dass dies der richtige Ort dafür ist. Wenn die Sicherheit auf der IP-Ebene implementiert ist, sind Benutzer und Applikation von der Korrektheit desCodes abhängig, den sie in jedem Router auf der Strecke implementiert, und siemüssen den Routern und anderen dazwischen liegenden Knoten den Umgangmit den Schlüsseln zur Verschlüsselung anvertrauen.

Der Vorteil bei der Implementierung von Sicherheit auf IP-Ebene ist, dass sieangewendet werden kann, ohne dass die Applikationsprogramme in Hinblick aufdie Sicherheit implementiert worden sein müssen. Beispielsweise können System-manager sie in einer Firewall implementieren und einheitlich auf die gesamteKommunikation anwenden, ohne dass die interne Kommunikation verschlüsseltwerden müsste. Auch Router können einen Sicherheitsmechanismus auf IP-Ebenenutzen, um die Aktualisierungsnachrichten der Routing-Tabelle zu schützen, diesich untereinander austauschen.

In IPv6 wird Sicherheit über die Erweiterungs-Header-Typen authenticationund encrypted security payload implementiert. Diese implementieren Funktions-merkmale, die dem in Abschnitt 2.3.3 vorgestellten Konzept der sicheren Kanäleentsprechen. Die Nutzlast wird je nach Bedarf verschlüsselt und/oder digital sig-niert. Ähnliche Sicherheitsmerkmale gibt es auch in IPv4 unter Verwendung desIP-Tunnellings zwischen Routern oder Hosts, die die IPSec-Spezifikation imple-mentieren (siehe RFC 2411 [Thayer 1998]).

Migration von IPv4 Der Wechsel des grundlegenden Protokolls hat für die existie-rende Internet-Infrastruktur weitreichende Konsequenzen. IP wird im TCP/IP-Proto-kollstapel in jedem Host und in der Software eines jeden Routers eingesetzt. Inunzähligen Applikationen und Utilities werden IP-Adressen verwendet. Und für siealle muss ein Upgrade vorgenommen werden, sodass sie die neue IP-Version unter-stützen. Aber der Umstieg ist unvermeidbar, weil der von IPv4 gebotene Adressraumkeinen weiteren Platz mehr bietet. Außerdem hat die Arbeitsgruppe von IETF, die fürIPv6 verantwortlich ist, bereits eine Migrationsstrategie definiert – dabei sollen letzt-lich zunächst „Inseln“ mit IPv6-Routern und Hosts implementiert werden, die überTunnel mit anderen IPv6-Inseln kommunizieren und langsam zu größeren Inseln

Kapitel 3 – Netzwerke und Internetworking132

anwachsen. Wie wir bereits erwähnt haben, sollte es für IPv6-Router und -Hosts keinProblem sein, kombinierten Verkehr zu verarbeiten, weil der IPv4-Adressraum in denIPv6-Adressraum eingebettet ist.

Die Theorie für diese Strategie hört sich vielleicht technisch durchdacht an, aberes wurden bisher kaum Fortschritte bei der Implementierung gemacht, weil die Wirt-schaft dagegen ist. Wir hoffen, dass die Internet-Gemeinde durch die drohenden Ein-schränkungen auf Grund des Internet-Wachstums irgendwann genug motiviert ist,die erforderlichen Investitionen vorzunehmen und die Software für Router- undHost-Protokolle zu aktualisieren, die Applikationen anzupassen und alle daraus ent-stehenden Folgen in Kauf zu nehmen.

3.4.5 MobileIPMobile Computer wie beispielsweise Laptops oder Palmtops sind immer wieder vonanderen Orten aus mit dem Internet verbunden. Im Büro des Besitzers könnte einLaptop an ein lokales Ethernet angeschlossen werden, das über einen Router mit demInternet verbunden ist, auf der Fahrt im Auto oder im Zug könnte er über ein Mobil-telefon verbunden sein und anschließend könnte er an ein Ethernet in irgendeinemanderen Büro angeschlossen werden. Der Benutzer braucht jedoch an all diesenOrten Zugriff auf Dienste wie beispielsweise E-Mail oder das Web.

Für den einfachen Zugriff auf Dienste ist es für einen mobilen Computer nichterforderlich, eine einzige Adresse beizubehalten, und er kann in jedem System eineneue IP-Adresse verwenden; dies ist die Aufgabe von DHCP (Dynamic Host Confi-guration Protocol), das einem neu angeschlossenen Computer ermöglicht, eine tem-poräre IP-Adresse sowie die Adressen lokaler Ressourcen wie beispielsweise einesDNS-Servers vom lokalen DHCP-Server anzufordern. Außerdem muss er erkennen,welche lokalen Dienste (z.B. Drucken, Mail-Auslieferung usw.) in den besuchtenfremden Systemen zur Verfügung stehen. Discovery-Dienste sind eine Art Namens-dienst, die dabei helfen; sie sind in Kapitel 9 beschrieben.

Auf dem Laptop kann es Dateien oder Ressourcen geben, auf die andere BenutzerZugriff benötigen, oder der Laptop könnte in einer verteilten Applikation ausgeführtwerden, beispielsweise in einem Aktienbeobachtungsdienst, der Benachrichtigungenüber bestimmte Ereignisse erhält, wenn etwa die vom Benutzer gehaltenen Aktieneinen bestimmten Schwellenwert überschreiten. Soll ein Computer auch dann Clientsund -Ressourcen-teilenden Applikationen zur Verfügung stehen, wenn er zwischenlokalen Netzwerken und Funknetzwerken wechselt, muss er eine einzige IP-Adressebeibehalten, aber das IP-Routing basiert auf Teilnetzen. Teilnetze befinden sich aneiner festen Position und das korrekte Routing der Pakete an sie ist von ihrer Positionim Netzwerk abhängig.

MobileIP ist eine Lösung für dieses Problem. Die Lösung wird transparent imple-mentiert, sodass die IP-Kommunikation normal fortgesetzt wird, wenn sich ein mobi-ler Host-Computer zwischen Teilnetzen an verschiedenen Positionen bewegt. Siebasiert auf der permanenten Zuweisung einer normalen IP-Adresse an jeden mobilenHost in einem Teilnetz in seiner „Home“-Domain.

Ist der mobile Host mit seiner Home-Basis verbunden, werden Pakete ganz nor-mal an ihn geleitet. Ist er an anderer Stelle mit dem Internet verbunden, übernehmenzwei Agenten-Prozesse die Verantwortung für die Umleitung. Bei diesen beidenAgenten handelt es um den Home-Agent (HA) und den Foreign Agent (FA). Diese Pro-

3.4 Internet-Protokolle 133

zesse werden auf geeigneten festen Computern auf dem Home-System und an deraktuellen Position des mobilen Hosts ausgeführt.Der HA ist verantwortlich dafür, aktuelle Informationen über die aktuelle Positiondes mobilen Hosts bereitzustellen (die IP-Adresse, unter der er erreicht werdenkann). Dazu braucht er die Hilfe des mobilen Hosts. Verlässt ein mobiler Host seinHome-System, sollte er den HA darüber informieren und der HA zeichnet die Abwe-senheit des mobilen Hosts auf. Während der Abwesenheit verhält er sich wie einProxy. Dazu weist er die lokalen Router an, alle im Cache befindlichen Aufzeichnun-gen zur IP-Adresse des mobilen Hosts zu verwerfen. Während er als Proxy agiert,reagiert der HA auf ARP-Anforderungen zur IP-Adresse des mobilen Hosts, indemer seine eigene lokale Netzwerkadresse als Netzwerkadresse des mobilen Hostsanbietet.

Kommt der mobile Host in dem neuen System an, informiert er den FA in diesemSystem. Der FA weist ihm eine neue, temporäre IP-Adresse im lokalen Teilnetz zu.Anschließend benachrichtigt der FA den HA und teilt ihm die Home-IP-Adresse desmobilen Hosts sowie die zugewiesene temporäre Adresse mit.

Abbildung 3.19 zeigt den MobileIP-Routing-Mechanismus. Kommt im Home-Netzwerk ein IP-Paket an, das an die Home-Adresse des mobilen Hosts adressiert ist,wird es an den HA weitergeleitet. Der HA packt das IP-Paket in ein MobileIP-Paketein und sendet es an den FA. Der FA packt das ursprüngliche IP-Paket aus und liefertes über das lokale Netzwerk, an das der mobile Host gerade angeschlossen ist, an die-sen aus. Beachten Sie, dass die Methode, nach der der HA und der FA das ursprüng-liche Paket an den gewünschten Empfänger weiterleiten, ein Beispiel für die inAbschnitt 3.3.7 beschriebene Tunnelling-Technik ist.

Der HA sendet die temporäre Adresse des mobilen Hosts auch an den ursprüngli-chen Sender. Ist der Sender MobileIP-fähig, zeichnet er die neue Adresse auf und ver-wendet sie für die nachfolgende Kommunikation mit dem mobilen Host, sodass derOverhead vermieden wird, der durch die Umleitung über den HA entsteht. Ist er esnicht, ignoriert er den Adresswechsel und die nachfolgende Kommunikation wirdweiterhin über den HA geleitet.

Die MobileIP-Lösung ist effektiv, aber kaum effizient. Eine Lösung, die mobileHosts als First-Class-Bürger behandelt, wäre zu bevorzugen, sodass sie sich bewegenkönnten, ohne dies zuvor ankündigen zu müssen, und damit das Routing der Pakete

Abbildung 3.19 Der MobileIP-Routing-Mechanismus

Kapitel 3 – Netzwerke und Internetworking134

ohne Tunnelling oder Umleitung möglich ist. Wir möchten anmerken, dass diesescheinbar schwierige Aufgabe genau das ist, was vom Mobiltelefonnetzwerk bereitsgeleistet wird – die Mobiltelefone wechseln nicht die Nummer, wenn sie sich zwi-schen Zellen oder sogar über verschiedene Länder hinweg bewegen. Stattdesseninformieren sie einfach die lokale Basisstation in bestimmten Zeitabständen über ihrePosition.

3.4.6 TCP und UDPTCP und UDP stellen die Kommunikationsfähigkeit des Internets in einer Formbereit, die für Applikationsprogramme geeignet ist. Applikationsentwickler wün-schen sich möglicherweise andere Transportdienste, um beispielsweise Echtzeit-Garantien oder Sicherheit zu realisieren, aber für einen solchen Dienst wäre im Allge-meinen sehr viel mehr Unterstützung durch die Netzwerkschicht erforderlich, alsIPv4 bietet. TCP und UDP können auf der Applikationsebene in Hinblick auf dieKommunikationsmöglichkeiten als zuverlässige Reflektion dessen betrachtet wer-den, was IPv4 bietet. Bei IPv6 handelt es sich um etwas anderes; es wird TCP undUDP sicher weiter unterstützen, bietet aber Möglichkeiten, die mit TCP und UDPalleine nicht genutzt werden können. Es könnte sein, dass zusätzliche Transport-dienste eingeführt werden müssen, um sie nutzen zu können, nachdem IPv6 so weitverbreitet ist, dass ihre Entwicklung gerechtfertigt ist.

Kapitel 4 beschreibt die Eigenschaften von TCP und UDP aus der Perspektive derEntwickler verteilter Programme. Hier werden wir nur kurz auf die Funktionalitäteingehen, die sie IP hinzufügen.

Verwendung von Ports Als erste Eigenschaft soll hier angeführt werden, dassTCP und UDP als Transport-Protokolle eine Prozess-zu-Prozess-Kommunikationunterstützen müssen, während IP die Kommunikation zwischen Computern (diedurch ihre IP-Adressen angegeben werden) unterstützt. Dazu werden Ports verwen-det. Port-Nummern adressieren Nachrichten an Prozesse innerhalb eines bestimmtenComputers und sind nur innerhalb dieses Computers gültig. Eine Port-Nummer istein 16-Bit-Integer. Nachdem ein IP-Paket an den Ziel-Host ausgeliefert wurde, gibtdie TCP- oder UDP-Schicht-Software dasselbe über einen bestimmten Port diesesHosts weiter.

UDP-Funktionsmerkmale UDP kann mit einer IP-Replik auf Transportebeneverglichen werden. Ein UDP-Datagramm ist in ein IP-Paket gekapselt. Es hat einenkurzen Header, der die Port-Nummern der Quelle und des Ziels enthalten (die ent-sprechenden Host-Adressen sind im IP-Header enthält), ein Feld für die Länge sowieeine Prüfsumme. UDP bietet keine Auslieferungsgarantie. Wir haben bereits ange-merkt, dass IP-Pakete auf Grund einer Überlastung oder eines Netzwerkfehlers ver-worfen werden können. UDP führt keine zusätzlichen Zuverlässigkeitsmechanismenein, außer einer optionalen Prüfsumme. Ist das Prüfsummenfeld ungleich Null,berechnet der empfangende Host einen Prüfwert aus dem Paketinhalt und vergleichtihn mit der empfangenen Prüfsumme; Pakete, bei denen die beiden Werte nicht über-einstimmen, werden verworfen.

UDP bietet damit eine Möglichkeit, Nachrichten bis zu 64 Kbyte Größe (die von IPmaximal erlaubte Paketgröße) zwischen Prozesspaaren zu übertragen (oder voneinem Prozess aus an mehrere, falls Datagramme an IP-Multicast-Adressen adressiertsind), mit minimalen zusätzlichen Kosten oder Übertragungsverzögerungen über die

3.4 Internet-Protokolle 135

der IP-Übertragung hinaus. Es fallen keine Setup-Kosten an und es ist keine adminis-trative Bestätigung der Nachrichten erforderlich. Seine Verwendung ist aber aufApplikationen und Dienste beschränkt, für die keine zuverlässige Auslieferung ein-zelner oder mehrerer Nachrichten erforderlich ist.

TCP-Funktionsmerkmale TCP stellt einen sehr viel komplexeren Transport-dienst zur Verfügung. Es unterstützt eine zuverlässige Auslieferung beliebig langerBytefolgen über eine -Streambasierte Programmierabstraktion. Die Zuverlässigkeits-garantie beinhaltet die Auslieferung aller der TCP-Software vom sendenden Prozesspräsentierten Daten an den empfangenden Prozess, und zwar in der richtigen Rei-henfolge. TCP ist verbindungsorientiert. Bevor Daten übertragen werden, müssender sendende und der empfangende Prozess zusammen einen bidirektionalen Kom-munikationskanal einrichten. Bei der Verbindung handelt es sich einfach um eineEnde-zu-Ende-Vereinbarung, die eine zuverlässige Datenübertragung zulässt; Zwi-schenknoten wie beispielsweise Router wissen nichts über TCP-Verbindungen unddie IP-Pakete, die die Daten in einer TCP-Übertragung transportieren, müssen nichtunbedingt derselben Route folgen.

Die TCP-Schicht beinhaltet zusätzliche Mechanismen (die über IP implementiertsind), um Zuverlässigkeit gewähren zu können. Es handelt sich dabei um die folgen-den Mechanismen:

Sequenzierung: Ein sendender TCP-Prozess unterteilt den Stream in eine Folge vonDatensegmenten und überträgt sie als IP-Pakete. Jedem TCP-Segment wird eineFolgenummer mitgegeben. Sie gibt die Nummer des Bytes innerhalb des Streamsfür das erste Byte des Segments an. Der Empfänger bringt die empfangenen Seg-mente mithilfe der Folgenummern in die korrekte Reihenfolge, bevor er sie in denEingabe-Stream des empfangenden Prozesses platziert. Ein Segment kann erstdann im Eingabe-Stream platziert werden, nachdem alle Segmente mit kleinererNummer empfangen und im Stream platziert wurden, sodass Segmente, die nichtin der richtigen Reihenfolge eintreffen, in einem Puffer aufbewahrt werden müs-sen, bis ihre Vorgänger eingetroffen sind.

Flusssteuerung: Der Sender kümmert sich darum, den Empfänger oder die Zwi-schenknoten nicht zu überlasten. Dazu wird ein System aus Segmentbestätigun-gen verwendet. Immer wenn ein Empfänger ein Segment erfolgreich erhalten hat,zeichnet er dessen Folgenummer auf. Der Empfänger sendet in bestimmten Zeit-intervallen eine Bestätigung an den Sender und gibt die Folgenummer des Seg-ments mit der höchsten Nummer in seinem Eingabe-Stream zusammen mit einerFenstergröße darin an. Falls es einen rückfließenden Datenfluss gibt, werden dieseBestätigungen in den normalen Datensegmenten transportiert, andernfalls in spe-ziellen Bestätigungssegmenten. Das Feld für die Fenstergröße im Bestätigungs-segment gibt die Datenmenge an, die der Sender vor dem Eintreffen der nächstenBestätigung senden darf.

Wird eine TCP-Verbindung für die Kommunikation mit einem entfernteninteraktiven Programm verwendet, werden möglicherweise kleine Datenmengenerzeugt, aber in sehr schneller Abfolge. Beispielsweise erzeugt die Tastaturein-gabe nur ein paar Zeichen pro Sekunde, aber die Zeichen sollten ausreichendschnell übertragen werden, sodass die Benutzer die Ergebnisse beim Schreibensehen können. Dazu setzt man ein Timeout T für lokale Puffer – normalerweise0,5 Sekunden. Bei diesem einfachen Schema wird ein Segment an den Empfängergesendet, wenn Daten T Sekunden lang im Ausgabepuffer warten oder wenn der

Kapitel 3 – Netzwerke und Internetworking136

Inhalt des Puffers die MTU-Obergrenze erreicht. Dieses Pufferschema kann nichtmehr als T Sekunden zu der interaktiven Verzögerung beitragen. Nagle hat einenweiteren Algorithmus beschrieben, der weniger Verkehr erzeugt und für einigeinteraktive Applikationen effektiver ist [Nagle 1984]. Der Algorithmus von Naglewird in vielen TCP-Implementierungen eingesetzt. Die meisten TCP-Implemen-tierungen sind konfigurierbar, sodass die Applikationen den Wert von T ändernoder zwischen verschiedenen Pufferalgorithmen wählen können.

Auf Grund der Unzuverlässigkeit von Funknetzwerken und dem häufig dar-aus resultierenden Paketverlust sind diese Mechanismen zur Flusssteuerung nichtbesonders relevant für die Funkkommunikation. Das ist einer der Gründe für dieVerwendung eines anderen Transportmechanismus in der WAP-Familie der Pro-tokolle für WAN-Mobilkommunikation. Aber die Implementierung von TCP fürFunknetzwerke ist ebenfalls wichtig und es wurden Änderungen am TCP-Mecha-nismus für genau diesen Zweck vorgeschlagen [Balakrishnan et al. 1995, 1996].Der Gedanke dabei ist, eine TCP-Support-Komponente an der Funkbasisstation(dem Gateway zwischen verkabeltem und Funknetzwerk) zu implementieren.Die Support-Komponente hört die TCP-Segmente zum und vom Funknetzwerkab und überträgt alle ausgehenden Segmente neu, die nicht relativ schnell vommobilen Empfänger bestätigt werden, und fordert eine erneute Übertragung vonankommenden Segmenten an, wenn Lücken in den Folgenummern festgestelltwerden.

Erneute Übertragung: Der Sender zeichnet die Folgenummern der von ihm gesen-deten Segmente auf. Wenn er eine Bestätigung empfängt, erkennt er, dass die Seg-mente erfolgreich empfangen wurden und löscht sie aus seinen Ausgangspuffern.Wird ein Segment nicht innerhalb eines vorgegebenen Timeouts bestätigt, über-trägt der Sender es erneut.

Puffern: Der Eingangspuffer beim Empfänger soll den Fluss zwischen Sender undEmpfänger ausgleichen. Setzt der empfangende Prozess seine receive-Operationenlangsamer ab als der Sender send-Operationen ausführt, wächst die Datenmengeim Puffer an. Normalerweise werden die Daten aus dem Puffer geholt, bevor die-ser voll ist, aber irgendwann kann der Puffer überlaufen und wenn das passiert,werden ankommende Segmente einfach verworfen und der Sender muss sieerneut übertragen.

Prüfsumme: Jedes Segment enthält eine Prüfsumme, die den Header und dieDaten im Segment abdeckt. Stimmt ein empfangenes Segment nicht mit seinerPrüfsumme überein, wird das Segment verworfen.

3.4.7 DomainnamenDer Entwurf und die Implementierung des Domain Name Systems (DNS) sind inKapitel 9 detailliert beschrieben; hier wollen wir Ihnen nur einen kurzen Überblickverschaffen, um unsere Beschreibung der Internet-Protokolle zu vervollständigen.Das Internet unterstützt ein Schema für die Verwendung symbolischer Namen fürHosts und Netzwerke wie beispielsweise binkley.cs.mcgill.ca oder essex.ac.uk. DieNamenseinheiten sind in einer Namenshierarchie angeordnet. Die Namenseinheitenwerden als Domains bezeichnet, die symbolischen Namen als Domainnamen. Domainssind in einer Hierarchie angeordnet, die ihre organisatorische Struktur reflektierensoll. Die Namenshierarchie ist völlig unabhängig vom physischen Layout der Netz-

3.4 Internet-Protokolle 137

werke, aus denen sich das Internet zusammensetzt. Domainnamen sind für den Men-schen ganz praktisch, aber sie müssen in IP-Adressen übersetzt werden, damit sie alsIDs für die Kommunikation verwendet werden können. Dies unterliegt der Verant-wortlichkeit eines bestimmten Dienstes: DNS. Applikationsprogramme übergebendem DNS Anfragen, um die von den Benutzern angegebenen Domainnamen in Inter-netadressen umzuwandeln.

DNS wird als Server-Prozess implementiert, der auf Host-Computern überall imInternet ausgeführt werden kann. Es gibt mindestens zwei DNS-Server in jederDomain, häufig auch mehr. Die Server jeder Domain enthalten eine partielle Abbil-dung des Domainnamenbaums unterhalb ihrer Domain. Sie müssen mindestens denTeil enthalten, der alle Domain- und Host-Namen innerhalb ihrer Domain abdeckt,aber häufig enthalten sie auch einen größeren Ausschnitt aus dem Baum. DNS-Serververarbeiten Anfragen für die Übersetzung von Domainnamen außerhalb ihres eige-nen Baumabschnitts, indem sie Anfragen an DNS-Server in den relevanten Domainsabsetzen und dabei den Namen in den Segmenten rekursiv von rechts nach links auf-lösen. Die resultierende Übersetzung wird auf dem Server, der die ursprünglicheAnfrage ausgeführt hat, in den Cache gestellt, sodass alle weiteren Anfragen nach derAuflösung von Namen, die auf dieselbe Domain verweisen, ohne die Hilfe andererServer vorgenommen werden können. Ohne ein umfassendes Caching würde DNSnicht funktionieren, weil in fast jedem Fall die „Wurzel“-Namens-Server befragt wer-den müssten, sodass durch diesen Dienstzugriff eine Engstelle entstünde.

3.4.8 FirewallsFast alle Unternehmen brauchen einen Internetanschluss, um ihren Kunden undanderen externen Benutzern Dienste anzubieten oder ihren internen Benutzern zuermöglich, auf externe Informationen und Dienste zuzugreifen. In den verschiedenenUnternehmen werden größtenteils völlig unterschiedliche Computer eingesetzt, dieunterschiedliche Betriebssysteme und unterschiedliche Applikations-Software aus-führen. Die Sicherheit ihrer Software ist noch unterschiedlicher; einige davon ver-wenden vielleicht die technisch ausgereiftesten Sicherheitsmechanismen, währendandere wenig oder überhaupt keine Möglichkeit haben, sicherzustellen, dass die ein-gehende Kommunikation vertrauenswürdig ist und dass die ausgehende Kommuni-kation gegebenenfalls geheim gehalten wird. Insgesamt ist zu sagen, in einem Intra-net mit vielen Computern und unterschiedlichster Software ist es unvermeidbar, dasseinige Systemabschnitte Schwächen aufweisen, die sie empfindlich gegenüber Sicher-heitsangriffen machen. Sicherheitsangriffe sind in Kapitel 7 detailliert beschrieben.

Eine Firewall hat die Aufgabe, die gesamte Kommunikation in und aus einemIntranet zu überwachen und zu steuern. Eine Firewall wird durch mehrere Prozesseimplementiert, die sich wie eine Pforte für ein Intranet verhalten (Abbildung 3.20(a))und die vom Unternehmen festgelegte Sicherheitsstrategie durchsetzen.

Die Ziele einer Firewall-Sicherheitsstrategie können unter anderem wie folgt aus-sehen:

Dienstkontrolle: um festzulegen, welche Dienste auf internen Hosts für den exter-nen Zugriff zur Verfügung stehen, und alle anderen ankommenden Dienstanfra-gen zurückzuweisen. Ausgehende Dienstanfragen und die Antworten daraufkönnen ebenfalls kontrolliert werden. Diese Filteraktionen können auf dem Inhaltvon IP-Paketen und den darin enthaltenen TCP- und UDP-Anforderungen basiert

Kapitel 3 – Netzwerke und Internetworking138

werden. Beispielsweise können eingehende HTTP-Anforderungen zurückgewie-sen werden, wenn sie nicht an einen offiziellen Webserver-Host gerichtet werden.

Verhaltenskontrolle: um ein Verhalten zu verhindern, das den Strategien des Unter-nehmens entgegensteht, das gesellschaftsschädlich ist oder keine erkennbareBerechtigung hat und damit einen Angriff darstellen könnte. Einige dieser Filter-aktionen können auf IP- oder TCP-Ebene angewendet werden, während andereNachrichten möglicherweise auf höherer Ebene interpretiert werden müssen. Bei-spielsweise könnte für das Filtern von E-Mail-Angriffen (‚Spams’) die Auswer-tung der Senderadresse in den Nachrichten-Headern oder sogar im Nachrichten-inhalt erforderlich sein.

Benutzerkontrolle: Das Unternehmen will möglicherweise zwischen seinen Benut-zern unterscheiden und einigen den Zugriff auf externe Dienste erlauben, ande-ren dagegen nicht. Ein Beispiel für eine sozial vielleicht am ehesten akzeptableBenutzerkontrolle ist, das Herunterladen von Software zu verhindern, außer fürBenutzer, die zur Systemadministration gehören, um sich gegen Viren zu schüt-zen oder Softwarestandards beizubehalten. Diese Aufgabe wäre schwer zu imple-mentieren, könnte man normalen Benutzern die Verwendung des Webs nichtuntersagen.

Ein weiteres Beispiel für die Benutzerkontrolle ist die Verwaltung von DFÜ-und anderen Verbindungen, die für Benutzer außerhalb des Unternehmens zurVerfügung stehen. Ist die Firewall gleichzeitig der Host für Modem-Verbindun-

Abbildung 3.20 Firewall-Konfigurationen

3.4 Internet-Protokolle 139

gen, kann sie die Benutzer beim Verbindungsaufbau authentifizieren und die Ver-wendung eines sicheren Kanals für die gesamte Kommunikation fordern (umLauschangriffe, Maskeraden und andere Angriffe gegen die externe Verbindungzu verhindern). Dies ist die Aufgabe der VPN-Technologie (Virtual Private Net-work), die im nächsten Abschnitt beschrieben ist.

Die Strategie muss in Hinblick auf Filter-Operationen ausgedrückt werden, die vonFilter-Prozessen auf verschiedenen Ebenen ausgeführt werden:

IP-Paketfilterung: Dies ist ein Prozess, der einzelne IP-Pakete betrachtet. Er kannEntscheidungen abhängig von der Ziel- und der Quelladresse vornehmen. Außer-dem kann er das Servicetyp-Feld von IP-Paketen auswerten und den Inhalt derPakete abhängig von ihrem Typ interpretieren. Beispielsweise könnte er TCP-Pakete der Port-Nummer entsprechend filtern, an die sie adressiert sind, und weilsich Dienste im Allgemeinen an bekannten Ports befinden, können Pakete nachdem angeforderten Dienst gefiltert werden. Beispielsweise verbieten viele Sys-teme die Verwendung von NFS-Servern durch externe Clients.

Aus Leistungsgründen wird die IP-Filterung normalerweise durch einen Pro-zess im Betriebssystem-Kernel eines Routers vorgenommen. Werden mehrereFirewalls verwendet, könnte die erste bestimmte Pakete zur genaueren Untersu-chung durch eine nachfolgende Firewall kennzeichnen, während „saubere“Pakete ungehindert passieren. Es ist möglich, entsprechend der Abfolge von IP-Paketen zu filtern, um beispielsweise den Zugriff auf einen FTP-Server zu verhin-dern, bevor eine Anmeldung stattgefunden hat.

TCP-Gateway: Ein TCP-Gateway-Prozess überprüft alle TCP-Verbindungsanforde-rungen und Segmentübertragungen. Bei der Installation eines TCP-Gateway-Prozesses kann die Einrichtung von TCP-Verbindungen gesteuert und die TCP-Segmente können auf Korrektheit überprüft werden (manche Denial of Service-Angriffe verwenden fehlerhaft formatierte TCP-Segmente, um Client-Betriebssys-teme zu stören). Gegebenenfalls können sie auch durch einen Gateway auf Appli-kationsebene geleitet werden, um den Inhalt zu überprüfen.

Gateway auf Applikationsebene: Ein Gateway-Prozess auf Applikationsebene agiertals Proxy für einen Applikations-Prozess. Beispielsweise könnte man eine Strate-gie anwenden, die bestimmten internen Benutzern erlaubt, Telnet-Verbindungenzu bestimmten entfernten Hosts einzurichten. Wenn ein Benutzer ein Telnet-Pro-gramm auf seinem lokalen Computer ausführt, versucht er, eine TCP-Verbindungmit einem entfernten Host einzurichten. Die Anfrage wird vom TCP-Gatewayaufgefangen. Der TCP-Gateway startet einen Telnet Proxy-Prozess und dieursprüngliche TCP-Verbindung wird auf ihn umgeleitet. Falls der Proxy die Tel-net-Operation akzeptiert (d.h. der Benutzer besitzt die Berechtigung, den angefor-derten Host zu verwenden), richtet er eine weitere Verbindung zu dem angefor-derten Host ein und leitet dann alle TCP-Pakete in beide Richtungen weiter. Einähnlicher Proxy-Prozess würde für jeden Telnet-Client ausgeführt und ähnlicheProxies könnten für FTP und andere Dienste verwendet werden.

Eine Firewall setzt sich normalerweise aus mehreren Prozessen zusammen, die aufunterschiedlichen Protokollebenen arbeiten. Häufig werden aus Gründen der Leis-tung und Fehlertoleranz mehrere Computer eingesetzt, um die Aufgaben der Fire-wall zu erledigen. In allen nachfolgend beschriebenen und in Abbildung 3.20 gezeig-

Kapitel 3 – Netzwerke und Internetworking140

ten Konfigurationen zeigen wir einen ungeschützten öffentlichen Web- und FTP-Server. Er enthält nur veröffentlichte Informationen, die nicht gegen den allgemeinenZugriff geschützt werden müssen, und seine Server-Software stellt sicher, dass nurberechtigte interne Benutzer ihn aktualisieren können.

Die Filterung von IP-Paketen erfolgt normalerweise in einem Router – das ist einComputer mit mindestens zwei Netzwerkadressen auf separaten IP-Netzwerken.Dort werden ein RIP-Prozess, ein IP-Paketfilter-Prozess und so wenig andere Pro-zesse wie möglich ausgeführt. Der Router/Filter darf nur vertrauenswürdige Soft-ware ausführen, die ihm ermöglicht, die Filterstrategien zu erzwingen. Dabei mussauch sichergestellt werden, dass keine Trojanischen Pferde ausgeführt werden kön-nen und dass die Filter- und Routing-Software nicht verändert oder gefälscht werdenkann. Abbildung 3.20(a) zeigt eine einfache Firewall-Konfiguration, die nur auf IP-Filtern basiert und für diesen Zweck einen einzigen Router einsetzt. Die in Abbil-dung 3.10 gezeigte Netzwerkkonfiguration enthält zwei Router/Filter, die als Fire-walls dieses Typs agieren. Bei dieser Konfiguration gibt es aus Leistungs- und Zuver-lässigkeitsgründen zwei Router/Filter. Beide unterliegen derselben Filterstrategieund die zweite Konfiguration erhöht die Sicherheit des Systems nicht.

Wenn TCP- und Gateway-Prozesse auf Applikationsebene erforderlich sind, wer-den sie normalerweise auf einem separaten Computer ausgeführt, auch als Bastionbezeichnet. (Der Begriff stammt aus der Architektur befestigter Schlossanlagen; eshandelt sich dabei um einen emporragenden Aussichtsturm, von dem aus dasSchloss verteidigt werden kann oder von dem aus die Verteidiger überprüfen kön-nen, wer Einlass fordert.) Ein Bastion-Computer ist ein Host, der sich innerhalb desvon einem IP-Routers/Filters geschützten Intranets befindet und den TCP-Gatewaysowie den Gateway auf Applikationsebene ausführt (Abbildung 3.20(b)). Wie derRouter/Filter darf die Bastion nur vertrauenswürdige Software ausführen. In einemausreichend gesicherten Intranet müssen Proxies für den Zugriff auf alle außerhalbliegenden Dienste eingesetzt werden. Die Leser kennen die Verwendung von Proxiesfür den Webzugriff vielleicht schon. Dies ist ein Beispiel für die Verwendung vonFirewall-Proxies; häufig werden sie so aufgebaut, dass sie sich in einen Web-Cache-Server (siehe Kapitel 2) integrieren. Dieser und andere Proxies verbrauchen sehrwahrscheinlich sehr viele Verarbeitungs- und Speicher-Ressourcen.

Sicherheit kann durch die Anwendung von zwei Routern/Filtern in Serie erhöhtwerden, wobei sich die Bastion und alle öffentlichen Server in einem separaten Teil-netz befinden, das die Router/Filter verbindet (Abbildung 3.20(c)). Diese Konfigura-tion weist mehrere Sicherheitsvorteile auf:

õ Bei einer strengen Bastion-Strategie müssen die IP-Adressen von Hosts im Intra-net der Außenwelt nicht einmal mitgeteilt werden und die Adressen der Außen-welt müssen den internen Computern nicht bekannt sein, weil die gesamteexterne Kommunikation über Proxy-Prozesse in der Bastion erfolgt, die Zugriffauf beides besitzt.

õ Wird der erste Router/Filter durchbrochen oder erfolgreich angegriffen, bleibtnoch der zweite, der von außerhalb des Intranets nicht sichtbar und deshalb weni-ger anfällig ist, um unerwünschte IP-Pakete zu erkennen und zurückzuweisen.

VPNs (Virtual Private Networks) VPNs erweitern den Firewall-Schutz über daslokale Intranet hinaus, indem sie durch Verschlüsselung geschützte sichere Kanäleauf IP-Ebene einsetzen. In Abschnitt 3.4.4 haben wir die IP-Sicherheitserweiterungen

3.5 Netzwerkfallstudien: Ethernet, Funk-LAN und ATM 141

gezeigt, die mit IPSec-Tunneling in IPv6 und IPv4 zur Verfügung stehen [Thayer1998]. Sie bilden die Grundlage für die Implementierung von VPNs. Sie können füreinzelne externe Benutzer verwendet werden oder um sichere Verbindungen zwi-schen Intranets auf verschiedenen Systemen unter Verwendung öffentlicher Internet-verbindungen zu implementieren.

Beispielsweise könnte es für ein Mitglied des Teams erforderlich sein, über einenInternet Service Provider eine Verbindung zum Intranet des Unternehmens einzu-richten. Nachdem die Verbindung steht, sollten ihm dieselben Möglichkeiten bereit-stehen wie allen anderen Benutzern innerhalb der Firewall. Das kann realisiert wer-den, wenn sein lokaler Host IP-Sicherheit implementiert. Der lokale Host enthälteinen oder mehrere Verschlüsselungsschlüssel, die er und die Firewall kennen unddie verwendet werden, um zum Zeitpunkt der Verbindung einen sicheren Kanal ein-zurichten. Weitere Informationen über sichere Kanäle finden Sie in Kapitel 7.

3.5 Netzwerkfallstudien: Ethernet, Funk-LAN und ATMBisher haben wir die Theorie beschrieben, die für den Aufbau von Computernetz-werken angewendet wird, ebenso wie IP, die „virtuelle Netzwerkschicht“ des Inter-nets. Zum Abschluss des Kapitels beschreiben wir die Grundlagen und Implementie-rungen von drei Netzwerken aus der Praxis.

Anfang der 80er Jahre richtete das US Institute of Electrical and Electronic Engineers(IEEEE) ein Komitee ein, das mehrere Standards für LAN spezifizieren sollte (das802-Komitee [IEEE 1990]); die untergeordneten Komitees haben verschiedene Spezifi-kationen produziert, die zum wichtigsten Standard für LANs geworden sind. In denmeisten Fällen basieren die Standards auf bereits vorhandenen Industriestandards,die sich aus Forschungen in den 70er Jahren entwickelt haben. Abbildung 3.21 zeigtdie relevanten Unterkomitees sowie die Standards, die sie bisher veröffentlichthaben.

Sie unterscheiden sich in Leistung, Effizienz, Zuverlässigkeit und Kosten, bietenaber alle Netzwerkfunktionen mit relativ hoher Bandbreite über kurze und mittlereDistanzen. Der IEEE 802.3 Ethernet-Standard hat die Konkurrenz um den verdrahte-ten LAN-Markt größtenteils gewonnen und wir beschreiben ihn in Abschnitt 3.5.1 als

Abbildung 3.21 IEEE 802-Netzwerkstandards

IEEE-Nummer Titel Referenz

802.3 CSMA/CD Networks (Ethernet)

[IEEE 1985a]

802.4 Token Bus Networks [IEEE 1985b]

802.5 Token Ring Networks [IEEE 1985c]

802.6 Metropolitan Area Networks [IEEE 1994]

802.11 Wireless Local Area Networks

[IEEE 1999]

Kapitel 3 – Netzwerke und Internetworking142

unseren Vertreter für die verdrahtete LAN-Technologie. Obwohl es Ethernet-Imple-mentierungen für verschiedene Bandbreiten gibt, gelten dieselben Betriebsgrundla-gen für sie.

Der IEEE 802.5 Token Ring-Standard war in den 90er Jahren ein großer Konkur-rent und übertraf das Ethernet in Hinblick auf Effizienz und die Unterstützung vonBandbreitengarantien, aber heute ist er völlig vom Markt verschwunden. Leser, diean einer detaillierten Beschreibung dieser interessanten LAN-Technologie interessiertsind, finden unter www.cdk3.net/networking weitere Informationen.

Der IEEE 802.4 Token Bus-Standard wurde für industrielle Anwendungen mitEchtzeitanforderungen entwickelt und wird in diesem Bereich heute noch eingesetzt.Der IEEE 802.6 Metropolitan Area-Standard ist für Distanzen bis zu 50 km geeignetund für die Verwendung in Netzwerken vorgesehen, die einzelne Städte abdecken.Eine detailliertere Beschreibung sowie einen Vergleich der vier IEEE-Standards 802.3bis 802.6 finden Sie in [Tanenbaum 1996].

Der IEEE 802.11 Wireless LAN-Standard hat sich etwas später entwickelt, nimmtaber heute eine bedeutende Position im Markt ein und wird mit Produkten vonLucent (WaveLAN) und anderen Anbietern immer wichtiger für die mobilen undüberall eingesetzten programmierbaren Geräte. Der IEEE 802.11-Standard soll Kom-munikation mit Geschwindigkeiten von bis zu elf Mbps über Distanzen von bis zu150 m zwischen Geräten unterstützen, die mit einfachen Funk-Sendern/Empfängernausgestattet sind. Wir beschreiben die Grundlagen für seinen Betrieb in Abschnitt3.5.2. Weitere Informationen über IEEE 802.11-Netzwerke finden Sie in [Crow et al.1997] und [Kurose und Ross 2000].

Die ATM-Technologie entwickelte sich aus größeren Forschungs- und Standardi-sierungsarbeiten im Bereich der Telekommunikations- und Computerindustrie Endeder 80er und Anfang der 90er Jahre [CCITT 1990]. Sie soll digitale WAN-Technologiemit hoher Bandbreite unterstützen, die für Telefonie-, Daten- und Multimedia- (hoch-qualitatives Audio und Video) Applikationen geeignet ist. Obwohl sich ATM langsa-mer als erwartet durchgesetzt hat, ist es heute die dominante Technologie für Hoch-geschwindigkeits-WANs. In einigen Kreisen wurde es auch schon als Ersatz fürEthernet in LAN-Applikationen betrachtet, aber in diesem Bereich war es auf Grundder Konkurrenz der 100 Mbps- und 1.000 Mbps-Ethernets, die es heute schon zueinem sehr viel niedrigeren Preis gibt, weniger erfolgreich. Wir skizzieren die Grund-lagen für die Arbeit mit ATM in Abschnitt 3.5.3. Weitere Informationen über ATMund andere Hochgeschwindigkeitsnetzwerk-Technologien finden Sie in [Tanenbaum1996] und [Stallings 1998a].

3.5.1 EthernetDas Ethernet wurde 1973 am Xerox Palo Alto Research Center [Metcalfe und Boggs1976; Shoch et al. 1982; 1985] als Teil des Forschungsprogramms entwickelt, das dortfür Personal Workstations und verteilte Systeme eingerichtet wurde. Das Pilot-Ether-net war das erste lokale Hochgeschwindigkeitsnetzwerk, das die Machbarkeit undden Nutzen schneller lokaler Netzwerke zur Verbindung von Computern innerhalbeines einzigen Systems demonstrierte, sodass diese mit hohen Übertragungsge-schwindigkeiten und geringen Fehlerquoten und ohne Switching-Verzögerungenkommunizieren konnten. Der ursprüngliche Ethernet-Prototyp unterstützte dreiMbps. Heute gibt es Ethernet-Systeme mit Bandbreiten von zehn Mbps bis 1.000

3.5 Netzwerkfallstudien: Ethernet, Funk-LAN und ATM 143

Mbps. Viele proprietäre Netzwerke wurden unter Verwendung derselben grundle-genden Methode implementiert, mit Kosten/Leistungs-Eigenschaften, die für dieunterschiedlichsten Anwendungen geeignet sind. Beispielsweise werden auf demuntersten Kostenniveau dieselben Betriebsgrundlagen verwendet, um billige Mikro-computer mit Übertragungsgeschwindigkeiten von 100 bis 200 kbps zu verbinden.

Wir werden die Betriebsgrundlagen des in IEEE-Standard 802.3 beschriebenen 10Mbps-Ethernets vorstellen [IEEE 1985a]. Dies war die erste allgemein eingesetzteLAN-Technologie und die vielleicht heute immer noch am weitesten verbreitete,obwohl für neue Installationen heute die Variante mit 100 Mbps bevorzugt wird. Wirwerden die wichtigsten Variationen der Ethernet-Übertragungs-Technologie und -Bandbreite beschreiben, die heute angeboten werden. Eine detaillierte Beschreibungdes Ethernets in allen Varianten finden Sie in [Spurgeon 2000].

Ein einziges Ethernet ist eine einfache oder verzweigende busähnliche Verbin-dung, die ein Übertragungsmedium verwendet, das aus einem oder mehreren fort-laufenden Kabelsegmenten besteht, die über Hubs oder Repeater verbunden sind.Hubs und Repeater sind einfache Geräte, die einzelne Kabelstücke verbinden, sodassdie Signale sie alle durchlaufen können. Mehrere Ethernets können auf der Ebene desEthernet-Netzwerk-Protokolls durch Ethernet-Switches oder -Bridges verbundenwerden. Switches und Bridges arbeiten auf der Ebene von Ethernet-Frames und lei-ten sie auf benachbarte Ethernets weiter, falls ihr Ziel dort liegt. Verknüpfte Ethernetserscheinen auf höheren Protokollebenen wie ein einzelnes Netzwerk, beispielsweiseIP (siehe Abbildung 3.10, wo sich die IP-Teilnetze 138.37.88 und 138.37.94 jeweils ausmehreren Ethernets zusammensetzen, die durch Komponenten verbunden sind, dieals Eswitch markiert sind). Insbesondere das ARP-Protokoll (Abschnitt 3.4.2) ist in derLage, IP-Adressen über mehrere verknüpfte Ethernets in Ethernet-Adressen aufzulö-sen; jede ARP-Anfrage wird als Broadcast über alle verknüpften Netzwerke einesTeilnetzes gesendet.

Die Betriebsmethode von Ethernets wird durch CSMA/CD (Carrier Sensing, Mul-tiple Access with Collision Detection, Vielfachzugriff mit Trägererkennung und Kolli-sionserkennung) beschrieben. Sie gehören zur Klasse der Konkurrenz-Bus-Netzwerke.Konkurrenz-Busse verwenden ein einziges Übertragungsmedium zur Verknüpfungaller Hosts. Das Protokoll, das den Zugriff auf das Medium verwaltet, wird auch alsMAC-Protokoll (Medium Access Control) bezeichnet. Weil eine einzige Verknüpfungalle Hosts verbindet, kombiniert das MAC-Protokoll die Funktionen eines Verbin-dungsschicht-Protokolls (das für die Übertragung von Paketen auf Kommunikations-verbindungen verantwortlich ist) und eines Netzwerkschicht-Protokolls (das für dieAuslieferung von Paketen an Hosts verantwortlich ist) in einer einzigen Protokoll-schicht.

Paket-Broadcasting Die Kommunikation in CSMA/CD-Netzwerken erfolgtüber Broadcasts von Datenpaketen auf dem Übertragungsmedium. Alle Stationenhören ständig das Medium auf Pakete ab, die an sie adressiert sind. Eine Station, dieeine Nachricht übertragen will, sendet ein oder mehr Pakete (in der Ethernet-Spezifi-kation als Frames bezeichnet) als Broadcast auf dem Medium. Jedes Paket enthält dieAdresse der Zielstation, die Adresse der sendenden Station sowie eine variabel langeBitfolge, die die zu übertragende Nachricht darstellt. Die Datenübertragung erfolgtmit zehn Mbps (oder mit den höheren Geschwindigkeiten, die für 100 und 1.000Mbps-Ethernets spezifiziert sind) und die Pakete können eine Länge zwischen 64 und1.518 Bytes haben, die Übertragungszeit für ein Paket auf einem 10 Mbps-Ethernetbeträgt also 50 bis 1.200 Mikrosekunden, abhängig von seiner Länge. Die MTU ist im

Kapitel 3 – Netzwerke und Internetworking144

IEEE-Standard mit 1.518 Bytes festgelegt, obwohl es keine technische Begründung füreine begrenzte Länge gibt, außer der Notwendigkeit, durch Überlast verursachte Ver-zögerungen zu vermeiden.

Die Adresse der Zielstation verweist normalerweise auf eine einzelne Netzwerk-schnittstelle. Die Controller-Hardware auf jeder Station erhält eine Kopie eines jedenPakets. Sie vergleicht die Zieladresse in jedem Paket mit einer fest verdrahteten loka-len Adresse, wobei Pakete ignoriert werden, die an andere Stationen adressiert sind,und Pakete mit einer übereinstimmenden Adresse an den lokalen Host weitergege-ben werden. Die Zieladresse kann auch eine Broadcast- oder Multicast-Adresse ange-ben. Normale Adressen werden nach ihrem höchsten Bit (0 bzw. 1) zwischen Broad-cast- und Multicast-Adressen unterschieden. Eine Adresse, die ausschließlich ausEinsen besteht, ist für die Verwendung als Broadcast-Adresse reserviert; sie wird ver-wendet, wenn eine Nachricht von allen Stationen im Netzwerk empfangen werdensoll. Dies wird beispielsweise für die Implementierung des ARP IP-Adressauflö-sungs-Protokolls verwendet. Jede Station, die ein Paket mit einer Broadcast-Adresseempfängt, gibt dieses an ihren lokalen Host weiter. Eine Multicast-Adresse stellt einebeschränkte Form des Broadcasts dar, die von einer Gruppe von Stationen empfan-gen wird, deren Netzwerkschnittstellen so konfiguriert sind, dass sie Pakete mit die-ser Multicast-Adresse entgegennehmen. Nicht alle Implementierungen von Ethernet-Netzwerkschnittstellen erkennen Multicast-Adressen.

Das Ethernet-Netzwerk-Protokoll (das für die Übertragung von Ethernet-Paketenzwischen Hosts vorgesehen ist) ist in der Ethernet-Hardwareschnittstelle implemen-tiert; für die Transportschicht und die darüber liegenden Schichten ist Protokoll-Soft-ware erforderlich.

Layout von Ethernet-Paketen Die Pakete (genauer gesagt, die Frames), die vonStationen im Ethernet übertragen werden, haben das folgende Layout:

Neben den bereits erwähnten Ziel- und Quelladressen beinhalten Frames ein festste-hendes, acht Byte großes Präfix, ein Feld für die Länge, ein Feld für die Daten sowieeine Prüfsumme. Das Präfix wird für Hardware-Timing-Zwecke verwendet undbesteht aus einer Präambel mit sieben Bytes, die je das Bitmuster 10101010 gefolgtvon einem ein Byte großen Start-Frame-Kennzeichner (in der Abbildung ist das S)mit dem Bitmuster 10101011 enthält.

Obwohl die Spezifikation nicht mehr als 1.024 Stationen auf einem einzelnenEthernet erlaubt, belegen Adressen sechs Bytes, sodass 248 unterschiedliche Adressenmöglich sind. Aus diesem Grund kann jeder Ethernet-Hardwareschnittstelle vonihrem Hersteller eine eindeutige Adresse zugewiesen werden, wodurch sichergestelltist, dass alle Stationen in jeder Kombination aus beliebigen Ethernets eindeutigeAdressen haben. Das US Institute of Electrical and Electronic Engineers (IEEE) ist diezuständige Stelle für Ethernet-Adressen und erteilt den Herstellern von Ethernet-Hardwareschnittstellen jeweils separate Bereiche von 48-Bit-Adressen.

Bytes: 7 1 6 6 2 46 ≤ Länge ≤ 1500

4

Präambel S Zieladresse Quell-adresse

Länge der Daten

Daten für die Übertragung

Prüfsumme

3.5 Netzwerkfallstudien: Ethernet, Funk-LAN und ATM 145

Das Datenfeld enthält die gesamte oder einen Teil (falls die Nachricht länger als 1.500Bytes ist) der zu übertragenden Nachricht. Die Untergrenze von 46 Bytes im Daten-feld stellt eine Mindestpaketlänge von 64 Bytes sicher, die erforderlich ist, damit alleStationen im Netzwerk Kollisionen erkennen, wie nachfolgend erklärt.

Die Frame-Prüffolge ist eine Prüfsumme, die vom Sender erzeugt und eingefügtwird, und mit deren Hilfe Pakete vom Empfänger überprüft werden. Pakete mit feh-lerhaften Prüfsummen werden von der Verbindungsschicht der empfangenden Sta-tion einfach verworfen. Dies ist ein weiteres Beispiel für die Anwendung des Ende-zu-Ende-Arguments: um die Übertragung einer Nachricht zu garantieren, muss einTransportschicht-Protokoll wie beispielsweise TCP, bei dem jedes Paket bestätigtwird und alle nicht bestätigten Pakete erneut übertragen werden, verwendet werden.Die Wahrscheinlichkeit von Datendefekten in lokalen Netzwerken ist so gering, dassdiese Methode für die Wiederherstellung, falls eine garantierte Auslieferung erfor-derlich ist, vollkommen ausreichend ist. Sie erlaubt die Verwendung eines wenigeraufwändigen Transport-Protokolls wie beispielsweise UDP, wenn keine Ausliefe-rungsgarantie erforderlich ist.

Paketkollisionen Selbst in der relativ kurzen Zeit, die es dauert, Pakete zu über-tragen, besteht die Wahrscheinlichkeit, dass zwei Stationen im Netzwerk gleichzeitigversuchen, Nachrichten zu übertragen. Versucht eine Station, ein Paket zu übertra-gen, ohne zuvor zu überprüfen, ob das Medium von anderen Stationen benutzt wird,kann eine Kollision auftreten.

Das Ethernet verfügt über drei Mechanismen, um mit dieser Wahrscheinlichkeitzurechtzukommen. Die erste wird auch als Carrier Sensing (Trägererkennung)bezeichnet; die Schnittstellen-Hardware in jeder Station hört das Medium auf dasVorhandensein eines Signals (in Analogie zur Radioübertragung auch als Carrierbezeichnet) ab. Will eine Station ein Paket übertragen, wartet sie, bis im Medium keinSignal mehr vorhanden ist und beginnt mit der Übertragung.

Leider verhindert die Trägererkennung nicht alle Kollisionen. Die Wahrscheinlich-keit der Kollision bleibt bestehen auf Grund der endlichen Zeit _, die ein Signal, dasan irgendeiner Stelle in das Medium eingespeist wird (und das mit elektronischerGeschwindigkeit reist: etwa 2 x 108 m/s), benötigt, um alle anderen Punkte zu errei-chen. Betrachten Sie zwei Stationen A und B, die Pakete fast gleichzeitig übertragenwollen. A beginnt mit der Übertragung. B überprüft das Medium und stellt zu einerZeit t < _ nach dem Beginn der Übertragung durch A fest, dass kein Signal imMedium vorliegt. B beginnt also ebenfalls zu senden und stört damit die Übertra-gung von A. Die Pakete von A und die von B werden durch die Störung beschädigt.

Die Technik für die Wiederherstellung nach einer solchen Störung wird auch alsKollisionserkennung bezeichnet. Immer wenn eine Station ein Paket über ihren Hard-ware-Ausgabeport überträgt, hört sie gleichzeitig ihren Eingabeport ab und die bei-den Signale werden verglichen. Unterscheiden sie sich, ist eine Kollision aufgetreten.Wenn dies passiert, beendet die Station die Übertragung und erzeugt ein Störungssig-nal, um sicherzustellen, dass alle Stationen die Kollision erkennen. Wie wir bereitsangemerkt haben, ist eine Mindestpaketlänge erforderlich, um sicherzustellen, dassKollisionen immer erkannt werden. Übertragen zwei Stationen fast gleichzeitig vonentgegengesetzten Enden des Netzwerks, erkennen sie die Kollision 2_ Sekundenlang nicht (weil der erste Sender immer noch überträgt, wenn er das zweite Signalempfängt). Benötigen die übertragenen Pakete weniger als _ für den Broadcast, wirddie Kollision nicht erkannt, weil jede sendende Station das andere Paket erst sieht,wenn sie mit der Übertragung ihres eigenen Pakets fertig ist, während Stationen auf

Kapitel 3 – Netzwerke und Internetworking146

dazwischen liegenden Punkten beide Pakete gleichzeitig empfangen, was zu einerBeschädigung der Daten führt.

Nach dem Störungssignal verwerfen alle übertragenden und empfangenden Stati-onen ihr aktuelles Paket. Die übertragenden Stationen müssen dann versuchen, ihrePakete wiederholt zu übertragen. Jetzt kommt eine weitere Schwierigkeit ins Spiel.Wenn alle an der Kollision beteiligten Stationen versuchen, ihre Pakete unmittelbarnach der Übermittlung des Störsignals erneut zu übertragen, entsteht sehr wahr-scheinlich die nächste Kollision. Um dies zu vermeiden, wird das so genannte Back-Off verwendet. Jede der an einer Kollision beteiligten Stationen wartet eine Zeit n_,bevor sie das Paket erneut überträgt. Der Wert von n ist eine ganzzahlige Zufallszahlund wird auf jeder Station separat festgelegt und durch eine Konstante L begrenzt,die in der Netzwerk-Software definiert ist. Tritt eine weitere Kollision auf, wird derWert von L verdoppelt und der Prozess gegebenenfalls bis zu zehnmal wiederholt.

Schließlich berechnet die Schnittstellen-Hardware der empfangenden Station diePrüffolge und vergleicht sie mit der im Paket übertragenen Prüfsumme. Unter Ver-wendung all dieser Techniken können die an das Ethernet angeschlossenen Stationendie Nutzung des Mediums verwalten, ohne dass eine zentrale Steuerung oder Syn-chronisierung erforderlich ist.

Ethernet-Effizienz Die Effizienz eines Ethernets entspricht dem Verhältnis derAnzahl erfolgreich übertragener Pakete zu der theoretisch maximalen Anzahl derPakete, die ohne Kollisionen übertragen werden können. Sie wird durch den Wertvon _ beeinflusst, weil das Intervall von 2_ Sekunden nach dem Start der Paketüber-tragung das „Gelegenheitsfenster“ für Kollisionen darstellt – keine Kollision kannspäter als 2_ Sekunden auftreten, nachdem die Übertragung des Pakets begonnenhat. Außerdem wird sie durch die Anzahl der Stationen im Netzwerk und ihren Akti-vitätsgrad beeinflusst.

Für ein Kabel von 1 km beträgt der Wert von _ weniger als fünf Mikrosekundenund die Kollisionswahrscheinlichkeit ist klein genug, um höchste Effizienz zu garan-tieren. Das Ethernet kann eine Kanalauslastung zwischen 80 und 95% erzielen,obwohl beim Überschreiten einer Auslastung von 50% bereits Verzögerungenerkennbar werden. Weil die Last variabel ist, kann die Auslieferung einer Nachrichtinnerhalb einer festen Zeit nicht garantiert werden, da das Netzwerk möglicherweisevoll ausgelastet ist, wenn die Nachricht zur Übertragung ansteht. Die Wahrscheinlich-keit, dass die Nachricht mit einer bestimmten Verzögerung übertragen wird, ist so gutwie bzw. besser als in anderen Netzwerk-Technologien.

Empirische Messungen der Leistung eines Ethernets im Xerox PARC, die vonShoch und Hupp [1980] aufgezeichnet wurden, bestätigen diese Analyse. In der Pra-xis variiert die Auslastung von in verteilten Systemen eingesetzten Ethernets ganzwesentlich. Viele Netzwerke werden hauptsächlich für asynchrone Client-/Server-Client-/Server-Interaktionen eingesetzt, die größtenteils ohne Stationen arbeiten, dieauf eine Möglichkeit zum Senden warten, sodass eine Kanalauslastung von annä-hernd 1 vorliegt. Netzwerke, die vielen Benutzern Zugriff auf eine große Daten-menge bereitstellen müssen, sind stärker ausgelastet, und Netzwerke, die Multime-dia-Streams übertragen, sind wahrscheinlich überlastet, wenn mehrere Streamsgleichzeitig übertragen werden sollen.

Physische Implementierungen Die obige Beschreibung definiert das MAC-Schicht-Protokoll für alle Ethernets. Die allgemeine Akzeptanz in einem großenMarktsegment hat dazu geführt, dass es bereits sehr billige Controller-Hardware gibt,

3.5 Netzwerkfallstudien: Ethernet, Funk-LAN und ATM 147

die die Algorithmen für die Implementierung unterstützt, und die in vielen Compu-tern bereits als Standard eingebaut ist.

Zahlreiche physische Ethernet-Implementierungen basieren darauf, unterschied-liche Abwägungen zwischen Leistung und Kosten anzubieten und die erhöhte Hard-ware-Leistung auszunutzen. Die Variationen entstehen aus der Verwendung unter-schiedlicher Übertragungsmedien – Koaxialkabel, verdrillter Kupferdraht (ähnlichder Telefonverkabelung) und Fiberglas – mit unterschiedlichen Grenzen für denÜbertragungsbereich, ebenso wie aus der Verwendung höherer Signalgeschwindig-keiten, wodurch eine größere Systembandbreite und allgemein kürzere Übertra-gungsbereiche entstehen. Die IEEE hat mehrere Standards für physische Implemen-tierungen übernommen und es gibt ein Namensschema für ihre Kennzeichnung. Eswerden Namen wie beispielsweise 10Base5 oder 100BaseT verwendet. Sie haben diefolgende Form:

<R><B><L> Dabei ist: R = Datengeschwindigkeit in MbpsB = Mediensignaltyp (Basisband oder Breitband)L = maximale Segmentlänge in m/100, oder T (Twisted Pair Cable Hierarchy)

Die nachfolgende Tabelle zeigt die Bandbreite und die maximale Reichweite verschie-dener momentan angebotener Standardkonfigurationen und Kabeltypen:

Konfigurationen, die mit der Bezeichnung T enden, sind mit UTP-Verkabelung im-plementiert – nicht geschirmtem verdrilltem Kabel (Telefonkabel). Sie sind in einerHierarchie von Hubs angeordnet, wobei an den Blättern des Baumes Computer plat-ziert sind. In diesem Fall sind die in unserer Tabelle angegebenen Segmentlängenmöglicherweise die doppelte erlaubte Distanz von einem Computer zu einem Hub.

3.5.2 IEEE 802.11 Funk-LANIn diesem Abschnitt bieten wir einen Überblick über die speziellen Eigenschaften vonFunknetzwerken, die von einer Funk-LAN-Technologie abgedeckt werden müssen,und erklären, wie IEEE 802.11 sie realisiert. Der IEEE 802.11-Standard erweitert das inder Ethernet-Technologie (IEEE 802.3) verwendete CSMA-Prinzip, um die Eigen-schaften der Funkkommunikation zu unterstützen. Der 802.11-Standard soll dieKommunikation zwischen Computern in Abständen von bis zu 150 Metern und mitGeschwindigkeiten von bis zu elf Mbps unterstützen.

10Base5 10BaseT 100BaseT 1000BaseT

Datengeschwindigkeit 10 Mbps 10 Mbps 100 Mbps 1.000 Mbps

Max. Segmentlängen:

Verdrilltes Kabel (UTP) 100 m 100 m 100 m 25 m

Koaxialkabel (STP) 500 m 500 m 500 m 25 m

Multimode-Fiberglas 2.000 m 2.000 m 500 m 500 m

Monomode-Fiberglas 25.000 m 25.000 m 20.000 m 2.000 m

Kapitel 3 – Netzwerke und Internetworking148

Abbildung 3.22 zeigt einen Teil eines Intranets, in dem ein Funk-LAN eingesetztwird. Mehrere mobile Funkgeräte kommunizieren mit dem restlichen Intranet übereine Basisstation, die einen Zugriffspunkt für das verdrahtete LAN darstellt. Ein Funk-netzwerk, das die Welt über einen Zugriffspunkt mit einem konventionellen LANverbindet, wird auch als Infrastruktur-Netzwerk bezeichnet.

Eine alternative Konfiguration für Funknetzwerke wird auch als Ad-hoc-Netzwerkbezeichnet. Ad-hoc-Netzwerke beinhalten keinen Zugriffspunkt und keine Basissta-tion. Sie werden „dynamisch“ aufgebaut, wenn sich zwei oder mehr mobile Gerätemit Funkschnittstellen in derselben Umgebung erkennen. Ein Ad-hoc-Netzwerkkönnte beispielsweise eingerichtet werden, wenn zwei oder mehr Laptop-Benutzer ineinem Zimmer eine Verbindung zu irgendeiner verfügbaren Station einrichten wol-len. Anschließend könnten sie Dateien gemeinsam nutzen, indem sie einen Datei-Ser-ver-Prozess auf einer der Maschinen starten.

Die Stationen in IEEE 802.11-Netzwerken verwenden Funkfrequenzsignale (im 2,4GHz-Band) oder Infrarotsignale als Übertragungsmedium. Die Funkversion desStandards hat höchste kommerzielle Aufmerksamkeit erzielt, was wir noch beschrei-ben werden. Sie verwendet verschiedene Techniken zur Frequenzauswahl und zumFrequenzwechsel, um externe und wechselseitige Störungen zwischen unabhängigenFunk-LANs zu vermeiden, die wir hier nicht genauer beschreiben wollen. Stattdessenkonzentrieren wir uns auf die CSMA/CD-Mechanismen, die eine Broadcast-Übertra-gung ermöglichen, die für die Funkübertragung benötigt wird.

Wie Ethernet bietet auch das 802.11 MAC-Protokoll allen Stationen dieselbeChance, den Übertragungskanal zu nutzen, und jede Station kann direkt zu einerbeliebigen anderen übertragen. Ein MAC-Protokoll steuert die Verwendung desKanals durch die verschiedenen Stationen. Wie beim Ethernet führt auch die MAC-Schicht die Funktionen sowohl auf der Verbindungsschicht als auch auf der Netz-werkschicht aus, um Datenpakete auf die Hosts eines Netzwerks zu übertragen.

Abbildung 3.22 Funk-LAN-Konfiguration

3.5 Netzwerkfallstudien: Ethernet, Funk-LAN und ATM 149

Auf Grund der Verwendung von Funkwellen anstelle von Kabeln als Übertragungs-medium entstehen verschiedene Probleme. Diese Probleme resultieren aus der Tatsa-che, dass die in Ethernets verwendeten Trägererkennungs- und Kollisionserken-nungs-Mechanismen nur dann wirksam sind, wenn die Stärke der Signale imgesamten Netzwerk etwa gleich ist.

Die Trägererkennung hat die Aufgabe, festzustellen, ob das Medium an allenPunkten zwischen der sendenden und der empfangenden Station frei ist. Die Kollisi-onserkennung hat die Aufgabe, zu erkennen, ob das Medium in der Umgebung desEmpfängers frei von Störungen während der Übertragung ist. Weil die Signalstärkenicht in dem gesamten von einem Funk-LAN abgedeckten Bereich gleich ist, könnendie Trägererkennung und die Kollisionserkennung wie folgt fehlschlagen:

Verborgene Stationen: Möglicherweise übersieht die Trägererkennung, dass eineandere Station im Netzwerk gerade überträgt. Ein Beispiel dafür sehen Sie inAbbildung 3.22. Wenn Palmtop D zur Basisstation E überträgt, erkennt Laptop Adas Signal von D auf Grund der gezeigten Funkstörung möglicherweise nicht. Akönnte eine Übertragung beginnen und eine Kollision auf E verursachen, es seidenn, es werden Maßnahmen ergriffen, die dies verhindern könnten.

Abschwächung: Auf Grund des Gesetzes des inversen Quadrats für die Fortpflan-zung elektromagnetischer Wellen nimmt die Stärke von Funksignalen mit derDistanz zum Überträger rapide ab. Stationen mit einem Funk-LAN liegen mög-licherweise außerhalb der Reichweite anderer Stationen desselben LAN. InAbbildung 3.22 ist Laptop A möglicherweise nicht in der Lage, eine Übertra-gung von C zu erkennen, obwohl jeder von beiden erfolgreich an B oder E über-tragen kann. Die Abschwächung verhindert Trägererkennung und Kollisionser-kennung.

Kollisionsmaskierung: Leider ist die im Ethernet verwendete „Abhör“-Technik zurErkennung von Kollisionen in Funknetzwerken nicht besonders wirksam. AufGrund des Gesetzes des inversen Quadrats, das bereits oben angesprochenwurde, sind die lokal erzeugten Signale immer sehr viel stärker als jedes Signal,das an beliebiger anderer Stelle erzeugt wurde, sodass die externe Übertragungletztlich übertönt wird. Die Laptops A und C könnten also gleichzeitig an E über-tragen. Keiner würde diese Kollision erkennen, aber E würde nur Datenmüllerhalten.

Trotz ihrer Fehlbarkeit wird in IEEE 802.11-Netzwerken nicht auf die Trägererken-nung verzichtet; sie wird durch die Einführung eines Slot-Reservierungs-Mechanis-mus im MAC-Protokoll verstärkt. Das resultierende Schema wird auch als CSMA/CA (Carrier Sensing Multiple Access with Collision Avoidance, Vielfachzugriff mit Träger-erkennung und Kollisionsvermeidung) bezeichnet.

Wenn eine Station bereit zur Übertragung ist, hört sie das Medium ab. Erkennt siekein Trägersignal, geht sie davon aus, dass eine der folgenden Bedingungen zutrifft:

1. das Medium ist verfügbar;

2. eine außerhalb der Reichweite liegende Station fordert gerade einen Slot an;

3. eine außerhalb der Reichweite liegende Station verwendet einen Slot, den siezuvor reserviert hat.

Kapitel 3 – Netzwerke und Internetworking150

Das Slot-Reservierungs-Protokoll beinhaltet den Austausch von zwei kurzen Nach-richten (Frames) zwischen dem Sender und dem Empfänger. Die erste ist ein RTS-Frame (Request to Send) vom Sender zum Empfänger. Die RTS-Nachricht gibt eineDauer für den angeforderten Slot an. Der Empfänger reagiert mit einem CTS-Frame(Clear to Send) und wiederholt darin die Dauer des Slots. Dieser Austausch hat diefolgende Wirkung:

õ Stationen innerhalb der Reichweite des Senders nehmen den RTS-Frame auf undberücksichtigen seine Dauer.

õ Stationen innerhalb der Reichweite des Empfängers nehmen den CTS-Frame aufund berücksichtigen seine Dauer.

Alle Stationen innerhalb der Reichweite von Sender und Empfänger senden für dieDauer des angeforderten Slots nicht, sodass der Kanal für den Sender frei ist, einenFrame der gewünschten Länge zu übertragen. Der erfolgreiche Empfang des Daten-Frames wird durch den Empfänger bestätigt, um das Problem externer Störungen fürden Kanal zu kompensieren. Die Slot-Reservierungs-Funktion des MAC-Protokollshilft, Kollisionen wie folgt zu vermeiden:

õ Die CTS-Frames helfen, verborgene Stationen und Abschwächungsprobleme zuvermeiden.

õ Die RTS- und CTS-Frames sind kurz, sodass das Risiko von Kollisionen mit ihnenrelativ gering ist. Wird eine Kollision erkannt oder führt ein RTS nicht zu einemCTS, wird ein zufälliges Back-Off-Intervall verwendet, wie für Ethernet bereitsbeschrieben.

õ Wurden die RTS- und CTS-Frames korrekt ausgetauscht, sollte es keine Kollisio-nen mehr für die nachfolgenden Daten- und Bestätigungs-Frames geben, es seidenn, eine vorübergehende Abschwächung hat den Empfang verhindert.

Sicherheit Die Geheimhaltung und Integrität der Kommunikation ist ein offen-sichtliches Ziel für Funknetzwerke. Jede Station, die innerhalb der Reichweite liegtund mit einem Empfänger/Überträger ausgestattet ist, könnte versuchen, einemNetzwerk beizutreten oder aber Übertragungen zwischen anderen Stationen zubelauschen. Der IEEE 802.11-Standard berücksichtigt diese Probleme. Für jede Sta-tion, die dem Netzwerk beitreten will, muss eine Authentifizierung stattfinden,wobei die Kenntnis eines gemeinsam genutzten Schlüssels bewiesen werden muss.Dies basiert auf einem Authentifizierungsmechanismus mit gemeinsam genutztemSchlüssel, ähnlich den in Kapitel 7 beschriebenen. Dieser Schlüssel ist wirksam, Sta-tionen, die keinen Zugriff auf den gemeinsam genutzten Schlüssel haben, am Zutrittzu dem Netzwerk zu hindern.

Lauschangriffe werden mithilfe eines einfachen Verschlüsselungsschemas verhin-dert. Es maskiert den Inhalt übertragener Daten-Stream-Streams durch eine bitweiseXOR-Verknüpfung mit einer beliebigen Folge von Zufallszahlen. Die Folge beginntbei einem gemeinsam genutzten Schlüssel und kann von jeder Station, die denSchlüssel kennt, reproduziert und zur Auswertung der ursprünglichen Daten ver-wendet werden. Dies ist ein Beispiel für die Stream-Verschlüsselungstechnik, die inAbschnitt 7.3 beschrieben wird.

3.5 Netzwerkfallstudien: Ethernet, Funk-LAN und ATM 151

3.5.3 ATM-Netzwerke (Asynchronous Transfer Mode)ATM wurde entwickelt, um die verschiedensten Daten zu transportieren wie bei-spielsweise auch Multimedia-Daten wie Voice und Video. Es handelt sich dabei umein schnelles paketvermitteltes Netzwerk, das auf einer Methode zur Paketweiter-gabe basiert, die auch als Cell Relay bezeichnet wird, und die sehr viel schneller arbei-tet als die konventionelle Paketvermittlung. Sie erreicht ihre Geschwindigkeit durchdas Vermeiden einer Flusssteuerung und Fehlerüberprüfung auf den Zwischenkno-ten der Übertragung. Die Übertragungsverbindungen und -knoten müssen deshalbeine geringe Wahrscheinlichkeit defekter Daten aufweisen. Ein weiterer Faktor, derdie Leistung beeinflusst, ist die Übertragung kleiner Dateneinheiten fester Länge,wodurch die Puffergröße und die Komplexität ebenso wie die Warteschlangenverzö-gerungen in Zwischenknoten reduziert wird. ATM arbeitet in einem verbindungsori-entierten Modus, aber eine Verbindung kann nur dann eingerichtet werden, wennausreichend viele Ressourcen zur Verfügung stehen. Nachdem eine Verbindung ein-gerichtet wurde, ist seine Qualität (d.h. seine Bandbreiten- und Latenzeigenschaften)garantiert.

ATM ist eine datenvermittelte Technologie, die über existierende digitale Telefon-netze implementiert wird, die ohnehin synchron waren. Wird ATM auf ein Netzwerksynchroner digitaler Hochgeschwindigkeitsnetzwerke aufgesetzt wie beispielsweisedie für das SONET (Synchronous Optical Network) spezifizierten Omidyar undAldridge [1993], erzeugt es ein sehr viel flexibleres digitales Hochgeschwindigkeits-Paketnetzwerk mit vielen virtuellen Verbindungen. Jede virtuelle ATM-Verbindunggarantiert Bandbreite und Latenz. Die resultierenden virtuellen Schaltungen könnengenutzt werden, um umfassendere Dienste mit variablen Geschwindigkeiten zuunterstützen. Unter anderem umfassen diese Voice (32 kbps), Fax, verteilte System-dienste, Video und High-Definition-TV (100 bis 150 Mbps). Der ATM-Standard[CCITT 1990] empfiehlt die Bereitstellung virtueller Schaltungen mit Datenübertra-gungsgeschwindigkeiten von bis zu 155 Mbps oder 622 Mbps.

ATM-Netzwerke können auch im nativen Modus direkt über Fiberglas, Kupfer undandere Übertragungsmedien implementiert werden, wobei mit der aktuellen Fiber-glas-Technologie Bandbreiten von mehreren Gigabit pro Sekunde möglich sind. Diesist der Modus, in dem sie in lokalen und Nahverkehrsnetzwerken eingesetzt werden.

Der ATM-Dienst ist in drei Schichten angeordnet, die in durch die dunkleren Fel-der dargestellt sind. Die ATM-Adaptionsschicht ist eine Ende-zu-Ende-Schicht, die nurauf dem sendenden und dem empfangenden Host implementiert ist. Sie soll existie-rende Protokolle auf höherer Ebene unterstützen wie beispielsweise TCP/IP oderX25. Unterschiedliche Versionen der Adaptionsschicht können die verschiedenstenAdaptionsfunktionen bereitstellen, um die Anforderungen unterschiedlicher Proto-kolle höherer Ebene abzudecken. Sie beinhalten einige allgemeine Funktionen, bei-spielsweise das Zerlegen und Zusammensetzen von Paketen für die Verwendung inspeziellen Protokollen höherer Ebene.

Die ATM-Schicht stellt einen verbindungsorientierten Dienst bereit, der Pakete fes-ter Länge überträgt, so genannte Zellen. Eine Verbindung besteht aus mehreren virtu-ellen Kanälen innerhalb virtueller Pfade. Ein virtueller Kanal (VC, Virtual Channel) isteine logische, unidirektionale Zuordnung zwischen zwei Endpunkten einer Verknüp-fung im physischen Pfad von der Quelle zum Ziel. Ein virtueller Pfad (VP) setzt sichaus mehreren virtuellen Kanälen zusammen, die einem physischen Pfad zwischenzwei Switching-Knoten zugeordnet sind. Virtuelle Pfade sollen zur Unterstützung

Kapitel 3 – Netzwerke und Internetworking152

semi-permanenter Verbindungen zwischen Endpunktpaaren verwendet werden. Vir-tuelle Kanäle werden bei der Einrichtung von Verbindungen dynamisch zugeordnet.

Die Knoten in einem ATM-Netzwerk können drei verschiedene Rollen überneh-men:

õ Hosts, die Nachrichten senden und empfangen

õ VP-Switches, die Tabellen enthalten, die die Entsprechung zwischen ankommen-den und ausgehenden virtuellen Pfaden anzeigen

õ VP/VC-Switches, die ähnliche Tabellen für virtuelle Pfade und virtuelle Kanäleenthalten

Eine ATM-Zelle hat einen 5-Byte-Header und ein 48-Byte-Datenfeld (Abbildung3.24). Es wird immer das ganze Datenfeld gesendet, auch wenn es nur zum Teil mitDaten gefüllt ist. Der Header enthält eine ID für einen virtuellen Kanal sowie eine IDfür einen virtuellen Pfad, die in ihrer Kombination die Information bereitstellen, diebenötigt wird, um die Zelle durch das Netzwerk zu leiten. Die ID für den virtuellenPfad verweist auf einen bestimmten virtuellen Pfad auf der physischen Verknüpfung,auf der die Zellen übertragen werden. Die ID für den virtuellen Kanal verweist aufeinen speziellen virtuellen Kanal innerhalb des virtuellen Pfads. Andere Header-Fel-der werden verwendet, um den Typ der Zelle, ihre Priorität sowie ihre Grenze anzu-geben.

Kommt eine Zelle an einem VP-Switch an, wird in seiner Routing-Tabelle die IDfür den virtuellen Pfad im Header nachgeschlagen, um die entsprechende ID des vir-tuellen Pfades für den ausgehenden physischen Pfad zu ermitteln (Abbildung 3.25).Er trägt die neue ID für den virtuellen Pfad in den Header ein und überträgt die Zelledann über den ausgehenden physischen Pfad. Ein VP/VC-Switch kann basierend aufVP- und VC-IDs ein ähnliches Routing vornehmen.

Beachten Sie, dass die VP- und VC-IDs lokal definiert sind. Dieses Schema hat denVorteil, dass keine globalen, netzwerkübergreifenden IDs erforderlich sind, was sehr

Abbildung 3.23 ATM-Protokollschichten

3.5 Netzwerkfallstudien: Ethernet, Funk-LAN und ATM 153

große Zahlen sein müssten. Ein globales Adressierungsschema würde administrativeOverheads verursachen und die Zellen-Header und die Tabellen in den Switchesmüssten mehr Informationen enthalten.

ATM bietet einen Dienst mit geringer Latenz – die Switching-Verzögerung liegt beietwa 25 Mikrosekunden pro Switch, wodurch beispielsweise eine Latenz von 250Mikrosekunden auftritt, wenn eine Nachricht zehn Switches durchläuft. Das ent-spricht sehr gut unseren geschätzten Leistungsanforderungen für verteilte Systeme(Abschnitt 3.2), d.h. ein ATM-Netzwerk unterstützt eine Prozesskommunikationsowie Client-/Server-Client-/Server-Interaktionen mit einer Leistung, die der vonLANs gebotenen Leistung vergleichbar und zum Teil sogar besser als diese ist.Kanäle mit höchster Bandbreite und garantierter Dienstgüte, die für die Übertragungvon Multimedia-Daten-Stream-Streams mit Geschwindigkeiten von bis zu 600 Mbpsgeeignet sind, sind ebenfalls möglich. In reinen ATM-Netzwerken können Gigabitspro Sekunde erreicht werden.

Abbildung 3.24 Layout einer ATM-Zelle

Abbildung 3.25 Virtuelle Pfade in einem ATM-Netzwerk

Kapitel 3 – Netzwerke und Internetworking154

3.6 ZusammenfassungIn diesem Kapitel haben wir uns auf Netzwerkkonzepte und -techniken konzentriert,die die Grundlage verteilter Systeme darstellen, und sie dabei aus der Perspektivedes Systementwicklers betrachtet. Paketnetzwerke und geschichtete Protokolle stel-len die Basis für die Kommunikation in verteilten Systemen dar. LANs basieren aufPaket-Broadcasting über ein gemeinsam genutztes Medium; Ethernet ist die vorherr-schende Technologie. WANs basieren auf Paketvermittlung, um Pakete über ein ver-bundenes Netzwerk an ihr Ziel zu bringen. Das Routing ist ein Schlüsselmechanis-mus und es werden zahlreiche Routing-Algorithmen eingesetzt, wobei die Distanz-vektor-Methode die grundlegende und gleichzeitig die effektivste ist. Eine Überlast-kontrolle ist erforderlich, um Überläufe in den Puffern beim Empfänger und denZwischenknoten zu verhindern.

Netzwerkzusammenschlüsse werden durch die Schichtung eines „virtuellen“Netzwerk-Protokolls über mehrere durch Router verbundene Netzwerke aufgebaut.Die Internet-TCP/IP-Protokolle erlauben den Computern im Internet, auf einheitli-che Weise miteinander zu kommunizieren, unabhängig davon, ob sie sich im selbenLAN oder in unterschiedlichen Ländern befinden. Die Internetstandards beinhaltenzahlreiche Protokolle auf Applikationsebene, die für die Verwendung in verteiltenWAN-Applikationen geeignet sind. IPv6 bietet einen viel größeren Adressraum, derfür die zukünftige Entwicklung des Internets erforderlich ist, und deckt neue Forde-rungen der Applikationen ab wie beispielsweise Dienstgüte und Sicherheit.

Mobile Benutzer werden durch MobileIP für WAN-Roaming und durch Funk-LANs unterstützt, die auf IEEE 802.11 basieren. ATM unterstützt eine asynchroneKommunikation mit höchster Bandbreite, die auf virtuellen Schaltungen mit garan-tierter Dienstgüte basieren.

ÜBUNGEN

3.1 Ein Client sendet eine Anforderungsnachricht mit 200 Byte an einen Dienst, der eineAntwort mit 5.000 Byte erzeugt. Schätzen Sie die Gesamtzeit für die Abarbeitung derAnforderung in den folgenden Fällen ab; die Voraussetzungen für die Leistung sindnachfolgend aufgelistet:a. unter Verwendung einer verbindungslosen (Datagramm-) Kommunikation (z.B.

UDP);b. unter Verwendung einer verbindungsorientierten Kommunikation (z.B. TCP);c. der Server-Prozess befindet sich auf derselben Maschine wie der Client.

[Latenz pro Paket (lokal oder entfernt, sowohl beim Senden als auch beim Emp-fangen): 5 msVerbindungseinrichtungszeit (nur TCP): 5 msDatenübertragungsgeschwindigkeit: 10 MbpsMTU: 1.000 ByteVerarbeitungszeit der Anforderung auf dem Server: 2 msDas Netzwerk ist nur leicht ausgelastet.] (Seite 89-90, 134)

3.2 Das Internet ist viel zu groß, als dass ein einziger Router die Routing-Informationenfür alle Ziele verwalten könnte. Wie kompensiert das Internet-Routingschema diesesProblem? (Seite 108-109, 126-127)

3.6 Zusammenfassung 155

3.3 Welche Aufgabe hat ein Ethernet-Switch? Welche Tabellen verwaltet er? (Seite 117, 141-142)

3.4 Legen Sie eine Tabelle ähnlich Abbildung 3.5 an, die die Arbeit der Software in jeder Pro-tokollschicht beschreibt, wenn die Internet-Applikationen und die TCP/IP-Folge über einEthernet implementiert sind. (Seite 103, 134, 141-142)

3.5 Wie wurde das Ende-zu-Ende-Argument [Saltzer et al. 1984] auf den Entwurf desInternets angewendet? Überlegen Sie, wie die Verwendung eines virtuellen Schal-tungsnetzwerk-Protokolls anstelle von IP die Machbarkeit des World Wide Webbeeinflussen würde. (Seiten 58-59, 104-105, 118, [www.reed.com])

3.6 Können wir sicher sein, dass zwei Computer im Internet nie dieselbe IP-Adressehaben? (Seite 120-121)

3.7 Vergleichen Sie die verbindungslose (UDP) und die verbindungsorientierte (TCP)Kommunikation für die Implementierung der folgenden Protokolle auf Applikations-ebene bzw. auf der Darstellungsschicht:a. virtueller Terminalzugriff (z.B. Telnet);b. Dateiübertragung (z.B. FTP);c. Benutzerortung (z.B. rwho, finger);d. Informationsbrowsing (z.B. HTTP);e. entfernte Prozeduraufrufe. (Seite 134)

3.8 Erklären Sie, wie eine Folge mehrerer Pakete über ein WAN übertragen werdenkann, sodass sie am Ziel in der Reihenfolge ankommen, in der sie versendet wur-den. Warum ist das in einem lokalen Netzwerk nicht möglich? Ist es in einem ATM-Netzwerk möglich? (Seite 107, 143, 151-152)

3.9 Ein spezielles Problem, das von Protokollen für den entfernten Terminalzugriff wie bei-spielsweise Telnet gelöst werden muss, ist die Notwendigkeit, außerordentliche Ereig-nisse wie beispielsweise „Kill-Signale“ vom „Terminal“ zum Host zu übertragen undzwar vor zuvor übertragenen Daten. Kill-Signale sollten ihr Ziel vor allen anderen lau-fenden Übertragungen erreichen. Beschreiben Sie eine Lösung für dieses Problemmit verbindungsorientierten und verbindungslosen Protokollen. (Seite 133-134)

3.10 Welche Nachteile hat die Verwendung von Broadcasting auf Netzwerkebene fürlokale Ressourcen:a. in einem einzelnen Ethernet?b. in einem Intranet?In welchem Ausmaß stellt Ethernet-Multicast eine Verbesserung gegenüber demBroadcasting dar? (Seite 141-142)

3.11 Schlagen Sie ein Schema vor, das MobileIP verbessert und Zugriff auf einen Web-server auf einem mobilen Gerät bietet, das manchmal über ein Mobiltelefon an dasInternet angeschlossen ist und manchmal an einer von mehreren möglichen Positi-onen eine feste Verbindung zum Internet hat. (Seite 132)

3.12 Zeigen Sie die Änderungen an den Routing-Tabellen aus Er muss sein Wissen überdas Netzwerk ständig aktualisieren, indem er den Verkehr beobachtet und Konfigu-rationsänderungen oder Fehler erkennt. Diese Aktivität ist weniger zeitkritisch; hierkönnen langsamere und weniger rechenintensive Techniken verwendet werden., die(gemäß des in Abbildung 3.9 gezeigten RIP-Algorithmus) auftreten, nachdem die inAbbildung 3.7 als 3 gekennzeichnete Verbindung unterbrochen wurde.

(Seite 108-113)

Kapitel 3 – Netzwerke und Internetworking156

3.13 Verwenden Sie die Skizze aus Abbildung 3.13 als Grundlage für eine eigene Skizze,die die Segmentierung und Kapselung einer HTTP-Anforderung an einen Server undder resultierenden Antwort zeigt. Gehen Sie davon aus, dass es sich um eine kurzeHTTP-Nachricht handelt, die Antwort aber mindestens 2.000 Byte HTML umfasst.

(Seite 101-102, 119-120)

3.14 Betrachten Sie die Verwendung von TCP in einem entfernten Telnet-Terminal-Client.Wie sollte die Tastatureingabe auf dem Client gepuffert werden? Werten Sie dieAlgorithmen von Nagle und Clark [Nagle 1984, Clark 1982] in Hinblick auf dieFlusssteuerung aus und vergleichen Sie diese mit dem einfachen Algorithmus, derauf Seite 132-133 beschrieben wurde, wenn TCP von (a) einem Webserver, (b)einem Telnet-Protokoll, (c) einer entfernten Grafik-Applikation mit ständiger Maus-eingabe verwendet wird. (Seite 113-114, 135-136)

3.15 Skizzieren Sie ein Netzwerkdiagramm ähnlich dem in Abbildung 3.10 gezeigten fürdas lokale Netzwerk Ihres Unternehmens oder Ihrer Organisation. (Seite 116)

3.16 Beschreiben Sie, wie Sie eine Firewall konfigurieren würden, um das lokale Netz-werk in Ihrem Unternehmen oder Ihrer Organisation zu schützen. Welche eingehen-den und ausgehenden Anforderungen sollten abgefangen werden?

(Seite 137-138)

3.17 Wie findet ein neu installierter PC, der an ein Ethernet angeschlossen wird, die IP-Adressen der lokalen Server? Wie übersetzt er sie in Ethernet-Adressen?

(Seite 123-124)

3.18 Können Firewalls Denial of Service-Angriffe verhindern, wie beispielsweise den aufSeite 125 beschriebenen? Welche anderen Methoden stehen für den Umgang mitsolchen Angriffen zur Verfügung? (Seite 124-125, 137-138)