本页内容
JET概览
Juniper 扩展工具包 (JET) 为 Junos 设备上的第三方应用开发人员提供了现代化的编程界面。它侧重于为 瞻博网络 Junos作系统 (Junos OS) 和 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 演化版进行交互。 图 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 进程发布事件(如 eventd)作为发布者连接到代理并发布事件。 JET 利用消息队列遥测传输 (MQTT) 协议(请参阅 https://mqtt.org/)方法来实现通知服务。 |
JET 和 gRPC
JET 支持用于远程过程调用 (RPC) 的 gRPC 框架。JET 使用跨语言服务的 gRPC 作为启用请求-响应服务的机制。gRPC 还提供了一种机制来定义与编程语言无关的 API。有关详细信息,请参阅 https://www.grpc.io/。