Models
YANG
Use: Data modeling language to describe configuration and state of network elements, ...
Vendor-neutral models: OpenConfig, IETF, Mix
Tools: xym - extract YANG models from files (e.g. RFCs), Yang2Swagger generator, pyang - YANG validator and converter, PyangBind - "plugin for Pyang that generates a Python class hierarchy from a YANG data model", symd - visualize YANG model dependencies, YANG Catalog
RFCs: YANG v1 (6020), v1.1 (7950); YANG model to monitor NETCONF protocol (ietf-netconf-monitoring 6022), JSON Encoding (7951); YANG data types (6991), 6087, 6110, 6643, 7952;
MPLS VPNs: L3VPN service delivery (8299, 8049); L2VPN service delivery (8466)
Links: IETF netmod working group, YANG for dummies, YANG Central, Wikipedia
Notes: XML enconing via SSH transport; binary encoding via gRPC transport.
Cisco:
YANG models for Cisco platforms - https://github.com/YangModels/yang/tree/master/vendor/cisco
YDK (YANG development kit) - https://developer.cisco.com/site/ydk/, related tutorial
Cisco blog: openconfig, yang
Getting Started With OpenConfig in Cisco IOS XR - https://github.com/CiscoDevNet/openconfig-getting-started
Juniper:
How to add OpenConfig Yang modules to Junos - http://www.juniper.net/techpubs/en_US/junos16.1/topics/concept/netconf-yang-modules-custom-managing-overview.html
The NETCONF server on devices running Junos OS currently does not support the YANG XML namespace. Source - https://www.juniper.net/techpubs/en_US/junos16.1/topics/concept/netconf-yang-overview.html
TOSCA
TOSCA - Topology and Orchestration Specification for Cloud Aplications
Use: To describe services on NFV Orchestrator level.
Links: OASIS TOSCA, Wikipedia; TOSCA Simple Profile for Network Functions Virtualization (NFV); Yang vs. Tosca (Ciena's paper)
Protocols and interfaces
NETCONF
Use: Interface to manage network elements (leveraging YANG models). Used mainly between devices and their configuration management systems
RFCs: NETCONF (6241), NETCONF over SSH (6242)
Links: IETF netconf working group, NETCONF Central, Wikipedia
Netopeer toolset - to connect to NETCONF devices and control them. Includes server, CLI, GUI, API. Link - https://github.com/cesnet/netopeer
ncclient - Python library for NETCONF clients
Cisco
Netconf client script that changes ospf cost on an interface based on the result of an iperf session on a link through the same interface - https://github.com/ios-xr/pathchecker
Blog - https://blogs.cisco.com/tag/netconf
Juniper
Libraries for NETCONF on GitHub:
- Perl - https://github.com/Juniper/netconf-perl
- Java (seems outdated) - https://github.com/Juniper/netconf-java
RESTCONF
About: 'HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in NETCONF'. Used mainly between network configuration management systems and upper layers of management systems (e.g. orchestrators).
RFCs: RESTCONF (8040)
ODL Restconf tutorial - https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf
gNMI
About: interface for streaming telemetry. Created as part of OpenConfig initiative to unify different vendors' implementations of transport and configuration management for streaming telemetry.
Links: home
BGP-LS
Links: IETF search
RFCs: 7752
PCE
Links: IETF PCE working group, YANG model for PCEP
RFCs: PCEP Extensions for Stateful PCE (draft)
SPRING
Source Packet Routing in Networking
Links: IETF SPRING working group
RFCs: Architecture (draft)
OpenROADM
Defines interoperability specifications for Reconfigurable Optical Add/Drop Multiplexers (ROADM)
Links: home
Testing
IETF benchmarking working group - https://datatracker.ietf.org/wg/bmwg/documents/
ETSI NFV TST working group - link
Miscellaneous
BPEL - Business Process Execution Language
Redfish
Use: unified API to integrate management tools for complex multivendor environments
Links: DTMF Redfish
Network Service Header (NSH)
Use: "Network Service Header (NSH) inserted onto encapsulated packets or frames to realize service function paths. NSH also provides a mechanism for metadata exchange along the instantiated service path."
Links: IETF draft
Cloud Auditing Data Federation (CADF)
About: "defines a full event model anyone can use to fill in the essential data needed to certify, self-manage and self-audit application security in cloud environments"
Links: DTMF CADF
OpFlex: An Open Policy Protocol
Links: Cisco's page
QUIC
"Experimental transport layer network protocol. Supports a set of multiplexed connections between two endpoints over User Datagram Protocol (UDP), and was designed to provide security protection equivalent to TLS/SSL, along with reduced connection and transport latency, and bandwidth estimation in each direction to avoid congestion."
https://en.wikipedia.org/wiki/QUIC
BIER - Bit Indexed Explicit Replication
"An architecture that provides optimal multicast forwarding through a "BIER domain" without requiring intermediate routers to maintain any multicast related per-flow state."
Links: IETF's status page