论文部分内容阅读
计算机网络在生产生活中扮演着越来越重要的角色,而网络需要有网络设备的支持,使用网络设备构成网络后,才能运行各种专用服务和终端。随着信息时代的发展,网络设备的种类繁多,数量众多,地理位置分布广泛,使得网络管理十分复杂。现有的网络管理协议SNMP在网络配置,传输效率,安全等方面的问题日异突出,已经不能满足大型异构网络的网络管理,急需一个新的网络管理协议来解决这些问题,NETCONF就是在这样的背景下提出来的。NETCONF是基于XML的网络管理协议,在监控管理的基础上提供了强大的配置管理功能,它采用HTTP来保证报文传输,具有很高的安全性和可扩展性,被公认为是SNMP的最好的替代品。迄今为止,NETCONF协议的传输层、RPC层和操作层都做了明确的说明,但并没有标准的数据建模语言和数据模型,这成为制约NETCONF协议真正普及到实际网络管理中的重要因素。近年来,YANG的建模框架被IETF推荐作为标准的NETCONF建模框架,它不仅可以对配置数据进行建模,还对各种操作和通知进行建模,具有良好的可读性和可扩展性。本文就是在YANG语言的基础上对NETCONF内容层进行数据建模。本文首先关注于数据模型的选取,现阶段,只有少数设备厂商用YANG自定义数据模型,用以NETCONF协议开发的内容层测试,标准的NETCONF数据模型尚未出现。然而,IETF定义的大量标准MIB却已广泛使用于现有网络管理,因此,我们选择重用现有MIB的语义。MIB是用ASN.1的形式来描述,这势必需要一个SMI MIB到YANG模块的转换做为中间桥梁。另一方面,无论是转换后的YANG模块还是自定义的YANG模块,都不能直接用于XML实例文档的验证,而NETCONF的发展却在不断强调满足用户对于数据的多层次需求,这就势必提高了验证XML文档的重要性,对其提出了更高的要求。基于以上问题的考虑,本文提出了一套完整的SMI MIB到YANG模块的转换算法,从数据类型、宏结点等方面进行转换,并在原有的组织结构上进行改进,最终实现该转换器。与此同时,本文借助DSDL的强大验证功能来弥补YANG模块在XML文档验证方面的不足,将YANG模块转换成为DSDL规范集,从语法检查和语义约束两方面保证对XML实例文档的有效验证,从而确保后续操作得以有序进行。