发明内容
本实用新型的目的就是克服现有技术存在的缺点与不足,而提供一种基于广域网VPN加速网关的加速通信装置。本实用新型能够大大提高网络数据的传输速度,减少冗余重复数据占用带宽,能够对传输数据提供安全的保障,并且增加了通信对广域网网络环境的适应能力。
一、一种广域网VPN加速网关
本加速网关是一种其硬件配置为Intel Core 2Duo E6400CPU、128M FLASH、1G RAM、1TB HardDisk,且安装有linux操作***的主机。
其工作模块包括网络协议栈、IPSec和因特网密钥交换协议模块、ACK代理模块、TCP代理和隧道模块、组包/数据标签缓存/压缩模块、应用封装库模块和数据标签缓存库;
网络协议栈、IPSec和因特网密钥交换协议模块、TCP代理和隧道模块和网络协议栈依次调用,行成一个闭环***,同时TCP代理和隧道模块则单向调用应用封装库模块提供的功能函数;
ACK代理模块、组包/数据标签缓存/压缩模块、IPSec和因特网密钥交换协议模块依次调用,同时组包/数据标签缓存/压缩模块则单向调用数据标签缓存库提供的功能函数。
二、一种基于广域网VPN加速网关的加速通信装置
本加速通信装置是一种跨广域网的两个子网之间加速通信装置。
本加速通信装置包括依次连通的第一子网、第一VPN加速网关、广域网、第二VPN加速网关和第二子网;
在第一子网内设置有一台客户机;
在第二子网设置有一台数据服务器。
本加速通信装置工作原理通过如下步骤来体现:
①首先在第一VPN加速网关和第二VPN加速网关设置相应的加速策略,并建立需要进行TCP应用封装的VPN隧道;
②第一VPN加速网关对来自客户机发往数据服务器的TCP报文,一方面代替数据服务器快速伪造应答给客户机,致使客户机快速的将发送到数据服务器的请求数据发送到第一VPN加速网关;另一方面将受到的请求数据进行组包、数据标签缓存引用、压缩处理;
③第一VPN加速网关对外出的TCP报文进行IPSec封装以及TCP应用封装处理,最后发往第二VPN加速网关;
④第二VPN加速网关接收并处理进入的TCP封装数据,依次进行IPSec解封装、加速报文解封装,最后把处理后的报文发到数据服务器;
⑤第二VPN加速网关对数据服务器的应答报文进行类似第一VPN加速网关的封装处理并发送给第一VPN加速网关;
⑥第一VPN加速网关对来自第二VPN加速网关20的TCP封装数据进行解封装还原处理,最后处理完发送给客户机,到此完成一次通信过程。
本实用新型和传统方式相比具有以下优点:
1、采用创新的基于TCP协议ACK代理技术
通过监听TCP报文,模拟端主机进行ACK应答,从而避免了双方等待在广域网上确认,这对于大幅度提高传输速度具有重要的意义;
2、基于数据流的组包技术和压缩技术
在一个加速报文中携带多个普通报文的数据信息,提高一次传输的数据信息的数量,同时对报文进行LZO(Lempel-Ziv-Oberhumer,是致力于解压速度的一种数据压缩算法,这个算法是无损算法,参考实现程序是线程安全的。)高速流压缩,消除冗余数据,进一步提高数据传输的效率;
3、采用创新的数据标签缓存(DLC)技术
当相同的数据片二次传输时,服务器端只需要传输相应的引用到客户端网关,客户端通过引用查找数据片,恢复数据;
4、基于IPSec VPN的安全隧道技术;
该结构在广域网VPN加速网关***上通过加密的隧道传输数据,保证了数据的安全可靠性;
5、采用磁盘缓存技术
一方面加快通用数据访问速度,另一方面拥有巨大的存储空间;
6、可以兼容NAT(网络地址转换)协议,能够穿越任何一种常见的NAT设备,而不会引发数据问题;
7、采用基于HTTP协议的隧道传输保障技术
将IPSec报文封装在HTTP报文中穿越NAT,提高隧道传输的可靠性。
总之,本实用新型通过TCP协议ACK代理技术和对报文进行组包、数据标签缓存替换、压缩封装处理,减少重复数据的传输,并提高某些应用的数据传输,从而大幅度提升链路数据传输率;本实用新型大大节省了广域网间不同子网连接部署的成本,通过部署加速***,用低成本解决了广域网带宽、延迟等问题,使不同子网之间的通信如同同一局域网通信,极大地增强了网络的高速性和可靠性。
具体实施方式
下面结合附图和实施例进一步说明:
一、一种广域网VPN加速网关
1、总体
如图1,本加速网关是一种其硬件配置为Intel Core 2Duo E6400CPU、128M FLASH、1G RAM、1TB HardDisk,且安装有linux操作***的主机。
所述的Intel Core 2Duo E6400CPU是适合加速网关00正常运行的中央处理器;
所述的128M FLASH是用来存储加速网关00各工作模块的存储设备,FLASH闪存是非易失存储器;
所述的1G RAM是指整个加速网关00正常运行所需要的内存;
所述的1TB HardDisk是加速网关00用来存储数据标签缓存库7中数据的外部存储器。
所述的linux是加速网关00各个工作模块正常工作所依赖的操作***,该linux操作***是加速网关00各个工作模块与硬件交互的桥梁。
其工作模块包括网络协议栈1、IPSec和因特网密钥交换协议模块2、ACK代理模块3、TCP代理和隧道模块4、组包/数据标签缓存/压缩模块5、应用封装库模块6和数据标签缓存库7;
网络协议栈1、IPSec和因特网密钥交换协议模块2、TCP代理和隧道模块4和网络协议栈1依次调用,行成一个闭环***,同时TCP代理和隧道模块4则单向调用应用封装库模块6提供的功能函数;
ACK代理模块3、组包/数据标签缓存/压缩模块5、IPSec和因特网密钥交换协议模块2依次调用,同时组包/数据标签缓存/压缩模块5则单向调用数据标签缓存库7提供的功能函数。
2、功能块
①网络协议栈(TCP/IP)1
网络协议栈(TCP/IP)1是Internet网络通信协议栈;
其典型代表是Windows、UNIX、Linux等网络操作***。
②IPSec和因特网密钥交换协议模块(IPSec/IKE)2
IPSec和因特网密钥交换协议模块(IPSec/IKE)2是一种用来进行因特网密钥协商和进行IPSec报文的加密和解密处理的模块;
其典型实现是Internet开源软件FreeSWAN;FreeSWAN是一种在Linux操作***上实现的IPSec和因特网密钥交换协议的软件。
③ACK代理模块3
ACK代理模块3是一种用来对报文进行代理应答以快速传输的模块。
④TCP代理和隧道模块4
TCP代理和隧道模块4是一种用来对IPSec和因特网密钥交换协议报文进行格式分析和对报文进行TCP应用协议的封装和解封装以及发送和接收通信报文的模块。
⑤组包/数据标签缓存/压缩模块5
组包/数据标签缓存/压缩模块5是一种用来对TCP应用数据进行组包合并、数据标签引用替换以及压缩处理以降低网络冗余重复传输流量的模块。
⑥应用封装库模块6
应用封装库模块6是一种用来提供各种应用通信的封装功能给TCPP调用的函数库,例如HTTP(超文本传输协议)应用和FTP(文件传输协议)应用等。
⑦数据标签缓存库模块7
数据标签缓存库模块7是一种用来提供对报文进行引用替换功能给组包/数据标签缓存/压缩模块调用的函数库。
二、一种基于广域网VPN加速网关的加速通信装置
本加速通信装置是一种跨广域网的两个子网之间加速通信装置。
1、总体
如图5,本加速通信装置包括依次连通的第一子网100、第一VPN加速网关10、广域网300、第二VPN加速网关和第二子网400;
在第一子网100内设置有一台客户机200;
在第二子网400内设置有一台数据服务器500。
2、功能块
①第一子网100和第二子网400
所述的第一子网100是以第一VPN加速网关10为出口网关的子网;
所述的第二子网400是以第二VPN加速网关20为出口网关的子网;
②第一VPN加速网关10和第二VPN加速网关20
所述的第一VPN加速网关10和第二VPN加速网关20均为VPN加速网关00。
③客户机200
所述的客户机200是位于第一子网100中的任意一台普通的PC机,它要想访问网络数据必须通过第一VPN加速网关10。
④数据服务器500
所述的数据服务器500是一台位于第二子网400中对外提供数据服务的服务器,外界的访问要通过第二VPN加速网关20。
三、一种基于广域网VPN加速网关的加速通信装置的加速通信方法
本加速通信方法包括下列步骤:
①设置需要进行TCP应用封装的VPN隧道;
②第一VPN加速网关10对来自客户机200发往数据服务器500的TCP报文,一方面代替数据服务器500快速伪造应答给客户机200,致使客户机200快速的将发送到数据服务器500的请求数据发送到第一VPN加速网关10;另一方面将受到的请求数据进行组包、数据标签缓存引用、压缩处理;
③第一VPN加速网关10对外出的TCP报文进行IPSec封装以及TCP应用封装处理;
④第二VPN加速网关20接收并处理进入的TCP封装数据,并把处理后的报文发到数据服务器500;
⑤第二VPN加速网关20对数据服务器500的应答报文进行类似第一VPN加速网关10的封装处理并发送;
⑥第一VPN加速网关10对来自第二VPN加速网关20的TCP封装数据进行解封装还原处理。
经过组包分片之后,组合后的报文负载数据分为多个数据分片,如图2所示;将每个分片与数据标签缓存库7中的缓存分片进行匹配,如果匹配就用标识数据分片的引用来代替数据分片,重新封装如图3所示。再将报文负载进行压缩处理,最后将报文进行IPSec封装和TCP应用封装得到如图4所示的报文。
因此从报文封装可以看出,经过报文组包后,减少了Internet上报文传输的个数,也就减少了丢包重传的机会;经过数据标签缓存引用替换后,因为引用只是一串标识报文数据分片字符串,要比实际的数据片长度要小的多,因此也就减少了冗余重复数据;经过压缩后报文进一步得到优化,去除了冗余数据;经过IPSec封装保证了报文的安全性;经过TCP应用封装,保证了报文在广域网上突破防火墙的限制。因此报文经过上述封装,就可以达到高速安全可靠的网络传输。
第一VPN加速网关10保护的第一子网100,其中有一台客户机client200;第二VPN加速网关20保护的第二子网400,其中有一台数据服务器server500;在这种情况下,传统方法下虽然实施了Qos,但是每一个通信报文都要经过复杂的广域网到达对方,中间涉及到丢包延迟等一系列不安全因素,大大降低了通信速度和效率。为了能够高速安全的进行通信,第一、二VPN加速网关10、20需要启动ACK代理功能和组包/数据标签缓存/压缩功能,最大限度的减少冗余重复数据,并借助IPSec和应用封装功能安全可靠的传输数据。
(1)VPN加速网关00对TCP报文进行加速传输封装流程
如图6,VPN加速网关00对TCP报文进行加速传输封装流程是:
①代替远端server对本地内网client进行ACK应答a;
②开启组包策略?b,未开启时进入步骤③,开启时则对同一连接的多报文组合处理c后再进入步骤③;
③开启数据标签缓存策略?d,未开启时进入步骤④,开启时则匹配数据标签缓存库对报文进行数据标签引用替换e后再进入步骤④;
④开启压缩策略?f,未开启时进入步骤⑤,开启时则对报文进行压缩处理g后再进入步骤⑤;
⑤对报文进行IPSec安全封装h;
⑥对报文进行应用封住处理并发送i。
首先在第一VPN加速网关10上配置启用组包/数据标签缓存/压缩策略,配置启用ACK代理和TCP应用封装,那么当第一VPN网关10向第二VPN网关20进行VPN协商和通信时,就会针对建立的连接中的报文进行加速方案。
第一VPN加速网关10对来自client200发往server500的TCP报文,一方面代替server500快速伪造应答给client200,致使client200快速的将发送到server500的请求数据发送到第一VPN加速网关10;另一方面将收到的请求数据依次判断***是否配置了组包、数据标签缓存引用替换、压缩处理策略,如果配置了就进行相应的组包、数据标签缓存引用、压缩处理;然后再将报文进行IPSec封装处理和TCP应用封装处理,发送到第二VPN加速网关20。
(2)VPN加速网关00对IPSec报文进行HTTP应用解封装流程
如图7,VPN加速网关00对IPSec报文进行HTTP应用解封装流程是:
①在TCP端口(例如80)进行监听j;
②接收进入的TCP报文k;
③对报文进行应用层协议还原l,
④还原IPSec报文后交给RNSPEED模块m;
⑤开启压缩策略?n,未开启时进入步骤⑥,开启时则对报文进行解压缩处理o后再进入步骤⑥;
⑥开启数据标签缓存策略?p,未开启时进入步骤⑦,开启时则匹配数据标签缓存库对报文进行数据标签引用还原q后再进入步骤⑦;
⑦开启组包策略?r,未开启时进入步骤⑧,开启时则对报文进行解组包处理s后再进入步骤⑧;
⑧报文还原完毕发往内网服务器t。
第二VPN网关20监听在TCP端口上进行监听,并接收进入的封装报文,首先对报文进行TCP应用解封装,还原后的报文将重新交给操作***有IPSec模块进行解封装。接下来依次判断***是否配置了压缩、数据标签缓存引用、组包处理策略,如果配置了就进行相应的解压缩、数据标签缓存引用还原、解组包处理;最终得到原始数据包发送往第二子网400中server500。