YANG建模语言

YANG语言概述

  • YANG是一种数据建模语言。
  • YANG模型定义了数据的层次化结构,可用于基于NETCONF的操作。建模对象包括配置、状态数据、远程过程调用(RPC)和通知。它可以对NETCONF客户端和服务器端之间发送的所有数据进行一个完整的描述。(YANG模型最终呈现是.yang为后缀的文件)
  • YANG语言的特点:
  • 基于层次化的树状结构建模。
  • 数据模型以模块(module)和子模块(submodule)呈现。
  • 可以和基于XML的语法YIN模型无损转换。
  • 定义内置的数据模型和允许可扩展类型。

YANG语言语法

Leaf Node

  • Leaf节点用于定义一个简单指定类型的变量,使用关键字“leaf”申明。
  • 在Leaf节点内有子声明和值,没有子节点
  • 下面例子中“host-name”内有两个子声明:“type”和“description”。
  •  	“type”表示取值的类型。
    
  •  	“description”为描述。
    

在这里插入图片描述

Leaf List

  • Leaf List用于定义一个数组类型变量,使用“leaf-list”关键字申明。
  • 下面例子中“domain-search”内含有两个子声明:"type"和”description“。
    在这里插入图片描述

List Nodes

  • List节点用于定义一个更高层次的数据节点。一个List节点使用”key“唯一标识,可以包含多个leaf节点。
    在这里插入图片描述

Container Nodes

  • Container节点用于定义更大范围的数据集合。
    在这里插入图片描述

Grouping

  • Grouping用于定义可以重复使用的节点,一般和uses一起使用。下面例子中target定义了leaf address和port。Container peer中声明use target,表示复用此leaf模型。
    在这里插入图片描述

配置数据和状态数据

  • YANG文件可以申明数据类型。
    在这里插入图片描述
    ”config“声明用于区分配置数据和状态数据:
  • config true表示配置数据。
  • config false表示状态数据。

如何加载YANG模型?

  • 在NETCONF客户端(例如网管平台/SDN控制器)加载YANG文件。通过工具实现YANG文件转换为NETCONF消息下发到设备。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值