CN108540395B - 无丢失网络中的拥塞判断方法及交换机 - Google Patents
无丢失网络中的拥塞判断方法及交换机 Download PDFInfo
- Publication number
- CN108540395B CN108540395B CN201810350558.0A CN201810350558A CN108540395B CN 108540395 B CN108540395 B CN 108540395B CN 201810350558 A CN201810350558 A CN 201810350558A CN 108540395 B CN108540395 B CN 108540395B
- Authority
- CN
- China
- Prior art keywords
- congestion
- data packets
- sending
- flow
- sent
- 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
Images
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
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
Abstract
本发明提供一种无丢失网络中的拥塞判断方法,包括:当下一跳设备的PAUSE帧到达时,暂停数据包的发送;当下一跳设备的RESUME帧到达时,记录当前发送队列中数据包的个数,作为基准数目,并恢复数据包的发送;当发送数据包的个数超过所述基准数目后,在继续发送每个数据包时采集第一拥塞探测指标,若获知第一拥塞探测指标超过第一预设阈值,则对发送的数据包进行拥塞标记。本发明实施例克服了仅依赖队列长度判断是否对数据包添加拥塞标记,带来的准确率较低、容易影响到拥塞无关流的弊端,还克服了PFC容易生成拥塞树并迅速扩展的弊端,具有添加拥塞标记更准确的优势,为进一步进行拥塞流的判断以及拥塞处理提供了基础。
Description
技术领域
本发明涉及网络拥塞控制技术领域,更具体地,涉及无丢失网络中的拥塞判断方法及交换机。
背景技术
为了能在数据中心以太网中实现无丢失特性,目前很多网络设备都支持基于优先级的流量控制机制PFC(priority-based flow control)。PFC将流量划分为8个优先级并监测交换机入端口上每种优先级流量的累积情况。当某一优先级流量超过给定阈值X_OFF时,交换机向上一跳发送PAUSE帧终止该优先级流量的传输;当该优先级流量在队列中的累积缓解低于另一个给定阈值X_ON时,再发送RESUME帧恢复传输。然而,PFC会导致拥塞树生成并迅速扩展,引起队头阻塞,减小拥塞无关流的吞吐量。
图1示出了一个无丢失网络的网络结构示意图。其中H0至H15为发送端,S0和S1表示交换机,R0和R1表示接收端,Flow0由H0发送到R0,Flow1-Flow15分别由H1-H15发送到R1。Flow0和Flow1在S0|P0端口上竞争出口带宽,Flow1又和FLow2-Flow15在S1|P2端口上竞争出口带宽。由于S1|P2端口上的严重拥塞,交换机S1的入端口P1处会累积数据包并触发PFC向上一跳S0|P0发送PAUSE帧和RESUME帧,进而S0|P0端口只能间歇性地向S1|P1发送数据。如此,Flow1的传输被限制,Flow0的传输也相应地被间断了,而Flow0与发送拥塞的S1|P2端口无关。也就是说,PFC导致了拥塞无关流的吞吐量损失。
上述PFC的问题可以通过引入端到端拥塞控制机制来解决,基本工作流程是:拥塞点CP(Congestion Point,位于交换机)探测拥塞,通告点NP(Notification Point,位于交换机或接收端)根据拥塞探测的结果生成拥塞通告包CNP(Congestion NotificationPacket)反馈给响应点RP(Reaction Point,位于发送端),响应点根据收到的拥塞通告包调节发送速率。在图1的示例中,S0|P0和S1|P2是拥塞点,同时也可以是通告点;R0和R1可以是通告点;H0和H1-H15是响应点。
目前代表性的端到端的拥塞控制机制有IEEE 802.1标准化工作组定义的量化的拥塞通告机制QCN(Quantitated Congestion Notification),以及结合显示拥塞通告机制ECN(Explicit Congestion Notification)支持三层路由网络的数据中心量化的拥塞通告机制DCQCN(Data Center QCN)。
在图1所示的无丢失网络中进行拥塞控制实验,链路速率为40Gbps,链路传播延时为5us,PFC的X_OFF阈值设为256KB,QCN和DCQCN的配置均为默认参数。图2分别给出了PFC、PFC+QCN和PFC+DCQCN在上述场景下的效果,其中(a)示出了单纯使用PFC机制下,Flow0、Flow1以及S0至S1链路上的链路速率变换情况,(b)示出了PFC结合QCN机制下,Flow0、Flow1以及S0至S1链路上的链路速率变换情况,(c)示出了PFC结合DCQCN机制下,Flow0、Flow1以及S0至S1链路上的链路速率变换情况。QCN和DCQCN都在S1|P2上探测到了拥塞并通告H1-H15减速。但同时在PFC的作用下,在S0|P0上产生了队列累积,因此QCN和DCQCN也会判定S0|P0为拥塞并通告H0和H1减速,即拥塞无关流Flow0会受到吞吐量损失。直至S0|P0和S1|P2上的累积队列排空,拥塞无关流Flow0会再次加速至其最大可用带宽。在这个过程中,虽然拥塞控制机制最终使得拥塞无关流恢复到其合理的吞吐量,但依然使其有一段时间发生了吞吐量损失。在存在高并发高突发短流的场景(如数据中心、集群系统等)中,会造成频繁的瞬时拥塞并触发PFC机制,导致对拥塞无关流频繁减速,短时间内的吞吐量损失最终累积造成严重的网络性能损失。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的无丢失网络中的拥塞判断方法。
根据本发明的一个方面,提供一种无丢失网络中的拥塞判断方法,包括:
当下一跳设备的PAUSE帧到达时,暂停数据包的发送;
当下一跳设备的RESUME帧到达时,记录当前发送队列中数据包的个数,作为基准数目,并恢复数据包的发送;
当发送数据包的个数超过所述基准数目后,在继续发送每个数据包时采集第一拥塞探测指标,若获知第一拥塞探测指标超过第一预设阈值,则对发送的数据包进行拥塞标记。
优选地,所述第一拥塞探测指标为数据包队列长度或链路瞬时利用率中的一种。
根据本发明的另一个方面,还提供一种无丢失网络中的拥塞判断方法,包括:
对于任意一条流,统计一个周期内接收的所有数据包的拥塞标记情况;
若具有拥塞标记的数据包占所有数据包的比例大于第二预设阈值,则获知该流为拥塞相关流。
优选地,在获知该流为拥塞相关流之后,还包括:
生成减速通告包反馈至所述拥塞相关流对应的发送端,以使得发送端根据所述减速通告包减小数据包的发送速率。
优选地,拥塞判断方法还包括:
若具有拥塞标记的数据包所占的比例小于第二预设阈值,则获知该流为拥塞无关流。
优选地,在获知该流为拥塞无关流之后,还包括:
生成加速通告包反馈至所述拥塞无关流对应的发送端,以使得发送端根据所述加速通告包增大数据包的发送速率。
根据本发明的另一个方面,还提供一种无丢失网络中的拥塞判断方法,包括:
对于任意一条流,统计一个周期内的第二拥塞探测指标以及接收的所有数据包的拥塞标记情况;
若具有拥塞标记的数据包占所有数据包的比例大于第二预设阈值且所述第二拥塞探测指标的变化程度大于第三预设阈值,则获知该流为拥塞相关流。
根据本发明的另一个方面,还提供一种交换机,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明实施例的拥塞判断方法中交换机侧方法及其所有可选实施例的方法。
根据本发明的另一个方面,还提供一种接收端,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明实施例的拥塞判断方法中接收端侧方法及其所有可选实施例的方法。
根据本发明的另一个方面,还提供一种发送端,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明实施例的拥塞判断方法中发送端侧方法及其所有可选实施例的方法。
本发明提出的无丢失网络的拥塞判断方法,根据下一跳设备的RESUME帧到达时队列中数据包的个数发送数据包,这些数据包并不会添加拥塞标记。当发送数达到上述个数时,本发明实施例的拥塞判断方法会结合第一拥塞探测指标是否超过第一预设阈值来判断后续发送数据包是否需要进行拥塞标记。若超过,则需要对后续发送的数据包进行拥塞标记。本发明实施例克服了现有技术中仅依赖队列长度判断是否对数据包添加拥塞标记,带来的准确率较低、容易影响到拥塞无关流的弊端,还克服了PFC容易生成拥塞树并迅速扩展的弊端,具有添加拥塞标记更准确的优势,为后续进一步进行拥塞流的判断以及拥塞处理提供了基础。
附图说明
图1为根据本发明实施例的无丢失网络的网络结构示意图;
图2为现有的拥塞判断方法在图1的网络结构下的效果示意图;
图3为根据本发明实施例的无丢失网络中的拥塞判断方法的流程示意图;
图4为根据本发明实施例的无丢失网络中的拥塞判断方法的流程示意图;
图5为根据本发明实施例的拥塞判断方法的流程示意图;
图6为根据本发明实施例的拥塞判断方法的流程示意图;
图7为根据本发明实施例的交换机的设备框图;
图8为根据本发明实施例的接收端的设备框图;
图9为根据本发明实施例的发送端的设备框图;
图10为采用本发明实施例的拥塞控制方法的仿真结果图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了克服现有技术的上述问题,本发明实施例提供一种无丢失网络中的拥塞判断方法,其执行主体为交换机,图3示出了本发明实施例的无丢失网络中的拥塞判断方法的流程示意图,如图所示,包括:
S301、当下一跳设备的PAUSE帧到达时,暂停数据包的发送。
需要说明的是,本发明实施例的交换机接收上游(可以是源端,也可以是其他交换机)下发的数据包,然后根据预先确定的路由规则转发至下游(可以是其他交换机,也可以是接收端)。根据流量控制机制PFC,当无丢失网络中的设备(可以是交换机、也可以是接收端)感知到某一优先级流量超过给定阈值X_OFF时,该设备向上一跳设备发送PAUSE帧终止该优先级流量的传输,也就是说,对于本发明实施例的交换机来说,当下一跳设备的PAUSE帧到达时,需要暂停数据包的发送。
S302、当下一跳设备的RESUME帧到达时,记录当前发送队列中数据包的个数,作为基准数目,并恢复数据包的发送。
根据流量控制机制PFC,交换机在接收到PAUSE帧后的某一时刻,必然会接收到RESUME帧,若接收到RESUME帧就恢复数据包的传输。需要注意的是,尽管交换机接收到PAUSE帧后会暂停向下一跳设备发送数据包,但交换机仍然在接收上一跳设备发送的数据包,也就是说,交换机接收到PAUSE帧后队列中数据包的数量仍然在增长,因此,本发明实施例需要记录接收到RESUME帧时发送队列中数据包的个数,作为基准数目。这些在接收到RESUME帧时发送队列中的数据包可以认为是由于PAUSE帧导致的未发送,而不是因为拥塞导致的未发送。作为本领域技术人员所熟知的,发送队列是指数据包在交换机缓存区所形成的队列,一般来说,队列长度可以用来评价数据传输质量,队列长度越长,数据包的排队时间越多,数据传输质量越低。
S303、当发送数据包的个数超过所述基准数目后,在继续发送每个数据包时采集第一拥塞探测指标,若获知第一拥塞探测指标超过第一预设阈值,则对发送的数据包进行拥塞标记。
需要说明的是,交换机根据流量控制机制PFC,在接收到RESUME帧后会恢复数据包的发送,本发明实施例并不会采用现有技术的做法——根据发送队列中数据包的个数超过阈值,在队列中所有数据包发送时进行拥塞标记,而是先根据当前RESUME帧到达时队列中数据包的个数发送数据包,这些数据包并不会添加拥塞标记。当发送数到达上述个数时,本发明实施例的拥塞判断方法会结合第一拥塞探测指标是否超过第一预设阈值来判断后续发送数据包是否需要进行拥塞标记。若超过,则需要对后续发送的数据包进行拥塞标记。
第一拥塞探测指标是用于判断当前数据包传输过程是否发生异常的指标,在以太网中,第一拥塞探测指标可以由交换机自身获得,例如数据包发送队列的长度、交换机出端口链路利用率的大小等等,本发明实施例并限制具体地用于判断的数据包传输过程发送异常的指标。
根据本发明实施例的拥塞判断方法,在RESUME帧到达后,对在接收到当前的RESUME帧之前加入到发送队列中的数据包不进行拥塞标记(因为这些数据包没有正常发送的原因在于这些数据包在正常发送前接收到了PAUSE帧,被暂停发送),另外,尽管交换机接收到PAUSE帧后暂停向下一跳设备发送数据包,但交换机仍然在接收上一跳设备发送的数据包,也就是说,交换机接收到PAUSE帧后队列中数据包的数量仍然在增长,对于在接收到当前的RESUME帧后加入至发送队列的数据包,每次发送这些数据包时,都会由交换机采集第一拥塞探测指标,若判断第一拥塞探测指标大于预设阈值,则对发送的数据包进行拥塞标记。本发明实施例克服了现有技术中仅依赖队列长度判断是否对数据包添加拥塞标记,带来的准确率较低、容易影响到拥塞无关流的弊端,还克服了PFC容易生成拥塞树并迅速扩展的弊端,具有添加拥塞标记更准确的优势,为后续进一步进行拥塞流的判断以及拥塞处理提供了基础。
图4示出了本发明实施例的无丢失网络中的拥塞判断方法的流程示意图,如图所示,该方法包括:
步骤401、初始化计数器PN=0,执行步骤402;
步骤402、当发送队列中有数据包时,若PN>0时,执行步骤403;若PN=0,执行步骤404;
步骤403、对计数器减1;执行步骤406;
步骤404、判断第一拥塞探测指标是否超过第一预设阈值,若超过,则执行步骤405;若未超过,则执行步骤406;
步骤405、对位于发送队列头部的数据包进行拥塞标记;执行步骤406;
步骤406、将发送队列头部的数据包发送给下一跳设备;执行步骤407;
步骤407、判断是否收到来自下一跳设备的PAUSE帧,若是,则执行步骤408;若否,则返回执行步骤402;
步骤408、暂停发送数据包,等待接收来自下一跳设备的RESUME帧,当收到RESUME帧时,将计数器PN设为当前队列中的数据包的数目,执行步骤402。
在上述实施例的基础上,第一拥塞探测指标为数据包队列长度以及链路瞬时利用率中的一种。
当第一拥塞探测指标为数据包队列长度时,可以理解的是,当数据包队列长度大于第一预设阈值,就会对后续发送的数据包进行拥塞标记,在一个可选实施例中,第一预设阈值设置为1,也就是说,即使发送队列中除头部要发送的数据包外只有一个数据包,也认为该数据包是因为拥塞所导致的未正常发送。
当第一拥塞探测指标为链路瞬时利用率时,不仅需要考虑链路瞬时利用率是否达到某一阈值,还需要考虑链路瞬时利用率的间隙性是否在合理的范围——当交换机刚接收到PAUSE帧暂停数据包传输时的链路瞬时利用率会瞬间跌落,而当交换机刚接收到RESUME帧恢复数据包传输时的链路瞬时利用率会瞬时增高。若链路瞬时利用率达到了阈值且间隙性处于合理的范围,那么就可以认为出现了拥塞,需要对数据包进行拥塞标记。
在图1所示的无丢失网络中,根据本发明实施例的拥塞判断方法,由于Flow0只经过不确定的拥塞点S0|P0,Flow0上的数据包只有一部分被拥塞标记,而Flow1-Flow15经过了确定的拥塞点S1|P2,因此Flow1-Flow15上所有数据包都被拥塞标记。
本发明实施例还提供一种无丢失网络中的拥塞判断方法,其执行主体为接收端,该拥塞判断方法包括:
对于任意一条流,统计一个周期内接收的所有数据包的拥塞标记情况,若具有拥塞标记的数据包所占的比例大于第二预设阈值,则获知该流为拥塞相关流。
需要说明的是,由于接收端会接收到多条流上的数据包,对每一条流,接收端都需要统计数据包的拥塞标记情况并根据拥塞标记情况判断流是否为拥塞状态。理论上说,当流处于拥塞状态,一个周期内具有拥塞标记的数据包与接收的全部数据包的比值应该为1,但考虑到数据传输的抖动容忍度,第二预设阈值可以设置为略小于1的值,例如0.95。
在上述实施例的基础上,接收端还可以以回复ACK或聚合ACK的方法将数据包的拥塞标记情况反馈给相应的发送端,由发送端周期性的统计每条流的数据包的拥塞标记情况并判断该流是拥塞相关流或拥塞无关流。也就是说,本发明实施例的判断流是否为拥塞状态的执行主体同样可以是发送端。
在上述实施例的基础上,当判断获知拥塞相关流之后,还包括:
生成减速通告包反馈至所述拥塞相关流对应的发送端,以使得发送端根据所述减速通告包减小数据包的发送速率。
需要说明的是,若判断流是否为拥塞相关流的执行主体为发送端,显然生成的减速通告包将直接反馈给自身,由自身根据减速通告包减小数据包的发送速率。
在上述实施例的基础上,若具有拥塞标记的数据包所占的比例小于预设阈值,则获知该流为拥塞无关流。
相应地,当判断获知拥塞无关流之后,拥塞判断方法还包括:
生成加速通告包反馈至所述拥塞无关流对应的发送端,以使得发送端根据所述加速通告包增大数据包的发送速率。
需要说明的是,若判断流是否为拥塞相关流的执行主体为发送端,显然生成的加速通告包将直接反馈给自身,由自身根据加速通告包增加数据包的发送速率。
图5示出了本发明实施例的拥塞判断方法的流程示意图,如图所示,该拥塞判断方法包括:
步骤501、首次收到来自一条流的数据包时,初始化一个计时器Timer和两个计数器:TotalNum,用于记录接收的数据包个数;ECNNum,用于记录接收的具有拥塞标记的数据包个数。
步骤502、当接收数据包时,更新计数器TotalNum加1,若接收的数据包具有拥塞标记,则同时对计数器ECNNum加1。
步骤503、当计时器达到统计周期T时,判断ECNNum/TotalNum是否大于预设阈值;若是,则执行步骤504,若否,执行步骤505;
步骤504、判断该流为拥塞相关流,生成减速通告包,发送给该流的发送端,执行步骤506;
步骤505、判断该流为拥塞无关流,生成加速通告包,发送给该流的发送端,执行步骤506;
步骤506、重置计时器和计数器,Timer=0;TotalNum=0;ECNNum=0,返回执行步骤502,直至该流传输完成。
由于拥塞标记的最终结果展示的是最糟糕的交换机上的拥塞情况,而用最糟糕的交换机上的信息判断数据流是否发生拥塞在存在较为极端的问题,因此在上述实施例的基础上,参见图6,示出了本发明实施例的拥塞判断方法的流程示意图,包括:
步骤601、对于任意一条流,统计一个周期内的第二拥塞探测指标以及接收的所有数据包的拥塞标记情况;
步骤602、若具有拥塞标记的数据包占所有数据包的比例大于第二预设阈值且所述第二拥塞探测指标的变化程度大于第三预设阈值,则获知该流为拥塞相关流。
第二拥塞探测指标与第一拥塞探测指标类似,也是用于评价是否出现拥塞的指标,例如带宽利用率、往返时延RTT(Round-Trip Time)等等,在网络中RTT是一个重要的性能指标,表示从发送端发送一次数据开始,到发送端收到来自接收端的确认(假设接收端收到该数据后便立即发送确认),总共经历的时延。例如,发送端在时刻T1时,向接收端发送数据,发送端在本地记录发送时间st1。在T2时刻,发送端收到来自接收端与发送的数据拥有相同TSN的确认信息,记录当前接收时间rt2,计算出传输报文在网络上的往返时延RTT=st1-rt2。
需要说明的是,本发明实施例的拥塞判断方法,将具有拥塞标记的数据包所占的比例与第二拥塞探测指标相结合,当具有拥塞标记的数据包所占的比例和第二拥塞探测指标同时超过门限值,才会判断该流为拥塞相关流,本发明实施例的拥塞判断方法更加精准。
由上述实施例可知,本实施例中拥塞判断方法的执行主体同样可以为接收端或者发送端。
在上述实施例的基础上,若具有拥塞标记的数据包占所有数据包的比例小于第二预设阈值且所述第二拥塞探测指标的变化程度小于第三预设阈值,则获知该流为拥塞相关流。
图7示出了本发明实施例的交换机的设备框图,参见图7,该交换机包括:处理器(processor)701、存储器(memory)702和总线703;其中,所述处理器701和存储器702通过所述总线703完成相互间的通信。
所述处理器701用于调用所述存储器702中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:当下一跳设备的PAUSE帧到达时,暂停数据包的发送;当下一跳设备的RESUME帧到达时,记录当前发送队列中数据包的个数,作为基准数目,并恢复数据包的发送;当发送数据包的个数超过所述基准数目后,在继续发送每个数据包时采集第一拥塞探测指标,若获知第一拥塞探测指标超过第一预设阈值,则对发送的数据包进行拥塞标记。
本发明另一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:当下一跳设备的PAUSE帧到达时,暂停数据包的发送;当下一跳设备的RESUME帧到达时,记录当前发送队列中数据包的个数,作为基准数目,并恢复数据包的发送;当发送数据包的个数超过所述基准数目后,在继续发送数据包时采集第一拥塞探测指标,若获知第一拥塞探测指标超过第一预设阈值,则对该发送的数据包进行拥塞标记。
本发明另一实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:当下一跳设备的PAUSE帧到达时,暂停数据包的发送;当下一跳设备的RESUME帧到达时,记录当前发送队列中数据包的个数,作为基准数目,并恢复数据包的发送;当发送数据包的个数超过所述基准数目后,在继续发送数据包时采集第一拥塞探测指标,若获知第一拥塞探测指标超过第一预设阈值,则对发送的数据包进行拥塞标记。
图8示出了本发明实施例的接收端的设备框图,参见图8,该接收端包括:处理器(processor)801、存储器(memory)802和总线803;其中,所述处理器801和存储器802通过所述总线803完成相互间的通信。
所述处理器801用于调用所述存储器802中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:对于任意一条流,统计一个周期内接收的所有数据包的拥塞标记情况;若具有拥塞标记的数据包占所有数据包的比例大于第二预设阈值,则获知该流为拥塞相关流。
本发明另一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:对于任意一条流,统计一个周期内接收的所有数据包的拥塞标记情况;若具有拥塞标记的数据包占所有数据包的比例大于第二预设阈值,则获知该流为拥塞相关流。
本发明另一实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:对于任意一条流,统计一个周期内接收的所有数据包的拥塞标记情况;若具有拥塞标记的数据包占所有数据包的比例大于第二预设阈值,则获知该流为拥塞相关流。
图9示出了本发明实施例的发送端的设备框图,参见图9,该发送端包括:处理器(processor)901、存储器(memory)902和总线903;其中,所述处理器901和存储器902通过所述总线903完成相互间的通信。
所述处理器901用于调用所述存储器902中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:对于任意一条流,统计一个周期内接收的所有数据包的拥塞标记情况;若具有拥塞标记的数据包占所有数据包的比例大于第二预设阈值,则获知该流为拥塞相关流。
在图1所示的场景进行仿真试验,链路速率为40Gbps,链路传播延时为5us,PFC的X_OFF阈值设为256KB,QCN和DCQCN的配置均为默认参数。图10展示了采用本发明实施例的拥塞判断方法的仿真结果图。0s时,Flow0(H0->R0)和Flow1(H1->R1)均分S0-S1链路上的带宽。0.05s起H1-H15每隔0.05s向R1分别同时发送64条短流,每条短流平均大小为64KB。在这些短流的冲击下,S1|P2处发生了严重的拥塞,并在PFC的作用下向S0|P0发送PAUSE和RESUME命令。在PFC,PFC+QCN,PFC+DCQCN作用下,拥塞无关流Flow0和拥塞相关流Flow1在短流冲击下吞吐量都有大幅度下降,进而链路S0->S1有严重的吞吐量损失。而在PFC+NP-ECN作用下,拥塞相关流Flow1在短流冲击下迅速减速,拥塞无关流Flow0不受短流冲击的影响,快速增长填满链路S0->S1,进而链路S0->S1的吞吐量几乎不受损失。仿真结果表明,本发明实施例能够有效避免拥塞无关流的吞吐量损失。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (3)
1.一种无丢失网络中的拥塞判断方法,其特征在于,包括:
当下一跳设备的PAUSE帧到达时,暂停数据包的发送;
当下一跳设备的RESUME帧到达时,记录当前发送队列中数据包的个数,作为基准数目,并恢复数据包的发送;
当发送数据包的个数超过所述基准数目后,在继续发送每个数据包时采集第一拥塞探测指标,若获知第一拥塞探测指标超过第一预设阈值,则对发送的数据包进行拥塞标记。
2.根据权利要求1所述的拥塞判断方法,其特征在于,所述第一拥塞探测指标为链路瞬时利用率或数据包队列长度中的一种。
3.一种交换机,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810350558.0A CN108540395B (zh) | 2018-04-18 | 2018-04-18 | 无丢失网络中的拥塞判断方法及交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810350558.0A CN108540395B (zh) | 2018-04-18 | 2018-04-18 | 无丢失网络中的拥塞判断方法及交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108540395A CN108540395A (zh) | 2018-09-14 |
CN108540395B true CN108540395B (zh) | 2020-07-28 |
Family
ID=63478394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810350558.0A Active CN108540395B (zh) | 2018-04-18 | 2018-04-18 | 无丢失网络中的拥塞判断方法及交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108540395B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11349761B2 (en) * | 2019-03-08 | 2022-05-31 | Hewlett Packard Enterprise Development Lp | Cost effective congestion isolation for lossless ethernet |
US11838209B2 (en) * | 2021-06-01 | 2023-12-05 | Mellanox Technologies, Ltd. | Cardinality-based traffic control |
CN113572655A (zh) * | 2021-06-16 | 2021-10-29 | 清华大学 | 无丢失网络的拥塞探测方法及系统 |
CN114760252A (zh) * | 2022-03-24 | 2022-07-15 | 北京邮电大学 | 数据中心网络拥塞控制方法及系统 |
CN114938350B (zh) * | 2022-06-15 | 2023-08-22 | 长沙理工大学 | 数据中心无损网络中基于拥塞反馈的数据流传输控制方法 |
CN115378832B (zh) * | 2022-07-29 | 2024-03-26 | 北京奇艺世纪科技有限公司 | 拥塞检测方法、装置及流媒体传输系统、电子设备和介质 |
CN115460156B (zh) * | 2022-09-21 | 2024-02-02 | 长沙理工大学 | 一种数据中心无损网络拥塞控制方法、装置、设备及介质 |
CN116347488B (zh) * | 2023-02-21 | 2023-10-20 | 荣耀终端有限公司 | 网络卡顿的处理方法、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1393487A1 (en) * | 2001-06-08 | 2004-03-03 | Nokia Corporation | Receiver-driven layered multicast rate control protocol |
US7978607B1 (en) * | 2008-08-29 | 2011-07-12 | Brocade Communications Systems, Inc. | Source-based congestion detection and control |
CN105915464A (zh) * | 2016-06-21 | 2016-08-31 | 中南大学 | 一种快速简单的量化拥塞通告方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU3038100A (en) * | 1999-12-13 | 2001-06-25 | Nokia Corporation | Congestion control method for a packet-switched network |
US7190669B2 (en) * | 2002-07-09 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | System, method and computer readable medium for flow control of data traffic |
CN104301066A (zh) * | 2013-07-19 | 2015-01-21 | 华为技术有限公司 | 数据包传输方法及装置 |
CN103973587A (zh) * | 2014-05-09 | 2014-08-06 | 清华大学 | 多路径网络拥塞控制方法及装置 |
CN106059951B (zh) * | 2016-06-08 | 2019-03-01 | 中南大学 | 一种用于dcn中基于多级拥塞反馈的传输控制方法 |
-
2018
- 2018-04-18 CN CN201810350558.0A patent/CN108540395B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1393487A1 (en) * | 2001-06-08 | 2004-03-03 | Nokia Corporation | Receiver-driven layered multicast rate control protocol |
US7978607B1 (en) * | 2008-08-29 | 2011-07-12 | Brocade Communications Systems, Inc. | Source-based congestion detection and control |
CN105915464A (zh) * | 2016-06-21 | 2016-08-31 | 中南大学 | 一种快速简单的量化拥塞通告方法 |
Non-Patent Citations (3)
Title |
---|
ATM网络拥塞控制中PID控制器的设计;任丰原,林闯,任勇等;《计算机学报》;20021031;1024-1029 * |
IP 网络中的拥塞控制;任丰原,林闯,刘卫东;《计算机学报》;20030930;1025-1033 * |
大时滞网络中的拥塞控制算法;任丰原, 林闯, 任勇等;《软件学报》;20030131;503-510 * |
Also Published As
Publication number | Publication date |
---|---|
CN108540395A (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108540395B (zh) | 无丢失网络中的拥塞判断方法及交换机 | |
CN112104562B (zh) | 拥塞控制方法及装置、通信网络、计算机存储介质 | |
JP5157577B2 (ja) | 到着パケット廃棄決定を行うパケットバッファ管理装置及びその廃棄決定方法 | |
CN108243116B (zh) | 一种流量控制方法及交换设备 | |
CN107948103B (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
US8687637B2 (en) | Communication control method and relay device | |
CN110784415B (zh) | 一种ecn快速响应的方法及装置 | |
US8787163B1 (en) | Method and apparatus for adjusting the size of a buffer in a network node based on latency | |
US9614777B2 (en) | Flow control in a network | |
EP2760182A1 (en) | Data communication apparatus, data transmission method, and computer system | |
US6771601B1 (en) | Network switch having source port queuing and methods, systems and computer program products for flow level congestion control suitable for use with a network switch having source port queuing | |
GB2497846A (en) | Hybrid arrival-occupancy based congestion management | |
EP1668847B1 (en) | Encapsulating packets into a frame for a network | |
CN104052676B (zh) | 一种发送通路装置及发送通路的数据处理方法 | |
CN108494699B (zh) | 一种具有中心控制节点的网络拥塞控制方法 | |
US9001833B2 (en) | Relay apparatus, reception apparatus, and communication system | |
EP2888842A1 (en) | Congestion notification in a network | |
Sup et al. | Explicit non-congestion notification: A new AQM approach for TCP networks | |
CA2940077C (en) | Buffer bloat control | |
CN108243117B (zh) | 一种流量监控方法、装置及电子设备 | |
CN117354252A (zh) | 一种数据传输处理方法、装置、存储介质及电子装置 | |
US8711697B1 (en) | Method and apparatus for prioritizing data transfer | |
CN117579556A (zh) | 拥塞控制方法、设备、介质和程序产品 | |
CN115834501A (zh) | 一种流量控制方法和通信装置 | |
CN114285803A (zh) | 拥塞控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |