Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

gNOI 服务概述

总结 Junos 设备支持本主题中概述的 gNOI 服务和 RPC。

gRPC 网络操作接口 (gNOI) 定义了在网络设备上执行操作命令的服务。OpenConfig 在 proto 定义文件中定义每项服务的操作 (RPC) 和数据结构(消息)。包含 gNOI RPC 完整列表的 proto 文件位于 https://github.com/openconfig/gnoi 的 OpenConfig gNOI GitHub 存储库中。Junos 设备支持服务和 RPC 的子集,如下几节所述。

受支持的服务概述

表 1 概述了 Junos 设备支持的 gNOI 服务。下表列出了支持从给定版本的 proto 文件开始的版本。

表 1:支持的 gNOI 服务
服务 版本开始支持 Proto 文件版本

CertificateManagement

Junos OS 演化版 22.2R1

0.2.0

Diag

Junos OS 演化版 22.2R1

0.1.0

File

Junos OS 演化版 22.2R1

0.1.0

OS

Junos OS 演化版 22.2R1

0.1.1

System

Junos OS 演化版 22.2R1

1.0.0

证书管理服务

表 2:支持的 cert.proto RPC
版本中引入的 RPC 说明
CanGenerateCSR()

查询目标设备,以确定设备是否可以生成具有指定密钥类型、密钥大小和证书类型的证书签名请求 (CSR)。支持的值:

  • 密钥类型:KT_RSA

  • 密钥大小:1024、2048、4096

  • 证书类型:CT_X509

True返回 gNOI 服务器是否支持特定的密钥类型、密钥大小和证书类型。

Junos OS Evolved 23.1R1

GenerateCSR()

生成并返回证书签名请求 (CSR)。

Junos OS Evolved 22.2R1

GetCertificates()

返回目标设备上加载的本地证书。

Junos OS Evolved 22.2R1

Install()

在目标设备上加载新证书,具体方式是创建 CSR 请求,基于 CSR 生成证书,然后使用新证书 ID 加载证书。

Junos OS Evolved 22.2R1

LoadCertificate()

在目标设备上加载由证书颁发机构 (CA) 签署的证书。

Junos OS Evolved 22.2R1

LoadCertificateAuthorityBundle()

在目标设备上加载 CA 证书包。

Junos OS Evolved 22.2R1

RevokeCertificates()

撤销目标设备上具有指定证书 ID 的证书。

Junos OS Evolved 23.1R1

Rotate()

通过创建 CSR 请求,生成基于 CSR 的证书,并使用现有证书 ID 加载证书,来替换目标设备上的现有证书。

Junos OS Evolved 22.2R1

诊断 (Diag) 服务

表 3:支持的 diag.proto RPC
版本中引入的 RPC 说明
StartBERT()

在一组端口上启动 BERT。Junos 设备支持以下 PRBS 模式用于 GNOIBERT:

  • PRBS7
  • PRBS9
  • PRBS15
  • PRBS23
  • PRBS31

Junos OS Evolved 22.2R1

StopBert()

在一组端口上阻止已经正在进行的 BERT。

Junos OS Evolved 22.2R1

GetBERTResult()

在 BERT 期间或完成之后获取 BERT 结果。

Junos OS Evolved 22.2R1

文件服务

表 4:支持的文件.proto RPC
版本中引入的 RPC 说明
Get()

从目标读取和流传输文件的内容。

该文件由连续消息流传输,每条消息包含多达 64KB 的数据。在关闭包含已发送数据的散列流之前发送最后一条消息。如果文件不存在或读取文件时出错,操作将返回错误。

Junos OS Evolved 22.2R1

Put()

将数据流式传输到目标上的文件。

该文件以顺序消息发送,每条消息包含多达 64KB 的数据。必须发送包含数据散列的最终消息。

如果位置不存在或写入数据时出错,则操作将返回错误。如果未收到任何校验和,目标将移除部分传输的文件。故障不会改变任何同名现有文件。

Junos OS Evolved 22.2R1

Remove()

从目标中移除指定的文件。如果文件不存在、文件路径解析到某个目录,或者删除操作遇到错误,则操作将返回错误。

Junos OS Evolved 22.2R1

Stat()

返回有关目标设备上的文件的元数据。如果文件不存在,或者访问元数据时出错,则操作将返回错误。

Junos OS Evolved 22.2R1

操作系统 (OS) 服务

表 5:支持的 os.proto RPC
版本中引入的 RPC 说明
Activate()

设置下次重新启动时使用的操作系统版本。

Activate() 如果 no_reboot 省略标志或设置为 False,将重新启动目标。如果重新启动无法启动请求的操作系统版本,目标将回滚到上一个 OS 软件包。

注意:

Junos 设备不支持 standby_supervisor 消息中的 ActivateRequest 字段。

Junos OS Evolved 22.2R1

Install()

将软件映像传输到目标上。

注意:

Junos 设备不支持 standby_supervisor 消息中的 TransferRequest 字段。

Junos OS Evolved 22.2R1

Verify()

检查运行的操作系统版本。此 RPC 可能会在目标启动时多次调用,直至成功。

注意:

Junos 设备不支持 verify_standby VerifyResponse。

Junos OS Evolved 22.2R1

系统服务

系统服务(Ping 和 Traceroute)

表 6:用于网络故障排除支持的 system.proto RPC
版本中引入的 RPC 说明
Ping()

Ping 设备。 Ping() RPC 支持 IPv4 和 IPv6 ping。ping 完成后,此 RPC 会回流式传输 ping 的结果。

默认数据包数:5

Junos OS Evolved 22.2R1

Traceroute()

在目标设备上执行 traceroute 命令并回流式传输结果。

默认跃点计数:30

Junos OS Evolved 22.2R1

系统服务(重新启动)

表 7:用于重新启动支持的 system.proto RPC
版本中引入的 RPC 说明
Reboot()

重新启动目标。一次只能对目标执行一次重新启动请求。

您可以选择配置将来重新启动的延迟,单独重新启动子组件,并在重新启动开始时添加消息。以纳秒为单位配置延迟。

Junos 设备支持以下重新启动方法:

  • 冷 (1)

  • 电源关闭 (2)

  • 停止 (3)

  • 电源 (7)

Junos OS Evolved 22.2R1

RebootStatus() 返回重新启动的状态。

Junos OS Evolved 22.2R1

CancelReboot() 取消悬而未决的重新启动请求。

Junos OS Evolved 22.2R1

系统服务(软件升级)

表 8:软件升级支持的 system.proto RPC
版本中引入的 RPC 说明
SetPackage()

在目标设备上安装软件映像。

Junos OS Evolved 22.2R1

系统服务(路由引擎切换)

表 9:路由引擎切换支持的 system.proto RPC
版本中引入的 RPC 说明
SwitchControlProcessor()

从当前路由引擎切换到指定的路由引擎。如果当前和指定的路由引擎相同,则为 NOOP。如果目标不存在,RPC 将返回错误。

注意:

Junos 设备不支持control_processor SwitchControlProcessorResponse

Junos OS Evolved 22.2R1