Praktikum Rechnernetze und Kommunikationssysteme - Lehrstuhl ...
Praktikum Rechnernetze und Kommunikationssysteme - Lehrstuhl ...
Praktikum Rechnernetze und Kommunikationssysteme - Lehrstuhl ...
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.