一种网络控制方法、装置和计算机可读存储介质与流程

文档序号:17584953发布日期:2019-05-03 21:14阅读:130来源:国知局
一种网络控制方法、装置和计算机可读存储介质与流程

本发明涉及网络技术,尤指一种网络控制方法和装置、计算机可读存储介质。



背景技术:

一般情况下,网络设备进行断环处理的方法主要是端口环路检测,或者启用stp(spanningtreeprotocol,生成树协议)。

目前普遍设备使用的端口环路检测,可能导致以下问题:

1、需要使用cpu(centralprocessingunit,中央处理器)对环路检测报文进行收发,会加大cpu的消耗。

2、环路检测报文在设备发出之后,在网络中是否能正确回收,受到网络环境的影响有不确定性,不一定能准确的判定是否存在环路。

3、一般环路检测发现端口下存在环路,所做防御性操作一般是关闭端口,或生成树状态block(阻塞),这样的操作都会直接影响整个端口或的转发状态端口在vlan(virtuallocalareanetwork,虚拟局域网)中的所有转发状态。

目前普遍设备使用的stp协议,可能导致以下问题:

1、stp协议无法计算单端口成环状态。

2、stp协议会导致cpu计算量增加,加大cpu的消耗。

3、stp协议基于vlan对某个端口进行防御性block,此操作会影响这个端口在vlan中的所有转发行为。

由此可见,目前的技术中,不管使用哪种方式,都可能造成cpu的消耗增加,并且目前的技术中,所有的防御性操作都是针对某端口或者某vlan中的某端口来进行处理的,这样的处理必然会导致某端口或者某vlan中的某端口的所有转发流量都被截断,而且目前的技术中,不管用哪种方式,都有可能出现即使网络中出现环路,也无法正确判断的情况,例如端口环路检测报文无法收到,或stp无法计算单端口环路的情况。



技术实现要素:

本发明至少一实施例提供了一种网络控制方法、装置和计算机可读存储介质,能及时对环路进行处理,且对设备cpu的压力较小。

为了达到本发明目的,本发明至少一实施例提供了一种网络控制方法,包括:

设备检测媒体接入控制地址的上报速率,当媒体接入控制地址的上报速率大于或大于等于预设速率门限时,所述设备配置丢弃源命中该媒体接入控制地址的报文。

在一可选实施例中,所述设备配置丢弃源命中该媒体接入控制地址的报文包括:

所述设备在媒体接入控制地址表或访问控制列表中写入该媒体接入控制地址并设置源媒体接入控制地址命中该媒体接入控制地址丢弃动作。

在一可选实施例中,所述方法还包括,当所述上报速率大于或大于等于所述预设速率门限时,所述设备向系统发送出现环路的告警,所述告警中携带所述媒体接入控制地址。

在一可选实施例中,所述方法还包括,

所述设备配置丢弃源命中该媒体接入控制地址的报文后,进行计时,当计时时间达到预设计时门限后,所述设备删除丢弃源命中该媒体接入控制地址的报文的配置。

在一可选实施例中,所述方法还包括,所述设备删除丢弃源命中该媒体接入控制地址的报文的配置后,所述设备检测所述媒体接入控制地址的上报速率,当所述上报速率大于或大于等于预设速率门限时,所述设备配置丢弃源命中该媒体接入控制地址的报文。

本发明一实施例提供一种网络控制装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,执行以下操作:

检测媒体接入控制地址的上报速率,当媒体接入控制地址的上报速率大于或大于等于预设速率门限时,配置丢弃源命中该媒体接入控制地址的报文。

在一可选实施例中,所述进行丢弃源命中该媒体接入控制地址的报文的配置包括:

在媒体接入控制地址表或访问控制列表中写入该媒体接入控制地址并设置源媒体接入控制地址命中该媒体接入控制地址丢弃动作。

在一可选实施例中,所述程序在被所述处理器读取执行时,还执行以下操作:

当所述上报速率大于或大于等于所述预设速率门限时,向系统发送出现环路的告警,所述告警中携带所述媒体接入控制地址。

在一可选实施例中,所述程序在被所述处理器读取执行时,还执行以下操作:

配置丢弃源命中该媒体接入控制地址的报文后,进行计时,当计时时间达到预设计时门限后,删除丢弃源命中该媒体接入控制地址的报文的配置。

在一可选实施例中,所述程序在被所述处理器读取执行时,还执行以下操作:

删除丢弃源命中该媒体接入控制地址的报文的配置后,检测所述媒体接入控制地址的上报速率,当所述上报速率大于或大于等于所述预设速率门限时,配置丢弃源命中该媒体接入控制地址的报文。

本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述网络控制方法。

与相关技术相比,本申请一实施例提供的网络控制方法,利用mac地址设置源命中丢弃的方式来进行系统防护,既不会增加太多cpu的报文交互导致cpu占用率上升,又不会因为受到外界环境影响而导致的检测报文无法收到而出现漏判,只是在设备上进行mac地址的转发抑制,即可针对某异常流量进行判定和防御,而且,还不会影响此端口上或者此vlan上的其他转发流量。应用该方案,可以使得网络设备的影响最小化,设备可以基于流量进行防御。在另一实施例中,可自动解除对该mac地址的报文的转发抑制,并可以针对某流量的异常对设备进行告警,提高了网络的可维护性和健壮性以及设备的容错性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

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

图1为本发明一实施例提供的网络控制方法流程图;

图2为本发明一实施例提供的网络控制装置框图;

图3为本发明一实施例提供的网络控制方法流程图;

图4为本发明一实施例提供的网络控制方法流程图;

图5为本发明一实例提供的交换机环路示意图;

图6为本发明一实例提供的交换机环路示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请的主要思想是:设备在出现二层环路的时候,在正常情况下会出现mac(mediaaccesscontrol,媒体接入控制)地址漂移的状态,即设备转发的流量源mac地址会在正常的接收端口和成环的端口上不断进行漂移,而这样的环路出现的时候,此mac地址漂移的速度将会是非常快的。因此设备必然收到大量此mac地址的漂移上报。而设备只要针对这个mac地址,写入一条针对此源mac地址的mac地址条目,并且设置其命中后丢弃报文的行为,即可完成对于此种情况的设备防护。

因为在设置mac地址丢弃之后,无论成环的位置在设备本身还是在网络远端,设备都可以基于流进行判定,认定此流量已经出现环路异常,因此无需再针对此流量做正常的mac地址学习上报以及转发的处理,即刻将此mac地址设置为命中后丢弃报文的行为,设备就直接将此报文丢弃,不会再上送cpu该mac地址相关的漂移上报,通过此行为,一方面使得环路报文不会冲击设备端口带宽,另一方面,使得环路报文的mac地址漂移信息不会冲击设备cpu,即完成了对设备的正常状态的保护行为。

另外,本申请设置的防御措施仅针对mac地址,而不是基于端口的行为也不是基于某个端口在某vlan内的行为,因此,此防御措施仅会针对某条流量的源mac地址命中的行为生效,而不会影响此端口的其他的流量转发,这样的防御措施,尤其在单端口环路的情况下,会非常有优势,因为单端口环路时,可能整个端口流量中,只有某一条流出现环路的冲击而其他流量都是正常的。在这样的防御措施保护下,设备可以最大程度的保证其他流量的正常转发,并抑制此异常流量的转发和mac地址漂移上报。

本发明一实施例提供一种网络控制方法,如图1所示,包括:

步骤101,设备检测mac地址的上报速率;

其中,分别检测各mac地址的上报速率;

步骤102,当mac地址的上报速率大于或大于等于预设速率门限时,所述设备配置丢弃源命中该mac地址的报文。

其中,步骤101中的上报速率可以根据实际出现环路时mac地址的上报速率进行设定,略小于该值即可。当然,也可以根据其他方式设定,比如网络容量进行设定。

本实施例提供的网络控制方法,既可防止出现环路的mac地址漂移冲击设备的cpu,也可以防止此mac地址的报文持续冲击端口的带宽。另外,只对该mac地址的报文进行丢弃,该端口的其他报文不受影响,对端口的影响比较小。

在一可选实施例中,所述设备配置丢弃源命中该mac地址的报文包括:

所述设备在mac地址表或访问控制列表(accesscontrollist,简称acl)中写入该mac地址并设置源mac地址命中该mac地址丢弃动作。

在一可选实施例中,所述方法还包括,当所述上报速率大于或大于等于预设速率门限时,所述设备向系统进行出现环路的告警,所述告警中携带所述mac地址。通过告警可以提示用户及时对网络健康性进行检查,及时消除环路。

在一可选实施例中,所述方法还包括:

步骤103,所述设备配置丢弃源命中该mac地址的报文后,进行计时,当计时时间达到预设计时门限后,所述设备删除丢弃源命中该mac地址的报文的配置。

当然,也可以在接收到用户指令后,删除丢弃源命中该mac地址的报文的配置。

其中,预设计时门限的大小可以根据需要设定。

在一可选实施例中,所述方法还包括,所述设备删除丢弃源命中该mac地址的报文的配置后,所述设备检测mac地址的上报速率,当所述上报速率大于或大于等于预设速率门限时,所述设备配置丢弃源命中该mac地址的报文。

如图2所示,本发明一实施例提供一种网络控制装置20,包括存储器210和处理器220,所述存储器210存储有程序,所述程序在被所述处理器220读取执行时,实现上述网络控制方法。

本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述网络控制方法。

所述计算机可读存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

下面通过具体实施例进一步说明本申请。

实施例一

本实施例中,设备单端口出现远端环路,如图3所示,包括:

步骤301,设备收到正常上行端口流量,学习mac地址,转发至下行端口后,远端网络中出现环路;

步骤302,所述设备的上行端口和出现环路的端口出现连续的mac地址漂移。

步骤303,所述设备对上报的mac地址进行判定,如果单位时间内上报的mac地址(即上报速率)大于预设速率门限,则所述设备将此mac地址写入mac地址表中,设置源mac地址命中丢弃标记,即只要命中此mac地址的流量,源mac与此mac地址条目相同,则丢弃此报文;所述设备向系统发送告警,告警此设备此mac地址出现环路。

所述预设速率门限可以通过设备在出现环路时mac地址上送cpu的速度来进行设置,一般设置一个比真实出现环路时mac地址上送cpu的速率略小的值,或者根据实际的网络容错能力由用户进行配置。

步骤304,之后,接收到源mac地址命中设置的mac地址的报文后,丢弃该报文,即产生环路的报文被丢弃,不会再对设备造成冲击。

步骤305,设备设置了源mac地址命中丢弃条目之后,还进行计时,计时时间达到预设计时门限后,删除此mac地址,即先解除针对此mac地址的防御机制,此时又有该mac地址的上报,检测该mac地址的上报速率,若上报速率小于等于预设速率门限,则说明此mac地址流量的环路已经消除,该流量即可正常转发;若上报速率大于预设速率门限,则表明环路仍然存在,则再次启动防御机制,即将此mac地址写入mac地址表中,设置源mac地址命中丢弃标记。

需要说明的是,在本实施例中,mac地址的上报速率的检测可以一直执行,并不受是否启动防御机制的影响,只不过启动了防御机制后,无被防御的mac地址的上报。

实施例二

本实施例中,设备多个端口之间出现环路,如图4所示,包括:

步骤401,设备收到正常上行端口流量,学习mac地址,转发至下行端口后,设备的其他端口又收到此流量环回回来的流量。

步骤402,所述设备的上行端口和下行端口和其他环路端口之间即出现连续的mac地址漂移。

步骤403,所述设备对上报的mac地址进行判定,如果单位时间内上报的mac地址(即上报速率)大于预设速率门限,则所述设备将此mac地址写入mac地址表中,设置源mac地址命中丢弃标记,即只要命中此mac地址的流量,源mac与此mac地址条目相同,则丢弃此报文;所述设备向系统发送告警,告警此设备此mac地址出现环路。

步骤404,之后,接收到源mac地址命中设置的mac地址的报文后,丢弃该报文,即产生环路的报文被丢弃,不会再对设备造成冲击。

步骤405,设备设置了源mac地址命中丢弃条目之后,还进行计时,计时时间达到预设计时门限后,删除此mac地址,即先解除针对此mac地址的防御机制,此时又有该mac地址的上报,检测该mac地址的上报速率,若上报速率小于等于预设速率门限,则说明此mac地址流量的环路已经消除,该流量即可正常转发;若上报速率大于预设速率门限,则表明环路仍然存在,则再次启动防御机制,即将此mac地址写入mac地址表中,设置源mac地址命中丢弃标记。

上述实施例提供的网络控制方法,既可以完成对端口环路的判定,又没有增加过多的cpu消耗,期间不需要运行任何的协议,也不需要发送任何的检测报文,只需要通过自身的单位时间内的mac地址漂移次数(即上报速率),即可判定是否存在环路风险,并且可以针对流量对用户进行告警,并随即启动防御策略切断异常冲击设备的流量,并且可以及时对环路状态进行尝试性的检测,一旦环路依旧存在,则短暂冲击之后,设备会立刻再次启动防御措施,而环路一旦消失,则系统可以在无任何人为干预的情况下自动恢复正常。

下面通过具体实例进一步说明本发明。

实例1

如图5所示,本实施例中,交换机a的某流量,其源mac地址为00:11:22:33:44:55vlan10,入端口为a1,出端口为a2;a2端口远端出现环路,导致此mac地址流量被环路返回交换机a;此时a1和a2端口因为不断收到源mac地址为00:11:22:33:44:55+vlan10的报文,因此a1端口和a2端口不断上报此mac地址学习。

交换机a在不同端口收到大量相同的某个mac地址上报(例如一秒内收到100次此同样的mac地址在不同端口的上报),超过预设速率门限,判定此mac地址出现了环路mac地址漂移。

交换机a开始进行防御性措施,将此mac地址00:11:22:33:44:55+vlan10写入mac地址表中,并设置其源命中丢弃。同时,针对此mac地址向系统上报异常告警。

交换机a再从a1或a2收到此源mac地址的报文时,匹配到此mac地址表条目,直接丢弃该报文。

交换机a经过预设计时门限(例如5分钟)之后,尝试将mac地址表中的源mac地址00:11:22:33:44:55+vlan10命中丢弃的mac地址条目删除,即解除针对此mac地址的防御措施。此时,若交换机的环路故障未消除,该mac地址的上报速率又达到预设速率门限(例如1秒内收到100个mac地址漂移条目),则再次启动防御措施,在mac地址表中写入此mac地址源命中丢弃的条目。若交换机的环路故障已经消除,该mac地址的上报速率小于预设速率门限,则此源mac地址的流量又可以正常转发了。

实例2

如图6所示,本实施例中,交换机a的某流量,其源mac地址为00:11:22:33:44:55vlan10,入端口为a1,出端口为a2;交换机a的a2和a3端口出现环路,导致此mac地址流量被环路返回交换机a,此时a1端口、a2端口和a3端口因为不断收到源mac地址为00:11:22:33:44:55+vlan10的报文,因此a1端口、a2端口和a3端口不断上报此mac地址学习。

交换机a在不同端口收到大量相同的某个mac地址上报(例如一秒内收到100次此同样的mac地址在不同端口的上报),超过预设速率门限,即认定此mac地址出现了环路mac地址漂移。

交换机a开始进行防御性措施,将此mac地址00:11:22:33:44:55+vlan10写入mac地址表中,并设置其源命中丢弃。同时,针对此mac地址对系统上报异常告警。

交换机再从a1端口、a2端口和a3端口收到此源mac地址的报文时,匹配到此mac地址表条目,该报文直接被丢弃。

交换机a经过预设计时门限(例如5分钟)之后,尝试将mac地址表中的源mac地址00:11:22:33:44:55+vlan10命中丢弃的mac地址条目删除,即解除针对此mac地址的防御措施。此时,若交换机的环路故障未消除,该mac地址的上报速率又达到预设速率门限(例如1秒内收到100个mac地址漂移条目),则再次启动防御措施,在mac地址表中写入此mac地址源命中丢弃的条目。若交换机的环路故障已经消除,该mac地址的上报速率小于预设速率门限,则此源mac地址的流量又可以正常转发了。

实例3

本实例中,提供一种使用acl来进行防御的实现方式。

类似实例1和实例2中的情景,源mac地址为00:11:22:33:44:55vlan10的流量出现环路,交换机a判定出现mac地址漂移且到达预设速率门限。

交换机a开始进行防御性措施,设置一个acl规则,命中此mac地址00:11:22:33:44:55+vlan10,并设置acl报文丢弃动作,在相应端口生效(例如在此mac地址出现漂移的端口生效,或者针对交换机所有端口生效)。以及,针对此mac地址对系统上报异常告警。

经过预设计时门限(例如5分钟)后,删除此acl规则,若环路未消失,则mac地址上报速率再次达到预设速率门限,设置此acl规则,若消失,则设备恢复正常,转发此条流量。

由以上的技术方案可见,与一般的设备的环路抑制和系统防护机制相比,利用此mac地址设置源命中丢弃的方式来进行系统防护的方法,既不会增加太多cpu的报文交互导致cpu利用率上升,又不会因为受到外界环境影响而导致的检测报文无法收到而出现漏判,只是在设备上进行mac地址的转发抑制,即可针对某异常流量进行判定和防御,而且,还不会影响此端口上或者此vlan上的其他转发流量。应用这样的方法,可以使得网络设备的影响最小化,设备可以基于流量进行防御,并且可自动恢复,并可以针对某流量的异常对设备进行告警,提高了网络的可维护性和健壮性以及设备的容错性。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1