0

Je veux juste savoir est le langage de modélisation yang spécifique et ne peut être utilisé avec le protocole NetConf, ou peut-il être utilisé pour modéliser des données comme Xml et Json?Yang utilisé comme Xml ou Json?

Merci

+0

Bienvenue dans Stack Overflow! Vous pouvez [visiter le site] (http://stackoverflow.com/tour) en premier et apprendre [Comment poser une bonne question] (http://stackoverflow.com/help/how-to-ask) et créer un [ Exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve). Cela nous permet de vous aider plus facilement. –

Répondre

0

YANG a été initialement conçu pour modéliser des données échangées entre pairs dans une session NETCONF, mais ce n'est plus le seul cas. Il y a maintenant d'autres protocoles qui (vont) l'utiliser, tels que RESTCONF et CoMI.

YANG est un langage de modélisation des données à l'origine conçu pour modéliser configuration et données sur l'état manipulées par le Protocole de configuration réseau (NETCONF), NETCONF appels de procédure à distance, et NETCONF notifications [RFC6241]. Depuis la publication de YANG version 1 [RFC6020], YANG a été utilisé ou proposé pour être utilisé pour d'autres protocoles (par exemple, RESTCONF [RESTCONF] et l'interface de gestion de protocole (CoMI) CoPI (CoAP) Contraint Application) . En outre, des codages autres que XML ont été proposés (par exemple, JSON [RFC7951]).

RFC7950, Section 1

En fait, la nouvelle version récente de spécification YANG (1.1) a fait un mouvement vers le découplage de son codage du modèle. À l'avenir, nous verrons probablement des documents d'encodage XML et JSON séparés (plus peut-être d'autres) et un document unique traitant uniquement des spécificités linguistiques.

Vous pouvez utiliser YANG pour modéliser des données à d'autres fins plus générales si vous ignorez les déclarations comme rpc, action, notification, config, etc. Celles qui ne sont pertinentes que dans des contextes spécifiques. Bien sûr, vous devrez définir le contexte dans lequel vous souhaitez utiliser le modèle et ce que cela signifie pour vous. Certains modélisateurs utilisent l'instruction extension pour définir de telles exigences, puis implémentent un compilateur YANG spécialisé qui reconnaît les extensions et agit en conséquence. Cela vous permet d'utiliser le langage pour des choses qui n'étaient pas initialement prévues par les auteurs.

Il existe certaines définitions dans la spécification qui pourraient rendre plus difficile de faire de YANG un langage de modélisation à usage général (comme ce qu'est le schéma XML pour XML). Des concepts tels que configuration datastore, configuration data, state data, client, server, etc. sont très spécifiques. Vous pouvez toujours fermer les yeux sur ceux-ci et juste le faire fonctionner pour vous, cependant. Je crois que c'est comme cela que cela a déjà été fait dans le projet OpenDaylight.

+0

merci, mais j'ai encore quelques confusions, yang est utilisé pour définir uniquement un schéma de données qui sera instancié par un autre langage comme XML, JSON. ou peut-il faire les deux (définir le schéma, et instancier ou écrire les données réelles en conformité avec ce schéma)? – Mheni

+0

@ M'heniMerzouki, YANG est un langage de définition de schéma. Il décrit les règles que les documents d'instance (datastores, payloads) doivent suivre pour que ce dernier soit reconnu comme valide. Il peut être utilisé pour valider un document d'instance directement, à condition de disposer des outils nécessaires pour le faire. Les documents d'instance sont codés en XML ou JSON, donc YANG peut être utilisé pour vérifier la validité de XML ou JSON directement (pas besoin de générer un schéma intermédiaire, bien que certains outils le fassent pour tirer parti des technologies existantes). – predi

+1

À ce jour, YANG valide [XML] (https://tools.ietf.org/html/rfc7950#section-1) et [JSON] (https://tools.ietf.org/html/rfc7951#section -1). –