XML und Junos OS – Übersicht
Extensible Markup Language (XML) ist ein Standard für die Darstellung und Übermittlung von Informationen. Es ist eine Metallanguage 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 über XML. Wenn Sie einen Betriebsmodusbefehl in der CLI ausstellen, 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 zur Anzeige wieder in ein lesbares Format konvertiert wird. Remote-Client-Anwendungen verwenden auch XML-basierte Datenkodierung für Betriebs- und Konfigurationsanforderungen auf Geräten, auf denen Junos OS ausgeführt wird.
Die Junos XML-API ist eine XML-Darstellung von Junos OS-Konfigurationsanweisungen und Betriebsmodusbefehlen. Es definiert ein XML-Äquivalent für alle Anweisungen in der Junos OS-Konfigurationshierarchie und viele der Befehle, die Sie im CLI-Betriebsmodus aus geben. Jeder Betriebsmodusbefehl mit einem Junos XML-Gegenstück wird einem Request-Tag-Element und gegebenenfalls einem Antworttag-Element zugeordnet.
Um die Konfigurations- oder Betriebsmodus-Befehlsausgabe als Junos XML-Tag-Elemente anstatt als standardformatiertes ASCII anzuzeigen, erteilen Sie den Befehl, und pipen Sie die Ausgabe an den display xml
Befehl. Infrastruktur-Tag-Elemente in der Antwort gehören zum Junos XML-Managementprotokoll. Die Tag-Elemente, die junos OS-Konfigurations- oder Betriebsdaten beschreiben, gehören zur Junos XML API, die den Junos OS-Inhalt definiert, der sowohl vom Junos XML-Verwaltungsprotokoll als auch vom NETCONF XML-Verwaltungsprotokoll abgerufen und manipuliert werden kann. Im folgenden Beispiel werden die Text- und XML-Ausgaben für den show chassis alarms
Betriebsmodus-Befehl 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 Betriebsmodusbefehls anzuzeigen, erteilen Sie den Befehl, und stellen Sie die Ausgabe an den display xml rpc
Befehl weiter. Das folgende Beispiel zeigt das Junos XML API-Anforderungs-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 gezeigt, zeigt die Option das | display xml rpc
Junos XML-API-Anforderungs-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 show chassis alarms
Betriebsmodus-Befehl ausstellen, konvertiert die CLI den Befehl in das Junos XML API-Anforderungs-Tag <get-alarm-information>
und sendet die XML-Anforderung zur Verarbeitung an die Junos OS-Infrastruktur. Junos OS verarbeitet die Anforderung und gibt das <alarm-information>
Antworttag-Element an die CLI zurück. Die CLI konvertiert dann die XML-Ausgabe in die Meldung "Keine Alarme aktuell aktiv", die dem Benutzer angezeigt wird.
Junos OS-Automatisierungsskripte verwenden XML, um mit dem Hostgerät zu kommunizieren. Junos OS bietet XML-formatierte Eingaben für ein Skript. Das Skript verarbeitet die Eingabequellenstruktur und gibt dann die Ausgabe im XML-Format an Junos OS zurück. Der Skripttyp bestimmt das an das Skript gesendete XML-Eingabedokument sowie das Ausgabedokument, das zur Verarbeitung an Junos OS zurückgegeben wird. Commit-Skripteingabe besteht 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 zur Junos OS-Umgebung, und einige Skripte erhalten zusätzliche skriptspezifische Eingaben, die vom Skripttyp abhängig sind.