Anfragen an den NETCONF-Server senden
Um eine Anfrage an den NETCONF-Server zu initiieren, sendet eine Clientanwendung das öffnende <rpc>
Tag, gefolgt von einem oder mehreren Tag-Elementen, die die jeweilige Anforderung darstellen, und dem schließenden </rpc>
Tag in dieser Reihenfolge:
<rpc> <!-- tag elements representing a request --> </rpc> ]]>]]>
Die Anwendung umschließt jede Anforderung in ihrem eigenen separaten Paar von öffnenden <rpc>
und schließenden </rpc>
Tags. Jede Anforderung muss ein gut gebildetes XML-Dokument darstellen, indem nur konforme und korrekt geordnete Tag-Elemente enthalten werden. Der NETCONF-Server ignoriert alle Newline-Zeichen, Leerzeichen oder anderen Leerzeichen, die zwischen Tag-Elementen im Tag-Stream auftreten, behält jedoch den Leerraum innerhalb der Tag-Elemente bei.
Optional kann eine Clientanwendung für jede Anforderung ein oder mehrere Attribute des Formulars attribute-name="value"
im öffnenden <rpc>
Tag einfügen. Der NETCONF-Server echos jedes Attribut unverändert im öffnenden <rpc-reply>
Tag, in dem er seine Antwort umschließt.
Eine Clientanwendung kann diese Funktion verwenden, um Anfragen und Antworten zuzuordnen, indem sie in jedem öffnenden <rpc>
Anforderungs-Tag ein Attribut eingibt, das eine eindeutige Kennung zugibt. Der NETCONF-Server echot das Attribut in seinem öffnenden <rpc-reply>
Tag, sodass die Antwort auf die initiierende Anforderung einfach zuzuordnen ist. Die NETCONF-Spezifikation gibt den Namen message-id
für dieses Attribut an.
Obwohl Betriebs- und Konfigurationsanfragen konzeptionell zu separaten Klassen gehören, hat eine NETCONF-Sitzung keine verschiedenen Modi, die den Betriebs- und Konfigurationsmodi der CLI entsprechen. Jedes Anforderungs-Tag-Element ist in seinem eigenen <rpc>
Tag eingeschlossen, sodass eine Clientanwendung Betriebs- und Konfigurationsanfragen frei abwechseln kann. Eine Clientanwendung kann drei Klassen von Anforderungen stellen:
Betriebliche Anforderungen
Bei Betriebsanforderungen handelt es sich um Informationen zum Status eines Geräts, auf dem Junos OS ausgeführt wird. Betriebsanforderungen entsprechen den Befehlen für den Betriebsmodus der Junos OS CLI. Die Junos XML-API definiert ein Request-Tag-Element für viele CLI-Befehle. Das Tag-Element entspricht beispielsweise <get-interface-information>
dem show interfaces
Befehl, und das <get-chassis-inventory>
Tag-Element fordert die gleichen Informationen wie der show chassis hardware
Befehl an.
Die folgende RPC fordert detaillierte Informationen zur Schnittstelle ge-2/3/0 an:
<rpc> <get-interface-information> <interface-name>ge-2/3/0</interface-name> <detail/> </get-interface-information> </rpc> ]]>]]>
Weitere Informationen zu betrieblichen Anforderungen finden Sie unter Anfordern von Betriebsinformationen mit NETCONF. Informationen zu den in der aktuellen Junos OS-Version verfügbaren Junos XML-Anforderungs-Tag-Elementen finden Sie in der Junos XML API Operational Developer Reference und dem XML API Explorer.
Anforderungen an Konfigurationsinformationen
Bei Konfigurationsinformationen handelt es sich um Anfragen nach Informationen über die Kandidatenkonfiguration des Geräts, eine private Konfiguration, die kurzlebige Konfiguration oder die zugesagte Konfiguration (die derzeit auf der Switching-, Routing- oder Sicherheitsplattform verwendet wird). Die Kandidaten- und die zugesagten Konfigurationen unterscheiden sich, wenn nicht genehmigte Änderungen an der Kandidatenkonfiguration vorgenommen werden.
Das NETCONF-Protokoll definiert den <get-config>
Vorgang zum Abrufen von Konfigurationsinformationen. Die Junos XML-API definiert ein Tag-Element für jede Container- und Leaf-Anweisung in der Konfigurationshierarchie.
Das folgende Beispiel zeigt, wie Sie Informationen von der [edit system login]
Hierarchieebene der Kandidatenkonfiguration anfordern:
<rpc> <get-config> <source> <candidate/> </source> <filter type="subtree"> <configuration> <system> <login/> </system> </configuration> </filter> </get-config> </rpc> ]]>]]>
Weitere Informationen zu Konfigurationsinformationensanforderungen finden Sie unter Konfigurationsdaten anfordern mit NETCONF. Eine Zusammenfassung der verfügbaren Konfigurations-Tag-Elemente finden Sie in der Junos XML API Configuration Developer Reference und dem XML API Explorer.
Anforderungen an Konfigurationsänderungen
Bei Konfigurationsänderungsanfragen handelt es sich um Anfragen, die Konfiguration zu ändern oder diese Änderungen zu bestätigen, um sie auf dem Gerät, auf dem Junos OS ausgeführt wird, in aktive Verwendung zu versetzen. Das NETCONF-Protokoll definiert die und <copy-config>
den Betrieb für das <edit-config>
Ändern von Konfigurationsinformationen. Die Junos XML-API definiert ein Tag-Element für jede CLI-Konfigurationsanweisung, die in den Junos OS-Konfigurationsleitfäden beschrieben wird.
Das folgende Beispiel zeigt, wie Sie ein neues Junos OS-Benutzerkonto erstellen, das auf Hierarchieebene [edit system login]
in der Kandidatenkonfiguration aufgerufen wirdadmin
:
<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> ]]>]]>
Weitere Informationen zu Konfigurationsänderungsanforderungen finden Sie unter Bearbeiten der Konfiguration mit NETCONF. Eine Zusammenfassung der Junos XML-Konfigurations-Tag-Elemente finden Sie in der Junos XML API-Konfigurationsentwicklerreferenz und dem XML API Explorer.