我读了https://en.wikipedia.org/wiki/YANG https://en.wikipedia.org/wiki/YANG但在理解实际用途方面仍然存在问题YANG
,以及它提供的好处。据我了解,它现在不仅像最初设计的那样由 NETCONF 使用。YANG
不是普通意义上的语言,因为C
or python
例如,无论我们写什么YANG
未经编译或翻译;据我了解,它被用作更高级别的库或应用程序的参考模型。那么问题是高层代码如何理解YANG
?
YANG 是一种专门的模式语言,类似于 XSD Schema 或 RelaxNG,但特定于 NETCONF。其目标是对对等点之间的协议会话期间交换的所有内容进行建模,如 RFC6020 中所述:
YANG 是一种用于为 NETCONF 协议建模数据的语言。 A
YANG模块定义了可用于NETCONF的数据层次结构
基于操作,包括配置、状态数据、远程
过程调用 (RPC) 和通知。这允许一个完整的
NETCONF 客户端和服务器之间发送的所有数据的描述。
YANG 定义的模型可以以通常的方式使用 - 例如代码生成,就像什么JAXB http://www.oracle.com/technetwork/articles/javase/index-140168.html适用于 XSD 架构和 Java。有一些工具和服务器实现可以简单地使用 YANG 模块集(YANG 模型)并准备用作虚拟实现。还有一些工具使用该模型使用户能够查询设备,而无需实际实现有关设备的任何特定内容。您可以说一组 YANG 模块公开了设备提供的接口。您使用此界面做什么完全取决于您。
我建议阅读规范中提供的高级概述:
- YANG 1.0 概述,RFC6020,第 4 节 https://www.rfc-editor.org/rfc/rfc6020#section-4
-
YANG 1.1 概述,RFC6020bis-09,第 4 节 https://datatracker.ietf.org/doc/html/draft-ietf-netmod-rfc6020bis-09#section-4 (draft)
另请检查 wiki 页面ietf-netmod-yang https://stackoverflow.com/tags/ietf-netmod-yang/info tag.
Edit:您也可能会受益于阅读使用NETCONF和YANG的网络管理架构 https://www.rfc-editor.org/rfc/rfc6244文档。它进一步解释了 YANG a 所属的架构,包括应用程序开发人员等不同角色应如何处理它(在网络管理的背景下)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)