Netconf est un protocole de configuration de
matériel réseau (typiquement des routeurs ou des commutateurs). Ce RFC est la nouvelle version
publiée par le groupe de travail IETF
sur Netconf. (La precédente était le .)
Si on doit gérer un seul routeur, le faire à la main est
raisonnable. Mais, si on doit en gérer des dizaines ou des centaines,
cela devient impossible sans automatisation. Il existe depuis
longtemps de nombreux outils pour gérer un grand nombre d'équipements
réseaux, Rancid
étant le plus connu. (L'excellent article de Joe Abley, Managing IP Networks
with Free Software en donne un bon aperçu. Le rend compte d'un atelier de l'IAB qui a discuté de ces questions en 2002.) Netconf
vise à rendre l'écriture de ces outils plus simple.
Netconf spécifie donc un protocole de RPC
permettant à un gérant (manager) de modifier la
configuration de l'équipement (device) en lui
envoyant du XML.
Le contenu exact de ce document XML n'est pas entièrement spécifié
par Netconf car il dépend de l'équipement configuré (la section 1.2 de
notre RFC explique ce point). Un langage de description des modèles, Yang (), existe pour décrire les possibilités.
Extrait du RFC, voici un exemple (hypothétique) où on fixe à 1500
octets la
MTU de l'interface réseau
eth0 :
eth01500
]]>
Il est difficile de ne pas penser à l'acronyme
NIH en lisant ce RFC. Netconf définit un
protocole de RPC alors qu'il existe déjà
SOAP et XML-RPC, Netconf
définit en section 6, un mécanisme d'extraction de sous-arbres XML
alors que XPath existe déjà...
Quels sont les changements depuis le RFC
original ? L'annexe F les résume. Pas de grand changement, des bogues
signalées contre le et quelques
ajouts : un malformed-message ajouté aux messages
d'erreur possibles, une option remove ajoutée aux
opérations possibles, l'ajout de la notion de « nom d'utilisateur »,
le schéma XSD de modélisation des opérations remplacé par un module
YANG, etc.
À noter qu'un Wiki, , fournit plein
d'informations sur Netconf, notamment sur les mises en œuvre
existantes du protocole, dont certaines en logiciel libre. Parmi les
autres, les routeurs Juniper peuvent déjà être
configurés avec Netconf (et une bibliothèque
Java est fournie). Ça marche aussi sur
un Cisco.
NOtez qu'il existe aussi une variante REST,
RESTCONF, normalisée dans le .