YANG
In Network management systems, it is necessary to get/set parameters that reflect the state of the equipment being managed. So there is a need to represent data and there is a need to retrieve/set the data. So, any network management protocol would configure and get status/notifications from the equipment.
There are various protocols to get/set the data. Ex: SNMP, NetConf, TL1 etc. Each protocol also creates its own data format, which the protocol needs to understand/interpret. Building network management systems also becomes cumbersome, since there is an inevitable need for integration across various NMS systems into OSS systems. Companies earmark good budget for building the NMS systems - reasonable chunk of time of which goes into defining the data format. YANG, a data modeling language, cuts across all of these protocols and creates a well-defined standard that could be used by any protocol.
'YANG' [1] is a data modeling language for the NETCONF network configuration protocol. The YANG data modeling language was developed by the NETMOD working group in the IETF and was published as RFC 6020 in October 2010. The data modeling language can be used to model both configuration data as well as state data of network elements. Furthermore, YANG can be used to define the format of event notifications emitted by network elements and it allows data modelers to define the signature of remote procedure calls that can be invoked on network elements via the NETCONF protocol.
YANG is a modular language representing data structures in an XML tree format. The data modeling language comes with a number of builtin data types. Additional application specific data types can be derived from the builtin data types. More complex reusable data structures can be represented as groupings. YANG data models can use XPATH expressions to define constraints on the elements of a YANG data model.
References
External links
- MG-SOFT Visual YANG Designer, a user friendly YANG definition file creator/editor/modeler/builder/designer, based on MG-SOFT's own YANG compiler, implemented in Java.
- ChampNMS MasterYANG, MasterYANG is a NETCONF YANG Data Model Designer, Visualizer and Editor.
- yangbuilder, a groovy builder for YANG.