NETCONF Network Configuration Protocol (NETCONF) is a session-based network management protocol. NETCONF allows retrieving state or configuration data and manipulating configuration data on network device. NETCONF provides a clear separation of the configuration and state data . NETCONF uses XML-encoded Remote Procedure Calls (RPCs) for framing request and response message NETCONF protocol layers .
The NETCONF protocol is built on a four-layer approach : 1) Secure Transport Layer : Authentication and integrity can be provided by protocols such as TCP-based TLS and SSHv2. 2) Message Layer : A set of RPC messages and notifications are defined for use including < rpc >, < rpc -reply> and < rpc -error>. 3) Operations Layer : Defines a set of base protocol operations invoked by RPC methods using XML-encoding. These include <get-config>, <edit-config> and <get>. 4) Content Layer : NETCONF data models and protocol operations use the YANG modeling language. A data model outlines the structure, semantics and syntax of the data
Basic feature of NetConf . 1. Separates configuration and operation data 2. Client-server architecture. 3. Implemented using layered model._ 4. Support multiple configuration data stores on managed devices. 5.. Configuration validation before commit. 6. Transactions over multiple managed devices
SNMP SNMP network management protocol , used for Collecting information from, and allows monitoring and configuring network devices such as routers, switches, servers, printers, etc. SNMP component include • Network Management Station (NMS) • Managed Device • Management Information Base (MIB) • SNMP Agent that runs on the device Network Management Station (NMS) executes SNMP commands to monitor and configure the Managed devices. The Managed device contains the MIB which has all the information of the device attributes to managed
MIS use the structure of the Management Information (SMI) notation for defining the structure of the management data Limitations of SNMP • SNMP is stateless in nature and each SNMP request contains all the information to process the request. The application needs to be intelligent to manage the device. • SNMP is a connectionless protocol which uses UDP as the transport protocol, making it unreliable as there was no support for acknowledgement of requests. • MIBs often lack writable objects without which device configuration is not possible using SNMP. • It is difficult to differentiate between configuration and state data in MIBs • Retrieving the current configuration from a device can be difficult with SNMP. • Earlier versions of SNMP did not have strong security features
IoT device Management with NETCONF-YANG . It consists of components like Management System, Management API, Transaction Manager, Rollback Manager, Data Model Manager, Configuration Validator, Configuration Database, Configuration API and Data Provider API.
Management System : Operator sends NETCONF messages for configuring IoT device through management system. It also receives notification and state information. Management API : It used to start the NETCONF sessions , read and write configuration data, invoke RPC, read state data etc.; Transaction Manager : It executes all the NETCONF transaction and ensures the ACID properties. Rollback Manager : It generate required transactions for rollback a current configuration to its original state. Data Model Manager : It keep the track of all the YANG data model and corresponding managed objects. Configuration Validator : It checks for valid configuration . Configuration Database : This database contains both the configuration and operational data. Configuration API : Used for reading configuration data from the configuration data store.
NETOPEER NETOPEER Set of open source NETCONF Tools built on libnetconf library. It allows operators to connect to their NETCONF-enabled devices as well as developers to allow control their devices via NETCONF.
Netopeer Server : NETCONF Protocol server that runs on managed device. Provides an environment for configuring the device using NETCONF RPC operations and also retrieving the state data from the device Netopeer Agent : NETCONF Protocol agent running as a SSH/TLS subsystem Accepts incoming NETCONF connection and passes the NETCONF RPC operation received from the NETCONF client to the Netopeer server. Netopeer Cli : NETCONF client that provides command line interface for interacting with the Netopeer server. Netopeer Manager : managing YANG and Libnetconf Transaction API Modules on Netopeer server. Netopeer configurator : configures Netopeer server.