基于fasttcp的传输控制方法

文档序号:9455835阅读:537来源:国知局
基于fast tcp的传输控制方法
【技术领域】
[0001] 本技术属于云计算及网络传输技术领域,具体涉及一种基于FAST TCP的传输控制 方法。
【背景技术】
[0002] 数据中心的拓扑结构经过多年的探索,有了很大的变化。图1示出了常规的数据 中心网络的拓扑结构。在这种拓扑结构中,架顶式的范围(ToR)交换机接入层为安装在机 架上的服务器提供连接。在每个聚集层(有时也被称为分布层)的聚集交换(Aggregation Switch)将从多个接入层(TOR)发来的流量转发到核心层。每一个ToR交换机连接到多个 聚集交换机的冗余。核心层将交换机通过核心路由Core Routers)连接到互联网。一个特 例是平坦的两层拓扑,仅使用两层交换机。
[0003] Clos拓扑是基于多级交换机的一种拓扑结构,每个交换机层次都和下一个交换机 层次的所有交换机相连,这样大大增加了路径的多样性。图2展示了一种典型的三层Clos 拓扑
[0004] 胖树是一种特殊的Clos拓扑结构。它是一种类树结构,如图3所示,这种拓扑结 构由k个端口的交换机组成,他们有k个连接点,每个连接点处有两层(聚合层和边缘层) k/2个交换机,而每(k/2)2个核心交换机有1个端口和这k个连接点链接。核心层交换机 和聚合层交换机连接,而边缘曾交换机与Tor交换机连接。这一策略折衷了复杂度和路由 多样性。
[0005] 近年来兴起了虚拟数据中心网络,虚拟数据中心网络是在若干虚拟资源(虚拟 机,虚拟交换机,虚拟路由器等)之间构成的虚拟连接,如所示,一个物理数据中心上可以 假设多个虚拟数据中心。虽然引入了虚拟化概念,资源利用可以更灵活有图4架设在物理 数据中心上的虚拟数据中心及数据中心网络效,用户也可以屏蔽物理层的事宜,但是数据 中心网络问题仍然客观存在,必须加以解决。
[0006] TCP协议给数据中心带来的问题之一就是TCP Incast现象,这里我们首先要对数 据中心网络环境进行定义。数据中心网络环境一般满足如下条件:
[0007] a)服务器具有高性能CPU和较大的内存;
[0008] b)具备高性能网卡,以及适当的操作系统;
[0009] c)千兆以太网(或10Gb/sec),由一台交换机或者其他拓扑结构构成数据中心网 路,更多交换机可能会带来好处,但是定义上没有特别的限制。
[0010] d)存在大量一对一,多对一及一对多通信模式。此类传输模式存在于集群存储以 及Hadoop等其他许多数据密集型分布式应用中。
[0011] 在简单的带宽环境下,比如使用scp将五台机器上的数据复制到一个目的主机, 每个源机器能够输出900Mbps以上。如果每个发送者都以900Mbps的速度向接收端发送数 据,IG以太网交换机不久将只能丢弃部分数据包。
[0012] 但这种情形很容易理解:所有的机器不能同时发送900Mbps以上的数据,因为接 收端有带宽上限,交换机必将丢弃一些数据包,然后每个TCP连接将降低发包速率。最终, 每个发送者将达到大约发送200Mbps的稳态从而填满瓶颈链接。
[0013] 事实上我们会遇到更困难的带宽问题,如果有较大的群集,会出现大量服务器同 时向一个服务器传输数据的情况,则可能有发送到单个集群成员的流量"微爆"。交换机不 能缓冲所有的"微爆帧",故有部分帧会被丢掉,下面的数据展示了"微爆"所导致的短时隙 内的吞吐量崩溃。然后,TCP的拥塞控制机制开始干预,处理丢包和超时事件,减缓窗口增 长甚至减少窗口。
[0014] "Incast"是一种通信模式,在数据中心网络环境下,它主要由TCP协议的拥塞控 制算法的特点引起。图5所示为典型的TCP Incast传输模式场景。在这种模式中,客户端 通过一交换机连接到数据中心的多台服务器。客户端发出请求,数据从一个或多个服务器 通过交换机以many-to-one的方式通过瓶颈链路传输到客户端。客户端以较大的逻辑块 (如1MB)请求数据,而实际的数据块则以较小的数据块(如32KB)形式存储在多服务器中, 称为服务器的请求单元(SRU)。每一轮传输中,客户端向所有存储有被请求数据的服务器发 送数据请求,当所有服务器的数据均成功接收(即被请求数据块成功传输)时,才进行下一 次数据块请求。
[0015] 严格地定义Incast现象需要满足如下三个条件:
[0016] 1.网络环境:高带宽(千兆网)低延迟及较小的交换机缓存
[0017] 2.同步块传输模式,即每轮传输一个数据块,所有数据块收到后才进入下一轮传 输
[0018] 3.较小的数据块;(最大256K,一块数据在千兆网环境下在2毫内秒可传输完毕)
[0019] 随着并发发送者数量的增加,数据传输量可能超出交换机缓存大小,导致数据包 丢失,以及随之而来的的超时重传。从而可能导致吞吐量崩溃(急剧降低),如图6所示,我 们称之为TCP Incast现象。
[0020] TCP Incast问题可能出现在许多典型的数据中心应用当中。例如,在集群存储系 统中,在存储节点对数据的请求作出回应时;在网络搜索过程中,许多工作机几乎同时响应 搜索查询;或在MapReduce批量处理作业的过程中,"shuffle"阶段多个Mapper将中间数 据传输给Reducer时。由于存在范围广泛,对网络效能影响恶劣,TCP Incast问题已经引 起了许多研究人员的注意。研究人员在多层面提出了各种可能的解决方案,主要包括链路 层,传输层和应用层解决方案。这些方案中,部分具有较高的效率,但成本亦高,部分方案代 价低,但收效甚微。

【发明内容】

[0021] 本发明旨在至少解决上述技术问题之一。
[0022] 为此,本发明的一个目的在于提出一种基于FAST TCP的传输控制方法。
[0023] 为了实现上述目的,本发明的第一方面的实施例公开了一种基于FAST TCP的传输 控制方法,包括:数据控制模块,所述数据控制模块用于控制传输数据包;窗口控制模块, 所述窗口控制模块用于控制发送端的数据包的传输数量;以及估计模块,所述估计模块用 于根据发送端的数据包发送频率、传输链路的带宽、交换机的缓存容量、所述交换机的延时 队列中数据包的平均延时计算拥塞避免阈值;所述方法包括以下步骤:Sl :获取所述拥塞 避免阈值和所述客户端当前数据包的传输数量;S2 :将所述客户端所述当前数据包的传输 数量和所述拥塞避免阈值进行比较,如果所述客户端当前数据包的传输数量不小于所述 拥塞避免阈值,所述估计模块向所述窗口控制模块发送拥塞反馈信息,所述窗口控制模块 根据所述拥塞反馈信息减少数据包的传输数量以避免丢包。
[0024] 根据本发明实施例的基于FAST TCP的传输控制方法,可以通过监控网络传输规 模,针对不同的规模进行参数调整,达到在不同规模下的自适应,始终保证高吞吐量和稳定 的传输性能。
[0025] 另外,根据本发明上述实施例的基于FAST TCP的传输控制方法,还可以具有如下 附加的技术特征:
[0026] 进一步地,所述拥塞避免阈值的计算公式如下:
[0028] 其中,w为所述发送端的所述当前数据包的传输数量,γ e (〇, 1],baseRTT为所 述交换机延时队列中数据包的最小RTT,qdelay是点对点的平均队列延迟,α为修正系数,
9
[0030] 其中,q为队列延时,α。、α η q#均为常数。
[0031] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0032] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中:
[0033] 图1是现有技术中交换机拓扑结构示意图;
[0034] 图2是现有技术中的Clos拓扑结构示意图;
[0035] 图3是现有技术中的胖树拓扑结构示意图;
[0036] 图4是现有技术中的虚拟数据中心及数据中心网络示意图;
[0037] 图5是现有技术中的TCP Incast传输模式示意图;
[0038] 图6是现有技术中的TCP Incast的示意图;
[0039] 图7是本发明一个实施例的流程图。
【具体实施方式】
[0040] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0041] 在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"上"、"下"、"前"、 "后"、"左"、"右"、"竖直"、"水平"、"顶"、"底"、"内"、"外"等指示的方位或位置关系为基于 附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所 指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发 明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要 性。
[0042] 在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相 连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可 以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是 两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本 发明中的具体含义。
[0043] 参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述 和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施 例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的 实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
[0044] 以下结合附图描述根据本发明实施例的基于FAST TCP的传输控制方法。
[0045] C-FAST协议通过检测队列延迟调整拥塞窗口,以维持稳定队列长度;我们认为0 队列长度是危险的,因为有队列存在证明瓶颈链接是被占满的,而0队列长度的情况下,我 们无法判断瓶颈链接是否被充分使用;同时,在数据中心中,RTT的尺度已经很小,队列延 迟则更小,我们选择直接基于队列延迟,并维持>〇稳定队列长度的FAST协议的拥塞避免策 略作为解决问题的基础。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1