我只想知道杨建模语言是特定的,并且只能与NetConf协议一起使用,还是可以用于像Xml和Json这样的数据建模?
谢谢
发布于 2017-01-19 08:15:43
YANG最初的目的是在NETCONF会话中对对等方之间交换的数据进行建模,但这不再是唯一的情况。现在有其他协议(将)使用它,如RESTCONF和CoMI。
YANG是一种数据建模语言,最初用于建模由网络配置协议( NETCONF )、NETCONF远程过程调用和NETCONF通知RFC6241操作的配置和状态数据。自从YANG版本1 RFC6020发布以来,杨被用于或建议用于其他协议(如RESTCONF RESTCONF和受限应用协议(CoAP)管理接口(CoMI) CoMI)。此外,还提出了XML以外的编码方法(例如,JSON RFC7951)。RFC7950,第1节
事实上,最近新的YANG规范发行版(1.1)已经朝着将模型与其编码分离的方向移动。将来,我们可能会看到单独的XML和JSON编码文档(可能还有其他文档)和一个只处理语言细节的单一文档。
如果忽略rpc、action、notification、config等语句,则可以使用YANG对数据进行建模,以达到其他更一般的目的。这些语句仅适用于特定上下文。当然,您必须定义希望在其中使用该模型的上下文,以及它对您的意义。一些建模人员使用extension语句来定义这样的需求,然后实现一个专门的YANG编译器,该编译器能够识别扩展并相应地工作--这允许您将语言用于作者最初不打算使用的东西。
规范中有一些定义可能会使YANG更难成为通用建模语言(比如XML用于XML)。configuration datastore、configuration data、state data、client、server等概念非常具体。然而,你总是可以对这些视而不见,只需让它为你工作。我相信在OpenDaylight项目中已经是这样做的。
https://stackoverflow.com/questions/41730966
复制相似问题