CN113132246B - 一种流量控制方法及相关设备 - Google Patents
一种流量控制方法及相关设备 Download PDFInfo
- Publication number
- CN113132246B CN113132246B CN201911403285.2A CN201911403285A CN113132246B CN 113132246 B CN113132246 B CN 113132246B CN 201911403285 A CN201911403285 A CN 201911403285A CN 113132246 B CN113132246 B CN 113132246B
- Authority
- CN
- China
- Prior art keywords
- message
- packet
- delay
- network
- network device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000001934 delay Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 abstract description 12
- 241001522296 Erithacus rubecula Species 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 241000406668 Loxodonta cyclotis Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种流量控制方法及相关设备,应用于通信网络中,以减轻网络拥塞。网络设备可以确定第一报文的时延,该第一报文属于第一数据流。当第一报文的时延大于第一时延阈值时,网络设备向上一跳设备发送第一数据流对应的反压信息,以使上一跳设备停止向网络设备发送第一数据流的第二报文,用于缓解第一数据流的拥堵。本申请实施例中的网络设备可以是通信网络中的任意网络设备。
Description
技术领域
本申请实施例涉及通信技术领域,特别涉及一种流量控制方法及相关设备。
背景技术
随着分布式人工智能计算架构的涌现,人工智能的计算量越来越大,而为了满足这些计算量的分布式信息交互需求,对网络通信的性能要求变得越来越高。
在通信网络中,当网络设备的出端口队列出现拥塞时,网络设备的入端口在判定该出端口的缓存统计达到用户设置的反压门限之后,由入端口向该出端口队列中的数据流对应的上一跳设备发出反压帧,通知上一跳设备停止发送该数据流。这样,通过整条链路的逐级反压,使发送端设备停止发送数据流或降低数据流的发送速率。
上述根据占用缓存的大小来设置反压门限的方式会反压出端口队列对应的所有数据流,而不区分拥塞数据流。
发明内容
本申请提供了一种流量控制方法及相关设备,能够区分拥塞数据流,并针对拥塞数据流发送反压信息,以减轻网络拥塞。
本申请第一方面提供了一种流量控制方法,包括:
网络设备与上一跳设备建立通信连接,网络设备接收上一跳设备发送的第一报文,该第一报文属于第一数据流,网络设备确定该第一报文对应的时延,该时延为第一报文进入网络设备的时刻与第一报文离开网络设备的时刻之间的时间间隔;网络设备比较该时延与第一时延阈值的大小,当该时延大于第一时延阈值时,网络设备向上一跳设备发送反压信息,以使上一跳设备停止向网络设备发送第一数据流的第二报文,该第二报文是第一数据流中第一报文之后的报文。
本申请中,当第一报文对应的时延大于第一时延阈值时,网络设备向上一跳设备发送反压信息,以使得上一跳设备停止向网络设备发送第二报文,本申请通过时延来区分拥塞数据流,并针对拥塞数据流进行反压,可以减轻网络拥塞。
可选地,网络设备向所述上一跳设备发送所述第一数据流对应的反压信息之后,网络设备还接收第一数据流的第二报文,当第二报文对应的时延小于第二时延阈值时,网络设备停止向上一跳设备发送第一数据流对应的反压信息,以使得上一跳设备恢复向目标设备发送第一数据流的报文。
本申请中,当第二报文对应的时延小于第二时延阈值时,网络设备停止向上一跳设备发送第一数据流对应的反压信息,以使得上一跳设备恢复向目标设备发送第一数据流的报文。避免由于反压时间过长,导致第一数据流的传输效率低。
可选地,该第一时延阈值可以为根据网络的时延规划所设置,时延规划与第一数据流的转发路径上的网络设备的数量相关。
本申请中,可判断经过网络设备流量的时延边界,增强网络设备的时延控制能力。
可选地,当第一报文为网络设备在一个目标时间间隔内接收的多个报文中的一个时,即在该目标时间间隔内网络设备接收多个报文时,网络设备确定多个报文中每个报文的时延,以得到多个时延,每个报文的时延为每个报文进入网络设备的时刻与每个报文离开网络设备的时刻之间的时间间隔;当第一报文的时延为多个时延中的最大时延时,网络设备执行比较第一报文的时延与第一时延阈值的步骤。
本申请中,在该目标时间间隔内网络设备接收多个报文时,确定多个报文中最大的时延对应的报文为第一报文,再比较第一报文的时延与第一时延阈值,用排队最长的报文时间来触发是否发送反压信息,避免发送所有数据流对应的反压信息,可以在减轻网络拥塞的同时兼顾网络设备的吞吐量。
本申请第二方面提供了一种网络设备,该网络设备具有实现上述第一方面及其各实现方式中的方法的功能。所述网络设备包括至少一个模块,该至少一个模块用于实现上述第一方面及其各实现方式中的流量控制方法。
本申请第三方面提供了一种网络设备,该网络设备包括处理器和存储器,所述存储器用于存储执行上述第一方面及其各实现方式中的方法的程序,以及存储用于实现上述第一方面及其各实现方式中的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述网络设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
本申请第四方面提供了一种计算机存储介质,该计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面及其各实现方式中的方法。
本申请第五方面提供了一种计算机软件产品,该计算机程序产品在计算机上执行时,使得计算机执行前述第一方面及其各实现方式中的方法。
附图说明
图1为本申请实施例中的网络架构示意图;
图2为多打一模型下流量拥塞示意图;
图3为第一数据流的缓存数量触发反压门限示意图;
图4为第二数据流的缓存数量触发反压门限示意图;
图5为本申请实施例中流量控制方法的流程示意图;
图6为本申请实施例中网络设备一个结构示意图;
图7为本申请实施例中网络设备另一结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供了一种流量控制方法,用于避免或减轻网络拥塞。
本申请提供的流量控制方法可以应用在不同的通信网络中,以下以数据中心网络为例,说明该流量控制方法。
请参阅图1,本申请实施例中网络架构包括:
骨干交换机101和102,叶子交换机103至105,服务设备106至110。
其中,骨干交换机101分别与叶子交换机103至105相连,骨干交换机102分别与叶子交换机103至105相连,叶子交换机103分别与服务设备106和107相连,叶子交换机104与服务设备108相连,叶子交换机105分别与服务设备109和110相连。
本实施例中,仅以两个骨干交换机101和102,三个叶子交换机103至105,五个服务设备106至110为例进行示意性说明,在实际应用中,网络架构中可以有更多的骨干交换机、叶子交换机以及服务设备,具体此处不作限定。
各服务设备接入叶子交换机的方式也可以有所不同,可以多个服务设备106和107接入叶子交换机103,也可以一个服务设备108接入叶子交换机104。
骨干交换机101与叶子交换机103至105之间一般通过有线网络连接,也可以通过无线网络连接,如果是通过有线网络连接,连接形式可以为光纤网络。
叶子交换机103与服务设备106和107之间一般通过无线网络连接,也可以通过有线网络连接,如果是通过有线网络连接,连接形式可以为光纤网络,如果是通过无线网络连接,连接形式可以为蜂窝状无线网络,或者是WiFi网络,或者是其他类型的无线网络。
各服务设备之间的通信可以通过叶子交换机进行交互,也可以通过叶子交换机与骨干交换机进行交互。
骨干交换机101和102的主要功能是保证网络内的任意两个叶子交换机之间通信。
叶子交换机103至105的主要功能是数据中转,连接骨干交换机和服务设备,并传输数据。
服务设备106至110的主要功能是为用户或其他设备提供服务。
本申请实施例中,服务设备可以是个人计算机,服务器,也可以是手机,可以理解的是,在实际应用中服务设备还可以是其他设备,比如服务设备还可以是平板,具体此处不作限定。
一般将流量从多个端口进入网络设备,去往该网络设备的同一个端口的模型简称为“多打一”流量模型。将流量从一个端口进入网络设备,去往该网络设备的多个端口的模型简称为“一打多”流量模型。
下面以“多打一”模型的流量控制方法为例进行示意性说明,请参阅图2:
服务设备204向服务设备206发送第一数据流,服务设备205向服务设备206发送第二数据流,第一数据流和第二数据流经过叶子交换机201、骨干交换机201以及叶子交换机203传输至服务设备206。
其中,骨干交换机201的端口D和E分别连接叶子交换机202的端口H和I,骨干交换机201的端口F和G分别连接叶子交换机203的端口A和B。叶子交换机203的端口C为连接服务设备206的下行端口。叶子交换机202的端口J和K分别连接服务设备204和服务设备205。
当第一数据流和第二数据流在叶子交换机203中的优先级一致为3,且整条链路上的端口均使能优先级为3的基于优先级的流控(priority flow control,PFC)功能,即第一数据流和第二数据流在进入叶子交换机203后均进入优先级3对应的队列。
当第一数据流突发,导致去往服务设备206的数据流超过端口C的带宽时,端口C的队列3出现拥塞并占用缓存,叶子交换机203统计缓存的数据量,当数据量达到PFC的反压门限后,叶子交换机203向骨干交换机201发送反压帧。
本实施例仅以一个骨干交换机201,两个叶子交换机202和203,三个服务设备204至206为例进行示意性说明“多打一”流量模型,在实际应用中,可以有更多的骨干交换机、叶子交换机以及服务设备,具体此处不作限定。
本申请实施例仅以图2所示的端口连接方式为例进行示意性说明,可以理解的是,在实际应用中,具体的端口连接方式根据需要设置,具体此处不做限定。
为了方便理解,下面结合图2中的叶子交换机203对第一数据流和第二数据流的缓存数据量触发反压门限进行描述,请参阅图3和图4。
本申请实施例中仅以第一数据流为大象流,第二数据流为老鼠流为例进行示意性说明,其中,大象流比老鼠流占据的带宽多,第一数据流和第二数据流的类型此处不做限定。
设PEC门限配置如表1所示:
表1
端口 | A | B | C |
XOFF | 300KB | 300KB | 300KB |
XON | 295KB | 295KB | 295KB |
当缓存的数据量达到XOFF时,叶子交换机确定数据流拥塞,触发反压。当缓存的数据量达到XON时,叶子交换机确定数据流不拥塞,停止反压。其中,XOFF为触发反压帧的门限,XON为停止反压的门限。XOFF与XON是根据实际需要设置的数据量值。
本实施例中,仅以XOFF为300KB,XON为295KB为例进行示意性说明,其中XOFF和XON的值可以根据需要设置,具体此处不做限定。
第一数据流和第二数据流均入端口C队列3,端口C因第一数据流的突发产生拥塞,占用缓存。示意性的,当端口C缓存积压达到400KB时,如果端口A上行缓存统计恰好达到PFC的反压门限XOFF=300KB,端口B上行缓存统计为100KB。此时A端口向骨干交换机201发送反压帧,骨干交换机201收到反压帧后开始停止发送第一数据流的报文。
此时端口A缓存的报文继续转发到端口C,端口C排出堵在3队列里的第一数据流中的数据需要时间。以图3为例,端口C队列头有250KB第一数据流中的报文,此时第二数据流仍然以原速率转发到端口C。那么在端口C排出3队列数据的过程中,从端口B新进入的第二数据流中的报文又堵在端口C的3队列,排队等待被调度出队。如果第二数据流是速率特别快的老鼠流,端口C的3队列中第二数据流的数据将积压到300KB。端口B的上行缓存统计达到XOFF=300KB,则端口B开始向骨干交换机201发送反压帧(如图4所示),骨干交换机201收到反压帧后开始停止发送第二数据流的报文。第二数据流因为第一数据流的拥塞而被抑制带宽,从而影响第二数据流在网络侧的转发性能。
对于“多打一”流量模型,第二数据流被误反压的直接原因是第一数据流出队时间长。因此,以流量占用缓存的数据量判断是否发送反压帧会带来发送反压帧不及时的问题。
针对上述问题,本申请实施例提出了另一种触发是否发送反压帧的方法,请参阅图5,为本申请实施例中流量控制方法的流程示意图:
本申请实施例仅以,上一跳设备为骨干交换机、网络设备为叶子交换机、下一跳设备为服务设备为例进行示意性说明,可以理解的是,上一跳设备还可以是叶子交换机、网络设备还可以是骨干交换机,下一跳设备还可以是叶子交换机;上一跳设备也可以是服务设备,网络设备也可以是叶子交换机,下一跳设备也可以为骨干交换机,具体此处不做限定。
本申请实施例中,网络设备为交换机或路由器等可以转发数据的设备,具体此处不作限定。
在步骤501中,上一跳设备向网络设备发送第一报文。
上一跳设备、网络设备、下一跳设备之间的数据传输如图2所示。
当上一跳设备与下一跳设备传输数据时,上一跳设备向网络设备发送第一报文,该第一报文属于第一数据流。
可选地,骨干交换机向叶子交换机发送第一数据流与第二数据流。
在步骤502中,网络设备确定第一报文对应的时延。
当第一报文进入网络设备时,网络设备在第一报文上打第一时间戳,在第一报文离开网络设备时,网络设备中在第一报文上打第二时间戳。网络设备确定第二时间戳与第一时间戳的差值为第一报文的时延值,即第一报文进入网络设备的时刻与第一报文离开网络设备的时刻之间的时间间隔为第一报文的时延值。
可选地,第一报文对应的时延不计算由于第一报文的长度所产生的时长。
当第一报文为网络设备在一个目标时间间隔内接收的多个报文中的一个时,网络设备确定多个报文中每个报文的时延,以得到多个时延,每个报文的时延为每个报文进入网络设备的时刻与每个报文离开网络设备的时刻之间的时间间隔,多个时延中最大的时延值(MAX_LAT)对应的报文为第一报文,即当第一报文的时延为多个时延中的最大时延(MAX_LAT)时,执行步骤503。
可选地,每隔一个轮循周期T1(即目标时间间隔),网络设备刷新一次MAX_LAT。
示例性的,该T1内网络设备的一个端口进入一个数据流中的报文,如表2所示。
表2
五个报文 | pkt1 | pkt2 | pkt3 | pkt4 | pkt5 | MAX_LAT |
第一个T1 | 1微秒 | 0.9微秒 | 1.5微秒 | 2.5微秒 | 6.5微秒 | 6.5微秒 |
第二个T1 | 1微秒 | 0.9微秒 | 1.5微秒 | 7微秒 | - | 7微秒 |
第三个T1 | 7微秒 | 8.9微秒 | 9微秒 | 8.9微秒 | - | 9微秒 |
第四个T1 | 3微秒 | 4微秒 | 3微秒 | 5微秒 | 5微秒 | 5微秒 |
其中,第一个轮循周期该端口收到五个报文,其中最大时延值为6.5微秒,即第一个轮循周期内的MAX_LAT为6.5微秒,第二个轮循周期该端口收到四个报文,其中最大时延值为7微秒,即第二个轮循周期内的MAX_LAT为7微秒,其余MAX_LAT的取值原理类似,此处不再赘述。
应理解,表2是举例,表2中的数值及个数具体此处不做限定。
本申请实施例中的轮循周期T1根据实际需要设置,具体此处不作限定。
在步骤503中,网络设备比较第一报文对应的时延与第一时延阈值。
网络设备在确定第一报文对应的时延后,网络设备比较该第一报文对应的时延与第一时延阈值(设为XOFF_LAT值)。
可选地,该XOFF_LAT值由用户根据网络的时延规划设置,示例性的,用户对网络的时延规划是该第一数据流传输过程不能超过90微秒,该第一数据流需要通过三个交换设备,因此每一台交换设备的时延的规划在30微秒以内,即XOFF_LAT值为30微秒。
可选地,该XOFF_LAT值根据实际情况设置,该XOFF_LAT值高于该交换设备的静态时延,具体此处不作限定。
在步骤504中,网络设备确定第一报文对应的时延大于第一时延阈值。
本申请实施例中,大于第一时延阈值可以为大于或等于第一时延阈值,也可以为大于不等于第一时延阈值,下面仅以大于第一时延阈值为大于或等于第一时延阈值为例进行示意性说明。
网络设备比较该第一报文对应的时延与XOFF_LAT值,有两种情况,下面分别描述。
若第一报文对应的时延大于等于XOFF_LAT值,执行步骤505。
示例性的,XOFF_LAT值为7微秒,如表1,第二个轮循周期的MAX_LAT值为7微秒,第三个轮循周期的MAX_LAT值为9微秒,即MAX_LAT大于等于XOFF_LAT,执行步骤505。
若第一报文对应的时延不大于XOFF_LAT值,执行步骤506。
示例性的,XOFF_LAT值为7微秒,如表1,第一个轮循周期的MAX_LAT值为6.5微秒,第四个轮循周期的MAX_LAT值为5微秒,即MAX_LAT小于XOFF_LAT,执行步骤506。
在步骤505中,网络设备向上一跳设备发送反压信息。
若MAX_LAT值大于等于XOFF_LAT值,网络设备向上一跳设备发送反压信息,以使上一跳设备停止向网络设备发送第二报文。该反压信息中含有暂停时长。
可选地,在网络设备发送反压信息时刻和上一跳设备在接收反压信息时刻之前,网络设备可能还会接收上一跳设备发送的残余报文,残余报文进入到网络设备的缓存空间(例如headroom)中。
在步骤506中,上一跳设备暂停发送报文。
上一跳设备接收反压信息,反压信息中暂停时长对应定时器的到期时间,示例性的,若反压信息中对应的暂停时间为0,即定时器立即到期,上一跳设备立即恢复发送第二报文。若反压信息中暂停时长为5微秒,则上一跳设备接收反压信息的时刻之后,再过5微秒,执行步骤507。
本申请实施例中,反压信息中的暂停时长T2=n×单位时长。其中,单位时长为该端口发送512比特所需要的时长,n为大于等于0且小于等于65535中的整数。
可选地,暂停时长T2=65535×该端口发送512比特所需要的时长。
本申请实施例中,轮循周期T1小于暂停时长T2,T1与T2差值越大,越有利于及时发送反压信息。
在步骤507中,上一跳设备向网络设备发送第二报文。
触发上一跳设备向网络设备发送第二报文的情况有两种。
第一种:第一报文对应的时延不大于XOFF_LAT值。
第二种:反压信息中的暂停时长T2到期,上一跳设备恢复向网络设备发送第一数据流中的报文,即第二报文。
在步骤508中,网络设备确定第二报文对应的时延。
当第二报文进入网络设备时,网络设备在第二报文上打第三时间戳,在第二报文离开网络设备时,网络设备中在第二报文上打第四时间戳。网络设备确定第三时间戳与第四时间戳的差值为第二报文的时延值,即第二报文进入网络设备的时刻与第二报文离开网络设备的时刻之间的时间间隔为第二报文的时延值。
可选地,第二报文对应的时延不计算由于第二报文的长度所产生的时长。
当第二报文为网络设备在一个目标时间间隔内接收的多个报文中的一个时,网络设备确定多个报文中每个报文的时延,以得到多个时延,每个报文的时延为每个报文进入网络设备的时刻与每个报文离开网络设备的时刻之间的时间间隔,多个时延中最大的时延值对应的报文为第二报文,即当第二报文的时延为多个时延中的最大时延时,执行步骤509。
可选地,每隔一个轮循周期T1(即目标时间间隔),网络设备刷新一次第二报文的时延。
在步骤509中,网络设备比较第二报文对应的时延与第二时延阈值。
网络设备在确定第二报文对应的时延后,网络设备比较该第二报文对应的时延与第二时延阈值(设为XON_LAT值)。
XON_LAT值根据用户的实际需要设置。
可选地,该XON_LAT值根据实际情况设置,该XON_LAT值高于该交换设备的静态时延,具体此处不作限定。
在步骤510中,网络设备确定第二报文对应的时延小于第二时延阈值。
本申请实施例中,小于第二时延阈值可以为小于或等于第二时延阈值,也可以为小于不等于第二时延阈值,下面仅以小于第二时延阈值为小于或等于第二时延阈值为例进行示意性说明。
网络设备比较该第二报文对应的时延与XON_LAT值,有两种情况,下面分别描述:
若第二报文对应的时延大于XON_LAT值,判断第二报文对应的时延是否大于XOFF_LAT,若第二报文对应的时延大于XOFF_LAT,执行步骤505。若第二报文对应的时延大于XON_LAT值且小于XOFF_LAT,执行步骤511。
若第二报文对应的时延不大于XON_LAT值,执行步骤511。
在步骤511中,上一跳设备向网络设备发送第三报文。
触发上一跳设备向网络设备发送第三报文的情况有两种。
第一种:第二报文对应的时延不大于XON_LAT值。
第二种:反压信息中的暂停时长T2到期,上一跳设备恢复向网络设备发送第一数据流中的报文,即第三报文。
本申请实施例中,通过第一数据流中的报文排队时间来设置门限,可以缓解第一数据流的拥堵,且用户可判断经过网络设备流量的时延边界,增强用户对网络设备的时延控制能力。
对于“多打一”流量模型,通过本申请实施例可以在一定程度上解决第二数据流被误反压的问题,通过第一数据流中的报文排队时间来设置门限,可以及时缓解第一数据流的拥堵,即避免由于第一数据流的拥堵反馈不及时导致的第二数据流被抑制带宽。
上面对本申请实施例中的流量控制方法进行了描述,下面对本申请实施例中的网络设备进行描述,请参阅图6,本申请提供的网络设备一个实施例包括:
接收单元601,用于接收上一跳设备发送的第一报文,第一报文属于第一数据流;
确定单元602,用于确定第一报文对应的时延;第一报文对应的时延为第一报文进入网络设备的时刻与第一报文离开网络设备的时刻之间的时间间隔;
比较单元603,用于比较第一报文对应的时延与第一时延阈值;
发送单元604,用于当第一报文的时延大于第一时延阈值时,向上一跳设备发送第一数据流对应的反压信息,以使上一跳设备停止向网络设备发送第一数据流的第二报文,第二报文为第一数据流中第一报文之后的报文。
本实施例中,网络设备中各单元所执行的操作与前述图5所示实施例中描述的类似,此处不再赘述。
本实施例中,当目标时长大于预置的第一时长时,发送单元604向上一跳设备发送反压信息,以使得上一跳设备停止向网络设备发送第二数据,通过排队时间来设置门限,可以缓解第一数据流的拥堵,也提供了另一种反压门限的设置方式。
在另一种实施方式中,比较单元603,还用于当第一报文的时延为多个时延中的最大时延时,比较单元比较第一报文的时延与第一时延阈值。
当第一报文为网络设备在一个目标时间间隔内接收的多个报文中的一个时,确定单元602,还用于确定多个报文中每个报文的时延,以得到多个时延,每个报文的时延为每个报文进入网络设备的时刻与每个报文离开网络设备的时刻之间的时间间隔;
接收单元601,还用于接收第一数据流的第二报文,发送单元604还用于,当第二报文对应的时延小于第二时延阈值时,停止向上一跳设备发送第一数据流对应的反压信息,以使得上一跳设备恢复向网络设备发送第一数据流的报文。
第一时延阈值为根据网络的时延规划所设置,时延规划与第一数据量数据流的转发路径上的网络设备的数据量相关。
本实施例中,还提供了恢复发送报文的触发方式,当第二报文对应的时延小于第二时延阈值时,报文的排队时间变短,停止向上一跳设备发送第一数据流对应的反压信息,以使得上一跳设备恢复向网络设备发送第一数据流的报文。
下面对本申请实施例中的网络设备进行描述,请参阅图7,本申请实施例中网络设备包括:700可以包括一个或一个以上处理器701和存储器705,该存储器705中存储有一个或一个以上的应用程序或数据。
其中,存储器705可以是易失性存储或持久存储。存储在存储器705的程序可以包括一个或一个以上模块,每个模块可以包括对网络设备中的一系列指令操作。更进一步地,处理器701可以设置为与存储器705通信,在网络设备700上执行存储器705中的一系列指令操作。
网络设备700还可以包括一个或一个以上电源702,一个或一个以上有线或无线网络接口703,一个或一个以上输入输出接口704,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该处理器701可以执行前述图5所示实施例中网络设备所执行的操作,具体此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (8)
1.一种流量控制方法,其特征在于,包括:
网络设备接收上一跳设备发送的第一报文,所述第一报文属于第一数据流;
所述网络设备确定所述第一报文对应的时延;所述第一报文对应的时延为所述第一报文进入所述网络设备的时刻与所述第一报文离开所述网络设备的时刻之间的时间间隔;
所述网络设备比较所述第一报文对应的时延与第一时延阈值,当所述第一报文的时延大于所述第一时延阈值时,所述网络设备向所述上一跳设备发送所述第一数据流对应的反压信息,以使所述上一跳设备停止向所述网络设备发送所述第一数据流的第二报文,所述第二报文为所述第一数据流中所述第一报文之后的报文;
所述第一时延阈值为根据网络的时延规划所设置,所述时延规划与所述第一数据流的转发路径上的网络设备的数量相关。
2.根据权利要求1所述的流量控制方法,其特征在于,所述网络设备向所述上一跳设备发送所述第一数据流对应的反压信息之后,所述方法还包括:
所述网络设备接收所述第一数据流的第二报文;
当所述第二报文对应的时延小于第二时延阈值时,所述网络设备停止向所述上一跳设备发送所述第一数据流对应的反压信息,以使得所述上一跳设备恢复向所述网络设备发送所述第一数据流的报文。
3.根据权利要求1或2所述的流量控制方法,其特征在于,当所述第一报文为所述网络设备在一个目标时间间隔内接收的多个报文中的一个时,所述方法还包括:
所述网络设备确定所述多个报文中每个报文的时延,以得到多个时延,所述每个报文的时延为所述每个报文进入所述网络设备的时刻与所述每个报文离开所述网络设备的时刻之间的时间间隔;
当所述第一报文的时延为所述多个时延中的最大时延时,所述网络设备执行比较所述第一报文的时延与第一时延阈值的步骤。
4.一种网络设备,其特征在于,包括:
接收单元,用于接收上一跳设备发送的第一报文,所述第一报文属于第一数据流;
确定单元,用于确定所述第一报文对应的时延;所述第一报文对应的时延为所述第一报文进入所述网络设备的时刻与所述第一报文离开所述网络设备的时刻之间的时间间隔;
比较单元,用于比较所述第一报文对应的时延与第一时延阈值;
发送单元,用于当所述第一报文的时延大于所述第一时延阈值时,向所述上一跳设备发送所述第一数据流对应的反压信息,以使所述上一跳设备停止向所述网络设备发送所述第一数据流的第二报文,所述第二报文为所述第一数据流中所述第一报文之后的报文;
所述第一时延阈值为根据网络的时延规划所设置,所述时延规划与所述第一数据流的转发路径上的网络设备的数量相关。
5.根据权利要求4所述的网络设备,其特征在于,所述接收单元,还用于接收所述第一数据流的第二报文,所述发送单元还用于,当所述第二报文对应的时延小于第二时延阈值时,停止向所述上一跳设备发送所述第一数据流对应的反压信息,以使得所述上一跳设备恢复向所述网络设备发送所述第一数据流的报文。
6.根据权利要求4或5所述的网络设备,其特征在于,当所述第一报文为所述网络设备在一个目标时间间隔内接收的多个报文中的一个时,所述确定单元,还用于确定所述多个报文中每个报文的时延,以得到多个时延,所述每个报文的时延为所述每个报文进入所述网络设备的时刻与所述每个报文离开所述网络设备的时刻之间的时间间隔;
所述比较单元,还用于当所述第一报文的时延为所述多个时延中的最大时延时,比较所述第一报文的时延与第一时延阈值。
7.一种网络设备,其特征在于,包括存储器和处理器;
所述存储器用于存储程序代码;
所述处理器用于调用所述程序代码以执行如权利要求1至3中任一项所述的方法。
8.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911403285.2A CN113132246B (zh) | 2019-12-30 | 2019-12-30 | 一种流量控制方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911403285.2A CN113132246B (zh) | 2019-12-30 | 2019-12-30 | 一种流量控制方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132246A CN113132246A (zh) | 2021-07-16 |
CN113132246B true CN113132246B (zh) | 2024-04-26 |
Family
ID=76768384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911403285.2A Active CN113132246B (zh) | 2019-12-30 | 2019-12-30 | 一种流量控制方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113132246B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115333675B (zh) * | 2022-08-12 | 2023-06-16 | 广州爱浦路网络技术有限公司 | 一种报文的发送方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106134138A (zh) * | 2014-12-04 | 2016-11-16 | 华为技术有限公司 | 一种拥塞控制的方法、设备和系统 |
CN108243116A (zh) * | 2016-12-23 | 2018-07-03 | 华为技术有限公司 | 一种流量控制方法及交换设备 |
CN109067665A (zh) * | 2018-09-25 | 2018-12-21 | 华为技术有限公司 | 拥塞控制方法和网络设备 |
CN109462553A (zh) * | 2018-10-24 | 2019-03-12 | 盛科网络(苏州)有限公司 | 一种基于时延的动态队列管理芯片实现方法 |
KR101992750B1 (ko) * | 2017-12-18 | 2019-06-25 | 울산과학기술원 | 라우터 장치 및 그의 혼잡 제어 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10819637B2 (en) * | 2017-08-09 | 2020-10-27 | Cisco Technology, Inc. | Determination and indication of network traffic congestion |
-
2019
- 2019-12-30 CN CN201911403285.2A patent/CN113132246B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106134138A (zh) * | 2014-12-04 | 2016-11-16 | 华为技术有限公司 | 一种拥塞控制的方法、设备和系统 |
CN108243116A (zh) * | 2016-12-23 | 2018-07-03 | 华为技术有限公司 | 一种流量控制方法及交换设备 |
KR101992750B1 (ko) * | 2017-12-18 | 2019-06-25 | 울산과학기술원 | 라우터 장치 및 그의 혼잡 제어 방법 |
CN109067665A (zh) * | 2018-09-25 | 2018-12-21 | 华为技术有限公司 | 拥塞控制方法和网络设备 |
CN109462553A (zh) * | 2018-10-24 | 2019-03-12 | 盛科网络(苏州)有限公司 | 一种基于时延的动态队列管理芯片实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113132246A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032205B2 (en) | Flow control method and switching device | |
US7274665B2 (en) | Packet storm control | |
EP3661137A1 (en) | Packet control method and network device | |
US7616573B2 (en) | Fair WRED for TCP UDP traffic mix | |
EP0920235B1 (en) | Congestion management in a multi-port shared memory switch | |
CN108989235B (zh) | 一种报文转发控制方法及装置 | |
US11870698B2 (en) | Congestion control method and apparatus, communications network, and computer storage medium | |
US9985910B2 (en) | Adaptive flow prioritization | |
Loi et al. | Service differentiation in optical burst switched networks | |
WO2020244422A1 (zh) | 队列拥塞控制方法、装置、设备及存储介质 | |
US10728156B2 (en) | Scalable, low latency, deep buffered switch architecture | |
US9807024B2 (en) | Management of data transmission limits for congestion control | |
CN101816153A (zh) | 增强的数据链路利用 | |
WO2021047404A1 (zh) | 一种网络参数配置方法及装置 | |
CN113132246B (zh) | 一种流量控制方法及相关设备 | |
US20040213155A1 (en) | Multi-processor data traffic shaping and forwarding | |
US8275916B2 (en) | System for processing routing according to priorities of logical interfaces and method for controlling the same | |
CN111858099B (zh) | 消息订阅方法及装置 | |
US20120213133A1 (en) | Method and system for identifying media type transmitted over an atm network | |
CN116471238A (zh) | 基于新型网络拥塞通告及速率调整策略的拥塞管理方法 | |
CN112565100A (zh) | 一种主动和被动方式相结合的网络拥塞控制方法 | |
CN100571100C (zh) | 一种平滑ip媒体流突发帧率的方法 | |
CN114338564B (zh) | 一种流量传输的控制方法和装置、存储介质及电子装置 | |
KR102123476B1 (ko) | 확률적 성능이 개선된 레귤레이션 기능을 수행하는 스케줄러 | |
WO2023116611A1 (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 |