
The traditional way to manage network devices is through the use of Command Line Interfaces (CLI) for configuration (configuration commands) and operational commands (show commands). For network administration, the simple network management protocol (SNMP) is widely used, especially to exchange management information between various network devices. Although CLIs and SNMPs are widely used, they have several restrictions. CLIs are highly proprietary, and human intervention is required to understand and interpret their text-based specification. SNMP does not distinguish between configuration and operational data.
The solution is to adopt a programmatic and standards-based way of writing configurations on any network device, replacing the manual configuration process. Network devices running on Cisco IOS XE support the automation of the configuration of multiple devices on the network using data models. Data models are developed in a standard language defined by the industry that can define the configuration and status information of a network.
Cisco IOS XE supports the Yet Another Next Generation (YANG) data modeling language. Use YANG with the Network Configuration Protocol (NETCONF) to provide the desired solution of automated and programmable network operations. NETCONF (RFC 6241) is an XML-based protocol that client applications use to request information and make configuration changes on the device. YANG models the configuration and status data used by NETCONF operations.
In Cisco IOS XE, model-based interfaces interact with the CLI, Syslog, and SNMP interfaces of the existing device. These interfaces are exposed to the north of the network devices. Use YANG to model each protocol based on RFC 6020.