Der beste Weg, um fast jedes Netzwerk auf Ihrem Laptop zu emulieren!
Mininet 2.3.1B4
Mininet emuliert ein komplettes Netzwerk von Hosts, Links und schaltet eine einzelne Maschine ein. Um ein Beispiel mit zwei Host-Einschaltnetzwerken zu erstellen, laufen Sie einfach aus:
sudo mn
Mininet ist nützlich für die interaktive Entwicklung, Tests und Demos, insbesondere für diejenigen, die OpenFlow und SDN verwenden. OpenFlow-basierte Netzwerkcontroller, die in Mininet prototypisiert sind, können normalerweise mit minimalen Änderungen für die vollständige Ausführung der Leitungsrate in Hardware übertragen werden.
Mininet erstellt virtuelle Netzwerke mit prozessbasierten Virtualisierungs- und Netzwerk -Namespaces - Funktionen, die in neueren Linux -Kerneln verfügbar sind. In Mininet werden Hosts als bash
-Prozesse emuliert, die in einem Netzwerk -Namespace ausgeführt werden. Daher sollte jeder Code, der normalerweise auf einem Linux -Server ausgeführt wird (wie ein Webserver oder ein Client -Programm), in einem Mininet -Host gut ausgeführt werden. Der Mininet "Host" hat eine eigene private Netzwerkschnittstelle und kann nur seine eigenen Prozesse sehen. Switches in Mininet sind Software-basierte Switches wie Open Vswitch oder den OpenFlow-Referenzschalter. Links sind virtuelle Ethernet -Paare, die im Linux -Kernel leben und unsere emulierten Schalter mit emulierten Hosts (Prozessen) verbinden.
Mininet umfasst:
Ein Befehlszeilenstarter ( mn
) zum Instanziieren von Netzwerken.
Eine praktische Python -API zum Erstellen von Netzwerken unterschiedlicher Größen und Topologien.
Beispiele (in examples/
Verzeichnis) helfen Ihnen beim Einstieg.
Vollständige API -Dokumentation über Python help()
docstrings sowie die Möglichkeit, PDF/HTML -Dokumentation mit make doc
zu generieren.
Parametrisierte Topologien ( Topo
-Unterklassen) unter Verwendung des Mininet -Objekts. Zum Beispiel kann ein Baumnetzwerk mit dem Befehl erstellt werden:
mn --topo tree,depth=2,fanout=3
Eine Befehlszeilenschnittstelle ( CLI
Klasse), die nützliche diagnostische Befehle (wie iperf
und ping
) sowie die Möglichkeit bietet, einen Befehl an einen Knoten auszuführen. Zum Beispiel,
mininet> h11 ifconfig -a
fordert Host H11 an, den Befehl ifconfig -a
auszuführen
Ein Befehl "Reinigung", um Junk (Schnittstellen, Prozesse, Dateien in /tmp usw.) loszuwerden, die möglicherweise von Mininet oder Linux gelassen werden. Versuchen Sie dies, wenn die Dinge aufhören zu arbeiten!
mn -c
Mininet 2.3.1b4 unterstützt Python 3 und Python 2
Sie können sowohl die Python 3- als auch die Python 2 -Versionen von Mininet nebeneinander installieren. Die neueste Installation bestimmt jedoch, welche Python -Version standardmäßig von mn
verwendet wird.
Sie können mn
direkt mit Python 2 oder Python 3 ausführen, solange die entsprechende Version von Mininet installiert ist, z. B.
$ sudo python2 `which mn`
Weitere Informationen zur Unterstützung von Python 3 und Python 2 finden Sie in den Versionshinweise auf http://docs.mininet.org.
Unterstützung für Ubuntu 22.04 LTS (und 20.04)
Zuverlässigere Tests und CI über GitHub -Aktionen
Vorläufige Unterstützung für CGroups V2 (und V1)
Kleinere Fehlerbehebungen (2.3.1)
Weitere Informationen zu dieser Version und früheren Veröffentlichungen finden Sie in den Versionshinweise auf http://docs.mininet.org.
INSTALL
finden Sie in Installationsanweisungen und -details.
Zusätzlich zur API -Dokumentation ( make doc
) finden Sie auf der MININET -Website viele nützliche Informationen, einschließlich eines Mininet -Anlaufs und einer Einführung in die Python -API. Es gibt auch ein Wiki, das Sie lesen und dazu beitragen sollen, insbesondere die häufig gestellten Fragen (FAQ) unter http://faq.mininet.org.
Mininet ist in der Gemeinde unterstützt. Wir ermutigen Sie, sich der Mininet Mailing-Liste anzuschließen, mininet-discuss
unter:
https://mailman.stanford.edu/mailman/Listinfo/mininet-discuss
Nochmals vielen Dank an alle Mininet -Mitwirkenden und Benutzer!
Mininet ist ein Open -Source -Projekt und wird derzeit unter https://github.com/mininet gehostet. Sie werden aufgefordert, den Code herunterzuladen, zu prüfen und zu ändern und Fehlerberichte, Fehlerbehebungen, Feature -Anfragen, neue Funktionen und andere Probleme und Zugangsanforderungen einzureichen. Vielen Dank an alle, die Code zum Mininet -Projekt beigesteuert haben (siehe Beitragsförderer für weitere Informationen!), Weit der harte Arbeit eines jeden weiterhin wächst und sich verbessert.
Viel Spaß! Wir freuen uns darauf zu sehen, was Sie mit Mininet machen werden, um die Networking -Welt zu verändern.
Bob Lantz im Namen der Mininet -Mitwirkenden