Ein ganzes Netz auf einem Rechner
Mininet baut ein Netzwerk aus Rechnern, Switches und Kabeln auf einem einzigen Computer. Sie können damit Ideen für Netze ausprobieren, ohne ein Gerät zu kaufen oder ein Kabel zu stecken.
Alles ist virtuell und bleibt in Ihrer Lab-Maschine. Nichts davon erreicht das Netz Ihrer Hochschule.
Am Ende dieser Lektion
Notiz
Ich kann ein kleines Testnetz bauen und mit einem Ping-Test prüfen.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Mininet | ein Programm, das ein Testnetz auf einem Rechner baut | |
| Host | ein nachgebauter Rechner im Testnetz | h1 |
| Link | ein virtuelles Kabel zwischen zwei Geräten im Testnetz | |
| Topologie | die Form eines Netzes: wer mit wem verbunden ist | |
| Ping | ein kleines Paket, mit dem man prüft, ob ein Gerät antwortet | |
| pingall | ein Test von Mininet, bei dem jeder Host jeden anderen anpingt |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Was Mininet für Sie aufbaut
Mininet legt vier Arten von Teilen an. Hosts heißen h1, h2 und so weiter. Switches heißen s1, s2 und so weiter. Ein Link verbindet je zwei Geräte. Dazu startet Mininet einen Controller namens c0, der dem Switch die nötigen Flows schreibt.
Der Switch ist ein echter Open vSwitch. Die Hosts sind abgetrennte Bereiche desselben Rechners, jeder mit eigener Adresse.
Zwei Topologien und ihre Größe
| Option | Switches | Hosts | Form |
|---|---|---|---|
| --topo single,3 | 1 | 3 | Alle Hosts hängen an einem Switch |
| --topo single,4 | 1 | 4 | Alle Hosts hängen an einem Switch |
| --topo linear,3 | 3 | 3 | Drei Switches in einer Reihe, an jedem ein Host |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Das Standardnetz mit zwei Hosts testen
sudo mn --test pingall 2>&1 | grep -E "^h[0-9]+ ->|Results"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Einen Switch mit drei Hosts testen
sudo mn --topo single,3 --test pingall 2>&1 | grep -E "^h[0-9]+ ->|Results"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Einen Switch mit vier Hosts testen
sudo mn --topo single,4 --test pingall 2>&1 | grep -E "^h[0-9]+ ->|Results"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Warum pingall so viele Pings sendet
Bei pingall pingt jeder Host jeden anderen Host an. h1 pingt h2, und h2 pingt h1 in einem eigenen Test. Beide Richtungen zählen, weil ein Flow für eine Richtung gilt und die Gegenrichtung ihren eigenen braucht.
Bei n Hosts pingt jeder die anderen n minus 1 Hosts an. Die Tabelle rechnet es für ein paar Größen vor.
Beispiel: Pings für n Hosts
| Hosts n | Pings je Host | Pings insgesamt |
|---|---|---|
| 2 | 1 | 2 |
| 3 | 2 | 6 |
| 4 | 3 | 12 |
| 5 | 4 | 20 |
| 10 | 9 | 90 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Dieselben Pings, andere Topologie
Die Topologie ändert nicht, wie viele Pings pingall versucht. Sie ändert nur den Weg. Bei linear,3 laufen die Pakete von h1 zu h3 durch alle drei Switches.
Der nächste Befehl baut diese Reihe, der übernächste testet nur ein Paar, und der letzte räumt auf.
Drei Switches in einer Reihe testen
sudo mn --topo linear,3 --test pingall 2>&1 | grep -E "^h[0-9]+ ->|Results"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Nur h1 und h2 gegeneinander testen
sudo mn --topo single,3 --test pingpair 2>&1 | grep -E "^h[0-9]+ ->|Results"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Aufräumen entfernt alle Switches
Wichtig
Der Befehl sudo mn -c entfernt jeden Open-vSwitch-Switch auf der Maschine, auch br0 und Ihren sw1. Danach baut sudo sdnlab flows das Lab wieder auf, und Ihre eigenen Switches legen Sie neu an.
Mininet aufräumen
sudo mn -c 2>&1 | tail -n 1Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Mininet kann auch einen Prompt öffnen
Ohne --test öffnet Mininet einen Prompt mit dem Namen mininet. Dort zeigt nodes alle Geräte, links alle Verbindungen, und h1 ping -c 1 h3 lässt h1 einmal h3 anpingen. Mit exit verlassen Sie ihn, danach räumt sudo mn -c auf.
Ein Prompt wartet auf Eingaben und endet nicht von selbst. Deshalb steht er hier im Text und nicht als Befehl zum Ausführen.
Ein häufiger Fehler
Warnung
Viele denken, bei vier Hosts gebe es sechs Pings, einen je Paar. Aber pingall pingt in beide Richtungen. Das sind 4 mal 3, also 12 Pings. Sechs wäre die Zahl der Paare, nicht die der Pings.