XML und Junos OS – Überblick
Extensible Markup Language (XML) ist ein Standard für die Darstellung und Kommunikation von Informationen. Es handelt sich um eine Metalanguage zum Definieren benutzerdefinierter Tags, die auf einen Datensatz oder ein Dokument angewendet werden, um die Funktion einzelner Elemente zu beschreiben und die hierarchischen Beziehungen zwischen ihnen zu kodifizieren. Junos OS unterstützt nativ XML für den Betrieb und die Konfiguration von Geräten, auf denen Junos OS ausgeführt wird.
Die Befehlszeilenschnittstelle (CLI) von Junos OS und die Junos OS-Infrastruktur kommunizieren mithilfe von XML. Wenn Sie einen Befehl im Betriebsmodus in der CLI ausführen, konvertiert die CLI den Befehl zur Verarbeitung in das XML-Format. Nach der Verarbeitung gibt Junos OS die Ausgabe in Form eines XML-Dokuments zurück, das von der CLI in ein lesbares Format zur Anzeige konvertiert wird. Remote-Clientanwendungen verwenden auch die XML-basierte Datenkodierung für Betriebs- und Konfigurationsanfragen auf Geräten, auf denen Junos OS ausgeführt wird.
Die Junos XML API ist eine XML-Darstellung von Konfigurationsanweisungen und Betriebsmodusbefehlen von Junos OS. Er definiert ein XML-Äquivalent für alle Anweisungen in der Junos OS-Konfigurationshierarchie und viele der Befehle, die im CLI-Betriebsmodus ausgeführt werden. Jeder Befehl im Betriebsmodus mit einem Junos XML-Gegenstück ordnet einem Request-Tag-Element und ggf. einem Response-Tag-Element zu.
Um die Konfigurations- oder Betriebsmodus-Befehlsausgabe als Junos XML-Tag-Elemente anstelle als standard formatiertes ASCII anzuzeigen, geben Sie den Befehl aus, und leiten Sie die Ausgabe an den display xml
Befehl weiter. Infrastruktur-Tag-Elemente in der Antwort gehören zum Junos XML-Verwaltungsprotokoll. Die Tag-Elemente, die die Junos OS-Konfiguration oder Betriebsdaten beschreiben, gehören zur Junos XML API, die den Inhalt des Junos OS definiert, der sowohl vom Junos XML-Verwaltungsprotokoll als auch vom NETCONF XML-Verwaltungsprotokollbetrieb abgerufen und bearbeitet werden kann. Im folgenden Beispiel werden der Text und die XML-Ausgabe für den Befehl im show chassis alarms
Betriebsmodus verglichen:
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>
Um die Junos XML API-Darstellung eines beliebigen Befehls im Betriebsmodus anzuzeigen, geben Sie den Befehl aus und leiten Sie die Ausgabe an den display xml rpc
Befehl weiter. Das folgende Beispiel zeigt das Junos XML API Request-Tag für den show chassis alarms
Befehl.
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>
Wie im vorherigen Beispiel dargestellt, zeigt die Option das | display xml rpc
Junos XML API Request-Tag an, das zur Verarbeitung an Junos OS gesendet wird, wenn der Befehl ausgegeben wird. Im Gegensatz dazu zeigt die | display xml
Option die tatsächliche Ausgabe des verarbeiteten Befehls im XML-Format an.
Wenn Sie den Befehl im show chassis alarms
Betriebsmodus ausführen, konvertiert die CLI den Befehl in das Anforderungs-Tag der Junos XML-API <get-alarm-information>
und sendet die XML-Anfrage zur Verarbeitung an die Junos OS-Infrastruktur. Junos OS verarbeitet die Anforderung und gibt das <alarm-information>
Antwort-Tag-Element an die CLI zurück. Die CLI wandelt dann die XML-Ausgabe in die Meldung "Keine Alarme aktuell aktiv" um, die dem Benutzer angezeigt wird.
Junos OS-Automatisierungsskripte verwenden XML für die Kommunikation mit dem Hostgerät. Junos OS liefert Eingaben im XML-Format für ein Skript. Das Skript verarbeitet den Eingangsquellenbaum und gibt dann die XML-formatierte Ausgabe an Junos OS zurück. Der Skripttyp bestimmt das XML-Eingabedokument, das an das Skript gesendet wird, sowie das Ausgabedokument, das zur Verarbeitung an Junos OS zurückgegeben wird. Commit-Skripteingaben bestehen aus einer XML-Darstellung der Konfigurationsdatei für Kandidaten nach der Vererbung. Ereignisskripte erhalten ein XML-Dokument mit der Beschreibung des auslösenden Ereignisses. Alle Skripteingabedokumente enthalten Informationen, die sich auf die Junos OS-Umgebung beziehen, und einige Skripte erhalten zusätzliche skriptspezifische Eingaben, die vom Skripttyp abhängen.