Data Models—Scope, Need, and Benefits
Data models can be used to automate configuration tasks across heterogeneous devices in a network.
Configuration data: A set of writable data that is required to transform a system from an initial default state into its current state. For example, configuring entries of the IP routing tables, configuring the interface MTU to use a specific value, configuring an ethernet interface to run at a given speed, and so on.
Operational state data: A set of data that is obtained by the system at runtime and influences the behavior of the system in a manner similar to configuration data. However, in contrast to configuration data, operational state data is transient. The data is modified by interactions with internal components or other systems using specialized protocols. For example, entries obtained from routing protocols such as OSPF, attributes of the network interfaces, and so on.
Actions: A set of NETCONF actions that support robust network-wide configuration transactions. When a change is attempted that affects multiple devices, the NETCONF actions simplify the management of failure scenarios, resulting in the ability to have transactions that will dependably succeed or fail atomically.
Data models provide a well-defined hierarchy of the configurational and operational data of a router, and NETCONF actions. The data models are programmed to provide a common framework of configurations to be deployed across networks. This common framework helps to program and manage a network with ease.
For more information about Data Models, see RFC 6244.
Typically, a network operation center is a heterogeneous mix of various devices at multiple layers of the network. Such network centers require bulk automated configurations to be accomplished seamlessly.
CLIs are widely used for configuring and extracting the operational details of a router. But the general mechanism of CLI scraping is not flexible and optimal. Small changes in the configuration require rewriting scripts multiple times. Bulk configuration changes through CLIs are cumbersome and error-prone. These limitations restrict automation and scale.
To overcome these limitations, Cisco IOS XR supports a programmatic way of writing configurations to any network device using data models.
Data models help to manipulate configuration data, retrieve operational data, and perform actions. The data models replace the process of manual configuration and are written in an industry-defined language. Although configurations using CLIs are easier and human-readable, automating the configuration using data models results in scalability.
The data models provides access to the capabilities of the devices in a network using Network Configuration Protocol (NETCONF) or gRPC (google-defined Remote Procedure Calls) protocols. The operations on the router are carried out by the protocols using YANG models to automate and programme operations in a network.
The process of automating configurations in a network is accomplished using the core components - router, client application, YANG model and communication protocols.
Provide a common model for conﬁguration and operational state data, and perform NETCONF actions.
Use protocols to communicate with the routers to get, manipulate and delete configurations in a network.
Automate configuration and operation of multiple routers across the network.