このページで
JET の概要
Junos SDK の進化版である Juniper Extension Toolkit(JET)は、Junos デバイス上のサードパーティー アプリケーション開発者に最新のプログラム インターフェイスを提供します。Junos OS(ジュニパーネットワークス Junos オペレーティング システム)に標準準拠のインターフェイスを提供し、管理プレーンとコントロール プレーンの機能をカスタマイズするためのJunos OS Evolvedに重点を置いています。
JET にはライブラリやその他のツールとともにツールチェーンも含まれており、開発者はデバイス上で JET アプリケーションを作成できます。
JET のメリット
Junos デバイスとやり取りするための API を提供します。
複数言語での API 開発をサポートします。
Junos デバイスで実行されるアプリケーションを開発するためのツールを提供します。
JET アプリケーションが選択したシステム イベントに応答できるようにするイベント通知方法を使用します。
JET アーキテクチャ
JET は、開発者が Junos OS とJunos OS Evolvedの機能を拡張するアプリケーションを作成できるフレームワークです。たとえば、JET アプリケーションでは、新しい操作コマンドを追加してアプリケーション固有の状態を表示することで、Junos CLI を拡張できます。JET アプリケーションは、Junos デバイス上または運用環境の別のデバイス上で実行し、ネットワーク経由で Junos デバイスに接続できます。
JET アプリケーションは Junos OS と通信し、標準ベースのトランスポート チャネルを介したリクエストレスポンスと通知サービスを通じてJunos OS Evolvedします。 図 1 は、リクエスト-レスポンスと通知サービスを示しています。
表 1 は、リクエストレスポンスと通知サービスを示しています。
サービス |
説明 |
---|---|
リクエスト-レスポンス—アプリケーションがリクエストを発行し、Junos OSからの応答を待つことができます。 |
Junos OSで実行されるJETサービスプロセス(jsd)は、リクエストレスポンスサービスを提供します。jsdがリクエストを受信すると(デフォルトではTCPポート32767で)、JETアプリケーションにサービスを提供する新しいセッションが作成されます。クライアントとサーバーの両方が稼働し、互いに通信している限り、セッションは生き続けます。セッションのライフタイムにわたって、jsdは任意の数のAPIを実行できます。jsdは最大8つのアクティブなクライアントセッションをサポートし、これらのセッションのAPIを並行して実行できます。
メモ:
jsdとのセキュアな通信には、RSA証明書、特にTLSv1.2(最小)を使用してください。 |
通知 — アプリケーションは、Junos OS で発生しているイベントの非同期通知を受信できます。 |
JET は、パブリッシュ/サブスクライブベースのメッセージング プロトコルと通知ブローカーを提供します。JET アプリケーションは通知ブローカーに登録し、メッセージの受信に関心のあるトピックについてブローカーに通知できます。ブローカーは、メッセージのトピックに基づいて、関心のあるクライアントにメッセージを配信します。Junos OSは、パブリッシャーとしてブローカーに接続するイベント(イベントなど)の公開を処理し、イベントを公開します。 JET は、メッセージ キュー テレメトリ トランスポート(BGP)プロトコル( HTTPS://MQTT.ORG/ を参照)を使用して通知サービスを実装します。 |
JET および gRPC
JET は、リモート プロシージャ コール(RPC)の gRPC フレームワークをサポートしています。JET は、リクエストレスポンスサービスを有効にするメカニズムとして、クロス言語サービスに gRPC を使用します。また、gRPC はプログラミング言語に依存しない API を定義するメカニズムも提供します。詳細については、 https://www.grpc.io/ を参照してください。