IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in...

33
IP Routing und Traceroute Seminar Internetprotokolle Falko Klaaßen arz 2003

Transcript of IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in...

Page 1: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

IP Routing und TracerouteSeminar Internetprotokolle

Falko Klaaßen

Marz 2003

Page 2: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

INHALTSVERZEICHNIS 1

Inhaltsverzeichnis

1 Einfuhrung in das Thema 3

2 Das Internet 3

2.1 Aufbau des Internets . . . . . . . . . . . . . . . . . . . . . . . 4

3 Netzwerke verbinden 4

3.1 Netzwerke direkt verbinden . . . . . . . . . . . . . . . . . . . 5

3.2 Router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 IP Routing (historisch, ohne CIDR und Subnetze) 7

4.1 Routing, Routing Decision und Routing Information . . . . . . 7

4.2 Versenden von Daten in Netzwerken . . . . . . . . . . . . . . . 7

4.2.1 Bestimmen des Ziel-Netzwerkes . . . . . . . . . . . . . 9

4.2.2 Daten im gleichen Netzwerk verschicken . . . . . . . . 9

4.2.3 Daten uber mehrere Netzwerke verschicken . . . . . . . 10

5 Routing Algorithmen 13

5.1 Table-Driven IP Routing . . . . . . . . . . . . . . . . . . . . . 13

5.2 Next-Hop Routing . . . . . . . . . . . . . . . . . . . . . . . . 14

5.2.1 Aufbau der Routing Tabelle beim Next-Hop Routing . 14

5.3 Default Routes . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.4 Host-Specific Routes . . . . . . . . . . . . . . . . . . . . . . . 17

6 Der IP Routing Algorithmus 17

6.1 Der Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . 17

6.2 Behandlung eingehender IP Datagramme . . . . . . . . . . . . 19

Page 3: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

INHALTSVERZEICHNIS 2

7 Routing bei Subnetzen 22

7.1 Subnetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7.2 Die Subnetz-Maske . . . . . . . . . . . . . . . . . . . . . . . . 23

7.3 Der Subnetz Routing Algorithmus . . . . . . . . . . . . . . . . 24

7.4 Ein vereinheitlichter Routing Algorithmus . . . . . . . . . . . 25

7.5 CIDR-Notation . . . . . . . . . . . . . . . . . . . . . . . . . . 27

8 Traceroute 28

8.1 Funktionsweise von Traceroute . . . . . . . . . . . . . . . . . . 29

8.2 Die Ausgabe von Traceroute . . . . . . . . . . . . . . . . . . . 30

Page 4: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

1 EINFUHRUNG IN DAS THEMA 3

1 Einfuhrung in das Thema

In dieser Ausarbeitung wird es um IP Router und das Programm Traceroutegehen. Um verstehen zu konnen, wie IP Routing funktioniert, muss manwissen, daß es beim Routen um das Weiterleiten von Datenpaketen zwischenmehreren Netzwerken geht. Zum Einstieg befassen wir uns kurz mit demweit bekannten Internet und betrachten anschließend einige Moglichkeiten,um verschiedene Netzwerke effizient miteinander zu verbinden.

Danach kommen wir dann zum Hauptteil dieser Ausarbeitung: Dem dem IPRouting. Dabei werden wir, anhand eines Beispielnetzwerkes, die wichtigstenFalle behandeln, die beim Routen von Datenpaketen auftreten konnen. Da-durch erhalten wir einen allgemeinen Uberblick daruber, was IP Routing istund wie die Router dabei vorgehen.

Mit diesem Wissen haben wir dann eine gute Ausgangsbasis, um das Rou-ten von Datenpaketen naher im Detail betrachten zu konnen. Dazu fuhrenwir das Prinzip der Routing Tabelle (RT) und das Next-Hop-Routing ein.Gleichzeitig dringen wir so tief in die Materie des Routens ein, daß wir jetzteinen allgemeinen IP Routing Algorithmus formulieren konnen.

Aber hier sind wir noch nicht fertig. Im letzten Teil zum IP Routing gehenwir auf Netzwerke mit Subnetzen ein. Dabei erorten wir, wie sich diese aufden Routing Algorithmus auswirken.

Abschließend wird das Programm Traceroute behandelt, mit dessen Hilfeman die Route, die Datenpakete von ihrem Urpsrung zu ihrem Ziel nehmen,herausfinden kann.

2 Das Internet

Das Internet. ”Ein Ort der großen Gelegenheiten und unendlicher Moglich-keiten, ein riesiges Computernetz in dem Reichtum und Erfolg nur eineneinzigen Mausklick entfernt sind”.

So, oder so ahnlich, stellt die Werbung oftmals das Internet dar. Und si-cherlich gibt es im Netz (Internet) hin und wieder die Moglichkeit, reich zuwerden oder Erfolg zu haben. Aber darum geht es hier nicht. Vielmehr in-teressiert uns die Frage, was genau das Internet ist und was das uberhauptmit dem Thema dieser Ausarbeitung zu tun hat.

Page 5: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

3 NETZWERKE VERBINDEN 4

2.1 Aufbau des Internets

Viele Leute glauben, daß das Internet ein einziges, großes Netzwerk ist, andem die Computer direkt angeschlossen sind. Es funktioniert auch wie eineinziges Netzwerk. Aber wenn man die technische Seite betrachtet, so be-merkt man, daß das Internet aus mehreren physikalischen Netzwerken be-steht, die miteinander verbunden sind und untereinander Datenpakete aus-tauschen konnen.

Doch so einfach ist das mit dem Austauschen der Datenpakete nicht. DieTechnologien, die die einzelnen Netzwerke verwenden, sind bei weitem nichtidentisch. Wollte man hier Daten von einem Netzwerk zu einem anderensenden, so musste man wissen, welche Techniken die einzelnen Netzwerkeverwenden und ein entsprechendes Protokoll zur Datenubertragung benut-zen. Bei der enormen Anzahl an moglichen Kombinationen musste man sehrviele verschiedene Protokolle unterstutzen. Und was ware, wenn ein Netzwerkeine andere Technik einsetzen will? Dann mussten alle anderen Netzwerke,die mit diesem kommunizieren wollen, neue Protokolle verwenden. . .

Um diese Probleme zu vermeiden, hat man sich auf das TCP/IP Protokoll1

geeinigt. Es versteckt die Details der Netzwerktechnik und stellt eine ein-heitliche Schnittstelle zur Verfugung, uber die man Datenpakete austauschenkann.

Mit dem TCP/IP Protokoll haben wir also einen Standard gefunden, umsoftwaremaßig den Weg zum Ubertragen von Daten zwischen mehreren Netz-werken zu ebnen. Aber wir wissen noch nicht, wie man die Netzwerke phy-sikalisch miteinander verbinden kann. Daher werden wir uns im nachstenAbschitt mit dem Thema befassen, welche Prinzipien es gibt, Netzwerke zuverbinden.

3 Netzwerke verbinden

Wir wissen jetzt, daß das Internet ein Verbund aus vielen Netzwerken ist, derdas TCP/IP Protokoll verwendet, um Daten zwischen diesen austauschen zukonnen. Aber nun stellt sich die Frage, wie man die Netzwerke miteinanderverbinden kann, ohne hohe Kosten zu verursachen und gleichzeitig eine guteZuverlassigkeit erreichen kann.

1Eigentlich handelt es sich bei TCP/IP nicht um ein einzelnes Protokoll, sondern um ei-ne ganze Sammlung von Protokollen, die auf mehreren Ebenen wirken. Eine ausfuhrlichereBeschreibung von TCP/IP, ist bei [Stev1] zu finden.

Page 6: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

3 NETZWERKE VERBINDEN 5

Das es gleichzeitig jedem Computer moglich sein soll, mit jedem anderen zukommunizieren, muss ebenfalls gewahrleistet sein. Im Folgenden stellen wireinige Moglichkeiten vor und diskutieren die Vor- und Nachteile von diesen.

3.1 Netzwerke direkt verbinden

Die einfachste Art, eine Verbindung zwischen zwei Netzwerken herzustellen,besteht darin, eine Leitung von dem einen Netz zu dem anderen zu verlegen.Bei wenigen Netzwerken mag diese Losung praktikabel und kostengunstigsein, aber mit zunehmender Zahl mussen immer mehr Leitungen verlegt undgewartet werden.

Ein nicht zu vernachlassigender Vorteil dieser Art Netze zu verbinden, liegtin den geringen Auswirkungen eines Ausfalls. Fallt z. B. ein Netzwerk aus, soist nur dieses nicht erreichbar. Beim Ausfall einer Leitung, ware nur der Da-tenverkehr zwischen den beiden Netzen betroffen, die mittels dieser Leitungdirekt verbunden sind.

Netzwerk B

Netzwerk C Netzwerk D

Netzwerk A

Abbildung 1: Direkt verbundene Netzwerke

Die Abbildung 1 zeigt ein Beispiel von vier Netzwerken (A - D), die direktverbunden sind. Wieviele (bidirektionale) Leitungen verlegt werden mussen,damit eine vollstandige Vernetzung erreicht wird, lasst sich mit der Formel:n∗(n−1)

2berechnen, wobei n fur die Anzahl der Netzwerke steht. Bei unidirek-

tionalen Leitungen verdoppelt sich die Menge der Leitungen.

3.2 Router

Das heutzutage wichtigste Prinzip zum Verbinden von Netzwerken stellenRouter dar. Ihre Aufgabe ist das Weiterleiten von Datenpaketen zwischen

Page 7: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

3 NETZWERKE VERBINDEN 6

den Netzwerken und dazu werden sie ganz normal an diese angeschloßen.Zum Ubertragen der Daten benutzen sie die Netzwerke selber und uberlassenes deren Technik, die Daten zu transportieren.

Außerdem sind die Netzwerke nicht auf einen einzigen Router beschrankt,sondern konnen auch mehrere einbinden. Und die Router ihrerseits habendie Moglichkeit, uber mehrere Interfaces mit einem Netzwerk verbunden zuwerden.

Netzwerk B

Netzwerk C Netzwerk D

Netzwerk A

Router 1

Router 2 Router 3

Abbildung 2: Durch Router verbundene Netzwerke

Die Abbildung 2 stellt ein Beispielnetzwerk mit Routern dar. Ein großer Vor-teil dieser Methode ist es, daß es bei einem Ausfall von einem Netzwerk oderRouter meistens alternative Routen gibt, uber die Datenpakete versendetwerden konnen.

Weil ein Router als Bestandteil der Netze angesehen werden kann, mit denener verbunden ist, besitzt er entsprechend viele2 IP Adressen. Und da ihreHauptaufgabe das Weiterleiten von Daten ist, ist es fur sie nicht von Belang,welcher Art diese sind.

Naturlich kann man die vorgestellten Moglichkeiten kombinieren. Im Allge-meinen kann man aber sagen, daß Netze verschiedener Eigentumer durchRouter miteinander verbunden werden und das direkte Verbinden von Netz-werken eher von Besitzern weniger Netzwerke benutzt wird. Dabei wird ausden wenigen Netzwerken sozusagen ein einziges Großes, das dann uber einenRouter mit dem Internet als ganzes verbunden werden kann.

2Router erhalten fur jedes Interface, uber das sie mit einem Netzwerk verbunden sind,eine IP Adresse.

Page 8: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

4 IP ROUTING (HISTORISCH, OHNE CIDR UND SUBNETZE) 7

4 IP Routing (historisch, ohne CIDR und Sub-netze)

Im vorherigen Abschnitt wurden die Aufgaben eines Routers3 vorgestellt, dasVerbinden von Netzwerken und das Weiterleiten von Daten zwischen ihnen.In diesem Teil wird es darum gehen, wie die Router beim Weitertransportvorgehen.

Aber bevor wir das Vorgehen betrachten, fuhren wir erst noch einige wichtigeBegriffe ein.

4.1 Routing, Routing Decision und Routing Informa-tion

Unter dem Begriff Routing verteht man den Prozeß der Auswahl einer Route,uber die ein Datenpaket gesendet werden soll. Diese Route fuhrt vom Sen-denden zu dem empfangenden Computer und kann uber keinen, einen oderauch mehrere Router verlaufen.

Das Datenpaket wird dabei von einem Router zum nachsten entlang der Rou-te geschickt und jeder der beteiligten Computer muss dabei eine sogenannteRouting Decision4 fallen, wenn die Daten bei ihm eintreffen. Um diese Ent-scheidung treffen zu konnen, benotigt der Rechner bestimmte Informationen,die als Routing Information bezeichnet werden.

Im Folgenden werden wir nur auf das Routen in frame-basierten BroadcastNetzwerken, wie z. B. Ethernet eingehen. Fur das Routen bei anderen Ty-pen von Netzwerken, wie beispielsweise Point-to-Point Netzwerke, bleibendie Routing Algorithmen gleich, aber es andert sich das Vorgehen und dieForm, wie die IP Datenpakete physikalisch auf der Ebene des link layer wei-tergeleitet werden.

4.2 Versenden von Daten in Netzwerken

Mit dem bisherigen Wissen werden wir uns jetzt der Hauptaufgabe von IPRoutern zuwenden, dem Weiterleiten von Daten zwischen Netzwerken. Umeine anschauliche Einfuhrung in dieses Thema zu gewahrleisten, werden wir

3Wird dabei das TCP/IP Protokoll verwendet, so nennt man ihn auch IP Router.4Decision ist englisch und bedeutet Entscheidung

Page 9: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

4 IP ROUTING (HISTORISCH, OHNE CIDR UND SUBNETZE) 8

den in Abb. 3 dargestellten Netzwerkverbund verwenden und damit die furdas Routen von Datenpaketen, wichtigsten Falle besprechen.

Netzwerk 1 Host A Host B

Netzwerk 2

Netzwerk 4 Host C

Netzwerk 3

Router 2

Netzwerk 5

129.36.0.0

129.37.0.0 129.38.0.0

129.39.0.0

129.40.0.0

129.36.15.7

129.37.0.1

Router 1

129.36.0.1

129.37.0.2

129.40.0.1

129.39.57.164

129.38.0.2

Router 3

129.39.0.1

129.38.0.1

129.36.48.251

Abbildung 3: Ein Beispielnetzwerk

Das Beispielnetzwerk in Abb. 3 besteht aus funf Netzwerken, die uber dreiRouter verbunden sind. Die IP Adressen der einzelnen Netzwerke stehendabei uber dem entsprechenden Namen. Da die Router sozusagen ein Mitgliedder Netzwerke sind, die sie verbinden, besitzen sie in jedem eine eigene IPAdresse. Diese steht dabei zwischen Router und dem jeweiligen Netz. Eswerden auch drei Computer (Host A, B und C) mitsamt ihrer Adresse undNetzzugehorigkeit dargestellt.

Betrachten wir den Fall, daß Host A ein IP Datagramm an einen ande-ren Computer senden will. Dann gibt es bezuglich des Ortes des Zieles zweiMoglichkeiten. Es kann im selben (Host B), oder in einem anderen Netzwerkliegen5 (Host C).

Doch bevor wir uns den beiden Eventualitaten zuwenden, betrachten wir,wie man bestimmen kann, ob das Ziel im gleichen Netz liegt, oder nicht.

5Eine dritte Moglichkeit besteht darin, daß das Ziel nicht existiert. Aber darumkummern wir uns spater.

Page 10: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

4 IP ROUTING (HISTORISCH, OHNE CIDR UND SUBNETZE) 9

4.2.1 Bestimmen des Ziel-Netzwerkes

Das Herausfinden, ob Quelle und Ziel im gleichen Netzwerk sind, ist rechteinfach. Alles was man dazu machen muss, ist den Netzwerk-Prafix der Zie-ladresse mit dem der eigenen IP Adresse zu vergleichen. Stimmen diese ube-rein, so befinden sich beide Computer im gleichen Netzwerk, andernfalls inverschiedenen.

Aber was ist die Netzwerk-Prafix? Bei einer IP Adresse handelt es sich umeine 32-Bit-Zahl, die im doted quad-Format dargestellt wird. Doted quadbedeutet hier, daß die 32-Bit-Zahl durch vier Zahlen, die mit einen Punktvoneinander getrennt werden, dargestellt wird (A. B.C. D). Dabei entsprichtdie Zahl A den hochsten 8 Bit6 und D den niedrigsten 8 Bit der 32-Bit-Zahl.

In unserem Beispiel hat der Host A die IP Adresse: 129. 36. 15. 7. Das ist abernoch nicht alles. Eine IP Adresse besteht aus zwei Teilen. Die Netid und dieHostid.

”Prinzipiell ist jede Adresse ein Paar (Netid, Hostid), wobei Netid

das Netzwerk identifiziert und Hostid den Host in dem Netzwerkidentifiziert.“[Com1]

Da es sich in diesem Beispiel um Class B Netzwerke handelt, sind die erstenbeiden Zahlen das Netzwerk-Prafix7 und die letzten zwei sind das Host-Suffix.

Gehen wir die Situationen durch, daß Host A das eine Mal Daten an HostB und das andere Mal Daten an Host C schicken will. Der Host A besitztdie IP Adresse 129. 36. 15. 7 und Host B 129. 36. 48. 251. Wie man sieht, sinddie beiden Prafixe (129. 36.) identisch und damit beide Computer im glei-chen Netz. Der Host C hat die Adresse 129. 39. 57. 164. Da 129. 39. nicht mit129. 36. ubereinstimmt, befinden sich die beiden Computer auch nicht imselben Netz.

4.2.2 Daten im gleichen Netzwerk verschicken

Fur den Fall, daß sowohl der sendende (Host A), als auch der empfangendeComputer (Host B) im gleichen Netz sind, wird fur das Senden der Datenkein Router benotigt, da der Host A den Host B direkt erreichen kann.

6Eine 8-Bit-Zahl, kann alle Werte von 0 - 255 annehmen.7Ein Class A Netzwerk verwendet nur die erste Zahl und ein Class C die ersten drei Zah-

len als Netzwerk-Prafix. Genaures uber die Aufteilung in verschiedene Netzwerk-Klassen,konnen Sie unter [Com1] nachlesen.

Page 11: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

4 IP ROUTING (HISTORISCH, OHNE CIDR UND SUBNETZE) 10

Bevor aber A die Daten verschicken kann, muss er sich entscheiden, wohin dasDatenpaket geleitet werden soll, damit es sein Ziel erreicht. Er fallt also eineRouting Decision. Danach bestimmt A, mit Hilfe der IP Adresse des Zieles,die physikalische Adresse (Hardwareadresse) von B im Netzwerk. Nachdemder Host A die Hardwareadresse erhalten hat, benutzt er diese, um einensogenannten Frame8 zu adressieren und verpackt die Daten in diesem. Erstdann wird der Frame uber das Netzwerk an B geschickt.

Befinden sich Quelle und Ziel im gleichen Netz, so bezeichnet man diese Formdes Verschickens von Daten auch als direct delivery.

4.2.3 Daten uber mehrere Netzwerke verschicken

Liegen Quelle und Ziel eines Datenpakets nicht im gleichen Netz, so konnendie Daten nicht direkt gesendet werden, sondern werden uber mehrere Sta-tionen geschickt. Ist das der Fall, so spricht man von indirect delivery.

Den Weg, den ein Datenpaket von einem Computer zu einem anderen Com-puter, der sich in einem anderen Netzwerk befindet, zurucklegt, kann manin drei Abschnitte unterteilen. Das erste Teilstuck ist dabei der Weg vonder Quelle zu dem ersten Router. Der mittlere Teil fuhrt vom Start-Routeruber keine bis mehrere Zwischen-Router zum Ziel-Router und der finale Partverlauft vom Ziel-Router zum Ziel des Datenpakets.

Schauen wir uns die drei Abschnitte einmal genauer an.

Der Weg von der Quelle zum Start-Router

Will der Host A ein Datagramm an den Host C schicken, so kann er diesennicht direkt erreichen, da der Host C in einem anderen Netzwerk liegt. Indieser Situation muss A sich fur einen Router in seinem Netz entscheiden.An diesen schickt er das Datenpaket, damit dieser es weiterleiten kann. HostA muss also eine Routing decision fallen. Da es sich hierbei um die allererstehandelt, ist es auch gleichzeitig die initiale Routing Entscheidung.

Die Abbildung 4 stellt den ersten Abschnitt dar. Hat sich A dann fur einenRouter, in diesem Beispiel Router 1, entschieden, so geht er wie beim directdelivery vor. Er holt sich die Hardwareadresse des Routers, verpackt dieDaten in einen Frame, adressiert diesen und schickt ihn los. Danach ist Anicht mehr am Routing beteiligt.

8Ein Frame kann man sich als eine Art von Postpaket vorstellen, nur das dieses nichtmit gelben Autos zum Ziel gelangt, sondern uber die Leitungen des Netzwerkes versendetwird.

Page 12: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

4 IP ROUTING (HISTORISCH, OHNE CIDR UND SUBNETZE) 11

Netzwerk 1 Host A Host B

129.36.0.0

129.36.15.7

Router 1

129.36.0.1

129.36.48.251

Abbildung 4: Weg von der Quelle zum Start-Router

Strecke vom Start-Router zum Ziel-Router

Erhalt ein Router ein Datenpaket das nicht an ihn adressiert ist, so muss erdieses weiterleiten. Ob er die Daten dabei direkt liefern kann, oder ob er siean einen anderen Router schicken muss, bestimmt er anhand der Netzwerk-Prafixe der Ziel IP Adresse und seiner eigenen IP Adressen. Stimmen diesenicht uberein, so muss er einen Router auswahlen, der in Richtung des Zielesliegt und den er mittels direct delivery, also im gleichen Netzwerk befindlich,erreichen kann. Das Datenpaket wandert dabei von Router zu Router, aberimmer in Richtung Ziel, bis es schliesslich bei einem eintrifft, bei dem min-destens eines der eigenen Prafixe mit dem des Zieles identisch ist. In diesemFall handelt es sich dann um den Ziel-Router.

Netzwerk 2 Netzwerk 3

Router 2 129.37.0.0 129.38.0.0

129.37.0.1

Router 1

129.36.0.1

129.37.0.2

129.40.0.1

129.38.0.2

Router 3

129.39.0.1

129.38.0.1

Abbildung 5: Weg vom Start-Router zum Ziel-Router

Gehen wir den Weg, den das Datenpaket vom Start- zum Ziel-Router nimmt,einmal anhand unseres Beispiels durch. Der entsprechende Abschnitt wird inder Abbildung 5 dargestellt.

Der Router 1 erhalt das Frame, extrahiert das IP Datagramm und stellt beimVergleich des Prafixes der Zieladresse (129. 39.) mit seinen (129. 36. bzw.129. 37.) fest, daß er die Daten nicht direkt liefern kann. Also bestimmt er

Page 13: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

4 IP ROUTING (HISTORISCH, OHNE CIDR UND SUBNETZE) 12

den nachsten Router, der in Richtung des Zieles liegt, in diesem Fall Router 2und schickt das Paket diesem. Der Router 2 geht bei Erhalt des Pakets wieRouter 1 vor und stellt fest, daß auch er nicht der Ziel-Router ist und schicktes daher an den Router 3 weiter. Da es sich hierbei um den Ziel-Routerhandelt, ist die Reise des Pakets auch schon fast zuende.

Das Finale. Vom Ziel-Router zum Ziel

Hat das Datenpaket einen Router erreicht, bei dem eines der Netz-Prafixe mitdem des Ziels ubereinstimmt, dann befinden sich Ziel und Router im gleichenNetzwerk. In diesem Fall ist es dem Router moglich, die Daten direkt (DirectDelivery) an das Ziel zu schicken.

Aber was ist, wenn es in dem Netz keinen Computer mit der angegebenenIP Adresse gibt? Nun, in diesem Fall muss der Router eine Nachricht an denUrsprung des Pakets, in unserem Beispiel Host A senden und diesen auf denUmstand hinweisen. Aus diesem Grund enthalt ein IP Datagramm nicht nureine Ziel IP Adresse, sondern auch die IP Adresse des Absenders.

Netzwerk 4 Host C

129.39.0.0

129.39.57.164

129.38.0.2

Router 3

129.39.0.1

Abbildung 6: Weg vom Ziel-Router zum Ziel

In unserem Beispiel (Abb. 6) existiert das Ziel und der Router 3 kann dieDaten direkt an den Host C schicken.

Jetzt wissen wir, wie ein Datenpaket von seinem Ursprung zu seinem Zielgeroutet wird, aber es bleiben noch zwei wichtige Fragen unbeantwortet. Dieerste lautet:

Woher weiß ein Host, welchen Router er nehmen soll, wenn sich das Zielseiner Daten nicht im gleichen Netz befindet?

Und die zweite ist:

Page 14: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

5 ROUTING ALGORITHMEN 13

Woher wissen die Router, an welchen anderen sie das Paket weiterleiten sol-len, wenn sie nicht der Ziel-Router sind?

Fur den trivialen Fall, daß es nur einen Router gibt, ist die Antwort einfach:Nimm diesen. Aber was ist, wenn es mehrere gibt? Sollen die Daten dannan alle geschickt werden, benutzt man einen Zufallsgenerator, oder befragtman ein Orakel? Nun, der nachste Abschnitt wird sich mit diesem Problembefaßen und die entsprechenden Antworten geben.

5 Routing Algorithmen

Wir haben jetzt einen allgemeinen Uberblick daruber, was die Aufgaben vonIP Routern sind und wissen auch, wie diese beim Routen vorgehen sollen.Was wir aber noch nicht wissen ist, wie die Router bzw. Hosts ihre RoutingDecision treffen.

5.1 Table-Driven IP Routing

Die Antwort auf die Fragen aus dem letzten Abschnitt, woher ein Host/Routerweiß, wohin er Datenpakete zu schicken hat, ist folgende: Sowohl Host alsauch Router besitzen eine sogenannte Routing Tabelle9 (RT), in der einge-tragen ist, wie man jedes mogliche Ziel erreichen kann.

Allgemein kann man sagen, daß jeder IP Routing Algorithmus eine RT ver-wendet und daß die IP Software vor dem Weiterleiten eines Datagramms indiese schaut, um anhand der enthaltenen Informationen eine Routing Ent-scheidung zu fallen.

Leider gibt es noch ein Problem. Bei kleinen Netzwerkverbanden mit weni-gen Hosts und Routern ist es moglich, daß alle Computer fur jeden andereneinen Eintrag in ihrer RT haben. Aber mit zunehmender Zahl mussen immermehr Daten verwaltet und ausgetauscht werden, um die einzelnen RT aktuellzu halten10. Und irgendwann waren die Router bzw. Hosts nur noch damitbeschaftigt, ihre RT zu aktualisieren.

Um diesem Problem vorzubeugen, verwendet man statt dem Table-DrivenIP Routing das Next-Hop Routing.

9im Englischen: routing table10Wie die RT erstellt werden, werden wir hier nicht behandeln, da dies den Rahmen

der Ausarbeitung sprengen wurde. Aber wer sich dafur interessiert, kann in [Tan1] eineVielzahl von Algorithmen finden.

Page 15: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

5 ROUTING ALGORITHMEN 14

5.2 Next-Hop Routing

Der wichtige Unterschied zwischen Table-Driven und Next-Hop Routing be-steht in den Informationen, die in die RT aufgenommen werden. Da eine IPAdresse aus der Netzwerk-Prafix und dem Host-Suffix zusammengesetzt ist,genugt es, statt jeden Computer nur jedes Netzwerk in die RT als Ziel auf-zunehmen. Ist bekannt, wie man dieses Netzwerk erreichen kann, dann kannman gleichzeitig auch alle Hosts in diesem Netz erreichen.

Diese Anderung hat viele Vorteile. Man erhalt eine wesentlich kompaktereRT und trotzdem bleiben alle Ziele erreichbar. Außerdem mussen wenigerDaten aktualisiert werden und die IP Software muss vor dem Weiterleitenvon Daten weniger Eintrage vergleichen, bis eine Ubereinstimmung gefundenoder das Ende der RT erreicht ist.

5.2.1 Aufbau der Routing Tabelle beim Next-Hop Routing

Bisher haben wir uns nur mit den Informationen befasst, die in eine RTaufgenommen werden, und dabei ihren Aufbau und die Form der einzelnenEintrage vernachlassigt. Aber das holen wir jetzt nach.

Eine RT besteht aus einer Reihe von Datentuppel11, die die Form (N, R)besitzen. Das N steht hierbei fur die IP Adresse des Ziel-Netzwerkes und Rkann entweder die Adresse des nachsten Routers in Richtung Ziel sein oderdeliver directly. Alternativ fur direct delivery kann auch ein Interface vomRouter stehen, das den Router mit dem entsprechenden Netzwerk verbindet.Aber das ist abhangig von der jeweiligen Implementation.

Wie Sie sich sicher schon gedacht haben, hat der Eintrag deliver directlyetwas mit direct delivery zu tun. Er steht dann in der RT, wenn der Router,nennen wir ihn M, das IP Datagramm direkt an das Ziel liefern kann. Ist diesaber nicht der Fall, so steht stattdessen die IP Adresse des Routers R, der inRichtung zum Ziel liegt und der von M direkt erreicht werden kann.

Jetzt wird auch klar, warum dieser Routing Algorithmus Next-Hop Routingheißt. Das Datenpaket springt12 von Router zu Router, bis es zum Ziel ge-langt.

11Ein Datentuppel ist eine Menge von Daten, die in Relation zueinander stehen.12Im Englischen bedeuted springen = to hop.

Page 16: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

5 ROUTING ALGORITHMEN 15

Netzwerk 1

Netzwerk 2

Netzwerk 4

Netzwerk 3

Router 2

Netzwerk 5

129.36.0.0

129.37.0.0 129.38.0.0

129.39.0.0

129.40.0.0 129.37.0.1

Router 1

129.36.0.1

129.37.0.2

129.40.0.1

129.38.0.2

Router 3

129.39.0.1

129.38.0.1

Abbildung 7: Das Beispielnetzwerk zur RT von Router 2

Um den Aufbau einer RT nochmal zu verdeutlichen, schauen wir uns die RTvom Router 2 aus unserem Beispielnetzwerk (Abb. 7) an.

Netzwerk-Prafix Router zum Ziel

129. 37. 0. 0 Direct Delivery129. 38. 0. 0 Direct Delivery129. 40. 0. 0 Direct Delivery129. 36. 0. 0 129. 37. 0. 1129. 39. 0. 0 129. 38. 0. 2

Tabelle 1: Routing Tabelle fur Router 2

Wie man aus der Tabelle 1 leicht ersehen kann, kann der Router 2 alle Hostsin den Netzwerken 2, 3 und 5 direkt erreichen. Alle IP Datagramme die anHosts im Netzwerk 1 gerichtet sind, leitet er uber das Netzwerk 2 an denRouter 1 (129. 37. 0. 1) und alle Daten fur das Netzwerk 4 schickt er uberNetzwerk 3 an den Router 3 (129. 38. 0. 2).

5.3 Default Routes

Eine weitere Moglichkeit um eine RT zu vereinfachen, ist das Anlegen einerDefault Route. Die Default Route wird immer dann gewahlt, wenn die IPSoftware keinen Eintrag fur ein Ziel findet. Daher steht sie nur am Ende derRT.

Die Default Route kann auch verwendet werden, um mehrere RT-Eintrage zueinem einzigen zusammenzufassen. Gibt es unter allen Eintragen in der RT

Page 17: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

5 ROUTING ALGORITHMEN 16

mehrere, denen der selben Router als nachste Station zugewiesen wurde, soist es moglich, diese Eintrage zu der Default Route zusammenzufassen. Alleanderen Eintrage bleiben unverandert und es darf hochstens eine DefaultRoute pro RT geben.

Besonders sinnvoll ist das Anlegen einer Default Route fur Netzwerke mitnur einem Router. Aber schauen wir uns das mal an einem Beispiel an:

Netzwerk 1 Host A Host B

129.36.0.0

129.36.15.7

Router 1

129.36.0.1

129.36.48.251

Abbildung 8: Netzwerk 1

Wie man in Abb. 8 sehen kann, besitzt das Netzwerk 1 nur einen Router.Wenn also Daten von einem der Hosts in diesem Netzwerk an einen Hostin einem anderen Netz gesendet werden sollen, so werden diese von demRouter 1 geroutet. Die folgenden Tabellen stellen die RT fur den Host A mitund ohne Default Route dar:

Netzwerk-Prafix Router zum Ziel

129. 36. 0. 0 Direct Delivery129. 37. 0. 0 129. 36. 0. 1129. 38. 0. 0 129. 36. 0. 1129. 39. 0. 0 129. 36. 0. 1129. 40. 0. 0 129. 36. 0. 1

Tabelle 2: RT von Host A ohne Default Route

Anhand der beiden Tabellen wird deutlich wie stark das Einrichten einerDefault Route eine RT vereinfachen kann.

Netzwerk-Prafix Router zum Ziel

129. 36. 0. 0 Direct DeliveryDefault 129. 36. 0. 1

Tabelle 3: RT von Host A mit Default Route

Page 18: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

6 DER IP ROUTING ALGORITHMUS 17

5.4 Host-Specific Routes

Manchmal ist es notig, fur einzelne Hosts Eintrag in die RT vorzunehmen.Dann wird anstatt eines Zielnetzwerkes die vollstandige Adresse von demHost eingetragen. Normalerweise sollte man davon absehen, da Eintrage fureinzelne Computer die RT nur unnotig aufblahen.

Aber in einigen Situationen, wie z. B. beim Debuggen der RT bzw. Wartenvon Netzwerkverbindungen, oder als eine Form der Zugangskontrolle, kannsich diese Moglichkeit als sehr nutzlich erweisen. Auf jeden Fall geben Host-Specific Routes dem Admin mehr Kontrolle uber das Routen in seinem Netz.

6 Der IP Routing Algorithmus

Nun, da wir wissen wie die RT eines Routers aufgebaut ist und wie dasRouten von Datenpaketen vor sich geht, wollen wir das Ganze in dem IPRouting Algorithmus zusammenfassen und spater, wenn wir uns mit demRouten bei Subnetzen befassen, werden wir diesen Algorithmus entsprechendmodifizieren, um ihn den besonderen Gegebenheiten anzupassen.

6.1 Der Algorithmus

Der Algorithmus fangt mit dem Erhalt eines IP Datagramms an.

1. Der Router extrahiert die IP Adresse des Zieles Z aus dem IP Data-gramm.

2. Er berechnet das Netzwerk-Prafix N von Z und

3. vergleicht N mit den Eintragen in der RT, wobei es funf mogliche Er-gebnisse gibt:

(a) Stimmt N mit dem Eintrag fur ein direkt verbundenes Netzwerkuberein, dann kann der Router die Daten direkt an Z schicken.Dieser Fall wird in der Abb. 9 mit roten A dargestellt. Gibt eshier kein Match13, dann

13match kommt aus dem Englischen und bedeutet Ubereinstimmung.

Page 19: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

6 DER IP ROUTING ALGORITHMUS 18

(b) werden als nachstes die Host-Specific Routes (durch rote B ge-kennzeichnet) uberpruft. Liegt hier eine Ubereinstimmung vor,dann wird das Paket an den entsprechenden Router weitergeleitet.Andernfalls

(c) werden die moglichen Zielnetzwerke durchgegangen (rote C). Istauch dort kein passender Eintrag,

(d) dann wird als Letztes geschaut, ob es eine Default Route (D) gibt.Ist diese vorhanden, so wird das IP Datagramm an den dort ein-getragenen Router geschickt. Fehlt aber auch eine Default Route,so

(e) liegt ein Routing Fehler vor und der Router muss eine entspre-chende Fehlermeldung per ICMP an den Ursprung senden.

Datagramm 129.36.48.251

129.36.0.0

129.37.0.1 129.39.0.0

129.37.0.1 Default

129.37.0.1 129.39.64.23

Direct Delivery 129.40.0.0

Direct Delivery 129.38.0.0

Direct Delivery 129.37.0.0

Router zum Ziel

Netzwerk - Präfix

129.37.0.1 129.39.0.0

129.37.0.1 Default

129.37.0.1 129.39.64.23

Direct Delivery 129.40.0.0

Direct Delivery 129.38.0.0

Direct Delivery 129.37.0.0

Router zum Ziel

Netzwerk - Präfix

?

A

A

A

B

C

D

Abbildung 9: Beispiel zum Routing Algorithmus

Die Reihenfolge, in der die Falle uberpruft werden, entspricht der tatsachli-chen Reihenfolge der Eintrage in der RT. D. h. also, das in der RT zuerstalle deliver directly Eintrage liegen, dann die Host-Specific Routes, gefolgtvon den moglichen Zielnetzwerken und ganz am Ende, wenn uberhaupt, dieDefault Route.

Darauf, wie die Routing Tabellen entstehen, werden wir hier nicht eingehen.Ich mochte nur soviel sagen, daß man Routing Tabellen von Hand anlegen

Page 20: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

6 DER IP ROUTING ALGORITHMUS 19

kann, oder daß die Router untereinander Informationen austauschen, an-hand derer sie die Tabellen erstellen. Dieser Austausch ist wichtig, da sonstAnderungen, wie ausgefallene Router, oder neue hinzugekommene Netzwer-ke, beim Routen von Datenpaketen nicht berucksichtigt wurden.

Ein weiterer, wichtiger Aspekt der Tatsache, daß Routing Tabellen nichtkonstant sind, liegt darin begrundet, daß zwei aufeinanderfolgende IP Data-gramme, die z. B. von Host A an Host B geschickt werden, nicht unbedingtdie selbe Route nehmen. Ebenso kann ein IP Datagramm von Host A nachHost B eine andere Route nehmen, als ein IP Datagramm von B nach A.

6.2 Behandlung eingehender IP Datagramme

Jetzt, da wir den IP Routing Algorithmus kennen, werden wir uns dem chro-nologischen Ablauf beim Routen eines IP Datagramms zuwenden. Dabei ge-hen wir davon aus, daß gerade ein Frame bei einem Computer eingetroffenist und behandeln, welche Schritte dieser zu unternehmen hat, um auf dasim Frame enthaltene IP Datagramm entsprechend zu reagieren.

Als erstes extrahiert die Netzwerk Interface Software (NIS) das IP Data-gramm aus dem Frame und reicht es an das IP Modul weiter14. Dieses be-stimmt die IP Adresse des Zieles und vergleicht sie mit seiner eigenen. Stim-men diese uberein, so ist der Computer das Ziel des Pakets und die IP Soft-ware leitet das Datagramm an das entsprechende Protokoll in der transportlayer zum Bearbeiten weiter.

Fur den Fall, daß der Computer das Ziel des IP Datagramms ist, muss mannicht zwischen Host und Router unterscheiden, da das Vorgehen gleich bleibt.Anders sieht es dagegen aus, wenn der Computer nicht das Ziel ist. Hiermussen Host und Router unterschiedlich reagieren.

Betrachten wir zuerst, was ein Host tun soll, wenn er ein IP Datagrammerhalt, das nicht fur ihn bestimmt ist.

14Das TCP/IP Protokoll ist in vier Ebenen unterteilt. Fur die Hardware und das physi-kalische Senden und Empfangen ist u. A. die NIS in der untersten Ebene, der sogenanntenlink layer zustandig. Uber der link layer liegt die network layer. Hier ist z. B. das IP Proto-koll angesiedelt. Daruber befindet sich die transport layer, u. A. mit dem TCP Protokoll.Und abschließend die application layer fur Anwendungen, die Daten mittels TCP/IP ver-schicken oder empfangen wollen. Mehr Informationen uber TCP/IP konnen sie bei [Stev1]finden.

Page 21: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

6 DER IP ROUTING ALGORITHMUS 20

Vorgehen des Hosts

Die Anweisung die ein Host hat, wenn er ein IP Datagramm erhalt, dessenZiel er nicht ist, ist einfach. Er soll das Paket ignorieren und loschen, dairgendwo ein Fehler beim Routen aufgetreten ist. Er soll weder versuchen,das Paket zu routen, noch irgendwelche korrigierenden Maßnahmen treffen,weil dadurch das Problem wahrscheinlich nicht beseitigt werden kann und sonur unnotiger Datenverkehr entstehen wurde.

Vorgehen des Routers

Ganz anders verhalt es sich hingegen, wenn ein Router so ein IP Datagrammempfangt. Da er nicht das Ziel des Datenpakets ist, muss er dieses weiterlei-ten. Doch bevor er den IP Routing Algorithmus anwendet, hat er noch zweiwichtige Uberprufungen vorzunehmen.

Zuerst uberpruft die IP Software ob das Datenpaket richtig ubertragen wur-de. Damit die Uberprufung funktionieren kann, muss die Checksumme im IPHeader eingetragen worden sein. Daher muss ein Router diese berechnen undeintragen, bevor er ein Datenpaket weiterleitet.

Bei dieser Checksumme handelt es sich um das 16-bit Einerkomplement15

der Summe aller Werte im IP Header. Da das Checksummen-Feld zum IPHeader gehort, muss der Router dieses vor der Berechnung auf null setzen,um eine Verfalschung des Ergebnisses auszuschließen. Dann addiert er dieWerte des IP Headers, bildet das Einerkomplement der Summe und tragtdas Ergebnis im Checksummen-Feld ein.

Wenden wir uns nun wieder der ersten Uberprufung nach dem Extrahierendes IP Datagramms aus dem Frame zu. Dafur berechnet die IP Software die16 Bit lange Summe, aus den Werten des IP Headers. Wurde das Datenpaketfehlerfrei ubertragen, so haben alle Bits der Summe den Wert 1 und dasDatenpaket wird akzeptiert16. Andernfalls wird es verworfen, da ein Fehlerbei der Ubertragung aufgetreten ist.

Wurde das Datenpaket korrekt ubertragen, so wird als nachstes der TTL-Wert17 aus dem IP Header extrahiert und um eins, oder die Zeit in Sekunden,

15Beim dem Einerkomplement einer Binarzahl werden Nullen durch Einsen und Einsendurch Nullen ersetzt.

16Bei der Addition einer Binarzahl mit ihrem Komplement erhalt man eine Binarzahlgleicher lange, bei der alle Bits den Wert 1 haben.

17TTL steht fur Time to life und legt fest, wieviele Router dieses Datenpaket maxi-mal passieren darf, bevor es verworfen wird. Vergleichen konnte man es mit einer ArtVerfallsdatum.

Page 22: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

6 DER IP ROUTING ALGORITHMUS 21

die das Datenpaket auf dem Router verweilt hat, je nachdem was großerist, dekrementiert18. Ist der TTL-Wert danach null oder kleiner, so hat derRouter das IP Datagramm zu loschen und nicht weiter zu senden. Zusatzlichmuss der Router eine ICMP time exceeded19 Fehlermeldung an den Urpsrungdes IP Datagramms schicken.

Das Uberprufen der TTL ist wichtig, da es ohne sie moglich ware, daß IP Da-tagramme in Routing-Schleifen gefangen und ewig im Kreis weiter geroutedwerden konnten.

Bei einem Wert großer null muss die IP Software den neuen TTL-Wert in denIP Header eintragen und danach die Checksumme neu berechnen, da sich mitdem geanderten TTL-Wert auch der Wert fur diese andert. Die Checksummewird dann im entsprechenden Feld des IP Headers gespeichert. Dabei sinddie TTL und Checksumme die einzigen Werte, die beim IP Routing im IPHeader eines Datagramms geandert werden. Im IP Header ist neben der IPAdresse des Zieles, und einigen anderen Werten, auch noch die IP Adresse desQuellcomputers gespeichert. Dies hat u.A. den Grund, daß z. B. bei einemRouting Error eine Nachricht an den Quellcomputer mittels dieser IP Adressegeschickt werden kann, oder eine Applikation auf dem Zielrechner Daten anden Quellcomputer zuruck senden muss.

Sind beide Tests erfolgreich verlaufen, so wird der IP Routing Algorithmusangewendet, um zu entscheiden, wohin das Datenpaket weitergeleitet wer-den soll. Dieser gibt dann die entsprechende IP Adresse zuruck20. Das IPDatagramm und die ausgewahlte IP Adresse werden dann an die NetzwerkInterface Software (NIS) im link layer ubergeben.

Die NIS hat nun die Aufgabe, mit Hilfe der erhaltenen IP Adresse die phy-sikalische Adresse des entsprechenden Computers zu bestimmen. Dabei han-delt es sich um weltweit eindeutige Nummern21, die fest in der Hardwarevon Netzwerkkarten gespeichert werden. In einem Ethernet oder Token RingNetzwerk verwendet man das Adress Resolution Protocol (ARP), um voneiner IP Adresse die entsprechende Hardwareadresse des Computers, demdiese IP Adresse zugeordnet ist, zu bestimmen22.

18Heutzutage brauchen die Router normalerweise nur wenige Millisekunden, um einDatenpaket zu bearbeiten und daher wird die TTL meistens auch nur um eins verkleinert.

19ICMP steht fur Internet Control Message Protocol20Voraussetzung ist, daß das Ziel des IP Datagramms erreichbar ist. Ansonsten liegt ein

Routing Fehler (S.18) vor und der Router muss eine entsprechende Fehlermeldung an dieQuelle des IP Datagramms senden

21Hardware- bzw. Mac-Adressen22Mehr Informationen zu Hardwareadressen, ARP und RARP konnen Sie unter [Com2]

finden

Page 23: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

7 ROUTING BEI SUBNETZEN 22

Steht die Hardwareadresse fest, so adressiert die NIS mit dieser einen Frameund verpackt das IP Datagramm in diesem. Der fertige Frame wird dannuber die Leitung des Netzwerkes zum nachsten Ziel verschickt. Jetzt ist derRouter fur das Weiterleiten dieses IP Datagramms nicht mehr zustandig undhat seine Aufgabe erfullt.

7 Routing bei Subnetzen

Wenden wir uns nun dem Routen bei Subnetzen zu. Dazu werden wir kurzdarauf eingehen, warum die Subnetze eingefuhrt wurden. Es ist mir hier wich-tig die Vorteile des Subnetting, also das Verwenden von Subnetzen, gegenuberdem classful addressing scheme23 darzustellen.

Im Anschluß daran, werden wir uns mit der Subnetz-Maske befassen. Sie isteine Art Schlussel fur die Subnetzen und spielt beim Routen in Netzwerkenmit Subnetzen eine wichtige Rolle.

Bevor wir zum letzten Teil dieses Abschnitts, der CIDR-Notation24, kom-men, werden wir noch die Auswirkungen von Subnetzen auf den IP RoutingAlgorithmus besprechen.

7.1 Subnetze

Durch das unerwartet starke Wachstum des Internets und der damit verbun-denen Zunahme an physikalischen Netzwerken, wurde der zur Verfugung ste-hende Adressraum fur Netzwerke, vor allem der Klasse B, knapp. Begrundetlag das Problem in der Art, wie IP Adressen vergeben wurden.

Da in einem Netzwerk jeder Computer eine IP Adresse erhielt, dessen Netzwerk-Prafix gleich war, konnte dieser Prafix nur an ein einziges Netzwerk vergebenwerden, egal wieviele Computer dieses enthielt. Dadurch waren kleine Netz-werke sehr ineffektiv, wenn man betrachtet, wieviele IP Adressen im Netz-werk maximal vergeben werden konnten und wieviele tatsachlich verwendetwurden.

Selbst in einem Class C-Netzwerk, bei dem die ersten 24-Bit der 32-Bit-Nummer fur die Netzwerk-ID und die letzten 8-Bit fur die Host-ID verwen-det werden, kann die Anzahl der nicht verwendeten IP Adressen groß sein.

23Unter [Com1] konnen Sie erfahren, wie Netzwerke in die einzelnen Klassen aufgeteiltwerden.

24CIDR steht fur Classless Inter-Domain Routing

Page 24: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

7 ROUTING BEI SUBNETZEN 23

So ein Netzwerk kann maximal 254 IP Adressen vergeben25. Enthielte dasNetzwerk beispielsweise nur 10 Hosts, so wurden die ubrigen 244 IP Adressennicht verwendet und konnten auch nicht von anderen Netzwerken verwendetwerden.

Bei einem Class B- oder Class A-Netzwerk ist die Situation noch schlimmer,da hier mehr Bits der Host-ID zugeordnet sind.

Um diesen Problemen zu begegnen, wurden die Subnetze eingefuhrt. Mitihrer Hilfe ist es moglich, daß mehrere physikalische Netzwerke den gleichenNetzwerk-Prafix erhalten. Gleichzeitig konnen die IP Adressen, die diesenNetzwerk-Prafix enthalten, auf diese Netzwerke verteilt werden.

Beim Verwenden von Subnetzen besteht außerdem die Moglichkeit, die An-zahl der, dem Subnetz zur Verfugung stehenden, IP Adressen genauer fest-zulegen, als es die Aufteilung in einzelne Klassen alleine kann. Dies hat dengroßen Vorteil, daß, bei sorgfaltiger Planung weniger IP Adressen von einemNetzwerk ungenutzt blockiert werden, man sich aber ebenfalls einen gewissenVorrat an IP Adressen sichern kann, um z. B. genugend Reserven zu haben,falls das Netzwerk in Zukunft wachsen sollte.

7.2 Die Subnetz-Maske

Uns sind jetzt die Grunde und die Vorteile vom Subnetting bekannt. Aber wirwissen noch nicht, wie man Subnetze realisiert und adressiert. Bisher habenwir Netzwerke nur in verschiedene Klassen eingeteilt. Allen Klassen gemeinist die Aufspaltung einer IP Adresse in zwei Teile: den Netzwerk-Prafix undden Host-Suffix. Die einzelnen Klassen unterscheiden sich hingegen in derAnzahl der Bits, die als Netzwerk-Prafix bzw. als Host-Suffix interpretiertwerden.

Bei Subnetzen werden die IP Adressen etwas anders interpretiert. Hier wirddie IP Adresse nicht in den Netzwerk-Prafix und Host-Suffix unterteilt, son-dern in einen Internet-Teil, der dem Netzwerk-Prafix entspricht, und in einenlokalen Teil, der seinerseits in zwei Bereiche aufgespalten ist. Der erste Be-reich identifiziert dabei das Subnetz und der zweite den Host.

Die Unterteilung in den Subnetz-Prafix und Host-Suffix wird dabei durcheine 32-Bit lange Maske, der sogenannten Subnetz-Maske, realisiert. Es istkein Zufall, daß die IP Adresse und die Subnetz-Maske gleich lang sind, da

25Die Host-ID 0 adressiert das Netzwerk selber und die Host-ID bei der alle Bits auf 1gesetzt sind, ist fur Broadcasts an alle Hosts in dem Netzwerk reserviert.

Page 25: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

7 ROUTING BEI SUBNETZEN 24

die Subnetz-Maske angibt, welche Bits der IP Adresse verwendet werden, umdas Subnetz zu identifizieren und welche fur den Host.

Fur jedes Bit der IP Adresse, daß zur Identifikation des Subnetzes verwendetwerden soll, wird dem entsprechenden Bit in der Subnetz-Maske der Wert 1zugewiesen. Soll hingegen das Bit fur den Host verwendet werden, so stehtan der Stelle eine 0.

Da Subnetze einer bestimmten Klasse angehoren, muss diese auch in derSubnetz-Maske berucksichtigt werden. Daher mussen die Bits, die in derIP Adresse fur den Netzwerk-Prafix der entsprechenden Klasse verwendetwerden, in der Subnetz-Maske den Wert 1 haben.

Bei einem Subnetz eines Netzwerks der Klasse B mussen die ersten 16 Bitnur Einsen enthalten und in den letzten beiden Bytes musste insgesamt,mindestens ein Bit den Wert 1 haben.

Die Subnetz-Maske eines Klasse B Netzwerkes, konnte z. B. so aussehen:

binar: 11111111 11111111 01001101 000011010doted quad: 255. 255. 77. 26

Oben steht die Subnetz-Maske im Binarformat und darunter im doted-quad-Format. Es wird aber empfohlen, daß man Subnetz-Masken wahlt, bei denendie Einsen aufeinander folgen, da so die RT einfacher zu verstehen sind:

binar: 11111111 11111111 11110000 00000000doted quad: 255. 255. 240. 0

Wir wissen jetzt, was Subnetze sind und wie diese mit Hilfe von Subnetz-Masken realisiert werden. Daher werden wir uns dem Routen in der Gegen-wart von Subnetzen zuwenden und nicht weiter in die Materie der Subnetzevordringen.

7.3 Der Subnetz Routing Algorithmus

Mit der Einfuhrung der Subnetze muss auch der bisher verwendete IP Rou-ting Algorithmus angepasst werden. Bei Routern und Hosts, die nicht direkt

Page 26: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

7 ROUTING BEI SUBNETZEN 25

an ein Netzwerk, das Subnetze verwendet, angeschlossen sind, wird wie ge-habt, der IP Routing Algorithmus angewendet. Dagegen muss jeder Routerbzw. Host, der an einem Netzwerk mit Subnetzen angeschlossen ist, den Sub-netz Routing Algorithmus verwenden.

Bei Netzwerken ohne Subnetze hat bisher die IP Adresse selber gereicht, umaus dieser den Netzwerk-Prafix zu erhalten. Dies war moglich, da die erstendrei Bits der IP Adresse die Klasse des Netzwerkes codierten und damitauch die Aufteilung in den Netzwerk-Prafix und Host-Suffix gegeben war.Daher genugte es, daß in die RT nur der Netzwerk-Prafix und die Adressedes nachsten Ziels eingetragen wurden.

Hat man hingegen ein Netzwerk mit Subnetzen, so ist es nicht mehr moglich,anhand der IP Adresse zu bestimmen, welche Bits fur das Netzwerk undwelche fur den Host verwendet werden. Da dafur die Subnetz-Maske benotigtwird, wurde die RT fur den Subnetz Routing Algorithmus, um eine Spalteerweitert und besitzt nun die Form (S, N, R). Das S steht fur die Subnetz-Maske, die das Netzwerk N verwendet und R steht fur die Next-Hop-Adresse,an die das IP Datagramm gesendet werden soll, wenn N das Ziel-Netzwerkist.

Um zu entscheiden, wohin ein IP Datagramm weitergeleitet werden soll, ver-knupft der Subnetz Routing Algorithmus die Subnetz-Maske eines Eintragsin der RT mit der IP Adresse des Zieles bitweise durch die Boolesche Und-Funktion (∧). Das Ergebnis vergleicht er dann mit dem Eintrag im NetzwerkFeld. Stimmen beide uberein, so wird das IP Datagramm an die Adresse imNext-Hop Feld weitergeleitet.

7.4 Ein vereinheitlichter Routing Algorithmus

Dadurch, daß wir die Moglichkeit haben, beliebige Werte fur die Subnetz-Maske und die Netzwerk-Adresse in die RT einzutragen, konnen wir alleFalle des IP Routing Algorithmus abdecken. Damit ist es uns moglich, eineneinheitlichen Routing Algorithmus zu verwenden, der sowohl fur Netzwerkemit als auch ohne Subnetze angewendet werden kann.

Um eine Host-Specific Route zu realisieren, muss man alle Bits der Subnetz-Maske auf 1 setzen und in das Netzwerk Feld die IP Adresse des Hostes ein-tragen. Fur ein Netzwerk ohne Subnetze tragt man in das Subnetz Feld eineSubnetz-Maske ein, bei denen die Bits den Wert 1 haben, die als Netzwerk-Prafix der Klasse des Netzwerkes verwendet werden26. In das Netzwerk Feld

26Bei einem Class C Netztwerk, waren dies die ersten 24 Bit.

Page 27: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

7 ROUTING BEI SUBNETZEN 26

wird dann der Netzwerk-Prafix des Netzwerkes eingetragen. Und um eineDefault Route anzulegen, bestehen sowohl die Subnetz-Maske als auch dieNetzwerk-Adresse nur aus Nullen.

Ein entsprechender Routing Algorithmus wurde dann so aussehen:

1. Extrahiere die IP Adresse des Zieles Z aus dem IP Datagramm.

2. Berechne den Netzwerk-Prafix P von Z.

3. Vergleiche P mit den Netzwerk-Prafixen N aller direkt angeschlossenerNetzwerke.

4. Fallunterscheidung:

(a) P stimmt mit einem N uberein ⇒ sende IP Datagramm direkt andas Ziel, uber dieses Netzwerk und beende den Algorithmus.

(b) keine Ubereinstimmung ⇒ weiter mit 5.

5. Berechne fur den aktuellen RT-Eintrag das bitweise Ergebnis B, wobei:

B = Z ∧ Subnetz-Maske

6. Vergleiche B mit Netzwerk-Eintrag E.

7. Fallunterscheidung:

(a) B stimmt mit E uberein⇒ sende IP Datagramm an die IP Adressedes Next-Hop Feldes und beende den Algorithmus.

(b) keine Ubereinstimmung und noch Eintrage in der RT nach demaktuellen ⇒ setze nachsten Eintrag als aktuellen RT-Eintrag undweiter mit 5.

(c) keine Ubereinstimmung und keine weiteren RT-Eintrage ⇒ Rou-ting Fehler und Abbruch des Algorithmus.

Dieser Algorithmus lasst sich aber noch weiter vereinfachen, da man den Testauf direkt angeschlossene Netzwerke durch entsprechende Eintrage in der RTrealisieren kann. Zusatzlich wahlt man das Netzwerk mit der langsten Uber-einstimmung als nachstes Ziel aus. Eine Moglichkeit ware z. B. das Anord-nen der RT-Eintrage ihrer Große nach, oder spezielle Hashfunktionen oderBaumstrukturen. Aber darauf wollen wir nicht naher eingehen und stattdes-sen einen optimierten Routing Algorithmus beschreiben, den man auch furdas Classless Inter-Domain Routing (CIDR) verwenden kann.

Page 28: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

7 ROUTING BEI SUBNETZEN 27

Ein optimierter Routing Algorithmus

1. Extrahiere die IP Adresse des Zieles Z aus dem IP Datagramm

2. Fur jeden Eintrag in der RT: bestimme das Ergebnis E des BooleschenAusdrucks:

E = Z ∧ Subnetz-Maske

und vergleiche E mit der entsprechenden Netzadresse N.

3. Wahle den Eintrag mit der langsten passenden Netzadresse.⇒ da die Default Route immer eine Ubereinstimmung der Lange 0 hat,wird sie nur dann gewahlt, wenn keine andere Route bekannt ist.⇒ Gibt es keine Ubereinstimmung und auch keine Default Route, danndeklariere einen Routing Fehler.

7.5 CIDR-Notation

Mit der Einfuhrung des, heutzutage verwendeten, Supernetting und damitauch der CIDR Notation, verabschiedete man sich von der bis dahin ver-wendeten Aufteilung der Netzwerke in verschiedene Klassen. Die Idee hin-ter Supernetting ist, daß man, im Gegensatz zum Subnetting, nicht einIP Netzwerk-Prafix in mehrere Subnetze aufteilt, sondern daß man meh-rere aufeinanderfolgende IP Adressen zu einem Block zusammenfaßt. Da dieIP Adressen in so einem Block nicht das gleiche Netzwerk-Prafix besitzenmussen, konnen diese also IP Adressen aus mehreren, der alten, klassifizier-ten Netzwerke beinhalten. Die einzige Bedingung besteht darin, daß die IPAdressen aufeinanderfolgen und nicht willkurlich gewahlt sind.

Einer der Vorteile von Blocken ist, daß man sie immer weiter in kleinere27

aufteilen kann, bis man nur noch Blocke hat, die eine einzige IP Adressebeinhalten. Damit ist es moglich jedem Netzwerken einen Block passenderGroße zuzuordnen und die Netzwerke ihrerseits konnen diese weiter aufteilen,um sie z. B. fur Subnetze zu verwenden.

Da beim Supernetting die Klassen der Netzwerke nicht mehr berucksich-tigt werden, kann man deshalb nicht mehr, ohne zusatzliche Angaben, dasNetzwerk-Prafix aus der IP Adresse generieren. Aber es gibt jetzt noch einProblem, das mit dem Wegfall der Klasseneinteilung einhergeht. Wir wissennicht, wie groß ein Block ist bzw. bei welcher IP Adresse er anfangt oder

27Die Anzahl der Adressen eines Blocks muss immer eine Potenz von 2 sein.

Page 29: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

8 TRACEROUTE 28

aufhort. Deshalb benotigen wir jetzt zwei Angaben, um einen Block zu iden-tifizieren.

Einerseits verwenden wir, wie beim Subnetting, eine 32-Bit-Maske, aber imGegensatz zu dieser mussen die Bits, die den Netzwerk-Teil angeben, fortlau-fend den Wert 1 haben, wahrend die Bits fur das Host-Suffix fortlaufend 0sein mussen. Und andererseits brauchen wir die kleinste IP Adresse im Block.

Betrachten wir dazu ein kleines Beispiel. Angenommen wir haben einen Blockvon 512 IP Adressen und er beginnt mit der IP Adresse 193. 64. 6. 0. Da unserBlock 512 IP Adressen groß ist, mussen bei der Maske die ersten 23 Bitsgesetzt sein (232 − 29 = 223) und sie sieht folglich so aus:

binar: 11111111 11111111 11111110 00000000doted quad: 255. 255. 254. 0

Da es aber sehr umstandlich ist, neben der niedrigsten IP Adresse im Blockauch noch eine 32-Bit-Maske anzugeben, hat man die CIDR Notation ein-gefuhrt. Bei dieser schreibt man die IP Adresse, gefolgt von der Anzahl dergesetzten Bits in der Maske und trennt beide durch einen Slash (/).

In unserem Beispiel wurde die CIDR Notation dann so aussehen:

193. 64. 6. 0/23

Durch die Verwendung von Supernetting mussen auch die Routing Algo-rithmen entsprechend angepaßt werden. Wir haben schon auf Seite 27 einenRouting Algorithmus kennengelernt, der fur das Routen mit Supernettinggeeignet ist. Dazu verwendet man statt der Subnetz-Maske die hier vorge-stellte 32-Bit-Maske und statt der Netzadresse N tragt man die niedrigsteIP Adresse des entsprechenden Blocks ein.

Damit beenden wir das Thema Routing und kommen zum letzten Teil dieserAusarbeitung, dem Programm Traceroute.

8 Traceroute

Im Jahre 1988 erblickte das Progamm Traceroute, geschrieben von Van Ja-cobson, das Licht der Welt. Seitdem ist es ein nutzliches Werkzeug, zur Er-mittlung von Routen, die Datenpakete vom sendenden zum empfangendenHost nehmen konnen.

Page 30: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

8 TRACEROUTE 29

Falls Sie sich fragen, warum Traceroute nur eine mogliche Route anzeigt undnicht die Route, so liegt das daran, daß sich Routen andern konnen. Wieschon am Ende von Abschnitt 6.1 erwahnt, folgen mehrere IP Datagramme,mit dem selben Ursprung und dem gleichen Ziel, nicht unbedingt der selbenRoute. Auch der Weg, den ein IP Datagramm von Host A nach Host Btraversiert, ist nicht zwingend der gleiche, den ein IP Datagramm von Bnach A nimmt.

Und obwohl man mit Traceroute nicht mit absoluter Sicherheit die Routebestimmen kann, die die Datenpakete beschreiten werden, so lassen sich dochgewisse Ruckschlusse ziehen und evtl. Fehler beim Routen, bzw. Ausfalle vonLeitungen, oder die Erreichbarkeit eines Computers feststellen. Allerdings istes meist einfacher das Programm Ping zu verwenden, um zu bestimmen obein Computer erreichbar ist.

Bevor es Traceroute gab, wurde das Programm Ping verwendet, um die Routedarstellen zu lassen, die ein Datenpaket von der Quelle zum Ziel nahm. Dazuwurde Ping mit der Option -R fur record route (RR) ausgefuhrt. Diese Optionbewirkt, daß die IP Adressen der Interfaces, uber die das Datenpaket dieRouter auf seinem Weg verlasst, gespeichert werden. Da aber nur Platz furneun IP Adressen zur Verfugung steht, war dies bald nicht mehr ausreichend.

Ein weiteres Problem besteht darin, daß nur Router, die die RR Optionzulassen, ihre IP Adresse eintragen und deshalb die aufgezeichnete Routenicht unbedingt vollstandig ist. Da Ping außerdem auf dem Client-Server-Modell basiert, mussen beide Enden, also Quelle und Ziel, Ping unterstutzen.

Im Gegensatz zu Ping benotigt Traceroute keine speziellen Optionen, dieRouter unterstutzen mussen, oder ein Serverprogramm am Ziel. Alles was esbraucht ist ein funktionierendes UDP Modul am Ziel. Und da UDP ein festerBestandteil des TCP/IP Protokolls ist, wird es standardmassig unterstutzt.

8.1 Funktionsweise von Traceroute

Um eine Route von dem Rechner, der Traceroute ausfuhrt, zum angegebenenZiel zu finden, verschickt Traceroute IP Datagramme an das Ziel. Das ist bisjetzt nichts besonderes und die IP Datagramme werden normal geroutet,solange die TTL groß genug ist.

Wie schon auf Seite 20 beschrieben, muss jeder Router die TTL dekrementie-ren und das IP Datagramm weiterleiten, wenn die TTL immer noch großerals null ist. Andernfalls muss der Router eine ICMP time exceeded Fehler-meldung an den Host schicken, der das IP Datagramm generiert hat und darfdas IP Datagramm nicht weiterleiten.

Page 31: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

8 TRACEROUTE 30

Diese Eigenschaft macht sich Traceroute zunutze. Es verschickt IP Data-gramme mit bestimmten TTL Werten und wartet auf ICMP time exceededFehlermeldungen. Da auch in den IP Headern von IP Datagrammen, die eineFehlermeldung beinhalten, die IP Adresse des Routers28, der diese erstellthat, enthalten ist, kann Traceroute anhand dieser die Route, die ein Daten-paket nimmt, darstellen.

Dazu versendet Traceroute zuerst IP Datagramme mit einer TTL von 1 andas Ziel. Diese erreichen den ersten Router, der die TTL dekrementiert unddaraufhin eine ICMP time exceeded Fehlermeldung zuruckschicken muss. Mitdieser erfahrt Traceroute die IP Adresse des ersten Routers und sendet dannIP Datagramme mit einer TTL von 2 los, um die IP Adresse des zweitenRouters zu erfahren. Dies geht solange weiter, bis die TTL groß genug ist,um das Ziel zu erreichen. Da der Ziel-Host keine ICMP time exceeded Fehler-meldung zuruckschickt, selbst wenn er die TTL zu null dekrementiert, stelltsich jetzt die Frage, wie Traceroute in Erfahrung bringen kann, ob das Zielschon erreicht wurde.

Um dies herauszufinden, enthalten die verschickten IP Datagramme ein UDP29

Datagramm, das an eine hohe Portnummer auf dem Zielrechner gerichtet ist.Da die Portnummer uber 30000 liegt, ist es sehr unwahrscheinlich, daß derPort auf dem Zielrechner offen ist30. Wird ein Rechner von einem UDP Da-tagramm fur einen geschlossenen Port erreicht, so muss das UDP Modul desRechners eine ICMP port unreachable Fehlermeldung an den Ursprung desDatagramms schicken.

Damit wird auch klar woher Traceroute weiß, ob es den Zielhost schon erreichthat. Erhalt es eine ICMP port unreachable Meldung, so ist ein IP Datagrammam Ziel angekommen und Traceroute ist mit der Routenverfolgung fertig.

8.2 Die Ausgabe von Traceroute

Die Abb. 10 stellt beispielhaft die Ausgabe von Traceroute unter Linux dar31.Hier wurde eine Routenverfolgung vom Host Belldandy zum Host heise.deaufgezeichnet.

28Anders als bei Ping handelt es sich bei dieser IP Adresse um das Interface, uber dasdas IP Datagramm beim Router eingegangen ist.

29UDP steht fur User Datagram Protocol und befindet sich, wie TCP, in der transportlayer des TCP/IP Schichtsystems.

30Lauft auf einem Rechner ein Programm, das Daten an einem Port akzeptiert, sobezeichnet man diesen Port als offen, andernfalls als geschlossen.

31Die Ausgabe von Traceroute ist abhangig von der Implementation und kann dahervariieren.

Page 32: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

8 TRACEROUTE 31

Belldandy> traceroute heise.detraceroute to heise.de (193.99.144.71), 30 hops max, 40 byte packets

1 gate001.roggen.stud.uni-bielefeld.de (194.94.18.1) 1 ms 1 ms 1 ms2 stha111-cisco1600-1.hrz.uni-bielefeld.de (129.70.188.9) 7 ms 17 ms 11 ms3 stha111-cat5500-1-rsm.hrz.uni-bielefeld.de (129.70.188.61) 7 ms 5 ms 7 ms4 s01-cat6500-1-msfc.hrz.uni-bielefeld.de (129.70.188.58) 22 ms 11 ms 5 ms5 v01-cat6500-1-msfc.hrz.uni-bielefeld.de (129.70.188.37) 13 ms 8 ms 8 ms6 v01-cat6500-2-msfc.hrz.uni-bielefeld.de (129.70.188.66) 6 ms 14 ms 5 ms7 ar-bielefeld1.g-win.dfn.de (188.1.44.193) 5 ms 19 ms 5 ms8 cr-essen1-po0-1.g-win.dfn.de (188.1.86.77) * 26 ms 21 ms9 cr-frankfurt1-po8-1.g-win.dfn.de (188.1.18.89) 19 ms 21 ms 23 ms

10 ir-frankfurt2-po3-0.g-win.dfn.de (188.1.80.38) 25 ms 21 ms 26 ms11 de-cix.ffm.plusline.net (80.81.192.132) 27 ms 28 ms 21 ms12 c6.f.de.plusline.net (213.83.57.27) 20 ms 21 ms 21 ms13 c22.f.de.plusline.net (213.83.19.83) 20 ms 20 ms 24 ms14 www.heise.de (193.99.144.71) 28 ms 37 ms 22 ms

Abbildung 10: Traceroute vom Host Belldandy zu heise.de

Die erste Zeile nach dem Programmaufruf gibt den Namen des Ziels an, dieIP Addresse des Ziels, den maximalen Wert der TTL und abschließend dieGroße des Pakets. Die nachfolgenden Zeilen haben das folgende Format:

TTL Name IP Addresse 1. Zeit 2. Zeit 3. Zeit

TTL steht hier fur den TTL Wert, den die verschickten Datenpakete haben.Name und IP Addresse identifizieren den Router/Host der von den Datenpa-keten erreicht wurde und die drei Zeiten geben jeweils an, wie viele Millise-kunden vom Senden des Datenpakets bis zum Empfang der entsprechendenICMP Fehlermeldung vergangen sind.

Wie man sehen kann, verschickt Traceroute fur jeden TTL-Wert drei IP Da-tagramme. Traceroute sendet dabei das erste Datenpaket und wartet auf dieICMP Fehlermeldung, bevor das nachste losgeschickt wird. Trifft die Feh-lermeldung innerhalb von 5 Sekunden ein, so berechnet Traceroute die Zeitund gibt diese aus. Danach wird das nachste IP Datagramm versendet. Ver-streichen allerdings die 5 Sekunden, ohne das eine Fehlermeldung eintrifft,so schickt Traceroute das nachste Datenpaket los und gibt ein Sternchen (*)aus. Sind die Zeiten der drei IP Datagramme bestimmt, so wird die TTLum eins erhoht und das Ganze geht von vorne los. Dies geht solange weiterbis entweder drei IP Datagramme an den Zielhost gesendet wurden, oder dieTTL den maximalen Wert uberschritten hat.

Page 33: IP Routing und Traceroute - Technische Fakultät · Im Folgenden werden wir nur auf das Routen in frame-basierten Broadcast Netzwerken, wie z.B. Ethernet eingehen. F¨ur das Routen

LITERATUR 32

Literatur

[Com] Douglas Comer, David L. Stevens, Internetworking with TCP/IP,Volume 1: Principles, Protocols and Architectures, Prentice Hall,2000

[Com1] Douglas Comer, David L. Stevens, Internetworking with TCP/IP,Volume 1: Principles, Protocols and Architectures, Prentice Hall,2000, S.64

[Com2] Douglas Comer, David L. Stevens, Internetworking with TCP/IP,Volume 1: Principles, Protocols and Architectures, Prentice Hall,2000, Kap. 5 und 6

[Stev] W. Richard Stevens, TCP/IP Illustrated, Volume 1: The Protocols,Addison-Wesley, 1994-1996

[Stev1] W. Richard Stevens, TCP/IP Illustrated, Volume 1: The Protocols,Addison-Wesley, 1994-1996, Kap. 1

[Tan] Andrew S. Tanenbaum, 9, 22 21 4, 19

Computernetzwerke, Prentice Hall, 3. revidierte Auflage, 2000

[Tan1] Andrew S. Tanenbaum, Computernetzwerke, Prentice Hall, 3. revi-dierte Auflage, 2000, Kap. 5.2 und 5.3

13