XML 和 Junos OS 概述
可扩展标记语言 (XML) 是表示和通信信息的一种标准。这是一种用于定义自定义标记的金属组织,用于定义应用于数据集或文档的自定义标记,用于描述单个元素的功能并编码它们之间的分层关系。Junos OS 本机支持 XML,用于运行 Junos OS 的设备的操作和配置。
Junos OS 命令行界面 (CLI) 和 Junos OS 基础架构使用 XML 进行通信。在 CLI 中发出 操作模式命令 时,CLI 会将命令转换为 XML 格式进行处理。处理后,Junos OS 会以 XML 文档的形式返回输出,CLI 会将该输出转换为可读格式进行显示。远程客户端应用程序还对运行 Junos OS 的设备上的操作和配置请求使用基于 XML 的数据编码。
Junos XML API 是 Junos OS 配置语句和操作模式命令的 XML 表示形式。它为 Junos OS 配置层次结构中的所有语句以及您在 CLI 操作模式下发出的许多命令定义了一个 XML 等效项。带有 Junos XML 对应项的每个操作模式命令都会映射到请求标记元素,如有必要,映射到响应标记元素。
要将配置或操作模式命令输出显示为 Junos XML 标记元素,而不是默认格式化的 ASCII,请发出命令,并将输出管道连接到命令 display xml
。响应中的基础架构标记元素属于 Junos XML 管理协议。描述 Junos OS 配置或操作数据的标记元素属于 Junos XML API,该 API 定义了可由 Junos XML 管理协议和 NETCONF XML 管理协议操作检索和操纵的 Junos OS 内容。以下示例比较了操作模式命令的文本和 XML 输出 show chassis alarms
:
user@host> show chassis alarms No alarms currently active
user@host> show chassis alarms | display xml <rpc-reply xmlns:junos="http://xml.juniper.net/junos/10.4R1/junos"> <alarm-information xmlns="http://xml.juniper.net/junos/10.4R1/junos-alarm"> <alarm-summary> <no-active-alarms/> </alarm-summary> </alarm-information> <cli> <banner></banner> </cli> </rpc-reply>
要显示任何操作模式命令的 Junos XML API 表示,请发出命令,并将输出管道连接到命令 display xml rpc
。以下示例显示了命令的 Junos XML API 请求标记 show chassis alarms
。
user@host> show chassis alarms | display xml rpc <rpc-reply xmlns:junos="http://xml.juniper.net/junos/10.4R1/junos"> <rpc> <get-alarm-information> </get-alarm-information> </rpc> <cli> <banner></banner> </cli> </rpc-reply>
如上一个示例所示, | display xml rpc
选项会显示在发出命令时发送到 Junos OS 进行处理的 Junos XML API 请求标记。相比之下,该选项以 | display xml
XML 格式显示已处理命令的实际输出。
发出 show chassis alarms
操作模式命令时,CLI 会将命令转换为 Junos XML API <get-alarm-information>
请求标记,并将 XML 请求发送至 Junos OS 基础架构进行处理。Junos OS 处理请求并将 <alarm-information>
响应标记元素返回到 CLI。然后,CLI 会将 XML 输出转换为向用户显示的“当前没有处于活动状态的告警”消息。
Junos OS 自动化脚本使用 XML 与主机设备通信。Junos OS 为脚本提供 XML 格式的输入。脚本处理输入源树,然后向 Junos OS 返回 XML 格式的输出。脚本类型确定发送至脚本的 XML 输入文档以及返回到 Junos OS 进行处理的输出文档。提交脚本输入由继承后候选配置文件的 XML 表示形式组成。事件脚本接收一个 XML 文档,其中包含触发事件的描述。所有脚本输入文档都包含有关 Junos OS 环境的信息,有些脚本会接收其他特定于脚本的输入,具体取决于脚本类型。