一种基于Netmiko Python Tkinter的自动化网络设备巡检工具的设计与实现

 2023-01-16 08:01

论文总字数:29296字

摘 要

随着大数据和人工智能的不断的发展,网络系统的设备数量不断增加,网络系统维护工作量和难度越来越大,现场网络配置人员和网络运维人员在配置及维护过程当中,经常需要做一些重复重复度很高的工作。传统的人工网络维护,一般需要对相应链路速度、网络协议以及接口配置等,其工作量巨大,需要的现场网络维护人员及人力成本较高。因此网络系统的自动化维护显得很重要,比如网络管理与维护人员针对网络设备本身进行一些日常的维护操作:系统网络设备的批量开关机、诊断报告和日志文件的获取,以及设备端口状态,相应链路的速度,网络协议的巡查。在小型网络中,这种情况可以简单地实现而且基本不会发生错误,一旦发生错误也可较快速地对问题提出解决方案,快速的解决问题。但在大型网络之中,这明显是需要一个复杂操作的过程,需要运维人员消耗大量的时间以及精力去维护并减少错误产生。采用网络自动化巡检工具代替传统的手工维护,其效率更高,费用成本更低,因此,实现网络系统的自动化巡检在当今快速发展的通信信息时代具有更重要的显示意义和实用价值。本课题在原有Python技术支持下,提出了一种基于Python的网络系统自动化巡检工具的设计方案并加以实现,利用Tkinter组件以及Netmiko组件结合的方法,构建GUI界面,方便运维人员学习及使用,减小传统网络维护带来的弊端。

建立单个设备和多个设备的拓扑,对不同的模块进行规划、构建和测试,将连接模块,配置模块和巡检模块集成到一个系统中,所有模块构建后对网络进行连接,导入需要执行的命令并最终部署。自动化巡检工具的运行过程首先通过SSH连接本地计算机,在初始网络状态上应用 新的配置,从而形成一个配置完成状态,然后验证配置完成后的网络状态,如果配置成功,则运行巡检功能,将网络设备已经配置的命令读取到一个TXT文件中,反之需要重新进行连接,重新编写配置脚本,然后重新配置。

对简单和复杂的网络拓扑进行分析与简单实现,将终端设备和交换机设备进行简单配置,然后将路由器连接云,使其可以带外管理,通过SSH连接本地计算机,对结果进行测试和验证,论述了整个网络自动化部署及巡检的实现过程, 首先利用一台路由器到五台路由器的设备分布,对一个协议IS-IS、OSPF或者MPLS VPN的配置时间和巡检时间进行测试评估,然后在手动配置的情况下,对自动化配置巡检的时间进行测试与评估,从手动和自动配置过程的数据与用时对比分析可以看出,与手工配置相比,自动化配置和巡检流程和效率方面更有优势。

最后,从网络自动化配置和巡检的现存问题,基于 Python TK Netmiko 的网络自动化配置与巡检功能需求分析,设计实现和测试实验结果进行分析与总结,并对目前论文研究存在的问题及下一步的研究方向进行展望。

Abstract

With the continuous development of big data and artificial intelligence, the number of network system equipment is increasing, and the workload and difficulty of network system maintenance are increasing. In the process of configuration and maintenance, the on-site network configuration personnel and network operation and maintenance personnel often need to do some highly repetitive work. The traditional artificial network maintenance generally requires the corresponding link speed, network protocol and interface configuration, which has a huge workload and high cost of on-site network maintenance personnel and manpower. Therefore, the automatic maintenance of the network system is very important, for example, the network management and maintenance personnel carry out some daily maintenance operations for the network equipment itself: the batch switching of the system network equipment, the acquisition of diagnostic reports and log files, as well as the port status of the equipment, the speed of the corresponding link, and the inspection of the network protocol. In a small network, this situation can be easily realized, and almost no error occurs. Once there is an error, it can quickly put forward solutions to the problem and solve the problem quickly. But in a large network, it obviously needs a complex operation process, which requires operation and maintenance personnel to consume a lot of time and energy to maintain and reduce errors. Using network automatic inspection tools instead of traditional manual maintenance has higher efficiency and lower cost. Therefore, the realization of automatic inspection of network system has more important display significance and practical value in today"s rapid development of communication and information age. With the support of the original Python technology, this paper puts forward a design and implementation of automatic inspection tool for network system based on python, and uses the method of combining Tkinter component and netmiko component to build GUI interface, which is convenient for operation and maintenance personnel to learn and use, and reduces the disadvantages of traditional network maintenance.

Establish the topology of single device and multiple devices, plan, build and test different modules, integrate the connection module, configuration module and patrol module into one system, connect all modules to the network after construction, import the command to be executed and finally deploy. The running process of the automatic patrol tool is to connect the local computer through SSH, apply the new configuration on the initial network state, so as to form a configuration completion state, and then verify the network state after configuration. If the configuration is successful, the patrol function will be run, and the configured commands of the network device will be read into a TXT file. Otherwise, it needs to be reconnected, Rewrite the configuration script, and then reconfigure.

The simple and complex network topology is analyzed and implemented. The terminal equipment and switch equipment are simply configured. Then the router is connected to the cloud to enable it to manage out of band. The local computer is connected through SSH to test and verify the results. The implementation process of the whole network automatic deployment and inspection is discussed, Firstly, we use the device distribution from one router to five routers to test and evaluate the configuration time and patrol time of a protocol IS-IS, OSPF or MPLS VPN, and then test and evaluate the patrol time of automatic configuration in the case of manual configuration. From the comparative analysis of the data and time consumption of manual and automatic configuration process, we can see that compared with manual configuration, the patrol time of automatic configuration is much better, It has more advantages in automatic configuration and inspection process and efficiency.

Finally, from the existing problems of network automation configuration and inspection, based on Python TK netmiko network automation configuration and inspection function requirements analysis, design and implementation and test experimental results are analyzed and summarized, and the existing problems of the current paper and the future research direction are prospected.

目 录

摘 要 I

Abstract II

第一章 引 言 1

1.1研究背景及意义 1

1.2 国内外研究现状 1

1.3本文研究的内容 2

第二章 关键技术 3

2.1 网络自动化配置关键技术 3

2.1.1网络自动化配置的优缺点分析 3

2.1.2 Python相关技术 4

2.2 三层网络实验拓扑相关技术 4

2.2.1 MPLS VPN相关技术 4

2.2.2 OSPF相关技术 5

2.2.3 IS-IS相关技术 5

2.2.4 EIGRP相关技术 5

2.2.5 路由交换相关技术 5

2.2.6 SSH相关技术 6

2.3 本章小结 6

第三章 自动化网络设备巡检工具的需求分析与设计 7

3.1 巡检工具需求分析 7

3.2 巡检工具工作过程 7

3.3巡检工具设计 7

3.3.1 巡检工具登陆界面 7

3.3.2 巡检工具选择命令界面 8

3.3.3 输入巡检命令 9

3.3.4 完成输出文件 10

3.3.5 异常界面 10

3.4 本章小结 10

第四章 自动化网络巡检工具系统设计 12

4.1 网络巡检工具研发目标与定位 12

4.1.1 系统目标 12

4.1.2 巡检工具使用定位 12

4.1.3开发技术路线选择 12

4.1.4 工具收益 12

4.2 总体框架设计 12

4.3 工具关键模块详细设计 13

剩余内容已隐藏,请支付后下载全文,论文总字数:29296字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;