面向云计算数据中心网络的差分流传输控制方法及装置与流程

文档序号:12134370阅读:215来源:国知局
面向云计算数据中心网络的差分流传输控制方法及装置与流程

本发明属于云计算领域,涉及一种面向云计算数据中心网络的差分流传输控制方法及装置。



背景技术:

云计算以虚拟化的方式实现了对资源的统计复用,云用户可以通过网络随时随地按需访问可配置资源池中的计算、网络、存储、软件等资源。数据中心(DataCenter)主要由大量服务器,存储设备,网络设备(交换机,路由器和电缆),以及配电系统和冷却系统组成。而作为通信基础设施的数据中心网络DCN(Data Center Network)是数据中心内互连大规模服务器实现大型分布式计算的网络,用于数据中心内服务器间大量数据的传输和交换。当前数据中心网络大量采用TCP协议进行数据传输,数据网络中99.91%的流量是TCP流量。但直接将传统TCP协议应用于具有高带宽、低时延的数据中心网络,将造成以下两点问题:第一,具有多对一通信模式的应用使用TCP协议进行同步传输的过程中,可能出现Incast拥塞,导致TCP吞吐量崩溃;第二,小流的传输容易受到大流的影响使得小流完成传输的时间增大,导致小流无法满足传输截止时间的要求,延迟作为一项重要的网络性能指标将直接影响互联网在线服务,进一步影响公司的业务收入。

针对数据中心网络的TCP拥塞控制以及典型的Incast问题,研究人员主要提出了以下的解决方案:增大交换机缓存、增大服务器请求单元SRU(Server Request Unit)、减小超时重传时间、设计新的拥塞控制算法、替换TCP协议等。

增大交换机缓存区大小的方式可以有效缓解TCP Incast现象的发生,因为交换机缓存区大小的限制是导致丢包出现的重要因素。然而使用更大容量缓存的交换机意味着数据中心网络建设成本的增加,甚至大缓存也会被更高的链路速率所耗尽,因此该方式在实际实现中不具备较高的性价比。

增大服务器请求单元SRU的大小同样能够缓解TCP Incast的发生。然而一个大的SRU会因为重叠写入而增加锁定内容,因而导致应用程序的文件写入性能不佳。同时,增加SRU的大小将极大的增加客户端缓存的压力,并且由此可能带来内核故障的隐患。

减小TCP的RTO定时器时钟精度至微秒级别可以减轻TCP Incast拥塞对网络性能的影响。但是设置微秒级的最小超时重传时间存在实现上的挑战和并且可能产生安全性问题。在实现方面,目前大多数操作系统都无法提供高效软件定时器,而微秒级别的定时器目前尚无的硬件支持。至于安全性问题,在高带宽,低时延的网络中较小的最小超时重传时间值可能产生欺骗性重传。此外,在光交换网络中,即使微秒级别的RTO对性能的改善也不会太明显。

ICTCP是在接收侧基于通告窗口实施Incast拥塞避免的方案。通过实时监测接收方的流量速率来动态调整接收方的接收窗口。ICTCP假设瓶颈链路直接与接收端相连,接收端通过估计瓶颈链路的当前可用带宽以及往返延时来计算出合理的通告窗口大小,从而避免TCP丢包。但是在数据中心网络中,实时准确地估计往返延时需要高精度的定时器,在实现上具有一定挑战,并且ICTCP不适用于瓶颈链路不是最后一跳的情景。

DCTCP的核心思想是在不影响网络吞吐量的前提下,尽量保持交换机中队列长度较短。DCTCP利用显式拥塞通告ECN(Explicit CongestionNotification)功能,当交换机队列长度超过一定阈值时,向源端通告并让源端降低发送速率,从而避免丢包。

使用UDP(User Datagram Protocol)来替换TCP进行数据传输。由于UDP不存在TCP的拥塞控制机制,当出现丢包之后不会造成发送端降低发送速率或者停止传输。但是与此同时,UDP无法保证可靠传输和实现公平性,因此使用UDP进行传输也将对网络的设计带来不小的挑战。此外,基于TCP的应用十分广泛,替换TCP将付出很大的代价。

综上所述,现有数据中心网络拥塞控制机制存在成本高、实现难度大以及难以满足数据流传输需求等问题。因此,本设计主要目的是实现一个基于差分流的传输控制方法及装置,以满足数据中心网络混合流量类型和典型多对一通信模式应用的传输需求。



技术实现要素:

有鉴于此,本发明的目的在于解决现有数据中心网络拥塞控制机制存在成本高、实现难度大以及难以满足混合数据流传输需求等问题,提出设计一个面向差分流的传输控制方法及装置,以满足数据中心网络混合流量类型和典型多对一通信模式应用的传输需求。

为达到上述目的,本发明提供如下技术方案:

一种面向云计算数据中心网络的差分流传输控制方法,包括以下步骤:

1)交换机利用显式拥塞通知ECN机制标记超过设定阈值队列长度的数据包;

2)发送端服务器统计被标记的ACK数据包比例,更新参数α,判断是否发生拥塞;

2.1)当网络未发生拥塞时,TCP流不进行拥塞窗口调节;

2.2)发送端服务器执行流分类判定,建立流分类数据库,同时记录更新参数β;

3)发端服务器对流分类判定机制区分的不同传输需求TCP流执行不同的拥塞退避策略;

其中参数α表示对网络拥塞程度的感知,参数β表示大流对接收端链路的复用程度。

进一步的,步骤1)中所述的标记方法具体为:在交换机处设置标记的门限参数值为K,当一个数据包到达交换机输出队列后,如果即时队列长度大于门限K,则该数据包的IP头部被交换机用CE代码点标记,否则不进行标记。

进一步的,接收端服务器对于每一个带有CE标记的数据包,通过在ACK数据包中设置ECE标记将拥塞信息反馈给发送端服务器。

进一步的,所述的流分类判定具体方法为:对于套接字缓存超过设定阈值的判定为大流;对于套接字缓存小于阈值的TCP流进一步判定,即对于持续时间、传输数据量不超过阈值的TCP流将被判定为小流;对于流持续时间、传输数据量超过阈值的TCP流将被判定为普通TCP流。

进一步的,对于大流,查询参数β,并基于参数α和参数β进行拥塞窗口调节,其中β表示大流对接收端链路复用程度;对于小流保持拥塞窗口不变;对于普通TCP流,基于参数α进行拥塞窗口调节。

进一步的,大流拥塞窗口调节的参数β更新方法为:当接收端服务器检测出大流后初始化β参数,然后将该大流信息上传至控制器;对于套接字缓存大小持续超过设定阈值的大流,设置固定的上传间隔时间;控制器收到接收端服务器上传的大流信息后更新全局大流信息,然后向该服务器回传该大流对应目的服务器当前并存的大流数量N,接收端服务器更新参数β。

一种面向云计算数据中心网络的差分流传输控制装置,其特征在于:包括设置在发送端服务器的拥塞信息感知模块、流分类判定模块、拥塞窗口调节模块,设置在接收端服务器的拥塞反馈模块以及交换机。

进一步的,所述交换机利用显式拥塞通知ECN机制标记超过设定阈值队列长度的数据包;拥塞信息感知模块用于统计被标记的ACK数据包,实现对网络拥塞状态信息的感知;流分类判定模块在发送端服务器中区分不同传输需求的TCP流,执行流分类;拥塞窗口调节模块基于流分类信息和网络拥塞信息对TCP流执行不同的拥塞退避策略。

本发明的有益效果在于:本发明采用基于差分流数据中心网络传输控制协议(DFTCP),与传统的传输控制协议相比有以下优势:

1、可以有效避免TCP Incast拥塞。本发明协议采用主动队列管理机制的DFTCP和DCTCP,当交换机队列长度超过阈值时将会传递拥塞信息,促使发送源端提前进行拥塞控制,减少丢包和TCP超时的发生,因此能够支持更多数量的服务器同时进行多对一通信而不会出现吞吐量大幅下降的情况。

2、可以减少小流完成传输的时间。DFTCP和DCTCP在主动队列管理机制的作用下能够有效控制小流分组的丢失,而当拥塞发生时,DFTCP在终端服务器处调节拥塞窗口的过程中,对于大流进行了更大程度的拥塞退避,因此有利于小流更加快速的完成数据传输。

3、本发明协议可以保证拥塞控制快速公平收敛的特性。使用DFTCP进行数据传输时,随着流启动和结束传输,多个生存时间较长且传输需求大的DFTCP流在竞争同一链路时能够快速收敛到对链路公平共享的状态。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为面向云计算数据中心网络的差分流传输控制装置的结构示意图;

图2为面向云计算数据中心网络的差分流传输控制方法的流程示意图;

图3为大流拥塞窗口调节的参数β更新过程图;

图4为TCP Incast拥塞控制对比图;

图5为小流完成传输的时间对比图;

图6为本发明收敛性模拟图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

附图2面向云计算数据中心网络的差分流传输控制方法的流程示意图,为参照附图2,一种面向云计算数据中心网络的差分流传输控制方法,具体的方法如下:

第一步,交换机利用显式拥塞通知ECN机制标记超过设定阈值队列长度的数据包。所述标记方法具体为:在交换机处设置标记的门限参数值为K,当一个数据包到达交换机输出队列后,如果即时队列长度大于门限K,则该数据包的IP头部被交换机用CE(Congestion Experienced)代码点标记,否则不进行标记。

第二步,接收端服务器对于每一个带有CE(Congestion Experienced)标记的数据包,通过在ACK数据包中设置ECE(ECN-Echo)标记将拥塞信息反馈给发送端服务器。发送端服务器统计被标记的ACK数据包比例,更新参数α,判断是否发生拥塞。其中参数α表示对网络拥塞程度的感知。其次发送端服务器执行流分类判定,维护更新流分类数据库,以及大流对应参数β,其中β表示大流对接收端链路复用程度。

由于在数据中心网络环境,TCP的延迟确认机制(delayedACKs)会影响网络性能,因此关闭掉TCP的延迟确认机制,对于每一个TCP分组,接收端立即返回ACK数据包。发送端服务器端统计每一个TCP流对应发送窗口数据包中被标记数据包的比例用于感知网络拥塞状态信息。

所述的流分类判定具体方法为:对于套接字缓存(Socket Buffer)超过设定阈值的判定为大流;对于套接字缓存(Socket Buffer)小于阈值的TCP流进一步判定,即对于持续时间、传输数据量不超过阈值的TCP流将被判定为小流;对于流持续时间、传输数据量超过阈值的TCP流将被判定为普通TCP流。

第三步,对流分类判定机制区分的不同传输需求TCP流执行不同的拥塞退避策略。

当网络未发生拥塞时,TCP流不进行拥塞窗口调节。

对于大流,查询参数β,并基于参数α和参数β进行拥塞窗口调节,其中β表示大流对接收端链路复用程度;对于小流保持拥塞窗口不变;对于普通TCP流,基于参数α进行拥塞窗口调节。

附图3为大流拥塞窗口调节的参数β更新过程图,参照附图3,大流拥塞窗口调节的参数β更新方法为:当发送端服务器检测出大流后初始化将β参数,然后该大流信息上传至控制器;对于套接字缓存(Socket Buffer)大小持续超过设定阈值的大流,设置固定的上传间隔时间;控制器收到发送端服务器上传的大流信息后更新全局大流信息,然后向该服务器回传该大流对应目的服务器当前并存的大流数量N,发送端服务器更新参数β。

附图1为面向云计算数据中心网络的差分流传输控制装置的结构示意图,参照附图1,一种面向云计算数据中心网络的差分流传输控制装置,包括设置在发送端服务器的拥塞信息感知模块、拥塞窗口调节模块、流分类判定模块,设置在接收端服务器的拥塞反馈模块以及交换机。

所述交换机利用显式拥塞通知ECN机制标记超过设定阈值队列长度的数据包;拥塞信息感知模块用于统计被标记的ACK数据包,实现对网络拥塞状态信息的感知;流分类判定模块在发送端服务器中区分不同传输需求的TCP流,执行流分类;拥塞窗口调节模块基于流分类信息和网络拥塞信息对TCP流执行不同的拥塞退避策略。

具体而言,所述流分类判定模块:在终端服务器中部署流分类机制,以实现对不同传输需求TCP流的区分,流分类的主要目的是当网络发生拥塞时,通过对影响网络性能的大流进行更大程度的拥塞退避来减小对网络中其它TCP流传输的影响。数据中心作为单一管理域,包含了终端主机操作系统的实现,在终端服务器中以分布式机制实现流分类机制有利于提高网络的可扩展性和减小网络开销,避免了网络中的交换机和控制器为了维护大量流状态信息成为限制网络规模的瓶颈。使用静态阈值划分的方式,流分类判定机制将小流定义为满足流持续时间和总的传输数据量均小于设定阈值的TCP流;通过动态监测TCP套接字缓存大小的方式,流分类判定机制将大流定义为套接字缓存(Socket Buffer)大小超过设定阈值的TCP流,该方式有利于提高检测影响网络性能大流的准确性,使得大流的检测与TCP流持续时间和已完成传输的数据量大小无关,可以避免将持续时间较长、已传输数据量较大但是不活跃的TCP流归类为大流,为了执行大流拥塞窗口的调节,当终端服务器检测出大流后,初始化β参数,然后将该大流信息上传控制器,对于套接字缓存大小持续超过设定阈值的大流,控制器负责维护全局大流信息,记录发往每一目的服务器的大流数量,当收到服务器上传的大流信息后控制器更新全局大流信息,然后向该服务器回传该大流对应目的服务器当前并存的大流数量,最后终端服务器基于当前并存的大流数量值计算β参数用于调节大流的拥塞窗口;其它无明显传输需求倾向的TCP流量被流分类判定机制归类为普通TCP流。

所述拥塞信息感知模块:交换机利用显式拥塞通知ECN机制标记超过阈值队列长度的数据包。具体工作的过程如下,首先在交换机处设置标记的门限参数值为K,当一个数据包到达交换机输出队列后,如果即时队列长度(instant queue length)大于门限K,则该数据包的IP头部被交换机用CE(Congestion Experienced)代码点标记,否则不进行标记;其次是在接收端反馈拥塞信息,接收端对于每一个带有CE标记的数据包,通过在ACK确认数据包中设置ECE(ECN-Echo)标记将拥塞信息反馈给源端。

所述拥塞窗口调节模块:服务器统计被标记的ACK数据包比例,更新参数α,表示对网络拥塞的程度感知,当网络未发生拥塞时,TCP流不进行拥塞窗口调节。当网络拥塞出现时,对流分类判定机制区分的不同传输需求TCP流执行不同的拥塞退避策略。对于小流保持拥塞窗口不变;对于普通TCP流,基于参数α调节拥塞窗口;对于大流,基于参数α和参数β调节拥塞窗口。

附图4为TCP Incast拥塞控制对比图,通过建立典型的Incast拥塞模型,随着参与同步读过程的服务器数量上升,使用传统TCP进行多对一通信的客户端应用层吞吐量会出现大幅下降,即Incast拥塞。而对于采用主动队列管理机制的DFTCP和DCTCP,对TCP Incast拥塞的控制取得了相似的实验结果,其原因在于当交换机队列长度超过阈值时将会传递拥塞信息,促使发送源端提前进行拥塞控制,减少丢包和TCP超时的发生,因此能够支持更多数量的服务器同时进行多对一通信而不会出现吞吐量大幅下降的情况。

附图5为小流完成传输的时间对比图,本发明采用的DFTCP机制控制小流完成传输时间的性能优于DCTCP和传统TCP。其主要原因在于,DFTCP和DCTCP在主动队列管理机制的作用下能够有效控制小流分组的丢失,而当拥塞发生时,DFTCP在终端服务器处调节拥塞窗口的过程中,对于大流进行了更大程度的拥塞退避,因此有利于小流更加快速的完成数据传输。

附图6为本发明收敛性模拟图,使用DFTCP进行数据传输时,随着流启动和结束传输,多个生存时间较长且传输需求大的DFTCP流在竞争同一链路时能够快速收敛到对链路公平共享的状态。

本发明面向云计算数据中心网络的差分流传输控制方法与传统TCP用于数据中心网络相比,主要区别在于:

1)在应对不同TCP流传输需求上,传统TCP公平对待所有流,实现共享链路的最大最小公平共享,但是传统TCP无法灵活应对数据中心网络混合流量类型对网络传输性能的需求。基于差分流的传输控制协议,分布式实现于服务器中,使用静态阈值划分,动态监测等方式将所有TCP流分类为具有低时延传输需求的小流,高吞吐量需求的大流,以及无明显传输需求的普通TCP流,从而灵活地应对数据中心网络混合类型流量的传输,减小大流对小流传输的影响。

2)在拥塞状态感知上,传统TCP采用丢包驱动的方式,面对数据中心网络广泛部署的具有多对一通信模式应用容易造成TCP Incast拥塞,导致吞吐量大幅下降,而小流可能增大完成传输的时间错过流截止时间。基于差分流的传输控制协议采用了主动队列管理机制,利用ECN机制传递拥塞信息,在网络发生拥塞之前进行拥塞通告,促使终端提前进行窗口调节避免丢包。

3)在拥塞窗口调节上,当拥塞出现时,传统TCP对于带有ECE标记的ACK数据包采取的方式是固定地将对应TCP流的拥塞窗口减半,这将会使得链路利用率相对较大幅度的下降从而导致链路资源浪费,并且可能导致部分小流传输完成的时间增大。基于差分流的传输控制协议,在流分类判定的基础上,对于不同传输需求的TCP流,在调节拥塞窗口的过程中分别执行不同程度的拥塞退避,该方式有利于均衡数据中心网络混合流量的不同传输需求,避免小流传输时延增大的同时保持较高的网络利用率。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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