Aufgabe F Multicasting und Routing Ziel dieser Aufgabe Diese Aufgabe soll den Studenten eine Einführung in Multicasting und dynamisches Routing geben. Die Effizienz bei der Datenübertragung und die Vorteile von Multicasting bei mehreren gleichzeitigen Empfängern wird gezeigt und das IGMP (Internet Group Management Protocol) Protokoll für das Management von Multicast Gruppen wird analysiert. Das Routing Protokoll OSPF (Open Shortest Path First) wird eingesetzt um dynamisches Routing in IP-Netzen kennenzulernen und die Funktionalität zu analysieren. Ein RoutingProtokoll wie OSPF bietet Mechanismen, die ermöglichen auf die dynamische Änderung der Neztwerktopologie zu reagieren, und Routing-Tabellen zu aktualisieren. Aufgabe Multicasting In diesem Teil der Aufgabe werden kurz die Eigenschaften von Multicasting analysiert. Dazu wird ein Multicast-Stream über den Router im Praktikumsnetz gesendet. 1. Installieren Sie unter Windows die Tools (sdr, rat und vic) für die MultimediaKommunikation. Die Programme befinden sich auf dem Praktikumsserver. Installieren Sie außerdem WinPcap und Ethereal. 2. Starten Sie anschliessend sdr. Das Tool befindet sich unter Programs, Mbone Tools. 3. Schliessen Sie sich der Gruppe MobSys an (join). 4. Überprüfen Sie die Übertragungsrate auf dem Router vor und nach dem Join der Multicast-Gruppe! Auf dem Router läuft das Tool iptraf, das die aktuell benutzte Bandbreite anzeigt. Wie hängt die Übertragungsrate von der Anzahl angemeldeter Empfänger an? 5. Starten Sie Ethereal und beobachten Sie die Pakete, die vom Multicast-Sender versendet werden! Betrachten Sie auch die IGMP Pakete, die ausgetauscht werden, während Ihr Empfänger sich an die Multicast-Gruppe anschliesst! (a) Was ist eine Multicast-Adresse? Welche Adresse verwendet die Multicast-Gruppe MobSys? (b) Wie erfährt ein potenzieller Empfänger die verfügbaren Multicast-Gruppen? (c) Welche Informationen kann der Empfänger aus der Stream-Beschreibung mit SAP/SDP erfahren? 1 (d) Wofür wird das IGMP Protokoll verwendet? An welche Adresse werden die Pakete gesendet? (e) Wem sendet ein Empfänger in einem Multicast-Netz seine Join-Anfrage? Erfährt der Sender wie viele Empfänger gerade in der Multicat-Gruppe sind? Routing In diesem Teil der Aufgabe wird das Routing-Protokoll OSPF eingesetzt, um die dynamische Aktualisierung der Routing-Tabellen und die Anpassung an Veränderungen in der Netzwerktopologie zu analysieren. Jede Gruppe wird zwei Router konfigurieren und verwenden. Auf der physikalischen Verkabelung werden mehrere logische Netze aufgebaut. Die vershiedenen Netzwerke werden mit Hilfe von virtuellen Interfaces gebiledet. Die in der Aufgabe verwendete logische Topologie zeigt das Bild 1. Der Router R bezeichnet den zentralen Router und Firewall im Praktikumsraum, R1 und R2 zeigen die zwei Router jeder Gruppe. Mit der dargestellten Konfiguration gibt es eine direkte Route zwischen R1 und R2 und auch eine Route über den Router R als Alternative. Die direkte Route wird in der Aufgabe deaktiviert und damit ein Linkausfall simuliert. Abbildung 1: Netzwerk Konfiguration Führen Sie die nächsten Schritte durch, um das OSPF-Protokoll zu konfigurieren und zu analysieren. 1. Installation des Pakets zebra Installieren Sie auf Ihren Rechnern unter Linux das Paket zebra, das die Programme für Routing beinhaltet. Laden Sie das Paket vom Praktikumsserver herunter und entpacken Sie es (tar -xvf zebra.tar). Führen Sie danach in dem erstellten Verzeichnis die Befehle make und make install aus. 2. Konfiguration der Topologie Passen Sie die Netzwerk-Konfiguration so an, dass R1 und R2 die richtigen Netzwerkeinstellungen haben. Konfigurieren Sie die Interfaces der beiden Router. Die vorgesehenen IP Adressen entnehmen Sie aus der folgenden Tabelle. 2 R1 Gruppe Gruppe Gruppe Gruppe Gruppe Gruppe 1 2 3 4 5 6 Interface 1 (eth0:1) 192.168.11.2 192.168.21.2 192.168.31.2 192.168.41.2 192.168.51.2 192.168.61.2 R2 Interface 2 (eth0:2) 192.168.13.1 192.168.23.1 192.168.33.1 192.168.43.1 192.168.53.1 192.168.63.1 Interface 1 (eth0:1) 192.168.12.2 192.168.22.2 192.168.32.2 192.168.42.2 192.168.52.2 192.168.62.2 Interface 2 (eth0:2) 192.168.13.2 192.168.23.2 192.168.33.2 192.168.43.2 192.168.53.2 192.168.63.2 Die virtuellen Interfaces werden durchnummeriert. Das erste virtuelle Interface für eth0 können Sie mit dem folgenden Befehl konfigurieren: ifconfig eth0:1 192.168.11.2 netmask 255.255.255.0 up Konfigurieren Sie anschliessend die virtuellen Netzwerke hinter Ihren Routern: Gruppe Gruppe Gruppe Gruppe Gruppe Gruppe 1 2 3 4 5 6 R1 R2 Interface 3 Interface 3 (eth0:3) (eth0:3) 10.1.1.1 10.1.2.1 10.2.1.1 10.2.2.1 10.3.1.1 10.3.2.1 10.4.1.1 10.4.2.1 10.5.1.1 10.5.2.1 10.6.1.1 10.6.2.1 Erlauben Sie Paket-Forwarding auf den Routern. 3. Konfiguration von OSPF Das OSPF Protokoll wird durch das Paket zebra bereitgestellt. Die Konfigurationsdateien befinden sich im Verzeichnis /usr/local/etc. Kopieren Sie die Beispielkonfiguration zebra.conf.sample auf zebra.conf bzw. ospf.conf.sample auf ospf.conf. In der Datei ospf.conf erlauben Sie das OSPF Protokoll (Eintrag router ospf) und tragen Sie die Netze ein, an die der Router direkt angeschlossen ist. Benutzen Sie für die Spezifikation (Schlüsselwort network) die Netzwerkadressen. 4. Starten von OSPF Starten Sie das Routing-Tool und den OSPF Dämon mit den folgenden Befehlen: /usr/local/sbin/zebra -d /usr/local/sbin/ospfd -d Wenn zebra und ospfd laufen, können Sie mit telnet ein IOS Interface der Prozesse erreichen und Statusinformationen über die Prozesse abfragen. Das Tool zebra ist auf Port 2601, ospfd auf Port 2604 erreichbar. Die Befehle zum Einloggen sind also telnet localhost 2601 – für zebra telnet localhost 2604 – für ospfd 3 Zum Einloggen brauchen Sie das Passwort, das in der Datei zebra.conf konfiguriert ist (standardmässig zebra). Im Tool zebra können Sie mit dem Befehl enable in den privilegierten Modus wechseln und die IOS Befehle wie in einem Cisco Router verwenden. Mit show ip route kann z.B. die aktuelle Routing-Tabelle angezeigt werden. Über das Interface von ospfd können Sie detaillierte Informationen über den Zustand des OSPF Protokolls abfragen. Nach dem Einloggen und enable können mit dem Befehl show ip ospf ? die verfügbaren Optionen angezeigt werden, wie z.B. show ip ospf neighbor, show ip ospf route und show ip ospf database. 5. Testen von OSPF Testen und analysieren Sie das OSPF Protokoll, indem Sie die direkte Verbindung zwischen R1 und R2 (eth0:2 im Bild) unterbrechen. Um den Verkehr auf dem Interface zu blockieren, verwenden Sie auf einem der Router iptables: iptables -A INPUT -s 192.168.x3.0/24 -j DROP iptables -A OUTPUT -s 192.168.x3.0/24 -j DROP Das OSPF Protokoll erkennt die deaktivierte Verbindung und die Routing-Tabellen werden dementsprechend aktualisiert. Verfolgen Sie die Kommunikation zwischen den Routern mit ethereal und über die IOS Interfaces. (a) Welchen Zweck haben die OSPF Hello Nachrichten? Warum werden diese Nachrichten zwischen den Routern ausgetauscht? (b) An welche Zieladresse werden die OSPF Pakete versendet? Warum? (c) Schauen Sie ein OSPF Link State Update Paket näher an! Wann wird diese Nachricht versendet? Welche Informationen stehen in der Nachricht? (d) Starten Sie ping auf R1, ping -I 10.x.1.1 10.x.2.1. Aktivieren bzw. deaktivieren Sie die direkte Verbindung zwischen R1 und R2. Welchen Weg nimmt das Ping-Paket vor und nach der Deaktivierung der Verbindung? Welchen Wert hat das TTL-Feld in beiden Fällen? Warum ist der Wert unterschiedlich? 4