Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

JET im Überblick

Juniper Extension Toolkit (JET), eine Weiterentwicklung des Junos SDK, bietet eine moderne, programmgesteuerte Schnittstelle für Entwickler von Anwendungen von Drittanbietern auf Junos-Geräten. Der Schwerpunkt liegt auf der Bereitstellung einer standardbasierten Schnittstelle zu den Betriebssystemen Junos (Junos OS) und Junos OS Evolved von Juniper Networks zur Anpassung der Verwaltungs- und Steuerungsebenenfunktionalität.

JET enthält auch eine Toolchain sowie Bibliotheken und andere Tools, die es Entwicklern ermöglichen, JET-Anwendungen auf dem Gerät zu schreiben.

Vorteile von JET

  • Bietet APIs für die Interaktion mit beliebigen Junos-Geräten.

  • 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, die es JET-Anwendungen ermöglicht, auf ausgewählte Systemereignisse zu reagieren.

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 Anforderungs-Antwort- und Benachrichtigungsdienste über standardbasierte Transportkanäle. Abbildung 1 veranschaulicht die Anforderungs-Antwort- und Benachrichtigungsdienste.

Abbildung 1: JET Request-Response- und Benachrichtigungsdienste JET Request-Response and Notification Services

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

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

Service

Beschreibung

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

Der JET Services Process (jsd), der unter Junos OS ausgeführt wird, stellt den Anforderungs-Antwort-Dienst bereit. Wenn jsd eine Anfrage erhält (standardmäßig auf TCP-Port 32767), erstellt es eine neue Sitzung, um die JET-Anwendung zu bedienen. Die Sitzung bleibt so lange aktiv, 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 Clientsitzungen unterstützen und APIs aus diesen Sitzungen parallel ausführen.

Hinweis:

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

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

JET bietet ein auf Publish-Subscribe basierendes Messaging-Protokoll und einen Notification Broker. 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 dafür verantwortlich, Nachrichten an die interessierten Kunden basierend auf dem Thema der Nachricht zu verteilen. Junos OS-Prozesse veröffentlichen die Ereignisse (z. B. eventd), stellen eine Verbindung zum Broker als Herausgeber her und veröffentlichen die Ereignisse.

JET verwendet die MQTT-Protokollmethode (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 Anforderungs-Antwort-Dienst 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/.