yang语言教学文案.pdf

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
YANG -NETCONF 数据建模语言 YANG 是一种被用来为 NETCONF 协议建模的语言。 一个 YANG module 定义了具 有垂直结构的数 据,这些数据可 以被用做基于 NETCONF 的 operations,比如 configuration ,state date,RPCs,以及 notifications 。它使得 NETCONF 的 client 和 server 之间能有完整的数据描述。 YANG 建模得到的数据具备树形结构。其中每一个节点都有一个名字,都有一个 值或者一些子节点。 YANG 为这些节点,以及节点之间的交互提供明确清晰的描述。 YANG 使用 modules和 submodule 进行数据建模。一个 module 能够从其他外部的 modules 中导入数据,也可以从 submodules 中包含数据。 YANG 定义的垂直结构可以 扩展,使得一个 module 能够增加数据节点给另一个 module。这种扩展是有条件的, 只 有特定条件满足,新的数据节点才会出现。 YANG 模型还能描述数据之上增加的约束, 基于垂直结构中其他节点的出现与否, 值为多少等等来限制一些节点的出现与赋值。 这些约束可以被 client 或者 server 强制执 行。不过如果要使得内容有效, MUST 双方都要遵守特定的约定。 YANG 定义了一系列的内建数据类型,也有定义新数据类型的类型命名机制。派 生数据类型可以通过像 range,pattern 这样的声明限制其原生数据类型的取值范围,这 样的声明在 client 或者 server 端都可以执行。它们还能为派生数据类型定义常用用法, 比如定义一个 string-based类型,包含主机名。 YANG 允许对可重用的 grouping 中节点的定义。这些 groupings 中的实例能够通过 特定的增强以满足特殊的需求。派生类型以及 groupings 能够定义在一个 module 或者 submodule 中,能够被本地,其他 module/submodule导入和使用。 YANG 的垂直数据结构包括了对 list 的定义。 list 中包含的每一项都有唯一的 key 以区分彼此。这样的 lists 有可能被用户自定义排序或者由系统进行默认排序。对于用 户自定义排序的 lists 来说, operations 是为了对列表项进行排序定义的。 YANG modules 可以被转换为等价的 XML 格式,称为 YANG Independent Notation (YIN )(Section 11),这使得相关的应用可以通过 XML 解析器或者 XSLT 脚本进行操 作。从 YANG 到 YIN 的转换是无损的,因此也可以从 YIN 格式转换为 YANG 文件。 YANG 试图在高层的数据建模和底层的比特数据编码( bits-on-the-wire encoding) 之间追求平衡。 YANG module 的 reader可以查看数据模型的高层视图,同时也能理解 在 NETCONF operations 中,这些数据如何编码。 YANG 是一种可扩展语言,允许标准制定者,设备商,以及个人定义新的声明 (statement)。声明的语法使得这些扩展能够以一种自然的方式和标准的 YANG 声明共 存,同时使得 reader能够有效得认知这些新扩展。 YANG resists the tendency to solve all possible problems, limiting the problem space to

文档评论(0)

150****8484 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档