网络加速方法、装置及系统技术领域
本发明实施例涉及通信技术,尤其涉及一种网络加速方法、装置及系统。
背景技术
现有技术中,客户端通常通过传输控制协议(Transmission Control
Protocol,简称TCP)代理服务器与服务端建立连接,实现客户端和服务端之
间的数据交互。TCP代理服务器可以通过单边加速或双边加速实现数据传输
性能的提高。
但在上述实现过程中,TCP代理服务器需要分别与客户端和服务端建立
TCP连接,客户端发送给服务端的数据包通过TCP代理服务器进行转发,TCP
代理服务器还需要对接收到的数据包进行网络地址转换,而且TCP代理服务
器不能实现单边加速和双边加速的自动切换。
发明内容
本发明实施例提供一种网络加速方法、装置及系统,以避免设置TCP代
理服务器而进行的多次TCP连接,实现单边加速和双边加速的自动透明切换。
本发明实施例提供一种网络加速方法,包括:
截获第二传输控制协议TCP数据包,判断所述第二TCP数据包中是否包
含支持加速的标识信息,得到第一判断结果,并记录所述第一判断结果;
截获第一TCP数据包,通过查询所述第一判断结果判断记录的所述第二
TCP数据包中是否包含支持加速的标识信息,若是,则对所述第一TCP数据
包进行双边加速,然后发往所述第一TCP数据包对应的目的端;若否,则对
所述第一TCP数据包进行单边加速,然后发往所述第一TCP数据包对应的目
的端;
其中,所述第二TCP数据包对应的源端方向为所述第一TCP数据包对应
的目的端方向。
本发明实施例还提供一种网络加速方法,包括:
在第一次截获TCP数据包的时候,在TCP数据包中添加表示本地支持加
速的标识信息,并将添加所述标识信息的TCP数据包发往所述截获的TCP
数据包对应的目的端;
截获TCP数据包时,判断TCP数据包是否包含支持加速的标识信息,将
判断结果进行记录。
本发明实施例提供一种网络加速装置,包括:
第一判断模块,用于截获第二传输控制协议TCP数据包,判断所述第二
TCP数据包中是否包含支持加速的标识信息,得到第一判断结果,并记录所
述第一判断结果;
第一处理模块,用于截获第一TCP数据包,通过查询所述第一判断结果
判断记录的所述第二TCP数据包中是否包含支持加速的标识信息,若是,则
对所述第一TCP数据包进行双边加速处理,然后发往所述第一TCP数据包对
应的目的端;若否,则对所述第一TCP数据包进行单边加速处理,然后发往
所述第一TCP数据包对应的目的端;
其中,所述第二TCP数据包对应的源端方向为所述第一TCP数据包对应
的目的端方向。
本发明实施例提供一种网络加速装置,包括:
标识添加模块,用于在第一次截获TCP数据包的时候,在TCP数据包中
添加表示本地支持加速的标识信息,并将添加所述标识信息的TCP数据包发
往所述截获的TCP数据包对应的目的端;
记录模块,用于截获TCP数据包时,判断TCP数据包是否包含支持加速
的标识信息,将判断结果进行记录。
本发明实施例提供一种网络加速系统,包括客户端和服务端,还包括:
本发明实施例提供的网络加速装置;
所述客户端向所述服务端发送第一传输控制协议TCP数据包;
所述服务端向所述客户端发送第二TCP数据包。
由上述技术方案可知,本发明实施例提供的网络加速方法、装置及系统,
网络加速装置通过判断所接收的TCP数据包中是否包含支持加速的标识,可
以判断在所接收的TCP包的目的端和本网络加速装置之间,是否存在其他网
络加速装置,并根据判断结果对数据包进行处理。实现了根据第一TCP数据
包对应的目的端的网络加速支持情况,选择双边加速或单边加速,实现了单
边加速和双边加速的自动透明切换,避免设置TCP代理服务器而需要进行的
多次TCP连接所带来的复杂性,也无需对TCP数据包进行网络地址转换,提
高了网络传输性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实
施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下
面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在
不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络加速方法流程图;
图2为本发明实施例提供的另一种网络加速方法流程图;
图3为本发明实施例提供的一种网络加速装置结构示意图;
图4为本发明实施例提供的另一种网络加速装置结构示意图;
图5为本发明实施例五提供的网络加速系统结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发
明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,
显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获
得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种网络加速方法流程图。如图1所示,本
实施例提供的网络加速方法具体可以应用于对源端和目的端交互的数据加速
传输的过程,可以通过网络加速装置来执行,该网络加速装置可以单独,也
可以设置在位于源端和目的端传输路径中的网元设备中,该网元设备例如为
路由器、交换机或网桥设备等。
本实施例提供的网络加速方法具体包括:
步骤10、截获第二传输控制协议TCP数据包,判断第二TCP数据包中
是否包含支持加速的标识信息,得到第一判断结果,并将第一判断结果进行
记录;
步骤20、截获第一TCP数据包,通过查询第一判断结果判断记录的第二
TCP数据包中是否包含支持加速的标识信息,若是,则对第一TCP数据包进
行双边加速,然后发往第一TCP数据包对应的目的端;若否,则对第一TCP
数据包进行单边加速,然后发往所述第一TCP数据包对应的目的端;
其中,第二TCP数据包对应的源端方向为第一TCP数据包对应的目的端
方向。
需要说明的是,本发明实施例中,源端方向和目的端方向,仅指被处理
的报文所来自和发往的方向,并不涉及报文自身的源端和目的端的所具有的
具体位置关系。换句话说,第二TCP数据包对应的源端不一定就是第一TCP
数据包对应的目的端,本实施例中,第二TCP数据包对应的源端方向为第一
TCP数据包对应的目的端方向,仅强调针对一个网络加速装置来讲,被截获
的第二TCP数据包和被截获的第一TCP数据包发送、接收的方向相反;本发
明其他装置实施例及方法实施例中存在同样情形,为简介起见不再赘述。
可选的,在所述将第一TCP数据包进行双边或单边加速后发往所述第一
TCP数据包对应的目的端之前,还包括在所述第一TCP数据包中,添加表示
本地支持加速的标识信息。
具体地,进行数据交互的两个对端可以分别为源端和目的端,如客户端
和服务端,根据信息交互的实际情况,也可以将客户端作为是目的端,服务
器端作为是源端,本实施例,仅以客户端为源端,服务器端为目的端为例。
客户端需要和服务端建立TCP连接时,客户端和服务端进行多次握手以实现
TCP连接,TCP连接建立后,客户端和服务端就可以进行通信。不论在客户
端和服务端建立TCP连接过程中交互的数据包,还是在建立连接后正常的通
信过程中交互的数据包,均可以为该TCP数据包。
网络加速装置截获客户端和服务端通信过程中传输的TCP数据包。第一
TCP数据包可以为客户端向服务端发送的数据包,则该第一TCP数据包对应
的源端为客户端,该第一TCP数据包对应的目的端为服务端。第二TCP数据
包具体可以为服务端向客户端发送的数据包,则该第二TCP数据包对应的源
端为服务端,该第二TCP数据包对应的目的端为客户端,该第二TCP数据包
对应的源端为第一TCP数据包对应的目的端。以下为了描述方便,将执行该
网络加速方法称为网络加速装置A。
网络加速装置A截获该第二TCP数据包,判断第二TCP数据包中是否
包含支持加速的标识信息,得到第一判断结果,并将第一判断结果进行记录。
若截获的第二数据包中包含支持加速的标识信息,则可判断该第二TCP数据
包在传输过程中经过前一个装置时被前面装置添加了支持加速的标识以标识
所述前一个装置支持加速,也就可以知道截获的第二TCP数据包已经经过其
他网络加速装置转发,即该网络加速装置A与服务端之间还存在其他网络加
速装置。若第二TCP数据包中包含该支持加速的标识信息,则该第一判断结
果就表示:在第二TCP数据包的源端方向,网络加速装置A之前的装置支持
网络加速,也就是说,第一判断结果可以包括指示网络加速装置A与源端(也
就是本实施例中的服务器端)之间存在其他网络加速装置的指示信息以及该
支持加速的标识信息,支持加速的标识信息可以包括添加该支持加速的标识
信息的网络加速装置的协议支持信息和算法支持信息等。若第二TCP数据包
中不包含该支持加速的标识信息,则同理,该第一判断结果可以包括指示网
络加速装置A与服务端之间不存在其他网络加速装置的指示信息。
网络加速装置A截获第一TCP数据包,在第一TCP数据包中,添加表
示本地支持加速的标识信息,该表示本地支持加速的标识信息具体可以包括
本地协议支持信息和算法支持信息。当网络加速装置A和服务端之间还存在
其他网络加速装置时,其他网络加速装置可以从截获到的第一TCP数据包中
获取该支持加速的标识信息,以获知网络加速装置A的协议支持情况和算法
支持情况。
网络加速装置A通过查询记录的第一判断结果判断对端是否支持加速,
具体地,若第一判断结果包括指示网络加速装置A与服务端之间存在其他网
络加速装置的指示信息以及该支持加速的标识信息,则说明网络加速装置A
与服务端之间还存在其他网络加速装置,可以与网络加速装置A配合实现双
边加速,则可以对第一TCP数据包进行双边加速处理后转发给第一TCP数据
包对应的目的端。若第一判断结果包括指示网络加速装置A与服务端之间不
存在其他网络加速装置的指示信息,则说明网络加速装置A与服务端之间不
存在其他网络加速装置,不能与网络加速装置A配合实现双边加速,只能实
现单边加速,则对添加标识后的第一TCP数据包进行单边加速处理后转发给
第一TCP数据包对应的目的端。
在客户端和服务端的通信过程中,客户端和服务端并不需要知道该网络
加速装置的存在,即该网络加速装置相对于二者是透明的。客户端不需要先
与网络加速装置建立TCP连接,网络加速装置再与服务端建立TCP连接。客
户端向服务端发送的TCP数据包的包头中可以包括源地址和目的地址,源地
址即为客户端的地址,目的地址即为服务端的地址。网络加速装置可以根据
截获到的TCP数据包中的目的地址实现对该TCP数据包进行转发。本实施例
提供的网络加速方法,网络加速装置通过判断所接收的TCP数据包中是否包
含支持加速的标识,可以判断在所接收的TCP包的目的端和本网络加速装置
之间,是否存在其他网络加速装置,并根据判断结果对数据包进行处理。实
现了根据TCP数据包对应的目的端的网络加速支持情况,选择双边加速或单
边加速,实现了单边加速和双边加速的自动透明切换,避免设置TCP代理服
务器而需要进行的多次TCP连接所带来的复杂性,也无需对TCP数据包进行
网络地址转换,提高了网络传输性能。
当然,为实现发明目的,网络加速装置可以在第一次截获TCP数据包的
时候,在TCP数据包中添加表示本地支持加速的标识信息,并将添加所述标
识信息的TCP数据包发往所述截获的TCP数据包对应的目的端;任何一次截
获TCP数据包时,都可以判断TCP数据包是否包含支持加速的标识信息,并
将所截获的TCP数据包中是否包含有支持加速的标识信息进行记录。
因此,本发明还提供一种网络加速方法,包括:
在第一次截获TCP数据包的时候,在TCP数据包中添加表示本地支持加
速的标识信息,并将添加标识信息的TCP数据包发往截获的TCP数据包对应
的目的端;
截获TCP数据包时,判断TCP数据包是否包含支持加速的标识信息,将
判断结果进行记录。其中,所提到的记录可以包括对原有判断结果进行更新。
图2为本发明实施例提供的另一种网络加速方法流程图。如图2所示,
在本实施例中,步骤20中的,在将第一TCP数据包进行双边或单边加速后
发往第一TCP数据包对应的目的端之前,还包括在第一TCP数据包中,添加
表示本地支持加速的标识信息。
在本实施例中,步骤20中的,在第一TCP数据包中,添加表示本地支
持加速的标识信息,具体可以包括如下步骤:
若判断获知第一TCP数据包中包含了支持加速的标识信息,则将表示本
地支持加速的标识信息替换第一TCP数据包中已包含的支持加速的标识信
息;若判断获知第一TCP数据包中没有包含了支持加速的标识信息,则在第
一TCP数据包中,则直接增加该表示本地支持加速的标识信息。
若第一TCP数据包中已经包含了支持加速的标识信息,则将该支持加速
的标识信息替换成表示本地支持加速的标识信息,当不同的网络加速装置添
加的支持加速的标识信息可以区分时,也可以将表示本地支持加速的标识信
息直接增加到第一TCP数据包。若第一TCP数据包中没有包含了支持加速的
标识信息,则直接增加该表示本地支持加速的标识信息。
进一步地,在本实施例中,步骤20中的,截获第一TCP数据包之后,
还可以包括如下步骤:
步骤30、判断第一TCP数据包中是否包含支持加速的标识信息,得到第
二判断结果,并将第二判断结果进行记录;
步骤40、在第二TCP数据包中,添加表示本地支持加速的标识信息,通
过查询记录的第二判断结果判断对端是否支持加速的,若是,则对添加标识
后的第二TCP数据包进行双边加速处理后转发给第二TCP数据包对应的目的
端;若否,则对添加标识后的第二TCP数据包进行单边加速处理后转发给第
二TCP数据包对应的目的端。
网络加速装置A判断第一TCP数据包中是否包含支持加速的标识信息,
得到第二判断结果,并将第二判断结果进行记录。支持加速的标识信息具体
用以指示该第一TCP数据包在传输过程中已经经过其他网络加速装置转发,
即该网络加速装置A与客户器之间还存在其他网络加速装置。若第一TCP数
据包中包含该支持加速的标识信息,则该第二判断结果可以包括指示网络加
速装置A与客户端之间存在其他网络加速装置的指示信息以及该支持加速的
标识信息,支持加速的标识信息可以包括添加该支持加速的标识信息的网络
加速装置的协议支持信息和算法支持信息等。若第一TCP数据包中不包含该
支持加速的标识信息,则该第二判断结果可以包括指示网络加速装置A与客
户端之间不存在其他网络加速装置的指示信息。
网络加速装置A在第二TCP数据包中,添加表示本地支持加速的标识信
息,该表示本地支持加速的标识信息具体可以包括本地协议支持信息和算法
支持信息。当网络加速装置A和客户端之间还存在其他网络加速装置时,其
他网络加速装置可以从截获到的第二TCP数据包中获取该支持加速的标识信
息,以获知网络加速装置A的协议支持情况和算法支持情况。
网络加速装置A通过查询记录的第二判断结果判断对端是否支持加速,
具体地,若第二判断结果包括指示网络加速装置A与客户端之间存在其他网
络加速装置的指示信息以及该支持加速的标识信息,则说明网络加速装置A
与客户端之间还存在其他网络加速装置,可以与网络加速装置A配合实现双
边加速,则可以根据该第二判断结果中的支持加速的标识信息则对添加标识
后的第二TCP数据包进行双边加速处理后转发给第二TCP数据包对应的目的
端。若第二判断结果包括指示网络加速装置A与客户端之间不存在其他网络
加速装置的指示信息,则说明网络加速装置A与客户端之间不存在其他网络
加速装置,不能与网络加速装置A配合实现双边加速,只能实现单边加速,
则对添加标识后的第二TCP数据包进行单边加速处理后转发给第二TCP数据
包对应的目的端。
优选地,在本实施例中,步骤20中的,对第一TCP数据包进行双边加
速,然后发往第一TCP数据包对应的目的端,具体可以包括如下步骤:
对第一TCP数据包进行协议配合处理和/或压缩处理,根据TCP拥塞控
制算法将处理后的第一TCP数据包发送给第一TCP数据包对应的目的端;
具体地,网络加速装置A可以通过查询第一判断结果获知支持加速的标
识信息,该支持加速的标识信息可以包括网络加速装置的协议支持信息和算
法支持信息等信息,则可以对添加标识后的第一TCP数据包进行相应的协议
配合处理和/或压缩处理,根据TCP拥塞控制算法将协议配合处理和/或压缩
处理后的第一TCP数据包发送给第一TCP数据包对应的目的端。
步骤20中的,对第一TCP数据包进行单边加速,然后发往第一TCP数
据包对应的目的端,具体可以包括如下步骤:
根据TCP拥塞控制算法将第一TCP数据包发送给第一TCP数据包对应
的目的端。
具体地,对第一TCP数据包进行压缩处理,可以缩小第一TCP数据包的
占用空间,可以降低传输过程中所占用的带宽资源。拥塞处理算法可以基于
TCP窗口扩展和慢启动来实现。
在本实施例中,对第二TCP数据包进行双边加速处理后转发给第二TCP
数据包对应的目的端也可以采用相同方式来实现,此不再赘述。
本实施例提供了一种双边加速和单边加速的具体实现方式,应当理解的
是,本领域技术人员还可以通过其他现有的双边加速和单边加速的方法来实
现。
在本实施例中,步骤20中的,在第一TCP数据包中,添加表示本地支
持加速的标识信息,具体可以包括如下步骤:
将表示本地支持加速的标识信息添加到第一TCP数据包的包头中。
进一步地,在本实施例中,步骤20中的,截获第一TCP数据包之后,
在第一TCP数据包中,添加表示本地支持加速的标识信息之前,具体还可以
包括如下步骤:
通过查询记录的第二判断结果判断第一TCP数据包是否已经经过网络加
速装置转发,若是,则若判断获知第一TCP数据包中包含的支持加速的标识
信息用以指示第一TCP数据包已经过压缩处理,则对第一TCP数据包进行解
压缩处理;
网络加速装置A若通过查询记录的第二判断结果获知支持加速的标识信
息,支持加速的标识信息包括压缩算法支持信息,说明第一TCP数据包在经
过之前的网络加速装置转发时首先进行了压缩处理,则相应地网络加速装置
A对第一TCP数据包进行解压缩处理。
截获第二传输控制协议TCP数据包之后,在第二TCP数据包中,添加表
示本地支持加速的标识信息之前,还包括:
通过查询记录的第一判断结果判断第二TCP数据包是否已经经过网络加
速装置转发,若是,则若判断获知第二TCP数据包中包含的支持加速的标识
信息用以指示第二TCP数据包已经过压缩处理,则对第二TCP数据包进行解
压缩处理。
网络加速装置A若通过查询记录的第以判断结果获知支持加速的标识信
息,支持加速的标识信息包括压缩算法支持信息,说明第二TCP数据包在经
过之前的网络加速装置转发时首先进行了压缩处理,则相应地网络加速装置
A对第二TCP数据包进行解压缩处理。
进一步地,在本实施例中,该网络加速方法还可以包括如下步骤:
通过查询记录的第二判断结果判断第一TCP数据包是否已经经过网络加
速装置转发,若是,则若判断获知第一TCP数据包中包含的支持加速的标识
信息用以指示转发第一TCP数据包的网络加速装置的传输协议,根据传输协
议进行协议配合,截获用以转发第一TCP数据包的网络加速装置转发的其他
TCP数据包;
通过查询记录的第一判断结果判断第二TCP数据包是否已经经过网络加
速装置转发,若是,则若判断获知第二TCP数据包中包含的支持加速的标识
信息用以指示转发第二TCP数据包的网络加速装置的传输协议,根据传输协
议进行协议配合,截获用以转发第二TCP数据包的网络加速装置转发的其他
TCP数据包。
网络加速装置A通过查询记录的第二判断结果判断第一TCP数据包是否
已经经过网络加速装置转发,若判断获知第一TCP数据包中包含的支持加速
的标识信息用以指示转发第一TCP数据包的网络加速装置的传输协议,则网
络加速装置A根据传输协议进行协议配合,截获用以转发第一TCP数据包的
网络加速装置转发的其他TCP数据包。
网络加速装置A通过查询记录的第一判断结果判断第二TCP数据包是否
已经经过网络加速装置转发,若判断获知第二TCP数据包中包含的支持加速
的标识信息用以指示转发第二TCP数据包的网络加速装置的传输协议,则网
络加速装置A根据传输协议进行协议配合,截获用以转发第二TCP数据包的
网络加速装置转发的其他TCP数据包。
值得注意的是,网络加速装置对截获到的第一TCP数据包的加速转发处
理过程和对截获到的第二TCP数据包的加速转发处理过程并不具有必然的时
序关系,可以同时进行。
图3为本发明实施例提供的一种网络加速装置结构示意图。如图3所示,
本实施例提供的网络加速装置具体可以实现本发明任意实施例提供的网络加
速方法的各个步骤,此不再赘述。
本实施例提供的网络加速装置具体包括第一判断模块11和第一处理模
块12。第一判断模块11用于截获第二传输控制协议TCP数据包,判断第二
TCP数据包中是否包含支持加速的标识信息,得到第一判断结果,并记录第
一判断结果。第一处理模块12用于截获第一TCP数据包,通过查询判断记
录的第二TCP数据包中是否包含支持加速的标识信息,,若是,则对第一TCP
数据包进行双边加速处理,然后发往第一TCP数据包对应的目的端;若否,
则对第一TCP数据包进行单边加速处理,然后发往第一TCP数据包对应的目
的端。其中,第二TCP数据包对应的源端方向为第一TCP数据包对应的目的
端方向。
本实施例提供的网络加速装置,网络加速装置通过判断所接收的TCP数
据包中是否包含支持加速的标识,可以判断在所接收的TCP包的目的端和本
网络加速装置之间,是否存在其他网络加速装置,并根据判断结果对数据包
进行处理。实现了根据TCP数据包对应的目的端的网络加速支持情况,选择
双边加速或单边加速,实现了单边加速和双边加速的自动透明切换,避免设
置TCP代理服务器而需要进行的多次TCP连接所带来的复杂性,也无需对
TCP数据包进行网络地址转换,提高了网络传输性能。
图4为本发明实施例提供的另一种网络加速装置结构示意图。如图4所
示,在本实施例中,该网络加速装置还可以包括第一添加模块13,第一添加
模块13用于第一处理模块将第一TCP数据包进行双边或单边加速后发往第
一TCP数据包对应的目的端之前,在第一TCP数据包中,添加表示本地支持
加速的标识信息。
在本实施例中,第一添加模块13具体可以用于判断获知第一TCP数据
包中包含了支持加速的标识信息,则将表示本地支持加速的标识信息替换第
一TCP数据包中已包含的支持加速的标识信息;若判断获知第一TCP数据包
中没有包含了支持加速的标识信息,则在第一TCP数据包中,直接增加表示
本地支持加速的标识信息。
进一步地,在本实施例中网络加速装置还包括第二判断模块14、第二处
理模块15和第二添加模块16。第二判断模块14用于判断第一TCP数据包中
是否包含支持加速的标识信息,得到第二判断结果,并将第二判断结果进行
记录。第二处理模块15用于通过查询记录的第二判断结果判断对端是否支持
加速的,若是,则对添加标识后的第二TCP数据包进行双边加速处理后转发
给第二TCP数据包对应的目的端;若否,则对添加标识后的第二TCP数据包
进行单边加速处理后转发给第二TCP数据包对应的目的端。第二添加模块16
用于在第二TCP数据包中,添加表示本地支持加速的标识信息。
在本实施例中,第一添加模块13具体可以用于将表示本地支持加速的标
识信息添加到第一TCP数据包的包头中。第二添加模块16具体可以用于将
表示本地支持加速的标识信息添加到第一TCP数据包的包头中。
本发明实施例提供一种网络加速装置,该网络加速装置包括标识添加模
块和记录模块。标识添加模块。用于在第一次截获TCP数据包的时候,在TCP
数据包中添加表示本地支持加速的标识信息,并将添加所述标识信息的TCP
数据包发往所述截获的TCP数据包对应的目的端。记录模块用于截获TCP
数据包时,判断TCP数据包是否包含支持加速的标识信息,将判断结果进行
记录。
图5为本发明实施例五提供的网络加速系统结构示意图。如图5所示,
本实施例提供的网络加速系统包括客户端21和服务端22,还包括至少一个
本发明任意实施例提供的网络加速装置。客户端21向服务端22发送第一传
输控制协议TCP数据包,服务端22向客户端21发送第二TCP数据包。该网
络加速装置用于截获第二传输控制协议TCP数据包,判断第二TCP数据包中
是否包含支持加速的标识信息,得到第一判断结果,并将第一判断结果进行
记录;截获第一TCP数据包,通过查询记录的第一判断结果判断对端是否支
持加速,若是,则对添加标识后的第一TCP数据包进行双边加速处理后转发
给第一TCP数据包对应的目的端;若否,则对添加标识后的第一TCP数据包
进行单边加速处理后转发给第一TCP数据包对应的目的端;在第一TCP数据
包中,添加表示本地支持加速的标识信息;其中,第二TCP数据包对应的源
端为第一TCP数据包对应的目的端。
以下以客户端21和服务端22设置有三个网络加速装置为例,对本实施
例提供的网络加速系统的工作流程做详细说明。
该三个网络加速装置分别为第一网络加速装置231、第二网络加速装置
232和第三网络加速装置233,第一网络加速装置231、第二网络加速装置232
和第三网络加速装置233分别截获客户端21和服务端22交互过程中传输的
TCP数据包。对于客户端21和服务端22建立TCP连接过程中交互的数据包,
第一网络加速装置231、第二网络加速装置232和第三网络加速装置233可
以只在不存在支持加速的标识信息的TCP数据包的包头中添加表示本地支持
加速的标识信息,不进行加速处理后直接转发。对于客户端21和服务端22
建立TCP连接后正常通讯过程中交互的数据包,第一网络加速装置231、第
二网络加速装置232和第三网络加速装置233分别进行以下处理:
第一网络加速装置231分别截获第一TCP数据包和第二TCP数据包,分
别对第一TCP数据包和第二TCP数据包的包头进行解析,第一TCP数据包
的包头中不存在支持加速的标识信息,第二TCP数据包的包头中存在支持加
速的标识信息。第一网络加速装置231在该第一TCP数据包的包头中添加表
示本地支持加速的标识信息,将添加标识后的第一TCP数据包进行双边加速
转发。第一网络加速装置231对第二TCP数据包进行相应地处理,将表示本
地支持加速的标识信息替换第二TCP数据包的包头中已有的支持加速的标识
信息,将添加标识后的第二TCP数据包进行单边加速转发。
第二网络加速装置232分别截获第一TCP数据包和第二TCP数据包,分
别对第一TCP数据包和第二TCP数据包的包头进行解析,第一TCP数据包
和第二TCP数据包的包头均存在支持加速的标识信息。第二网络加速装置
232对第一TCP数据包进行相应地处理,将表示本地支持加速的标识信息替
换第一TCP数据包的包头中已有的支持加速的标识信息,将添加标识后的第
一TCP数据包进行双边加速转发。第二网络加速装置232对第二TCP数据包
进行相应地处理,将表示本地支持加速的标识信息替换第二TCP数据包的包
头中已有的支持加速的标识信息,将添加标识后的第二TCP数据包进行单边
加速转发。
第三网络加速装置233分别截获第一TCP数据包和第二TCP数据包,分
别对第一TCP数据包和第二TCP数据包的包头进行解析,第一TCP数据包
的包头中存在支持加速的标识信息,第二TCP数据包的包头中不存在支持加
速的标识信息。第三网络加速装置233将第一TCP数据包进行相应地处理,
将表示本地支持加速的标识信息替换第一TCP数据包的包头中已有的支持加
速的标识信息,将添加标识后的第一TCP数据包进行单边加速转发。第三网
络加速装置233在该第二TCP数据包的包头中添加表示本地支持加速的标识
信息,将添加标识后的第二TCP数据包进行双边加速转发。
本实施例提供的网络加速系统,通过网络加速装置的设置,网络加速装
置通过在TCP数据包中添加支持加速的标识,使后续接收到添加标识后的数
据包的网络加速装置,可以判断在所接收的TCP包的目的端和本网络加速装
置之间,是否存在其他网络加速装置,并根据判断结果对数据包进行处理。
实现了根据TCP数据包对应的目的端的网络加速支持情况,选择双边加速或
单边加速,实现了单边加速和双边加速的自动透明切换,避免设置TCP代理
服务器而需要进行的多次TCP连接所带来的复杂性,也无需对TCP数据包进
行网络地址转换,提高了网络传输性能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤
可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读
取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述
的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介
质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其
限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术
人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或
者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技
术方案的本质脱离本发明各实施例技术方案的范围。