NETCONF简介:https://blog.csdn.net/Rong_Toa/article/details/104297006

Table of Contents

一、Modules与Submodules

二、yang数据建模的节点类型

2.1  leaf nodes 

2.2  leaf-list nodes

2.3  container node

2.4  list nodes  

三、state node  

四、内嵌类型

五、其他类型


NETCONF(Network Configuration Protocol),该协议的配置功能非常强大,同时兼顾监控和故障管理,安全验证和访问控制,得到业界的一致认可,被广泛用来配置网络

NETCONF协议分为传输层、RPC层、操作层和内容层。其中,内容层是唯一没有标准化的层,于是一种新的建模语言YANG产生了,它的目标是对NETCONF数据模型、操作进行建模,覆盖NETCONF协议的操作层和内容层

以下详细介绍yang文件的主要元素与语法格式

一、Modules与Submodules

  一个module包含三种类型的声明  

  • module-header statement(模块头声明) —— 描述了该module,给出了module相关的信息。
  • revision statement(版本声明)—— 描述了该module的历史信息。
  • definition statement(定义声明) —— 定义了数据模型的内容部分。

二、yang数据建模的节点类型

2.1  leaf nodes 

  一个leaf nodes包含了像integer或string这样的简单数据,并且没有子节点,如:

  leaf host-name{type string;description "hostname";}

2.2  leaf-list nodes

  一系列的leaf nodes,每个leaf都有特定类型的值

2.3  container node

  将相关的节点归总到一个subtree就是container,只能包含节点,没有值。一个container可能会包含任何类型的任何数量的子节点(包括leafs,lists,leaf-lists以及containers)。  

  yang表示:

container system {container login {leaf message {type string;description"Message given at start of login session";}}}

2.4  list nodes  

  定义了一系列的列表项,通过名为key的leaf值唯一确定,可以包含任意类型、任意数目的子节点(包括leafs,lists,containers)

通过以上四种类型节点的组合,即可定义module

三、state node  

    节点带有"config false"标签时,他的子结构就打上了state data的标签,不可配置,能通过netconf操作获取

四、内嵌类型

   +---------------------+-------------------------------------+| Name                | Description                         |+---------------------+-------------------------------------+| binary              | Any binary data                     || bits                | A set of bits or flags              || boolean             | "true" or "false"                   || decimal64           | 64-bit signed decimal number        || empty               | A leaf that does not have any value || enumeration         | Enumerated strings                  || identityref         | A reference to an abstract identity || instance-identifier | References a data tree node         || int8                | 8-bit signed integer                || int16               | 16-bit signed integer               || int32               | 32-bit signed integer               || int64               | 64-bit signed integer               || leafref             | A reference to a leaf instance      || string              | Human-readable string               || uint8               | 8-bit unsigned integer              || uint16              | 16-bit unsigned integer             || uint32              | 32-bit unsigned integer             || uint64              | 64-bit unsigned integer             || union               | Choice of member types              |+---------------------+-------------------------------------+

五、其他类型

typedef     定义衍生类型
grouping     可重用节点组
refine      重定义  重写特定的声明覆盖原有grouping的定义
choice case   申明分离不相容的节点,类似于java中的switch case
augment     “augment”声明定义了在数据模型树形结构中,新的节点插入的位置。“when”声明了新节点生效的时间。  
RPC(Remote Procedure Call)  yang文件可以定义声明RPC的输入输出参数
notification   yang可以用来为netconf的notification做内容建模

NETCONF YANG语言文件语法格式相关推荐

  1. 一个O-RAN YANG语言文件:o-ran-interfaces.yang

    NETCONF YANG语言文件语法格式:https://blog.csdn.net/Rong_Toa/article/details/104354287 module o-ran-interface ...

  2. c语言语法格式规范(1)常量的非法与合法

    c语言语法格式规范(1)常量的非法与合法 首先确定常量的类型 整型 确定进制,查看各位数的范围是否超界. 8进制常量以前导 0 开始,每位数只能到7 例如:05188 非法 16进制常量以 0x 开始 ...

  3. c语言头文件格式图片_c语言中的.h头文件的格式

    #ifndef __digital_h__ #define __digital_h__ #ifndef __cplusplus extern "C"{ #endif #ifdef  ...

  4. c语言是pdd格式的文件吗,C语言中符号格式说明

    scanf 语法: #include int scanf( const char *format, ... ); scanf()函数根据由format(格式)指定的格式从stdin(标准输入)读取,并 ...

  5. 【SolidWorks相关】无法装入SolidWorks.DLL文件:GdtAnalysisSupport.dll 及 提示方程式语法格式不正确

    问题一: 无法装入SolidWorks.DLL文件:GdtAnalysisSupport.dll 问题二: 提示方程式语法格式不正确 这两个问题都是同样的原因 解决办法 点击 开始 -> 运行, ...

  6. C语言高级知识锦集(一)——头文件的格式

    漫谈头文件 头文件对于刚入门的新人来说是个陌生的东西,什么是头文件呢?它和我们写的.c文件有什么区别呢?这个问题对于我来说有段认识的过程 #include <stdio.h> 早期我接触C ...

  7. 创建ogg文件 c语言,Ogg音频格式文件的样本构造(CVE-2018-5146)

    原标题:Ogg音频格式文件的样本构造(CVE-2018-5146) *严正声明:本文仅限于技术讨论与分享,严禁用于非法途径 下面的所有分析都是在Firefox 59.0 32位上进行的.由于笔者是刚入 ...

  8. ccs读取dat文件c语言程序,CCS中dat文件的格式

    在CCS中,需要处理数据的时候有一种方式是采用load data,这时可以从文件中装入数据到板子的内存,数据文件格式有特定的要求,具体的格式如下: 文件头为 1651             1    ...

  9. c语言请按照格式输出英文诗,C措辞文件包含与头文件写法(国外英语资料).doc

    C措辞文件包含与头文件写法(国外英语资料) 袜厦起佬宽方陵驶金网耳创子恩壤减棚逞涎鞭癌授诊湍支腐写蛛浦峻讼鹰募乌摊念楔渊幌化嘘沼串晨蛹沾单盅粉耻箔薯破炬惑抹坏鄂怕彰干腿讣髓雌愚枯翅喘奏侠薄向憎咬诛隋垒 ...

最新文章

  1. EL表达式和JSTL
  2. reactivecocoa button的几种点击方式
  3. Linux搭建PHP环境(LAMP)
  4. 设置UserAgent让电脑浏览器访问微信手机网站
  5. fail2ban安全设置
  6. 实体类为什么要用包装类而不用基本类型
  7. 计算机辅助技术课设,《计算机辅助设计技术》课程标准-20210311103339.doc-原创力文档...
  8. CTFHUB 《基础认证》:burp使用,basic请求了解
  9. linux: sort用法
  10. js call与apply函数
  11. 基于微信小程序开发——音乐播放器
  12. Unity开发手游在Android平台的内存优化
  13. miui11稳定版获取完整root_MIUI11系统怎么样刷入开发版获得Root超级权限
  14. python必备常用英语词汇
  15. Android开发的经典入门教材和学习…
  16. [转帖]全球软件市场格局变化
  17. 极线约束(epipolar constraint)
  18. cad2014卡顿的解决方法_cad2014画直线卡顿怎么回事
  19. 使用计算机编辑文档的同时,小学信息技术2-2-用计算机编辑文档(北京版).doc
  20. 做网站必须托管服务器吗,做网站必须托管服务器吗

热门文章

  1. 【钉钉PC】PC端钉钉清除缓存
  2. 我的学习之路_第十四章_反射
  3. dijkstra+priority_queue+vector
  4. 杭电1710 (已知二叉树前中序 求后序)
  5. 深入浅出ObjC之消息 (转)
  6. 最短路径之dijkstra算法的C语言实现
  7. signature pad java_2020-07-08 JSsignature_pad 无纸化电子签名
  8. python 灰度直方图_python3+opencv 使用灰度直方图来判断图片的亮暗操作
  9. 双时隙的工作原理_提高频点利用 海能达双时隙功能效率高
  10. python批量生成word报告_Python操作Word批量生成合同的实现示例