在此页面上
JET 概述
Juniper Extension Toolkit (JET) 是 Junos SDK 的演变,为 Junos 设备上的第三方应用程序开发人员提供了一个现代的编程界面。它专注于为瞻博网络 Junos 操作系统 (Junos OS) 和 Junos OS Evolved 提供基于标准的接口,以实现自定义管理和控制平面功能。
JET 还包括一个工具链以及库和其他工具,使开发人员能够编写设备上的 JET 应用程序。
JET 的优势
提供 API 以与任何 Junos 设备交互。
支持多种语言的 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 的响应。 |
JET 服务进程 (jsd) 在 Junos OS 上运行,可提供请求响应服务。当 jsd 收到请求(默认情况下在 TCP 端口 32767 上)时,它将创建一个新的会话来为 JET 应用程序提供服务。只要客户端和服务器同时正常运行并相互通信,会话就保持正常运行。在会话生存期内,jsd 可以执行任意数量的 API。jsd 最多可以支持 8 个活动客户端会话,并可同时从这些会话中执行 API。
注意:
对于与 jsd 的安全通信,请使用 RSA 证书,特别是 TLSv1.2(最小)。 |
通知 — 应用程序可以接收 Junos OS 上发生的事件的异步通知。 |
JET 提供基于发布订阅的消息协议和通知代理。JET 应用程序可在通知代理处注册,并将接收消息感兴趣的主题通知经纪人。代理负责根据消息主题向相关客户分发消息。Junos OS 进程发布事件(如事件)作为出版商连接到代理并发布事件。 JET 采用消息队列遥测传输 (MQTT) 协议( 请参阅 https://mqtt.org/)方法来实施通知服务。 |
JET 和 gRPC
JET 支持用于远程过程调用 (RPC) 的 gRPC 框架。JET 将 gRPC 用于跨语言服务,作为支持请求响应服务的机制。gRPC 还提供了一种机制来定义与编程语言无关的 API。有关更多信息,请 参阅 https://www.grpc.io/。