Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Ein virtuelles Testnetz mit Mininet aufbauen

Nach dieser Lektion: Ich kann ein kleines Testnetz bauen und mit einem Ping-Test prüfen.

Lektion, 45 Min.6 BefehleLab für Software-defined Networking: Open vSwitch, Mininet und ein OpenFlow-Controller in einer VM

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

BegriffWas er bedeutetBeispiel
Mininetein Programm, das ein Testnetz auf einem Rechner baut
Hostein nachgebauter Rechner im Testnetzh1
Linkein virtuelles Kabel zwischen zwei Geräten im Testnetz
Topologiedie Form eines Netzes: wer mit wem verbunden ist
Pingein kleines Paket, mit dem man prüft, ob ein Gerät antwortet
pingallein 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

OptionSwitchesHostsForm
--topo single,313Alle Hosts hängen an einem Switch
--topo single,414Alle Hosts hängen an einem Switch
--topo linear,333Drei 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

Befehl
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

Befehl
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

Befehl
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 nPings je HostPings insgesamt
212
326
4312
5420
10990

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

Befehl
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

Befehl
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

Befehl
sudo mn -c 2>&1 | tail -n 1

Hier 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.

Über dieses Lab und seinen Quellcode: Lab für Software-defined Networking: Open vSwitch, Mininet und ein OpenFlow-Controller in einer VM

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.