YANG语言、YANG数据模型、YANG数据

YANG语言

  • 描述数据类型的语言,最初是为网络数据模型设计的。
  • 结构化语言。
    • 每个数据模型都是一个module独立的顶级节点层次结构。
    • 数据类型可以imported来自另一个YANG模块,也可以在模块中定义。
    • containers对相关节点分组。
    • lists表示按顺序存储的节点。
    • leaf表示节点的每个单独属性。
    • 每个叶子必须有一个相关的type
module ietf-interfaces {
  import ietf-yang-types {
    prefix yang;
  }
  container interfaces {
    list interface {
      key "name";
      leaf name {
        type string;
      }
      leaf enabled {
        type boolean;
        default "true";
    }
}

YANG模型

https://github.com/YangModels/yang

使用pyang

  • 用python写的一个YANG转换器。

YANG在网络设备数据中的使用

  • 使用带有XML(数据格式)的NETCONF(传输协议)通信。
  • 也可以使用RESTCONF并提供JSON作为备用数据选项。
  • 发送到网络设备或从网络设备发送的YANG数据将根据协议格式化为XML或JSON(例如:NETCONF或RESTCONF)。
    YANG语言、YANG数据模型、YANG数据_第1张图片
  • 从网络设备返回的数据示例如下:
 
     
         GigabitEthernet2
         WAN Interface
         ianaift:ethernetCsmacd
         true
         
             
172.16.12.1 255.255.255.0
  • 容器接口:...
    • xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"标识特定的YANG模型
  • 各个接口列表:..
  • 叶属性:.. .. ..

你可能感兴趣的:(网络技术)