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?

  1. AJSON Schema
  2. BXML Schema Definition (XSD)
  3. CSQL
  4. DYANG
Show answer & 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.

More Infrastructure and Automation questions