首页> 中国专利> 一种基于python的网络环路消除方法

一种基于python的网络环路消除方法

摘要

一种基于python的网络环路消除方法,包括:搭建python运行环境,并安装netmiko模块;编写python登陆脚本,脚本内预置交换机带外管理地址,登陆所需用户名及密码;编写python获取交换机日志脚本,判断交换机日志中是否有与环路相关的告警;编写python环路端口处理脚本,获取交换机用户端口数,根据交换机用户端口数,按预设规则得到告警的环路端口号,并将环路端口号发送给运维人员,等待运维人员对告警的环路端口进行处理。与现有技术相比,本发明基于python来实现网络环路消除,避免了大量的重复劳动,大大提高了故障处理效率,提高了网络运行质量,同时降低了运维成本,减轻了运维人员的压力,具有良好的推广应用价值。

著录项

  • 公开/公告号CN112953756A

    专利类型发明专利

  • 公开/公告日2021-06-11

    原文格式PDF

  • 申请/专利号CN202110089401.9

  • 发明设计人 刘文;

    申请日2021-01-22

  • 分类号H04L12/24(20060101);G06F8/30(20180101);

  • 代理机构11228 北京汇泽知识产权代理有限公司;

  • 代理人吴静

  • 地址 430000 湖北省武汉市青山区厂前一号门

  • 入库时间 2023-06-19 11:21:00

说明书

技术领域

本发明涉及的是通信领域,特别涉及一种基于python的网络环路消除方法。

背景技术

网络环路的形成是由于目的路径不明确引起的混乱而造成的,网络环路导致传输的报文在两台或多台网络设备间持续循环,并呈现不断增长甚至是指数级增长的态势,最终大量的报文让网络设备满负载,造成网络设备的瘫痪。网络环路产生的同时,由于报文在不同的端口间循环,进一步导致网络环路期间媒体访问控制地址出现不断飘移,最终导致用户断网。

Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。

传统处理方式是运维人员需要到现场登陆交换机,通过拔网线的方式判断环路端口,当问题端口网线被拔掉后网络恢复正常,处理故障时间长且繁琐,遇到机房环境恶劣时亦有安全隐患,使用python可在检测到网络环路时自动化处理环路端口,降低运维成本。

发明内容

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于python的网络环路消除方法。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

本发明公开了一种基于python的网络环路消除方法,包括:

S100.搭建python运行环境,并安装netmiko模块;

S200.编写python登陆脚本,脚本内预置交换机带外管理地址,登陆所需用户名及密码;

S300.编写python获取交换机日志脚本,判断交换机日志中是否有与环路相关的告警;

S400.编写python环路端口处理脚本,获取交换机用户端口数,根据交换机用户端口数,按预设规则得到告警的环路端口号,并将环路端口号发送给运维人员进行处理。

进一步地,S100中,python运行环境为python2.6以上环境。

进一步地,S100中,安装的netmiko模块,用于简化paramiko与网络设备之间的ssh连接,可以在windows与Unix平台使用。

进一步地,S300中,与环路相关的告警至少包括mac地址漂移告警。

进一步地,S400中,根据交换机用户端口数,按预设规则得到告警的环路端口号的具体方法包括:获取交换机用户端口数n,顺序关闭交换机用户端口1,2,......,n,当每次关闭一个用户端口时,判断关闭后是否还有环路相关告警。

进一步地,按预设规则得到告警的环路端口号的具体方法还包括:若关闭后还有环路相关告警,继续本步骤脚本,直到无相关环路告警时,记录此时端口号为m,则端口号m为环路端口。

可以通过邮件方式将环路端口号发送给运维人员,等待运维人员对告警的环路端口进行处理。

本发明实施例提供的上述技术方案的有益效果至少包括:

本发明公开的一种基于python的网络环路消除方法,通过搭建python运行环境,并安装netmiko模块;编写python登陆脚本,脚本内预置交换机带外管理地址,登陆所需用户名及密码;编写python获取交换机日志脚本,判断交换机日志中是否有与环路相关的告警;编写python环路端口处理脚本,获取交换机用户端口数,根据交换机用户端口数,按预设规则得到告警的环路端口号,并将环路端口号发送给运维人员,等待运维人员对告警的环路端口进行处理。与现有技术相比,本发明基于python来实现网络环路消除,避免了大量的重复劳动,大大提高了故障处理效率,提高了网络运行质量,同时降低了运维成本,减轻了运维人员的压力,具有良好的推广应用价值。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例1中,一种基于python的网络环路消除方法的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

为了解决现有技术中存在的问题,本发明实施例提供一种基于python的网络环路消除方法。

实施例1

一种基于python的网络环路消除方法,如图1,包括:

S100.搭建python运行环境,并安装netmiko模块。具体的,Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。在本实施例中,python运行环境至少为python2.6以上环境。

在本实施例中,安装的netmiko模块,用于简化paramiko与网络设备之间的ssh连接,可以在windows与Unix平台使用。在本实施例中,搭建python运行环境和安装netmiko模块具体方法为本领域人员公知方法,本实施例再此不再进行赘述。

S200.编写python登陆脚本,脚本内预置交换机带外管理地址,登陆所需用户名及密码。在本实施例中,当python登陆脚本编写完成后,运行python脚本,通过脚本内预置交换机带外管理地址及用户名密码登陆交换机。

S300.编写python获取交换机日志脚本,判断交换机日志中是否有与环路相关的告警。具体的,本实施例中,与环路相关的告警至少包括mac地址漂移告警。

S400.编写python环路端口处理脚本,获取交换机用户端口数,根据交换机用户端口数,按预设规则得到告警的环路端口号,并将环路端口号发送给运维人员,等待运维人员对告警的环路端口进行处理。

具体的,根据交换机用户端口数,按预设规则得到告警的环路端口号的具体方法包括:获取交换机用户端口数n,顺序关闭交换机用户端口1,2,......,n,当每次关闭一个用户端口时,判断关闭后是否还有环路相关告警。

在一些优选实施例中,按预设规则得到告警的环路端口号的具体方法还包括:若关闭后还有环路相关告警,继续本步骤脚本,直到无相关环路告警时,记录此时端口号为m,则端口号m为环路端口。

在一些优选实施例中,可以通过邮件方式将环路端口号发送给运维人员,等待运维人员对告警的环路端口进行处理。

本实施例公开的一种基于python的网络环路消除方法,通过搭建python运行环境,并安装netmiko模块;编写python登陆脚本,脚本内预置交换机带外管理地址,登陆所需用户名及密码;编写python获取交换机日志脚本,判断交换机日志中是否有与环路相关的告警;编写python环路端口处理脚本,获取交换机用户端口数,根据交换机用户端口数,按预设规则得到告警的环路端口号,并将环路端口号发送给运维人员,等待运维人员对告警的环路端口进行处理。与现有技术相比,本发明基于python来实现网络环路消除,避免了大量的重复劳动,大大提高了故障处理效率,提高了网络运行质量,同时降低了运维成本,减轻了运维人员的压力,具有良好的推广应用价值。

应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。

结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。

对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号