Yang-Kenntnisse zu Geräten, auf denen Junos OS
YANG ist eine standardbasierte, erweiterbare Datenmodellierungssprache, mit der Konfigurations- und Betriebszustandsdaten, Remote-Prozeduraufrufe (RPCs) und Server-Ereignisbenachrichtigungen von Netzwerkgeräten modelliert werden. Die NETMOD-Arbeitsgruppe im IETF ursprünglich YANG entwickelt, um Netzwerkmanagementdaten zu modellieren und einen Standard für die Inhaltsebene des NETCONF-Modells (Network Configuration Protocol) zu liefern. Yang ist jedoch protokollunabhängig, und die YANG-Datenmodelle können unabhängig vom Transport- oder RPC-Protokoll verwendet werden und können in jedes vom Netzwerkkonfigurationsprotokoll unterstützte Kodierungsformat umgewandelt werden.
Juniper Networks bietet YANG-Module, die die Konfigurationshierarchie Junos OS Betriebsbefehle und Yang-Erweiterungen Junos OS definieren. Sie können die YANG-Module von der Juniper Networks-Website oder dem Juniper Networks GitHub-Repository für YANG herunterladen oder die Module auf dem Gerät generieren, auf dem Junos OS.
YANG verwendet eine C-ähnliche Syntax, eine hierarchische Organisation von Daten und bietet eine Reihe integrierter Typen sowie die Möglichkeit, abgeleitete Arten zu definieren. Yang ermöglicht eine verständliche, modulare und flexible Lösung, die durch die Verwendung von Modulen und Submodulen sowie wiederverwendbaren Typen und Node-Gruppen ermöglicht wird.
Ein YANG-Modul definiert ein einzelnes Datenmodell und bestimmt die Kodierung für diese Daten. Ein YANG-Modul definiert ein Datenmodell durch seine Daten und die hierarchische Organisation und Einschränkungen für diese Daten. Ein Modul kann eine vollständige, eigenständige Einheit sein oder es kann sich auf Definitionen in anderen Modulen und Submodulen verweisen und andere Datenmodelle um zusätzliche Knoten ergänzen.
Ein YANG-Modul definiert nicht nur die Syntax, sondern auch das Semantik der Daten. Dabei werden die Beziehungen zwischen und die Beschränkungen für die Daten explizit definiert. Auf diese Weise können Sie syntactistisch korrekte Konfigurationsdaten erstellen, die Einschränkungensanforderungen entsprechen, und sie ermöglichen es Ihnen, die Daten anhand des Modells zu validieren, bevor Sie sie hochladen und auf einem Gerät commiting.
YANG verwendet Module zur Definition von Konfigurations- und Statusdaten, Benachrichtigungen und RPCs für den Netzwerkbetrieb auf eine Ähnliche Weise wie die Struktur der Verwaltungsinformationen (Structure of Management Information, SMI) zur Modellierung von Daten für SNMP-Vorgänge. Yang hat jedoch den Vorteil, zwischen Betriebs- und Konfigurationsdaten unterscheiden zu können. YANG hält die Kompatibilität mit SNMP SMI Version 2 (SMIv2) aufrecht, und Sie können libsmi verwenden, um SMIv2 MIB-Module in YANG-Module zu übersetzen und umgekehrt. Wenn Sie einen YANG-Parser nicht verwenden können, können Sie YANG-Module außerdem in YANG Independent Notation (YANG Independent Notation, YANGN) übersetzen. Dabei handelt es sich um eine äquivalente XML-Syntax, die für XML-Parser und XSLT-Skripts gelesen werden kann.
Sie können bestehende YANG-basierte Tools verwenden oder eigene Netzwerkmanagement-Anwendungen entwickeln, um YANG-Module für eine schnellere und präzisere Netzwerkprogrammierbarkeit zu nutzen. Beispielsweise könnte eine Client-Anwendung YANG-Module nutzen, um anbieterspezifische Konfigurationsdaten für verschiedene Geräte zu generieren und diese Daten zu validieren, bevor sie auf das Gerät hochgeladen werden. Die Anwendung kann auch unerwartete RPC-Antworten und -Fehler verarbeiten und beheben.
Informationen zu YANG finden Sie in RFC 6020, YANG – A Data Modeling Language for the Network Configuration Protocol (NETCONF)und entsprechende RFCs.