Google setzt sich dafür ein, die Rassengerechtigkeit für schwarze Gemeinschaften zu fördern. Siehe wie.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

glücklich

Happy ist ein Tool für die einfache Orchestrierung simulierter Netzwerktopologien. Verwenden Sie diese Option, um Netzwerkprotokolle und andere verteilte Ausführungsprogramme auf einem einzelnen Linux-Entwicklungscomputer ohne Verwendung von IoT-Gerätehardware zu testen.

Was ist es?

Happy simuliert komplexe Netzwerktopologien. Auf einem einzelnen Linux-Computer kann Happy mehrere Knoten mit voneinander unabhängigen Netzwerkstapeln erstellen. Einige Knoten können mit simulierten Thread-Netzwerken verbunden sein, andere können mit simulierten Wi-Fi-, WAN- (Internet) oder Mobilfunknetzen verbunden sein.

Happy spricht die folgenden Anwendungsfälle an:

  • Testen von Netzwerkprotokollen und anderen verteilten Ausführungsprogrammen auf einem einzelnen Linux-Entwicklungscomputer ohne Verwendung von Hardware
  • Durchführen automatisierter Funktionstests in einem Netzwerk
  • Ausführen mehrerer paralleler Netzwerke gleichzeitig auf demselben System, um den Testdurchsatz zu verbessern

Happy löst diese Probleme, indem Abstraktionen der Netzwerktopologie mit minimalem Benutzeraufwand erstellt werden. Komplexe Topologien können mit einem einzigen Shell-Befehlsaufruf erstellt werden. Happy unterstützt sowohl die interaktive Nutzung als auch das automatisierte Scripting.

Verwenden Sie Happy Shell-Befehle, um ihren Code während der Entwicklung einzurichten, zu testen und zu debuggen. Dieselben Netzwerkkonfigurations- und Testprogramme können dann per Skript erstellt und für automatisierte Tests verwendet werden.

Loslegen

Der schnellste und einfachste Weg, um mit Happy zu beginnen, ist das Codelab. Es führt den Benutzer durch alle Grundlagen von Happy, einschließlich:

  • Erstellen und Löschen einer Topologie
  • Knoten miteinander vernetzen
  • Speichern und Wiederherstellen von Topologien
  • Verbinden einer Topologie mit dem Internet
  • Grundlagen weben

Probieren Sie die ersten Schritte mit Happy Codelab aus

Siehe Einrichtung und Verwendung Weitere Informationen zum Einrichten und Verwenden von Happy.

Die Architektur

Glückliche Modelle die folgenden:

  • Knoten - Ein Linux-Netzwerk-Namespace. Prozesse, aus denen der Knoten besteht, werden in einem angegebenen Netzwerk-Namespace ausgeführt.
  • Link - Eine Linux-Netzwerkschnittstelle. Happy verwendet das veth Netzwerkgerät zur Unterstützung von L3 (IP) -Schnittstellen und das tap Netzwerkgerät zur veth Unterstützung von L2-Schnittstellen.
  • Netzwerk - Linux-Netzwerk-Namespaces mit einer darin ausgeführten Ethernet-Bridge.

Implementierung

Happy ist eine Sammlung von Python-Modulen. Core Happy-Module bieten Abstraktionen für:

  • Verwalten von Knotenabstraktionen
    • Hinzufügen, Ändern und Löschen von Knoten
    • Ausführen einer Reihe von Prozessen innerhalb des Knotens
  • Links verwalten
    • Hinzufügen, Ändern und Löschen von Links
    • Zuweisen von Links zu einem Knoten und einem Netzwerk
    • Zuweisen und Ändern von Adresszuweisungen
  • Netzwerke verwalten
    • Netzwerke erstellen, ändern und zerstören
    • Netzwerkkonnektivität
  • Verwalten des Gesamtzustands des Frameworks auf kohärente Weise

Die meisten von Happy-Modulen implementierten Abstraktionen sind Befehlen zugeordnet, die Linux-Netzwerktools aufrufen.

Happy enthält auch eine Reihe von Plug-Ins in /plugins . Plug-Ins enthalten eine Reihe von Funktionen für eine bestimmte Technologie. Zum Beispiel enthält /plugins/weave Helfer, die verschiedene Weave-Anwendungen für die Ausführung in Happy umschließen.

Ausführung

Benutzer können simulierte Topologien mit zwei Methoden erstellen:

  • Shell-Befehle - Alle Befehle befinden sich in /bin .
  • Python-Skripte - Importieren Sie Happy-Module, um Happy-Befehle in Ihren eigenen Python-Skripten aufzurufen. Module sind in /happy .

Weitere Informationen zum Happy - Module in Ihren eigenen Python - Skripten finden Sie unter Python Scripting .