专利名称:网络加速方法、装置及系统的制作方法
技术领域:
本发明实施例涉及通信技术,尤其涉及一种网络加速方法、装置及系统。
背景技术:
现有技术中,客户端通常通过传输控制协议(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数据包进行网络地址转换,提高了网络传输性能。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作ー简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的一种网络加速方法流程图;图2为本发明实施例提供的另ー种网络加速方法流程图;图3为本发明实施例提供的一种网络加速装置结构示意图;图4为本发明实施例提供的另ー种网络加速装置结构示意图;图5为本发明实施例五提供的网络加速系统结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 图I为本发明实施例提供的一种网络加速方法流程图。如图I所示,本实施例提供的网络加速方法具体可以应用于对源端和目的端交互的数据加速传输的过程,可以通过网络加速装置来执行,该网络加速装置可以单独,也可以设置在位于源端和目的端传输路径中的网元设备中,该网元设备例如为路由器、交換机或网桥设备等。本实施例提供的网络加速方法具体包括步骤10、截获第二传输控制协议TCP数据包,判断第二 TCP数据包中是否包含支持加速的标识信息,得到第一判断结果,并将第一判断结果进行记录;步骤20、截获第一 TCP数据包,通过查询第一判断结果判断记录的第二 TCP数据包中是否包含支持加速的标识信息,若是,则对第一 TCP数据包进行双边加速,然后发往第一 TCP数据包对应的目的端;若否,则对第一 TCP数据包进行单边加速,然后发往所述第一TCP数据包对应的目的端;其中,第二 TCP数据包对应的源端方向为第一 TCP数据包对应的目的端方向。需要说明的是,本发明实施例中,源端方向和目的端方向,仅指被处理的报文所来自和发往的方向,并不涉及报文自身的源端和目的端的所具有的具体位置关系。换句话说, 第二 TCP数据包对应的源端不一定就是第一 TCP数据包对应的目的端,本实施例中,第二TCP数据包对应的源端方向为第一 TCP数据包对应的目的端方向,仅强调针对ー个网络加速装置来讲,被截获的第二 TCP数据包和被截获的第一 TCP数据包发送、接收的方向相反;本发明其他装置实施例及方法实施例中存在同样情形,为简介起见不再赘述。可选的,在所述将第一 TCP数据包进行双边或单边加速后发往所述第一 TCP数据包对应的目的端之前,还包括在所述第一 TCP数据包中,添加表示本地支持加速的标识信
O具体地,进行数据交互的两个对端可以分别为源端和目的端,如客户端和服务端,根据信息交互的实际情况,也可以将客户端作为是目的端,服务器端作为是源端,本实施例,仅以客户端为源端,服务器端为目的端为例。客户端需要和服务端建立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数据包进行网络地址转换,提高了网络传输性能。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于ー计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管參照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范
围。权利要求
1.一种网络加速方法,其特征在于,包括 截获第二传输控制协议TCP数据包,判断所述第二 TCP数据包中是否包含支持加速的标识信息,得到第一判断结果,并记录所述第一判断结果; 截获第一 TCP数据包,通过查询所述第一判断结果判断记录的所述第二 TCP数据包中是否包含支持加速的标识信息,若是,则对所述第一 TCP数据包进行双边加速,然后发往所述第一 TCP数据包对应的目的端;若否,则对所述第一 TCP数据包进行单边加速,然后发往所述第一 TCP数据包对应的目的端; 其中,所述第二 TCP数据包对应的源端方向为所述第一 TCP数据包对应的目的端方向。
2.根据权利要求I所述的网络加速方法,其特征在于,在将所述第一TCP数据包进行双边或单边加速后发往所述第一 TCP数据包对应的目的端之前,还包括在所述第一 TCP数据包中,添加表示本地支持加速的标识信息。
3.根据权利要求2所述的网络加速方法,其特征在于,所述在所述第一TCP数据包中,添加表示本地支持加速的标识信息,包括 若判断获知所述第一 TCP数据包中包含了支持加速的标识信息,则将表示本地支持加速的标识信息替换所述第一 TCP数据包中已包含的支持加速的标识信息; 若判断获知所述第一 TCP数据包中没有包含了支持加速的标识信息,则在所述第一TCP数据包中,直接增加表示本地支持加速的标识信息。
4.根据权利要求I至3任一所述的网络加速方法,其特征在于,所述截获第一TCP数据包之后,还包括 判断所述第一 TCP数据包中是否包含支持加速的标识信息,得到第二判断结果,并将所述第二判断结果进行记录; 在所述第二 TCP数据包中,添加表示本地支持加速的标识信息,通过查询所述记录的第二判断结果判断对端是否支持加速的,若是,则对添加标识后的第二 TCP数据包进行双边加速处理后转发给所述第二 TCP数据包对应的目的端;若否,则对添加标识后的第二 TCP数据包进行单边加速处理后转发给所述第二 TCP数据包对应的目的端。
5.根据权利要求I至3任一所述的网络加速方法,其特征在于 所述对所述第一 TCP数据包进行双边加速,然后发往所述第一 TCP数据包对应的目的端,包括 对所述第一 TCP数据包进行协议配合处理和/或压缩处理,根据TCP拥塞控制算法将处理后的第一 TCP数据包发送给所述第一 TCP数据包对应的目的端; 所述对所述第一 TCP数据包进行单边加速,然后发往所述第一 TCP数据包对应的目的端,包括 根据TCP拥塞控制算法将所述第一 TCP数据包发送给所述第一 TCP数据包对应的目的端。
6.一种网络加速方法,其特征在于,包括 在第一次截获TCP数据包的时候,在TCP数据包中添加表示本地支持加速的标识信息,并将添加所述标识信息的TCP数据包发往所述截获的TCP数据包对应的目的端; 截获TCP数据包时,判断TCP数据包是否包含支持加速的标识信息,将判断结果进行记录。
7.—种网络加速装置,其特征在于,包括 第一判断模块,用于截获第二传输控制协议TCP数据包,判断所述第二 TCP数据包中是否包含支持加速的标识信息,得到第一判断结果,并记录所述第一判断结果; 第一处理模块,用于截获第一 TCP数据包,通过查询所述判断记录的所述第二 TCP数据包中是否包含支持加速的标识信息,若是,则对所述第一 TCP数据包进行双边加速处理,然后发往所述第一 TCP数据包对应的目的端;若否,则对所述第一 TCP数据包进行单边加速处理,然后发往所述第一 TCP数据包对应的目的端; 其中,所述第二 TCP数据包对应的源端方向为所述第一 TCP数据包对应的目的端方向。
8.根据权利要求7所述的一种网络加速装置,其特征在于,还包括 第一添加模块,用于在所述第一处理模块将所述第一 TCP数据包进行双边或单边加速后发往所述第一 TCP数据包对应的目的端之前,在所述第一 TCP数据包中,添加表示本地支持加速的标识信息。
9.根据权利要求8所述的一种网络加速装置,其特征在于所述第一添加模块,具体用于判断获知所述第一 TCP数据包中包含了支持加速的标识信息,则将表示本地支持加速的标识信息替换所述第一 TCP数据包中已包含的支持加速的标识信息;若判断获知所述第一TCP数据包中没有包含了支持加速的标识信息,则在所述第一 TCP数据包中,直接增加表示本地支持加速的标识信息。
10.根据权利要求7至9任一所述的一种网络加速装置,其特征在于,还包括 第二判断模块,用于判断所述第一 TCP数据包中是否包含支持加速的标识信息,得到第二判断结果,并将所述第二判断结果进行记录; 第二处理模块,用于通过查询所述记录的第二判断结果判断对端是否支持加速的,若是,则对添加标识后的第二 TCP数据包进行双边加速处理后转发给所述第二 TCP数据包对应的目的端;若否,则对添加标识后的第二 TCP数据包进行单边加速处理后转发给所述第二TCP数据包对应的目的端; 第二添加模块,用于在所述第二 TCP数据包中,添加表示本地支持加速的标识信息。
11.一种网络加速装置,其特征在于,包括 标识添加模块,用于在第一次截获TCP数据包的时候,在TCP数据包中添加表示本地支持加速的标识信息,并将添加所述标识信息的TCP数据包发往所述截获的TCP数据包对应的目的端; 记录模块,用于截获TCP数据包时,判断TCP数据包是否包含支持加速的标识信息,将判断结果进行记录。
12.—种网络加速系统,包括客户端和服务端,其特征在于,还包括 至少一个如权利要求7至10任一所述的网络加速装置; 所述客户端向所述服务端发送第一传输控制协议TCP数据包; 所述服务端向所述客户端发送第二 TCP数据包。
全文摘要
本发明实施例提供一种网络加速方法、装置及系统,该网络加速方法包括截获第二传输控制协议TCP数据包,判断第二TCP数据包中是否包含支持加速的标识信息,得到第一判断结果,并记录第一判断结果;截获第一TCP数据包,通过查询第一判断结果判断记录的第二TCP数据包中是否包含支持加速的标识信息,若是,则对第一TCP数据包进行双边加速,然后发往第一TCP数据包对应的目的端;若否,则对第一TCP数据包进行单边加速,然后发往第一TCP数据包对应的目的端。实现了单边加速和双边加速的自动透明切换,大大提高了网络传输性能。
文档编号H04L29/08GK102629944SQ201210100938
公开日2012年8月8日 申请日期2012年4月9日 优先权日2012年4月9日
发明者魏明昌 申请人:华为技术有限公司