Date de publication du RFC : Septembre 2021
Auteur(s) du RFC : L. Lhotka (CZ.NIC), P. Spacek (ISC)
Chemin des normes
Réalisé dans le cadre du groupe de travail IETF dnsop
Première rédaction de cet article le 9 septembre 2021
YANG est le langage standard à
l'IETF
pour décrire des modèles de données, afin de, par exemple, gérer
automatiquement des ressources. Ce RFC décrit le module YANG
iana-dns-class-rr-type
, qui rassemble les
définitions des types d'enregistrements DNS.
YANG est normalisé dans le RFC 7950, et d'innombrables RFC décrivent des modules YANG pour de nombreux protocoles. YANG est utilisé par des protocoles de gestion à distance de ressources, comme RESTCONF (RFC 8040) ou NETCONF (RFC 6241). Mais ce RFC est le premier qui va utiliser YANG pour le DNS. L'un des objectifs (à long terme pour l'instant) est d'utiliser RESTCONF ou un équivalent pour gérer des serveurs DNS, résolveurs ou serveurs faisant autorité. (C'est un très vieux projet que cette gestion automatisée et normalisée des serveurs DNS.) Un mécanisme standard de gestion des serveurs nécessite un modèle de données commun, et c'est là que YANG est utile. Notre RFC est encore loin d'un modèle complet, il ne définit que le socle, le type des données que le DNS manipule. C'est la version YANG de deux registres IANA, celui des types d'enregistrements DNS et celui des classes (même si ce dernier concept est bien abandonné aujourd'hui).
Le registre IANA pour le DNS contient treize sous-registres. Le RFC n'en passe que deux en YANG, les classes et les types d'enregistrement. Les autres devront attendre un autre RFC. Les types d'enregistrement sont modélisés ainsi :
typedef rr-type-name { type enumeration { enum A { value 1; description "a host address"; reference "RFC 1035"; } enum NS { value 2; description "an authoritative name server"; ...
Et les classes (mais, rappelez-vous, seule la classe
IN
compte aujourd'hui) :
typedef dns-class-name { type enumeration { enum IN { value 1; description "Internet (IN)"; reference "RFC 1035"; } enum CH { value 3; description "Chaos (CH)"; reference "D. Moon, 'Chaosnet', A.I. Memo 628, Massachusetts Institute of Technology Artificial Intelligence Laboratory, June 1981."; } ...
Le module YANG complet se retrouve dans le registre IANA (créé par le RFC 6020).
Le module YANG devra suivre l'actuel registre IANA, qui utilise un autre format. Pour faciliter la synchronisation, le RFC contient une feuille de style XSLT pour convertir l'actuel format, qui est la référence, vers le format YANG. La feuille de style est dans l'annexe A du RFC mais vous avez une copie ici. Voici comment produire et vérifier le module YANG :
% wget https://www.iana.org/assignments/dns-parameters/dns-parameters.xml % xsltproc iana-dns-class-rr-type.xsl dns-parameters.xml > iana-dns-class-rr-type.yang % pyang iana-dns-class-rr-type.yang
Le moteur XSLT xsltproc fait partie de la
libxslt. Le vérificateur YANG Pyang
est distribué via
GitHub mais on peut aussi l'installer avec pip (pip
install pyang
).
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)