发明内容
本发明提供一种加速网络传输优化方法以及系统,加速接入节点根据数据报文的类型选择性进行报文封装,以保证加速网络的中间节点传输的数据报文可以进行加速优化传输,形成多用户多协议透明转发机制,并且在加速网络搭建初始配置以后在工作过程中无需再做配置,自动识别用户访问源站。
第一方面,本发明实施例提供了一种加速网络传输优化方法,包括以下步骤:
加速接入节点接收数据报文,并获取数据报文的源站地址和端口;
该加速接入节点判断该数据报文类型;
当该数据报文为TCP报文时,加速网络的中间节点优化传输该TCP报文至加速出口节点,该加速出口节点根据该源站地址和端口基于TCP传输协议与源站通信;
当该数据报文为UDP报文时,该加速接入节点封装该UDP报文为可认证的TCP报文,加速网络的中间节点优化传输该可认证的TCP报文至加速出口节点,该加速出口节点解析该可认证的TCP报文为该UDP报文,该加速出口节点再根据该源站地址和端口基于UDP传输协议与源站通信。
第二方面,本发明实施例提供了一种加速网络传输优化系统,包括加速接入节点、若干中间节点以及加速出口节点,终端通过该加速接入节点接入加速网络,并通过该加速出口节点与源站数据通信,该加速接入节点包括判断模块以及封装模块,该加速出口节点包括解析模块,该加速接入节点接收数据报文,并获取数据报文的源站地址和端口;该判断模块用于判断该数据报文类型;当该数据报文为TCP报文时,加速网络的中间节点优化传输该TCP报文至加速出口节点,该加速出口节点根据该源站地址和端口基于TCP传输协议与源站通信;当该数据报文为UDP报文时,该封装模块用于封装该UDP报文为可认证的TCP报文,加速网络的中间节点优化传输该可认证的TCP报文至加速出口节点,该加速出口节点的解析模块用于解析该可认证的TCP报文为该UDP报文,该加速出口节点再根据该源站地址和端口基于UDP传输协议与源站通信。
第三方面,本发明实施例还提供了一种服务器集群,包括加速接入节点以及加速出口节点,终端通过加速接入节点接入加速网络,并通过加速出口节点与源站数据通信,其中,
该加速接入节点以及加速出口节点均包括至少一个处理器;以及,
与该至少一个处理器通信连接的存储器以及通信组件;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行时,通过通信组件建立数据通道,以使该至少一个处理器能够执行如上所述的方法。
第四方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上所述的方法。
第五方面,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上所述的方法。
本发明的有益效果在于,本发明实施例提供的加速网络传输优化方法以及系统,加速接入节点根据数据报文的类型选择性进行报文封装,以实现整个加速网络中均以TCP传输协议进行加速传输,加速接入节点实现UDP转TCP数据报文的封装,在传输过程中实现UDP数据报文以TCP传输协议进行传输,加速出口节点实现TCP转UDP的数据报文解析,以保证加速网络的中间节点传输的数据报文都可以采取基于TCP传输协议的加速优化措施,形成多用户多协议透明转发机制,提高传输质量和速度。同时,本发明实施例提供的加速网络传输优化方法以及系统省去了链路中的配置步骤,在加速网络搭建初始配置以后工作过程中无需再进行配置即可自动识别用户访问源站完成数据传输。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参考图1,本发明实施例提供的加速网络传输优化系统包括用户请求端10、加速网络A以及源站70。加速网络A可以是应用交付网络,也可以是虚拟专用网络或者其它需要专用加速网络支持的组网形式比如内容分发网络。
该加速网络A由若干服务节点组网而成,根据完成网络传输优化所起作用来区分,该加速网络A包括加速接入节点20、若干中间节点50以及加速出口节点60。凡是接收用户发送的数据报文的节点可理解为加速接入节点20,加速网络A的中间节点,凡是与源站70通信的节点可理解为加速出口节点60。
本实施例加速网络传输优化方法和系统中,加速接入节点20根据收到的数据报文的类型选择性地进行报文封装以实现整个加速网络中均以TCP传输控制协议进行加速传输,同时加速出口节点60也根据反馈的数据报文的类型选择性地进行报文封装以实现整个加速网络中均以TCP传输协议加速反馈数据,从而保证加速网络的中间节点往来的数据报文都可以基于TCP传输协议加速传输,提高传输质量和速度。
在加速网络A之中,TCP报文的传输方式保持不变。对于UDP报文,加速接入节点实现UDP转TCP数据报文的封装,在传输过程中实现UDP数据报文以TCP传输控制协议进行传输,加速出口节点实现TCP转UDP的数据报文解析,以保证整个加速网络A中均以TCP传输控制协议进行加速传输。其中,在加速网络A之外,数据报文的传输形式保持不变,TCP报文仍基于TCP传输协议进行传输,UDP报文仍基于UDP传输协议进行传输。
该TCP传输协议为TCP(Transmission Control Protocol,TCP)传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
该UDP传输协议为UDP(User Datagram Protocol,UDP)用户数据协议,是一个面向数据的运输层协议。UDP不提供可靠性,它只是把应用程序传给的数据发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报文前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
本发明中,加速网络A以TCP传输协议进行加速优化传输。TCP加速优化传输是指通过一组优化技术,与标准TCP相比使TCP加速优化传输在通过网络传输数据的性能更高,同时不需要修改上层的具体应用。TCP加速优化传输技术包括TCP透明代理及TCP卸载引擎等。
实施例1
本实施例的加速网络传输优化系统,包括用户请求端10、加速网络A以及源站70。
请参考图2,该加速网络A包括加速接入节点20、若干中间节点50以及加速出口节点60。该终端10通过该加速接入节点20接入加速网络A,并通过加速网络A的加速出口节点60与源站70数据通信。
该加速接入节点20以及加速出口节点60是从其完成的功能加以区分的,实际上接收用户发送的数据报文的节点即可理解为加速接入节点20,在加速网络A中,凡是与源站70通信的节点即可理解为加速出口节点60。为了简化说明本实施例中,以该加速接入节点20以及加速出口节点60为例加以阐述。
该加速接入节点20包括重定向模块22、判断模块24、封装模块26、解析模块28以及通信模块29。该封装模块26连接扩展模块27。
该加速出口节点60包括判断模块64、封装模块66、解析模块68以及通信模块69。该封装模块66连接扩展模块67。
该加速接入节点20接收用户请求端10发送的数据报文,并获取数据报文的源站地址和端口。加速接入节点20的判断模块24判断接收的数据报文的类型。
在数据请求过程中,当数据报文为TCP报文时,加速网络A的中间节点优化传输该TCP报文至加速出口节点60。该加速出口节点60的通信模块69根据在加速入口节点20获取的源站地址和端口基于TCP传输协议与源站70通信。
在数据请求过程中,当数据报文为UDP报文时,该加速入口节点20的封装模块26封装该UDP报文为可认证的TCP报文,并通过加速网络A优化传输该可认证的TCP报文至加速出口节点60。该加速出口节点的解析模块68解析该可认证的TCP报文为该UDP报文。该加速出口节点60的通信模块69再根据在加速入口节点20获取的源站地址和端口基于UDP传输协议与源站70通信。
在数据响应过程中,该加速出口节点60获取源站70返回的数据报文。该加速出口节点60的判断模块64分析判断该数据报文的类型。
在数据响应过程中,当该数据报文为TCP报文时,加速网络A的中间节点优化传输该TCP报文至加速入口节点20,该加速入口节点20与用户请求端10基于TCP传输协议发送该源站70反馈的数据报文。
在数据响应过程中,当该数据报文为UDP报文时,该加速出口节点60的封装模块66封装该UDP报文为可认证的TCP报文,加速网络A的中间节点优化传输该可认证的TCP报文至加速入口节点20,该加速入口节点20的解析模块28解析该可认证的TCP报文为该UDP报文,该加速入口节点20通过通信模块29与用户请求端10基于UDP传输协议发送该源站70反馈的数据报文。
其中,该加速接入节点20以及加速出口节点60的封装模块采用Socks5协议封装该UDP报文为可认证的TCP报文。
该Socks5协议可实现认证式数据传输。当基于TCP传输协议的该加速接入节点20希望和目标节点建立连接时,只有在适当的SOCKS端口打开一个TCP连结端口穿过防火墙才能安全到达。Socks5服务按常例来说定位于TCP端口1080。如果连接请求成功,目标节点为即将使用的认证方式进行协商,并对所选的认证方式进行认证,然后发送一个转发请求。Socks5对转发请求进行评估,并且决定是否建立所请求转发的连接。
本发明实施例中,为了简单快速地获取数据报文的源站地址和端口,该加速接入节点20将收到的数据报文重定向至加速接入节点20的本地监听端口,以获取该数据报文访问的源站地址和端口。
该封装模块26还包括扩展模块27,该封装模块66还包括扩展模块67。该扩展模块27、67用于扩展该Socks5协议的请求格式,增加该数据报文类型标示信息。以下具体介绍该请求格式内容。
请参考图3,所示为扩展Socks5协议的请求格式示意图,其中,该RSV为Socks5协议请求格式的保留字段,该扩展模块27、67在该保留字段进行扩展内容,比如增加数据报文类型标示信息。在本实施例中,通过在保留字段写入内容,使得加速接入节点20或者加速出口节点60可以识别该数据报文是否为需解封装的数据报文。
具体实施时,设置RSV保留字段,基于该保留字段进行扩展。
当RSV保留字段的值为0x00:作为保留字段使用;
当RSV保留字段的值为0x01:表示UDP报文转TCP报文,其中,DST.ADDR和DST.PORT为源站70的UDP地址和端口。
请参考图4,所示为扩展Socks5协议的响应格式示意图。
其中,数据报文类型标示信息也可用于区分数据报文为请求报文或者为响应报文或者其它报文,具体实施时RSV保留字段介绍如下:如果发送请求RSV保留字段的值为0x01;如果响应请求RSV保留字段的值为0x01,其他情况时RSV保留字段的值为0x00。
ATYP为用于指明BND.ADDR域的类型;
BND.ADDR为CMD相关的地址信息;
BND.PORT为CMD相关的端口信息,big-endian序的2字节数据。
该加速网络A采用透明转发机制。该透明转发机制不改变源和目的IP地址、端口等信息,保证流控设备上针对各个IP地址的流控策略依然生效。该透明转发机制是指在传输过程中,传输网络透明,不管传输的业务如何,透明传输网络只负责将需要传送的业务传送到目的节点,同时保证传输的质量即可,而不对传输的业务进行处理。
实施例2
请参考图5,本实施例涉及加速网络传输优化方法,在数据请求过程中,包括以下步骤:
步骤101:加速接入节点接收数据报文;
步骤102:获取数据报文的源站地址和端口,本实施例中,为了简单快速地获取数据报文的源站地址和端口,该加速接入节点20将收到的数据报文重定向至加速接入节点20的本地监听端口,以获取该数据报文访问的源站地址和端口;
步骤103:判断该数据报文类型;
步骤105:当该数据报文为TCP报文时,加速网络的中间节点优化传输该TCP报文至加速出口节点60;
步骤106:该加速出口节点60根据该源站地址和端口基于TCP传输协议与源站70通信;
步骤107:当该数据报文为UDP报文时,封装该UDP报文为可认证的TCP报文;
步骤108:加速网络的中间节点优化传输该可认证的TCP报文至加速出口节点60;
步骤109:该加速出口节点60解析该可认证的TCP报文为该UDP报文;
步骤110:该加速出口节点60再根据该源站地址和端口基于UDP传输协议与源站70通信。
请参考图6,本实施例的加速网络传输优化方法,在数据响应过程中,还包括以下步骤:
步骤201:该加速出口节点60获取源站返回的数据报文;
步骤202:该加速出口节点60判断返回的数据报文类型;
步骤205:当该数据报文为TCP报文时,加速网络的中间节点优化传输该TCP报文至加速入口节点20;
步骤206:该加速入口节点20与用户基于TCP传输协议发送该源站70反馈的数据报文;
步骤207:当该数据报文为UDP报文时,该加速出口节点60封装该UDP报文为可认证的TCP报文;
步骤208:加速网络的中间节点优化传输该可认证的TCP报文至加速入口节点20;
步骤209:该加速入口节点20解析该可认证的TCP报文为该UDP报文;
步骤210:该加速入口节点20再与用户基于UDP传输协议发送该源站70反馈的数据报文。
本实施例的加速网络传输优化方法,该封装该UDP报文为可认证的TCP报文的步骤采用Socks5协议封装。
本实施例的加速网络传输优化方法,将该数据报文重定向至该加速接入节点20的本地监听端口,以获取该数据报文访问的源站地址和端口。
本实施例的加速网络传输优化方法还包括扩展该Socks5协议的请求格式,增加该数据报文类型标示信息。
请参考图8以下举例介绍该多用户多协议的加速网络传输优化方法。
加速接入节点20和加速出口节点60采用透明转发机制,加速接入节点20监听TCP端口为10000,UDP端口为10001。加速出口节点60监听TCP端口为20000。
两个不同企业10和12,企业10通过加速网络A访问各自的源站70,企业12通过加速网络A访问各自的源站72,企业10和12访问流量通过接入设备引流到加速网络A的加速接入节点20。
加速接入节点20把访问TCP报文重定向到10000端口,在10000端口,获取企业10的源站地址IP_A和端口,企业12源站IP_B和端口。按标准Socks5协议封装,发送到出口20000端口,从20000端口解析出IP_A和IP_B,加速出口节点60分别与企业10和企业12的源站70和源站72建立连接。企业10发送TCP报文包经过该加速接入节点20、加速出口节点60达到企业10的源站70,企业12发送TCP报文包经过该加速接入节点20、加速出口节点60达到企业12源站72。
其中,UDP报文重定向到10001端口,在10001端口,获取UDP报文访问源站的地址和端口。按标准Socks5协议或者扩展Socks5协议封装UDP报文,发送到加速出口节点60的20000端口。UDP报文在加速接入节点20和加速出口节点60之间,使用TCP传输协议传输,在加速出口节点60解析出源站70地址和端口,然后该加速出口节点60和源站70建立UDP连接。
由以上过程,企业10和企业12,通过加速网络A访问各自源站70和源站72。
本发明实施例提供的加速网络传输优化方法以及系统,加速接入节点和加速出口节点采用透明转发机制,通过重定向方式简单快捷获取用户访问源站的地址和端口,根据数据报文的类型选择性进行报文封装,报文封装采用可认证的封装方式,扩展Socks5数据格式,加速网络中UDP报文以TCP报文进行传输,从而保证加速网络的中间节点传输的数据报文可以进行加速优化传输,形成多用户多协议透明转发机制,实现数据高效高质量的传输。并且在加速网络搭建初始配置以后在工作过程中无需再做配置,自动识别用户访问源站。
实施例3
图7是本发明实施例提供的服务器集群中单个加速接入节点或者加速出口节点的设备600的硬件结构示意图,如图7所示,该设备600包括:
一个或多个处理器610、存储器620以及通信组件650,图7中以一个处理器610为例。该存储器620存储有可被该至少一个处理器610执行的指令,该指令被该至少一个处理器执行时,通过通信组件650建立数据通道,以使该至少一个处理器能够执行该加速网络传输优化方法。
处理器610、存储器620以及通信组件650可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器620作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的加速网络传输优化方法对应的程序指令/模块(例如,附图2加速接入节点20所示的重定向模块22、判断模块24、封装模块26以及解析模块28,加速出口节点所示的判断模块64、封装模块66、扩展模块67、解析模块68以及通信模块69)。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的加速网络传输优化方法。
存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据加速网络传输优化系统的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至机器人交互电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器620中,当被所述一个或者多个处理器610执行时,执行上述任意方法实施例中的加速网络传输优化方法,例如,执行以上描述的图5中的方法步骤101至步骤110,以及执行以上描述的图6中的方法步骤201至步骤210;实现附图2加速接入节点20所示的重定向模块22、判断模块24、封装模块26以及解析模块28,加速出口节点所示的判断模块64、封装模块66、扩展模块67、解析模块68以及通信模块69等的功能。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图5中的方法步骤101至步骤110,以及执行以上描述的图6中的方法步骤201至步骤210;实现附图2加速接入节点20所示的重定向模块22、判断模块24、封装模块26以及解析模块28,加速出口节点所示的判断模块64、封装模块66、扩展模块67、解析模块68以及通信模块69等的功能等的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。