Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Présentation des modules YANG

Les modèles de données YANG comprennent des modules et des sous-modules et peuvent définir les données de configuration et d’état, les notifications et les RPC pour les clients yang. Un module YANG définit un modèle de données à travers ses données, ainsi que l’organisation hiérarchique et les contraintes sur ces données. Chaque module est identifié de manière unique par un URI d’espace de noms.

Un module définit un modèle de données unique. Toutefois, un module peut référencer des définitions dans d’autres modules et sous-modules en utilisant l’instruction import pour importer des modules externes ou l’instruction include pour inclure un ou plusieurs sous-modules. En outre, un module peut compléter un autre modèle de données en utilisant l’instruction augment pour définir l’emplacement des nouveaux nœuds dans la hiérarchie du modèle de données et l’instruction when pour définir les conditions dans lesquelles les nouveaux nœuds sont valides. Un module utilise l’instruction feature pour spécifier des parties d’un module qui sont conditionnelles et l’instruction deviation pour spécifier où l’implémentation de l’équipement peut s’écarter de la définition initiale.

Lorsque vous importez un module externe, vous définissez un préfixe utilisé pour référencer les définitions dans le module importé. Nous vous recommandons d’utiliser le même préfixe que celui défini dans le module importé pour éviter les conflits.

YANG modélise les données à l’aide d’une structure hiérarchique basée sur des arbres avec des nœuds. YANG définit quatre types de nœuds. Chaque nœud a un nom et, selon le type de nœud, il peut soit définir une valeur, soit contenir un ensemble de nœuds enfants. Les types de nœuds sont les suivants :

  • nœud leaf : contient une valeur unique d’un type spécifique

  • nœud leaf-list : contient une séquence de nœuds de branche

  • nœud de conteneur : contient un regroupement de nœuds associés contenant uniquement des nœuds enfants, qui peuvent être l’un des quatre types de nœuds

  • nœud de liste : contient une séquence d’entrées de liste, chacune étant identifiée de manière unique par une ou plusieurs leafs clés

Dans YANG, chaque nœud de branche et de liste de branche inclut l’instruction type permettant d’identifier le type de données valides pour ce nœud. YANG définit un ensemble de types intégrés et fournit également l’énoncé typedef permettant de définir un type dérivé à partir d’un type de base, qui peut être un type intégré ou un autre type dérivé.

Par défaut, un nœud définit les données de configuration. Un nœud définit les données d’état s’il est marqué comme config false. Les données de configuration sont renvoyées à l’aide de l’opération NETCONF <get-config> , et les données d’état sont renvoyées à l’aide de l’opération NETCONF <get> .

Pour plus d’informations sur la syntaxe et la sémantique du langage YANG, voir :

  • RFC 6020, YANG - Langage de modélisation de données pour le protocole NETCONF (Network Configuration Protocol)
  • RFC 7950, Yang 1.1 Data Modeling Language