SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Module 10: CDB Subscribers
Module 10: CDB SubscribersModule 10: CDB Subscribers
Module 10: CDB Subscribers
 
NSO: Network Service Orchestrator enabled by Tail-f Hands-on Lab
NSO: Network Service Orchestrator enabled by Tail-f Hands-on LabNSO: Network Service Orchestrator enabled by Tail-f Hands-on Lab
NSO: Network Service Orchestrator enabled by Tail-f Hands-on Lab
 
VXLAN and FRRouting
VXLAN and FRRoutingVXLAN and FRRouting
VXLAN and FRRouting
 
Tail-f - Why NETCONF
Tail-f - Why NETCONFTail-f - Why NETCONF
Tail-f - Why NETCONF
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
Обзор протокола Netconf/YANG и его применение для управления услугами
Обзор протокола Netconf/YANG и его применение для управления услугамиОбзор протокола Netconf/YANG и его применение для управления услугами
Обзор протокола Netconf/YANG и его применение для управления услугами
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
 
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basic
 
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NATOpen vSwitch - Stateful Connection Tracking & Stateful NAT
Open vSwitch - Stateful Connection Tracking & Stateful NAT
 
Automating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS NetworkAutomating for Monitoring and Troubleshooting your Cisco IOS Network
Automating for Monitoring and Troubleshooting your Cisco IOS Network
 
Tutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionTutorial on SDN data plane evolution
Tutorial on SDN data plane evolution
 
DPDK in Containers Hands-on Lab
DPDK in Containers Hands-on LabDPDK in Containers Hands-on Lab
DPDK in Containers Hands-on Lab
 
Application Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centreApplication Centric Infrastructure (ACI), the policy driven data centre
Application Centric Infrastructure (ACI), the policy driven data centre
 
Deploying Carrier Ethernet features on ASR 9000
Deploying Carrier Ethernet features on ASR 9000Deploying Carrier Ethernet features on ASR 9000
Deploying Carrier Ethernet features on ASR 9000
 
Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2
 
NFV for beginners
NFV for beginnersNFV for beginners
NFV for beginners
 
SDN Fundamentals - short presentation
SDN Fundamentals -  short presentationSDN Fundamentals -  short presentation
SDN Fundamentals - short presentation
 

Similar a A 30-minute Introduction to NETCONF and YANG

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
Tail-f Systems
 
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
Marco Rodrigues
 

Similar a 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
 
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
 
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最新情報セミ...
 
Getting started with YANG
Getting started with YANGGetting started with YANG
Getting started with YANG
 
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
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

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