将请求发送到 NETCONF 服务器
要向 NETCONF 服务器发起请求,客户端应用程序会发出开始标记,然后是一个或多个标记元素,代表特定请求,以及结束标记,顺序 <rpc>
</rpc>
为:
<rpc> <!-- tag elements representing a request --> </rpc> ]]>]]>
该应用程序将每个请求都包括在其单独的开始标记 <rpc>
和结束 </rpc>
标记对中。每个请求都必须包含仅包含符合和正确订购的标记元素,从而构成格式良好的 XML 文档。NETCONF 服务器将忽略标记流中的标记元素之间发生的任何新行符、空格或其他空格字符,但它在标记元素中保留空格。
或者,客户端应用程序可以在每个请求的开放标记中包括表单的 attribute-name="value"
<rpc>
一个或多个属性。NETCONF 服务器在包含其响应的开放标记中回应每个属性,不变 <rpc-reply>
。
客户端应用程序可以使用此功能将一个属性包括在每个能分配唯一标识符的首条请求标记中,以将请求和响应 <rpc>
关联在一起。NETCONF 服务器回应其开始标记中的属性,使得映射响应发起请求 <rpc-reply>
变得简单。NETCONF 规范指定 message-id
此属性的名称。
虽然操作和配置请求在概念上属于独立的类,但 NETCONF 会话没有与操作和配置模式CLI不同的模式。每个请求标记元素都封装在各自的标记内,因此 <rpc>
客户端应用程序可以自由替代操作和配置请求。客户端应用程序可以提出三类请求:
运营请求
操作请求 请求有关运行 Junos OS 的状态的信息。操作请求与Junos OS CLI模式命令对应。该Junos XML API 可定义许多命令CLI标记元素。例如, <get-interface-information>
标记元素与 命令对应,而 show interfaces
<get-chassis-inventory>
标记元素请求与 命令相同的 show chassis hardware
信息。
以下 RPC 请求有关接口 ge-2/3/0 的详细信息:
<rpc> <get-interface-information> <interface-name>ge-2/3/0</interface-name> <detail/> </get-interface-information> </rpc> ]]>]]>
有关操作请求的信息,请参阅 使用 NETCONF 请求操作信息。有关当前 Junos 版本可用的 Junos XML 请求 Junos OS标记元素的信息,请参阅 Junos XML API 操作开发人员 参考 和 XML API Explorer。
配置信息请求
配置信息请求是有关设备候选配置、专用配置、临时配置或承诺配置(当前在交换、路由或安全平台上使用的配置)的信息请求。候选配置和提交的配置在候选配置有未提交更改时会提高配置。
NETCONF 协议定义了 <get-config>
检索配置信息的操作。Junos XML API 为配置层次结构中每个容器和叶语句定义标记元素。
以下示例显示如何从候选配置的层次结构级别 [edit system login]
请求信息:
<rpc> <get-config> <source> <candidate/> </source> <filter type="subtree"> <configuration> <system> <login/> </system> </configuration> </filter> </get-config> </rpc> ]]>]]>
有关配置信息请求的信息,请参阅 使用 NETCONF 请求配置数据。有关可用配置标记元素的摘要,请参阅 Junos XML API 配置开发人员参考 和 XML API Explorer。
配置更改请求
配置更改 请求请求用于更改配置或提交这些更改,使它们在运行新设备的设备上Junos OS。NETCONF 协议定义 <edit-config>
<copy-config>
更改配置信息的 和 操作。Junos XML API 为每个配置指南中所述CLI配置语句定义Junos OS元素。
以下示例显示如何创建一个新的Junos OS,称为候选配置中的 admin
[edit system login]
层次结构级别:
<rpc> <edit-config> <target> <candidate/> </target> <config> <configuration> <system> <login> <user> <name>admin</name> <full-name>Administrator</full-name> <class>superuser</class> </user> </login> <login/> </system> </configuration> </config> </edit-config> </rpc> ]]>]]>
有关配置更改请求的信息,请参阅 使用 NETCONF 编辑配置。有关每个 XML 配置Junos元素的摘要,请参阅 Junos XML API 配置开发人员参考 和 XML API Explorer。