基于近端控制的跨数据中心RDMA网络拥塞控制方法及装置

文档序号:36250093发布日期:2023-12-02 20:13阅读:73来源:国知局
基于近端控制的跨数据中心

本发明涉及网络传输控制,尤其涉及一种基于近端控制的跨数据中心rdma网络拥塞控制方法及装置。


背景技术:

1、近年来,随着数据中心网络需求的逐渐增大,越来越多的服务提供商以及云网络供应商选择将业务部署在多个数据中心网络上。这些数据中心网络可以分布在不同的地区以及国家。多数据中心网络的部署架构给上层跨数据中心应用提供很多好处:部署在不同地区的上层应用可以为用户提供更加快速的应用接入体验;分布式的部署可以保障用户数据的隐私性;跨数据中心网络可以增强数据的容灾性,提高数据中心网络的可靠性。

2、rdma是一种新型的网络技术,可以提供高吞吐、低时延以及超低cpu负载。rdma已经逐渐成为了一种数据中心网络的标准技术。为了能够更好的利用rdma技术的便捷性,希望能够在跨数据中心网络也同样部署rdma。但是rdma技术需底层网络提供无损网络的支持,现有的pfc(priority flow control)通常被用来保证交换机端口的无损。但使用pfc通常会带来头部拥塞,pfc pause帧风暴等问题。因此,在部署rdma网络时通常也需要部署一个合适的拥塞控制算法来避免pfc的触发。

3、拥塞控制协议的设计一直以来都是数据中心网络方向研究的重点。早期在因特网的背景下,提出一些tcp协议的改进方案。但均为基于tcp协议的思想,利用网内的丢包信号作为拥塞信号,以调整发送端速率。

4、考虑到当发送端发现数据包丢包时,网络内通常已经有了较为严重的拥塞问题,且除了将丢包作为拥塞信号,数据中心内部还有其他拥塞信号(一些信号在因特网上无法获取或者是波动较大),如交换机的ecn(拥塞告知信号)标记、端到端的rtt(round-triptime,往返时间)时延以及int(带内网络遥测技术)技术。通过使用这些信号,发送端可以更加快捷、更加快速的调整速率以减少数据包的排队。基于以上信号,一些更加高效的拥塞控制协议被提出,如dcqcn算法、timely算法、hpcc算法等;除端到端的拥塞控制协议之外,还有一些基于交换机控制的拥塞控制算法,如bfc算法、rocc算法等。

5、端到端的拥塞控制协议的控制回路为发送端到接收端再返回发送端,即为整个rtt。对于跨数据中心网络来说,反馈回路长,rtt长,发送端需要等待一个长rtt的时间才能响应拥塞,而这段时间内发送端将会一直发送数据包,导致队列堆积;并且,对于长距流量(跨数据中心的流量)和短距流量(数据中心内的流量)竞争的场景,不同的流量有着不同的rtt,即,有不同的拥塞时间,这些流的速率变化将不会同步,从而产生不公平的结果。

6、现有基于交换机的拥塞控制协议通常需要在数据中心网络中的大部分交换机上进行部署,例如rocc以及bfc算法需要在所有的数据中心内交换机上部署,这大大增加了算法的部署难度,不利于对现有数据中心进行增量部署。另一方面,单一交换机对网络整体的拥塞程度的判断有限,对于来自于不同发送端的拥塞的控制效果也一般。


技术实现思路

1、鉴于此,本发明实施例提供了一种基于近端控制的跨数据中心rdma网络拥塞控制方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,解决现有拥塞控制协议中,端到端的拥塞控制协议在跨数据中心网络场景下的反馈回路过长,容易造成队列堆积,以及跨数据中心的流与数据中心内的流竞争存在不公平的问题;基于交换机的拥塞控制协议需大规模改动交换机、控制效果一般的问题。

2、一方面,本发明提供了一种基于近端控制的跨数据中心rdma网络拥塞控制方法,其特征在于,所述方法在跨数据中心网络上执行,所述跨数据中心网络至少包括依次连接的上游数据中心、上游交换机、下游交换机和下游数据中心,所述方法包括以下步骤:

3、所述上游数据中心将待发送的数据整理生成数据包,发送至所述上游交换机;所述上游交换机将所述数据包转发至所述下游交换机;所述下游交换机将所述数据包发送至所述下游数据中心;所述下游数据中心接收并处理所述数据包;

4、在所述上游交换机中,当检测到由所述上游数据中心发送至所述上游交换机的数据包形成拥塞时,采用预设拥塞控制算法生成出发通知报文,并发送至所述上游数据中心;所述上游数据中心根据所述出发通知报文调整发送速率;

5、在所述下游数据中心中,当检测到由所述下游交换机发送至所述下游数据中心的数据包形成拥塞时,采用所述预设拥塞控制算法生成到达通知报文,并发送至所述下游交换机,所述下游交换机根据所述到达通知报文调整发送速率;其中,所述预设拥塞控制算法与所述上游数据中心和所述下游数据中心使用的拥塞控制算法一致;

6、在所述下游交换机中,每隔预设时间段统计已完成转发的数据包总量,根据所述数据包总量生成长距通知报文,并发送至所述上游交换机;所述上游交换机根据所述长距通知报文和预设的数据包限制数量进行比较,以调整转发速率。

7、在本发明的一些实施例中,所述预设拥塞控制算法包括但不限于dcqcn算法、timely算法和hpcc算法。

8、在本发明的一些实施例中,当所述预设拥塞控制算法采用dcqcn算法时:

9、在所述上游交换机中,由所述上游数据中心发送至所述上游交换机的数据包的队列长度大于第一预设值时,存在拥塞,在所述数据包包头添加显式拥塞通知标记,生成第一拥塞告知包,将所述第一拥塞告知包作为所述生成出发通知报文,发送至所述上游数据中心;所述上游数据中心根据所述出发通知报文调整发送速率;

10、在所述下游数据中心中,由所述下游交换机发送至所述下游数据中心的数据包的队列长度大于第二预设值时,存在拥塞,在所述数据包包头添加显式拥塞通知标记,生成第二拥塞告知包,将所述第二拥塞告知包作为所述到达通知报文,发送至所述下游交换机,所述下游交换机根据所述到达通知报文调整发送速率。

11、在本发明的一些实施例中,当所述预设拥塞控制算法采用timely算法时:

12、在所述上游交换机中,所述上游数据中心将所述数据包发送至所述上游交换机,成功接收所述数据包后,生成相应的第一确认接收报文,将所述第一确认接收报文作为所述出发通知报文,发送至所述上游数据中心,计算第一往返时间;所述上游数据中心根据比较所述第一往返时间和第一基准往返时间调整发送速率;

13、在所述下游数据中心中,所述下游交换机将所述数据包发送至所述下游数据中心,成功接收所述数据包后,生成相应的第二确认接收报文,将所述第二确认接收报文作为所述到达通知报文,发送至所述下游交换机,计算第二往返时间;所述下游交换机根据比较所述第二往返时间和第二基准往返时间调整发送速率。

14、在本发明的一些实施例中,所述上游交换机将所述数据包转发至所述下游交换机时,清除所述数据包包头的显式拥塞通知标记,以减少过渡反馈。

15、在本发明的一些实施例中,在所述下游交换机中,将目的ip服务器相同的数据包放入同一个虚拟输出队列,以分隔不同的流量。

16、在本发明的一些实施例中,所述虚拟输出队列的转发速率根据所述到达通知报文采用所述预设拥塞控制算法计算得到;所述到达通知报文中携带对应虚拟输出队列的限制速率,以避免不同的到达相同目的ip服务器的流在同一个虚拟输出队列中产生头部拥塞问题。

17、在本发明的一些实施例中,所述预设的数据包限制数量为两倍的时延带宽积,所述时延带宽积根据所述上游交换机和所述下游交换机之间的长距链路的带宽和时延计算得到。

18、另一方面,本发明提供一种电子装置,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时所述装置实现如上文中提及的任意一项所述方法的步骤。

19、另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中提及的任意一项所述方法的步骤。

20、本发明的有益效果至少是:

21、本发明提供一种基于近端控制的跨数据中心rdma网络拥塞控制方法及装置,包括:上游数据中心依次经由上游交换机和下游交换机将数据包发送至下游数据中心;将整个数据传输过程中流量的控制分为三部分:出发流量控制、到达流量控制和长距流量控制;出发流量控制:在上游交换机中,检测到由上游数据中心发送至上游交换机的数据包拥塞时,采用预设拥塞控制算法生成出发通知报文,上游数据中心根据出发通知报文调整发送速率;到达流量控制:在下游数据中心中,检测到由下游交换机发送至下游数据中心的数据包拥塞时,采用预设拥塞控制算法生成到达通知报文,下游交换机根据到达通知报文调整发送速率;长距流量控制:在下游交换机中,根据定期统计的已完成转发的数据包总量生成长距通知报文,上游交换机根据长距通知报文和预设的数据包限制数量调整转发速率。本发明提供的拥塞控制方法分为三部分,适用于跨数据中心网络,通过两端的交换机(即两端数据中心的近端)分别控制两端数据中心中的拥塞,还通过长距通知报文控制长距链路中的拥塞,同时,采用的预设拥塞控制算法与两端数据中心使用的拥塞控制算法一致,拥塞控制回路短,保证了各流之间竞争的公平性。

22、本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。

23、本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。

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