With the upsurge of SDN in recent years, a protocol that has been launched for ten years has attracted people’s attention again. It is the NETCONF protocol.
NETCONF (Network Configuration Protocol) provides a mechanism for managing network devices. Users can use this mechanism to add, modify, and delete the configuration of network devices, and obtain the configuration and status information of network devices. Through the NETCONF protocol, network devices can provide standardized Application Programming Interface, and applications can directly use these API to send and obtain configurations to network devices.
NETCONF is a network configuration and management protocol based on Extensible Markup Language (XML). It uses a simple RPC (Remote Procedure Call) mechanism to achieve communication between clients and servers. The client can be a script or an application running on the NMS.
The advantages of using the NETCONF protocol
NETCONF defines messages in XML format, and uses RPC mechanism to modify configuration information, which can not only facilitate the management of configuration information, but also meet the interoperability between devices from different manufacturers. It can reduce network failures caused by manual configuration errors. It can improve the efficiency of using configuration tools to upgrade system software. Another advantage is good expandability. Different manufacturers can define their own protocol operations to achieve unique management functions. NETCONF provides authentication, qualification and other security mechanisms to ensure the security of message transmission. The basic network architecture of NETCONF mainly consists of several parts
NETCONF Manager, as the Client in the network, is a system management of network devices using NETCONF protocol. It sends a request to NETCONF Server to query or modify one or more specific parameter values. It receives alarms and events actively sent by NETCONF Server to know the current status of the managed device.
NETCONF Agent acts as the server in the network, which is used to maintain the information data of the managed device and respond to the request of NETCONF Manager. After receiving the request from the client, the server will analyze the data and return a response to the client. In case of equipment failure or other events, the server will use the Notification mechanism to actively notify the client of equipment alarms and events, and report the current status changes of the equipment to the client.
The Configuration Datastores
NETCONF defines the existence of one or more configuration datastores and allows them to be configured. A configuration data set is defined as a complete set of configuration data required to bring a device from its initial default state to the desired operational state.
NETCONF Manager obtains information from the running NETCONF Agent, including configuration data and status data. NETCONF Manager can modify the configuration data and migrate the state of NETCONF Agent to the desired state by operating the configuration data. NETCONF Manager cannot modify the status data. The status data is mainly related to the running status and statistics of NETCONF Agent.
Like ISO/OSI, the NETCONF protocol also adopts a layered structure. Each layer wraps an aspect of the protocol and provides related services to the upper layer. Hierarchical structure allows each layer to focus on only one aspect of the protocol, which is simpler to implement. At the same time, reasonable decoupling of dependencies between layers can minimize the impact of changes in the internal implementation mechanism of each layer on other layers.