boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

YANG建模语言


avatar
yuhui 2025年10月21日 45

YANG建模语言

YANG(yet Another Next Generation)是一种数据建模语言:

定义了数据的层次化结构,可用于基于NETCONF的操作,建模对象包括配置,状态数据,远程过程调用和通知,可以对NETCONF客户端和服务器端之间发送的所有数据进行一个完整的描述

特点

·基于层次化的树状结构建模

·数据模型以模块和子模块呈现

·可以和基于XML的语法YIN(YANG Indepent Notation)模型无损转换

·定义内置的数据类型和允许可扩展类型

YANG模型最终呈现以.yang为后缀的文件

1741926376843-d5eacf19-70ae-44e3-a09d-bfc567f83483.png

Module:

一个YANG文件通常定义一个模块module或子模块submodule,两个均可以引用其他模块模型文件,通过引用使用其他模块定义的数据类型和结构

·模块包含多个声明:

-YANG版本信息

-YANG命名空间

-机构信息

-联系人

-文件描述

-修订信息

1741926376860-8abbf081-b08e-4785-b717-6f2904f3cb39.png

Leaf Node:

leaf节点用于定义一个简单指定类型的变量,使用leaf关键字声明

在leaf节点内有子声明和值,没有子节点,下例中host-name有两个子声明type和description

type为取值类型

description为描述

1741926376841-f125ab52-7568-4936-af99-863f462fd439.png

1741926376823-2c5c464a-2648-42d9-9c8b-e5312ca04a27.png

leaf list:

定义一个数组类型变量

1741926376944-883dc131-ed6e-44b4-8788-76e196561213.png

1741926377162-693ddcf4-1571-4c95-bfa7-17b070892e7b.png

List nodes:

List节点用于定义一个更高层次的数据节点,一个List节点使用key唯一标识,可以包含多个leaf节点

1741926377217-d89727a5-7bd5-42aa-956b-3184b92b5aec.png

1741926377258-5475f5d3-926d-470a-81a0-4683f5911e08.png

Container Nodes:用于定义更大范围的数据集合,

该节点没有值,只是不同的子节点,这些子节点可以是container、leaf、leaf-list和list等

1741926377221-3468515c-e9a5-4a49-8ca3-9e49412997d9.png

1741926377229-8577dbed-c704-4ce7-9a49-c59b56d9a007.png

Grouping:

定义可以重复使用的节点,一般和uses一起用,下例target定义了leaf address和port

container peer中声明use target 表示复用leaf模型

1741926377469-a8c2ea3b-5557-4863-b488-445b8c156027.png

配置数据和状态数据

YANG文件可以申明数据类型

config声明用于区分配置数据和状态数据

config true表示配置数据

config false表示状态数据

1741926377484-213ee59b-8e74-429d-ac93-64623c3a1921.png

数据类型:

YANG模型支持内置默认数据类型和扩展的数据类型,typedef申明用于新定义扩展数据类型

1741926377464-a4c9d282-e289-47e2-bb91-5034900a2591.png1741926377580-14e07a8f-7c66-443d-98b7-0d83f48baaf2.png

加载YANG模型

在NETCONF客户端加载YANG文件,通过工具实现YANG文件转换为NETCONF消息下发到设备

1741926377480-c223d287-f5cf-4dd2-97cc-351a886ce717.png

更新: 2025-03-14 12:26:21
原文: https://www.yuque.com/yuhui.net/network/ggof6gto7w8vq2n5



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码