DevNet Associate (DEVASC) v1.0Infrastructure and AutomationMedium
A network operations team needs a standardized way to define the configuration and operational state of network devices, ensuring interoperability between different vendors and tools. This definition should be human-readable, machine-parsable, and support hierarchical data structures. Which data modeling language is designed for this purpose in network programmability?
- AJSON Schema
- BXML Schema Definition (XSD)
- CSQL
- DYANG
Show answer & explanationAnswer & explanation
Correct answer: D. YANG
YANG (Yet Another Next Generation) is a data modeling language specifically designed for defining the configuration and state data of network devices. It supports hierarchical structures, is human-readable, and can be translated into various data encodings like XML or JSON for machine parsing, ensuring interoperability.
Why the other options are wrong
- A. JSON Schema defines the structure of JSON documents but lacks the specific network-centric features and vendor adoption of YANG for network device modeling.
- B. XSD defines the structure of XML documents but is not specifically designed for network configuration and state, nor is it as widely adopted for this purpose as YANG.
- C. SQL (Structured Query Language) is used for managing relational databases, not for defining network device configuration or operational state.
YANG Data Modeling Language
YANG (Yet Another Next Generation) is a data modeling language used to model configuration data, state data, RPCs, and notifications for network devices. It provides a vendor-neutral, structured way to define data that can be encoded in formats like XML or JSON.
- Defines configuration and state data
- Hierarchical data structures
- Human-readable and machine-parsable
- Vendor-agnostic
- Used with NETCONF and RESTCONF
Memory trick: YANG models the network's state, both config and fate.