降低占用宽带的网络广播流量发送方法、装置及存储介质与流程

文档序号:23550721发布日期:2021-01-05 21:08阅读:141来源:国知局
降低占用宽带的网络广播流量发送方法、装置及存储介质与流程

本发明涉及网络通信技术领域,具体涉及一种降低占用宽带的网络广播流量发送方法、装置及存储介质。



背景技术:

在二层网络中,诸如arp报文一类的广播流量是非常常见的,广播流量有着不可取代的作用,但是这也给网络带来了负担,大多数接收者并不是这个报文真正的目标,这条报文对他们来说是完全多余的负担,而且当一个二层网络规模很大的时候,广播会非常频繁,复制次数很多,严重时会导致其他流量无法正常转发,因此,降低广播流量带来的负面影响是非常必要的。

现在主要靠划分vlan来隔离广播域,当一个vlan比较大时,一条广播报文仍然会传播给很多个目标,占用带宽的现象仍然非常严重。



技术实现要素:

为解决以上问题,本发明的实施例提供了一种降低占用宽带的网络广播流量发送方法、装置及计算机可读存储介质,可以通过cpu的调度,来有序的控制广播报文,使广播报文不再一次性给所有目标,而是按照请求频率顺序定向发送,降低广播报文的接收者数量,从而降低对带宽的占用。

第一方面,本发明提供的一种降低占用宽带的网络广播流量发送方法,所述方法包括:

配置网络广播流量的访问控制列表acl,所述acl用于接收和回复所述网络广播流量的请求信息;

创建vlan,并保存创建时的vlan端口信息,其中所述信息至少包括所述端口常用度信息和端口号大小;

当所述acl接收到所述网络广播流量请求时,cpu根据保存的所述vlan端口信息,发送所述网络广播流量至vlan端口;

其中,当保存了所述端口常用度信息时的端口,根据所述端口常用度顺序定向发送所述网络广播流量;当未保存所述端口常用度信息的端口时,根据端口号大小发送所述网络广播流量。

进一步的,cpu根据保存的所述vlan端口信息,发送所述网络广播流量至vlan端口的步骤,包括:

将所述网络广播流量转送至cpu;

cpu根据保存的所述vlan端口信息,发送所述网络广播流量至vlan端口。

进一步的,当保存了所述端口常用度信息时,根据所述端口常用度顺序定向发送所述网络广播流量的步骤之后,还包括:

等待预定时间,如果在预定时间内未收到对所述网络广播流量的回复,则根据所述端口常用度顺序继续发送至下一vlan端口,以此循环至收到端口对所述网络广播流量的回复;

当未保存所述端口常用度信息的端口时,根据端口号大小发送所述网络广播流量的步骤之后,还包括:

等待预定时间,如果在预定时间内未收到对所述网络广播流量的回复,则根据所述端口号大小顺序继续发送至下一vlan端口,以此循环至收到端口对所述网络广播流量的回复。

进一步的,还包括,将收到回复的vlan端口常用度权值增加,更新所述端口常用度信息。

进一步的,将收到回复的vlan端口常用度权值增加,更新所述端口常用度信息的步骤,包括:

将收到回复的vlan端口常用度权值加1;

根据常用度权值从大到小的顺序,将vlan端口的常用度信息重新排序。

进一步的,所述预定时间为0.2s至1s。

进一步的,所述网络广播流量是arp报文。

第二方面,本发明提供的一种降低占用宽带的控制网络的广播流量占用带宽的装置,包括:

配置模块,配置网络广播流量的访问控制列表acl,所述acl用于接收和回复所述网络广播流量的请求信息;

处理模块,用于创建vlan,并保存创建时的vlan端口信息,其中所述信息至少包括所述端口常用度信息和端口号大小;

发送模块,用于当所述acl接收到所述网络广播流量请求时,cpu根据保存的所述vlan端口信息,发送所述网络广播流量至vlan端口;其中,保存了所述端口常用度信息的端口,所述发送模块根据所述端口常用度顺序定向发送所述网络广播流量;未保存所述端口常用度信息的端口,所述发送模块根据端口号大小发送所述网络广播流量。

第三方面,本发明提供的一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

第四方面,本发明提供的一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述的方法。

本发明实施例的网络广播流量发送方法、装置及计算机可读存储介质,有益效果为:本发明可以通过cpu调度,根据端口常用度信息或端口号大小有序的发送arp报文,有序的控制广播报文,使广播报文不再一次性给所有目标,而是按照请求频率顺序定向发送,降低广播报文的接收者数量,从而降低对带宽的占用,降低了其他设备的负荷。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1是本发明实施例提供的发送方法的流程图;

图2是本发明实施例提供的发送方法的另一流程图;

图3是本发明实施例提供的工作原理框图。

具体实施方式

以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。

请参阅附图1-3,一种网络广播流量发送方法、装置及计算机可读存储介质,具体包括以下实施例:

实施例一

本发明实施例提供的一种网络广播流量发送方法,所述方法包括:

配置网络广播流量的访问控制列表acl,所述acl用于接收和回复所述网络广播流量的请求信息;

创建vlan,并保存创建时的vlan端口信息,其中所述信息至少包括所述端口常用度信息和端口号大小;

当所述acl接收到所述网络广播流量请求时,cpu根据保存的所述vlan端口信息,发送所述网络广播流量至vlan端口;

其中,当保存了所述端口常用度信息时的端口,根据所述端口常用度顺序定向发送所述网络广播流量;当未保存所述端口常用度信息的端口时,根据端口号大小发送所述网络广播流量。

本发明可以通过cpu调度,根据端口常用度信息或端口号大小有序的发送arp报文,有序的控制广播报文,使广播报文不再一次性给所有目标,而是按照请求频率顺序定向发送,降低广播报文的接收者数量,从而降低对带宽的占用,降低了其他设备的负荷。

本发明实施例中,cpu根据保存的所述vlan端口信息,发送所述网络广播流量至vlan端口的步骤,包括:

将所述网络广播流量转送至cpu;

cpu根据保存的所述vlan端口信息,发送所述网络广播流量至vlan端口。

本发明实施例中,当保存了所述端口常用度信息时,根据所述端口常用度顺序定向发送所述网络广播流量的步骤之后,还包括:

等待预定时间,如果在预定时间(例如0.5s)内未收到对所述网络广播流量的回复,则根据所述端口常用度顺序继续发送至下一vlan端口,以此循环至收到端口对所述网络广播流量的回复。其中,该预定时间可以为0.2s至1s之间,例如0.5s。

如果具有常用度信息的vlan端口都发送完毕,还未收到对网络广播流量的回复,则继续对不具有常用度信息的vlan端口按端口号大小发送网络广播流量。

本发明实施例中,当未保存所述端口常用度信息的端口时,根据端口号大小发送所述网络广播流量的步骤之后,还包括:

等待预定时间,如果在预定时间内未收到对所述网络广播流量的回复,则根据所述端口号大小顺序继续发送至下一vlan端口,以此循环至收到端口对所述网络广播流量的回复。其中,该预定时间可以为0.2s至1s之间,例如0.5s。

本发明实施例中,还包括:

将收到回复的vlan端口常用度权值增加,更新所述端口常用度信息。这样使得该vlan端口常用度权值得到提高,在下一次发送网络广播流量时,该vlan端口具有更高的优先级,提高收到回复的概率。

本发明实施例中,将收到回复的vlan端口常用度权值增加,更新所述端口常用度信息的步骤,包括:

将收到回复的vlan端口常用度权值加1;

根据常用度权值从大到小的顺序,将vlan端口的常用度信息重新排序。

本发明实施例中,所述网络广播流量是arp报文。

本发明实施例提供的一种控制网络的广播流量占用带宽的装置,包括:

配置模块,配置网络广播流量的访问控制列表acl,所述acl用于接收和回复所述网络广播流量的请求信息;

处理模块,用于创建vlan,并保存创建时的vlan端口信息,其中所述信息至少包括所述端口常用度信息和端口号大小;

发送模块,用于当所述acl接收到所述网络广播流量请求时,cpu根据保存的所述vlan端口信息,发送所述网络广播流量至vlan端口;其中,保存了所述端口常用度信息的端口,所述发送模块根据所述端口常用度顺序定向发送所述网络广播流量;未保存所述端口常用度信息的端口,所述发送模块根据端口号大小发送所述网络广播流量。

本发明实施例提供的一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至6任一项所述的方法。

如图1所示,本发明技术实现的具体实施例步骤如下:

1.配置访问控制列表(accesscontrollist,acl),acl用于接收和回复所述网络广播流量的请求信息。当收到一个arprequest报文时,不是现在常用的复制到cpu(copytocpu)的处理方式,而是选择转送至cpu(traptocpu)的处理方式,将原报文转送至cpu,不直接广播。

2.在创建vlan时,保存该vlan中的所有端口信息,该信息至少包括所述端口常用度信息和端口号大小。

3.cpu收到报文后,按照该vlan内常用度顺序发送该arp报文,如果是第一次发送,没有常用度时,按照端口号顺序发送。

4.等待0.5s后,若没有收到arpreply继续发送给下一个端口。如果具有常用度信息的vlan端口都发送完毕,还未收到对网络广播流量的回复,则继续对不具有常用度信息的vlan端口按端口号大小发送网络广播流量。直到收到arpreply,将reply复制到cpu一份。

5.将收到reply的端口常用统计加1,并将整个表按照常用度从大到小排序,更新所述端口常用度信息。下一次发送时,按照常用度顺序发送arp。

软件中储存vlan中端口:格式如下:

按照上面格式,在内存中将同一vlan中端口按照常用度从大到小排序。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例二

由图2可知,本发明实施例二测试仪的tc1,tc2分别与交换机的端口1,端口2直连,所有端口均为100g网口,主机1配置ip地址为192.168.1.1,主机2配置ip地址为192.168.1.2,主机3配置ip地址为192.168.1.3。端口1、端口2、端口3都在vlan1内。从主机1发送arprequest,请求主机2的mac地址。

此时软件中表内容为:

先从端口3发出arp,等待0.5s未收到回复,再从端口2发出arp,收到reply,更新表项:

将收到reply的端口2常用统计加1,然后将整个表按照常用度从大到小重新排序,更新所述端口常用度信息。下一次发送时,从主机1请求主机2的mac地址,发送arprequest,这次第一个发给端口2,直接收到回复。

本发明也可以应用于其他可以按顺序发送的报文。

应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。

应该注意的是上述任一实施例是对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、上一、以及下一等的使用不表示任何顺序。可将这些单词解释为名称。

以上实施方式仅适于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

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