专注NETCONF/YANG技术科普,接受任何问题,包括我答不上来的问题。欢迎光临!欢迎提问:链接
本文以YANG1.0中的基础术语为基准,适当增加YANG1.1的术语。具体见下表。
另外,常见的一些易混淆术语也进行相关的区分讲解供大家查阅。
英文 | 解释 |
---|---|
anyxml | 可以包含未知XML数据块的数据节点。1 “anyxml”语句在schema tree中定义一个内部节点。它有一个参数,它是一个标识符,后跟一个包含详细的anyxml信息的子语句块。因其子语句模块不透明而在业务模型中很少使用。在NETCONF机制中有应用。 |
augment | 将新的架构节点(schema node)添加到先前定义的架构节点。先前定义的架构节点而言不应感知挂接节点的存在。 |
built-in type(内置类型) | 用YANG语言定义的YANG数据类型,如uint32或字符串。 |
base type(基类型) | 派生类型的派生源头类型,可以是内置类型或其他派生类型。 |
derived type(派生类型) | 从内置类型(如uint32)或其他派生类型派生的类型。 |
configuration data(配置数据) | 将系统从初始默认状态转换为当前状态所需的一组可写数据。 |
state data(状态数据) | 系统上非配置数据的附加数据,如只读状态信息和收集的统计信息。往往用config false语句表示。 |
conformance(一致性/遵从性) | 衡量设备遵循数据模型的准确程度。 |
device deviation(设备偏差) | 设备未能忠实执行模块。一个典型场景是:在平台化产品中,某个产品规格进行了特性定制,而造成了偏差。 |
schema tree(架构树) | 模块中指定的定义层次结构。 |
schema node(schema节点/架构节点) | 架构树(schema tree)中的节点。是container, leaf, leaf-list, list, choice, case, rpc, input, output, notification, anydata, anyxml其中之一。 |
data tree(数据树) | 设备通过YANG数据建模的一棵实例化树,包括:配置或状态数据,RPC、action操作的输入输出,或者notification。 |
data node(数据节点) | 架构树中可以在数据树中实例化的节点。是container, leaf, leaf-list, list, anydata, anyxml其中之一。 |
extension(扩展) | 扩展将非YANG语义附加到语句。extension语句定义新语句来表达这些语义。 |
choice | 一个schema节点,其中许多已识别的备选方案中只有一个是有效的。 |
feature | 将模型的一部分标记为可选的机制。定义可以使用功能名称进行标记,并且仅在支持该功能的设备上有效。feature的设计应该从系统整体考虑,架构管控。 |
grouping(分组) | 一组可重用的模式节点,可以在模块中本地使用,也可以在包含它的模块中使用,还可以由从中导入的其他模块使用。grouping语句不是数据定义语句,因此不定义架构树中的任何节点。 |
uses | “uses”语句用于实例化在分组(grouping)语句中定义的模式节点集。可以对实例化的节点进行细化和扩充,以使其适应任何特定需求。 |
identifier(标识符) | 用于按名称标识不同种类的项目。 |
identity(标识) | 全局唯一、抽象和非类型化的名称。 |
leaf(叶子) | 数据树中最多存在一个实例的数据节点。叶有一个值,但没有子节点。 |
leaf-list(叶列表) | 与叶节点类似,但此节点有多个实例(多个值),且能唯一区分多个实例。leaf-list没有子节点。 |
list(列表) | 可能存在于数据树中多个实例中的内部数据节点。列表没有值,而是一组子节点。 |
container(容器) | 数据树中最多存在一个实例的内部数据节点。容器没有值,而是一组子节点。但是这个容器上的must约束,无论container下是否有实例数据都需要语义校验(validation)无误。 |
non-presence container(非存在性容器/普通容器) | 也称为NP-container。一个没有自己意义的容器,存在只是为了把一些子节点聚集在一起。 |
presence container(存在性容器/存在容器) | 容器本身的存在具有某种意义的容器。容器存在代表一种业务状态,此容器不存在代表另一种业务状态。存在性容器在设备内部往往会关联一个字段用于管理系统的业务状态。 |
mandatory node(强制节点) | 强制节点是以下节点之一:(1)具有mandatory true语句的叶、选项、anydata或anyxml节点。(2)具有值大于零的“min elements”语句的列表或叶列表节点。(3)没有“presence”语句且至少有一个强制节点作为子节点的容器节点。 |
module(模块) | 模块定义了可用于基于NETCONF的操作的节点层次结构。通过定义以及从其他地方导入或包含的定义,模块是自包含的且“可编译的”。 |
submodule(子模块) | 向模块提供派生类型、分组、数据节点、RPC和通知的部分模块定义。杨模可以由许多子模构成。 |
RPC | 在NETCONF协议中使用的远程过程调用。 |
top-level data node(顶级数据节点) | 与模块或子模块语句之间没有其他数据节点的数据节点。 |
anyxml的用法,感兴趣的话可参考ietf-netconf.yang ↩︎