参考链接:
http://www.mamicode.com/info-detail-2056638.html
https://blog.csdn.net/zengxiaosen/article/details/73849671
netconf是基于xml的网络配置协议。
yang是为netconf建模的一种数据建模语言。
xml是一种树状的数据格式。
假设要给网络路由器配置静态路由,以前需要现场人为连接路由进行配置,而不同品牌型号的路由设备,操作同一个参数的指令都不同。
通过netconf通用协议,不用再关心实际操作指令和人为在现场,只需要关注配置数据本身就能实现完成网络自动化配置。理想情况下,所有的设备都用相同的配置,netconf会自行处理为对应设备的执行指令。
但现实情况是,不同设备间存在同样的功能,但配置信息结构不同的情况。比如思科设备接口上配置一个address 只要知道接口名 ip版本 和地址掩码就足够了,但是juniper的机器上还要额外提供一个unit 号来标识逻辑接口。
通过yang模型,编写每种设备对应的配置信息模板,如下图所示。下次直接传递参数给模板即可设置。
netconf的信息交互就是用xml来实现的,所以yang model其实就是一种描述XML结构的模型。
实际上网络功能虚拟化,就是基于yang模型,管理员不用关心实际设备操作指令、交互协议之类的底层,只需要关注与要配置的功能场景本身,知道要设置的参数,例如IP、掩码、VPN等,选好机型,系统就能调用对应的yang模型拼接参数进行操作。