SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Cisco Application Centric Infrastructure
Cisco Application Centric InfrastructureCisco Application Centric Infrastructure
Cisco Application Centric Infrastructureislam Salah
 
Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1Tail-f Systems
 
SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)NAIM Networks, Inc.
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOChris Simmonds
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コースJuniper Networks (日本)
 
NETCONF Call Home
NETCONF Call Home NETCONF Call Home
NETCONF Call Home ADVA
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDPDaniel T. Lee
 
Automate your network with Ansible and NAPALM
Automate your network with Ansible and NAPALMAutomate your network with Ansible and NAPALM
Automate your network with Ansible and NAPALMMohamed Radwan
 
Module 1: ConfD Technical Introduction
Module 1: ConfD Technical IntroductionModule 1: ConfD Technical Introduction
Module 1: ConfD Technical IntroductionTail-f Systems
 
コンテナ時代のOpenStack
コンテナ時代のOpenStackコンテナ時代のOpenStack
コンテナ時代のOpenStackAkira Yoshiyama
 
Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Seung-Hoon Baek
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDNOpenStack Korea Community
 
Service Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronService Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronMichelle Holley
 
Network Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with AnsibleNetwork Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with AnsibleAPNIC
 
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi SubsystemTutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi SubsystemDheryta Jaisinghani
 
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
 

Was ist angesagt? (20)

Cisco Application Centric Infrastructure
Cisco Application Centric InfrastructureCisco Application Centric Infrastructure
Cisco Application Centric Infrastructure
 
Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1Module 5: YANG Tutorial - part 1
Module 5: YANG Tutorial - part 1
 
SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)SDN입문 (Overlay and Underlay)
SDN입문 (Overlay and Underlay)
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIOQuick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
 
NETCONF Call Home
NETCONF Call Home NETCONF Call Home
NETCONF Call Home
 
Faster packet processing in Linux: XDP
Faster packet processing in Linux: XDPFaster packet processing in Linux: XDP
Faster packet processing in Linux: XDP
 
Automate your network with Ansible and NAPALM
Automate your network with Ansible and NAPALMAutomate your network with Ansible and NAPALM
Automate your network with Ansible and NAPALM
 
Module 1: ConfD Technical Introduction
Module 1: ConfD Technical IntroductionModule 1: ConfD Technical Introduction
Module 1: ConfD Technical Introduction
 
Network automation (NetDevOps) with Ansible
Network automation (NetDevOps) with AnsibleNetwork automation (NetDevOps) with Ansible
Network automation (NetDevOps) with Ansible
 
コンテナ時代のOpenStack
コンテナ時代のOpenStackコンテナ時代のOpenStack
コンテナ時代のOpenStack
 
Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조
 
NFV & Openstack
NFV & OpenstackNFV & Openstack
NFV & Openstack
 
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
 
Service Function Chaining in Openstack Neutron
Service Function Chaining in Openstack NeutronService Function Chaining in Openstack Neutron
Service Function Chaining in Openstack Neutron
 
Network Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with AnsibleNetwork Automation (NetDevOps) with Ansible
Network Automation (NetDevOps) with Ansible
 
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi SubsystemTutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
 
Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2Module 6: YANG Tutorial - part 2
Module 6: YANG Tutorial - part 2
 
Multi Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud buildersMulti Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud builders
 

Ähnlich wie 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
 
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
 
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
 

Ähnlich wie 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最新情報セミ...
 
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
 

Kürzlich hochgeladen

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Kürzlich hochgeladen (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

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