Next Generation Network Engineers


Introduction to YANG Data Modeling:
  • It's written in YANG.
  • That's YANG Data.
  • We use YANG Data Models.
  • When first getting started with YANG, may find yourself confused because of the word "YANG" is used to refer to different things. All are related, but they are different enough to cause confusion if think there is "One YANG".
YANG Modeling Language:
  • module ietf-interfaces {
    import ietf-yang-types {
    prefix yang;
    container interfaces {
    list interface {
    key "name";
    leaf name {
    type string;
    leaf enabled {
    type boolean;
    default "true";

    Example edited for simplicity and brevity
  • YANG is first a language for describing data models. The YANG language could be used to describe ANY data model, but it was designed to describe networking data models.
  • As a language, it is highly structured and typed, something that should be appreciated in a data modelling language. Some aspects of the language to note:
    • Every data model is a module that is a self-contained top-level hierarchy of nodes
    • Leverages data types that can be imported from another YANG module, or defined within a module
    • Uses containers to group related nodes
    • Leverages lists to identify nodes that are stored in sequence
    • Each individual attribute of a node is represented by a leaf
    • Every leaf must have an associated type
  • Event Preparation for DevNet Express for DNA v2.1:
Actual Device Data Modeled in YANG:

  • To retrieve (or send) YANG data, we will leverage "NETCONF" (Transport Protocol) to communicate from a "Manager" (Client) on our workstation to an "Agent" (Server) running on a network element using "XML" (Data Format).
  • This means that when we send or receive data using NETCONF, we will be working with YANG Modeled data represented in XML.
  • NETCONF is just one of the Standard Transport Protocols available for leveraging YANG Data Models. Though NETCONF is the only fully standardized option so far, even in the draft from RESTCONF is becoming popular because of its REST-based foundation.
  • When using RESTCONF, the developer has the option of leveraging either XML or JSON for sending and receiving data.
  • It is less expensive is the main benefit of having an out-of-band management network for an infrastructure controller.
    A Reliable In-band Control In A Software-defined Network:
  • NETCONF and SNMP network configuration protocols use XML as a data representation format.

    Data modelling language for the definition of data sent over the NETCONF network configuration protocol.

    Many network management protocols have associated data modelling languages. The first widely deployed Internet standard for network management was the Simple Network Management Protocol (SNMP).
  • VXLAN feature enables service function chaining to steer traffic to virtual network functions.
Evolution/Evolving of Service Chaining:Architectural Requirements:
  • Service deployments will be driven by applications/application policy
  • Service will be built using flexible service graphs rather than linear service chains
  • These services will adhere to application-centric business policies/requirements
  • The service elements used to build service chains will be both physical and virtualized
  • Flexible placement of service elements will require that the coupling of services to the underlying network topology be broken allowing transport agnostic service deployment
  • Policy distribution through metadata exchange between service functions and the network
Service Graphs vs. Linear Service Chains:
  • Flexible service creation through service graphs rather than linear service chains
  • The collection of service functions in a network form a graph
  • The graph is composed of possible service function options:
    • Directed graph
    • Weighted graph if required
  • Vertices: Service Functions
  • Edges: Overlay connectivity
Example: Business Policy Drives Service Deployment:
  • A service is rendered based on a business policy like ...
  • All traffic between the Internet & web front-end servers apply:
    • De/Encryption with highest throughput / low latency and least $$ cost
    • Copy all "mobile" only transactions to a Big Data analytics system
    • Perform the copy at most optimal point ($$ cost & least latency impact)
    • Send all traffic through a SLB+WAF & and IDS
  • Additionally, deploy this policy with other caveats like:
    • Service functions are both virtual and physical and vendor neutral
    • Compute & service elasticity; compute mobility
First Steps:
  • As an initial and transitional step, service chaining may be achieved through overlays that provide topological independence
  • Tunnel encapsulation choices; VXLAN, GRE, MPLS, etc
Next Generation CCIE:Ingredients of Hybrid IT:
  • Application Centricity
  • Programmability of:
    • Infrastructure
    • Controllers
    • Services
  • Virtualization of:
    • vAF: Application Functions
    • vMF: Management Functions
    • vNF: Network Functions
    Bimodal IT Architectures to support Fast IT Business Needs
The pace of change and Networks:
  • Network Expenses:
    • 33% CAPEX
    • 67% OPEX
    Source: Forrester
  • Deployment Speed:
    • Computing 5 Seconds
    • Networking 1,000 Seconds
    Source: Open Computer Project
  • 80% Time IT spends on operations
  • 55% CMOs think IT is not responding fast enough to time-sensitive projects
  • 57% CEOs are worried about IT strategy not supporting business growth


Evolving Our Interaction with Network OS:
  • Types of Interactions:
    • Bootstrap
    • Configure
    • Monitoring
    • Extend
  • What's Evolving:
    • Manual > Automated
    • Static > Dynamic
    • Generic > Custom
  • Why?:
    • Agility
    • Scale
    • Cost
    • Complexity
How > 70% of Config Management is Done Today:"It's the way real men build real networks."
  • Software Unfriendly
  • Subject To Change
  • No Common Data Model
  • No Error Reporting
  • Task Oriented
  • Human-Friendly
  • Easy To Replay
  • No Special Tools
Ways to Automate Network Components:
  • On / Off Box:
    #!/usr/bin/env python
    print('Hello World!')
  • via SDN Controller
Programmability - SDN:
  • Northbound Programmability Layer:
    • Automation: CFEngine, python, puppet, CC Opscode
    • Hypervisor Management: Redhat, Oracle, Xen, VMware, Windows
    • Enterprise Monitoring: Tivoli, Splunk, netscout
    • System Management: IBM, ca, bmc, hp
    • Orchestration Frameworks: Redhat, cloupia, OpenStack, VMware, cloudstack
    • Application: SAP, MapR, Cloudera
  • REST API / SDK / Plugins
  • SDN Control Plane: VTS, APIC, APIC-EM, ODL
  • Southbound Programmability Layer:
    • OpFlex
    • Netconf YANG
    • CLI
    • NX-API
    • BGP-EVPN
    • OpenFlow
    • Virtualized Environment: OVS / VTF / AVS
    • Switch / Nexus 9K / Routers
Options for Programming the DC Network:
  • Programmable Network: Traditional 2/3-Tier:
    • Modernized Operating System
    • Programmable Open APIs
    • HW & SW Disaggregation
  • Programmable Fabric: Open Controller Model:
    • L2 / L3 Overlay & Underlay
    • Physical & Virtual Endpoints
    • Decoupled Controllers
    • VXLAN Overlay
  • Integrated Fabric: Cisco APIC:
    • Any Hypervisor
    • Physical. Virtual / Open API's
    • Day 1 & 2 Ops
    • Gartner: ACI outpacing competitors by 2x to 5x
Requirements of Next-Gen Config Management: RFC 3535 CY 2002:
  • Easy to Use
  • Separates Config and Operational Data
  • The configuration of Network as a whole
  • Common database schema
  • Error Checking
  • Backup/Restore Capability
  • Human & Machine Friendly
Result: NETCONF and YANG:
    • IETF standard - RFC 6241
    • Designed for network programmability
    • Session and connection-oriented
    • Runs over SSH or SOAP
  • YANG:
    • IETF standard - RFC 6020, 6021
    • Data Modeling language for networking (config & state)
    • Explicitly & precisely defines the structure, syntax & semantics of data
    • Represents data structures in XML tree format
    • IETF draft
    • Designed for web applications (REST "like", based on NETCONF)
    • Access data defined in YANG using datastores defined in NETCONF
    • Runs over HTTP/S
NETCONF (Network Configuration Protocol): NETCONF 1.1:
  • RFC 6241 - Base NETCONF 1.1 Protocol (1.0 defined in RFC 4741)
  • RFC 6242 - NETCONF over SSH, port 830/tcp (1.0 transport defined in RFC 4742)
  • Extensions: RFC 5277 Notifications, RFC 5717 Partial Locking, RFC 6243 With defaults
  • Informational: RFC 3535 Background and Requirements, RFC 6244 NC/Yang Architecture
  • IETF protocol for configuration data and operational state data management & notifications
  • Addresses SNMP SMI short-comings like no transactions, no backup&restore, strange&legacy concepts...
  • Based on XML (Yang to provide the data modelling)
  • 830/tcp - runs over SSH (possibly also TLS, BEEP...)

    Client Server:
  • Content: Config and Oper data, Notifications (XML format, modelled in YANG)
  • Operations: , , ...
  • Messages: ,
  • Transport: SSH

  • ]]>]]>
  • Huawei SDN solution:

    • Agile Controller for TE configuration
    • AC Super for services configuration
  • Configuring NETCONF-Over-SSH Connections on a Specified TCP Port:
  • JSON-RPC is a remote procedure call (RPC) protocol built on JSON, as a replacement for XML-RPC or SOAP. It is a simple protocol that defines only a handful of data types and commands. JSON-RPC lets a system send notifications (information to the server that does not require a response) and multiple calls to the server that can be answered out of order. Example of a JSON-RPC 2.0 request and response using positional parameters.
  • Develop an open-source package or SDK and Use the API inspector and test API calls are two initial actions should take when exploring automation for ACI.
  • YANG comments are C++ style. A single line comment starts with "//" and ends at the end of the line. A block comment is enclosed within "/*" and "*/".
  • 3 Cisco APIs must fail, in order for a customer running an ACI fabric with a cluster of five APICs to experience data loss.
  • Network automation protocol > Transport protocol that it supports:
    • gRPC > HTTP/2
  • Adding the managed hosts to Management Server using an agentless configuration:
  • An organization leverages a multivendor network to sell connectivity services using Layer 3 VPN and VPLS. Where possible, the organization wants to use common APIs across vendors, in order to automate the configuration of network services. The organization should consider NETCONF technology for the southbound interface.
  • YANG State Data:
  • What is SDN Southbound APIs?:

  • NETCONF, YANG, RESTCONF - TECH-SDN-SP: Software Defined Networking for Service Providers:



ACI Types of Objects:
  • Logical > Resolved > Concrete > Hardware:
    • Logical = configured in the GUI by the user
    • Resolved = created by the APIC as a unit/object to communicate and pass information to the switches
    • Concrete = objects used by the switches to program hardware

Introduction to YANG Programming and RESTCONF on Cisco IOS XE:

Launching a VIRL Simulation with cURL:

Using Web Services - XML & JSON:

VRF vs Bridge Domain:

Visore Managed Object Viewer:

NETCONF protocol architecture:!getFileStream.action?mid=SUPE_DOC&viewNid=EDOC1000178174&nid=EDOC1000178174&partNo=j00h&type=htm#dc_cfg_netconf_0004_mMcCpPsS_t01

How a Traditional Network Engineer Got Started with Network Programmability:

ONF - Certified SDN Professional Program:

Collision and broadcast domains: All ports of a Router are in different collision domains with different broadcast domains.

A router forwards packets based on the destination IP address, while a switch forwards these based on the destination MAC address is the difference between a router and a switch.

ทำความรู้จัก Cisco Digital Network Architecture (Cisco DNA) สถาปัตยกรรมเครือข่ายสำหรับ Digital Business โดยเฉพาะ:

Cisco เปิดตัวแนวคิดระบบเครือข่ายใหม่ เปลี่ยนแปลงตัวเองได้ด้วย AI และ Machine Learning:

5 แนวทางที่ Network Engineer ควรปรับตัว ในยุคของ Cisco Intent-based Networking:

Cisco เสริมการทำ Network Assurance ลงใน Intent-based Networking เปิดตัว 3 นวัตกรรมใหม่ด้าน Network:

ประมวลงาน Cisco Live 2018 ณ ประเทศสหรัฐอเมริกา:

ตัวอย่างการใช้ if Condition + any Function บนภาษา Python แบบอธิบายโคตรสั้น:

Machine Learning (ML) คืออะไรใน 10 นาที:

XML, JSON และ YAML คืออะไร อธิบายในมุมของงาน Network Engineer:

Cisco ประกาศเปลี่ยนแปลงระบบ Training & Certification ใหม่หมด:

ถ้าผมเป็นนัก Football ผมจะมีมูลค่าเท่าไร? เล่น ML กับ Data-set จากเกม FIFA 19:

Program วาด Network Topology แบบอัตโนมัติด้วยการ Trace บน Network:

ลองใช้ Nornir (Python Automation Framework) กับ Cisco IOS XR และ Nokia 7750 SR:

รู้จักกับ YANG ให้มากขึ้นด้วยการสร้าง Data Model ขึ้นมาใช้ซะเองเลย:

หุ่นยนต์ดูดฝุ่น มันจะเริ่มต้นสร้าง Map ยังไง - Wall Follower Algorithm:[/list]



  • สอนแก้ปัญหา Staircase Problem ด้วย Python:

    NetDevOps คืออะไรแบบสั้นๆ:

    ใช้ Batfish วิเคราะห์พฤติกรรมของ Network จาก Configuration:

    Network Engineer ในยุค Cloud จะเป็นยังไง? สรุปจาก Course ของ AWS:

    Network Streaming Telemetry คืออะไร? ทำไมถึงดีกว่า SNMP?:

    Cisco Model-Driven Telemetry tutorial with Telegraf, InfluxDB, and Grafana!:

    How to connect GNS3 to a physical network: