Aufgabe 1 - Weiterleitungstabellen erstellen
Das letzte mal haben wir mit Mininet
gearbeitet. Heute benutzen wir es wieder, aber mit einer komplexeren Topologie, die darüber hinaus nicht das tut, was sie tun sollte: es fehlen Weiterleitungstabelleneinträge in den Hosts und den Routern. In der Datei router_topo.py ist eine Netzwerktopologie vorbereitet, mit der wir heute arbeiten werden. Diese sieht so aus:
Um Mininet
mit dieser Topologie zu starten, müssen wir diesmal die gerade heruntergeladene Datei ausführen und zwar so:
sudo python3 router_topo.py
Hinweis: evtl. kann hier auch einfach nur python
anstelle von python3
benutzt werden, je nach Linux-Distribution.
Sie sollten nun die ihnen schon bekannte Mininet CLI vor sich haben.
Bevor wir aber mit den Aufgaben starten, hier noch ein Hinweis. Sie werden für die Aufgaben auf Routern und Hosts nachschauen müssen, ob Pakete ankommen, oder nicht. Dazu können Sie natürlich Wireshark öffnen. Aber mit vielen Wireshark-Fenstern und dem GUI-Overhead dauert dies typischerweise unnötig lange. Es gibt aber ein Programm, das auch auf der Kommandozeile die Pakete anzeigt, die ankommen und gesendet werden: tcpdump
. Starten Sie tcpdump
so, damit alle Netzwerkschnittstellen aufgezeichnet werden (was beim Router evtl. nützlich ist, da hier mehrere schnittstellen vorhanden sind):
tcpdump -i any
Auf einem Host müsste auch nur
tcpdump
ausreichen.
Damit kann es jetzt aber richtig losgehen!
- Gehen Sie auf einen beliebigen Host (z.B. mit
xterm
oder zentral durch die Mininet CLI, wenn Sie vergessen haben wie das geht, schauen Sie sich nochmal die Vorbereitung zum vorheringen Praktikum an) und geben sie einfachip route
ein, um sich die Routing-Tabelle anzusehen. Wofür ist der vorhandene Eintrag in der Routingtabelle? Wiederholen Sie dies auf einem beliebigen Router. Wieviele und welche Einträge sind hier vorhanden und warum? - Versuchen Sie einen Ping von Host 3 an die folgenden Adressen zu senden (
ping <IP-Adresse>
):
223.1.2.1
223.1.9.2
223.1.9.1
Versuchen Sie zu erklären, warum welche Adressen funktionieren und warum die anderen nicht funktionieren! Dazu koennen Sie sich auch auf die Router verbinden und schauen, ob die Ping Pakete überhaupt ankommen (mittcpdump
z.B.). - Fügen Sie bei Host 3 nun mit Hilfe vom
ip
-Kommando eine Default-Route hinzu (0.0.0.0/0) und pingen Sie folgenden Adressen erneut von Host 3 aus an:
223.1.2.1
223.1.9.2
223.1.9.1
Auch hier schauen Sie, ob die Ping-Pakete ankommen, oder nicht. Versuchen Sie zu erklären, warum welche Adressen jetzt funktionieren und warum die anderen nicht funktionieren! - Fügen Sie dem Router R1 einen Eintrag in die Weiterleitungstabelle hinzu, so dass alle diese drei Pings vom Host H3 funktionieren.
- Vervollständigen Sie alle Routing-Tabellen, so dass ein
pingall
in der Mininet-CLI anzeigt, dass jeder Konten jeden anderen anpingen kann. Wenn noch nicht alles funktioniert, dann kannpingall
etwas dauern. Sie könnenpingall
mitStrg-C
aber jederzeit abbrechen.