In this article we explore the motivation and inception of IETF standards work on the NETCONF protocol and the YANG data modeling language.

MOTIVATION:

Over the past two decades, some significant issues emerged relative to the current best practices for the configuration of networks and services:

Using SNMP as the basis for configuration tasks for the many network devices sold by communications equipment vendors became rather complicated.  Most MIB modules published by the IETF proved useful for monitoring purposes. However, for configuration tasks, vendors chose expedience over interoperability by implementing their own private enterprise MIB modules instead of working with peer vendors to define a common set of configuration objects for similar communications devices.

Further more, the semantics of the CLI across communications devices from multiple vendors lacked uniformity and lacked stability.  Vendors’ methods for session establishment and user authentication needed by configuration tasks varied.  The format and content of configuration data as well as error values and their meanings differed across vendors’ products.  Sometimes semantic changes were encountered within the CLI across revisions of a single vendor’s product.

Using the HTTP and web-based forms encountered issues similar to those found with the CLI.

Such realizations evolved into a set of known issues and gained mind share during discussions between network operators and participants within the IETF.

What could be done to reduce the complexity of operator tasks associated with the configuration of networks and services?  Did participants think this work was feasible?  Who would propose and how would standards be developed for the configuration of networks and services?

Inception:

The feasibility of the Network Configuration (NETCONF) protocol was initially discussed at IETF 56 in San Francisco during March of 2003.

Participants discussed the known issues in the configuration of networks and services and discussed the set of requirements solicited from network operators and protocol developers, as described in RFC3535 , “Overview of the 2002 Network Management Workshop”.

Based upon a rough consensus achieved during these initial discussions, a new IETF working group was convened within the Operations and Management area.  The full charter for the working group, is provided on the NETCONF web page.

The NETCONF working group charter provides key aspects for the protocol design as follow:

  • Provides retrieval mechanisms which can differentiate between
    configuration data and non-configuration data
  • Is extensible enough so that vendors will provide access to all
    configuration data on a device using a single protocol
  • Has a programmatic interface (avoids screen scraping and
    formatting-related changes between releases)
  • Uses a textual data representation, that can be easily manipulated
    using non-specialized text manipulation tools
  • Supports integration with existing user authentication methods
  • Supports integration with existing configuration database systems
  • Supports network wide configuration transactions (with features such
    as locking and rollback capability)
  • Is as transport-independent as possible
  • Provides support for asynchronous notifications

In addition to the key aspects above, the NETCONF charter specifies the use of XML for data encoding purposes, because XML is “a widely deployed standard supported by a large number of applications”.

And significantly for YANG, The NETCONF charter states that the data modeling language for describing configuration and state data should remain independent of the NETCONF protocol.  This NETCONF requirement provided the impetus for the eventual creation of the NETCONF Data Modeling Language (NETMOD) working group, with informal discussions during IETF 70 in Vancouver in December of 2007.

To focus emerging NETMOD discussions, an internet draft on the Requirements for a Configuration Data Modeling Language (draft-presuhn-rcdml) was prepared and a charter established.

The NETMOD working group charter provides key aspects for the data modeling language as follow:

  • Designs a “human-friendly” modeling language with a focus upon readability and ease of use
  • Has semantics for defining:

    • Operational data
    • Configuration data
    • Notifications
    • Operations
  • Uses YANG (draft-bjorklund-netconf-yang) as the starting point
  • Defines standard mapping rules from YANG to the ISO/IEC 19757 Document Schema Definition Languages (DSDL) data modeling framework with additional annotations to preserve semantics
  • Consults with the NETCONF working group so that decisions do not conflict with NETCONF work

Since the pool of participants in the NETCONF and NETMOD working groups overlap to a significant degree, consulting on the implication and potential conflict of decisions would appear to be easily handled.

Summary:

Work on the NETCONF protocol and YANG data modeling language came about due to the realized short comings of using the SNMP, the CLI, and the HTTP and web-based forms as the basis of a consistent and stable mechanism for the configuration of networks and services.

Standards work on the first version of the IETF NETCONF protocol commenced in 2003. This work is currently nearing completion with seven published RFCs and four work-in-progress Internet-Drafts.

Standards work on the YANG data modeling language commenced in 2008. This work is currently proceeding within the IETF NETMOD working group with five work-in-progress Internet-Drafts related to YANG under technical review and discussion.

In our next article, we gain an understanding of the architecture of the NETCONF protocol.

This article is part of a series of articles. To view other articles in this series please follow the NETCONF and YANG tag.