09.06.2013 Aufrufe

Praktikum Rechnernetze und Kommunikationssysteme - Lehrstuhl ...

Praktikum Rechnernetze und Kommunikationssysteme - Lehrstuhl ...

Praktikum Rechnernetze und Kommunikationssysteme - Lehrstuhl ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Praktikum</strong> <strong>Rechnernetze</strong> <strong>und</strong><br />

Stand: 17.10.2008<br />

<strong>Kommunikationssysteme</strong><br />

Inhaltsverzeichnis<br />

Konfigurierung eines lokalen<br />

IPv4-Netzwerks<br />

1 Inhalt <strong>und</strong> Ziel des Versuches ............................................................ 2<br />

2 Teilversuch I: Anbindung an das <strong>Lehrstuhl</strong>netz............................... 4<br />

3 Teilversuch II: Aufbau eines Ethernet-LAN....................................... 7<br />

4 Teilversuch III: Routing mit IPv4 ...................................................... 12<br />

A Routing in IP-Netzwerken ................................................................. 14<br />

B Netzwerkverbindungselemente........................................................ 21<br />

C Kommandos zur Netzwerkkonfiguration......................................... 25


1 Inhalt <strong>und</strong> Ziel des Versuches<br />

Innerhalb dieses Versuches sind drei aufeinander aufbauende Teilversuche zu absolvieren, die in den fol-<br />

genden Abschnitten beschrieben werden. Im ersten Teilversuch ist ein Linux-Rechner durch entsprechen-<br />

de Konfiguration des Routings in das <strong>Lehrstuhl</strong>netz einzubinden. Während des zweiten Teilversuchs wer-<br />

den Sie ein eigenständiges lokales Netz auf der Basis von Ethernet unter Verwendung verschiedener<br />

Kopplungselemente aufbauen. Der letzte Teilversuch erweitert den zweiten um die OSI-Ebene 3.<br />

1.1 Zeitbedarf<br />

• Vorarbeiten: 4 h<br />

• Versuch <strong>und</strong> Auswertung: 1,5 h<br />

1.2 Voraussetzungen<br />

• Hardware: 5 PCs, Hub, Switch, BNC-Kabel, TP-Kabel, Crosslinkkabel<br />

• Systemsoftware: Betriebssystem Linux, Software-Bridge, diverse Tools<br />

• Kenntnisse<br />

• zum Umgang mit einer UNIX-Shell<br />

• zur Funktionsweise von Ethernet, CSMA/CD <strong>und</strong> ARP<br />

• über IPv4 <strong>und</strong> das Routing in <strong>Rechnernetze</strong>n<br />

1.3 Betreuung<br />

Im <strong>Lehrstuhl</strong>labor (LG 1c, Raum 411, ehemals LG 2) steht die entsprechende Technik für den <strong>Praktikum</strong>s-<br />

versuch zur Verfügung. Die Maschinen können nur in den vereinbarten Zeiten benutzt werden. Der Ver-<br />

such wird unter Aufsicht durch einen Betreuer durchgeführt.<br />

Wenden Sie sich bei Fragen an den zuständigen Betreuer.


1.4 Aus-/Bewertung<br />

Die Auswertung <strong>und</strong> Bewertung des Versuchs erfolgt dreigeteilt:<br />

1. Vor Beginn des Versuchs haben Sie die Möglichkeit, ggf. noch offene Fragen zum Versuch mit dem<br />

Betreuer zu erörtern. Danach wird im Rahmen eines Kolloquiums durch Fragen des Betreuers geprüft,<br />

ob Sie über die erforderlichen Gr<strong>und</strong>kenntnisse zur erfolgreichen Durchführung des Versuchs verfü-<br />

gen.<br />

2. Die konfigurierten Rechner bzw. Schnittstellen werden vorgeführt. Der Betreuer wird Sie während des<br />

Versuches mit Zwischenfragen konfrontieren.<br />

3. Die in der Versuchsbeschreibung enthaltenen Fragen sind detailliert zu beantworten (einschließlich<br />

konkreter Angabe der initiierten Kommandos) <strong>und</strong> dem Betreuer während des Versuches zu beantwor-<br />

ten.<br />

Stand: 17.10.2008


2 Teilversuch I: Anbindung an das <strong>Lehrstuhl</strong>netz<br />

TCP/IP ist die weitverbreitetste Protokollfamilie auf den Schichten 3 <strong>und</strong> 4, auf ihr basiert die Kommunikati-<br />

on im Internet. Ziel dieser Aufgabe ist es, die gr<strong>und</strong>legenden Tabellen <strong>und</strong> Datenstrukturen kennenzuler-<br />

nen, mit denen unter Linux das Routing konfiguriert wird.<br />

Mittels Routing werden Datenströme in einem Rechnernetz <strong>und</strong> über Netzgrenzen hinweg gesteuert. Wäh-<br />

rend des Versuches soll eine Workstation schrittweise in das <strong>Lehrstuhl</strong>netzwerk eingeb<strong>und</strong>en werden <strong>und</strong><br />

am Ende einen vollständigen Internetzugang besitzen.<br />

Diese Kopplung wird ausschließlich mit Konfigurationsfiles möglich, die Hardwareverkabelung ist bereits<br />

erfolgt. Am Ende des Versuches sollen die Teilnehmer ein Gefühl für die Arbeitsweise der Mechanismen<br />

erlangt haben <strong>und</strong> die vorhandenen UNIX-Werkzeuge praktisch einsetzen können.<br />

2.1 Versuchsvorbereitung<br />

Wiederholen bzw. erweitern Sie Ihre Kenntnisse zur Funktionsweise des Routing in <strong>Rechnernetze</strong>n <strong>und</strong> zu<br />

IP. Als Literatur können z.B. [Perl, Hunt] sowie die Online-Dokumente [ACM, 3com] empfohlen werden (vgl.<br />

Abschnitt 2.4, siehe aber auch Anhang A). Arbeiten Sie sich in gr<strong>und</strong>legende UNIX-Kommandos ein.<br />

Ziel der Vorbereitung ist es, dass Sie neben einem allgemeinen Wissen über Routing auch die notwendigen<br />

Kommandos (ip, ping, netstat) <strong>und</strong> deren Syntax kennen, um eine minimale <strong>und</strong> eine statische<br />

Routingtabelle zu konfigurieren (siehe Anhang C).<br />

In diesem Versuch wird auf der Schicht 3 gearbeitet. Es ist hilfreich, über die Funktionen der unterliegen-<br />

den Schichten informiert zu sein (ARP, RARP ...). Im Internet wird auf der Schicht 3 ein weiteres Protokoll<br />

benutzt, um Fehlernachrichten zu versenden (ICMP Internet Control Message Protocol), siehe dazu auch<br />

[Perl].<br />

2.2 Versuchsaufbau<br />

RNKS-Netzwerk<br />

141.43.3.163<br />

Abbildung 1: Versuchaufbau I<br />

COSMO<br />

eth0 eth1


2.3 Versuchsdurchführung<br />

Der Rechner cosmo soll in das Netz eingeb<strong>und</strong>en werden. Alle Arbeiten sind an diesem Rechner auszu-<br />

führen. Stellen Sie dazu entsprechend der im folgenden genannten Schritte den Versuchsaufbau I (siehe<br />

1 2<br />

Abbildung 1) her.<br />

Starten Sie den Rechner. Melden Sie sich als Benutzer root an (leeres Passwort).<br />

Kennen Sie virtuelle Konsolen?: Drücken Sie der Reihe nach ALT-F2, ALT-F3 <strong>und</strong> ALT-F1.<br />

Konfigurieren Sie eine minimale Routingtabelle. Gehen Sie dabei wie folgt vor:<br />

• Welche Netzwerkinterfaces sind bereits konfiguriert? Überprüfen sie dies mittels "ip addr".<br />

• Kontrollieren Sie die Ausgabe des Kommandos "ip route" <strong>und</strong> benutzen Sie danach "ping local-<br />

host"<br />

Frage 1: Wozu dient das so konfigurierte loopback-Interface ? Werden über diese Schnittstelle Daten ver-<br />

sendet? Falls ja, welche Adresse erhalten die Pakete auf der Schicht 3 (IP) <strong>und</strong> welche auf der Schicht 2<br />

(Ethernet) ?<br />

Konfigurieren Sie nun das echte Interface mit Hilfe von ip. Beachten Sie, dass Sie das Interface zuerst<br />

manuell hochfahren müssen (ip link), bevor Sie die IP-Adresse eintragen. Dies geschah mit den alten<br />

Tools (ifconfig) automatisch. Nutzen Sie folgende Werte:<br />

Interface eth0<br />

IPv4-Adresse 141.43.3.163<br />

netmask 255.255.255.192<br />

Testen Sie auch dieses Interface mittels ip route <strong>und</strong> ping.<br />

Frage 2: Welche Funktion hat die Metrik in einer minimalen Routingtabelle?<br />

1 Zuletzt war die BNC-Netzwerkkarte zwar mit eth0 beschriftet, bekam beim Hochfahren des Rechners aber den<br />

Namen eth1 zugeordnet. eth0 ist demzufolge die andere Karte!<br />

2 Zuletzt war der linke Anschluss der Anschlussdose 10 freigeschaltet. Um diesen zu erreichen, sollten Sie ein lan-<br />

ges graues Kabel, das gelbe Kabel sowie den Hub verwenden. Achten Sie bitte darauf, ob es sich bei dem langen<br />

Kabel um ein Cross-Link-Kabel handelt oder nicht! Überlegen Sie, wie das vorhandene Kabel an den Hub ange-<br />

schlossen werden muss!<br />

Stand: 17.10.2008


Frage 3: Hätten Sie auch eine willkürliche IP-Adresse wählen können? Überlegen Sie, ob das System<br />

nicht mehr funktioniert, wenn Sie eine willkürliche Adresse wählen.<br />

Frage 4: Welche Rechner lassen sich mit der so konfigurierten Routingtabelle erreichen? Warum?<br />

Kontrollieren Sie das Routing, indem Sie versuchen, einen Rechner des <strong>Lehrstuhl</strong>s anzupingen, z. B.<br />

141.43.3.129 (portia). Wiederholen Sie den Versuch mit einem Rechner außerhalb des <strong>Lehrstuhl</strong>netzes,<br />

z. B. 141.43.1.1 (DNS-Server der BTU).<br />

Fügen Sie einen Eintrag in der Routingtabelle hinzu, sodass auch Daten an Rechner außerhalb des loka-<br />

len Netzes weitergeleitet werden können. Benutzen Sie als Gateway den Rechner mit der IP-Adresse<br />

141.43.3.190.<br />

Frage 5: Welche weiteren Informationen kommen im Gegensatz zur zuvor erstellten Minimalkonfiguration<br />

hinzu? Wozu dienen diese?<br />

Wiederholen Sie den Versuch, einen Rechner außerhalb anzupingen.<br />

Frage 6: Wo werden die symbolischen Namen für die IP-Adressen vereinbart?<br />

Löschen Sie nach Beendigung des Versuchs die Default-Route: ip route del default<br />

2.4 Literatur<br />

[Hunt] Craig Hunt: TCP/IP Network Administration, O'Reilly & Associates, Inc.<br />

[Perl] Radia Perlman: Interconnections (Bridges and Router), Addison-Wesley 1993 (deutsch).<br />

[3com] "Understanding IP Addressing: Everything You Ever Wanted To Know" -<br />

http://www.ee.bilkent.edu.tr/~ee536/ipaddressing.pdf (Alles was man über IP-Adressierung<br />

<strong>und</strong> Subnetting wissen muss, wird hier beschrieben).<br />

[ACM] Connector, ACM Crossroads Column, (Kolumne zu Computer Networking im Online-<br />

Studenten-Magazin der ACM) http://www.acm.org/crossroads/columns/connector/.


3 Teilversuch II: Aufbau eines Ethernet-LAN<br />

Dieser Versuch dient der Erlangung praktischer Kenntnisse beim Aufbau <strong>und</strong> Betreiben eines lokalen<br />

<strong>Rechnernetze</strong>s auf der Basis von Ethernet.<br />

• Einrichten einer Brücke<br />

• Einrichten eines Hub<br />

• Einrichten eines Switch<br />

• Umgang mit Netz-Kontroll-Werkzeugen<br />

• Verstehen der Zusammenhänge Ethernet-Internet Protocol-ARP (Address Resolution Protocol)<br />

Ihre Aufgabe wird es sein, PCs bzw. Workstations für den Einsatz in einem Ethernet-Netz vorzubereiten.<br />

Ein PC soll dabei als Brücke zwischen zwei Ethernet-Segmenten eingesetzt werden. Desweiteren werden<br />

ein Switch <strong>und</strong> ein Hub eingesetzt. Auf den angeschlossenen Rechnern soll mittels geeigneter Software<br />

der Datenverkehr auf dem Netzwerk beobachtet werden.<br />

3.1 Versuchsvorbereitung<br />

Wiederholen bzw. erweitern Sie Ihre Kenntnisse zur Funktionsweise von Ethernet, CSMA/CD <strong>und</strong> ARP<br />

sowie verschiedener Netzwerk-Kopplungselemente (siehe auch Anhang 4). Machen Sie sich mit der Funktionsweise<br />

der Kommandos arp <strong>und</strong> tcpdump vertraut.<br />

3.2 Versuchsaufbau<br />

Stand: 17.10.2008<br />

Abbildung 2: Versuchaufbau IIa


3.2.1 Die Bridge-Software<br />

Abbildung 3: Versuchsaufbau IIb<br />

In diesem Versuch wird das Programm pcbridge eingesetzt. Hierbei handelt es sich um eine Implementa-<br />

tion eines einfachen Bridgemechanismus zwischen zwei oder mehreren PC-Ethernetkarten. Diese<br />

,,Software-Bridge'' wurde von Vance Morrison, Northwestern University in TURBO-Assembler 1.5 realisiert.<br />

Sie ist in der hier benutzten Version (pcbridge 1.2) frei verfügbare Software <strong>und</strong> wird auch in verbesserten<br />

Versionen weltweit als Bridge-Lösung mit einem sehr guten Preis-Leistungs-Verhältnis eingesetzt.<br />

Natürlich sind spezielle Bridgegeräte weit leistungsfähiger <strong>und</strong> haben meist einen größeren Funktionsum-<br />

fang. pcbridge v1.2 unterstützt das Spanning-Tree-Protocol nicht, ist nicht SNMP-fähig, hat keine stati-<br />

schen Tabellen, keine nutzer-definierbaren Filterfunktionen <strong>und</strong> kann nur im Lernmodus (ohne Aging) be-<br />

trieben werden.<br />

3.3 Versuchsdurchführung<br />

Stellen Sie den Versuchsaufbau IIa her (siehe Abbildung 2). 1 Prüfen Sie, ob es sich bei dem in alex ste-<br />

ckenden Kabel um ein crosslink-Kabel handelt <strong>und</strong> ziehen Sie die entsprechenden Konsequenzen für die<br />

Verkabelung! Starten Sie die PCs alex <strong>und</strong> ben. Konfigurieren die Netzwerkanbindung der Rechner. Ver-<br />

wenden Sie dazu folgende Parameter:<br />

• die in Abbildung 2 genannten IPv4-Adressen<br />

• netmask = 255.255.255.0<br />

1 Beachten Sie, dass der Rechner ben zwei Netzwerkkarten besitzt. Zuletzt war die weiter unten eingebaute die,<br />

welche mit eth0 bezeichnet ist.


Schalten Sie den Bridge-PC ein. Die Bridge-Software startet automatisch. 1<br />

Führen Sie die folgenden Aktionen durch <strong>und</strong> erläutern Sie stichpunktartig den mit tcpdump beobachteten<br />

Netzverkehr. Werden bei einer Wiederholung der Aktion auf den jeweiligen Rechnern die gleichen Pakete<br />

beobachtet? Falls dies nicht so ist, erklären Sie dieses Verhalten.<br />

Aktion auf cosmo: ping 192.168.1.3 (alex)<br />

Wiederholung Beobachteter Netzverkehr an alex Beabachteter Netzverkehr an ben<br />

1<br />

2<br />

Aktion auf alex: ping 192.168.1.1 (ben)<br />

Wiederholung Beobachteter Netzverkehr an cosmo Beabachteter Netzverkehr an ben<br />

1<br />

2<br />

Aktion auf ben: ping 192.168.1.2 (cosmo)<br />

Wiederholung Beobachteter Netzverkehr an cosmo Beabachteter Netzverkehr an alex<br />

1<br />

2<br />

Vergleichen Sie bitte die Ergebnisse der ersten <strong>und</strong> dritten Aktion miteinander <strong>und</strong> versuchen Sie, evt. auf-<br />

getretene „Merkwürdigkeiten“ zu erklären!<br />

1 Da der Rechner, auf dem die Bridge-Software läuft, bereits etwas älter ist, ist die CMOS-Batterie praktisch leer.<br />

Dies kann dazu führen, dass der Rechner zunächst nicht hochfährt, weil die Daten der Festplatte fehlen. In diesem<br />

Fall ist die Platte manuell zu konfigurieren. Zu diesem Zweck Einstellung 47 wählen <strong>und</strong> dann folgende Parameter<br />

eingeben: 980x5x980(?)x980(?)x17.<br />

Stand: 17.10.2008


Löschen Sie die ARP-Tabellen der Linux-PCs (unter Verwendung des Kommandos arp –d x.x.x.x).<br />

Starten Sie die Bridge neu. Stellen Sie Versuchsaufbau IIb her (siehe Abbildung 3).<br />

Führen Sie die folgenden Aktionen durch <strong>und</strong> erläutern Sie wiederum den beobachteten Netzverkehr.<br />

Werden bei einer Wiederholung der Aktion auf den jeweiligen Rechnern die gleichen Pakete beobachtet?<br />

Falls dies nicht so ist, erklären Sie dieses Verhalten.<br />

Aktion auf cosmo: ping 192.168.1.3 (alex)<br />

Wiederholung Beobachteter Netzverkehr an alex Beabachteter Netzverkehr an ben<br />

1<br />

2<br />

Aktion auf alex: ping 192.168.1.1 (ben)<br />

Wiederholung Beobachteter Netzverkehr an cosmo Beabachteter Netzverkehr an ben<br />

1<br />

2<br />

Aktion auf ben: ping 192.168.1.2 (cosmo)<br />

Wiederholung Beobachteter Netzverkehr an cosmo Beabachteter Netzverkehr an alex<br />

1<br />

2<br />

Erklären Sie bitte evt. auftretende Unterschiede im Vergleich zu Versuchsaufbau IIa.<br />

Löschen Sie nach Beendigung des Versuchs auf Rechner alex die konfigurierte IPv4-Adresse mit Hilfe des<br />

Tools ip.


3.4 Kontrollfragen<br />

1. Welche Veränderungen würden sich bei den beobachteten Paketen ergeben, wenn die Bridge aus<br />

dem Versuchsaufbau IIb entfernt <strong>und</strong> cosmo direkt an den Switch angeschlossen wird?<br />

2. Welchen Sinn macht die Bridge im Versuchsaufbau IIb?<br />

3. Bridge A <strong>und</strong> Bridge B (beide vom selben Typ) sind in einem LAN eingesetzt. Der Netzwerkmanager<br />

überprüft nun die aktuelle Verkehrsbelastung. Dabei stellt er bei Bridge A eine sehr niedrige aktuelle<br />

Durchsatzrate <strong>und</strong> bei B eine sehr hohe aktuelle Durchsatzrate fest. In allen angeschlossenen Seg-<br />

menten herrscht eine ungefähr gleiche Netzbelastung. Welche Bridge ist sinnvoller eingesetzt, welche<br />

könnte am ehesten eingespart werden? (Die Brücken wurden nicht aus Sicherheitsgründen installiert.)<br />

3.5 Literatur<br />

• zu Ethernet:<br />

- Tanenbaum, A.S.: Computer-Netzwerke, 1990, Wolfram's Fachverlag, Seiten 169-177<br />

- Charles Spurgeon's Ethernet Web Site - http://www.ethermanage.com/ethernet/ethernet.html<br />

• zu CSMA-CD:<br />

- Tanenbaum, A.S.: Computer-Netzwerke, 1990, Wolfram's Fachverlag, Seiten 144-155<br />

• zu IP:<br />

- Tanenbaum, A.S.: Computer-Netzwerke, 1990, Wolfram's Fachverlag, Seiten 431-436<br />

• zu PC-Netzen:<br />

- Göhring, H.G., Jasper, E.: Der PC im Netz, 1991, DATACOM-Verlag, Seiten 243-252<br />

• zu Bridges <strong>und</strong> ARP:<br />

- Perlman, R.: Interconnections: Bridges <strong>und</strong> Routers, 1993, Addison-Wesley<br />

Stand: 17.10.2008


4 Teilversuch III: Routing mit IPv4<br />

Das Internet besteht aus miteinander verb<strong>und</strong>enen Knotenrechnern, Router genannt. Diese Router bilden<br />

das Rückgrat des Internet. Router arbeiten auf OSI-Level 3, also auf der Netzwerkschicht. Sie empfangen<br />

IP-Pakete von ihren Schnittstellen, verarbeiten diese <strong>und</strong> leiten sie weiter an andere Schnittstellen. Die<br />

Entscheidung, wie ein Paket weitergeleitet wird, wird anhand der Routen-Tabelle gefällt. Damit hatten Sie<br />

im Teilversuch I bereits zu tun. In diesem Versuch soll ein echtes Routing zwischen zwei unabhängigen<br />

Teilnetzen erfolgen.<br />

4.1 Versuchsvorbereitung<br />

Wiederholen bzw. erweitern Sie Ihre Kenntnisse zu IPv4. Machen Sie sich insbesondere mit den Mecha-<br />

nismen zur Konfiguration von IPv4 vertraut (siehe auch Anhang C).<br />

4.2 Versuchsaufbau<br />

141.43.3.161<br />

DELL<br />

eth0 eth1<br />

141.43.3.163<br />

COSMO<br />

eth0 eth1<br />

Abbildung 4: Versuchsaufbau III<br />

4.3 Versuchsdurchführung<br />

Stellen Sie den Versuchsaufbau III (siehe Abbildung 4) her 1 <strong>und</strong> starten Sie den Rechner dell. 2 Konfi-<br />

gurieren Sie den Rechner dell entsprechend, verwenden Sie als Netzmaske 255.255.255.192. Überprüfen<br />

Sie die Verbindung zwischen dell <strong>und</strong> cosmo mittels ping.<br />

1 Der Einfachheit halber können Sie ben <strong>und</strong> die Bridge wiederum über den Switch verbinden.<br />

2 Zuletzt waren die beiden Netzwerkkarten von dell mit eth1 <strong>und</strong> eth2 beschriftet. Konfiguriert werden diese beiden<br />

Karten durch Linux jedoch als eth0 bzw. eth1.<br />

192.168.1.2<br />

BRIDGE<br />

eth1 eth0<br />

BEN<br />

eth0 eth1<br />

192.168.1.1


Nun haben wir zwei Netzwerksegmente: dell ↔ cosmo <strong>und</strong> cosmo ↔ ben. Wir wollen diese beiden Seg-<br />

mente jetzt so verbinden, dass ben mit dell kommunizieren kann. cosmo bekommt dafür also die Funktion<br />

eines Routers.<br />

Frage 1: Was muss jetzt noch konfiguriert werden, damit ben über cosmo mit dell „sprechen“ kann? Wel-<br />

cher Rechner muss welches Wissen besitzen, um Pakete richtig versenden zu können?<br />

Konfigurieren Sie die noch fehlenden Routen! Überprüfen Sie die Funktion durch ping von ben nach dell<br />

<strong>und</strong> umgekehrt.<br />

Erläutern Sie die Ausgabe folgenden Befehls auf ben: traceroute 141.43.3.161<br />

Stand: 17.10.2008


A Routing in IP-Netzwerken<br />

A.1 Überblick<br />

Router operieren in der Ebene 3 des OSI-Referenzmodells. Sie verbinden Netzwerke über die entspre-<br />

chenden Netzwerkprotokolle. Sie ermöglichen die Zerlegung großer Netzwerke in kleinere Verwaltungsein-<br />

heiten. Sie leiten Datenpakete der Netzwerkschicht weiter (forwarding) <strong>und</strong> treffen Entscheidungen über<br />

Wegeauswahl <strong>und</strong> Erreichbarkeit zu anderen Netzwerken (routing). Der Router muß dafür die Adressie-<br />

rungsstruktur in der Netzwerkschicht kennen. Er ist jedoch von der Data-Link-Schicht 2 unabhängig <strong>und</strong><br />

kann deswegen verschiedene Schicht-2-Welten (zum Beispiel Ethernet <strong>und</strong> Token Ring) miteinander ver-<br />

binden. Ein Router unterscheidet sich u.a. von einer Bridge darin, dass die Bridge für die Netzwerkteilneh-<br />

mer völlig transparent ist, während die Adresse eines Routers jedem Host im Netzwerk explizit bekannt<br />

sein muß, wenn er dessen Dienste nutzen will. Ein Router bietet dabei eine höherwertige Dienstleistung als<br />

eine Bridge: Er kann einen von mehreren potentiellen Wegen zur Weiterleitung der Daten aussuchen, wo-<br />

bei er seine Entscheidung mit Hilfe von Parametern, wie zum Beispiel Übertragungszeiten, Knotenlast oder<br />

auch nur einfach Knotenanzahl, trifft. Wie Router die Wegeentscheidung treffen, hängt wesentlich vom<br />

konkreten Protokoll der Schicht 3 ab.<br />

In den weiteren Ausführungen <strong>und</strong> im Experiment wird nur noch auf Router der TCP/IP-Welt eingegangen<br />

(IP-Router). An dieser Stelle sei auf eine begriffliche Mehrdeutigkeit hingewiesen. In der (alten) TCP/IP-<br />

Terminologie wurde die Bezeichnung Gateway, IP-Gateway oder Internet-Gateway für einen in der Schicht<br />

3 arbeitenden IP-Router benutzt. Dies darf nicht mit den Applikations-Gateways der Schicht 7 (nach OSI)<br />

verwechselt werden. Diese ursprüngliche TCP/IP-Terminologie ist auch noch in neuerer Literatur bekannter<br />

Hersteller zu finden [IBM91].<br />

A.2 IP-Router<br />

Ein wesentlicher Mechanismus eines IP-Routers ist das IP-Protokoll. Praktisch sind hierin alle notwendigen<br />

(Routing-) Funktionen zur Verbindung zweier Netzwerke enthalten. Dies bedeutet, dass jeder Host mit ei-<br />

ner minimalen IP-Implementation praktisch auch als Router arbeiten kann. Dies ist aber sicherlich die Aus-<br />

nahme, da ein vollwertiger Router noch einige weitere Spezialprotokolle (Routingprotokolle) der TCP/IP-<br />

Familie beherrschen sollte. Erst aufgr<strong>und</strong> dieser Router-Router-Protokolle können dann Routing-<br />

Informationen verwaltet <strong>und</strong> f<strong>und</strong>ierte Wegentscheidungen getroffen werden. In einigen Quellen wird sogar<br />

(mit Begründung) davon abgeraten, normale IP-Hosts als Router zu benutzen. An dieser Stelle sei nur auf<br />

[Com88, S.85] verwiesen. Weiterhin ist auch ein Blick in den Nachfolgeband [Com91, S.81ff] sehr zu emp-<br />

fehlen, da hier eine vollständige Implementation des IP-Routing-Algorithmus in C gezeigt wird. In verschie-<br />

denen Literaturquellen wird mit dem Begriff Router bzw. Gateway überhaupt nur die Behandlung der spe-<br />

ziellen Router-to-Router-Protokolle verb<strong>und</strong>en [Ben88, Sei88].<br />

Die gr<strong>und</strong>legende Eigenschaft eines Routers besitzen alle IP-Implementationen [IBM91]:


Ein eintreffendes IP-Datagram mit einer anderen Ziel-IP-Adresse, als die (bzw. eine der ) IP-Adresse(n)<br />

des lokalen Hosts, wird wie ein normales abzusendendes IP-Datagramm behandelt.<br />

Dieses abzusendende Datagramm unterliegt dem IP-Routing-Algorithmus des lokalen Hosts, welcher den<br />

nächsten Netzknoten (next hop) bestimmt, zu welchem das Paket weitergeleitet wird. Dieser Knoten wird<br />

über eine der physischen Netzschnittstellen (Netzwerkadapter) des Hosts erreicht. Der IP-Routing-<br />

Algorithmus bestimmt,<br />

• über welchen physischen Netzadapter das Paket gesendet wird;<br />

• ob sich der Ziel-Host im (direkt angeschlossenen) lokalen Netzwerk befindet oder nicht;<br />

- Wenn ja, wird das Paket an die physische Adresse (Schicht 2) dieses Hosts auf dem lokalen Netz<br />

Stand: 17.10.2008<br />

gesendet. Die physische Adresse muss vorher eventuell noch durch ein geeignetes Protokoll<br />

(ARP) ermittelt werden.<br />

- Wenn nein, wird das Paket an die physische Adresse des ermittelten, nächsten Netzknotens (Rou-<br />

ter) im direkt angeschlossenen Netzsegment gesendet.<br />

Direkt angeschlossen heißt nicht automatisch auch lokal, da ein Router/Host auch direkt an ein Weit-<br />

verkehrsnetz angeschlossen sein kann.<br />

Für diese Entscheidung vergleicht der Routing-Algorithmus die Zieladresse des IP-Datagramms mit den In-<br />

formationen in der Routing-Tabelle des lokalen Hosts.<br />

A.2.1 IP Routing-Tabelle<br />

Diese Tabelle ermöglicht die Abbildung von IP-Ziel-Netzadressen auf Wege zum nächstgelegenen Netz-<br />

knoten. Für normale IP-Router im weltweiten INTERNET-Verb<strong>und</strong> ist diese Abbildung nicht eineindeutig,<br />

da verständlicherweise nicht alle IP-Netzwerke des INTERNETs in einer Tabelle vernünftig verwaltet wer-<br />

den können (vgl. RFC1166 Assigned Numbers). Lediglich einige historisch entstandene Core-Gateways im<br />

alten, durch das NSFNET abgelösten ARPANET-Backbone in den USA, hatten die Aufgabe, alle IP-<br />

Netzwerke zu kennen.<br />

Üblicherweise wird die aktuelle Routing-Tabelle durch das Kommando: "netstat -r" angezeigt. Die Ma-<br />

nual-Pages zu ,,netstat -r'' informieren detailliert über die Struktur der Tabelle.<br />

Im allgemeinen enthält die Tabelle folgende Informationen:<br />

1. Direkte Wege für lokal (direkt) angeschlossene Netze/Hosts;<br />

2. Indirekte Wege für Netzwerke/Hosts, die über einen direkt angeschlossenen Router erreichbar sind;


3. Einen Standardweg (direkt oder indirekt), der benutzt wird, falls die Zieladdresse nicht durch 1. oder 2.<br />

auf einen Weg abgebildet werden kann;<br />

Konkrete Host-Routen werden allerdings nur im Ausnahmefall angegeben. Im allgemeinen basiert das IP-<br />

Routing-Konzept nur auf dem Netzwerkteil der Zieladresse. Konkrete Host-Routen sind jedoch in Spezial-<br />

fällen nützlich, wenn der Netzwerkadministrator Zugriffswege explizit vorschreiben will oder falls Netzwerk-<br />

verbindungen oder Routing-Tabellen debugged werden müssen [Com88, S.83].<br />

Die Möglichkeit der Definition eines Standardweges ist eine hervorragende <strong>und</strong> wesentliche Einrichtung<br />

des IP-Routing-Konzeptes. Alle Datagramme mit für den Router unbekannter IP-Adresse, werden an eine<br />

feste Adresse geschickt. Dahinter verbirgt sich ein etwas ,,schlauerer'' Router. Dieser besitzt allerdings<br />

selbst wieder einen Standard(aus)weg für Datagramme, die auch ihm unbekannt sind u.s.w.<br />

A.2.2 Direktes oder Indirektes Routing<br />

Soll ein Paket weitergeleitet werden, wird der Netzwerkteil der Zieladresse mit dem Netzwerkteil der eige-<br />

nen, lokalen Hostadresse verglichen. Stimmen sie überein, so befindet sich der Zielhost in einem direkt<br />

angeschlossenen Netzsegment. Das Paket wird mit der physischen MAC-Adresse (Schicht 2) des Ziel-<br />

hosts versehen über die entsprechende Netzschnittstelle ausgesendet. Dies wird als direct routing be-<br />

zeichnet. Stimmen Zielnetz <strong>und</strong> eigenes, lokales Netz nicht überein, wird die physische Adresse des güns-<br />

tigsten direkt (lokal) erreichbaren Routers benutzt <strong>und</strong> das Paket über einen indirekten Weg weitergeleitet.<br />

Im allgemeinen betrachtet der Routing-Algorithmus nur den Netzwerkteil einer Hostadresse. Bei indirekt er-<br />

reichbaren Hosts ist die Kenntnis über einen weiteren (den nächsten) Router zum Ziel ausreichend. Ein<br />

einzelner Router muss also nur sehr wenig über das Gesamtnetz wissen.<br />

A.2.3 Ein Beispiel einer konkreten Routing-Tabelle<br />

Die folgende Routing-Tabelle wurde auf einer HP-Workstation (hpws1) mit dem Kommando ,,netstat -<br />

r'' erzeugt:<br />

*** Creating new /etc/netstat_data file ***<br />

Routing tables<br />

Destination Gateway Flags Refcnt Use Interface<br />

134.109.192 hpws1.informati U 4294958547 76999 lan0<br />

default pcroute132-1.hr UG 0 0<br />

lan0<br />

127 localhost U 2 1735 lo0<br />

134.109.196 134.109.192.173 UG 0 0 lan0<br />

134.109.128 pcroute132-1.hr UG 0 0 lan0<br />

134.109.200 pcroute132-1.hr UG 0 0 lan0<br />

134.109.188 prokon1.informa UG 0 0 lan0<br />

134.109.132 pcroute132-1.hr UG 0 305 lan0


134.109.204 pcroute132-1.hr UG 0 0 lan0<br />

Die eigenen IP-Adressen der physischen Netzwerkschnitstellen des Hosts (hier nur eine Schnittstelle lan0),<br />

können u.a. mit dem Kommando "ifconfig $$" (hier also "ifconfig lan0") angezeigt<br />

werden:<br />

lan0: flags=66b<br />

inet 134.109.192.9 netmask ffffff00 broadcast 134.109.192.255<br />

Eine genaue Beschreibung des Inhalts der Tabelle ist in den Manual-Pages zu finden. Hier soll nur auf die<br />

wesentlichsten Informationen eingegangen werden.<br />

Das Netzwerk 127.0.0.0 wird, wie in allen TCP/IP-Implementationen, als Loopback-Interface u.a. für Test-<br />

<strong>und</strong> Debug-Zwecke benutzt. Seine wesentliche Rolle liegt aber im IP-Softwaredesign begründet [Com88,<br />

S.31, S.60, S.86]. Das zugehörige virtuelle (Pseudo-)Interface ist lo0.<br />

Die Workstation hat nur ein (Ethernet-) Netzwerkinterface lan0. Das bedeutet, sie kann nicht als Router<br />

zwischen physisch verschiedenen Netzsegmenten, wohl aber als Router zwischen mehreren logischen<br />

Subnetzen in einem physischen Netzwerksegment arbeiten. Diese Konfigurationsmöglichkeit wird im Netz<br />

der TU Chemnitz zur Zeit jedoch nicht genutzt. Jedes logische Subnetz des gesamten TU-Chemnitz-<br />

Netzes (134.109) ist auch ein eigenes physisches Netzsegment.<br />

Die Workstation befindet sich direkt (Flag U) im (Sub-) Netz 134.109.192. Es bestehen indirekte Wege<br />

(Flag UG) in verschiedene (Sub-) Netze (196,128,200, 188,132,204), hauptsächlich über den Router<br />

pcroute132-1, aber auch über zwei andere Router (,,prokon1'' <strong>und</strong> 134.109.192.173).<br />

Für unbekannte IP-Zieladressen wurde ein Standard-Router definiert (wieder pcroute132-1). Dieser<br />

Router ist für die Workstation offenbar ein zentrales <strong>und</strong> wichtiges Bindeglied zur Außenwelt. Der Netz-<br />

werkmanager kann außerdem erkennen, dass vom HP-Pool aus seit dem letzten Systemstart hauptsäch-<br />

lich im Subnetz 134.109.192 <strong>und</strong> teilweise im Subnetz 134.109.132 gearbeitet wurde. Im Augenblick be-<br />

stehen allerdings nur Verbindungen in das direkt angeschlossenen Netzsegment 134.109.192.<br />

Stand: 17.10.2008


A.2.4 Der IP-Routing-Algorithmus<br />

Ja<br />

Hostspezifischer Weg zu ID? Sende zum angegebenen Host<br />

Bestimme Netzwerkteil IN der IP-Zieladresse ID<br />

IN = direktes, eigenes Netz?<br />

Indirekter Weg zu IN?<br />

Standardweg definiert?<br />

A.2.5 Fehlerbehandlung<br />

Hole IP-Zieladresse ID aus Datagramm<br />

Ja<br />

Ja<br />

Ja<br />

Error: ICMP Destination Unreachable<br />

Sende direkt in lokales Netz<br />

Sende über nächsten Router<br />

Sende zum Standard-Router<br />

Einige pinzipielle Maßnahmen zur Fehlersignalisierung sollten bei IP-Routern standardmäßig implementiert<br />

sein. Sie melden üblicherweise u.a. folgende Fehler mit Hilfe des ICMP-Protokolls an den sendenden Host<br />

zurück:<br />

1. Unbekanntes Ziel-Netzwerk mit "ICMP-Destination-Unreachable";<br />

2. Verkehrsumleitung bei anderen, günstigeren Routen mit "ICMP-Redirect";<br />

3. Router-Überlastung mit "ICMP-Source-Quench";<br />

4. Überalterte Pakete (TtL=0) mit "ICMP-Time-Exceeded";<br />

A.2.6 Statisches <strong>und</strong> Dynamisches Routing<br />

Wie kommen nun die Informationen über direkte <strong>und</strong> indirekte Wege in die Routing-Tabelle? Es wird zwi-<br />

schen statischem <strong>und</strong> dynamischem Routing unterschieden. Bei statischem Routing werden die Wege in<br />

der Tabelle vom System oder dem Netzwerkmanager fest vorgegeben.<br />

Für das Eintragen, Ändern oder Löschen von Routen in der Routing-Tabelle steht (dem Superuser) übli-<br />

cherweise das Kommando "route" zur Verfügung.


Mit dynamischem Routing ist die Nutzung der verschiedenen Router-to-Router-Protokolle (GGP, EGP,<br />

BGP <strong>und</strong> RIP, HELLO, OSPF) gemeint. Dabei können neue oder bessere Wege erlernt <strong>und</strong> zu den stati-<br />

schen Routen hinzugefügt werden. Veränderungen in der Internet-Topologie werden weitergemeldet, even-<br />

tuell werden dann auch statische Routen aktualisiert oder gelöscht. Statisches Routing erlaubt dem Netz-<br />

manager leichtere <strong>und</strong> direkte Kontrolle über sein Netzwerk, ist aber sicherlich wegen der Unflexibilität nur<br />

bei kleineren, wenig veränderlichen Netzeinheiten anwendbar. Bei Topologieänderungen ist bei allen Rou-<br />

tern ein manueller Eingriff (möglichst gleichzeitig) notwendig. In [Ben88, S.68] findet sich ein nettes Bei-<br />

spiel zur Notwendigkeit dynamischen Routings.<br />

Die genaue Beschreibung der Router-to-Router-Protokolle würde den Rahmen dieser Schrift sprengen. Es<br />

sei an dieser Stelle auf die Literatur verwiesen.<br />

A.3 Literaturverzeichnis<br />

[Bai91] Markus Bailly: Routing Protkolle, Zeitschrift LANline, November 1991<br />

[Ben88] Eric Benhamou: Integrating Bridges and Routers in a Large Internetwork, IEEE Network,<br />

Stand: 17.10.2008<br />

January 1988-Vol.2, No.1,65-71<br />

[Chy88] Peter Chylla, H.-G. Hegering: Ethernet-LANs: Planung, Realisierung <strong>und</strong> Netzmanagement,<br />

DATACOM Buchverlag, 1988<br />

[Com88] Douglas E. Comer: Internetworking with TCP/IP, Prentice Hall International, 1988<br />

[Com91] Douglas E. Comer, David L. Stevens: Internetworking with TCP/IP, Vol. II, Design, Implemen-<br />

tation and Internals, Prentice Hall International, 1991<br />

[Gla90] G.M. Glaser, M. Hein, J. Vogl: TCP/IP: Protokolle, Projektplanung, Realisierung, DATACOM<br />

Buchverlag, 1990<br />

[Ham91] Hamilton Computervertrieb: Katalog für Netzwerkkomponenten, hamilton@transtec.de, Tübin-<br />

gen, 1991<br />

[Hei91] Paulo Heitlinger, Ethernet PC-LANs Buyers Guide, IWT Verlag GmbH, 1991<br />

[Kar91] Phil Karn, Gerard van der Grinten: Network Operating System 2.0, Users Reference Manual,<br />

KA9Q-Software 29.11.91, ftp.tu-chemnitz.de, /pub/<br />

[Hei92] Mathias Hein: Neues TCP/IP Routing Protokoll : OSPF, Zeitschrift DATACOMM 5/92, Data-<br />

comm-Zeitschriften Verlag Bergheim 1992<br />

[IBM90] IBM Telekommunikation, Lokale Netze mit IBM Systemen, IBM Form GM 12-5021-3, IBM<br />

Deutschland GmbH Stuttgart, Januar 1990


[IBM91] TCP/IP Tutorial and Technical Overview, IBM Document Number GG24-3376-02, Internatio-<br />

mal Technical Support Center Raleigh, September 1991<br />

[Lee91] Do.Y. Lee, Jai Y. Lee: Performance comparison of bridge algorithms in interconnected local<br />

area networks, Zeitschrift Computer Networks and ISDN Systems 22(1991) S.265-276, North-<br />

Holland, 1991<br />

[Mor89] Vance Morrison: PcBridge - A Cheap Ethernet Bridge, Northwestern University 1989, USA,<br />

morrison@accuvax.nwu.edu<br />

[Mul90] Nathan J. Muller, Robert P. Davidson: LANs to WANs: network management in the 1990s,<br />

Artech House Inc. Boston, London, 1990<br />

[Nel91] Russel Nelson: User documentation for the packet driver collection version 9, Clarkson Uni-<br />

versity, Potsdam (NY), U.S., 1991<br />

[Rom91] John Romkey, Sharon Fisher: Pakete im Netz: PD-Lösungen für geräteunabhängiges Proto-<br />

kollmultiplexing, Zeitschrift c't 11/91, HEISE Zeitschriftenverlag, 1991<br />

[Rut88] Rutgers University: Introduction to Administration of an Internet-based Local Network, Rut-<br />

gers, The State University of New Jersey, Computer Facilities Group, 1988<br />

[Sal88] Howard Salwen, Richard Boule, J. Noel Chiappa: Examination of the Applicability of Router<br />

and Bridging Techniques, IEEE Network, January 1988-Vol.2, No.1, 77-80<br />

[San90] Michael Santifaller: TCP/IP <strong>und</strong> NFS in Theorie <strong>und</strong> Praxis, Addison Wesley Publishing Com-<br />

pany, 1990<br />

[Sei88] William Seifert, Bridges and Routers, IEEE Network, January 1988, Vol.2, No.1, 57-64<br />

[Tan88] Andrew S. Tanenbaum: Computer Networks, Prentice-Hall International Inc., 1988


B Netzwerkverbindungselemente<br />

Zur Kopplung <strong>und</strong> auch zur Isolation von Netzwerken werden je nach Aufgabenanforderungen sehr ver-<br />

schiedene Netzverbindungselemente zwischen Computernetzwerken benutzt. Zu diesen Elementen zählen<br />

Repeater, Brücken, Router <strong>und</strong> (Anwendungs-) Gateways. Die nachfolgende Abbildung zeigt die Einord-<br />

nung dieser Kopplungselemente in das OSI-Referenzmodell.<br />

Stand: 17.10.2008<br />

Nutzer<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Verbindung<br />

Gateway<br />

Router<br />

Bridge<br />

Repeater<br />

Nutzer<br />

7<br />

6<br />

5<br />

4<br />

3<br />

2<br />

1<br />

Application<br />

Presentation<br />

Session<br />

Transport<br />

Network<br />

Data Link<br />

Physical<br />

Router wurden bereits in Anhang A behandelt. Im folgenden wird auf die Verbindungselemente tiefer lie-<br />

gender OSI-Schichten, also auf Repeater <strong>und</strong> Bridges, eingegangen.<br />

B.1 Repeater<br />

Repeater arbeiten in der Ebene der Bitübertragung (Schicht 1 - Physical Layer). Sie übertragen jedes von<br />

einem Netzwerk empfangene Datenpaket zum jeweils anderen Netzwerk. Netzwerke, die durch Repeater<br />

verb<strong>und</strong>en sind, enthalten also exakt die gleiche Menge von Paketen.<br />

Repeater werden im wesentlichen als Signalverstärker zur Verlängerung von Kabelsegmenten eingesetzt.<br />

So können Ethernet-Strecken durch den Einsatz von Repeatern (maximal vier) verlängert werden.<br />

B.2 Brücken<br />

B.2.1 Überblick<br />

Bridges (auch in der deutschen Literatur wird dieser Begriff häufig nicht übersetzt) operieren in der Ebene 2<br />

des Referenzmodells. In der Ethernet- TCP/IP- Welt bedeutet dies, sie ,,kennen'' Ethernetpakete, Ether-<br />

netheader <strong>und</strong> Ethernetadressen, <strong>und</strong> sie schließen die Funktionalität eines Repeaters mit ein.<br />

Im Gegensatz zu einem Repeater überträgt eine Bridge jedoch nicht beliebig alle Datenpakete zwischen<br />

den angeschlossenen Netzwerken. In der Bridge ist ein geeigneter Auswahlmechanismus implementiert.<br />

Es werden nur die Pakete übertragen, die auch wirklich für ein anderes Netzwerksegment bestimmt sind.


Ein wesentliches Ziel ist dabei u.a. die globale Netzkapazität zu steigern, indem der lokale Netzverkehr<br />

nicht auf die angeschlossenen Netze übertragen wird, sondern auf das lokale Segment beschränkt bleibt<br />

(Lasttrennung). Gleichzeitig kann damit erreicht werden, daß bestimmte Pakete ein Netzsegment nicht ver-<br />

lassen (Isolation aus Sicherheitsgründen). Eine Isolierung von Fehlerquellen ist jedoch nur sehr einge-<br />

schränkt möglich, denn die Bridge kann nur Kollisionen <strong>und</strong> bestimmte Fehlerarten an der Ausbreitung hin-<br />

dern: Dies betrifft Pakete, welche die Ethernetspezifikation verletzen <strong>und</strong>, falls konfiguriert, eventuell<br />

,,Broadcast-Storms''. Die Broadcast-Filterung ist jedoch wahlweise einstellbar, da in diesem Fall das ARP-<br />

Protokoll (Address Resolution Protocol) nicht über die Bridge hinausgeht.<br />

Wesentlich an einer Bridge ist also der Filtermechanismus, durch den Pakete für den Weitertransport aus-<br />

gewählt oder verworfen werden. Man beachte schon hier, daß auch bei Routern die wesentliche Eigen-<br />

schaft ein bestimmter Auswahlmechanismus für den Weitertransport von Paketen ist! Der auffällige Unter-<br />

schied besteht jedoch darin, in welcher Netzwerkebene (Ebene 2 oder Ebene 3) die Auswahl stattfindet.<br />

Eine Bridge filtert aufgr<strong>und</strong> der MAC- Adressen (Media Access Adressen, Link Level Adressen, Ethernet<br />

Adressen), ein Router benutzt jedoch die Netzwerkadressen (IP-Adressen) für seine Entscheidung.<br />

B.2.2 Der Filtermechanismus<br />

Eine Bridge verbindet mindestens zwei Netzsegmente miteinander (Repeater mit mehr als zwei Netzan-<br />

schlüssen, Multi-Port-Repeater, sind durchaus üblich. Meist handelt es sich dabei um soganannte Stern-<br />

Koppler). Dabei erreichen die Bridge sowohl Pakete, die für einen Partner in einem anderen Segment be-<br />

stimmt sind als auch Pakete, deren Empfänger sich im selben Netzsegment wie der Absender befindet.<br />

Im zuletzt genannten Fall ist es nicht notwendig, das Paket in ein anderes Netzsegment zu übertragen. Die<br />

Bridge sollte es überprüfen (filtern), <strong>und</strong> in diesem Fall kann sie es verwerfen (engl. drop). Falls sich der<br />

Adressat des Pakets jedoch nicht im selben Segment befindet, muß das gefilterte Paket weitergeleitet wer-<br />

den (engl. forward). Falls der Adressat überhaupt bekannt ist, wird das Paket nur in das ermittelte Netz-<br />

segment übertragen. Ist der Empfänger des Pakets nicht bekannt, wird es in alle anderen angeschlosse-<br />

nen Segmente weitergeleitet (flooding).<br />

Die Information, welcher Empfänger sich in welchem Netzsegment befindet, entnimmt die Bridge aus ihren<br />

internen Bridgetabellen. Die Bridge kann anhand der Ethernetquell- <strong>und</strong> Zieladresse <strong>und</strong> den Bridgetabel-<br />

len eine Entscheidung treffen, ob ein Paket gefiltert oder weitergeleitet werden soll.<br />

A C D E F G H I<br />

Netz 1<br />

Netz 2<br />

Bridge<br />

Tab 1 : A, C, D, H<br />

Tab 2 : K, L, M, N<br />

J K L M N


Der Bridge in der obigen Darstellung ist nur bekannt, daß sich die Rechner A, C, D <strong>und</strong> H im Netzsegment<br />

1 <strong>und</strong> die Rechner K, L, M <strong>und</strong> N im Netzsegment 2 befinden. Dabei wären folgende beispielhaften Abläufe<br />

möglich:<br />

1. Rechner A sendet an Rechner D ein Paket. Das Paket wird von der Bridge nicht in das Netz 2 weiter-<br />

geleitet, weil bekannt ist, daß sich D im Netz 1 befindet.<br />

2. Rechner J sendet an L ein Paket. Das Paket wird von der Bridge nicht weitergeleitet. Es ist bekannt ,<br />

daß der Adressat sich im selben Netzwerk befindet.<br />

3. C sendet an E ein Paket. Der Empfänger ist der Bridge unbekannt. Das Paket wird auf alle anderen<br />

angeschlossenen Netzsegmente übertragen.<br />

4. N sendet an H. Der Empfänger ist zwar bekannt, befindet sich aber nicht im Segment des Absenders.<br />

Das Paket wird in das Segment 1 weitergeleitet.<br />

Es wird deutlich: Der lokale Datenverkehr wird nur dann lokal gehalten, wenn die Bridge ausreichende <strong>und</strong><br />

richtige Informationen über die Rechneraufteilung in den einzelnen Segmenten besitzt.<br />

Wie kommen diese Informationen in die Bridgetabelle(n) ?<br />

B.2.3 Der Aufbau der Bridgetabelle<br />

B.2.3.1 Statische Tabellen<br />

Die Tabelle kann vor dem Starten der Bridge ,,von Hand'' gefüllt werden. Die Einträge sind nicht veränder-<br />

bar. Diese Methode ist sehr unflexibel. Sie wird gelegentlich im Zusammenhang mit dem sogenannten Se-<br />

curitymode benutzt. Hierbei passieren nur Pakete mit bekanntem Ziel <strong>und</strong>/oder bekanntem Absender die<br />

Bridge. Welche Rechner Pakete mit diesem besonders schutzbedürftigen Netzsegment austauschen kön-<br />

nen, wird vom Netzadministrator fest vorgegeben. Für gewöhnlich wird eine solche Filterung jedoch in der<br />

Ebene drei, Network Layer, vorgenommen.<br />

B.2.3.2 Der Lern-Mechanismus<br />

Die statischen Tabellen haben im normalen Betrieb einen entscheidenden Nachteil: Sie sind unflexibel.<br />

Veränderungen in der Netzstruktur erfordern eine Änderung der Bridgekonfiguration. Schon bei kleineren<br />

LANs mit bis zu 10 Bridges ist dies ein sehr hoher Aufwand.<br />

Üblicherweise wird eine Bridge deswegen im Lernmodus betrieben. Die Bridge lernt selbständig, welche<br />

Rechner sich in welchem Segment befinden <strong>und</strong> hält so ihre Tabellen auf dem neuesten Stand.<br />

Stand: 17.10.2008


Dabei werden die Ethernetquelladressen der von den Netzsegmenten ankommenden Pakete benutzt.<br />

Wenn ein Paket vom Rechner X auf dem Netzsegment 1 die Bridge erreicht, dann wird daraus geschlos-<br />

sen, daß sich X im Segment 1 befindet <strong>und</strong> die Bridgetabelle eventuell aktualisiert. Zur Identifikation wer-<br />

den die eindeutigen Ethernetquelladressen der Pakete benutzt. Sobald ein Rechner selbst Pakete sendet,<br />

kann sein Standort ermittelt <strong>und</strong> in die Tabellen eingetragen werden. Von diesem Zeitpunkt an werden Pa-<br />

kete an ihn von Rechnern in seinem eigenen Netzsegment nicht mehr in andere Netzsegmente übertra-<br />

gen. Da Netzteilnehmer, die Pakete empfangen, gewöhnlich auch Pakete senden, lernt die Bridge somit in<br />

kurzer Zeit, wer sich wo befindet.<br />

Ein Timer realisiert in vielen Bridgealgorithmen oft das sogenannte Aging. Wird von einer Quelle längere<br />

Zeit nichts gehört, wird die entsprechende Adresse aus der Bridgetabelle gelöscht.<br />

Paket ohne Fehler von Port x erhalten<br />

Ziel in Tabelle ?<br />

Richtung = x ?<br />

Paket verwerfen<br />

Nein<br />

Weiter ins<br />

richtige LAN<br />

Quelle in Tabelle ?<br />

Forward/Filter-Mechanismus<br />

Nein<br />

Update Richtung, Timer Tabelle aktualisieren<br />

Ende<br />

Weiter an<br />

alle außer x<br />

Lern-Mechanismus


C Kommandos zur Netzwerkkonfiguration<br />

Im folgenden soll eine Übersicht über die verschiedenen Befehle zur Netzwerkkonfigurationgegeben wer-<br />

den. Die folgenden kurzen Erklärungen sind bewusst einfach gehalten, mehr Informationen erhalten Sie in<br />

den entsprechenden Manual-Seiten. Die Tools ifconfig <strong>und</strong> route sind unter Linux deprecated <strong>und</strong> sol-<br />

len im Rahmen dieses <strong>Praktikum</strong>versuches nicht mehr genutzt werden.<br />

C.1 ip<br />

ip ist das neue Standard-Netzwerk-Tool unter Linux <strong>und</strong> ersetzt die beiden vorherigen Programme ifconfig<br />

<strong>und</strong> route. Die Dokumentation von ip findet man im Internet unter<br />

http://www.policyrouting.org/iproute2-toc.html<br />

ip besteht aus mehreren Unterbefehlen, die im folgenden aufgelistet sind. Mit der Option help kann man<br />

sich die Spezifikation des Befehls ansehen.<br />

Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }<br />

where OBJECT := { link | addr | route | rule | neigh | tunnel |<br />

Stand: 17.10.2008<br />

maddr | mroute | monitor }<br />

OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] |<br />

-f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }<br />

Mit ip link kann man Interfaces aktivieren oder deaktivieren:<br />

Usage: ip link set DEVICE { up | down | arp { on | off } |<br />

ip link show [ DEVICE ]<br />

Beispiel: ip link set eth0 up<br />

dynamic { on | off } |<br />

multicast { on | off } | txqueuelen PACKETS |<br />

name NEWNAME |<br />

address LLADDR | broadcast LLADDR |<br />

mtu MTU }<br />

Mit ip addr kann man Interfaces konfigurieren, analog zu ifconfig:


Usage: ip addr {add|del} IFADDR dev STRING<br />

ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]<br />

IFADDR := PREFIX | ADDR peer PREFIX<br />

[ broadcast ADDR ] [ anycast ADDR ]<br />

[ label STRING ] [ scope SCOPE-ID ]<br />

SCOPE-ID := [ host | link | global | NUMBER ]<br />

FLAG-LIST := [ FLAG-LIST ] FLAG<br />

[ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]<br />

FLAG := [ permanent | dynamic | secondary | primary |<br />

tentative | deprecated ]<br />

Beispiel: ip addr add 192.168.0.1/24 dev eth0<br />

ip addr add 2001:729:355:12::45/64 dev eth1<br />

ip tunnel wird benutzt, um sogenannte Tunnel aufzusetzen. Mit einem Tunnel meint man, dass zum<br />

Beispiel eine IPv4-Verbindung in eine IPv6-Verbindung verpackt wird, so dass aus der Sicht der IPv4-<br />

Hosts nicht sichtbar ist, dass es über eine IPv6-Verbindung transportiert wird. Der Tunnel ist für die IPv4-<br />

Verbindung transparent, <strong>und</strong> für IPv6 spielt es keine Rolle, ob der Inhalt eine TCP- oder eine IPv4-<br />

Verbindung ist. Dieses Tunneling funktioniert auch umgekehrt, dass IPv6-Verkehr transparent in eine IPv4-<br />

Verbindung verpackt wird. Das ist im Moment auch die einzige Möglichkeit, eine Verbindung zum 6bone<br />

aufzubauen, da noch kein Internet-Provider auf das neue Protokoll umgestellt hat.<br />

Usage: ip tunnel { add | change | del | show } [ NAME ]<br />

[ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]<br />

[ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]<br />

[ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]<br />

Where: NAME := STRING<br />

Mit<br />

ADDR := { IP_ADDRESS | any }<br />

TOS := { NUMBER | inherit }<br />

TTL := { 1..255 | inherit }<br />

KEY := { DOTTED_QUAD | NUMBER }<br />

ip tunnel add sit1 mode sit remote <br />

local ttl <br />

wird das Tunnel-Interface sit1 auf dem lokalen Rechner initialisiert. Für eine komplette Tunnel-<br />

Verbindung muss dasselbe Kommando mit den entsprechenden Parametern auch auf dem entfernten<br />

Rechner (Tunnel-Endpunkt) durchgeführt werden. Die so erzeugten Tunnel-Interfaces könne im Anschluss<br />

wie „echte“ Interfaces mittels ip addr konfiguriert werden.


ip route: Routing mit verschieden großen Subnetz-Masken ist schon bei IPv4 genügend kompliziert, <strong>und</strong><br />

bei IPv6 wird die Sache nicht einfacher. Zunächst ein Beispiel, wie ip route mit IPv4 funktioniert:<br />

Angenommen, man erhält vom Provider ein Klasse C Subnetz, zum Beispiel 195.186.5.0 (mit der Sub-<br />

netz-Maske 255.255.255.0). Damit ein Rechner empfangene Pakete nicht gleich wieder zurückschickt,<br />

muss man zuerst eine Route legen, die das ganze Subnetz auf das Interface legt, welches zum Provider<br />

führt, also<br />

ip route add 195.186.5.0/24 dev eth0<br />

Damit Pakete, die nicht zum Subnetz gehören, an den richtigen Ort geschickt werden, legt man eine De-<br />

fault Route auf das Gateway zum Provider. Das heißt, dass alles, was nicht lokal durch spezifische Routen<br />

definiert ist, zu diesem Gateway geschickt wird. Dieser Gateway muss in einem definierten Subnetz liegen,<br />

in diesem Beispiel das Netz 195.186.5.0, andernfalls wird noch eine spezielle Route benötigt, um den<br />

Gateway zu erreichen. Angenommen der Gateway sei 195.186.5.1, so heißt der Befehl<br />

ip route add default via 195.186.5.1<br />

Wenn ip route ohne Argumente aufrufen wird, gibt es die momentane Konfiguration aus.<br />

Bei IPv6 muss zuerst die Adressfamilie von IPv6 angegeben werden, da route sonst IPv4 annimmt. Mit<br />

ip –6 route wird zum Beispiel die momentane IPv6 Routing Tabelle ausgegeben. Ab Linux Kernel<br />

2.2.x fügt das System automatisch die Route in das eigene lokale Netz hinzu, sobald ein (echtes 7 ) Interface<br />

mit ip konifguriert wird. Für uns heißt das (wir verwenden Kernel Version 2.4.x), dass das System bei<br />

Eingabe von<br />

ip addr add 3ffe:FF00::1/64 dev eth0<br />

automatisch<br />

ip –6 route add 3ffe:FF00::/64 dev eth0<br />

generiert.<br />

C.2 ping<br />

Mit ping können Sie testen, ob Sie eine Verbindung zum Host haben. Als Antwort gibt ping<br />

entweder eine Fehlermeldung aus, zum Beispiel "network unreachable", oder die Zeit, die das Paket zum<br />

Rechner <strong>und</strong> wieder zurück benötigt hat. So lässt sich ungefähr die Qualität der Verbindung abschätzen.<br />

Um ping zu unterbrechen, drücken Sie CTRL-C.<br />

7 Für Tunnel-Interfaces müssen die Routen ins lokale Netz manuell erstellt werden.<br />

Stand: 17.10.2008


C.3 traceroute<br />

traceroute schickt zu Host TCP-Pakete, <strong>und</strong> sagt jedem Router, der dazwischen liegt, er soll<br />

ein Paket an den Absender zurückschicken. traceroute gibt dann die Adressen der Router aus, die ge-<br />

antwortet haben.<br />

Wenn nur noch * * * zurückkommt, ist das meistens ein Indiz, dass das Paket auf dem letzten Router<br />

nicht mehr richtig weitergeleitet wurde (mit CTRL-C kann abgebrochen werden).<br />

C.4 tcpdump<br />

tcpdump ist ein Sniffer, der sehr viele Protokolle versteht, wie zum Beispiel ATM oder Apple Talk. Unter<br />

anderem unterstützt dieser Sniffer auch IPv4 <strong>und</strong> IPv6. Es werden Informationen über die über eine Netz-<br />

werkkarte ankommenden Pakete angezeigt. Je nach Einstellung der Netzwerkkarte werden dabei u. U.<br />

auch solche Pakete angezeigt, die gar nicht an die Netzwerkkarte selbst, sondern an eine andere adres-<br />

siert sind (so genannter „promiscuous mode“).<br />

Über entsprechende Argumente beim Aufruf von tcpdump ist konfigurierbar, was angezeigt werden soll.<br />

Dabei kann u. a. eingestellt werden, welche Art von Paketen überhaupt von Interesse ist <strong>und</strong> welche Infor-<br />

mationen aus diesen Paketen extrahiert werden sollen. Für den hier vorliegenden Versuch dürfte auch<br />

noch die Option –i zur Angabe der zu überwachenden Netzwerkkarte von Interesse sein, da ohne diese<br />

Angabe typischerweise mehr oder weniger willkürlich eine der aktiven Netzwerkkarten ausgewählt wird.<br />

Um tcpdump schließlich zu beenden, drücken Sie CTRL-C.<br />

Weitere Informationen zu tcpdump können Sie dem zugehörigen Manual entnehmen, das Sie bspw. unter<br />

http://www.freesoft.org/CIE/Topics/56.htm finden können.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!