SlideShare una empresa de Scribd logo
1 de 17
NETCONF & YANG
M. ANTITENE
Laboratoire Informatique Paris VI (LIP6)
Motivations
 Un protocole pour le management du réseau
 Séparer entre un état de configuration et un état opérationnel
 Assurer la persistance des configurations
 Notifications, dump and restore
Configuration Management Protocol
 SNMP
Largement utilisé, monitoring
Complexité de la gestion des configurations
 NETCONF
XML-based encoding protocol
Mécanisme RPC
Sécurisé (SSH, SSL …)
Utilise un modèle pour structurer les données (YANG)
Configuration Management Protocol
Description SNMP NETCONF
Config vs operationnel state - +
Multiple Configs - +
Persistance of config state ° +
Configs change & Notification Events - +
Config dump & restore - +
Support of standard tools - +
NETCONF
 Protocole en couches
Couches Exemple
Content
Operations
RPC
Transport Protocol
Configuration Data
<get-config>, <edit-
config>
<rpc>, <rpc-reply>
BEEP, SSH, SSL,
console
NETCONF Transport
 Messages encodé en XML
 Messages crypté en SSH
Netconf over SSH, SOAP, BEEP
Authentification, intégrité et confidentialité
 Orienté connexion TCP
Plusieurs ports TCP sont définit : 830, 831, 832, 833, 6513 / tcp
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.0</capability>
</capabilities>
</hello>]]>]]>
NETCONF RPC Model
 Les méthodes RPC sont insérées dans le corps d’un message XML
 RPC Elements:
<rpc message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<some-method>
<!-- method parameters here... -->
</some-method>
</rpc>
<rpr-reply>
<rpc-reply message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0«
xmlns:ex="http://example.net/content/1.0" ex:user-id="fred">
<data>
<!-- contents here... -->
</data>
</rpc-reply>
<rpr-error>
<rpc-reply
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<rpc-error>
<error-type>rpc</error-type>
<error-tag>missing-attribute</error-tag>
<error-severity>error</error-severity>
<error-info>
<bad-attribute>message-id</bad-attribute>
<bad-element>rpc</bad-element>
</error-info>
</rpc-error>
</rpc-reply>
<ok Element>
<rpc-reply message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<ok/>
</rpc-reply>
NETCONF Configuration Data Store
 Etats du système
 Définit par des Capabilities
:running, :startup, :candidate, :writable-running
Informe sur les capacités supportées par la database
Startup
Running
Candidate
NETCONF Configuration Data Store
 <running/>
Représente l’état active des configurations actuelles
Permet à cette base de donnée d’être directement modifée
Contient les informations sur l’état de l’équipement
 <candidate/>
Regroupe les configurations à appliquer après qu’elle soient validé par le serveur
Les changements fait sur cette BDD ne s’applique pas immédiatement
Utilisation d’opérations: <lock>, <commit> pour validation
 <Startup/>
Représente les Configs à appliquer lors du prochain redémarrage
Opération <copy-config> pour copier la dernière sauvegarde de config
NETCONF Base Operations
Opérations Description
get Récupérer les infos de configs à partir de la running database ou des
statistiques
get-config Récupérer les infos de configs à partir de la running database
edit-config Modifier les configurations dans la database
copy-config Copier les configurations
delete-config Supprimer les configurations
commit Commit du contenu de la config de <candidate/> ver <running/>
database
lock Bloquer l’écriture sur la database par d’autres sessions
unlock Débloquer l’écriture sur la database par d’autres sessions
validate Valider tout le contenu de la database
close-session Fermer la session active
kill-session Fermer d’autres sessions
NETCONF Base Operations
 Before Editing: Quelle database utilisé ?
 Options de sauvegarde
if ':candidate' capability supported:
target = <candidate/>
else if ':writable-running' capability supported:
target = <running/>
else if ':url' capability supported:
target = <url>file://path/to/file</url>
else:
target = None # Server is non-complaint
if ':startup' capability supported:
save_fn = <copy-config>
<target><startup/></target>
<source><running/></source>
</copy-config>
Else
save_fn = None # automatic NV-update
Candidate Configuration Example
<rpc message-id="101"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<lock>
<target><running/></target>
</lock>
</rpc>
# server returns <ok/> status
<rpc message-id="102"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<lock>
<target><candidate/></target>
</lock>
</rpc> # server returns <ok/> status
<rpc message-id="103"
xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target><candidate/></target>
<default-operation>none</default-operation>
<test-option>test-then-set</test-option>
<config>
<interface xmlns= " urn:ietf:params:xml:ns:yang:ietf-interfaces "
<name>eth1</name>
<ipv4-address>192.168.1.3</ipv4-address>
<macaddr>ab:cd:ef:gh:ij:kl</macaddr>
</config>
</edit-config>
</rpc> # server returns <ok/> status
#Commit then Unlock Candidate and Running DataBase
L’ensemble des RPC à exécuter:
1. lock <running/> database
2. lock <candidate/> database
3. edit <candidate/> database
4. commit <candidate/> database
5. unlock <candidate/> database
6. unlock <running/> database
NETCONF Base Operations
YANG
 Langage pour la modélisation des données
 Utilisé par NETCONF (couche content)
• Configuration data
• State data
 Description hiérarchique des données
 Interaction entre les modules et sous-modules
• Include
• import
Module 1
Submodule A
Module 2
Submodule ZSubmodule YSubmodule X
Include
import
Modules & Submodules
Header Information
Imports & Includes
Type definition
Config, operational data declaration
RPC, notification declaration
YANG Module Content
Data Modeling
 Data nodes:
 leaf, leaf-list, container, list
 Yang data types :
 Base types : Int8/16/32/64, uint8/6/32/64, string, enumeration, boolean …
 Derived types (typedef), reusable nodes (grouping) …
container system {
list user {
key name;
leaf name {
type string;
}
leaf uid {
type uint32;
}
leaf full-name {
tyoe string;
}
leaf hostname{
type string;
mandatory true;
config true;
}
user
name uid full-name
hostname
system
YANG module example
module acme-system {
namespace "http://acme.example.com/system";
prefix "acme";
organization "ACME Inc.";
contact "joe@acme.example.com";
description
"The module for entities implementing the ACME system.";
revision 2007-11-05 {
description "Initial revision.";
}
container system {
leaf host-name {
type string;
description "Hostname for this system";
}
leaf-list domain-search {
type string;
description "List of domain names to search";
}
list interface {
key "name";
description "List of interfaces in the system";
leaf name {
type string;
}
leaf type {
type string;
}
leaf mtu {
type int32;
}
}
}
}
Netconf et Yang

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
Automate Oracle database patches and upgrades using Fleet Provisioning and Pa...
 
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
The Forefront of the Development for NVDIMM on Linux Kernel (Linux Plumbers c...
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
 
VMware Integrated OpenStack
VMware Integrated OpenStackVMware Integrated OpenStack
VMware Integrated OpenStack
 
Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers Course 102: Lecture 25: Devices and Device Drivers
Course 102: Lecture 25: Devices and Device Drivers
 
P4 perforce
P4 perforceP4 perforce
P4 perforce
 
Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph Ceph Day Melbourne - Troubleshooting Ceph
Ceph Day Melbourne - Troubleshooting Ceph
 
The Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitchThe Basic Introduction of Open vSwitch
The Basic Introduction of Open vSwitch
 
Lenovo XClarity and Dell Systems Management
Lenovo XClarity and Dell Systems ManagementLenovo XClarity and Dell Systems Management
Lenovo XClarity and Dell Systems Management
 
ACI Hands-on Lab
ACI Hands-on LabACI Hands-on Lab
ACI Hands-on Lab
 
Advanced Terraform
Advanced TerraformAdvanced Terraform
Advanced Terraform
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
 
How to Avoid the Top 5 NGINX Configuration Mistakes
How to Avoid the Top 5 NGINX Configuration MistakesHow to Avoid the Top 5 NGINX Configuration Mistakes
How to Avoid the Top 5 NGINX Configuration Mistakes
 
Deploying IPv6 on OpenStack
Deploying IPv6 on OpenStackDeploying IPv6 on OpenStack
Deploying IPv6 on OpenStack
 
Ansible 101
Ansible 101Ansible 101
Ansible 101
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
 
Getting Started with Buildroot
Getting Started with BuildrootGetting Started with Buildroot
Getting Started with Buildroot
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
 

Destacado

SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 
NFV : Virtual Network Function Architecture
NFV : Virtual Network Function ArchitectureNFV : Virtual Network Function Architecture
NFV : Virtual Network Function Architecture
sidneel
 

Destacado (20)

Getting started with YANG
Getting started with YANGGetting started with YANG
Getting started with YANG
 
NETCONF YANG tutorial
NETCONF YANG tutorialNETCONF YANG tutorial
NETCONF YANG tutorial
 
Open source policy open daylight and opflex
Open source policy  open daylight and opflexOpen source policy  open daylight and opflex
Open source policy open daylight and opflex
 
Non-Fluff Software Defined Networking, Network Function Virtualization and IoT
Non-Fluff Software Defined Networking, Network Function Virtualization and IoTNon-Fluff Software Defined Networking, Network Function Virtualization and IoT
Non-Fluff Software Defined Networking, Network Function Virtualization and IoT
 
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
 
Open Source and Cloud: Change Through Collaboration
Open Source and Cloud: Change Through CollaborationOpen Source and Cloud: Change Through Collaboration
Open Source and Cloud: Change Through Collaboration
 
Deploying OpenStack with Cisco Networking, Compute and Storage
Deploying OpenStack with Cisco Networking, Compute and StorageDeploying OpenStack with Cisco Networking, Compute and Storage
Deploying OpenStack with Cisco Networking, Compute and Storage
 
Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2
 
Module 3: NETCONF and YANG Concepts
Module 3: NETCONF and YANG ConceptsModule 3: NETCONF and YANG Concepts
Module 3: NETCONF and YANG Concepts
 
Module 2: Why NETCONF and YANG
Module 2: Why NETCONF and YANGModule 2: Why NETCONF and YANG
Module 2: Why NETCONF and YANG
 
Introduction to SDN and NFV
Introduction to SDN and NFVIntroduction to SDN and NFV
Introduction to SDN and NFV
 
Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 
NFV management and orchestration framework architecture
NFV management and orchestration framework architectureNFV management and orchestration framework architecture
NFV management and orchestration framework architecture
 
NFV for beginners
NFV for beginnersNFV for beginners
NFV for beginners
 
SDN and NFV: Friends or Enemies
SDN and NFV: Friends or EnemiesSDN and NFV: Friends or Enemies
SDN and NFV: Friends or Enemies
 
Agile OpenStack Networking with Cisco Solutions
Agile OpenStack Networking with Cisco SolutionsAgile OpenStack Networking with Cisco Solutions
Agile OpenStack Networking with Cisco Solutions
 
NFV : Virtual Network Function Architecture
NFV : Virtual Network Function ArchitectureNFV : Virtual Network Function Architecture
NFV : Virtual Network Function Architecture
 
Introduction to SDN and NFV
Introduction to SDN and NFVIntroduction to SDN and NFV
Introduction to SDN and NFV
 
SDN & NFV Introduction (SDN NFV Day ITB 2016)
SDN & NFV Introduction (SDN NFV Day ITB 2016)SDN & NFV Introduction (SDN NFV Day ITB 2016)
SDN & NFV Introduction (SDN NFV Day ITB 2016)
 

Similar a Netconf et Yang

RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER
 
Spark Streaming
Spark StreamingSpark Streaming
Spark Streaming
PALO IT
 
laboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptlaboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .ppt
profsn
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
Patrick Guimonet
 

Similar a Netconf et Yang (20)

RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
 
Spark Streaming
Spark StreamingSpark Streaming
Spark Streaming
 
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
laboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptlaboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .ppt
 
Composants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationComposants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de Configuration
 
TP2_dhcp_linux-ubuntu-2023.pdf
TP2_dhcp_linux-ubuntu-2023.pdfTP2_dhcp_linux-ubuntu-2023.pdf
TP2_dhcp_linux-ubuntu-2023.pdf
 
Présentation de ISP 7.1 (ex TSM)
Présentation de ISP 7.1 (ex TSM)Présentation de ISP 7.1 (ex TSM)
Présentation de ISP 7.1 (ex TSM)
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réelles
 
Alphorm.com Formation Palo Alto : Firewall Troubleshooting
Alphorm.com Formation Palo Alto : Firewall TroubleshootingAlphorm.com Formation Palo Alto : Firewall Troubleshooting
Alphorm.com Formation Palo Alto : Firewall Troubleshooting
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...
 
JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)
 
Jdbc
JdbcJdbc
Jdbc
 
1 installation-exchange
1 installation-exchange1 installation-exchange
1 installation-exchange
 
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...
Techdays 2009 - Active Directory Domain Services : bonnes pratiques et princi...
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
Chapitre2-startup.pdf
Chapitre2-startup.pdfChapitre2-startup.pdf
Chapitre2-startup.pdf
 
Les commandes CISCO (routeur)
Les commandes CISCO (routeur)Les commandes CISCO (routeur)
Les commandes CISCO (routeur)
 

Netconf et Yang

  • 1. NETCONF & YANG M. ANTITENE Laboratoire Informatique Paris VI (LIP6)
  • 2. Motivations  Un protocole pour le management du réseau  Séparer entre un état de configuration et un état opérationnel  Assurer la persistance des configurations  Notifications, dump and restore
  • 3. Configuration Management Protocol  SNMP Largement utilisé, monitoring Complexité de la gestion des configurations  NETCONF XML-based encoding protocol Mécanisme RPC Sécurisé (SSH, SSL …) Utilise un modèle pour structurer les données (YANG)
  • 4. Configuration Management Protocol Description SNMP NETCONF Config vs operationnel state - + Multiple Configs - + Persistance of config state ° + Configs change & Notification Events - + Config dump & restore - + Support of standard tools - +
  • 5. NETCONF  Protocole en couches Couches Exemple Content Operations RPC Transport Protocol Configuration Data <get-config>, <edit- config> <rpc>, <rpc-reply> BEEP, SSH, SSL, console
  • 6. NETCONF Transport  Messages encodé en XML  Messages crypté en SSH Netconf over SSH, SOAP, BEEP Authentification, intégrité et confidentialité  Orienté connexion TCP Plusieurs ports TCP sont définit : 830, 831, 832, 833, 6513 / tcp <?xml version="1.0" encoding="UTF-8"?> <hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <capabilities> <capability>urn:ietf:params:netconf:base:1.0</capability> </capabilities> </hello>]]>]]>
  • 7. NETCONF RPC Model  Les méthodes RPC sont insérées dans le corps d’un message XML  RPC Elements: <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <some-method> <!-- method parameters here... --> </some-method> </rpc> <rpr-reply> <rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0« xmlns:ex="http://example.net/content/1.0" ex:user-id="fred"> <data> <!-- contents here... --> </data> </rpc-reply> <rpr-error> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <rpc-error> <error-type>rpc</error-type> <error-tag>missing-attribute</error-tag> <error-severity>error</error-severity> <error-info> <bad-attribute>message-id</bad-attribute> <bad-element>rpc</bad-element> </error-info> </rpc-error> </rpc-reply> <ok Element> <rpc-reply message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <ok/> </rpc-reply>
  • 8. NETCONF Configuration Data Store  Etats du système  Définit par des Capabilities :running, :startup, :candidate, :writable-running Informe sur les capacités supportées par la database Startup Running Candidate
  • 9. NETCONF Configuration Data Store  <running/> Représente l’état active des configurations actuelles Permet à cette base de donnée d’être directement modifée Contient les informations sur l’état de l’équipement  <candidate/> Regroupe les configurations à appliquer après qu’elle soient validé par le serveur Les changements fait sur cette BDD ne s’applique pas immédiatement Utilisation d’opérations: <lock>, <commit> pour validation  <Startup/> Représente les Configs à appliquer lors du prochain redémarrage Opération <copy-config> pour copier la dernière sauvegarde de config
  • 10. NETCONF Base Operations Opérations Description get Récupérer les infos de configs à partir de la running database ou des statistiques get-config Récupérer les infos de configs à partir de la running database edit-config Modifier les configurations dans la database copy-config Copier les configurations delete-config Supprimer les configurations commit Commit du contenu de la config de <candidate/> ver <running/> database lock Bloquer l’écriture sur la database par d’autres sessions unlock Débloquer l’écriture sur la database par d’autres sessions validate Valider tout le contenu de la database close-session Fermer la session active kill-session Fermer d’autres sessions
  • 11. NETCONF Base Operations  Before Editing: Quelle database utilisé ?  Options de sauvegarde if ':candidate' capability supported: target = <candidate/> else if ':writable-running' capability supported: target = <running/> else if ':url' capability supported: target = <url>file://path/to/file</url> else: target = None # Server is non-complaint if ':startup' capability supported: save_fn = <copy-config> <target><startup/></target> <source><running/></source> </copy-config> Else save_fn = None # automatic NV-update
  • 12. Candidate Configuration Example <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <lock> <target><running/></target> </lock> </rpc> # server returns <ok/> status <rpc message-id="102" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <lock> <target><candidate/></target> </lock> </rpc> # server returns <ok/> status <rpc message-id="103" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <edit-config> <target><candidate/></target> <default-operation>none</default-operation> <test-option>test-then-set</test-option> <config> <interface xmlns= " urn:ietf:params:xml:ns:yang:ietf-interfaces " <name>eth1</name> <ipv4-address>192.168.1.3</ipv4-address> <macaddr>ab:cd:ef:gh:ij:kl</macaddr> </config> </edit-config> </rpc> # server returns <ok/> status #Commit then Unlock Candidate and Running DataBase L’ensemble des RPC à exécuter: 1. lock <running/> database 2. lock <candidate/> database 3. edit <candidate/> database 4. commit <candidate/> database 5. unlock <candidate/> database 6. unlock <running/> database NETCONF Base Operations
  • 13. YANG  Langage pour la modélisation des données  Utilisé par NETCONF (couche content) • Configuration data • State data  Description hiérarchique des données  Interaction entre les modules et sous-modules • Include • import Module 1 Submodule A Module 2 Submodule ZSubmodule YSubmodule X Include import
  • 14. Modules & Submodules Header Information Imports & Includes Type definition Config, operational data declaration RPC, notification declaration YANG Module Content
  • 15. Data Modeling  Data nodes:  leaf, leaf-list, container, list  Yang data types :  Base types : Int8/16/32/64, uint8/6/32/64, string, enumeration, boolean …  Derived types (typedef), reusable nodes (grouping) … container system { list user { key name; leaf name { type string; } leaf uid { type uint32; } leaf full-name { tyoe string; } leaf hostname{ type string; mandatory true; config true; } user name uid full-name hostname system
  • 16. YANG module example module acme-system { namespace "http://acme.example.com/system"; prefix "acme"; organization "ACME Inc."; contact "joe@acme.example.com"; description "The module for entities implementing the ACME system."; revision 2007-11-05 { description "Initial revision."; } container system { leaf host-name { type string; description "Hostname for this system"; } leaf-list domain-search { type string; description "List of domain names to search"; } list interface { key "name"; description "List of interfaces in the system"; leaf name { type string; } leaf type { type string; } leaf mtu { type int32; } } } }