CN104702531B - 一种网络设备拥塞避免的方法及网络设备 - Google Patents
一种网络设备拥塞避免的方法及网络设备 Download PDFInfo
- Publication number
- CN104702531B CN104702531B CN201310665388.2A CN201310665388A CN104702531B CN 104702531 B CN104702531 B CN 104702531B CN 201310665388 A CN201310665388 A CN 201310665388A CN 104702531 B CN104702531 B CN 104702531B
- Authority
- CN
- China
- Prior art keywords
- threshold
- message
- data flow
- memory space
- packet loss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/18—End to end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/326—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络设备拥塞避免的方法及网络设备,用以解决现有技术中网络设备在接收到一串报文后,采用随机离散丢包方式对该串报文进行丢包处理而造成的所述网络设备吞吐量减少的问题。所述方法包括:网络设备根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述同属一个数据流的报文为N个,N≥2;在需要进行丢包处理的情况下,所述网络设备丢弃所述同属一个数据流中连续的M个报文,其中1≤M≤N。
Description
技术领域
本发明涉及通信领域,尤其涉及一种网络设备拥塞避免的方法及网络设备。
背景技术
在通信网络中,网络设备接收发送端发送的报文,并将所述报文转发给接收端。然而,当发送端发送的报文数目较多时,所述网络设备就会出现拥塞的情况。网络设备拥塞避免是通过监视该网络设备中存储空间的使用情况,当拥塞有加剧的趋势时,主动丢弃所述存储空间中的一些报文,通过调整该网络设备中的数据流量来解除所述网络设备拥塞的问题。
现在技术中,一般采用随机早期检测(Random Early Detection,简称为RED)算法、加权随机早期检测(Weighted Random Early Detection,简称为WRED)算法等解决上述问题。示例的,在RED算法中,为上述存储空间大小设定一低限值和一高限值,若当前已用存储空间大小介于该低限值和高限值之间,则开始随机丢弃到来的报文。
根据上述算法,所述网络设备在接收到发送端发送的一串报文后,采用随机离散丢包方式对该串报文进行丢包处理,这样网络设备每丢弃一个报文,接收端就会通知发送端所述网络设备发生了丢包现象,因此发送端就会判定当前所述网络设备出现拥塞现象,从而减少发送报文的数目,相应的,所述网络设备转发的报文数目也会减少,若所述网络设备丢弃多个报文,就会导致所述网络设备的吞吐量大大减少。
发明内容
本发明的实施例提供了一种网络设备拥塞避免的方法及网络设备,用以解决现有技术中网络设备在接收到一串报文后,采用随机离散丢包方式对该串报文进行丢包处理而造成的所述网络设备吞吐量减少的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种网络设备拥塞避免的方法,该方法包括:
网络设备根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述同属一个数据流的报文为N个,N≥2;
在需要进行丢包处理的情况下,所述网络设备丢弃所述同属一个数据流中连续的M个报文,其中1≤M≤N。
结合第一方面,在第一种可能的实现方式中,所述确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理包括:
获取所述同属一个数据流的N个报文的随机数;
确定当前的第一阈值;所述第一阈值为判定数据流是否丢包的临界值;
根据所述N个报文的随机数以及所述当前的第一阈值确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述网络设备根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理包括:
所述网络设备在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述确定当前的第一阈值包括:
根据当前已用存储空间的大小,以及已用存储空间的大小与第一阈值的函数关系确定当前的第一阈值;其中,在所述已用存储空间的大小与第一阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最大的第一阈值,另一个对应最小的第一阈值。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关;
所述根据所述N个报文的随机数以及当前的第一阈值确定是否需要对所述同属一个数据流中的报文进行丢包处理包括:
若所述N个报文的随机数之和小于当前的第一阈值,则确定不需要对所述同属一个数据流中的报文进行丢包处理;
若所述N个报文的随机数之和大于当前的第一阈值,则确定需要对所述同属一个数据流中的报文进行丢包处理。
结合第一方面,在第四种可能的实现方式中,所述确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理包括:
获取所述数据流的随机数;
确定当前的第二阈值;所述第二阈值为判定数据流是否丢包的临界值;
根据所述数据流的随机数以及所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述网络设备根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理包括:
所述网络设备在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述确定当前的第二阈值包括:
根据当前已用存储空间的大小,以及已用存储空间的大小与所述第二阈值的函数关系确定当前的第二阈值;其中,在已用存储空间的大小与所述第二阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最小的第二阈值,另一个对应最大的第二阈值。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,在所述已用存储空间的大小与所述第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关;
所述根据所述数据流的随机数以及所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理包括:
若所述数据流的随机数小于当前的第二阈值,则确定需要对所述数据流中的报文进行丢包处理;
若所述数据流的随机数大于当前的第二阈值,则确定不需要对所述数据流中的报文进行丢包处理。
结合第一方面,在第七种可能的实现方式中,所述数据流为TCP流;
所述丢弃所述同属一个数据流中连续的M个报文包括:丢弃同属一个TCP流中TCP序列号连续的M个报文。
第二方面,提供了一种网络设备,该网络设备包括:
确定模块,用于根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述同属一个数据流的报文为N个,N≥2;
丢弃模块,用于在所述确定模块确定需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,其中1≤M≤N。
结合第二方面,在第一种可能的实现方式中,所述确定模块包括:
第一获取单元,用于获取所述同属一个数据流的N个报文的随机数;
第一确定单元,用于确定当前的第一阈值;所述第一阈值为判定数据流是否丢包的临界值;
第二确定单元,用于根据所述第一获取单元获取的所述N个报文的随机数以及所述第一确定单元确定的所述当前的第一阈值确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定模块,用于在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述第一确定单元,用于根据当前已用存储空间的大小,以及已用存储空间的大小与第一阈值的函数关系确定当前的第一阈值;其中,在所述已用存储空间的大小与第一阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最大的第一阈值,另一个对应最小的第一阈值。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关;
所述第二确定单元,用于若所述N个报文的随机数之和小于当前的第一阈值,则确定不需要对所述同属一个数据流中的报文进行丢包处理;若所述N个报文的随机数之和大于当前的第一阈值,则确定需要对所述同属一个数据流中的报文进行丢包处理。
结合第二方面,在第四种可能的实现方式中,所述确定模块包括:
第二获取单元,用于获取所述数据流的随机数;
第三确定单元,用于确定当前的第二阈值;所述第二阈值为判定数据流是否丢包的临界值;
第四确定单元,用于根据所述第二获取单元获取的所述数据流的随机数以及所述第三确定单元确定的所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述确定模块,用于在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述第三确定单元,用于根据当前已用存储空间的大小,以及已用存储空间的大小与所述第二阈值的函数关系确定当前的第二阈值;其中,在已用存储空间的大小与所述第二阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最小的第二阈值,另一个对应最大的第二阈值。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,在所述已用存储空间的大小与所述第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关;
所述第四确定单元,用于若所述数据流的随机数小于当前的第二阈值,则确定需要对所述数据流中的报文进行丢包处理;若所述数据流的随机数大于当前的第二阈值,则确定不需要对所述数据流中的报文进行丢包处理。
结合第二方面,在第七种可能的实现方式中,所述数据流为TCP流;
所述丢弃所述同属一个数据流中连续的M个报文包括:丢弃同属一个TCP流中TCP序列号连续的M个报文。
本发明实施例提供的网络设备拥塞避免的方法及网络设备,网络设备根据当前已用存储空间的大小,确定是否需要对同属一个数据流中的报文进行丢包处理,其中,所述同属一个数据流的报文为N个,N≥2;并在需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,1≤M≤N。由于所述网络设备对同属一个数据流中的报文进行丢包处理时,每发生一次连续丢包,接收端才会通知发送端发生了丢包现象,这样发送端判定当前网络设备出现拥塞现象的次数就会减少,减少发送报文数目的次数也会变少,从而减轻了现有技术中网络设备在接收到一串报文后,采用随机离散丢包方式对该串报文进行丢包处理而造成的所述网络设备吞吐量减少的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的网络设备拥塞避免的方法的示意图;
图2为本发明实施例中已用存储空间的大小与第一阈值的函数关系的示意图;
图3为本发明实施例中已用存储空间的大小与第二阈值的函数关系示意图;
图4为本发明实施例中所述网络设备在当前存储队列的长度在第一门限和第二门限之间接收报文的示意图;
图5为本发明实施例一中所述网络设备在当前存储队列的长度在第一门限和第二门限之间接收报文的TCP流分组情况示意图;
图6为本发明实施例提供的网络设备的结构示意图;
图7为本发明实施例提供的另一种网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合图1,本发明实施例提供的网络设备拥塞避免的方法包括以下步骤:
S101、网络设备根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理。
其中,所述同属一个数据流的报文为N个,N≥2。
在网络设备的硬件资源中,有一部分硬件资源是作为该网络设备的存储空间使用的。每当向所述存储空间写入数据或者读取数据时,则当前已用存储空间的大小将发生变化。
其中,当前已用存储空间的大小可以用当前已用存储空间的字节数来表示,当然,还可以用当前已用存储空间中所保存的报文个数来表示。
示例的,假设当前所述存储空间中没有任何数据,若向所述存储空间中写入5MB的数据且不读取任何数据,则当前已用存储空间的大小为5MB;若从上述存储空间中读取3MB的数据且不写入任何数据,则当前已用存储空间的大小将从5MB变化为2MB。
又示例的,假设当前所述存储空间中没有任何报文,若向所述存储空间中写入5个报文且不读取任何报文,则当前已用存储空间的大小为5个报文;若从上述存储空间中读取3个报文且不写入任何报文,那么,当前已用存储空间的大小将从5个报文变化为2个报文。
所谓同属一个数据流是指,若某几个报文的源网际协议(Internet Protocol,简称为IP)地址、目的IP地址、协议号、数据流源端口、数据流目的端口中的至少一项相同,则这几个报文同属一个数据流。
在此步骤中,当前已用存储空间中所保存的报文可能同属一个数据流,也可能仅有其中的N个报文同属一个数据流。
示例的,设当前已用存储空间中所保存的报文共有L(L≥N)个,若L=N,则当前已用存储空间中所保存的L个报文同属一个数据流;若L>N,则当前已用存储空间中所保存的L个报文中仅有N个报文同属一个数据流。
此步骤中,具体的,所述网络设备可以通过以下两种方式确定是否需要对所述同属一个数据流中的报文进行丢包处理。
方式一:
(1)获取所述同属一个数据流的N个报文的随机数。
优选的,一个报文的随机数为该报文的随机丢弃概率,且该报文的随机丢弃概率在0-100%之间。当然,一个报文的随机数还可以是所述网络设备为该报文设置的一个数,该数的范围可以为0-100。
(2)确定当前的第一阈值。
其中,所述第一阈值为判定数据流是否丢包的临界值。所述第一阈值可以是一个经验值,也可以是一个变化值。
优选的,此步骤具体可以是:所述网络设备在当前已用存储空间的大小在第一门限和第二门限之间时,根据当前已用存储空间的大小,以及已用存储空间的大小与第一阈值的函数关系确定当前的第一阈值。其中,在所述已用存储空间的大小与第一阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最大的第一阈值,另一个对应最小的第一阈值。
在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值可以正相关,当然还可以负相关。
所谓正相关是指,若一变量的值增大或减小,则另一变量的值也相应地增大或减小。所谓负相关是指,若一变量的值增大或减小,则另一变量的值也相应地减小或增大。
也就是说,若所述第一门限对应最大的第一阈值,所述第二门限对应最小的第一阈值,则在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关。
若所述第一门限对应最小的第一阈值,所述第二门限对应最大的第一阈值,则在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值正相关。
优选的,本实施例中,在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关。此时,示例的,所述已用存储空间的大小与第一阈值的函数关系的示意图可以参照图2。
在图2中,横坐标X代表已用存储空间的大小,纵坐标Y代表第一阈值,X1代表第一门限,X2代表第二门限,X0代表当前的已用存储空间的大小;Ymax代表最大的第一阈值,Ymin代表最小的第一阈值,Y0代表当前的第一阈值;其中,所述第一门限X1对应最大的第一阈值Ymax,所述第二门限X2对应最小的第一阈值Ymin。
示例的,若一报文的随机数为该报文的随机丢弃概率,则最大的第一阈值Ymax可以为95%,最小的第一阈值Ymin可以为5%。
又示例的,若一报文的随机数用取值为0-100范围的数表示,则最大的第一阈值Ymax可以为95,最小的第一阈值Ymin可以为5。
需要说明的是,图2中已用存储空间的大小与所述第一阈值的函数关系是线性的,这仅仅是示例的,当然还可以是非线性的。无论是线性关系还是非线性关系,在本实施例中,当所述当前已用存储空间的大小X0在第一门限X1和第二门限X2之间时,曲线Y-X的斜率为负。
(3)根据所述N个报文的随机数以及当前的第一阈值确定是否需要对所述同属一个数据流中的报文进行丢包处理。
在此步骤中,若所述当前的第一阈值是一个变化值,且在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关,那么此时,优选的,此步骤具体可以包括:
若所述N个报文的随机数之和小于当前的第一阈值,则确定不需要对所述同属一个数据流中的报文进行丢包处理。
进一步的,此时可以确定所述N个报文所属的数据流为一个小的数据流。
现有技术中,网络设备每丢弃一个报文,发送端便会接收到接收端反馈的3个确认(Acknowledgement),简称为ACK)报文,从而发送端会重新发送丢失的报文。
对于一个小的数据流,由于该数据流中的报文数目较少(一般为3-6个报文),因此,一旦网络设备丢弃该数据流中位置靠后的某个报文,发送端便无法接收到接收端反馈的3个ACK报文,而只能等到发送端预设的重传报文时间到期,才能重新发送丢失的报文,这样就会导致数据流的传输时间增大。因此,在本发明中,为了避免丢包导致的传输时间增大的问题,对于一个小的数据流,网络设备就不需要对该数据流进行丢包处理。
若所述N个报文的随机数之和大于当前的第一阈值,则确定需要对所述同属一个数据流中的报文进行丢包处理。
进一步的,此时可以确定所述N个报文所属的数据流为一个大的数据流。
对于一个大的数据流,由于该数据流中的报文数目较多,因此,即使网络设备丢弃多个报文,也不会对该数据流的传输时间造成较大的影响。因此,对于一个大的数据流,网络设备可以对该数据流进行丢包处理。
进一步的,在丢弃报文数目相同时,若所述网络设备采用现有技术中的随机离散丢包方式,则网络设备每丢弃一个报文,接收端就会通知发送端当前网络设备发生了丢包现象,进而发送端就会判定当前所述网络设备出现拥塞现象,从而减少发送报文的数目,相应的,所述网络设备转发的报文数目也会减少,若所述网络设备丢弃多个报文,就会导致所述网络设备的吞吐量大大减少。
而在本发明中,由于所述网络设备是对同属一个数据流的报文进行丢包处理的,网络设备每发生一次连续丢包,接收端才会通知发送端当前网络设备发生了丢包现象,这样,由于丢弃报文数目一定,因此采用本发明中的方法就会减少发送端判定当前所述网络设备出现拥塞现象以及减少发送报文数目的次数,从而减轻了网络设备的吞吐量减少的问题。
方式二:
(1)获取所述数据流的随机数。
优选的,一个数据流的随机数为该数据流的随机丢弃概率,且该数据流的随机丢弃概率在0-100%之间。当然,一个数据流的随机数还可以是所述网络设备为该数据流设置的一个数,该数的范围可以为0-100。
(2)确定当前的第二阈值。
其中,所述第二阈值为判定数据流是否丢包的临界值。同样的,所述当前的第二阈值可以是一个经验值,也可以是一个变化值。
若当前的第二阈值是一个变化值,那么此时,优选的,所述网络设备可以在当前已用存储空间的大小在第一门限和第二门限之间时,根据当前已用存储空间的大小,以及已用存储空间的大小与所述第二阈值的函数关系确定当前的第二阈值。其中,在所述已用存储空间的大小与第二阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最小的第二阈值,另一个对应最大的第二阈值。
在所述已用存储空间的大小与第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值可以正相关,当然还可以负相关。
也就是说,若所述第一门限对应最小的第二阈值,所述第二门限对应最大的第二阈值,则在所述已用存储空间的大小与第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关。
若所述第一门限对应最大的第二阈值,所述第二门限对应最小的第二阈值,则在所述已用存储空间的大小与第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值负相关。
优选的,本实施例中,在所述已用存储空间的大小与第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关。此时,示例的,已用存储空间的大小与所述第二阈值的函数关系的示意图可以参照图3。
在图3中,横坐标X′代表已用存储空间的大小,纵坐标Y′代表第二阈值,X1′代表第一门限,X2′代表第二门限,X0′代表当前的已用存储空间的大小;Ymax′代表最大的第二阈值,Ymin′代表最小的第二阈值,Y0′代表当前的第二阈值;其中,所述第一门限X1′对应最小的第二阈值Ymin′,所述第二门限X2′对应最大的第二阈值Ymax′。
示例的,若一数据流的随机数为该数据流的随机丢弃概率,则最大的第二阈值Ymax′可以为95%,最小的第二阈值Ymin′可以为0。
又示例的,若一数据流的随机数用取值为0-100范围的数表示,则最大的第二阈值Ymax′可以为95,最小的第二阈值Ymin′可以为0。
同样需要说明的是,图3中已用存储空间的大小与已用存储空间丢弃阈值的函数关系是线性的,这仅仅是示例的,当然还可以是非线性的。无论是线性关系还是非线性关系,本实施例中,当所述当前已用存储空间的大小X0′在第一门限X1′和第二门限X2′之间时,曲线Y′-X′的斜率为正。
(3)根据所述数据流的随机数以及所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理。
在此步骤中,若所述当前的第二阈值是一个变化值,且在所述已用存储空间的大小与第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关,那么此时,优选的,此步骤具体可以包括:
若所述数据流的随机数小于当前的第二阈值,则确定需要对所述数据流中的报文进行丢包处理。
此时,可以确定所述数据流是一个大的数据流。
若所述数据流的随机数大于当前的第二阈值,则确定不需要对所述数据流中的报文进行丢包处理。
此时,可以确定所述数据流是一个小的数据流。
需要说明的是,网络设备可以在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;当然还可以是其他的方式。
优选的,网络设备在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理。
此时,若第一门限为零,第二门限为小于或等于所述网络设备存储空间的容量的一个固定值,则网络设备只要在当前已用存储空间的大小小于第二门限时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理即可。
若第一门限为非零的一个固定值,第二门限为小于或等于所述网络设备存储空间的容量的一个固定值,则网络设备只要在当前已用存储空间的大小大于第一门限,小于第二门限时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理即可。
S102、在需要进行丢包处理的情况下,所述网络设备丢弃所述同属一个数据流中连续的M个报文。
其中,1≤M≤N。
此步骤中,优选的,所述数据流为传输控制协议(Transmission ControlProtocol,简称为TCP)流。此时,此步骤具体可以为:所述网络设备在需要进行丢包处理的情况下,丢弃同属一个TCP流中TCP序列号连续的M个报文。此时,M与同属一个TCP流的报文个数N正相关。
所谓TCP序列号,是指一个TCP流中的报文的顺序编号。所谓TCP序列号连续的M个报文,是指一个TCP流中顺序编号连续的M个报文。
示例的,设M=3,若第一个报文的TCP序列号为10235486,第二个报文的TCP序列号为10235487,第三个报文的TCP序列号为10235488,则这3个报文连续。
此处,M与同属一个TCP流的报文个数N正相关是指,若同属一个TCP流的报文个数N增大或减小,那么丢弃的报文数目M也相应地增大或减小。
本发明实施例提供的网络设备拥塞避免的方法,网络设备根据当前已用存储空间的大小,确定是否需要对所述同属一个数据流中的报文进行丢包处理,其中,所述同属一个数据流的报文为N个,N≥2;并在需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,1≤M≤N。由于所述网络设备对同属一个数据流中的报文进行丢包处理时,每发生一次连续丢包,接收端才会通知发送端发生了丢包现象,这样发送端判定当前网络设备出现拥塞现象的次数就会减少,减少发送报文数目的次数也会变少,从而减轻了现有技术中网络设备在接收到一串报文后,采用随机离散丢包方式对该串报文进行丢包处理而造成的所述网络设备吞吐量减少的问题。
下面结合具体的TCP流的传输场景,对本发明实施例提供的网络设备拥塞避免的方法进行详述。
在本发明所有实施例中,所述网络设备已用存储空间可以用所述网络设备的存储队列来表示,进一步的,所述存储队列的长度用该存储队列中保存的报文个数来表示。
参照图4所示的当前存储队列中保存的报文的示意图,可以得知所述网络设备当前已用存储队列的长度为30,即当前已用存储队列中保存有30个报文,且这30个报文依次命名为报文1、报文2、…、报文30。进一步的,假设第一门限为20,第二门限为120,所述网络设备存储队列的容量为150。
参照图5,此时所述网络设备根据当前存储队列中保存的30个报文的源IP地址、目的IP地址、协议号、数据流源端口、数据流目的端口的不同,可以确定报文1、报文3、报文4、报文10同属TCP流1;报文2、报文5、报文9、报文14、报文17、报文18同属TCP流2;报文6、报文7、报文8、报文13、报文20、报文22、报文24、报文26、报文28同属TCP流3;报文11、报文12、报文15、报文16、报文19、报文21、报文23、报文25、报文27、报文29、报文30同属TCP流4。
实施例一、
本实施例提供的网络拥塞避免的方法包括以下步骤:
步骤1、网络设备在当前已用存储队列长度在第一门限20和第二门限120之间时,确定是否需要对所述当前已用存储队列中同属一个数据流的报文进行丢包处理。
此步骤具体包括:
(1)获取上述4个TCP流中的报文的随机数。
示例的,此时,上述4个TCP流中的报文的随机数为上述4个TCP流中的报文的随机丢弃概率。进一步,假设上述30个报文的随机丢弃概率为ai,其中,i表示所述报文为第几个报文,1≤i≤30;ai表示第i个报文的随机丢弃概率,0≤ai≤1。
(2)确定当前的第一阈值。
示例的,当前的第一阈值为当前为数据流所设置的丢弃概率,在本实施例中可以称为第一丢弃概率。
此时,参照图2,假设已用存储队列的长度与第一阈值的函数关系式为
那么,由于X1=20,X2=120,X0=30,因此,可以确定当前的第一丢弃概率为86%。
(3)根据所述30个报文的随机数以及当前第一阈值确定是否需要对所述4个TCP流中的报文进行丢包处理。
示例的,假设TCP流1中的所有报文的随机丢弃概率的总和∑ai(i=1、3、4、10)<86%,则确定不需要对TCP流1中的4个报文进行丢包处理。
此时,所述网络设备不再执行步骤2。
又示例的,假设TCP流2中的所有报文的随机丢弃概率的总和∑ai(i=2、5、9、14、17、18)<86%,则确定不需要对TCP流2中的6个报文进行丢包处理。
此时,所述网络设备不再执行步骤2。
又示例的,假设TCP流3中的所有报文的随机丢弃概率的总和∑ai(i=6、7、8、13、20、22、24、26、28)>86%,则确定需要对TCP流3中的9个报文进行丢包处理。
此时,所述网络设备继续执行步骤2。
又示例的,假设TCP流4中的所有报文的随机丢弃概率的总和∑ai(i=11、12、15、16、19、21、23、25、27、29、30)>86%,则确定需要对TCP流4中的11个报文进行丢包处理。
此时,所述网络设备继续执行步骤2。
步骤2、网络设备丢弃TCP流3中连续的M1个报文;所述网络设备丢弃TCP流4中连续的M2个报文。
其中,1≤M1≤9,1≤M2≤11。
示例的,所述网络设备丢弃TCP流3中的2个报文(报文6、报文7),其中,报文6、报文7的TCP序列号连续。
又示例的,所述网络设备丢弃TCP流4中的4个报文(报文25、报文27、报文29、报文30),其中,报文25、报文27、报文29、报文30的TCP序列号连续。
本发明实施例提供的网络设备拥塞避免的方法,网络设备根据当前已用存储空间的大小,确定是否需要对所述同属一个数据流中的报文进行丢包处理,其中,所述同属一个数据流的报文为N个,N≥2;并在需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,1≤M≤N。由于所述网络设备对同属一个数据流中的报文进行连续丢包处理时,且每发生一次连续丢包,接收端才会通知发送端发生了丢包现象,这样发送端判定当前网络设备出现拥塞现象的次数就会减少,减少发送报文数目的次数也会变少,从而减轻了现有技术中网络设备在接收到一串报文后,采用随机离散丢包方式对该串报文进行丢包处理而造成的所述网络设备吞吐量减少的问题。
实施例二、
在本实施例中,若当前存储队列的长度在第一门限20和第二门限120之间,则所述网络设备确定是否需要对上述4个TCP流中的报文进行丢包处理是采用另外一种方式实现的。本实施例中仅将与实施例一的区别列出,其他部分可以参照实施例一中的说明,在此不加赘述。
具体的,实施例一的步骤1的替代步骤可以是:
步骤1、网络设备在当前已用存储队列长度在第一门限20和第二门限120之间时,确定是否需要对所述当前已用存储队列中同属一个数据流的报文进行丢包处理。
此步骤具体包括:
(1)获取上述4个TCP流的随机数。
示例的,此时,上述4个TCP流的随机数为上述4个TCP流的随机丢弃概率。进一步,假设上述4个TCP流的随机丢弃概率为bi,其中,i表示第几个TCP流,1≤i≤4;bi表示第i个TCP流的随机丢弃概率,0≤bi≤1。
(2)确定当前的第二阈值;
示例的,当前的第二阈值为当前为所述数据流所设置的丢弃概率,在本实施例中可以称为第二丢弃概率。
此时,参照图3,假设已用存储队列的长度与第二阈值的函数关系式为
那么,由于X1′=20,X2′=120,X0′=30,因此,可以确定当前的第二丢弃概率为9.5%。
(3)根据上述4个TCP流的随机数以及当前的第二阈值确定是否需要对所述4个TCP流中的报文进行丢包处理。
示例的,假设TCP流1的随机丢弃概率b1>9.5%,则确定不需要对TCP流1中的4个报文进行丢包处理。
又示例的,假设TCP流2的随机丢弃概率b2>9.5%,则确定不需要对TCP流2中的6个报文进行丢包处理。
又示例的,假设TCP流3的随机丢弃概率b3<9.5%,则确定需要对TCP流3中的9个报文进行丢包处理。
又示例的,假设TCP流4的随机丢弃概率b4<9.5%,则确定需要对TCP流4中的11个报文进行丢包处理。
本发明实施例提供的网络设备拥塞避免的方法,网络设备根据当前已用存储空间的大小,确定是否需要对所述同属一个数据流中的报文进行丢包处理,其中,所述同属一个数据流的报文为N个,N≥2;并在需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,1≤M≤N。由于所述网络设备对同属一个数据流中的报文进行丢包处理时,每发生一次连续丢包,接收端才会通知发送端发生了丢包现象,这样发送端判定当前网络设备出现拥塞现象的次数就会减少,减少发送报文数目的次数也会变少,从而减轻了现有技术中网络设备在接收到一串报文后,采用随机离散丢包方式对该串报文进行丢包处理而造成的所述网络设备吞吐量减少的问题。
参照图6,本发明实施例提供了一种网络设备60,该网络设备60包括:
确定模块601,用于根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述同属一个数据流的报文为N个,N≥2;
丢弃模块602,用于在所述确定模块601确定需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,其中1≤M≤N。
可选的,所述确定模块601包括:
第一获取单元,用于获取所述同属一个数据流的N个报文的随机数;
第一确定单元,用于确定当前的第一阈值;所述第一阈值为判定数据流是否丢包的临界值;
第二确定单元,用于根据所述第一获取单元获取的所述N个报文的随机数以及所述第一确定单元确定的所述当前的第一阈值确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理。
可选的,所述确定模块601,用于在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述第一确定单元,用于根据当前已用存储空间的大小,以及已用存储空间的大小与第一阈值的函数关系确定当前的第一阈值;其中,在所述已用存储空间的大小与第一阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最大的第一阈值,另一个对应最小的第一阈值。
可选的,在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关;
所述第二确定单元,用于若所述N个报文的随机数之和小于当前的第一阈值,则确定不需要对所述同属一个数据流中的报文进行丢包处理;若所述N个报文的随机数之和大于当前的第一阈值,则确定需要对所述同属一个数据流中的报文进行丢包处理。
可选的,所述确定模块601包括:
第二获取单元,用于获取所述数据流的随机数;
第三确定单元,用于确定当前的第二阈值;所述第二阈值为判定数据流是否丢包的临界值;
第四确定单元,用于根据所述第二获取单元获取的所述数据流的随机数以及所述第三确定单元确定的所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理。
可选的,所述确定模块601,用于在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述第三确定单元,用于根据当前已用存储空间的大小,以及已用存储空间的大小与所述第二阈值的函数关系确定当前的第二阈值;其中,在已用存储空间的大小与所述第二阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最小的第二阈值,另一个对应最大的第二阈值。
可选的,在所述已用存储空间的大小与所述第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关;
所述第四确定单元,用于若所述数据流的随机数小于当前的第二阈值,则确定需要对所述数据流中的报文进行丢包处理;若所述数据流的随机数大于当前的第二阈值,则确定不需要对所述数据流中的报文进行丢包处理。
可选的,所述数据流为TCP流;
丢弃所述同属一个数据流中连续的M个报文包括:丢弃同属一个TCP流中TCP序列号连续的M个报文。
本发明实施例提供的网络设备60,确定模块601根据当前已用存储空间的大小,确定是否需要对所述同属一个数据流中的报文进行丢包处理,其中,所述同属一个数据流的报文为N个,N≥2;并由丢弃模块602在需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,1≤M≤N。由于所述网络设备对同属一个数据流中的报文进行丢包处理时,每发生一次连续丢包,接收端才会通知发送端发生了丢包现象,这样发送端判定当前网络设备出现拥塞现象的次数就会减少,减少发送报文数目的次数也会减少,从而减轻了现有技术中网络设备在接收到一串报文后,采用随机离散丢包方式对该串报文进行丢包处理而造成的所述网络设备吞吐量减少的问题。
参照图7,本发明实施例还提供了一种网络设备70,该网络设备70包括:存储器701以及与所述存储器701连接的处理器702;
所述存储器701,用于存储接收到的报文;
所述处理器702,用于根据当前所述存储器701中已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述同属一个数据流的报文为N个,N≥2;
所述处理器702,还用于在需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,其中1≤M≤N。
可选的,所述处理器702,具体用于获取所述同属一个数据流的N个报文的随机数;确定当前的第一阈值;根据所述N个报文的随机数以及所述当前的第一阈值确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理;其中,所述第一阈值为判定数据流是否丢包的临界值。
可选的,所述处理器702,具体用于在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述处理器702,具体用于根据当前已用存储空间的大小,以及已用存储空间的大小与第一阈值的函数关系确定当前的第一阈值;其中,在所述已用存储空间的大小与第一阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最大的第一阈值,另一个对应最小的第一阈值。
可选的,在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关;
所述处理器702,具体用于若所述N个报文的随机数之和小于当前的第一阈值,则确定不需要对所述同属一个数据流中的报文进行丢包处理;若所述N个报文的随机数之和大于当前的第一阈值,则确定需要对所述同属一个数据流中的报文进行丢包处理。
可选的,其特征在于,所述处理器702,具体用于获取所述数据流的随机数;确定当前的第二阈值;根据所述数据流的随机数以及所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理;其中,所述第二阈值为判定数据流是否丢包的临界值。
可选的,所述处理器702,具体用于在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述处理器702,具体用于根据当前已用存储空间的大小,以及已用存储空间的大小与所述第二阈值的函数关系确定当前的第二阈值;其中,在已用存储空间的大小与所述第二阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最小的第二阈值,另一个对应最大的第二阈值。
可选的,在所述已用存储空间的大小与所述第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关;
所述处理器702,具体用于若所述数据流的随机数小于当前的第二阈值,则确定需要对所述数据流中的报文进行丢包处理;若所述数据流的随机数大于当前的第二阈值,则确定不需要对所述数据流中的报文进行丢包处理。
可选的,所述数据流为TCP流;
丢弃所述同属一个数据流中连续的M个报文包括:丢弃同属一个TCP流中TCP序列号连续的M个报文。
本发明实施例提供的网络设备70,处理器702根据当前存储器701中已用存储空间的大小,确定是否需要对所述同属一个数据流中的报文进行丢包处理,其中,所述同属一个数据流的报文为N个,N≥2;并在需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,1≤M≤N。由于所述网络设备对同属一个数据流中的报文进行丢包处理时,每发生一次连续丢包,接收端才会通知发送端发生了丢包现象,这样发送端判定当前网络设备出现拥塞现象的次数就会减少,减少发送报文数目的次数也会变少,从而减轻了现有技术中网络设备在接收到一串报文后,采用随机离散丢包方式对该串报文进行丢包处理而造成的所述网络设备吞吐量减少的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种网络设备拥塞避免的方法,其特征在于,包括:
网络设备根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述同属一个数据流的报文为N个,N≥2,所述数据流为TCP流;
在需要进行丢包处理的情况下,所述网络设备丢弃所述同属一个数据流中连续的M个报文,其中1≤M≤N;
其中,所述丢弃所述同属一个数据流中连续的M个报文包括:丢弃同属一个TCP流中TCP序列号连续的M个报文。
2.根据权利要求1所述的方法,其特征在于,所述确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理包括:
获取所述同属一个数据流的N个报文的随机数;
确定当前的第一阈值;所述第一阈值为判定数据流是否丢包的临界值;
根据所述N个报文的随机数以及所述当前的第一阈值确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理。
3.根据权利要求2所述的方法,其特征在于,所述网络设备根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理包括:
所述网络设备在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述确定当前的第一阈值包括:
根据当前已用存储空间的大小,以及已用存储空间的大小与第一阈值的函数关系确定当前的第一阈值;其中,在所述已用存储空间的大小与第一阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最大的第一阈值,另一个对应最小的第一阈值。
4.根据权利要求3所述的方法,其特征在于,在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关;
所述根据所述N个报文的随机数以及当前的第一阈值确定是否需要对所述同属一个数据流中的报文进行丢包处理包括:
若所述N个报文的随机数之和小于当前的第一阈值,则确定不需要对所述同属一个数据流中的报文进行丢包处理;
若所述N个报文的随机数之和大于当前的第一阈值,则确定需要对所述同属一个数据流中的报文进行丢包处理。
5.根据权利要求1所述的方法,其特征在于,所述确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理包括:
获取所述数据流的随机数;
确定当前的第二阈值;所述第二阈值为判定数据流是否丢包的临界值;
根据所述数据流的随机数以及所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理。
6.根据权利要求5所述的方法,其特征在于,所述网络设备根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理包括:
所述网络设备在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述确定当前的第二阈值包括:
根据当前已用存储空间的大小,以及已用存储空间的大小与所述第二阈值的函数关系确定当前的第二阈值;其中,在已用存储空间的大小与所述第二阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最小的第二阈值,另一个对应最大的第二阈值。
7.根据权利要求6所述的方法,其特征在于,在所述已用存储空间的大小与所述第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关;
所述根据所述数据流的随机数以及所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理包括:
若所述数据流的随机数小于当前的第二阈值,则确定需要对所述数据流中的报文进行丢包处理;
若所述数据流的随机数大于当前的第二阈值,则确定不需要对所述数据流中的报文进行丢包处理。
8.一种网络设备,其特征在于,包括:
确定模块,用于根据当前已用存储空间的大小,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述同属一个数据流的报文为N个,N≥2,所述数据流为TCP流;
丢弃模块,用于在所述确定模块确定需要进行丢包处理的情况下,丢弃所述同属一个数据流中连续的M个报文,其中1≤M≤N;
其中,所述丢弃所述同属一个数据流中连续的M个报文包括:丢弃同属一个TCP流中TCP序列号连续的M个报文。
9.根据权利要求8所述的网络设备,其特征在于,所述确定模块包括:
第一获取单元,用于获取所述同属一个数据流的N个报文的随机数;
第一确定单元,用于确定当前的第一阈值;所述第一阈值为判定数据流是否丢包的临界值;
第二确定单元,用于根据所述第一获取单元获取的所述N个报文的随机数以及所述第一确定单元确定的所述当前的第一阈值确定是否需要对所述当前已用存储空间中同属一个数据流中的报文进行丢包处理。
10.根据权利要求9所述的网络设备,其特征在于,所述确定模块,用于在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述第一确定单元,用于根据当前已用存储空间的大小,以及已用存储空间的大小与第一阈值的函数关系确定当前的第一阈值;其中,在所述已用存储空间的大小与第一阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最大的第一阈值,另一个对应最小的第一阈值。
11.根据权利要求10所述的网络设备,其特征在于,在所述已用存储空间的大小与第一阈值的函数关系中,所述已用存储空间的大小与所述第一阈值负相关;
所述第二确定单元,用于若所述N个报文的随机数之和小于当前的第一阈值,则确定不需要对所述同属一个数据流中的报文进行丢包处理;若所述N个报文的随机数之和大于当前的第一阈值,则确定需要对所述同属一个数据流中的报文进行丢包处理。
12.根据权利要求8所述的网络设备,其特征在于,所述确定模块包括:
第二获取单元,用于获取所述数据流的随机数;
第三确定单元,用于确定当前的第二阈值;所述第二阈值为判定数据流是否丢包的临界值;
第四确定单元,用于根据所述第二获取单元获取的所述数据流的随机数以及所述第三确定单元确定的所述当前的第二阈值确定是否需要对所述数据流中的报文进行丢包处理。
13.根据权利要求12所述的网络设备,其特征在于,所述确定模块,用于在当前已用存储空间的大小在第一门限和第二门限之间时,确定是否需要对所述当前已用存储空间中同属一个数据流的报文进行丢包处理;其中,所述第一门限小于所述第二门限,所述第二门限小于或等于所述网络设备存储空间的容量;
所述第三确定单元,用于根据当前已用存储空间的大小,以及已用存储空间的大小与所述第二阈值的函数关系确定当前的第二阈值;其中,在已用存储空间的大小与所述第二阈值的函数关系中,所述第一门限和所述第二门限中的一个对应最小的第二阈值,另一个对应最大的第二阈值。
14.根据权利要求13所述的网络设备,其特征在于,在所述已用存储空间的大小与所述第二阈值的函数关系中,所述已用存储空间的大小与所述第二阈值正相关;
所述第四确定单元,用于若所述数据流的随机数小于当前的第二阈值,则确定需要对所述数据流中的报文进行丢包处理;若所述数据流的随机数大于当前的第二阈值,则确定不需要对所述数据流中的报文进行丢包处理。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310665388.2A CN104702531B (zh) | 2013-12-10 | 2013-12-10 | 一种网络设备拥塞避免的方法及网络设备 |
EP14870337.4A EP3086518B1 (en) | 2013-12-10 | 2014-11-18 | Congestion avoidance in a network device |
PCT/CN2014/091343 WO2015085849A1 (zh) | 2013-12-10 | 2014-11-18 | 一种网络设备拥塞避免的方法及网络设备 |
US15/179,638 US20160301611A1 (en) | 2013-12-10 | 2016-06-10 | Method for avoiding congestion on network device and network device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310665388.2A CN104702531B (zh) | 2013-12-10 | 2013-12-10 | 一种网络设备拥塞避免的方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702531A CN104702531A (zh) | 2015-06-10 |
CN104702531B true CN104702531B (zh) | 2018-04-20 |
Family
ID=53349309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310665388.2A Active CN104702531B (zh) | 2013-12-10 | 2013-12-10 | 一种网络设备拥塞避免的方法及网络设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160301611A1 (zh) |
EP (1) | EP3086518B1 (zh) |
CN (1) | CN104702531B (zh) |
WO (1) | WO2015085849A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9876698B2 (en) * | 2015-04-09 | 2018-01-23 | International Business Machines Corporation | Interconnect congestion control in a storage grid |
CN108206787A (zh) * | 2016-12-17 | 2018-06-26 | 北京华为数字技术有限公司 | 一种拥塞避免方法和装置 |
CN109660468B (zh) * | 2017-10-12 | 2022-08-16 | 深圳市中兴微电子技术有限公司 | 一种端口拥塞管理方法、装置和设备 |
CN107872401B (zh) * | 2017-12-22 | 2021-01-12 | 成都飞鱼星科技股份有限公司 | 一种网络关键业务保障方法及装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330226B1 (en) * | 1998-01-27 | 2001-12-11 | Nortel Networks Limited | TCP admission control |
CA2253729A1 (en) * | 1998-11-10 | 2000-05-10 | Newbridge Networks Corporation | Flexible threshold based buffering system for use in digital communication devices |
US7203170B2 (en) * | 2001-05-01 | 2007-04-10 | Integrated Device Technology, Inc. | Network switch port with weighted random early discard |
WO2004084508A1 (en) * | 2003-03-20 | 2004-09-30 | Agency For Science, Technology And Research | Method and apparatus for controlling congestion in communications network |
EP1723751A1 (en) * | 2004-01-14 | 2006-11-22 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and devices for controlling data unit handling |
KR100656509B1 (ko) * | 2004-03-03 | 2006-12-11 | 삼성전자주식회사 | 비디오 서비스 대역폭 보장을 위한 패킷 체증제어 방법 |
EP1575224A1 (en) * | 2004-03-09 | 2005-09-14 | Matsushita Electric Industrial Co., Ltd. | Packet output-controlling device |
CN100531119C (zh) * | 2005-11-09 | 2009-08-19 | 中兴通讯股份有限公司 | 一种ip网络的分组丢弃***及分组丢弃方法 |
CN101193061B (zh) * | 2006-12-14 | 2011-07-13 | 中兴通讯股份有限公司 | 基于多Qos的流量控制方法 |
CN101272314A (zh) * | 2007-03-21 | 2008-09-24 | 大唐移动通信设备有限公司 | 拥塞控制方法和装置 |
CN101582842A (zh) * | 2008-05-16 | 2009-11-18 | 华为技术有限公司 | 拥塞控制方法与拥塞控制装置 |
US8670324B2 (en) * | 2008-07-30 | 2014-03-11 | Fimax Technology Limited | Fair weighted network congestion avoidance |
US8194543B2 (en) * | 2008-12-18 | 2012-06-05 | Intel Mobile Communications GmbH | Methods of data traffic shaping, apparatus and wireless device |
WO2011039985A1 (ja) * | 2009-09-30 | 2011-04-07 | パナソニック株式会社 | パケット回復方法、パケット回復システム、その方法で用いられる移動端末及び中間装置 |
US8619587B2 (en) * | 2010-01-05 | 2013-12-31 | Futurewei Technologies, Inc. | System and method to support enhanced equal cost multi-path and link aggregation group |
JP5445271B2 (ja) * | 2010-03-30 | 2014-03-19 | 富士通株式会社 | 帯域制御装置,帯域制御方法,及びプログラム |
WO2012057667A1 (en) * | 2010-10-29 | 2012-05-03 | Telefonaktiebolaget L M Ericsson (Publ) | Congestion control in a communication network |
CN102148674B (zh) * | 2011-01-12 | 2013-08-28 | 北京华为数字技术有限公司 | 一种抑制重传的方法及装置 |
CN102223675B (zh) * | 2011-06-08 | 2014-06-04 | 大唐移动通信设备有限公司 | 拥塞告警及处理方法、***和设备 |
KR20130126816A (ko) * | 2012-04-26 | 2013-11-21 | 한국전자통신연구원 | 트래픽 혼잡을 제어하는 트래픽 관리장치 및 그 방법 |
CN102946360B (zh) * | 2012-12-03 | 2016-04-13 | 深圳中兴网信科技有限公司 | 网络流量控制***和网络流量控制方法 |
-
2013
- 2013-12-10 CN CN201310665388.2A patent/CN104702531B/zh active Active
-
2014
- 2014-11-18 EP EP14870337.4A patent/EP3086518B1/en active Active
- 2014-11-18 WO PCT/CN2014/091343 patent/WO2015085849A1/zh active Application Filing
-
2016
- 2016-06-10 US US15/179,638 patent/US20160301611A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2015085849A1 (zh) | 2015-06-18 |
US20160301611A1 (en) | 2016-10-13 |
EP3086518B1 (en) | 2019-03-06 |
EP3086518A4 (en) | 2016-11-16 |
EP3086518A1 (en) | 2016-10-26 |
CN104702531A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102984077B (zh) | 网络拥塞的控制方法及*** | |
EP3780542B1 (en) | Data transmission method and device | |
CN104702531B (zh) | 一种网络设备拥塞避免的方法及网络设备 | |
US20070226375A1 (en) | Plug-in architecture for a network stack in an operating system | |
CN103023806B (zh) | 共享缓存式以太网交换机的缓存资源控制方法及装置 | |
US20100172260A1 (en) | Method and system for transmission control protocol (tcp) traffic smoothing | |
US10505851B1 (en) | Transmission burst control in a network device | |
CN101291194A (zh) | 报文保序的方法和*** | |
EP2664178B1 (en) | Adaptive relative bit-rate manager for TCP depending flow control | |
CN104683259A (zh) | Tcp拥塞控制方法及装置 | |
EP2730051B1 (en) | Network congestion control with adaptive qos bit-rate differentiation | |
CN107135164A (zh) | 拥塞控制方法及装置 | |
US20080002575A1 (en) | Transmission control protocol congestion window | |
EP2245537B1 (en) | Network message management device and methods thereof | |
CN109586932A (zh) | 组播方法及终端设备 | |
US8724458B2 (en) | Methods and devices for controlling data unit handling | |
AU2023203816A1 (en) | Attack mitigation in a packet-switched network | |
CN109862297B (zh) | 窗口调整方法、装置及可读存储介质 | |
CN108632302B (zh) | 一种信息传输方法及装置 | |
Gui et al. | A conditional retransmission enabled transport protocol for real-time networked control systems | |
CN101783763B (zh) | 防拥塞的处理方法及*** | |
CN114422416B (zh) | 多链路聚合的数据传输方法、***、装置及存储介质 | |
JP2004104192A (ja) | バッファオーバーフロー検出方法および回路 | |
KR101365182B1 (ko) | 전송 제어 프로토콜 기반의 패킷 전송 제어 방법 및 시스템 | |
JP5177860B2 (ja) | 通信モジュール、通信機器、通信方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |