CN115883463A - 基于网络负载的数据中心内拥塞控制方法和系统 - Google Patents
基于网络负载的数据中心内拥塞控制方法和系统 Download PDFInfo
- Publication number
- CN115883463A CN115883463A CN202211422371.XA CN202211422371A CN115883463A CN 115883463 A CN115883463 A CN 115883463A CN 202211422371 A CN202211422371 A CN 202211422371A CN 115883463 A CN115883463 A CN 115883463A
- Authority
- CN
- China
- Prior art keywords
- congestion
- data packet
- receiving end
- load
- sending
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于网络负载的数据中心内拥塞控制方法和系统,所述方法包括:接收来自交换机的数据包,并检测所述数据包是否带有拥塞标记;若所述数据包标有拥塞标记,统计预设时间内接收端接收到的数据包的总量作为网络负载;将所述网络负载的信息以及所述数据包的拥塞标记信息添加至向发送端反馈的ACK报文中,以使得发送端能够基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,以缓解拥塞。
Description
技术领域
本发明涉及数据中心网络技术领域,尤其涉及一种基于网络负载的数据中心内拥塞控制方法和系统。
背景技术
近10年来,在盛行的网络应用(如搜索、在线零售和云计算等)的需求驱动下,数据中心在全球范围内以前所未有的速度和规模发展建立起来。特别的,为了保障数据连接,提升用户使用体验,数据中心网络中的传输层协议引起了学术界和工业界的广泛关注。而数据中心网络与传统的因特网有着不一样的特点(如单一的控制欲和同构的网络架构),这给数据中心网络中的传输层协议设计带来了极大的机遇和挑战,相应的一系列的传输协议被设计提出。
数据中心通常采用商用器件,将服务器和交换机通过精心设计的网络互联,从而以更经济更便捷的方式达到告诉计算和海量存储等需求。相较于因特网这类复杂多变且不完全可控的异构网络,数据中心网络是一个单一自治域下的同构网络环境。单一自治域意味着端主机以及其使用的网络协议以及应用对网络服务的需求等都是相对可控可预测的。同构性表现在数据中心网络的拓扑架构具有一定的规律(具有可预测的往返时间(Round-Trip Time,RTT),相对一致的链路带宽)。而这些特点也为传输层协议的设计带来了许多的机遇,例如,数据中心内的设备具有相对一致的拥塞信号,拓扑内所有的设备都具有可控性等。
传输层协议旨在为应用提供高吞吐、低延迟的网络数据传输服务。传输层协议包括无连接的尽力传输协议,以用户数据报协议(User Datagram Protocol,UDP)为代表;面向连接的可靠传输协议,以传输控制协议(Transmission Control Protocol,TCP)为代表。在大多数网络场景中,应用层使用的传输协议以面向连接的可靠传输协议为主。拥塞控制协议则是传输层协议的研究重点。
这些年来相应的也有很多拥塞控制协议被提出。早期在因特网的背景下,一些TCP协议的改进方案例如TCP Tahoe、TCP Reno、TCP Vegas等。但这些方案都是基于TCP协议的思想,利用网内的丢包信号作为拥塞信号,当发送端发现数据包有丢包发生时,网络内通常已经有了较为严重的拥塞问题。另一方面,除了以丢包作为拥塞信号的方式,在数据中心内部有着更为丰富的拥塞信号(一些信号在因特网上无法获取或者是波动较大),例如交换机的拥塞告知信号(Explicit congestion notification,ECN)标记、端到端的RTT时延以及带内网络遥测技术(Inband Network Telemetry,INT)。通过使用这些信号,发送端可以更加快捷的或者网内的拥塞状况并进而更加快速的调整速率以减少数据包的排队。
近年来,一些更加高效的拥塞控制协议被提出,他们多采用上述的拥塞信号以更好地适应数据中心网络环境。例如数据中心量化拥塞通知(Data Center QuantizedCongestion Notification,DCQCN)、Timely和高精度拥塞控制(High PrecisionCongestion Control,HPCC)等响应式拥塞控制机制,ExpressPass和Homa等主动式拥塞控制机制,然而,响应式拥塞控制机制中的拥塞信号对拥塞响应过慢,不能支持复杂的测量功能;主动式拥塞控制机制只能处理网络拓扑收敛比为1时的拥塞,不能探测到网内发生的拥塞。
因此,亟需一种数据中心内拥塞控制方法来对数据中心网络中的拥塞进行控制和缓解。
发明内容
鉴于此,本发明实施例提供了一种基于接收端测量网络负载的数据中心内拥塞控制方法和系统,通过窗口控制的方式调整发送窗口的大小,更加快速有效的降低交换机端口队列长度,以缓解网络中的拥塞。
本发明的第一个方面提供了一种基于网络负载的数据中心内拥塞控制方法,该方法包括以下步骤:
接收来自交换机的数据包,并检测所述数据包是否带有拥塞标记;若所述数据包标有拥塞标记,统计预设时间内接收端接收到的数据包的总量作为网络负载;
将所述网络负载的信息以及所述数据包的拥塞标记信息添加至向发送端反馈的确认(ACK)报文中,以使得发送端能够基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,以缓解拥塞。
在本发明的一些实施例中,所述网络负载包括瓶颈链路负载和接收端链路负载;
所述接收端链路负载为预设时间内接收端端口接收到的数据包总量;
所述瓶颈链路负载为预设时间内流过瓶颈链路在接收端接收到的流的数据包总量;
其中,所述瓶颈链路为交换机之间的链路或边缘交换机与接收端之间的链路。
在本发明的一些实施例中,所述瓶颈链路为交换机之间的链路时,所述瓶颈链路负载为预设时间内流过所述瓶颈链路在接收端接收到的流的数据包总量;
所述瓶颈链路为边缘交换机与接收端之间的链路时,所述瓶颈链路负载为预设时间内流过所述瓶颈链路在接收端接收到的流的数据包总量;
其中,所述预设时间为数据包的一个往返时间。
在本发明的一些实施例中,所述将所述网络负载的信息以及所述数据包的拥塞标记信息添加至向发送端反馈的ACK报文中,以使得发送端能够基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,以缓解拥塞,包括:
通过统计接收速率并采用速率与时间的乘积来将接收速率转换为接收数据包总量,以使得发送端将发送窗口的大小调整为所述数据包总量,缓解拥塞;
其中,所述瓶颈链路负载的速率为接收端接收流的速率;所述接收端链路负载的速率为接收端端口接收数据包的总速率。
在本发明的一些实施例中,所述将所述网络负载的信息以及所述数据包的拥塞标记信息添加至向发送端反馈的ACK报文中,包括:
基于统计的网络负载,通过内核协议栈将所述网络负载的信息添加至向发送端反馈的ACK报文中;
基于数据包的拥塞标记,将检测到的拥塞标记的标记位添加至向发送端反馈的ACK报文中。
本发明的第二个方面提供了一种基于网络负载的数据中心内拥塞控制方法,该方法包括以下步骤:
通过发送窗口向交换机发送数据中心网络中的数据包,接收来自接收端的返回ACK报文,并确定所述返回ACK报文中是否携带拥塞标记;
在确定接收到的返回ACK报文中携带拥塞标记的情况下,根据所述返回的ACK报文中的拥塞标记信息和负载网络信息,将发送窗口的大小调整为拥塞链路负载的大小,缓解拥塞;
所述拥塞链路负载大小为对应接收端接收到的数据包总量。
在本发明的一些实施例中,所述方法还包括:所述发送端发送的数据包到达交换机后,交换机判断所述数据包的队列长度是否超过门限阈值;
若所述数据包的队列长度超过门限阈值,所述交换机对所述数据包进行拥塞标记,并将标有拥塞标记的数据包发送给接收端。
在本发明的一些实施例中,所述方法还包括:当发送端接收到的所述返回ACK报文中没有携带拥塞信息时,发送端将增加窗口以使用空闲带宽;
所述发送窗口的大小为发送端发出但没有收到ACK报文的数据包量。
本发明的另一方面提供了一种基于接收端测量网络负载的数据中心内拥塞控制系统,该系统包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述第一方面所述的数据中心内拥塞控制方法。
本发明的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述的数据中心内拥塞控制方法。
本发明提供的一种基于网络负载的数据中心内拥塞控制方法和系统,能够通过接收端检测接收到的数据包是否带有拥塞标记来判断数据中心网络是否发生了拥塞,并根据检测到的拥塞标记,统计接收端接收到的数据包总量,将统计到的数据包总量作为数据中心网络的网络负载;能够将网络负载信息和拥塞标记信息添加到ACK报文中,并将ACK报文发送给发送端,以使发送端基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,更加快速有效的降低交换机端口队列长度,以缓解拥塞。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为DCQCN控制协议的流程示意图。
图2为ExpressPass控制协议的流程示意图。
图3为Homa控制协议的流程示意图。
图4为本发明一实施例整体方案视图。
图5为本发明一实施例中由接收端执行的基于网络负载的数据中心内拥塞控制方法示意图。
图6为数据中心网络架构图。
图7为本发明一实施例中由发送端执行的基于网络负载的数据中心内拥塞控制方法示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
近年来,一些更加高效的拥塞控制协议被提出,其中包括响应式拥塞控制协议,响应式拥塞控制协议是发送端根据拥塞信号调节速率的算法,其具有代表性的响应式拥塞控制协议如下所述:
如图1所示为DCQCN控制协议的流程示意图,DCQCN在交换机处使用ECN信号,当交换机发现相应端口队列长度超过一定阈值时,会在数据包报头添加ECN标记,接收端在收到带有ECN标记的数据包后,会向对应的发送端发送拥塞告知(Congestion NotificationPacket,CNP)包。发送端在接收到CNP包之后,会调整发送速率以降低交换机端口的队列长度。
Timely将RTT信号作为拥塞信号。数据中心网络相较于因特网具有更加统一的拓扑架构,因此每个数据包的RTT波动也较小,通过在端侧测量RTT与基准RTT的差值可以获得网络内的拥塞程度,并随后相应的修改发送速率。
HPCC通过使用INT技术,当数据包经过每一跳交换机的时候,都会在数据包的包头添加此交换机的端口队列、端口速率等信息。当数据包回传回发送端时,发送端根据数据包携带的相关链路的链路信息,计算链路使用率并根据使用率调整发送速率。
但是,响应式拥塞控制协议存在以下问题:
(1)现有的响应式拥塞控制协议依靠拥塞信号对拥塞作出响应。但是,只有当队列堆积到一定程度之后,拥塞信号才能产生,现有的拥塞信号对拥塞的响应速度过慢;
(2)为了避免过度增长,现有响应式拥塞控制算法通常采用多轮的加性增加,即当有流结束之后,剩余的流需要经过多轮的收敛才能重新占用空闲的带宽,从而减慢了收敛速度;
(3)一些响应式拥塞控制算法,例如HPCC,利用INT等网内信息以更加合适的参数收敛速率,但是这给算法部署带来了很大的困难,因为现有数据中心的交换机功能有限,大多不能支持复杂的测量功能。
此外,在云数据中心场景下,INT测量功能无法使用。
除了上述的响应式拥塞控制协议之外,近年来还有一些主动式拥塞控制协议被提出。主动式拥塞控制协议是通过在接收端主动向发送端发送信令(credit)包的方式控制数据包的传送,以减少网络拥塞的发生,具有代表性的主动式拥塞控制协议如下所述:
如图2所示为ExpressPass控制协议的流程示意图,ExpressPass的发送端在第一个RTT时间内向交换机发送数据包,随后接收端持续向发送端发送信令包控制数据包的发送,接收端根据交换机处信令包丢包情况调整信令包的发送速率。
如图3所示为Homa控制协议的流程示意图,Homa的发送端在第一个RTT时间内发送未调度(unscheduled)数据包,以避免带宽的浪费。随后,接收端收到unscheduled数据包之后,向发送端发送信令包。当发送端接收到信令包之后,向接收端发送已调度(scheduled)数据包。此外,Homa还在交换机处采用多优先级队列的方案降级流完成时间。
然而,主动式拥塞控制协议也存在一些问题,如下所述:
(1)一些主动式拥塞控制算法需要利用第一个RTT的时间发送credit信令包,这会浪费第一个RTT的带宽。而随着数据中心链路带宽越来越大,越来越多的流能在一个RTT的时间内发送完毕,采用这种算法大大降低了流的完成时间;
(2)一些主动式拥塞控制算法在第一个RTT的时间内直接发送数据包,会产生Incast问题,在交换机处堆积大量的数据包。为了解决这个问题,一些算法在交换机处采用多优先级队列的方式,优先转发更高优先级的数据包,但是这会带来两个问题。一方面是云数据中心的交换机的优先级队列通常需要用来区分不同业务的数据包,而且一个交换机一般只有8个优先级队列;另一方面,使用优先级需要发送端预先知道流的大小,而这个信息在大部分的应用场景中是无法获取的;
(3)一些主动式拥塞控制算法只能处理网络拓扑收敛比为1时的拥塞,而当网络拓扑收敛比大于1时,算法的性能会受到影响。这是因为,主动式拥塞控制算法在接收端处探测拥塞,不能探测到网内发生的拥塞。
为了解决现有的响应式拥塞控制算法响应不及时、收敛速度慢的缺点和主动式拥塞控制算法不能充分利用带宽以及依赖于底层网络支持的缺点,本发明结合响应式拥塞控制算法和主动式拥塞控制算法的特点提出了一种基于网络负载的数据中心内拥塞控制方法和系统,能够通过接收端检测接收到的数据包是否带有拥塞标记来判断数据中心网络是否发生了拥塞,并根据检测到的拥塞标记,统计接收端接收到的数据包总量,将统计到的数据包总量作为数据中心网络的网络负载;能够将网络负载信息和拥塞标记信息添加到ACK报文中,并将ACK报文发送给发送端,以使发送端基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,更加快速有效的降低交换机端口队列长度,以缓解拥塞。
图4所示为本发明的整体方案视图,本发明在发送端处通过窗口控制的方式,控制网内总体数据包总量;在交换机处,采用ECN标记的方式,当交换机发现队列长度超过一个门限Qthreshold之后,对后续到达的数据包加上ECN标记,通过这种标记方式,可以获取网内发生拥塞的信息;在接收端处测量网络负载情况,包括瓶颈链路的负载以及接收端链路的负载,随后接收端将这些信息添加到ACK报文中并返回给发送端。上述窗口控制方式是通过在发送端维护一个发送窗口,限制网内数据包数量(类似TCP中的发送窗口)网内数据包数量指的是发送端已经发送但是没有被ACK的报文。发送端通过改变窗口的大小限制网内数据包总量进而实现拥塞控制。
图5所示为本发明一实施例中由接收端执行的基于网络负载的数据中心内拥塞控制方法示意图,如图所示,基于网络负载的数据中心内拥塞控制方法包括:
步骤S110,接收来自交换机的数据包,并检测所述数据包是否带有拥塞标记;若所述数据包标有拥塞标记,统计预设时间内接收端接收到的数据包的总量作为网络负载。
在本发明一实施例中,在交换机处部署ECN标记方案,即在交换机处设置一个门限阈值,当交换机检测到流经交换机的数据包队列长度超过门限阈值时,对数据包进行ECN标记,此ECN标记为修改数据包包头的DSCP位,交换机将所有数据包发送给接收端。对于门限阈值的设定,本发明不作限定。
在本发明一实施例中,接收端接收到来自交换机的所有数据包,并检测接收到的所有数据包的包头是否带有ECN标记,如果检测到数据包带有ECN标记,说明此时数据中心网络中的链路发生拥塞。接收端需要统计在一个往返时间内接收端接收到的数据包的总量来作为网络负载,在数据中心网络中的网络负载包括瓶颈链路负载和接收端链路负载。其中,瓶颈链路负载为在一个往返时间内流过瓶颈链路的数据包总量,接收端链路负载为在一个往返时间内接收端端口接收到的数据包总量。
在本发明一些实施例中,对于不同的数据中心网络架构,瓶颈链路可以是交换机之间的链路,也可以是边缘交换机与接收端之间的链路。对于数据中心中常见拓扑,如图6所示,数据中心拓扑收敛比计算方法为不同层间上行链路带宽之比,例如为边缘交换机到聚合交换机的总带宽除以聚合交换机到核心交换机的总带宽。通常同一层的上下行带宽是相等的。对于非对称拓扑架构,其拓扑收敛比大于1,说明核心到聚合交换机之间的总链路带宽小于聚合到边缘交换机之间的总带宽,进一步可以说明拥塞会发生在核心到聚合交换机之间的链路,也即网络拓扑内部,因此统计的瓶颈链路负载为在一个往返时间内流过瓶颈链路在接收端处接收到的流的数据包总量。同理,对于对称拓扑架构,也即拓扑收敛比等于1,网络拥塞只能发生在最后一跳,也即拥塞会发生在边缘交换机和接收端之间的链路,因此统计的瓶颈链路负载为在一个往返时间内流过此瓶颈链路在接收端接收到的流的数据包总量。
步骤S120,将所述网络负载的信息以及所述数据包的拥塞标记信息添加至向发送端反馈的ACK报文中,以使得发送端能够基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,以缓解拥塞。
在本步骤中,基于步骤S110中检测到的ECN标记和统计到的网络负载,接收端将统计的瓶颈链路的负载信息、接收端链路的负载信息以及数据包中携带的ECN标记信息添加到向发送端反馈的ACK报文中。
在本发明一些实施例中,若每个返回的ACK报文中都携带有接收端统计的网络负载信息,可以更加迅速的响应拥塞并将发送窗口收敛到公平窗口,其公平窗口是对于所有流经同一条链路的流都能公平分配这条链路的带宽的发送窗口。由于数据中心内反馈ACK报文的时间与统计负载的时间有差异,造成直接反馈统计的数据包总量与真实负载有误差,因此本发明选择通过统计接收速率并采用速率与时间的乘积来将接收速率转换为接收数据包总量,满足:
B=V*T;
其中,B为一个往返时间内接收到的数据包总量,V为接收速率,T为一个往返时间;接收端统计瓶颈链路负载以及接收端链路负载均可按此公式进行计算。对于瓶颈链路负载,其接收速率为接收端接收流的速率;对于接收端链路负载,其速率为接收端端口接收总速率。
基于上述通过统计接收速率并采用速率与时间的乘积来将接收速率转换为接收数据包总量的方法可以更加迅速的响应拥塞,增加了收敛速度,降低了收敛时间,避免了响应式拥塞控制协议响应速度过慢,收敛时间过长这一问题。
在本发明一些实施例中,接收端在产生反馈给发送端的ACK报文时,可以通过内核协议栈将接收端统计到的网络负载信息添加到ACK报文包头以及负载中。此外,接收端将检测到的ECN标记的的标记位添加至ACK报文中,接收端将添加有网络负载信息和拥塞信息的ACK报文发送给发送端,以使发送端基于接收到的网络负载信息将发送窗口的大小调整为接收端接收到的数据包总量,缓解网络中的拥塞。
从上述描述可知,本申请实施例提供的基于网络负载的数据中心内拥塞控制方法,通过接收端检测接收到的数据包是否带有拥塞标记来判断数据中心网络是否发生了拥塞,并根据检测到的拥塞标记,统计接收端接收到的数据包总量,将统计到的数据包总量作为数据中心网络的网络负载;能够将网络负载信息和拥塞标记信息添加到ACK报文中,并将ACK报文发送给发送端,以使发送端基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,更加快速有效的降低交换机端口队列长度,以缓解数据中心网络中的拥塞。
进一步地,在本申请实施例提供的一种由发送端执行的基于网络负载的数据中心内拥塞控制方法,如图7所示为本发明一实施例中由发送端执行的基于网络负载的数据中心内拥塞控制方法示意图,所述基于网络负载的数据中心内拥塞控制方法还包括如下内容:
步骤S130,通过发送窗口向交换机发送数据中心网络中的数据包,接收来自接收端的返回ACK报文,并确定接收到的返回ACK报文中是否携带拥塞标记。
在本发明一实施例中,数据中心网络中的发送端通过发送窗口向交换机发送数据包,此时,发送窗口的大小为发送端已经发出但没有收到ACK报文的数据包量。
在本发明一实施例中,发送端接收到来自接收端的返回ACK报文,并检测接收到的ACK报文中是否带有ECN标记,若接收到的ACK报文中没有携带ECN标记,则此时数据中心网络中未发生网络拥塞,数据流没有经过拥塞链路,发送端将采用乘性增加发送窗口的方式减少窗口收敛时间,以使用空闲带宽,其乘性增加发送窗口的方式满足:
对于计算参数γ满足:
γ=γ*(1-g)+γmax*g;
其中,g表示的是预设滑动平均参数,γmax表示的是预设参数,通常设置为1。
基于上述乘性增长方式,一方面大大缩短发送窗口的收敛时间,减少带宽浪费;另一方面,使用动态调整的增长参数,可以适应不同的网络拓扑环境,避免现有主动式拥塞控制协议不能解决拓扑中出现收敛比大于1的拥塞这一问题。
步骤S140,在确定接收到的返回ACK报文中携带拥塞标记的情况下,根据所述返回的ACK报文中的拥塞标记信息和负载网络信息,将发送窗口的大小调整为拥塞链路负载的大小,缓解拥塞。
在本发明一实施例中,若接收到的返回ACK报文中携带有ECN标记,则说明数据流经过拥塞链路,发送端基于接收到的ACK报文中的网络负载信息,将发送窗口的大小调整为拥塞链路的负载大小,即在一个往返时间内接收端接收到的数据包总量。
可以理解为,在一个往返时间内,接收端接收到的数据包总量等于瓶颈链路允许流经的数据包总量。由于超过瓶颈链路带宽的数据包会堆积在队列中不被发送,因此发送端将其发送窗口的大小设置为对应接收端收到的数据包总量,也即瓶颈链路允许的这条流发送的数据包量,以此来消掉堆积在链路中的队列,所以,其总发送窗口大小也可以为瓶颈链路总带宽时延积,其满足:
BDP=Bandwidth*RTT;
其中,BDP为瓶颈链路的总带宽时延积,Bandwidth为瓶颈链路的带宽,RTT为往返时间。
在本发明一实施例中,发送端基于接收到的ACK报文中的网络负载信息调整发送窗口的大小,其调整方式也满足:
根据ACK报文中统计的瓶颈链路负载和接收端链路负载再结合乘性增长参数调整发送窗口的大小,当发送窗口收敛到公平窗口之后,也即当发送窗口发出的流都能公平分配链路的带宽时,说明数据中心网络中的拥塞得到了缓解。
从上述描述可知,本申请实施例提供的基于网络负载的数据中心内拥塞控制方法,通过乘性增加窗口的方式一方面可以大大缩短流的收敛时间,减少带宽浪费,另一方面,使用动态调整的增长参数可以在拥塞规模不同的时候,采用不同的加性增长策略,不仅可以在非对称拓扑情况下,更快的在加性增长阶段发现拥塞,避免拥塞控制算法进入后续乘性增长阶段,避免增加过多的速率,还可以适应不同的网络拓扑环境,避免现有主动式拥塞控制协议不能解决拓扑中出现收敛比大于1的拥塞这一问题。
综上所述,本申请提出的基于网络负载的数据中心内拥塞控制方法,能够通过接收端检测接收到的数据包是否带有拥塞标记来判断数据中心网络是否发生了拥塞,并根据检测到的拥塞标记,统计接收端接收到的数据包总量,将统计到的数据包总量作为数据中心网络的网络负载;能够将网络负载信息和拥塞标记信息添加到ACK报文中,并将ACK报文发送给发送端;能够在发送端接收到来自接收端的ACK报文,并根据ACK报文中的负载信息和拥塞标记信息结合乘性增长参数将发送窗口的大小调整为接收端接收到的数据包总量,以此更加快速有效的降低交换机端口队列长度,缓解数据中心网络中的拥塞。
与上述方法相应地,本发明还提供了一种基于网络负载的数据中心内拥塞控制系统,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于网络负载的数据中心内拥塞控制方法,其特征在于,包括:
接收来自交换机的数据包,并检测所述数据包是否带有拥塞标记;若所述数据包标有拥塞标记,统计预设时间内接收端接收到的数据包的总量作为网络负载;
将所述网络负载的信息以及所述数据包的拥塞标记信息添加至向发送端反馈的ACK报文中,以使得发送端能够基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,以缓解拥塞。
2.根据权利要求1所述的数据中心内拥塞控制方法,其特征在于,所述网络负载包括瓶颈链路负载和接收端链路负载;
所述接收端链路负载为预设时间内接收端端口接收到的数据包总量;
所述瓶颈链路负载为预设时间内流过瓶颈链路在接收端接收到的流的数据包总量;
其中,所述瓶颈链路为交换机之间的链路或边缘交换机与接收端之间的链路。
3.根据权利要求2所述的数据中心内拥塞控制方法,其特征在于,
所述瓶颈链路为交换机之间的链路时,所述瓶颈链路负载为预设时间内流过所述瓶颈链路在接收端接收到的流的数据包总量;
所述瓶颈链路为边缘交换机与接收端之间的链路时,所述瓶颈链路负载为预设时间内流过所述瓶颈链路在接收端接收到的流的数据包总量;
其中,所述预设时间为数据包的一个往返时间。
4.根据权利要求3所述的数据中心内拥塞控制方法,其特征在于,所述将所述网络负载的信息以及所述数据包的拥塞标记信息添加至向发送端反馈的ACK报文中,以使得发送端能够基于接收到的ACK报文中的拥塞标记和网络负载信息将发送窗口的大小调整为对应接收端接收到的数据包总量,以缓解拥塞,包括:
通过统计接收速率并采用速率与时间的乘积来将接收速率转换为接收数据包总量,以使得发送端将发送窗口的大小调整为所述数据包总量,缓解拥塞;
其中,所述瓶颈链路负载的速率为接收端接收流的速率;所述接收端链路负载的速率为接收端端口接收数据包的总速率。
5.根据权利要求1所述的数据中心内拥塞控制方法,其特征在于,所述将所述网络负载的信息以及所述数据包的拥塞标记信息添加至向发送端反馈的ACK报文中,包括:
基于统计的网络负载,通过内核协议栈将所述网络负载的信息添加至向发送端反馈的ACK报文中;
基于数据包的拥塞标记,将检测到的拥塞标记的标记位添加至向发送端反馈的ACK报文中。
6.一种基于网络负载的数据中心内拥塞控制方法,其特征在于,包括:
通过发送窗口向交换机发送数据中心网络中的数据包,接收来自接收端的返回ACK报文,并确定所述返回ACK报文中是否携带拥塞标记;
在确定接收到的返回ACK报文中携带拥塞标记的情况下,根据所述返回的ACK报文中的拥塞标记信息和负载网络信息,将发送窗口的大小调整为拥塞链路负载的大小,缓解拥塞;
所述拥塞链路负载大小为对应接收端接收到的数据包总量。
7.根据权利要求6所述的数据中心内拥塞控制方法,其特征在于,所述方法还包括:
所述发送端发送的数据包到达交换机后,交换机判断所述数据包的队列长度是否超过门限阈值;
若所述数据包的队列长度超过门限阈值,所述交换机对所述数据包进行拥塞标记,并将标有拥塞标记的数据包发送给接收端。
8.根据权利要求6所述的数据中心内拥塞控制方法,其特征在于,所述方法还包括:
当发送端接收到的所述返回ACK报文中没有携带拥塞信息时,发送端将增加窗口以使用空闲带宽;
所述发送窗口的大小为发送端发出但没有收到ACK报文的数据包量。
9.一种基于网络负载的数据中心内拥塞控制系统,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至5中任一项所述的数据中心内拥塞控制方法,或者,实现如权利要求6至8所述的数据中心内拥塞控制方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的数据中心内拥塞控制方法,或者,实现如权利要求6至8所述的数据中心内拥塞控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211422371.XA CN115883463A (zh) | 2022-11-14 | 2022-11-14 | 基于网络负载的数据中心内拥塞控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211422371.XA CN115883463A (zh) | 2022-11-14 | 2022-11-14 | 基于网络负载的数据中心内拥塞控制方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883463A true CN115883463A (zh) | 2023-03-31 |
Family
ID=85759848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211422371.XA Pending CN115883463A (zh) | 2022-11-14 | 2022-11-14 | 基于网络负载的数据中心内拥塞控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883463A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544567A (zh) * | 2024-01-09 | 2024-02-09 | 南京邮电大学 | 存传一体的rdma数据中心拥塞控制方法 |
-
2022
- 2022-11-14 CN CN202211422371.XA patent/CN115883463A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117544567A (zh) * | 2024-01-09 | 2024-02-09 | 南京邮电大学 | 存传一体的rdma数据中心拥塞控制方法 |
CN117544567B (zh) * | 2024-01-09 | 2024-03-19 | 南京邮电大学 | 存传一体的rdma数据中心拥塞控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11876711B2 (en) | Packet transmission system and method | |
US6894974B1 (en) | Method, apparatus, media, and signals for controlling packet transmission rate from a packet source | |
US7047312B1 (en) | TCP rate control with adaptive thresholds | |
US6625118B1 (en) | Receiver based congestion control | |
US6535482B1 (en) | Congestion notification from router | |
US6622172B1 (en) | Dynamically delayed acknowledgement transmission system | |
US7974195B2 (en) | Method and apparatus for network congestion control | |
US8787378B2 (en) | Systems and methods to improve performance of TCP over large bandwidth-delay-product networks | |
EP1432207A2 (en) | Adaptive delayed ACK switching for TCP applications | |
CN110808884B (zh) | 一种网络拥塞控制方法 | |
CN107360101B (zh) | 一种基于自适应参数的tcp拥塞控制算法 | |
CN104618258B (zh) | 一种数据传输速率的控制方法 | |
EP2219343A1 (en) | Modification of explicit congestion notification (ECN) by skipping congestion experienced (CE) events | |
CN106878192B (zh) | 一种自适应mptcp的数据调度方法 | |
CN104581422A (zh) | 一种用于处理网络数据传输的方法和装置 | |
CN115883463A (zh) | 基于网络负载的数据中心内拥塞控制方法和系统 | |
WO2010092323A2 (en) | Data transmission | |
US10063489B2 (en) | Buffer bloat control | |
CN114760252A (zh) | 数据中心网络拥塞控制方法及系统 | |
JP3853784B2 (ja) | データ通信管理方法 | |
Szilágyi et al. | Efficient LTE PDCP buffer management | |
Raniwala et al. | Evaluation of a stateful transport protocol for multi-channel wireless mesh networks | |
CN114884884A (zh) | 一种拥塞控制方法及装置 | |
Hindawi et al. | A proposed method for TCP congestion control using AIMD approach | |
Qabaja et al. | Performance comparison of AutoRED under different TCP Variations |
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 |