网络设备的端口限速方法及装置与流程

文档序号:14325065阅读:416来源:国知局

本发明涉及通信技术领域,尤指一种网络设备的端口限速方法及装置。



背景技术:

在互联网(internet)的广泛普及以及大数据大流量的背景下,网络攻击、病毒攻击等攻击越来越频繁,对网络设备的危害也越来越大,攻击严重时,网络设备处理性能会大大降低。

目前,网络设备都有防攻击的功能,但基本上是针对整个网络设备进行限速,即:当网络设备被攻击时,所有端口的报文都会被限速,而大部分网络设备的各个端口会连接不同的出口线路,一旦某条出口线路受到攻击,未被攻击的出口线路也会被限速,甚至可以能导致整个网络设备无法进行访问和管理,严重影响用户体验。



技术实现要素:

本发明实施例提供一种网络设备的端口限速方法及装置,用以解决现有技术中存在的可以能导致整个网络设备无法进行访问和管理,严重影响用户体验的问题。

根据本发明实施例,提供一种网络设备的端口限速方法,应用在所述网络设备中,所述方法包括:

确定第一源互联网协议ip地址对应的第一报文发送队列的第一报文发送速率和所述第一源ip地址对应的第一限定速率之间的大小关系;

按照所述第一报文发送速率和所述第一限定速率之间的较小者从所述第一报文发送队列中选定待发送报文;

将所述待发送报文发送至所述第一报文发送队列对应的第一端口;

检测所述第一端口的第二报文发送速率是否超过所述第一端口对应的第二限定速率;

若所述第二报文发送速率超过所述第二限定速率,则丢弃所述待发送报文。

可选的,还包括:

接收到待处理报文后,获取所述待处理报文的第二源ip地址;

在限速策略表中查找包括所述第二源ip地址的表项;

若查找到包括所述第二源ip地址的表项,则将所述待处理报文添加到所述第二源ip地址对应的第二报文发送队列中;

若未查找到包括所述第二源ip地址的表项,则根据所述第二源ip地址及其对应的第三限定速率在所述限速策略表中建立表项,并在建立所述第二源ip地址对应的第二报文发送队列后,将所述待处理报文添加到所述第二报文发送队列中。

可选的,还包括:

更新包括所述第二源ip地址的表项中的时间戳。

可选的,还包括:

检测所述限速策略表中各个表项中的时间戳与当前时刻的时间间隔是否超过设定间隔;

删除时间戳与当前时刻的时间间隔超过所述设定间隔的表项。

可选的,还包括:

若所述第二报文发送速率未超过所述第二限定速率,则转发所述待发送报文。

根据本发明实施例,还提供一种网络设备的端口限速装置,应用在所述网络设备中,所述装置包括:

确定模块,用于确定第一源互联网协议ip地址对应的第一报文发送队列的第一报文发送速率和所述第一源ip地址对应的第一限定速率之间的大小关系;

选定模块,用于按照所述第一报文发送速率和所述第一限定速率之间的较小者从所述第一报文发送队列中选定待发送报文;

发送模块,用于将所述待发送报文发送至所述第一报文发送队列对应的第一端口;

检测模块,用于检测所述第一端口的第二报文发送速率是否超过所述第一端口对应的第二限定速率;

丢弃模块,用于若所述第二报文发送速率超过所述第二限定速率,则丢弃所述待发送报文。

可选的,还包括:

接收模块,用于接收到待处理报文后,获取所述待处理报文的第二源ip地址;

查找模块,用于在限速策略表中查找包括所述第二源ip地址的表项;

添加模块,用于若查找到包括所述第二源ip地址的表项,则将所述待处理报文添加到所述第二源ip地址对应的第二报文发送队列中;

处理模块,用于若未查找到包括所述第二源ip地址的表项,则根据所述第二源ip地址及其对应的第三限定速率在所述限速策略表中建立表项,并在建立所述第二源ip地址对应的第二报文发送队列后,将所述待处理报文添加到所述第二报文发送队列中。

可选的,还包括更新模块,用于:

更新包括所述第二源ip地址的表项中的时间戳。

可选的,所述装置还包括删除模块;

所述检测模块,还用于检测所述限速策略表中各个表项中的时间戳与当前时刻的时间间隔是否超过设定间隔;

所述删除模块,用于删除时间戳与当前时刻的时间间隔超过所述设定间隔的表项。

可选的,所述发送模块,还用于:

若所述第二报文发送速率未超过所述第二限定速率,则转发所述待发送报文。

本发明有益效果如下:

本发明实施例提供一种网络设备的端口限速方法及装置,通过确定第一源互联网协议ip地址对应的第一报文发送队列的第一报文发送速率和所述第一源ip地址对应的第一限定速率之间的大小关系;按照所述第一报文发送速率和所述第一限定速率之间的较小者从所述第一报文发送队列中选定待发送报文;将所述待发送报文发送至所述第一报文发送队列对应的第一端口;检测所述第一端口的第二报文发送速率是否超过所述第一端口对应的第二限定速率;若所述第二报文发送速率超过所述第二限定速率,则丢弃所述待发送报文。该方案中,可以针对网络设备的各个源ip地址对应的报文发送队列进行限速,同时还可以针对网络设备的各个端口进行限速,当一个端口或者一个源ip地址受到攻击时,仅针对该端口或者该源ip地址的报文进行限速处理即可,其它端口或源ip地址的报文转发不受影响,相对于现有技术中针对整个网络设备进行限速的方法,能够避免整个网络设备无法进行访问和管理,从而大大提升用户体验。

附图说明

图1为本发明实施例中一种网络设备的端口限速方法的流程图;

图2为本发明实施例中将报文添加到报文发送队列中的流程图;

图3为本发明实施例中一种网络设备的端口限速装置的结构示意图;

图4为本发明实施例中另一种网络设备的端口限速装置的结构示意图;

图5为本发明实施例中再一种网络设备的端口限速装置的结构示意图。

具体实施方式

针对现有技术中存在的可以能导致整个网络设备无法进行访问和管理,严重影响用户体验的问题,本发明实施例提供一种网络设备的端口限速方法,该方法应用在网络设备中,该方法的流程如图1所示,执行步骤如下:

s11:确定第一源互联网协议(internetprotocol,ip)地址对应的第一报文发送队列的第一报文发送速率和第一源ip地址对应的第一限定速率之间的大小关系。

通常,网络设备中会处理很多报文,网络设备会根据报文中携带的源ip地址将其添加到不同的报文发送队列,每个报文发送队列都有对应的报文发送速率,为了实现对于源ip地址对应的报文发送队列进行限速,可以设定该源ip地址对应的限定速率。

网络设备可以但不限于定期依次轮询各个源ip地址对应的报文发送队列,并对轮询到的源ip地址对应的报文发送队列进行限速处理。其中,轮询到的源ip地址定义为第一源ip地址,第一源ip地址对应的报文发送队列定义为第一报文发送队列,第一报文发送队列当前的报文发送速率定义为第一报文发送速率,为了对第一报文发送队列进行限速处理,可以预先设定限定速率,该限定速率定义为第一限定速率,第一限定速率的大小可以根据实际需要进行设定。

s12:按照第一报文发送速率和第一限定速率之间的较小者从第一报文发送队列中选定待发送报文。

网络设备可以比较第一报文发送速率和第一限定速率的大小,然后按照二者之间的较小者从第一报文发送队列中选定待发送队列:若第一报文发送速率较小,可以将第一报文发送队列中的全部报文选定为待发送报文;若第一限定速率较小,可以根据第一报文发送速率和第一限定速率的差值确定需要丢弃的报文,剩下的报文为待发送报文。

s13:将待发送报文发送至第一报文发送队列对应的第一端口。

每个报文发送队列都有对应的发送端口,第一报文发送队列的发送端口定义为第一端口,可以将待发送报文发送至第一端口。

s14:检测第一端口的第二报文发送速率是否超过第一端口对应的第二限定速率。

第一端口的报文发送速率定义为第二报文发送速率,为了对第一端口进行限速,可以设置第一端口的限定速率,第一端口的限定速率定义为第二限定速率,第二限定速率的大小可以根据实际需要进行设定。

s15:若第二报文发送速率超过第二限定速率,则丢弃待发送报文。

网络设备可以检测第一端口的第二报文发送速率是否超过第二限定速率,若第二报文发送速率超过第二限定速率,则说明第一端口当前的报文发送速率已经超速,网络设备处于超负荷转发状态,因此,为了保证网络设备的整体性能,需要丢弃待发送报文;若第二报文发送速率未超过第二限定速率,则说明第一端口当前的报文发送速率未超速,网络设备处于正常转发状态,因此,可以正常转发待发送报文。

该方案中,可以针对网络设备的各个源ip地址对应的报文发送队列进行限速,同时还可以针对网络设备的各个端口进行限速,当一个端口或者一个源ip地址受到攻击时,仅针对该端口或者该源ip地址的报文进行限速处理即可,其它端口或源ip地址的报文转发不受影响,相对于现有技术中针对整个网络设备进行限速的方法,能够避免整个网络设备无法进行访问和管理,从而大大提升用户体验。

一种可选的实施例,下面介绍网络设备如何将接收到的报文添加到报文发送队列中,如图2所示,包括:

s21:接收到待处理报文后,获取待处理报文的第二源ip地址。

网络设备接收到的报文为待处理报文,待处理报文中携带的源ip地址定义为第二源ip地址。

s22:在限速策略表中查找包括第二源ip地址的表项,若查找到包括第二源ip地址的表项,则执行s23;若未查找到包括第二源ip地址的表项,则执行s24。

可以建立限速策略表,限速策略表中包括各个源ip地址的表项,表项中可以包括该源ip地址对应的限定速率。

s23:将待处理报文添加到第二源ip地址对应的第二报文发送队列中。

若在限速策略表中查找到包括第二源ip地址的表项,说明之前接收过携带第二源ip地址的报文,则可以直接将待处理报文添加到报文发送队列中,第二源ip地址对应的报文发送队列定义为第二报文发送队列。

s24:根据第二源ip地址及其对应的第三限定速率在限速策略表中建立表项,并在建立第二源ip地址对应的第二报文发送队列后,将待处理报文添加到第二报文发送队列中。

若在限速策略表中未查找到包括第二源ip地址的表项,说明之前未接收过携带第二源ip地址的报文,则可以根据第二源ip地址及其对应的第三限定速率在限速策略表中建立表项,并在建立第二报文发送队列后,将待处理报文添加到第二报文发送队列中。

通过s21-s24可以实现将接收到的待处理报文添加到对应的报文发送队列中,以便于后续针对每个源ip地址对应的报文发送队列进行限速处理。

可选的,第二源ip地址的表项中还包括时间戳,也就是上次接收到携带第二源ip地址的报文的时间,在执行s23和s24之后,还可以更新包括第二源ip地址的表项中的时间戳。

相应地,还可以检测限速策略表中各个表项中的时间戳与当前时刻的时间间隔是否超过设定间隔;删除时间戳与当前时刻的时间间隔超过设定间隔的表项。由于限速策略表可能存储能力有限,为了确保能够准确地保存各个源ip地址的表项,可以及时删除距上次接收到报文超过设定时间间隔的表项,为后续接收到的新的报文建立对应的表项。其中,设定时间间隔可以根据实际需要进行设定。

以上介绍的网络设备的端口限速方法的应用场景很多,例如,可以应用在网页(web)认证的过程中,可以应用在数据中心中等等。在各个应用场景中仅仅是网络设备会有区别,处理的流程都是一样的,这里不再针对各个应用场景进行说明。

基于同一发明构思,本发明实施例提供一种网络设备的端口限速装置,应用在网络设备中,该装置的结构如图3所示,包括:

确定模块31,用于确定第一源ip地址对应的第一报文发送队列的第一报文发送速率和第一源ip地址对应的第一限定速率之间的大小关系;

选定模块32,用于按照第一报文发送速率和第一限定速率之间的较小者从第一报文发送队列中选定待发送报文;

发送模块33,用于将待发送报文发送至第一报文发送队列对应的第一端口;

检测模块34,用于检测第一端口的第二报文发送速率是否超过第一端口对应的第二限定速率;

丢弃模块35,用于若第二报文发送速率超过第二限定速率,则丢弃待发送报文。

该方案中,可以针对网络设备的各个源ip地址对应的报文发送队列进行限速,同时还可以针对网络设备的各个端口进行限速,当一个端口或者一个源ip地址受到攻击时,仅针对该端口或者该源ip地址的报文进行限速处理即可,其它端口或源ip地址的报文转发不受影响,相对于现有技术中针对整个网络设备进行限速的方法,能够避免整个网络设备无法进行访问和管理,从而大大提升用户体验。

本发明实施例还提供另一种网络设备的端口限速装置,该装置的结构如图4所示,在图3的基础上,还包括:

接收模块36,用于接收到待处理报文后,获取待处理报文的第二源ip地址;

查找模块37,用于在限速策略表中查找包括第二源ip地址的表项;

添加模块38,用于若查找到包括第二源ip地址的表项,则将待处理报文添加到第二源ip地址对应的第二报文发送队列中;

处理模块39,用于若未查找到包括第二源ip地址的表项,则根据第二源ip地址及其对应的第三限定速率在限速策略表中建立表项,并在建立第二源ip地址对应的第二报文发送队列后,将待处理报文添加到第二报文发送队列中。

本发明实施例还提供再一种网络设备的端口限速装置,该装置的结构如图5所示,在图3的基础上,还包括更新模块40,用于:

更新包括第二源ip地址的表项中的时间戳。

可选的,上述装置还包括删除模块。

检测模块34,还用于检测限速策略表中各个表项中的时间戳与当前时刻的时间间隔是否超过设定间隔;

删除模块,用于删除时间戳与当前时刻的时间间隔超过设定间隔的表项。

可选的,发送模块33,还用于:

若第二报文发送速率未超过第二限定速率,则转发待发送报文。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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