论文部分内容阅读
随着大数据和人工智能的不断发展,网络系统的设备数量增加,网络系统部署工作量和难度越来越大。运维人员和现场网络配置人员在配置过程中,经常需要做一些重复性的配置工作。传统的网络配置一般需要接口配置、相应链路速度以及网络协议等。在小型网络中,这种情况可以简单容易的实现且基本不会发生错误,一旦发生错误也可较高效的对问题做到解决。但在大型网络中,这显然是一个很繁琐的过程。本文在原有Python技术支持下提出了一种基于Python的网络系统自动化的配置方案。利用Enna工具和Python脚本结合的新方法,减小传统网络带来的弊端,并将自动化网络重新配置。建立单个设备和多个设备的Enna模型,对不同的模块进行规划、构建和测试,将读取模块,应用模块和验证模块集成到一个系统中,所有模块构建后对Enna进行测试、审查,并最终部署。Enna模型总体的运行过程首先读取输入,在初始网络状态上应用新的配置,从而形成一个初始网络状态,然后验证初始网络状态,如果验证正确,使用初步的网络状态作为输出;如果验证失败,返回修改输入。对简单和复杂的网络系统进行分析设计与实现。从读取模块,应用模块和验证模块三个方面分别实现单个设备和多个设备的功能需求。读取模块使用预先配置好的内联管理接口的单个虚拟设备建立远程访问。应用模块接收的读取模块的数据作为输入,利用pyIOSXR函数IOSXR解决合并配置问题,简化了将配置从文件加载到设备的过程。验证模块采用ping命令进行设备间的接口通信验证。最后,将子模块整合实现整个系统。搭建实验平台测试Enna的关键结果。对结果进行测试和验证,论述了整个网络自动化实现的过程,首先,利用一个路由器到五个路由器的设备分布,对一个协议IS-IS的配置和验证时间进行测试评估,然后,在类似的计算条件下,运行IS-IS和MPLS两种协议评估。最后,在三种协议(IS-IS、MPLS和BGP)参与的拓扑上进行评估。从手动和自动的配置过程数据对比分析可以看出,与手工配置相比,自动化配置和验证流程在成本和效率方面更有优势。最后,从网络自动配置化的现存问题,基于Python的网络自动化配置功能需求分析,设计实现和测试实验结果进行总结,并对目前论文研究存在的问题及下一步的研究方向进行展望。