One of my client using NETCONF, I don't know the purpose. I started to some research and read some documents and find-out, why/what/when NETCONF came into picture.
Why?
SNMP failed:
Simple Network Management Protocol. SNMP supports cable modems, routers, switches, servers, workstations, printers, and more. It's a standard protocol collecting and organising information about devices on network and also updates information that change device behaviour.
SNMP is simple to implement but not simple to use while dealing with configurations.
Easy to Use:
Very easy use when compared to development.
Network wide Transactions:
Most of the operators not concerned about every single device. They want configure a set network devices at the same time. This task is very easy while using NETCONF.
Transactional Base Configuration:
While updating set of configuration if any configuration is failed we want revert/delete some other configuration. This behaviour is achieved using Transactional Base Configuration.
Network Validations:
Another feature that used to validates the configurations of the network not each device. Which help to stop wrong validation at network level not on device level.
- Distinction between configuration and state data
- Multiple configuration data stores (candidate, running, startup)
- Configuration change transactions
- Configuration testing and validation support
- Selective data retrieval with filtering
- Streaming and playback of event notifications
- Extensible procedure call mechanism
What is NETCONF ?
NETCONF is a protocol defined by the IETF to “install, manipulate, and delete the configuration of network devices”. NETCONF operations are realized on top of a Remote Procedure Call (RPC) layer using an XML encoding and provides a basic set of operations to edit and query configuration on a network device.
Why NETCONF vs. Other Approaches:
CLI scripting was the primary approach to making automated configuration changes to the network prior to NETCONF. CLI scripting has several limitations including lack of transaction management, no structured error management and ever changing structure and syntax of commands that makes scripts fragile and costly to maintain. These are all side-effects of the basic fact that CLIs are designed to be used by humans and not an API for programmatic access.
SNMP is another approach that could be used to write changes, but, in practice, is mostly used for performance and monitoring applications. Reasons for this include the lack of a defined discovery process that makes it hard to find the correct MIB modules, limitations inherent in the use of the UDP protocol, and the lack of useful standard security and commit mechanisms.
Key NETCONF Capabilities:
The NETCONF protocol was designed to address the shortcomings of existing practices and protocols for configuration management. The background work preceding the design phase has been documented in RFC 3535 Overview of the 2002 IAB Network Management Workshop. The design goals from that work includes:
key
characteristics:
- Unified YANG modeling for both services and devices.
- One database that combines device configuration and service configuration.
- Rendering of northbound and southbound interfaces and database schemas from the service and device model. Northbound are the APIs published to users of NCS, be it human or programmatic interfaces. Southbound is the integration point of managed devices, for example NETCONF.
- A transaction engine that handles transactions from the service order to the actual device configuration deployment.
- An in-memory high-performance database.
No comments:
Post a Comment