本发明涉及多租户数据中心网络领域,特别是一种多租户数据中心中基于延时反馈的虚拟拥塞控制方法。
背景技术:
多租户技术使得大量的租户能够共享相同的软、硬件资源,每个租户能够按需使用资源,能够对软件服务进行客户化配置,而且不影响其他租户的使用。多租户技术带来便利的同时,同样有亟需解决的问题,多租户数据中心在共享基础架构上托管大量不同的租户,数据中心需要公平地共享租户中的计算,存储和网络资源。近年来,虚拟化技术的进步在解决共享计算和存储资源的问题上取得了长足的进步。然而,网络虚拟化的进展是有限的。
多租户数据中心是一个极具挑战性的网络环境。除了需要保证不同租户的带宽及公平性,租户还希望将未经修改的工作负载从企业网络迁移到服务提供商的数据中心,并保留其网络配置。服务提供商必须满足这些需求,同时保持自身的运作灵活性和效率。如何解决多租户数据中心不同租户拥塞控制算法之间的复杂的相互作用,就是多租户数据中心亟需解决的问题。因此,我们提出一种多租户数据中心中基于延时反馈的虚拟拥塞控制解决方法。
技术实现要素:
有鉴于此,本发明的目的是提出一种多租户数据中心中基于延时反馈的虚拟拥塞控制方法,能够很好的解决基于不同反馈方式拥塞控制算法的不公平性问题,并且能在大部分数据中心适用。
本发明采用以下方法实现:一种多租户数据中心中基于延时反馈的虚拟拥塞控制方法,其特征在于,包括以下步骤:通过设置hypervisor转换层,修改显式反馈与丢包反馈的三次握手协议,调整接收窗口大小,将多租户异构的拥塞控制统一转换为延时反馈;具体包括以下步骤:s1:在多租户数据中心hypervisor的转换层,hypervisor根据收到的数据包报文,判断租户所使用的拥塞控制算法的反馈方式,从而选择基于不同反馈方式的三次握手修改方法;基于不同反馈方式的三次握手修改方法包括基于反馈方式为显式反馈的三次握手修改方法及基于反馈方式为非显式反馈的三次握手修改方法;s2:根据三次握手修改方法,hypervisor在转换层分别在三次握手中,修改客户端发往网络侧和网络侧发回客户端的tcp报头。
进一步的,在所述步骤s1中,所述判断租户所使用的拥塞控制算法的反馈方式的方法为:转换层收到客户端发来的tcp报头,当检测到ece标志时,租户所使用的拥塞控制算法为基于显式反馈的;当tcp报头中没有ece标志时,租户所使用的拥塞控制算法为非显式反馈的,即基于丢包反馈和延时反馈的。
进一步的,基于反馈方式为显式反馈的三次握手修改方法,其修改流程如下:第一次握手中,转换层屏蔽客户端发往网络侧tcp报头中的ece和cwr标志,在网络侧发回客户端的tcp报头中增加ece标志;第二次握手中,收到的数据分组为正常数据分组,转换层屏蔽客户端发往网络侧tcp报头ect,而网络侧发回客户端的tcp报头不做修改;第三次握手中,根据接收到的rtt,以及接受窗口的计算公式得出
进一步的,基于反馈方式为非显式反馈的三次握手修改方法,其修改流程如下:第一次握手,不进行修改;第二次握手,不进行修改;第三次握手中,根据接收到的rtt,以及接受窗口的计算公式得出
进一步的,所述接受窗口计算公式
其中,
期望速率
其中,
与现有技术相比,本发明有以下有益效果:本发明提出了一种多租户数据中心中基于延时反馈的虚拟拥塞控制方法,本发明在多租户数据中心的hypervisor中增加一个转换层,让其与客户os中的拥塞控制算法解耦合,从而实现最佳的底层拥塞控制算法,能够很好的解决基于不同反馈方式拥塞控制算法的不公平性问题,并且能在大部分数据中心适用。
附图说明
图1为本发明的原理流程示意图。
图2为基于反馈方式为显式反馈的三次握手修改方法工作流程图。
图3为基于反馈方式为丢包反馈的三次握手修改方法工作流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,本发明提供一种多租户数据中心中基于延时反馈的虚拟拥塞控制方法,通过设置hypervisor转换层,修改显式反馈与丢包反馈的三次握手协议,调整接收窗口大小,将多租户异构的拥塞控制统一转换为延时反馈;具体包括以下步骤;
s1:在多租户数据中心hypervisor的转换层,hypervisor根据收到的数据包报文,判断租户所使用的拥塞控制算法的反馈方式,从而选择基于不同反馈方式的三次握手修改方法;基于不同反馈方式的三次握手修改方法包括基于反馈方式为显式反馈的三次握手修改方法及基于反馈方式为非显式反馈的三次握手修改方法;s2:根据三次握手修改方法,hypervisor在转换层分别在三次握手中,修改客户端发往网络侧和网络侧发回客户端的tcp报头。
进一步的,在所述步骤s1中,所述判断租户所使用的拥塞控制算法的反馈方式的方法为:转换层收到客户端发来的tcp报头,当检测到ece标志时,租户所使用的拥塞控制算法为基于显式反馈的;当tcp报头中没有ece标志时,租户所使用的拥塞控制算法为非显式反馈的,即基于丢包反馈和延时反馈的。
参见图2,基于反馈方式为显式反馈的三次握手修改方法,其修改流程如下,
1)第一次握手中,转换层屏蔽客户端发往网络侧tcp报头中的ece和cwr标志,在网络侧发回客户端的tcp报头中增加ece标志;
2)第二次握手中,收到的数据分组为正常数据分组,转换层屏蔽客户端发往网络侧tcp报头ect,而网络侧发回客户端的tcp报头不做修改;
3)第三次握手中,根据接收到的rtt,以及接受窗口的计算公式得出
参见图3,基于反馈方式为非显式反馈的三次握手修改方法,其修改流程如下,
1)第一次握手,不进行修改;
2)第二次握手,不进行修改;
3)第三次握手中,根据接收到的rtt,以及接受窗口的计算公式得出
在本发明一实施例中,接受窗口计算公式
其中,
期望速率(
其中,
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。