What is NETCONF (Network Configuration Protocol)?
The Network Configuration Protocol (NETCONF) is a filtering-capable XML-based protocol for network management. It offers fully programmable means of controlling and configuring the operation of networking equipment. You can set the device parameters, get the parameter values, and obtain statistical information using it. Furthermore, it shortens the time allotted for managing the setup of network devices. In this case, rather than manually configuring everything, NETCONF does automatically. NETCONF is a network management protocol that uses a simple remote procedure call (RPC) mechanism to interact with network devices. It is designed to work with the Simple Network Management Protocol (SNMP) and uses an Extensible Markup Language (XML) data encoding format. It allows network administrators to configure, monitor, and troubleshoot network devices remotely, making it a valuable tool for managing large and complex networks. In a setup like the one shown above, tools like Ansible and Python can be used on Management PC to configure routers through Network Configuration Protocol. The two required things on the router will be the SSH configurations and enabling the NETCONF. The Data Structuring Language used by the Network Configuration Protocol is XML (Extensible Markup Language), meaning the payload you want to push on the device should be in XML format. If it’s in any other format, you need to convert it first. For instance, if it’s in JSON, you should use a JSON to XML converter. NETCONF was introduced to address the limitations of SNMP and CLI. Netconf base protocol was first introduced in late 2006 as an RFC 4741 NETCONF Configuration Protocol by NETCONF working groups. In 2011, the revised version was published as RFC 6241, and today it’s the most current version. Several RFCs have been published by Internet Engineering Task Force (IETF). Some of the supporting RFCs published by IETF are: The RFCs, as mentioned above, were updated in 2011 and became: Let’s move on and understand why we needed this protocol in the first place. It includes at least one network management system (NMS) that manages network devices. The following diagram depicts Network Configuration Protocol’s fundamental network architecture. There are two main parts to the NETCONF framework: the client and the server. The following are some of the services that a client may offer: A Network Configuration Protocol client will send a request to the server, which will then analyse the request before responding to the client. As can be seen in the illustration, Network Configuration Protocol may be conceptually divided into four layers. Before we discuss the abilities of Network Configuration Protocol, let’s quickly understand the difference between Configurational and Operational data. Everything which you can write on a device is configuration data, for example, interface state and the IP address assigned to the interface; on the other hand, Operational data, also known as read-only status data, is non-configurational, for example, the number of packets that were dropped, number of packets sent or received, or overall interface traffic statistics. It provides a set of operations that can be used to manage the device (depending on the NETCONF compatibility of the device.). Actions are performed upon the network device (and its data stores) via a set of operations. Let’s understand these operations one by one. The operation <edit-config> can be used with different attributes based on the requirement. The several supported attributes are: Back in 2002, when the IAB (Internet Architecture Board) and IETF (Internet Engineering Task Force) set up a workshop with network operators to address the concerns of network operators on issues related to network management, they realized that the industry was extensively dependent upon the SNMP (Simple Network Management Protocol) for the network management. SNMP is a great protocol when it comes to monitoring the devices, especially when the information is limited. But SNMP wasn’t good enough to be used for configuration purposes. Some of the requirements that operators listed that they wanted were: Network Configuration Protocol was the output that fulfilled the requirements mentioned above. NETCONF is a network management protocol that provides several key capabilities for configuring and monitoring network devices. Some of these capabilities are: NETCONF is a Model Driven Programmability method as it works according to the rules defined in data models written in YANG. Let’s get deeper into how these data models are used. For example, let’s consider a data model for describing the information related to a person. Gender – Male/Female/Other Height – Feet/Inches/Meters/Centimetres Weight – Kilograms/Pounds Name – Maximum 15 Alphabets allowed Contact Number – Only numbers are allowed By using this data model for collecting information from a group of people, I can ensure that I am collecting only valid data. Similarly, it uses Data Models to ensure that the appropriate data hierarchy is there. YANG data models provide a clear and concise structure through modules and submodules, which can be used to manage devices. If the request made by the client is successfully validated, then the server processes the request and returns a response to the client in the form of another XML message. The response may contain the information requested by the client or a status message indicating the result of the operation. Here are some use cases of NETCONF: Despite many advantages of NETCONF, there are some challenges associated with it: The future of NETCONF is tied up with network automation and Artificial Intelligence. As networks become more complex, NETCONF will continue to evolve, offering deeper automation capabilities. As the networking industry moves towards automation, Artificial Intelligence, and Machine Learning, NETCONF will play an important role in providing the framework for dynamic, programmable networks. NETCONF is a protocol that allows network devices to be configured and managed remotely. It uses XML-based data encoding and a client-server model to exchange configuration data between network nodes. It can be used for various purposes, such as monitoring network status, applying security policies, or updating software versions. NETCONF uses XML-based data encoding and Remote Procedure Calls (RPCs) to communicate with network devices. It can use different transport protocols to establish a secure session between a client and a server. NETCONF is a network management protocol that operates over TCP. Unlike UDP, TCP provides reliable and ordered delivery of data between applications. The full form of NETCONF is Network Configuration Protocol. Network vendors and operators widely adopt NETCONF as a standard network configuration and management protocol. It is constantly evolving to meet the needs of modern networks. To learn more about it, you can check out some of the frequently asked questions (FAQs) discussed in this blog. NETCONF is an integral part of software-defined networking (SDN) and is used to manage devices in modern networks. It provides a great ability to automate the tasks of a large number of devices to the network administrator resulting in less requirement of time and effort to maintain the network.Introduction
What is NETCONF?
History and Evolution of NETCONF
How does NETCONF works?
NETCONF Protocol Architecture
NETCONF Operations
<get> To fetch operational data from the device. <get-config> To fetch the configurational data from the device. <edit-config> To push/load configuration on the device. <copy-config> To replace a set of configurations with new configurations. <delete-config> To delete a set of configurations. <commit> To copy the candidate configurations to running configurations. <lock>/<unlock> To lock or unlock the configurations. <close-session> To close the session. <kill-session> To forcefully terminate the session.
NETCONF vs. SNMP
Key NETCONF Capabilities
Why do we call NETCONF a part of Model Driven Programmability?
Network Configuration Protocol Use Cases
Challenges associated with NETCONF
Future of NETCONF
Frequently Asked Questions
Q1 – What is NETCONF used for?
Q2 – What protocols are used by NETCONF?
Q3 – Is NETCONF TCP or UDP?
Q4 – What is the full form of NETCONF?
Conclusion –