netconf、yang和XML关系

时间:2023-12-20 20:10:32

netconf是基于xml的网络配置协议,文档RFC6241有详细介绍。

  yang是为netconf建模的一种数据建模语言。文档RFC2060详细介绍了yang1.0版本,RFC7950介绍了yang1.1版本。

xml是一种树状的数据格式。

这里我们首先需要说道网络配置的问题,比如我要给一台路由器配置一条静态路由,常规的方法是连上去输入命令进行配置。netconf的作用就是完成网络自动化配置,每次你将需要的配置数据告诉netconf,他就会完成配置。但是问题是网络设备的配置模型是不一样的。如果能够给定一个固定的模型,并利用该模型将配置数据进行解析,转换为符合要求的数据结构,就可以完成自动化配置了。yang语言的作用就是设置这个固定模型即为yang model。netconf的信息交互就是用xml来实现的,所以yang model其实就是一种描述XML结构的模型。

netconf的自动化配置系统采用client/server结构。client发送请求到server,server接受消息并进行解析并提取RPC信息,利用yang model验证请求的合法性。如果通过了验证,那么server将执行RPC,完成网络配置,并返回消息到client。

上述过程有几点需注意,有助于学习使用yang。第一点是client和server是双向xml格式通信(最主要信息是RPC)。第二点是yang和yin进行无损的双向转换(yin是XML格式的文件,可以详细描述yang)。第三点,RPC的全称是Remote Procedure Call(远程过程调用),在yang里RPC占据了很重要的地位(终于知道yang的RPC是干嘛用的了,RPC包含了信息采用<RPC></RPC>传递,server返回给client的主要信息利用<RPC-reply></RPC-reply>传递。