SNMP Netconf Yang
SNMP Netconf Yang
SNMP- NETCONF-YANG
Outline
• Automating Configuration
• Monitoring Operational & Statistical Data
• Improved Reliability
• System Wide Configurations
• Multiple System Configurations
• Retrieving & Reusing Configurations
Need for IoT Systems Management
Managing multiple devices within a single system requires advanced management capabilities.
Automating Configuration : IoT system management capabilities can help in automating the system
configuration.
Monitoring Operational & Statistical Data : Management systems can help in monitoring opeartional and
statistical data of a system. This data can be used for fault diagnosis or prognosis.
Improved Reliability: A management system that allows validating the system configurations before they are
put into effect and can help in improving the system reliability.
System Wide Configurations : For IoT systems that consists of multiple devices or nodes, ensuring system wide
configuration can be critical for the correct functioning of the system.
Multiple System Configurations : For some systems it may be desirable to have multiple valid configurations
which are applied at different times or in certain conditions.
Retrieving & Reusing Configurations : Management systems which have the capability of retrieving
configurations from devices can help in reusing the configurations for other devices of the same type.
Network Operator Requirements
• 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.
NETCONF
• YANG is a data modeling language used to model configuration and state data
manipulated by the NETCONF protocol
• YANG modules contain the definitions of the configuration data, state data, RPC calls that
can be issued and the format of the notifications.
• YANG modules defines the data exchanged between the NETCONF client and server.
• A module comprises of a number of 'leaf' nodes which are organized into a hierarchical
tree structure.
• The 'leaf' nodes are specified using the 'leaf' or 'leaf-list' constructs.
• Leaf nodes are organized using 'container' or 'list' constructs.
• A YANG module can import definitions from other modules.
• Constraints can be defined on the data nodes, e.g. allowed values.
• YANG can model both configuration data and state data using the 'config' statement.
IoT Systems Management with NETCONF-
YANG
• Management System
• Management API
• Transaction Manager
• Rollback Manager
• Data Model Manager
• Configuration Validator
• Configuration Database
• Configuration API
• Data Provider API
IoT Systems Management with NETCONF-YANG
Management System : The operator uses a management system to send NETCONF messages to configure the
IoT device and receives state information and notifications from the device as NETCONF messages.
Management API : allows management application to start NETCONF sessions.
Transaction Manager: executes all the NETCONF transactions and ensures that ACID (atomicity, consistency,
isolation, and durability) properties hold true for the transactions.
Rollback Manager : is responsible for generating all the transactions necessary to rollback a current
configuration to its original state.
Data Model Manager : Keeps track of all the YANG data models and the corresponding managed objects. Also
keeps track of the applications which provide data for each part of a data model.
Configuration Validator : checks if the resulting configuration after applying a transaction would be a valid
configuration.
Configuration Database : contains both configuration and operational data.
Configuration API : Using the configuration API the application on the IoT device can read configuration data
from the configuration data store and write operational data to the operational data store.
Data Provider API: Applications on the IoT device can register for callbacks for various events using the Data
Provider API. Through the Data Provider API, the applications can report statistics and operational data.