网络业务加速器的制作方法

文档序号:7912318阅读:172来源:国知局
专利名称:网络业务加速器的制作方法
网络业务加速器相关申请的交叉引用不适用
背景技术
本发明涉及数字数据通信和用于改善受大带宽时延积影响的信道(诸如基于卫星的通信链路和移动数据网络)的吞吐量的技术。众所周知,由于信道的非常大的带宽时延积(BDP),所以用于在网络上传输数据的业界标准即传输控制协议(TCP)在卫星或移动通信网络中无法良好地执行。例如,具有 24Mbps至155Mbps的信道带宽容量的通信卫星具有500ms的往返时延(RTT),故24Mbps的最低带宽将导致1. 5MB的带宽时延积,该值远超64KB的TCP最大通告窗口大小。在这种情况下,TCP的流控制机制将吞吐量限制为不超过1Mbps,其小于卫星的链路层带宽容量的 5 %,如下文所阐述的。TCP流控制TCP具有内置流控制机制,该流控制机制被设计为避免快发送器使慢接收器溢出。 该机制以如下方式工作通过经由TCP报头内的16位字段将接收器的缓冲器可用性(即通告窗口)报告给发送器,以使发送器能够避免发送超过接收器的缓冲器所能储存的数据。 计算机处理能力已经突飞猛进,使得计算机能够轻易地跟上高达几百Mbps数据速率的到达数据流。因此到达的包将由应用从接收器缓冲器快速获取,在大多数情况下这都能够完成,甚至在下一个包到达之前完成。因此,所报告的通告窗口(AWnd)简单地停留在最大接收器缓冲器大小。在这种情况下,TCP的流控制机制根本没有被激活,因为不需要TCP的流控制机制。然而,TCP的流控制机制可能成为具有大带宽时延积(BDP)的网络中的性能瓶颈。 考虑发送器通过大BDP链路(100Mbps,250ms单向时延,BDP = 50Mb)连接至接收器的情况。 在忽略处理时间的情况下,当发送器接收到确认(ACK)时,所报告的通告窗口(AWnd)大小事实上是在当前时间250ms之前的值(S卩,34KB)。在此期间,接收器应用可能已经从接收器缓冲器获取了其它数据,从而释放了更多的缓冲器空间(即,64KB)。由于延迟的AWnd,发送器的发送不能多于所报告的AWnd,因此不能使用接收器处的可用的额外缓冲器空间。在BDP大于最大AWnd的情况下,发送器将以启停(stop-and-go) 方式工作,从而导致网络信道的严重未充分利用。对上述问题的传统解决方案是使用如TCP协议请求注解RFC 1323中所定义的TCP 的大窗口尺寸(LWS)扩展。该扩展允许TCP在连接设置期间商定乘法器以应用于窗口大小, 从而能够使用大于64KB的窗口大小。然而,这种方法依赖两个假设第一,操作系统或应用需要被修改以明确使用TCP的LWS扩展。第二,必须存在一种方法以使应用在连接设置期间请求使用LWS。虽然在定制网络应用和操作系统能够被开发以利用TCP的LWS扩展的实验室中, 这两个假设能够轻易地满足,但是它们将很可能阻止大量互联网上可用的网络应用从TCP 的LWS扩展中获益。
已经进行了许多研究以改善某些大型网络中的TCP性能。现有研究被分为三种类别修改发送器和接收器、仅修改发送器、以及仅修改接收器。这些类别中的每一种在这里均通过背景技术简要地描述。基于发送器-接收器的方法Jacobson 等人的“RFC 1323 :TCP extensions for high performance (RFC 1323 :高性能TCP扩展)‘‘,1992年5月,RFC1323建议对TCP进行大窗口尺寸(LWS)扩展,这是目前得到最广泛支持的解决方案。其通过在整个连接中以恒定因子缩放通告窗口 (Affnd)来工作。在最大LWS因子14的情况下,可使最大AWnd增加至IGB ((216_1) *214 ^ 230)。 可替换地,可以对应用进行修改以并行地发起多个TCP连接,从而通过聚集多个TCP连接来增力口吞吐量,如 Lee, D. Gunter, B. Tierney, B. Allcock, J. Bester, J. Bresnahan 禾口 S.Tuecke 的 “Applied Techniques for High Bandwidth Data Transfers Across Wide Area Networks (在广域网上进行高带宽数据传送的应用技术)〃,Proceedings of International Conference on Computing in High Energy and Nuclear Physics, 2001 年 9 月以及 H. Sivakumar, S. Bailey 禾口 R. Grossman 的“PSockets :The Case for Application-level Network Striping for Data Intensive Applications using High Speed Wide Area Networks (PSockets :用于使用高速广域网的数据密集型应用的应用级网络分割的案例)",Proceedings of Super Computing,2000年11月。该方法有效地使 AWnd和拥塞窗口(CWnd)乘以TCP流的数量,因此能够减轻AWnd限制。然而,聚集多个TCP 连接还将允许应用从竞争的TCP流获得不平等的带宽量。Hacker等人(T. Hacker, B. Noble 禾口 B.Athey 的“Improving Throughput and Maintaining Fairness using Parallel TCP (使用并行的TCP改善吞吐量和保持公平性)",Proceedings of IEEEInfocom 2004, 2004年3月)通过推迟CWnd增加直至多个确认(ACK)被接收到以补偿更大的窗口大小来解决这一问题。基于发送器的方法除了 AWnd限制之外,发送器所维护的拥塞窗口也可能限制大BDP型网络中的TCP 的吞吐量。特别地,CWnd的增长通过ACK的到达来触发。因此,在长时延路径中,可能要花费更长时间使CWnd增长至足够大的值以使链路带宽能够得到充分利用。为了解决这个问题,Allman等人(M.Allman,S. Floyd 和 C. Partridge 的〃 RFC 3390 Jncreasing TCP ‘ s Initial Window (RFC 3390 增力Π TCP 的初始窗口)〃, October 200)在RFC3390中建议将CWnd初始化为更大值(与一个TCP段相反),以使其能够在大时延网络中更加快速地增长以提升TCP的吞吐量。从那以后,人们耗费太多的精力来开发更加复杂的拥塞控制算法,诸如CUBIC(I. I^hee和L. Xu的"CUBIC:A new TCP-friendly high-speed TCP variant (CUBIC 新的 TCP 友好的高速 TCP 变型)“, Proceedings. PFLDNet‘ 05,2005 年 2 月)、BIC(L. Xu, K. Harfoush 和 I. Rhee 的“Binary Increase Congestion Control (BIC) for Fast Long-Distance Networks (用于快速长距离网络的二进制增加拥塞控制(BIC))",In Proceedings of IEEE INF0C0M 2004,2004 年 3 月)、FAST (C. Jin, D. X. Wei 和 S. H. Low 的“FAST TCP Motivation,Architecture, Algorithms, Performance (FAST TCP :动机,架构,算法,性能)“,In Proceedings of IEEE INFOCOM 2004,2004 年 3 月)、H_TCP(R. Shorten 和 D. Leith 的“H-TCP :TCP forHigh-Speed and Long-Distance Networks (H-TCP :用于高速和长距离网络的 TCP) 〃, Second International Workshop on Protocols for Fast Long-Distance Networks, February 16-17,2004,Argonne, Illinois),以进一步改善 TCP 的吞吐性能。这些解决方案解决了 CWnd增长的限制,因此是本发明的补充。基于接收器的方法在接收端,Fisk和i^eng建议通过在接收器处估算CWnd并随后使接收器缓冲器大小(即AWnd)动态地适应所估算的CWnd大小的两倍来对AWnd进行动态的大小调整。(M Fisk 禾口 W-C Feng 的〃 Dynamic Right-Sizing in TCP (TCP 的动态大小调整)“, Proceedings of the Los Alamos Computer Science Institute Symposium,2001 年 10 月)。这确保当发送器的CWnd翻倍时(例如,在接收到ACK之后)AWnd将不会成为瓶颈。较新的操作系统诸如Linux 2. 4和Microsoft Windows Vista也通过从数据消耗速率估算BDP来实施接收器缓冲器大小自动调节(见J. Davies的"The Cable Guy TCP Receive Window Auto-Tuning (Cable Guy :TCP 接收窗自动调节)〃,iTechNet Magazine, 2007 年 1 月)。需要一种使TCP能够充分利用潜在网络带宽的机制,其既不需要修改运行于通信会话两端的网络应用,也不需要操作系统支持大窗户口尺寸(LWS)。

发明内容
根据本发明,在一种包含具有极大带宽时延积(BDP)并采用传输控制协议(TCP) 的通信链路的包通信系统中,该系统具有发送器、接收器和网关,仅采用由接收器所通告的所报告的通告窗口大小作为窗口大小的指示并且不作为吞吐量限制,从而比所通告的通告窗口大小所指定的量更多的数据被发送。该通告窗口大小一直很小却是上限。考虑到传统接收器的与典型数据速率相比的高处理速度能力,接收器毫无困难地处理所有进入的TCP 包,使得接收缓冲器一直接近于空。因此通告窗口大小不被认为是接收器处可用的缓冲器空间的绝对量。因此,发送器不再由接收器的通告窗口大小的绝对值限制,反而能够传输比通告窗口的值更多的数据,从而使通信系统能够增加实际窗口大小而不需要修改任何一端的通信应用。该改进的大BDP容量协议被称为TCP-SC。根据本发明的TCP-SC网关被设计为执行这一新功能,从而当其接收到来自接收器的携带更新的通告窗口大小(AWnd)的确认(ACK)包时,其将在考虑接收器的处理能力和缓冲器可用性的情况下计算新的虚拟通告窗口大小(VWnd),以使其能够转发超出AWnd所允许的更多的数据。TCP-SC不需要对接收器应用进行任何修改,也不需要来自操作系统的支持,因此能够更加容易地被互联网服务提供商(ISP)或卫星运营商或移动网络运营商配置,从而使所有TCP业务加速。通过参照下面结合附图的详细描述,本发明将被更好地理解。


图1是根据本发明的系统的框图;图2是示出在业务流因协议异常而中断的情况下大BDP系统的吞吐率的图表;图3是示出根据本发明的功能完善的系统的吞吐率的图表。
具体实施例方式根据本发明,通信系统具有TCP-SC网关系统10。如图1所示,本发明的TCP-SC网关系统10设置在发送器(诸如网页服务器12)与接收器14(诸如网页浏览器客户端16) 之间,接收器14位于用户终端并包括TCP缓冲器。所有网际协议(IP)包在经由卫星18转发至接收器14之前,通过TCP-SC网关10路由。因此在卫星系统的情况下,网关系统10与客户端16之间的路径是包括链路段20和22的大BDP路径。TCP-SC网关系统10滤出用于处理的TCP包并简单转发所有其他包以保持与其它业务(例如,基于UDP的协议)的兼容性。TCP-SC的原理是估算待转发的TCP段到达接收器14的时刻接收器的TCP缓冲器可用性。如果所估算的TCP缓冲器可用性足够大以容纳该TCP段,则立即将该TCP段转发至接收器14。否则,网关系统10将传输推迟一段时间,直至预测到充足的接收器缓冲器空间可用。为了预测接收器TCP缓冲器空间可用性,TCP-SC网关系统10需要三个输入,即 在先前时间点处接收器的TCP缓冲器可用性;所转发的TCP段到达接收器14处所花费的时间;以及接收器应用处理TCP缓冲器内的接收的数据(即,从TCP缓冲器移除所接收的数据)的速率。第一个输入能够根据接收到的最后一个ACK中的AWnd确定。剩下两个输入需要估算,如下文所解释的。在下文中,假设(a)网关10总是有输入数据M以作为输出数据沈转发;(b)网络时延保持恒定;(c)网关10与客户端16之间的链路20、22的网络时延在正向和反向上是对称的;以及(d) —旦TCP段到达,客户端16处的接收器14就立即生成包含通告窗口大小的ACK,即,不存在有效的处理时延。网关-接收器往返时间(RTT)估算考虑以下事项设D为网关10与客户端16之间的往返时间RTT。由于RTT不能推理(a priori)得知,因此将需要根据测量进行估算。设&为网关10向客户端16转发包 i的时刻,并且设、为相应ACK到达网关10的时刻。随后,对于假定对称的网络时延,RTT D能够通过等式(1)计算D = tj-fj(1)为了消除所估算的RTT中的随机波动,网关将对测量的值应用指数加权移动平均法RTT' = α XRTT+(l-a ) XD(2)其中权重a = 0. 9遵循用于TCP的内部RTT估算器的值,如V. (Jacobson和 M-Karels 的〃 Congestion Avoidance and Control (拥塞避免和控制)〃,自 2009 年 6 月 39 日起在 ftp://ftp, ee. lbl. Rov/papers/conRavoid. ps. Z 上可用)所报道的。接收器处理速率估算接收器14处的处理速率能够通过比较两个时间点之间的接收器的缓冲器可用性来估算。确认包或ACK到达网关处的时刻是这两个时间点的良好候选,因为每个ACK包在被称为AWnd字段观的字段内均包含接收器缓冲器可用性(如图所示作为TCP-SC 10的输入)。
设、和Eii为ACK包i的对应的到达时刻和AWnd值。分别设f」和Cii为网关12转发TCP包j的时刻和包i的段大小。随后对于某些正整数k,由R表示的处理速率能够通过等式⑶计算
权利要求
1.在在网关处采用传输控制协议(TCP)并具有大带宽时延积(BDP)的包通信系统中, 用于传输TCP数据流的方法包括将数据从发送器装置经由所述网关并通过通信链路传输至与客户端关联的接收器装置;在所述网关处接收由所述接收器装置所通告的通告窗口大小,所述接收与其测量之间存在时延;以及在所述网关处采用所述通告窗口大小仅作为窗口大小的指示并且不作为对能够被传输的数据量的限制,使得能够经由所述网关发送比所述通告窗口大小所指定更多的数据。
2.在在网关处采用传输控制协议(TCP)并具有大带宽时延积(BDP)的包通信系统中, 用于传输TCP数据流的方法包括将第一个TCP段中的数据从发送器装置经由所述网关并通过具有路径时延的通信链路传输至与客户端关联的接收器,所述链路具有路径时延;在所述网关处接收包含由所述接收器装置所通告的通告窗口大小的确认包;以及一旦从所述发送器装置接收到下一个TCP段,则所述网关对所述下一个TCP段进行调度以传输至所述接收器装置,以使其不会导致所述接收器装置处的缓冲器溢出,其中所述通告窗口大小出现在对过去约一半往返时间处的缓冲器可用性进行报告的确认传输期间。
3.根据权利要求2所述的方法,包括根据以下等式预测将来时刻t的接收器缓冲器可用性B (t)
4.根据权利要求2所述的方法,包括根据下列等式估算将在时刻t之前被处理的数据的预测量R
全文摘要
在一种具有大带宽时延积(BDP)并采用传输控制协议(TCP)的包通信系统中,仅采用有接收器所通告的所报告的通告窗口大小作为窗口大小的指示并且不作为吞吐量限制,从而比通告窗口大小所指定的量更多的数据被发送。由于接收器能够处理所有进入的TCP包,使得接收缓冲器一直接近于空。由于TCP的通告窗口大小不被认为是接收器处可用的缓冲器空间的绝对量,故发送器不由接收器的通告窗口大小的绝对值限制,反而能够传输比通告窗口的绝对值更多的数据,从而使系统能够增加实际窗口大小而不需要修改链路端。该改进的大BDP容量协议被称为TCP-SC。
文档编号H04L12/56GK102474455SQ201080029565
公开日2012年5月23日 申请日期2010年6月29日 优先权日2009年6月29日
发明者李耀斌, 温永燊 申请人:香港中文大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1