YANG (Yet Another Next Generation, RFC 7950 für Version 1.1) ist eine Datenmodellierungssprache der IETF. Sie beschreibt strukturiert, welche Konfigurations- und Zustandsdaten ein Netzwerkgerät kennt — die Grundlage für NETCONF und RESTCONF. Ohne YANG wüsste ein Automatisierungsskript nicht, wie eine Schnittstelle oder ein VLAN im Gerät modelliert ist.
Module und Datenbaum
Ein YANG-Modul definiert einen Namespace mit Typen und Knoten. Die wichtigsten Knotenarten sind container (Gruppe), list (Liste von Einträgen, etwa alle Interfaces), leaf (einzelner Wert wie eine IP-Adresse) und leaf-list. Zusammen bilden sie einen hierarchischen Baum, der die Gerätekonfiguration abbildet und für Menschen wie Maschinen lesbar strukturiert.
Typen und Constraints
YANG bringt eingebaute Typen wie string, int32, boolean, enum und ip-address mit, erlaubt aber auch eigene abgeleitete Typen. Über Constraints (mandatory, must, minimale und maximale Elemente) lassen sich Regeln formulieren — etwa dass eine IP-Adresse zu einem Interface gehören muss oder ein Wert in einem erlaubten Bereich liegt. So fallen viele Fehler schon beim Modellieren auf, bevor sie ein Gerät erreichen.
Wozu YANG dient
YANG-Modelle beschreiben Konfiguration, Zustand, RPCs und Benachrichtigungen. Hersteller wie Cisco, Juniper oder Arista liefern ihre eigenen Module, offene Initiativen wie OpenConfig schaffen herstellerneutrale Modelle. Zusammen mit NETCONF und RESTCONF ist YANG der gemeinsame Nenner moderner Netzwerk-Programmierbarkeit, Telemetrie und Netzwerk-Automatisierung.
Verwandte Grundlagen: SDN, SNMP, Netzwerkprotokoll.