早在2003年,IETF成立了一个NETCONF工作组,提出一种基于XML的网络配置管理协议,也就是NETCONF(Network Configuration Protocol),因为该协议的配置功能非常强大,同时兼顾监控和故障管理,安全验证和访问控制,所以得到业界的一致认可,所以广泛采用netconfig来配置网络。 NETCONF协议分为传输层、RPC层、操作层和内容层。其中,内容层是唯一没有标准化的层,于是一种新的建模语言YANG产生了,它的目标是对NETCONF数据模型、操作进行建模,覆盖NETCONF协议的操作层和内容层 YANG模型是网络配置管理领域的一种重要建模语言,它起源于IETF的NETCONF(Network Configuration Protocol)工作组。NETCONF是一种基于XML的协议,旨在为网络设备提供配置、监控和故障管理等功能,并具备安全验证和访问控制机制。由于内容层在NETCONF协议中未被标准化,YANG语言应运而生,旨在对NETCONF的数据模型和操作进行建模,涵盖了NETCONF的操作层和内容层。 YANG模型的核心概念包括: 1. **Module**:YANG模块是其基本构建单元,它定义了一组相关功能。模块由多个语句组成,包括头部信息(如yang-version、namespace和prefix)、链接语句(import和include)、元信息(如organization和contract)、revision历史以及各种定义语句(如container、leaf、leaf-list和grouping)。模块定义了一个独立的逻辑实体,可以被其他模块引用或包含。 2. **Submodule**:子模块是模块的一部分,用于模块的细分和组织。子模块通过belongs-to语句与主模块关联,并且只能被其归属的主模块或同属主模块的其他子模块包含。子模块不能直接import其父模块,也不能被其他非关联模块引用。 3. **Namespace**:每个YANG模块都属于一个特定的XML命名空间,由一个URI指定。命名空间确保了模块中定义的节点具有唯一性,避免了名称冲突。 4. **Import and Include**:import语句用于引入其他模块的功能,而include语句则将一个子模块的定义合并到主模块中。通过指定revision-date,可以引入特定版本的模块,这有助于维护模块的演化和向后兼容性。 5. **Data Types**:YANG提供了丰富的内置数据类型,包括整型(int8、int16、int32、int64及它们的无符号版本u8、u16、u32、u64)、浮点型(decimal64)、字符串(string)、长度和模式限制的字符串(length和pattern)、枚举(enumeration)和布尔型(bool)。这些数据类型用于定义配置和状态数据的结构。 6. **Other Elements**:除了上述元素,YANG还包括容器(container)来组织数据结构,叶子(leaf)表示单个值,leaf-list表示有序的叶子列表,grouping则是可重用的数据结构定义。此外,还有身份标识符(identity)、类型定义(typedef)、列表(list)等,共同构成了YANG的完整建模能力。 YANG模型的使用使得网络设备的配置更加标准化和模块化,促进了网络管理和自动化。通过YANG,开发者可以创建可扩展的、结构化的数据模型,从而更高效地实现网络配置、监控和故障排查。此外,YANG模型还可用于SDN(Software-Defined Networking)环境中,帮助控制器与网络设备之间进行数据交换和管理。
剩余31页未读,继续阅读
- 粉丝: 1
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 格拉姆角差场一维数据转换二维图像的方法(Matlab代码和数据)
- 微信小程序打卡.zip
- vscode 远程连接使用的server服务端
- 格拉姆角和场一维数据转换二维图像的方法(Matlab代码和数据)
- 利用ne555单稳态模式实现声光控延时灯(multisim仿真)
- 局部最大同步压缩变换一维数据转换二维图像的方法(Matlab代码和数据)
- 开源中件间zookeeper和kafka客户端配置,用于运维人员了解开发人员如何使用代码环节对接zookeeper和kafka
- 微信小程序开发地图demo,地图导航、标记标注.zip
- 离散韦格纳分布Discrete Wigner-Ville Distribution一维数据转换二维图像的方法(Matlab代码和数据)
- 连续小波变换一维数据转换二维图像的方法(Matlab代码和数据)