专利名称:基于并行tcp技术的广域网通信加速方法
技术领域:
本发明技术属于网络传输技术领域,涉及一种基于并行TCP技术的广域网通信加 速方法。
背景技术:
互联网业务的高速发展,给人们的工作和生活带来了极大的便利,同时对网络的 传输速度和数据处理速度提出了更高的要求。但是当前的广域网通信,大多是通过HTTP、 FTP、网上邻居等基本TCP的应用层协议进行文件和数据传输,客户端直接连接服务器,连 接通道是唯一的。由于广域网中传输时延、丢包的大量存在,导致仅增加带宽无法提高传 统TCP的传输速度,尤其是在大时延或跨运营商的网络中,基于TCP的数据传输速度非常缓 慢。对于HTTP等通过短连接进行交互的应用来说,TCP在大时延或跨运营商的网络之间的 三次握手也将带来较大的时间开销。为了提高广域网网络传输速度,已经提出了各种改进方法。例如在2010年6月2 日公告的发明专利CNlO 1719815A中提出一种VPN多路由网络加速方法,该方法提出同时连 接多个路由器,然后通过实时监测路由器并选择使用速度最快的路由器,以此实现稳定而 快速的网络传输。但是,这种方法依靠的仍然是单通道传输,速度提高有限。
发明内容
本发明的目的是提出一种基于并行TCP技术的广域网通信加速方法,从而有效减 少广域网数据传输的时间开销,加快文件和数据传输的速度。本发明的技术解决方案如下一种基于并行TCP技术的广域网通信加速方法,在本地局域网中,客户端与代理 服务器连接,在目标局域网中,代理客户端与服务器连接,其特征在于,代理客户端与服务 器通过基于会话池进行连接,所述的基于并行TCP技术的广域网应用加速方法具体包括以 下步骤步骤1 基于广域网环境,代理服务器端和客户端首先设置隧道的数目和隧道中 并行TCP连接的数目;然后,代理服务器端和客户端为各隧道分配缓存,在各隧道中建立起 并行TCP连接并注册侦听驱动事件;最后,代理服务器端和客户端创建隧道会话列表来实 现接入会话和隧道之间相互绑定,并加载隧道数据处理工具以完成会话数据和网间数据格 式的转化,至此就完成了并行TCP隧道的建立过程;步骤2 当代理服务器监听到本地局域网内的客户端向目标局域网内的服务器发 出会话连接请求,则代理服务器与代理客户端之间建立会话连接即第一会话连接;步骤3 客户端的会话数据由代理服务器转换成并行TCP隧道数据后通过并行TCP 隧道传送至代理客户端;步骤4 代理客户端将接收到的并行TCP隧道数据还原成对应的会话数据后,从会 话池中分配一个会话即第二会话连接将还原后的会话数据转发至服务器;
步骤5 来自服务器的回复数据再依次通过所述的第二会话连接、并行TCP隧道和 第一会话连接形成的通信通道返回到客户端;通信过程完成;所述的本地局域网为一个或多个,所述的目标局域网为一个或多个。对于步骤1中的代理服务器端和客户端首先设置隧道的数目和隧道中并行TCP连 接的数目,例如设置2条隧道分别用来数据和控制消息,而数据隧道中并行TCP连接数一般 设置为10,控制消息隧道中并行TCP连接数一般设置为1。客户端与代理服务器之间的连接以及代理客户端与服务器的连接为TCP连接、基 于TCP的HTTP连接或基于TCP的FTP连接。所述代理服务器是可进行数据转换/还原的NAT代理服务器或可以实现数据转换 /还原的智能代理服务器;现有的NAT代理服务器或智能代理服务器能实现传输数据的转换/还原,既能作 为代理服务端,将会话数据转换成并行TCP隧道数据封装块,又能作为代理客户端,将并行 TCP隧道数据封装块重组为会话数据。并行TCP隧道根据其包含的TCP连接的发送窗口大小和内核缓存数据量的多少实 现所述数据封装块在其各条TCP之间的智能分配。新会话首先激活了隧道中的一条TCP连接,如果该TCP连接的发送缓存队列不为 空,则先将其缓存的数据包发送完;当TCP连接的缓存队列为空时,则从新会话的下行缓存 队列摘取η (η为系统设置,建议设置为10。)个数据封装包到TCP连接的缓存,如果会话的 下行缓存队列的数据封装包数目大于n,则激活下一个TCP连接来分担下行缓存队列中数 据封装包的传送。这样,对于发送速率相对较大的TCP连接,就能更频繁地参与会话数据的 分配,并充分利用并行TCP连接的传输性能。所述的会话池是在系统启动时代理客户端和服务器之间建立的多条TCP连接。在每一个本地局域网中,代理服务器(4)为一台或多台,其中任一台代理服务器 (4)与一个或多个所述代理客户端(3)连接。有益效果本发明提出了一种基于并行TCP技术的广域网通信加速方法,当代理服务器监听 到本地局域网内的客户端向目标局域网内的服务器发出会话连接请求,则代理服务器与代 理客户端之间建立会话连接即第一会话连接;基于广域网环境,在代理服务器和代理客户 端之间建立并行TCP隧道;代理客户端与服务器通过基于会话池分配的会话连接即第二会 话连接进行连接;本地局域网中的客户端通过第一会话连接、并行TCP隧道和第二会话连 接形成的通信通道与目标局域网中的服务器进行数据通信。本发明应用代理通过数据转换 /还原将局域网内会话连接和广域网中并行TCP隧道对接起来,无须修改系统内核协议栈, 具体特点如下1.本发明将代理技术和并行TCP技术进行组合,在代理服务器和代理客户端之间 建立并行TCP隧道进行加速。相对于需要服务端和客户端的传输加速方法,本发明没有修 改服务端和客户端的内核协议栈和连接配置,因此不影响所代理对象的应用软件的使用;2.相对目前的单TCP连接传输技术,本发明利用多TCP连接并行传输,提高了广域 网数据传输速率。其中,针对大文件下载的典型网络应用,本发明大幅提高了广域网瓶颈带 宽的利用率;针对Web网页访问的典型网络应用,本发明大幅减少了连接建立和数据接收时间,减少了网页的下载时间。3.由于本发明对代理间并行TCP隧道和代理客户端与服务器之间会话池进行复 用,相对现有技术中客户端与服务器是在有通信需求后再建立单链路的会话连接,本发明 减少了跨局域网网间连接建立所耗费的时间,大大提高了 Web访问典型应用的网页下载速度。
图1为本发明系统地网络部署示意图。图2为本发明系统连接建立时序图。图3为本发明的客户端与服务器的交互时序图。图4为本发明的具体实施平台。图5为本发明的系统测试结果,该图显示了网络延时对有效吞吐量的影响。图6为本发明的系统测试结果,该图显示了并行TCP数对有效吞吐量的影响。图7为本发明的系统测试结果,该图显示了访问Web网页的下载时间及其细分。标号说明1_服务器,2-客户端,3-代理客户端,4-代理服务器,5-网关,8_会话 池,10-并行TCP隧道;11-普通TCP连接。
具体实施例方式以下将结合图和具体实施过程对本发明做进一步详细说明。实施例1 本发明的目的在于采用并行TCP技术,在不改变现有应用软件和系统内核协议栈 的情况下对应用协议进行优化。如图1所示,位于客户端2局域网内的,与客户端2建立会话连接的设备是代理服 务器4 ;位于服务器1端局域网内的,与服务器建立会话连接的设备是代理客户端3。一个 网络部署可以有多个代理服务器4和代理客户端3。代理服务器4和代理客户端3之间的 通信是通过网关5完成的,在广域网内建立并行TCP隧道10。代理可部署在网关5上,也可 以是网关之后的一台独立设备。代理服务器4与代理客户端3之间的数据传输可通过并行TCP隧道完成。代理服 务器和代理客户端通过并行TCP隧道来克服高带宽延时乘积带来的问题。如图3所示,本发明建立的连接通道包括客户端2与代理服务器4之间的会话连 接(普通TCP连接)、代理服务器4与代理客户端3之间的并行TCP隧道10以及代理客户 端3和服务器1之间的会话池8中会话连接(普通TCP连接)。结合图1,本发明包含的步骤如下步骤一,在各局域网代理节点之间建立一个或多个并行TCP隧道,用于代理服务 器4和代理客户端3之间的数据传输;步骤二,在代理服务器4上建立NAT代理,后续所有客户端对目的服务器的访问都 将被重定向到代理服务器4上的某个代理上;步骤三,创建代理客户端3和服务器1之间的会话池,维持一定数量的会话连接。步骤四,代理服务器接受来自客户端2的连接,在代理客户端3的会话池8中分配一个与之对应的“空闲”会话连接。步骤五,代理服务器4将接收到的会话数据转换成隧道数据,转交给已经建立的 并行TCP隧道进行传送。步骤六,代理服务器4的并行TCP隧道将隧道数据分配给其内部的各条TCP连接, 由这些TCP连接完成隧道数据的传送。步骤七,代理客户端3接收到来自代理服务器4的隧道数据之后,进行数据还原, 转交给相应会话连接传送给服务器1。步骤八,代理客户端3接收到服务器1的回复数据,经过数据转换后通过并行TCP 隧道传送给代理服务器4,再经过数据还原后,传送给相应的客户端2。代理客户端3和代理服务器4均为软件实现,既可以集成在现有的网关中,也可以 是一个单独的设备,具体的实施步骤如下步骤一,根据网络结构和应用要求,配置各代理节点的配置,如本端的代理IP地 址和端口号、最大接入客户端数目、并行TCP隧道中TCP连接的数目等;步骤二,启动后,代理根据配置建立代理间的并行TCP隧道,用于代理服务器与代 理客户端之间的数据传输;步骤三,代理客户端与服务器之间建立会话池,维护一定数目会话连接,以备复 用;步骤四,代理服务器建立NAT代理,启动监听端口,监听客户端连接;步骤五,若代理服务器接收到客户端的连接请求,提供一个唯一的会话号来标识 此连接请求,然后根据请求的服务器IP地址将此会话连接与相应的并行TCP隧道绑定,将 此会话连接添加到相应隧道的会话列表中,发送一个分配会话消息到相应的代理客户端, 分配会话消息包括会话号,以保证代理客户端分配正确的会话连接转发数据;步骤六,代理客户端从隧道中接收到分配会话消息后,将根据唯一的会话号从会 话池中分配相应的会话连接,并将其与相应隧道实现绑定,并添加到该隧道的会话列表中, 标识该会话连接的状态为“忙”,修改会话池中“空闲”会话连接的数量;此时客户端和服务 器之间便可进行数据通信;步骤七,若代理接收到会话数据,则将会话数据转换成隧道数据,转交给与之绑定 的并行TCP隧道传送给对端代理;步骤八,若代理接收到隧道数据,则将隧道数据还原成会话数据;根据会话号,将 会话数据转发给相应的会话连接;步骤九,若客户端正常或异常关闭连接,则在代理服务器上同步清除相应会话和 会话号,在代理客户端上同步重置相应会话连接为“空闲”状态,收回相应会话连接到连接 池里,以备复用。下面以数据传输实例来说明本发明,包括连接过程和交互过程,其中(一 )连接过程,具体如图2所示,包括步骤101)客户端2向代理服务器4发送连接请求;102)代理服务器4回送连接成功响应;103)代理服务器4创建会话,标识会话状态为连接中;104)代理服务器4向代理客户端3发送分配会话请求;
105)代理客户端3分配一个会话连接;
106)代理客户端3向代理服务器4返回分配会话的结果;
107)更改代理服务器4创建会话状态为已连接。
(二)交互过程,具体如图3所示,包括步骤
201)客户端2向代理服务器4提交请求;
202)代理服务器4将会话数据转换成隧道数据;
203)代理服务器4向代理客户端3传送该请求;
204)代理客户端3将隧道数据还原成会话数据;
205)代理客户端3向服务器1发送该请求;
206)服务器1处理该请求;
207)服务器1向代理客户端3返回处理结果;
208)代理客户端3将会话数据转换成隧道数据;
209)代理客户端3向代理服务器4传送结果;
210)代理服务器4将隧道数据还原成会话数据;
211)代理服务器4向客户端2发送结果。
系统测试分析
系统测试是在实验室里搭建的测试床上进行的,如图4所示,网关主机配置Linux
2. 6内核,用WANem模拟广域网,用iperf来生成TCP背景流。在100M的瓶颈带宽环境下, 分别对系统进行大文件传输测试和Web网页访问测试。如图4所示,客户端1通过客户端网关5、路由器和服务器端网关访问Web服务器 2上的网站,形成数据流101和数据流102。客户端3和客户端4用于生成背景流数据流 103,测试中若无特别说明,背景流数据流103是由iperf生成的由客户端4到客户端3的4 条持续TCP流组成,背景流不经过加速网关系统。加速网关系统部署在客户端网关5和服 务器端网关两台主机上。路由器上运行WANem软件模拟广域网的带宽和时延,和瓶颈链路 13、14一起构成测试床的广域网部分。根据设计需求,分别对系统做了大文件下载和Web网 页访问两种实际环境中的性能测试。1.大文件传输测试大文件传输测试的目的是测试并行TCP在高带宽长时延的广域网中对文件传输 的加速效果,带宽利用率是这个测试关注的性能指标。测试方案广域网网络延时依次设置为10ms、20ms、50ms和100ms,加速网关系统 设置并行TCP数为4条,分别在有无背景流的情况下,完成客户端1从Web服务器2下载 55MB文件的任务,测试部署加速网关系统前后下载吞吐率,如图5所示。从图5中可以看到,在部署加速网关系前,在无背景流的网络环境中,随着网络时 延的增加,瓶颈链路的带宽有效利用率逐渐下降,由IOms时的25Mbps降低到IOOms时的 5Mbps。可见,网络延时对瓶颈带宽利用率的影响是很严重的,增加了背景流后的瓶颈链路 的带宽有效利用率更差。在部署加速网关系统之后,无论有无背景流,瓶颈链路带宽的有效利用率都得到 了提高。特别是在有背景流的网络环境中,瓶颈链路带宽的有效利用率得到了显著提高。这 说明了并行TCP传输在高带宽长时延的广域网中具有更好的带宽利用率。
为了测试并行TCP数目的变化对瓶颈链路带宽利用率的影响,对系统做了进一步 的测试。将背景流的条数由4条增加到8条,系统并行TCP数目依次设置为1、2、4和8,完 成55MB文件的下载任务,测试瓶颈链路的有效带宽利用率,如图6所示。从图6中可以看出,随着加速网关系统设置的并行TCP数目的增加,有效吞吐率也 随之增加。这说明并行TCP具有较强的带宽抢占能力,起到很好的加速效果。2. Web网页访问测试Web网页访问测试指标是Web网页下载时间,主要考虑到Web访问的数据量较小, 对带宽要求不高,网页下载时间则是一个关键指标。网页下载时间在这个实验测试中主要 包括三部分,分别是连接时间、第一次缓冲时间和接收时间。测试方案广域网瓶颈带宽设置为100M,网络延时设置为100ms,分别在有无背景 流网络环境中,在启用加速网关的前后,对Web访问的平均响应时间进行测试。下载网页的 大小为3,126Bytes。为了避免系统所带来的随机性,测试结果是多次测试结果的平均值,如 图7所示。在实验中,Web访问测试采用了 LoadRurmer测试工具,录制了特定的测试脚本, 实现了测试方案的可重复性,并对测试做出了准确的结果分析。从图7中可以看出,在部署加速网关之前,在添加背景流前后,网页下载时间增长 200ms左右,其他的细分分量都有相应增加。这说明了添加背景流对Web网页访问的效率是 有影响的。在无背景流的情况下,部署加速网关明显减少了网页下载时间,在其三个细分分 量中,连接时间减少到几乎为零,这是因为部署加速网关前,连接时间是指客户端1经过客 户端网关5、路由器和服务器端网关与Web服务器2建立连接花费的时间,经历了模拟广域 网的网络时延;部署加速网关后,连接时间是指客户端1与客户端网关5建立连接的时间, 这个连接的建立过程是在局域网内完成的,网关间的连接和服务器端网关与Web服务器2 的连接是在网关系统启动时建立好的,因此,从用户角度看,大大节省了连接建立的时间。第一次缓冲时间稍有增加是因为在网关系统将客户端1和服务器2的数据截获至 应用层,进行封装和解封处理,并完成转发这些环节上。接收时间明显减少是因为所请求的 数据由并行TCP隧道负责在网域网传输并缓存在客户端网关5上。综上所述,针对要解决的网络应用环境所存在的问题,对于文件传输应用,并行 TCP加速系统提高了对广域网瓶颈带宽的利用率,提高了数据的传输性能;对于Web网页访 问应用,并行TCP加速系统减少了网页下载时间。可见,该加速方案对这两大互联网应用都 具有很好的加速效果。
8
权利要求
一种基于并行TCP技术的广域网通信加速方法,在本地局域网中,客户端(2)与代理服务器(4)连接,在目标局域网中,代理客户端(3)与服务器(1)连接,其特征在于,代理客户端与服务器通过基于会话池(8)进行连接,所述的基于并行TCP技术的广域网应用加速方法具体包括以下步骤步骤1基于广域网环境,代理服务器端和客户端首先设置隧道的数目和隧道中并行TCP连接的数目;然后,代理服务器端和客户端为各隧道分配缓存,在各隧道中建立起并行TCP连接并注册侦听驱动事件;最后,代理服务器端和客户端创建隧道会话列表来实现接入会话和隧道之间相互绑定,并加载隧道数据处理工具以完成会话数据和网间数据格式的转化,至此就完成了并行TCP隧道的建立过程;步骤2当代理服务器监听到本地局域网内的客户端向目标局域网内的服务器发出会话连接请求,则代理服务器与代理客户端之间建立会话连接即第一会话连接;步骤3客户端的会话数据由代理服务器转换成并行TCP隧道数据后通过并行TCP隧道传送至代理客户端;步骤4代理客户端将接收到的并行TCP隧道数据还原成对应的会话数据后,从会话池(8)中分配一个会话即第二会话连接将还原后的会话数据转发至服务器;步骤5来自服务器的回复数据再依次通过所述的第二会话连接、并行TCP隧道和第一会话连接形成的通信通道返回到客户端;通信过程完成;所述的本地局域网为一个或多个,所述的目标局域网为一个或多个。
2.根据权利要求1所述的基于并行TCP技术的广域网通信加速方法,其特征在于,客 户端(2)与代理服务器(4)之间的连接以及代理客户端(3)与服务器(1)的连接为TCP连 接、基于TCP的HTTP连接或基于TCP的FTP连接。
3.根据权利要求1所述的基于并行TCP技术的广域网通信加速方法,其特征在于,所述 代理服务器(4)是可进行数据转换/还原的NAT代理服务器或可以实现数据转换/还原的 智能代理服务器。
4.根据权利要求1所述的基于并行TCP技术的广域网通信加速方法,其特征在于,并行 TCP隧道根据其包含的TCP连接的发送窗口大小和内核缓存数据量的多少实现所述数据封 装块在其各条TCP之间的智能分配。
5.根据权利要求1所述的基于并行TCP技术的广域网通信加速方法,其特征在于,所述 的会话池是在系统启动时代理客户端和服务器之间建立的多条TCP连接。
6.根据权利要求1-5任一项所述的基于并行TCP技术的广域网通信加速方法,其特征 在于,在每一个本地局域网中,代理服务器(4)为一台或多台,其中任一台代理服务器(4) 与一个或多个所述代理客户端(3)连接。
全文摘要
本发明提出了一种基于并行TCP技术的广域网通信加速方法,当代理服务器监听到本地局域网内的客户端向目标局域网内的服务器发出会话连接请求,则代理服务器与代理客户端之间建立会话连接即第一会话连接;基于广域网环境,在代理服务器和代理客户端之间建立并行TCP隧道;代理客户端与服务器通过基于会话池分配的会话连接即第二会话连接进行连接;本地局域网中的客户端通过第一会话连接、并行TCP隧道和第二会话连接形成的通信通道与目标局域网中的服务器进行数据通信。本发明能有效减少广域网数据传输的时间开销,加快文件和数据传输的速度。
文档编号H04L29/06GK101977234SQ20101052860
公开日2011年2月16日 申请日期2010年11月2日 优先权日2010年11月2日
发明者王建新, 盛羽, 郭振华 申请人:中南大学