9.
Programmable Network Management (Data Model
driven Management)
9.1 Data Model driven Management
The new trends in advanced networks is related to automation. This is to do
automatically the network functionality. In order to provide automation is necessary the
network programmability. Programmable networks are based on data model. Atipical
case is SDN (Software Defined Network).
To apply SDN Management a new paradigma is required. This is Data Model Driven
Management. For this purpose a data model language (Yang) is used furthermore a
transaction message model can be implemented. There are three types:
1 Netconf
2 Restconf (See chapter 10)
3 gNMI
9.2 Inroduction to Netconf
The Network Configuration Protocol (NETCONF), is an IETF network management
protocol. It was developed in the NETCONF working group and published in December
2006 as RFC 4741 and later revised in June 2011 and published as RFC 6241. The
NETCONF protocol specification is an Internet Standards Track document.
NETCONF provides mechanisms to install, manipulate, and delete the configuration of
network devices. Its operations are realized on top of a simple Remote Procedure Call
(RPC) layer. The NETCONF protocol uses an Extensible Markup Language (XML)
based data encoding for the configuration data as well as the protocol messages. This in
turn is realized on top of the transport protocol.
The NETCONF protocol can be conceptually partitioned into four layers:
Layer Example
+-------------+ +-------------------------------------------+
| Content | | Configuration data |
+-------------+ +-------------------------------------------+
| |
+-------------+ +-------------------------------------------+
| Operations | |<get-config>, <edit-config>, <notification>|
+-------------+ +-------------------------------------------+
| | |
+-------------+ +-----------------------------+ |
| RPC | | <rpc>, <rpc-reply> | |
+-------------+ +-----------------------------+ |
| | |
+-------------+ +-------------------------------------------+
| Transport | | SSH, TLS, SOAP*, BEEP*, console |
| Protocol | | |
+-------------+ +-------------------------------------------+
The base protocol includes the following protocol operations: <get>, <get-config>,
<edit-config>, <copy-config>, <delete-config>, <lock>, <unlock>, <close-session>,
<kill-session>.
The content of NETCONF operations is well-formed XML. Most content is related to
network management.
The NETMOD working group has completed work to define a "human-friendly"
modeling language for defining the semantics of operational data, configuration data,
notifications, and operations, called YANG. YANG is defined in RFC 6020, and is
accompanied by the "Common YANG Data Types" found in RFC 6021.
During the summer of 2010, the NETMOD working group was re-chartered to work on
core configuration models (system, interface
NETCONF protocol does not include
a modeling language or accompanying rules that can be used to model the
management information that is to be configured using NETCONF. The
NETMOD working group has defined the data modeling language YANG but no
IETF models exist yet. The purpose of the NETMOD working group is to
support the ongoing deployment of YANG by developing a set of core YANG
data models and other activities that will allow network operators to
use YANG for configuration and management of network elements.
9.2 YANG
'YANG' is a data modeling language for the NETCONF network configuration protocol.
The YANG data modeling language was developed by the NETMOD working group in
the IETF and was published as RFC 6020 in October 2010. The data modeling language
can be used to model both configuration data as well as state data of network elements.
Furthermore, YANG can be used to define the format of event notifications emitted by
network elements and it allows data modelers to define the signature of remote
procedure calls that can be invoked on network elements via the NETCONF protocol.
YANG is a modular language representing data structures in an XML tree format. The
data modeling language comes with a number of builtin data types. Additional
application specific data types can be derived from the builtin data types. More complex
reusable data structures can be represented as groupings. YANG data models can use
XPATH expressions to define constraints on the elements of a YANG data model.
9.2.1 Yang documents
RFC 6087
This memo provides guidelines for authors and reviewers of standards track
specifications containing YANG data model modules. Applicable portions may be used
as a basis for reviews of other YANG data model documents. Recommendations and
procedures are defined, which are intended to increase interoperability and usability of
NETCONF implementations which utilize YANG data model modules.
Status: Informational RFC, nothing-to-implement
Guidelines for Authors and Reviewers of YANG Data Model Documents
RFC 6110
This draft specifies the mapping rules for translating YANG data models into Document
Schema Definition Languages (DSDL), a coordinated set of XML schema languages
standardized as ISO 19757. The following DSDL schema languages are used by the
mapping: RELAX NG, Schematron and DSRL. The mapping takes one or more YANG
modules and produces a set of DSDL schemas for a selected target document type -
datastore content, NETCONF PDU etc. Procedures for schema- based validation of
such documents are also discussed.
Status: Proposed Standard RFC, optional-to-implement
Mapping YANG to Document Schema Definition Languages and Validating
NETCONF Content
RFC 6244
NETCONF gives access to native capabilities of the devices within a network, defining
methods for manipulating configuration databases, retrieving operational data, and
invoking specific operations. YANG provides the means to define the content carried
via NETCONF, both data and operations. Using both technologies, standard modules
can be defined to give interoperability and commonality to devices, while still allowing
devices to express their unique capabilities.
This document describes how NETCONF and YANG help build network management
applications that meet the needs of network operators.
Status: Informational RFC, nothing-to-implement
An NETCONF- and NETMOD-based Architecture for Network Management
RFC 6643
YANG is a data modeling language used to model configuration and state data
manipulated by the NETCONF protocol, NETCONF remote procedure calls, and
NETCONF notifications. The Structure of Management Information (SMIv2) defines
fundamental data types, an object model, and the rules for writing and revising MIB
modules for use with the SNMP protocol. This document defines a translation of SMIv2
MIB modules into YANG modules, enabling read-only access to data objects defined in
SMIv2 MIB modules via NETCONF.
This document contains the algorithms to translate SMIv2 to YANG.
Status: Proposed Standard RFC, optional-to-implement
Translation of SMIv2 MIB Modules to YANG Modules
9.3 Openflow
Openflow refers to SDN (Software Defined Network) type networks
where the control plane is separated from the data plane. Control
plane management (traffic, routing and forwarding tables,
addressing...) can be done through openflow.
Openflow is a protocol for managing routers in SDN environments.
Openflow operates on the configuration of the flow tables of the SDN
routers. The particularity of SDN in this case is that it works with
message flows (there are no virtual circuits).
While the Netconf protocol allows you to configure all kinds of
network nodes, Openflow focuses exclusively on SDN-type routers.
Although Openflow started as an open standard, recently the IETF
started standardizing SDN, Openflow and others through various
RFCs.
9.4 Telemetry
In order to have networks with automatic operation, it is not enough
for the networks to be programmable, but rather a large amount of
data and system information is required for the applications to make
the decisions appropriately. The use of classic monitoring protocols,
such as the different versions of the SNMP protocol, is gradually being
replaced by new streaming-type protocols. A Data Model-Driven
Telemetry is applied to based networks such as IP Flow Information
eXport (RFC 7011), NetFlow (RFC 3954) ...