SlideShare a Scribd company logo
1 of 21
A 30-minute Introduction to NETCONF and YANG

Carl Moberg <calle@tail-f.com>
twitter: @cmoberg
Last updated 2011-11-18
Document Introduction

• This is a live documentation that I use to present the state
  of NETCONF and YANG in various contexts
• I use it to inform and get conversation going, not to provide
  complete and final documentation of NETCONF and YANG
• I update this document roughly quarterly, mostly with
  regards to industry support and working group
  timelines, check back or get in touch!




                                                                  2
Some Background

• NETCONF is an IETF configuration management protocol
  and YANG is its data modeling language
• In response to SNMP/SMI shortcomings for managing
  configuration e.g.:
   – Lack of support for simple things like backup-and-restore of element
     configuration
   – No concept of transactions (single- or multibox)
   – Many inherent limitations in SMI (e.g. label length)
• Lots of background text in RFC 3535 Overview of the 2002
  IAB Network Management Workshop



                                                                        3
NETCONF and YANG Brief Timeline


NETCONF                       YANG
• 2001                        • 2007
  IETF Meeting with poll of     YANG design team proposal
  SNMP SET usage
                              • Apr 2008
• June 2002
                                NETMOD WG established
  IAB Network Mgmt Workshop
                              • Oct 2010
• May 2003
                                YANG RFC 6020 published
  NETCONF WG established
• Dec 2006
  NETCONF core RFCs
  published



                                                            4
So What is NETCONF?

• NETCONF is an IETF network management protocol
  designed to support management of
  configuration, including:
  –   Distinction between configuration and state data
  –   Multiple configuration data stores (candidate, running, startup)
  –   Configuration change validations
  –   Configuration change transactions
  –   Selective data retrieval with filtering
  –   Streaming and playback of event notifications
  –   Extensible remote procedure call mechanism




                                                                         5
Ok, So What is YANG

• YANG is a data modeling language designed to write data
  models for the NETCONF protocol. It provides the following
  features:
   –   Human readable, and easy to learn representation
   –   Hierarchical configuration data models
   –   Reusable types and groupings (structured types)
   –   Extensibility through augmentation mechanisms
   –   Supports definition of operations (RPCs)
   –   Formal constraints for configuration validation
   –   Data modularity through modules and sub-modules
   –   Well defined versioning rules



                                                               6
NETCONF Layering Model


         Layer                NETCONF

        Content            Configuration Data


       Operations   <get> <get-config>   <notification>


                         <rpc>
          RPC
                      <rpc-reply>

        Transport
                         SSH, SSL, BEEP, etc
        Protocol


                                                          7
Basic NETCONF Operations

• Get configuration <get-config>
   – Retrieve all or part of a specified configuration from a named data store
• Get all information <get>
   – Retrieve running configuration and device state information
• Edit configuration <edit-config>
   – Loads all or part of a specified configuration to the specified target
     configuration
• Copy configuration <copy-config>
   – Create or replace an entire configuration datastore with the contents of
     another complete configuration datastore.
• Delete configuration <delete-config>
   – Delete a configuration datastore (not applicable to running)
• Lock and unlock <lock>, <unlock>
   – Short-lived lock and unlock of the configuration system of a device
• Close and kill session <close-session>, <kill-session>
   – Graceful (close) or forced (kill) termination of a NETCONF session
                                                                                8
YANG Feature Highlights

• YANG definitions directly map to NETCONF (XML) content
• YANG uses a compact C and Java-like syntax with
  readability is highest priority
• Data type system leverages work done for next-generation
  SNMP type system accommodating XML and XSD
  requirements
• YANG can be formally translated to DSDL
  (RelaxNG, Schematron and DSRL) as described in RFC
  6110
• There is also an informal translation to W3C XML Schema
  in the pyang tool

                                                             9
YANG Feature Highlights (cont’d)

• Organization
   – Leaf, leaf-list, container, lists, grouping, choice
• Data model structure
   – Module, submodule, augment, if-feature, when
• Constraints
   – Must, unique, min-elements, max-elements, mandatory
• Data types
   – Many built-in types, sub-typing, restrictions
• Reusable groupings
   – Grouping, uses



                                                           10
YANG 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”;
       }

                                                        11
YANG Example (cont’d)


        list interface {
            key "name";
            description "List of interfaces in the system”;
            leaf name {
                type string;
            }
            leaf type {
                type string;
            }
            leaf mtu {
                type int32;
            }
        }
    }
}



                                                              12
Known NETCONF Vendor Implementations

  – Alaxala                                  – Juniper Networks
      • Ethernet switches                           • JUNOS 7.5 and later
  – BATM/Telco Systems                       – Nexor
      • T-Metro 7224                                • Messaging Gateways
  – BigBand                                  – RuggedCom
      • MSP2800                                     • RX5000 and MX5000
  – Brocade                                  – Sonus
      • NetIron XMR, CES, and CER                   • NBS5200 Session Border Controller
      • MLX Series                           – Taseon
      • VDX (Announced, not released)               • TN 320
  – Cisco                                    – Verivue
      • IOS 12.4(9)T and later                      • MDX 9020
      • IOS XE 2.1 and later
  – Edgeware
      • WTV-2X
  – Ericsson
      • SEA 20                           Entries in italics is new in this version of the
  – H3C                                  presentation
      • S9500E Series Routing Switches
                                         Please Note that this list is work in
  – Huawei
      • AR3200/2200 Enterprise Routers
                                         progress and feedback on accuracy and
                                         completeness is strongly encouraged
                                                                                            13
Available NETCONF Implementations

Commercial Products                 Open Source Projects
  – Applied Informatics
     • POCO NETCONF (server)           – Ncclient (client)
  – Centered Logic                     – NetconfX (client)
     • NetconfX (client)
                                       – Netconf4Android
  – Oracle/GoAhead
     • NETCONF MindAgent (server)        (client)
  – SNMP Research                      – netconf4j (client)
     • EPIC NETCONF (server)
                                       – netopeer (client/server)
  – Tail-f Systems
     • ConfD (server)                  – YencaP (client/server)
     • NCS (client)
                                       – Yuma (client/server)
  – Velankani
     • NOCVue ConfigMan
                                    Please Note that this list is work in
  – WebNMS
                                    progress and feedback on accuracy and
     • WebNMS Framework (client)    completeness is strongly encouraged
                                                                            14
Available YANG Implementations

• Commercial Products       • Open Source Projects
  –   MG Soft Corporation      –   jYang
  –   Oracle/GoAhead           –   libsmi
  –   SNMP Research            –   Pyang
  –   Tail-f Systems           –   yang-mode for Emacs
                               –   Yuma




                            Please Note that this list is work in
                            progress and feedback on accuracy and
                            completeness is strongly encouraged
                                                                    15
Standards Organizations Activities

• IETF

                                               – YANG models for Service
  – NETCONF working group                        OAM PM and FM
    focusing on:                               – To be published
      • Access Control
      • System Notifications
  – NETMOD (YANG) working
    group currently focusing on:               – YANG module for CCAP: next
      • Interfaces, routing and system           generation cable head-end systems
        data modules                           – Part of the Converged Cable
      • SMIv2-to-YANG translation                Access Platform Support
  – Always updated:                              System Interface Specification
      • http://tools.ietf.org/wg/netconf/
      • http://tools.ietf.org/wg/netconf/


                                            Please Note that this list is work in
                                            progress and feedback on accuracy and
                                            completeness is strongly encouraged
                                                                                    16
Further Reading

• IETF NETMOD and NETCONF WG pages:
   – http://trac.tools.ietf.org/wg/netconf/trac/wiki
   – http://trac.tools.ietf.org/wg/netmod/trac/wiki
• NETCONF Central
   – http://www.netconfcentral.org/
• YANG Central
   – http://www.yang-central.org/twiki/bin/view/Main/WebHome
• Instant YANG – an Introduction
   – http://www.tail-f.com/instant-yang-primer
• The NETCONF and YANG Users LinkedIn Group
   – http://www.linkedin.com/groups/NETCONF-YANG-Users-3301774


                                                                 17
18
Backup Slides




                19
Why not use XSD?

• XSD defines the syntax of XML instance documents,
• YANG defines the semantics of a configuration data model
  and the syntax of XML

• For more in-depth reading:
   – Why we need a NETCONF-Specific Modeling Language (draft-
     lengyel-why-yang-00.txt)
   – Comparing Approaches to NETCONF Modeling (CANMOD) BOF
     (http://tools.ietf.org/agenda/71/canmod.html)




                                                                20
A Layered Comparison

                  SNMP   NETCONF   SOAP
Data models       MIBs   Modules

Data Modeling     SMI     YANG
Language
Management        SNMP   NETCONF
Operations
RPC Protocol      BER      XML     XML

Transport Stack   UDP      SSH      SSL
                          BEEP     HTTP
                          SOAP     TCP
                           TLS


                                          21

More Related Content

What's hot

netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basicGyewan An
 
Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNCisco Canada
 
Module 1: ConfD Technical Introduction
Module 1: ConfD Technical IntroductionModule 1: ConfD Technical Introduction
Module 1: ConfD Technical IntroductionTail-f Systems
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Cisco DevNet
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingKernel TLV
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksAPNIC
 
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Hidetsugu Sugiyama
 
netfilter and iptables
netfilter and iptablesnetfilter and iptables
netfilter and iptablesKernel TLV
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & EcosystemKingston Smiler
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)JuHwan Lee
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 finalKwonSun Bae
 
Contrail Deep-dive - Cloud Network Services at Scale
Contrail Deep-dive - Cloud Network Services at ScaleContrail Deep-dive - Cloud Network Services at Scale
Contrail Deep-dive - Cloud Network Services at ScaleMarketingArrowECS_CZ
 
OpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGOpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGTail-f Systems
 
NETCONF Call Home
NETCONF Call Home NETCONF Call Home
NETCONF Call Home ADVA
 
Getting started with YANG
Getting started with YANGGetting started with YANG
Getting started with YANGCoreStack
 
Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2Tail-f Systems
 
Ns3 implementation wifi
Ns3 implementation wifiNs3 implementation wifi
Ns3 implementation wifiSalah Amean
 
Deploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringDeploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringAPNIC
 
OpenDaylight app development tutorial
OpenDaylight app development tutorialOpenDaylight app development tutorial
OpenDaylight app development tutorialSDN Hub
 

What's hot (20)

netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basic
 
Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPN
 
Module 1: ConfD Technical Introduction
Module 1: ConfD Technical IntroductionModule 1: ConfD Technical Introduction
Module 1: ConfD Technical Introduction
 
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
Open Device Programmability: Hands-on Intro to RESTCONF (and a bit of NETCONF)
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 
VXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building BlocksVXLAN BGP EVPN: Technology Building Blocks
VXLAN BGP EVPN: Technology Building Blocks
 
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
Kubernetes Native Infrastructure and CoreOS Operator Framework for 5G Edge Cl...
 
netfilter and iptables
netfilter and iptablesnetfilter and iptables
netfilter and iptables
 
SDN Presentation
SDN PresentationSDN Presentation
SDN Presentation
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)MP BGP-EVPN 실전기술-1편(개념잡기)
MP BGP-EVPN 실전기술-1편(개념잡기)
 
Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
 
Contrail Deep-dive - Cloud Network Services at Scale
Contrail Deep-dive - Cloud Network Services at ScaleContrail Deep-dive - Cloud Network Services at Scale
Contrail Deep-dive - Cloud Network Services at Scale
 
OpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGOpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANG
 
NETCONF Call Home
NETCONF Call Home NETCONF Call Home
NETCONF Call Home
 
Getting started with YANG
Getting started with YANGGetting started with YANG
Getting started with YANG
 
Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2
 
Ns3 implementation wifi
Ns3 implementation wifiNs3 implementation wifi
Ns3 implementation wifi
 
Deploy MPLS Traffic Engineering
Deploy MPLS Traffic EngineeringDeploy MPLS Traffic Engineering
Deploy MPLS Traffic Engineering
 
OpenDaylight app development tutorial
OpenDaylight app development tutorialOpenDaylight app development tutorial
OpenDaylight app development tutorial
 

Similar to A 30-minute Introduction to NETCONF and YANG

Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANGTail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANGTail-f Systems
 
Data models-and-automation-jp
Data models-and-automation-jpData models-and-automation-jp
Data models-and-automation-jpMiya Kohno
 
5G core use cases in CORE NetworkSBI.pptx
5G core use cases in CORE NetworkSBI.pptx5G core use cases in CORE NetworkSBI.pptx
5G core use cases in CORE NetworkSBI.pptxlakshmianthony80
 
OpenStack Infrastructure at any Scale - Simple is BEST!? - - OpenStack最新情報セミ...
OpenStack Infrastructure at any Scale - Simple is BEST!? -  - OpenStack最新情報セミ...OpenStack Infrastructure at any Scale - Simple is BEST!? -  - OpenStack最新情報セミ...
OpenStack Infrastructure at any Scale - Simple is BEST!? - - OpenStack最新情報セミ...VirtualTech Japan Inc.
 
DEVNET-1152 OpenDaylight YANG Model Overview and Tools
DEVNET-1152	OpenDaylight YANG Model Overview and ToolsDEVNET-1152	OpenDaylight YANG Model Overview and Tools
DEVNET-1152 OpenDaylight YANG Model Overview and ToolsCisco DevNet
 
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPROIDEA
 
SDN/NFV: Service Chaining
SDN/NFV: Service Chaining SDN/NFV: Service Chaining
SDN/NFV: Service Chaining Odinot Stanislas
 
The hague rina-workshop-intro-eduard
The hague rina-workshop-intro-eduardThe hague rina-workshop-intro-eduard
The hague rina-workshop-intro-eduardICT PRISTINE
 
Stratum: Next-Gen SDN (beyond OpenFlow)
Stratum: Next-Gen SDN (beyond OpenFlow)Stratum: Next-Gen SDN (beyond OpenFlow)
Stratum: Next-Gen SDN (beyond OpenFlow)PLVision
 
The Modern Telco Network: Defining The Telco Cloud
The Modern Telco Network: Defining The Telco CloudThe Modern Telco Network: Defining The Telco Cloud
The Modern Telco Network: Defining The Telco CloudMarco Rodrigues
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Joel W. King
 
Introduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewIntroduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewCisco DevNet
 
SCAP and NETCONF
SCAP and NETCONFSCAP and NETCONF
SCAP and NETCONFc3i
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco DevNet
 
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
Cisco Connect Toronto 2018   model-driven programmability for cisco ios xr-v1Cisco Connect Toronto 2018   model-driven programmability for cisco ios xr-v1
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1Cisco Canada
 

Similar to A 30-minute Introduction to NETCONF and YANG (20)

Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANGTail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
 
SDN and metrics from the SDOs
SDN and metrics from the SDOsSDN and metrics from the SDOs
SDN and metrics from the SDOs
 
Data models-and-automation-jp
Data models-and-automation-jpData models-and-automation-jp
Data models-and-automation-jp
 
Learning netconf yang from scratch
Learning netconf yang from scratchLearning netconf yang from scratch
Learning netconf yang from scratch
 
5G core use cases in CORE NetworkSBI.pptx
5G core use cases in CORE NetworkSBI.pptx5G core use cases in CORE NetworkSBI.pptx
5G core use cases in CORE NetworkSBI.pptx
 
OpenStack Infrastructure at any Scale - Simple is BEST!? - - OpenStack最新情報セミ...
OpenStack Infrastructure at any Scale - Simple is BEST!? -  - OpenStack最新情報セミ...OpenStack Infrastructure at any Scale - Simple is BEST!? -  - OpenStack最新情報セミ...
OpenStack Infrastructure at any Scale - Simple is BEST!? - - OpenStack最新情報セミ...
 
DEVNET-1152 OpenDaylight YANG Model Overview and Tools
DEVNET-1152	OpenDaylight YANG Model Overview and ToolsDEVNET-1152	OpenDaylight YANG Model Overview and Tools
DEVNET-1152 OpenDaylight YANG Model Overview and Tools
 
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław BorekPLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
PLNOG14: Service orchestration in provider network, Tail-f - Przemysław Borek
 
SDN/NFV: Service Chaining
SDN/NFV: Service Chaining SDN/NFV: Service Chaining
SDN/NFV: Service Chaining
 
The hague rina-workshop-intro-eduard
The hague rina-workshop-intro-eduardThe hague rina-workshop-intro-eduard
The hague rina-workshop-intro-eduard
 
Mina2
Mina2Mina2
Mina2
 
YANG (哪)
YANG (哪)YANG (哪)
YANG (哪)
 
Stratum: Next-Gen SDN (beyond OpenFlow)
Stratum: Next-Gen SDN (beyond OpenFlow)Stratum: Next-Gen SDN (beyond OpenFlow)
Stratum: Next-Gen SDN (beyond OpenFlow)
 
The Modern Telco Network: Defining The Telco Cloud
The Modern Telco Network: Defining The Telco CloudThe Modern Telco Network: Defining The Telco Cloud
The Modern Telco Network: Defining The Telco Cloud
 
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
Programmability and Automation in Data Center Networks: A talk on Hot Air Bal...
 
Introduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overviewIntroduction to YANG data models and their use in OpenDaylight: an overview
Introduction to YANG data models and their use in OpenDaylight: an overview
 
SCAP and NETCONF
SCAP and NETCONFSCAP and NETCONF
SCAP and NETCONF
 
State of the OpenDaylight Union
State of the OpenDaylight UnionState of the OpenDaylight Union
State of the OpenDaylight Union
 
Cisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open DiscussionCisco's Open Device Programmability Strategy: Open Discussion
Cisco's Open Device Programmability Strategy: Open Discussion
 
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
Cisco Connect Toronto 2018   model-driven programmability for cisco ios xr-v1Cisco Connect Toronto 2018   model-driven programmability for cisco ios xr-v1
Cisco Connect Toronto 2018 model-driven programmability for cisco ios xr-v1
 

Recently uploaded

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

A 30-minute Introduction to NETCONF and YANG

  • 1. A 30-minute Introduction to NETCONF and YANG Carl Moberg <calle@tail-f.com> twitter: @cmoberg Last updated 2011-11-18
  • 2. Document Introduction • This is a live documentation that I use to present the state of NETCONF and YANG in various contexts • I use it to inform and get conversation going, not to provide complete and final documentation of NETCONF and YANG • I update this document roughly quarterly, mostly with regards to industry support and working group timelines, check back or get in touch! 2
  • 3. Some Background • NETCONF is an IETF configuration management protocol and YANG is its data modeling language • In response to SNMP/SMI shortcomings for managing configuration e.g.: – Lack of support for simple things like backup-and-restore of element configuration – No concept of transactions (single- or multibox) – Many inherent limitations in SMI (e.g. label length) • Lots of background text in RFC 3535 Overview of the 2002 IAB Network Management Workshop 3
  • 4. NETCONF and YANG Brief Timeline NETCONF YANG • 2001 • 2007 IETF Meeting with poll of YANG design team proposal SNMP SET usage • Apr 2008 • June 2002 NETMOD WG established IAB Network Mgmt Workshop • Oct 2010 • May 2003 YANG RFC 6020 published NETCONF WG established • Dec 2006 NETCONF core RFCs published 4
  • 5. So What is NETCONF? • NETCONF is an IETF network management protocol designed to support management of configuration, including: – Distinction between configuration and state data – Multiple configuration data stores (candidate, running, startup) – Configuration change validations – Configuration change transactions – Selective data retrieval with filtering – Streaming and playback of event notifications – Extensible remote procedure call mechanism 5
  • 6. Ok, So What is YANG • YANG is a data modeling language designed to write data models for the NETCONF protocol. It provides the following features: – Human readable, and easy to learn representation – Hierarchical configuration data models – Reusable types and groupings (structured types) – Extensibility through augmentation mechanisms – Supports definition of operations (RPCs) – Formal constraints for configuration validation – Data modularity through modules and sub-modules – Well defined versioning rules 6
  • 7. NETCONF Layering Model Layer NETCONF Content Configuration Data Operations <get> <get-config> <notification> <rpc> RPC <rpc-reply> Transport SSH, SSL, BEEP, etc Protocol 7
  • 8. Basic NETCONF Operations • Get configuration <get-config> – Retrieve all or part of a specified configuration from a named data store • Get all information <get> – Retrieve running configuration and device state information • Edit configuration <edit-config> – Loads all or part of a specified configuration to the specified target configuration • Copy configuration <copy-config> – Create or replace an entire configuration datastore with the contents of another complete configuration datastore. • Delete configuration <delete-config> – Delete a configuration datastore (not applicable to running) • Lock and unlock <lock>, <unlock> – Short-lived lock and unlock of the configuration system of a device • Close and kill session <close-session>, <kill-session> – Graceful (close) or forced (kill) termination of a NETCONF session 8
  • 9. YANG Feature Highlights • YANG definitions directly map to NETCONF (XML) content • YANG uses a compact C and Java-like syntax with readability is highest priority • Data type system leverages work done for next-generation SNMP type system accommodating XML and XSD requirements • YANG can be formally translated to DSDL (RelaxNG, Schematron and DSRL) as described in RFC 6110 • There is also an informal translation to W3C XML Schema in the pyang tool 9
  • 10. YANG Feature Highlights (cont’d) • Organization – Leaf, leaf-list, container, lists, grouping, choice • Data model structure – Module, submodule, augment, if-feature, when • Constraints – Must, unique, min-elements, max-elements, mandatory • Data types – Many built-in types, sub-typing, restrictions • Reusable groupings – Grouping, uses 10
  • 11. YANG 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”; } 11
  • 12. YANG Example (cont’d) list interface { key "name"; description "List of interfaces in the system”; leaf name { type string; } leaf type { type string; } leaf mtu { type int32; } } } } 12
  • 13. Known NETCONF Vendor Implementations – Alaxala – Juniper Networks • Ethernet switches • JUNOS 7.5 and later – BATM/Telco Systems – Nexor • T-Metro 7224 • Messaging Gateways – BigBand – RuggedCom • MSP2800 • RX5000 and MX5000 – Brocade – Sonus • NetIron XMR, CES, and CER • NBS5200 Session Border Controller • MLX Series – Taseon • VDX (Announced, not released) • TN 320 – Cisco – Verivue • IOS 12.4(9)T and later • MDX 9020 • IOS XE 2.1 and later – Edgeware • WTV-2X – Ericsson • SEA 20 Entries in italics is new in this version of the – H3C presentation • S9500E Series Routing Switches Please Note that this list is work in – Huawei • AR3200/2200 Enterprise Routers progress and feedback on accuracy and completeness is strongly encouraged 13
  • 14. Available NETCONF Implementations Commercial Products Open Source Projects – Applied Informatics • POCO NETCONF (server) – Ncclient (client) – Centered Logic – NetconfX (client) • NetconfX (client) – Netconf4Android – Oracle/GoAhead • NETCONF MindAgent (server) (client) – SNMP Research – netconf4j (client) • EPIC NETCONF (server) – netopeer (client/server) – Tail-f Systems • ConfD (server) – YencaP (client/server) • NCS (client) – Yuma (client/server) – Velankani • NOCVue ConfigMan Please Note that this list is work in – WebNMS progress and feedback on accuracy and • WebNMS Framework (client) completeness is strongly encouraged 14
  • 15. Available YANG Implementations • Commercial Products • Open Source Projects – MG Soft Corporation – jYang – Oracle/GoAhead – libsmi – SNMP Research – Pyang – Tail-f Systems – yang-mode for Emacs – Yuma Please Note that this list is work in progress and feedback on accuracy and completeness is strongly encouraged 15
  • 16. Standards Organizations Activities • IETF – YANG models for Service – NETCONF working group OAM PM and FM focusing on: – To be published • Access Control • System Notifications – NETMOD (YANG) working group currently focusing on: – YANG module for CCAP: next • Interfaces, routing and system generation cable head-end systems data modules – Part of the Converged Cable • SMIv2-to-YANG translation Access Platform Support – Always updated: System Interface Specification • http://tools.ietf.org/wg/netconf/ • http://tools.ietf.org/wg/netconf/ Please Note that this list is work in progress and feedback on accuracy and completeness is strongly encouraged 16
  • 17. Further Reading • IETF NETMOD and NETCONF WG pages: – http://trac.tools.ietf.org/wg/netconf/trac/wiki – http://trac.tools.ietf.org/wg/netmod/trac/wiki • NETCONF Central – http://www.netconfcentral.org/ • YANG Central – http://www.yang-central.org/twiki/bin/view/Main/WebHome • Instant YANG – an Introduction – http://www.tail-f.com/instant-yang-primer • The NETCONF and YANG Users LinkedIn Group – http://www.linkedin.com/groups/NETCONF-YANG-Users-3301774 17
  • 18. 18
  • 20. Why not use XSD? • XSD defines the syntax of XML instance documents, • YANG defines the semantics of a configuration data model and the syntax of XML • For more in-depth reading: – Why we need a NETCONF-Specific Modeling Language (draft- lengyel-why-yang-00.txt) – Comparing Approaches to NETCONF Modeling (CANMOD) BOF (http://tools.ietf.org/agenda/71/canmod.html) 20
  • 21. A Layered Comparison SNMP NETCONF SOAP Data models MIBs Modules Data Modeling SMI YANG Language Management SNMP NETCONF Operations RPC Protocol BER XML XML Transport Stack UDP SSH SSL BEEP HTTP SOAP TCP TLS 21