What is NETCONF protocol?
NETCONF Protocol – Network Configuration Protocol
Network monitoring systems are tasked with ensuring the availability and performance of computers and network services and can detect and report on failures of devices or connections by deploying NETCONF/SNMP in device. Content of this article will have following sub sections :-
- Definition
- Types
- Notification
- Operation
- Key points
Definition
NETCONF is a protocol that that can manage, configure and install new configuration of network device. Its operations are realized on top of an easy Remote Procedure Call (RPC) layer. NETCONF uses Extensible Markup Language (XML) based on data encoding for protocol messages. The protocol messages are exchanged on the top of a secure transport protocol.
NETCONF is primarily intended to be used as a device configuration mechanism, whereas SNMP is ordinarily used for monitoring, polling, and fault notification. Both protocols report management information that’s useful to NNMi. NETCONF is the (only) candidate to replace CLI for configuration management of programmable networks. In terms of SDN, NETCONF is usually referenced as a southbound API from an SDN controller to network agents like switches and routers due to its potential for supporting multi-vendor environments.
Types
The NETCONF protocol are often conceptually partitioned into four layers:
- The Content layer has a configuration data and notification data.
- The Operations layer defines a set of base protocol operations to retrieve and to edit the configuration data.
- The Messages layer is responsible for encoding remote procedure calls (RPCs) and notifications.
- The Secure Transport layer features a secure and reliable transport of messages between a client and a server.
Related – Openflow vs NETCONF
NETCONF Notification
It is an event indicating that a configuration change has occurred. The change can be a replacement configuration, deleted configuration, or changed configuration. The notifications are sent at the end of a successful configuration that shows the set of changes.
Operations
NETCONF is an XML-formatted command and response protocol that runs primarily over Secure Shell (SSH) transport. The NETCONF protocol is analogous in some ways to traditional device console Command Line Interface (CLI), except that the XML-formatted commands and results are designed for management applications. Details of NETCONF communication between NNMi and therefore the managed device are transparent to the NNMi user. However, the subsequent overview could also be helpful for troubleshooting:
- A NETCONF client establishes an SSH connection with the NETCONF server on the managed device. Valid SSH user name and password credentials must be specified by the client and authenticated by the device.
- The client application and device exchange capabilities in the form of <hello> messages.
- The client initiates requests to the device in the form of Remote Procedure Call (RPC) messages; including standard <get> or <get-config> operations, plus any vendor-specific operations that are defined for the device.
- The device responds with results of the operations within the sort of RPC reply messages.
- When the client application has finished sending requests and processing the responses, it sends a <close-session> RPC message to the device.
- The device acknowledges with an <ok> RPC reply message.
- Finally, both sides terminate the SSH connection.
Key Points
- TCP port 830 assigned to NETCONF by IANA.
- NETCONF develop by the IETF.
- NETCONF is a Connection-Oriented protocol.
- NETCONF must provide authentication, data integrity, confidentiality and replay protection.
- NETCONF implementation support the SSH transport protocol mapping.
- The NETCONF protocol has been implemented in network devices like routers and switches by some major equipment vendors.
- NNMi uses NETCONF to gather information about the device during discovery or rediscovery. NNMi doesn’t use NETCONF to modify device configurations or to watch status or performance metrics.
- NETCONF may be a relatively new management protocol therefore it’s not as widely available across device vendors as compared to SNMP.