Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

JET im Überblick

Das Juniper Extension Toolkit (JET) bietet eine moderne, programmatische Schnittstelle für Entwickler von Anwendungen von Drittanbietern auf Junos-Geräten. Der Schwerpunkt liegt auf der Bereitstellung einer standardbasierten Schnittstelle zum Betriebssystem Junos (Junos OS) und Junos OS Evolved von Juniper Networks für die Anpassung von Verwaltungs- und Steuerungsebenenfunktionen.

JET enthält auch eine Toolchain sowie Bibliotheken und andere Tools, mit denen Entwickler JET-Anwendungen auf dem Gerät schreiben können.

Vorteile von JET

  • Bietet APIs für die Interaktion mit jedem Junos-Gerät.

  • Unterstützt die API-Entwicklung in mehreren Sprachen.

  • Stellt Tools zum Entwickeln von Anwendungen bereit, die auf Junos-Geräten ausgeführt werden.

  • Verwendet eine Ereignisbenachrichtigungsmethode, mit der JET-Anwendungen auf ausgewählte Systemereignisse reagieren können.

JET-Architektur

JET ist ein Framework, mit dem Entwickler Anwendungen erstellen können, die die Funktionalität von Junos OS und Junos OS Evolved erweitern. Beispielsweise kann eine JET-Anwendung die Junos CLI erweitern, indem sie einen neuen Betriebsbefehl hinzufügt, um anwendungsspezifische Zustände anzuzeigen. JET-Anwendungen können auf Junos-Geräten oder auf einem anderen Gerät in Ihrer Betriebsumgebung ausgeführt werden und über das Netzwerk eine Verbindung zu einem Junos-Gerät herstellen.

JET-Anwendungen interagieren mit Junos OS und Junos OS Evolved über Anfrage-Antwort- und Benachrichtigungsservices über standardbasierte Transportkanäle. Abbildung 1 veranschaulicht die Anforderung-Antwort- und Benachrichtigungsdienste.

Abbildung 1: JET-Request-Response- und Benachrichtigungsservices Diagram of Junos Extensible Toolkit architecture showing communication flow among JET apps, Junos kernel, and processes like RPD, DFWD, DCD, MGD using gRPC and MQTT protocols.

In Tabelle 1 werden die Anforderungs-Antwort- und Benachrichtigungsdienste beschrieben.

Tabelle 1: Interaktion von JET-Anwendungen mit Junos OS über Services

Dienst

Beschreibung

Anfrage-Antwort: Eine Anwendung kann eine Anforderung ausgeben und auf die Antwort von Junos OS warten.

Der JET Services Process (jsd), der auf Junos OS ausgeführt wird, stellt den Request-Response-Service bereit. Wenn jsd eine Anforderung empfängt (standardmäßig auf TCP-Port 32767), erstellt es eine neue Sitzung, um die JET-Anwendung zu bedienen. Die Sitzung bleibt so lange bestehen, wie Client und Server aktiv sind und miteinander kommunizieren. Während der Lebensdauer einer Sitzung kann jsd eine beliebige Anzahl von APIs ausführen. jsd kann maximal 8 aktive Client-Sitzungen unterstützen und APIs aus diesen Sitzungen parallel ausführen.

Anmerkung:

Verwenden Sie für eine sichere Kommunikation mit jsd RSA-Zertifikate, insbesondere TLSv1.2 (mindestens).

Benachrichtigungen: Eine Anwendung kann asynchrone Benachrichtigungen über Ereignisse empfangen, die auf Junos OS auftreten.

JET bietet ein Publish-Subscribe-basiertes Messaging-Protokoll und einen Benachrichtigungsbroker. JET-Anwendungen können sich beim Benachrichtigungsbroker registrieren und den Broker über die Themen informieren, die für den Empfang von Nachrichten von Interesse sind. Der Broker ist für die Verteilung von Nachrichten an die interessierten Kunden basierend auf dem Thema der Nachricht verantwortlich. Junos OS-Prozesse, die die Ereignisse veröffentlichen (z. B. eventd), stellen als Publisher eine Verbindung zum Broker her und veröffentlichen die Ereignisse.

JET verwendet die MQTT-Methode (Message Queue Telemetry Transport) (siehe https://mqtt.org/), um den Benachrichtigungsdienst zu implementieren.

JET und gRPC

JET unterstützt das gRPC-Framework für Remote Procedure Calls (RPCs). JET verwendet gRPC für sprachübergreifende Dienste als Mechanismus, um den Anforderungsantwortdienst zu aktivieren. gRPC bietet auch einen Mechanismus zum Definieren von APIs, die unabhängig von der Programmiersprache sind. Weitere Informationen finden Sie unter https://www.grpc.io/.