学习opendaylight(二)--Yang Model

Yang is what?

  YANG 是一门数据建模语言(随着 NETCONF 协议而产生)。

  Yang将数据按层次组织,建模成一棵树。每个节点都有一个名字、一个值或一个子节点集。这种层次利于扩展。

  特性:具有良好的可读性和可扩展性。支持Json语言的绑定,支持REST-CONF协议,支持远程调用RPC。

NETCONF,它是一种网络配置协议。

why need it?

  服务和网络管理

简单而言,支持netconf的设备其实就是有了一套有标准的设备API。
这套API不光能够做配置,还能提交一些本来由CLI实现的命令。
本质上,netconf协议交换的是XML,传输的是一个一个的RPC。
你只需把你需要的配置,按照你设备上的netconf模型写一个xml,通过一个netconf client 发送给设备,设备就可以去给你配置,并把配置的结果返回给你。

传统我们做自动配置脚本,都是基于ssh连接到设备上,然后一条一条命令去输入,这种脚本局限性很大,搞成模板替换数据也是很费神的一件事儿。有了netconf这些都会成为历史,只需整体写一个xml模板,然后因为它是xml,所有很多python的模板包都可以轻轻松松拿来用,比如jinjia template。 然后,因为你的配置是整体发送过去的,也就不用一条条命令来看执行结果,处理那些讨厌的问题, 比如突然某一条失败了,配置要回滚。。。

更棒的是,netconf 对不同的配置结构都是通过统一的模型语言来描述的,也就是yang model,大部分的配置结构都可以用yang model来描述,理论上你要是有目标主机的yang model,连配置模板也可以自动生成。。。如果你给你的脚本加个fancy的GUI,那么恭喜你,你完成了一个SDN的雏形。

 

posted @ 2018-08-02 22:00  An2i  阅读(40)  评论(0编辑  收藏  举报