XML 和 Junos OS 概述
可扩展标记语言 (XML) 是表示和传达信息的标准。这是一种金属设计,用于定义应用于数据集或文档的自定义标记,以描述单个元素的功能,并编定它们之间的层次结构关系。Junos OS本机支持 XML,用于操作和配置运行 Junos OS。
第 Junos OS命令行界面 (CLI) 和 Junos OS基础架构使用 XML 进行通信。当在 CLI 中发出操作模式命令时,CLI会将 命令转换为 XML 格式进行处理。处理后,Junos OS以 XML 文档的形式返回输出,而 XML 文档CLI转换为可读格式进行显示。远程客户端应用程序还使用基于 XML 的数据编码在运行网络的应用程序上运行的操作和配置Junos OS。
Junos XML API 是一种由 Junos OS语句和操作模式命令表示的 XML 形式。它定义了一种 XML,用于 Junos OS层次结构中的所有语句以及您在许多操作模式下CLI命令。每个操作模式命令(如果Junos XML 对应项)映射到请求标记元素,如有必要,还映射到响应标记元素。
要以默认格式的 ASCII Junos XML 标记元素来显示配置或操作模式命令输出,请发出 命令,然后管道输出到 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>
如上一个示例所示,选项显示Junos发出命令时发送至 Junos OS 以 | display xml rpc
进行处理的 XML API 请求标记。相反, | display xml
选项显示以 XML 格式处理的命令的实际输出。
发出操作模式命令时,CLI会将 命令转换为 Junos XML API 请求标记,并将 XML 请求Junos OS show chassis alarms
<get-alarm-information>
基础架构进行处理。Junos OS处理请求,将 <alarm-information>
响应标记元素返回CLI。然后CLI会将 XML 输出转换为显示给用户的"当前没有活动的报警"消息。
Junos OS自动化脚本使用 XML 与主机设备进行通信。Junos OS脚本提供 XML 格式的输入。该脚本将处理输入源树,然后将 XML 格式的输出返回Junos OS。脚本类型确定发送至脚本的 XML 输入文档以及返回至脚本Junos OS文档。commit 脚本输入包含继承后候选配置文件的 XML 表示。事件脚本收到一个 XML 文档,其中包含触发事件的说明。所有脚本输入文档均包含关于 Junos OS 环境的信息,有些脚本将接收其他脚本特定输入,具体取决于脚本类型。