SDN Digest - Sechs Open Source Emulatoren

Letztes Mal haben wir eine Auswahl von Open Source SDN-Controllern getroffen . Heute folgen offene Emulatoren von SDN-Netzwerken. Jeder, der interessiert ist, ist zur Katze eingeladen.

/ Flickr / dennis van zuijlekom / cc



Mininett


Mit dem Tool können Sie ein softwaregesteuertes Netzwerk auf einer Maschine (virtuell oder physisch) einrichten. Geben Sie einfach den Befehl ein: $ sudo mn. Laut den Entwicklern eignet sich Mininet gut für die Bereitstellung von Testumgebungen.

Zum Beispiel nutzen Stanford-Lehrer (wo sie Mininet entwickelt haben) das Dienstprogramm während des praktischen Unterrichts an der Universität. Es hilft den Schülern, Netzwerkfähigkeiten zu entwickeln. Einige der Aufgaben und Demos finden Sie im Repository auf GitHub.

Mininet eignet sich auch zum Testen benutzerdefinierter SDN-Topologien. Ein virtuelles Netzwerk wird mit allen Switches, Controllern und Hosts bereitgestellt, und anschließend wird seine Leistung mithilfe von Python-Skripten überprüft. Anschließend werden die Einstellungen von Mininet in das reale Netzwerk übertragen.

Unter den Nachteilen der Lösung heben Experten die mangelnde Unterstützung für Windows hervor. Darüber hinaus ist Mininet nicht für die Arbeit mit großen Netzwerken geeignet, da der Emulator auf demselben Computer ausgeführt wird - möglicherweise sind nicht genügend Hardwareressourcen vorhanden.

Mininet ist unter dem BSD Open Source lizenziert und entwickelt sich aktiv weiter. Jeder kann einen Beitrag leisten - Informationen dazu finden Sie auf der offiziellen Website des Projekts und im Repository .



ns-3


Simulator für die Netzwerkmodellierung mit diskreten Ereignissen . Ursprünglich war das Tool als Lernprogramm konzipiert, heute wird es jedoch zum Testen von SDN-Umgebungen verwendet. Anleitungen zur Arbeit mit ns-3 finden Sie auf der Website mit der Projektdokumentation .

Zu den Vorteilen des Dienstprogramms zählen die Unterstützung von Sockets und der Pcap- Bibliothek für die Arbeit mit anderen Tools (z. B. Wireshark) sowie eine reaktionsfähige Community.

Zu den Nachteilen gehört eine relativ schlechte Visualisierung. NetAnim ist für die Anzeige der Topologie verantwortlich. Darüber hinaus unterstützt ns-3 nicht alle SDN-Controller.



Lesen Sie das Thema in unserem Unternehmensblog:




Opennet


Dieser SDN-Emulator basiert auf zwei früheren Tools - Mininet und ns-3. Es kombiniert die Stärken eines jeden von ihnen. Damit Lösungen zusammenarbeiten, verwendet OpenNet eine Python-Bindungsbibliothek.

Daher ist Mininet in OpenNet für die Emulation von OpenFlow-Switches verantwortlich und stellt CLIs und Virtualisierung bereit. Ns-3 emuliert die Modelle, die nicht in Mininet enthalten sind. Die Bedienungsanleitung finden Sie auf GitHub . Es gibt zusätzliche Links zu verwandten Materialien.




/ PxHere / PD



Containerernet


Dies ist eine Gabel von Mininet für die Arbeit mit Anwendungscontainern. Docker-Container fungieren als Hosts in emulierten Netzwerken. Die Lösung wurde entwickelt, um Entwicklern das Experimentieren mit Cloud, Peripherie, Fog Computing und NFV zu ermöglichen. Das System wurde bereits von den Autoren von SONATA NFV verwendet, um ein Orchestrierungssystem in virtualisierten 5G-Netzwerken zu erstellen. Containernet ist der Kern der NFV-Emulationsplattform.

Sie können Containernet mithilfe einer Anleitung auf GitHub installieren.



Tinynet


Eine kompakte Bibliothek, mit der Sie schnell Prototypen von SDN-Netzwerken erstellen können. Mit einem in Go geschriebenen API-Tool können Sie jede Netzwerktopologie emulieren. Die Bibliothek selbst "wiegt" ein wenig, wodurch sie installiert wird und schneller läuft als analoge. Tinynet kann auch in Docker-Container integriert werden.

Das Tool ist aufgrund der eingeschränkten Funktionalität nicht zum Emulieren großer Netzwerke geeignet. Aber nützlich, wenn Sie an kleinen persönlichen Projekten oder Rapid Prototyping arbeiten.

Beispielimplementierungen und Befehle zur Installation von Tinynet sind im GitHub-Repository verfügbar.



Maxinet


Dieses Tool ermöglicht die Verwendung von Mininet auf mehreren physischen Computern und die Arbeit mit großen SDN-Netzwerken. Jede der Maschinen - Workers - startet Mininet und emuliert seinen Teil des gesamten Netzwerks. Switches und Hosts kommunizieren über GRE- Tunnel miteinander. Um die Komponenten eines solchen Netzwerks zu verwalten, bietet MaxiNet eine API.

Mit MaxiNet können Sie Netzwerke schnell skalieren und die Ressourcenzuweisung optimieren. MaxiNet verfügt außerdem über Überwachungsfunktionen, eine integrierte CLI und die Möglichkeit zur Integration in Docker. Das Tool weiß jedoch nicht, wie der Betrieb eines Schalters für mehrere Maschinen emuliert werden soll.

Der Quellcode für das Projekt befindet sich auf GitHub . Installationsanleitung und Kurzanleitung finden Sie auf der offiziellen Projektseite .



Lesen Sie das Thema in unserem Unternehmensblog:

Source: https://habr.com/ru/post/de446634/


All Articles