Grundlegendes zu Junos YANG-Modulen
Juniper Networks veröffentlicht das Schema für Junos-Geräte mithilfe von YANG-Modellen für die Konfigurations- und Betriebszustandsdaten, Betriebsbefehle und Junos-Erweiterungen. In den folgenden Abschnitten werden die nativen Junos YANG-Module erläutert.
Übersicht über Junos YANG-Module
Juniper Networks stellt YANG-Module bereit, die die Konfigurationshierarchien, Betriebsbefehle und Statusdaten sowie YANG-Erweiterungen und -Typen für Geräte mit Junos OS und Geräte mit Junos OS Evolved definieren. Ab Junos OS Version 17.2 sind die YANG-Module spezifisch für eine Gerätefamilie. Tabelle 1 gibt einen Überblick über die Identifikatoren für die verschiedenen Gerätefamilien und gibt an, welche Plattformen in jeder Produktfamilie enthalten sind. Ab Junos OS Evolved Version 23.4R2 verwenden alle Junos OS Evolved-Plattformen die junos
Gerätefamilienkennung.
Kennung der Gerätefamilie |
Junos OS-Plattformen |
Junos OS Evolved-Plattformen |
---|---|---|
Junos |
ACX-Serie |
ACX-Serie |
Junos-ES |
J-Serie |
– |
Junos-EX |
EX-Serie (bestimmte Plattformen) |
– |
Junos-QFX |
QFX-Serie |
QFX-Serie (23.2 und früher) |
Verschiedene Plattformen innerhalb derselben Serie können unter verschiedenen Gerätefamilien kategorisiert werden. Auf Geräten mit Junos OS Evolved Version 23.4R1 und früher und Geräten mit Junos OS können Sie die Produktfamilie für ein bestimmtes Gerät überprüfen, indem Sie den show system information
Befehl "Betriebsmodus" oder den <get-system-information/>
RPC auf dem Gerät ausführen. Der Wert des Family
Felds in der Befehlsausgabe oder des <os-name>
Elements in der RPC-Antwort gibt die Gerätefamilie an.
Ab Junos OS Version 17.4R1 wird das Konfigurations-YANG-Modul in ein Stammmodul aufgeteilt, das durch mehrere kleinere Module ergänzt wird. Darüber hinaus verwenden die nativen Junos YANG-Module eine neue Namenskonvention für den Namen, den Dateinamen und den Namespace des Moduls. Der Modulname und der Dateiname enthalten die Gerätefamilie und den Bereich der Konfigurations- oder Befehlshierarchie, zu dem das Schema im Modul gehört. Der Dateiname des Moduls enthält auch ein Revisionsdatum. Tabelle 2 fasst die nativen YANG-Module auf Junos-Geräten zusammen und gibt die Version an, in der die verschiedenen Modulnamen verwendet werden.
Module, die keine familienspezifischen Schemas erfordern und die für alle Plattformen gleich sind, verwenden die junos
Gerätefamilie für den Namen, den Dateinamen und den Namespace des Moduls.
Junos YANG-Modul |
Beschreibung |
Name des Moduls |
Auslösungen |
---|---|---|---|
Konfigurationsmodule |
Definieren Sie das Schema für die Junos-Konfigurationshierarchie. Ab Junos OS Version 17.4R1 wird das Konfigurations-YANG-Modul in ein Stammmodul (family-conf-root) aufgeteilt, das durch mehrere kleinere Module ergänzt wird. |
|
14.2 bis 17.3 |
|
17.4R1 und höher |
||
Operative Führungsmodule |
Stellt die Betriebsbefehlshierarchie und die kollektive Gruppe von Modulen dar, die die Remote Procedure Calls (RPCs) für Betriebsmodusbefehle definieren. Für die verschiedenen Bereiche der Befehlshierarchie gibt es separate Module. |
|
16.1 bis 17.3 |
|
17.4R1 und höher |
||
junos-state Zustandsmodule |
Kuratierter Satz von YANG-Modulen für Betriebszustandsdaten. | junos-state-area |
22.2R1 und höher |
|
Definieren Sie YANG-Datenmodelle für den Betriebszustand. Die Modelle machen eine Teilmenge der show-Befehlsdaten über den gNMI-RPC |
|
24.2R1 und höher (Junos OS Evolved) |
DDL-Erweiterungsmodul |
Enthält DDL-Anweisungen (Data Definition Language) für Junos-Geräte. Dieses Modul enthält die Schlüsselwörter und |
|
15.1 bis 17.3 |
|
17.4R1 und höher |
||
ODL-Erweiterungsmodul |
Enthält ODL-Anweisungen (Output Definition Language), mit denen formatierte ASCII-Ausgaben für RPCs, die auf Junos-Geräten ausgeführt werden, erstellt und angepasst werden können. |
|
16.1 bis 17.3 |
|
17.4R1 und höher |
||
Erweiterungsmodul für Metadatenanmerkungen |
Definiert Metadatenanmerkungen für Konfigurationsvorgänge. Anmerkungen sind in RFC 7952, Definieren und Verwenden von Metadaten mit YANG, definiert. |
junos-configuration-metadata |
22.2R1 und höher (Junos OS Evolved) |
Modul "Typen" |
Enthält Definitionen für YANG-Typen. |
|
17.4R1 und höher |
Um YANG-Module für verschiedene Gerätefamilien in verschiedenen Versionen zu unterstützen, sind die heruntergeladenen Module nach Gerätefamilie organisiert, und der Name, der Dateiname und der Namespace jedes Moduls spiegeln die Gerätefamilie wider, zu der das Schema im Modul gehört.
Weitere Informationen zum Abrufen der Module finden Sie unter Herunterladen und Generieren von Junos YANG-Modulen.
Weitere Informationen zu den Modul-Namespaces finden Sie unter Grundlegendes zu Junos YANG-Modul-Namespaces und -Präfixen.
Herunterladen und Generieren von Junos YANG-Modulen
Sie können die YANG-Module Junos OS und Junos OS Evolved wie folgt abrufen:
-
Herunterladen der Module von der Juniper Networks-Website unter https://www.juniper.net/support/downloads
-
Herunterladen der Module aus dem GitHub-Repository von Juniper/yang
-
Generieren der Module auf einem Gerät von Juniper Networks
Ab Junos OS Evolved Version 23.4R1 veröffentlichen wir die nativen Yang-Module von Junos OS Evolved auf der Download-Site von Juniper Networks und auf GitHub. In früheren Versionen mussten Sie die Module auf dem Gerät generieren.
In Junos OS Version 17.1 und früher definieren die YANG-Module für die Junos OS-Konfigurations- und Befehlshierarchien, die auf der Juniper Networks-Website und in GitHub veröffentlicht werden, das Schema für alle Geräte, auf denen diese Junos OS-Version ausgeführt wird. Im Gegensatz dazu definieren die auf dem lokalen Gerät generierten YANG-Module das für dieses Gerät spezifische Schema. Das gerätespezifische Schema umfasst Knoten sowohl aus nativen Modulen als auch aus Standard- oder benutzerdefinierten Modulen, die dem Gerät hinzugefügt wurden.
Ab Junos OS Version 17.2 sind Junos YANG-Module spezifisch für eine Gerätefamilie, und der Namespace jedes Moduls spiegelt die Gerätefamilie wider, zu der das Schema im Modul gehört. Daher enthalten das Downloadpaket und das GitHub-Repository ein separates Verzeichnis für die Module jeder Gerätefamilie und ein gemeinsames Verzeichnis für die Module, die allen Gerätefamilien gemeinsam sind. Jedes familienspezifische Verzeichnis verwendet seine Gerätefamilienkennung als Verzeichnisnamen und enthält die Konfigurations- und Betriebsbefehlsmodule, die auf den Plattformen dieser Familie unterstützt werden. Die Kennungen der Gerätefamilie sind in Tabelle 1 definiert. Die YANG-Module, die auf einem lokalen Gerät mit Junos OS Version 17.2 generiert werden, definieren weiterhin das für dieses Gerät spezifische Schema.
Ab Junos OS Version 17.4R1 enthalten die auf einem lokalen Gerät generierten YANG-Module standardmäßig familienspezifische Schemas, die auf allen Geräten der jeweiligen Gerätefamilie identisch sind. Um gerätespezifische Module zu generieren, konfigurieren Sie die device-specific
Konfigurationsanweisung auf Hierarchieebene [edit system services netconf yang-modules]
.
Tabelle 3 fasst den Umfang des Schemas in den heruntergeladenen und generierten YANG-Modulen für verschiedene Junos OS-Versionen zusammen.
Junos OS-Version |
Umfang des Schemas in heruntergeladenen Modulen |
Geltungsbereich des Schemas in generierten Modulen |
---|---|---|
17.1 und früher |
Alle Geräte |
Gerät |
17.2 bis 17.3 |
Gerätefamilie |
Gerät |
17.4R1 und höher |
Gerätefamilie |
Gerätefamilie |
Ab Junos OS Evolved Version 23.4R1 veröffentlichen wir die Junos OS Evolved YANG-Module auf der Download-Site von Juniper Networks und auf GitHub. In früheren Versionen mussten Sie die Module auf dem Gerät generieren.
Darüber hinaus stellen wir ab Junos OS Version 23.4R1 und Junos OS Evolved Version 23.4R1 alle YANG-Datenmodelle für ein bestimmtes Betriebssystem und eine bestimmte Version in einem einzigen Downloadpaket und GitHub-Repository-Ordner bereit. Der Paket- und Repository-Ordner enthält:
-
Native Konfigurations-, Status- und RPC-Datenmodelle
-
OpenConfig-Konfigurations- und Zustandsmodelle, die von diesem Betriebssystem unterstützt werden
-
IETF-Modelle, die von diesem Betriebssystem unterstützt werden
Weitere Informationen zum Herunterladen oder Generieren der Junos OS YANG-Module finden Sie unter Verwenden der YANG-Module von Juniper Networks.
Grundlegendes zu Junos YANG-Modul-Namespaces und -Präfixen
In Junos OS Version 17.1 und früher verwenden Junos YANG-Module eine eindeutige Kennung, um den Namespace für jedes Modul zu unterscheiden.
namespace "http://yang.juniper.net/yang/1.1/module-id;
Ab Junos OS Version 17.2R1 sind die Junos YANG-Module spezifisch für eine Gerätefamilie. Um unterschiedliche YANG-Module für verschiedene Gerätefamilien in einer bestimmten Version zu unterstützen, verwenden die YANG-Module einen Namespace, der neben der Kennung auch den Modulnamen, die Gerätefamilie und die Junos OS-Versionszeichenfolge enthält. Zum Beispiel:
namespace "http://yang.juniper.net/yang/1.1/module-id/module-name/device-family/release";
Ab Junos OS Version 17.4R1 wird der Namespace vereinfacht und enthält nun die Gerätefamilie, den Modultyp und eine Kennung, die für jedes Modul eindeutig ist und den Namespace des Moduls von dem anderer Module unterscheidet.
namespace "http://yang.juniper.net/device-family/type/identifier";
Die folgenden Definitionen gelten für alle Versionen des Namespaces, in dem diese Variable angezeigt wird:
device-family |
Bezeichner für die Gerätefamilie, zu der das Schema im Modul gehört, Module mit gerätespezifischen Schemas und Module mit familienspezifischen Schemas verwenden beide dieselbe Gerätefamilienkennung im Namespace.
Anmerkung:
Die allgemeinen Module verwenden den |
identifier |
Zeichenfolge, die den Namespace des Moduls von dem anderer Module unterscheidet. Junos-Konfigurations- und -Befehlsmodule enthalten eine Kennung, die den Bereich der Konfigurations- oder Befehlshierarchie angibt, zu dem das Schema im Modul gehört. |
module-id |
Eindeutiger Bezeichner, der für das Modul spezifisch ist, z. B. |
module-name |
Name des YANG-Moduls, das in dieser Datei enthalten ist, |
release |
Junos OS oder Junos OS Evolved-Version, in der das Schema in diesem Modul unterstützt wird. |
type |
Typ des Moduls. Mögliche Werte sind:
|
In Tabelle 4 sind die Namespace-URI und das Präfix (wie in der prefix
Modulanweisung definiert) der einzelnen Module in den verschiedenen Versionen aufgeführt. Ab Junos OS Version 17.2 gibt das Präfix für jedes Betriebsbefehlsmodul den Befehlshierarchiebereich der RPCs an, die in diesem Modul enthalten sind. In ähnlicher Weise spiegelt ab Junos OS Version 17.4R1 das Präfix für jedes Konfigurations-YANG-Modul die Konfigurationsanweisungshierarchie wider, die in diesem Modul enthalten ist. Die Junos YANG-Erweiterungs- und -Typmodule verwenden die junos
Gerätefamilien-ID im Namespace, die Module sind jedoch für alle Gerätefamilien gleich.
YANG-Modul |
Loslassen |
Namespace-URI |
Präfix |
---|---|---|---|
Konfigurationsmodule |
17.1 und früher |
http://yang.juniper.net/yang/1.1/jc |
|
17.2 bis 17.3 |
http://yang.juniper.net/yang/1.1/jc/configuration/device-family/release |
|
|
17.4R1 und höher |
http://yang.juniper.net/device-family/conf/hierarchy |
|
|
Operative Führungsmodule |
17.1 und früher |
http://yang.juniper.net/yang/1.1/jrpc |
|
17.2 bis 17.3 |
http://yang.juniper.net/yang/1.1/jrpc/module-name/device-family/release |
hierarchy |
|
17.4R1 und höher |
http://yang.juniper.net/device-family/rpc/hierarchy |
hierarchy |
|
junos-state Zustandsmodule |
22.2R1 und höher | http://yang.juniper.net/junos/state/state-area |
js-area |
|
24.2R1 und höher |
|
|
DDL-Erweiterungsmodul |
17.1 und früher |
http://yang.juniper.net/yang/1.1/je/ |
|
17.2 und höher |
http://yang.juniper.net/yang/1.1/je/junos-extension/junos/release |
|
|
17.4R1 und höher |
http://yang.juniper.net/junos/common/ddl-extensions |
|
|
ODL-Erweiterungsmodul |
17.1 und früher |
http://yang.juniper.net/yang/1.1/jodl |
|
17.2 bis 17.3 |
http://yang.juniper.net/yang/1.1/jodl/junos-extension-odl/junos/release |
|
|
17.4R1 und höher |
http://yang.juniper.net/junos/common/odl-extensions |
|
|
Erweiterungsmodul für Metadatenanmerkungen |
22.2R1 und höher |
http://yang.juniper.net/junos/jcmd |
jcmd |
Modul "Typen" |
17.4R1 und höher |
http://yang.juniper.net/junos/common/types |
|
Ab Junos OS Version 17.2 legt der Server den Standardnamespace für das <configuration>
Element auf denselben Namespace wie im entsprechenden YANG-Modell fest, wenn Sie die rfc-compliant
Anweisung auf Hierarchieebene [edit system services netconf]
konfigurieren und Konfigurationsdaten in einer NETCONF-Sitzung anfordern. Zum Beispiel:
<rpc> <get-config> <source> <running/> </source> </get-config> </rpc> ]]>]]> <nc:rpc-reply xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/17.2R1/junos"> <nc:data> <configuration xmlns="http://yang.juniper.net/yang/1.1/jc/configuration/junos/17.2R1.13" junos:commit-seconds="1493761452" junos:commit-localtime="2017-05-02 14:44:12 PDT" junos:commit-user="user"> ... </configuration> </nc:data> </nc:rpc-reply> ]]>]]>
Tabelle "Änderungshistorie"
Die Funktionsunterstützung hängt von der Plattform und der Version ab, die Sie verwenden. Verwenden Sie den Feature-Explorer , um festzustellen, ob ein Feature auf Ihrer Plattform unterstützt wird.
junos
Gerätefamilienkennung anstelle von
junos-qfx
.
junos:command
mit Erweiterungen ausgegeben werden.