一种高速传输隧道的实现方法及系统的制作方法

文档序号:8004679阅读:440来源:国知局
一种高速传输隧道的实现方法及系统的制作方法
【专利摘要】本发明揭示一种高速传输隧道的实现方法,除按照TCP协议传输步骤外,还包括在VPN客户端与VPN服务器端建立SSL连接,加密传输VPN配置;切换SSL连接为SSL VPN隧道,同时建立DTLS VPN隧道;判断VPN客户端协议类型;对于非TCP/UDP的流量,让其继续走SSL VPN隧道,对于TCP/UDP的流量,让其走所述的DTLS VPN隧道。本发明揭示的方法及系统,解决了TCP流量超时重传和SSL VPN隧道本身重传的双重重传问题,同时解决了UDP应用在TCP隧道中传输实时性欠佳、以及非TCP/UDP协议数据走UDP隧道产生的丢包问题。
【专利说明】一种高速传输隧道的实现方法及系统

【技术领域】
[0001]本发明涉及网络传输领域,特别涉及一种高速传输隧道的实现方法及系统。

【背景技术】
[0002]安全套接层(Secure Socket Layer,简称SSL)及其继任者安全传输层(TransportLayer Security,简称TLS)是为网络通讯提供数据保密性和数据完整性的一种安全协议,SSL及TLS被设计为基于可靠传输层协议TCP之上,并为上层应用透明地提供安全传输。
[0003]SSL VPN是指采用SSL/TLS协议来实现安全隧道的一种新型远程接入技术,目前被绝大多数的VPN厂商所采用。
[0004]数据报传输层安全协议(DatagramTransport Layer Security,简称 DTLS)是由IETF提出的解决UDP (User Datagram Protocol用户数据报协议)应用协议传输安全的标准。DTLSvl.0于2006年正式发布,在TLS1.1的基础上针对UDP协议的丢包及乱序等特性做了相应的扩展,使其能够为UDP应用协议提供一个安全的传输层,并且能保证与TLS具有相同的安全性。
[0005]目前传统意义上的SSL VPN隧道方案是指完全使用TCP来传输所有SSLVPN隧道中的流量数据,这种实现方式在如下方面有很大的缺陷性:
[0006]I)对隧道内的TCP数据流量会发生双重重传,从而导致SSL VPN的性能急剧下降,尤其是在丢包、延迟很严重的广域网上。因为SSL VPN隧道本身也是一个TCP连接,当网络状况不好时隧道内的TCP连接发生丢包后,不仅隧道内的TCP包会发生重传,而且SSL VPN隧道本身也会发生重传,这种双重重传的现象会导致重传包的数量呈指数级增长、加剧网络拥塞,同时这种双重重传是由TCP协议的可靠传输机制所决定的、是不可避免的。
[0007]2)对隧道内的UDP应用产生某些限制,比如对一些实时性要求较高的网络游戏、视频聊天、语音聊天及VOIP (Voice over Internet Protocol将模拟信号数字化,以数据封包的形式在IP网络上做实时传递)等本身就是为了追求UDP协议的高效性而设计的这类应用。当这类UDP应用被放入TCP隧道后,不可避免的会被隧道本身的TCP协议所影响,一方面受制于TCP隧道的传输限制(比如因TCP的可靠传输和拥塞控制而导致的时延),而实际上这类应用本身允许丢包而优先保证实时性,另一方面也违背了这类应用协议基于UDP设计的初衷。
[0008]中国专利CN102137100公开了一种构建IP层SSL VPN隧道的方法,它主要是解决由于SSL协议和DTLS协议需二次协商建立连接造成的系统性能的消耗问题,主要的解决方法是先通过SSL协议协商控制连接,得到加密套件和加密参数后再通过DTLS协议使用所述加密套件和加密参数建立数据连接。该方法是采用Μ)Ρ隧道传输所有的SSL VPN隧道中的流量数据,TCP隧道不传输任何流量数据,仅用于连接控制。虽然避免了双重重传的问题,但是全部的数据流量走UDP隧道也带来了一定的局限性,一是对VPN内的某些重要应用会发生丢包,比如ICMP (Internet Control Message Protocol互联网控制报文协议)等一系列非TCP/UDP的协议数据,二是缺乏足够的灵活性来满足不同的用户及系统管理人员的特殊需求。


【发明内容】

[0009]为克服已有技术中存在的问题,本发明的目的是提供一种高速传输隧道的实现方法及系统,用以解决TCP流量超时重传和SSL VPN隧道本身重传的双重重传问题,同时解决UDP应用在TCP隧道中传输实时性欠佳的问题、以及解决非TCP/UDP协议数据走UDP隧道产生的丢包问题。
[0010]本发明是一种高速传输隧道的实现方法,包括按照TCP协议传输的方法,还包括以下步骤:
[0011]步骤一,在VPN客户端与VPN服务器端建立SSL连接,加密传输VPN配置;
[0012]步骤二,切换SSL连接为SSL VPN隧道,同时建立DTLS VPN隧道;
[0013]步骤三,判断VPN客户端协议类型;
[0014]步骤四,对于非TCP/UDP的流量,让其继续走SSL VPN隧道,对于TCP/UDP的流量,让其走所述的DTLS VPN隧道。
[0015]进一步地,当VPN客户端配置了流量管理策略,则上述步骤一还包括加密传输流量管理策略的步骤,相应地,在上述步骤二与步骤三之间,还包括根据VPN客户端(包括客户端VPN设备的管理人员)配置的流量管理策略选择走SSL VPN隧道还是DTLS VPN隧道的步骤。
[0016]本发明是一种高速传输隧道的系统,是由VPN客户端通过SSL VPN隧道连接VPN服务器端构成,其中,在所述的VPN客户端包括有协议类型判断模块,同时在VPN客户端与VPN服务器端连接有DTSL VPN隧道。
[0017]所述的VPN客户端还包括有流量管理策略模块。
[0018]本发明揭示的方法及系统,解决了 TCP流量超时重传和SSL VPN隧道本身重传的双重重传问题,同时解决了 m)P应用在TCP隧道中传输实时性欠佳、以及非tcp/udp协议数据走UDP隧道产生的丢包问题。

【专利附图】

【附图说明】
[0019]图1是本发明方法步骤示意图;
[0020]图2是本发明系统应用的一种实施例示意框图。

【具体实施方式】
[0021]在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也是本申请各权利要求所要求保护的技术方案。
[0022]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
[0023]如图1所示,本发明一种高速传输隧道的实现方法,包括按照TCP协议传输的方法,还包括以下步骤:
[0024]步骤一,在VPN客户端与VPN服务器端建立SSL连接,加密传输VPN配置;
[0025]步骤二,切换SSL连接为SSL VPN隧道,同时建立DTLS VPN隧道;
[0026]步骤三,判断VPN客户端协议类型;
[0027]步骤四,对于非TCP/UDP的流量,让其继续走SSL VPN隧道,对于TCP/UDP的流量,让其走所述的DTLS VPN隧道。
[0028]再如图1,进一步地,当VPN客户端配置了流量管理策略,则上述步骤一还包括加密传输流量管理策略的步骤,相应地,在上述步骤二与步骤三之间,还包括根据VPN客户端(包括VPN设备的管理人员)配置的流量管理策略选择走SSL VPN隧道还是DTLS VPN隧道的步骤。
[0029]对于非TCP/UDP的流量,让其继续走SSL VPN隧道,所述的非TCP/UDP的流量,比如ICMP协议,因为它们本身不提供像TCP协议一样的可靠性,当VPN客户端使用PING命令来检测VPN隧道的工作状况时,如果发生丢包就会影响结果的预期。同时,所述的非TCP/UDP协议,可能本身没有考虑丢包的问题,当通过VPN访问的时候,建议选择SSL VPN隧道来保证可靠性。
[0030]对于TCP/UDP的流量,让其走所述的DTLS VPN隧道。DTLS VPN是基于UDP传输的,由于m)P是非可靠传输协议且不会产生重传,这样当DTLS VPN隧道内的TCP流量发生丢包时,仅DTLS VPN隧道内的TCP流量连接会发生重传,因而可以从根本上避免了 TCP流量双重重传现象。而对于普通的UDP流量数据,其实可以选择其中任何一个隧道,当然在没有流量管理策略的前提下我们会首选DTLS VPN隧道,因为UDP应用是允许丢包的,并且DTLS具有和TLS —样的安全性,所以我们完全可以采用DTLS VPN来实现安全隧道。
[0031]同时对于隧道内的对传输实时性要求较高的这类UDP应用的流量数据,我们完全可以采用强制性的管理策略来要求其必须通过基于UDP的DTLS VPN隧道来传输,因为Μ)Ρ的隧道没有任何的流量控制,能保证这类UDP应用的实时性,所述的UDP应用包括TFTP (Trivial File Transfer Protocol,简单文件传输协议)、SNMP (Simple NetworkManagement Protocol,简单网络管理协议)、NFS (Network File System 网络文件系统)、DNS (Domain Name System域名系统)、网络游戏、视频聊天、语音聊天及VOIP等适用UDP协议传输的应用。
[0032]对于流量管理策略,它体现了双隧道方案的足够灵活性。不仅可以让VPN客户端自己选择哪些流量走哪个隧道,而且VPN设备的管理人员也能根据实际需求来调整数据流量的分配,同时能够应对各种网络情况及一些特殊需求。比如用户基于UDP设计的自定义协议,可能是基于局域网设计的、未考虑丢包的,当通过VPN访问的话就不能简单的按照前面提到的方式走DTLS VPN隧道了,对于这种特例,可以通过流量管理策略来解决。同时,也可能有VPN设备的管理人员有其它特殊的需求,需要定制哪些流量走哪个隧道。
[0033]归纳以上,本发明方法的关键是实现SSL VPN和DTLS VPN双隧道机制来支持各种网络应用:对于非TCP/UDP的流量,让其继续走SSL VPN隧道;对于TCP/UDP的流量,让其走DTLS VPN隧道。同时为设置和使用方便还可增加一个流量管理策略步骤,让VPN客户端自己选择哪些流量走哪个隧道,使得双隧道方案有足够灵活性,以应对各种网络情况及一些特殊需求。
[0034]本发明对于TCP/UDP流量也可以使用自定义的协议来实现UDP隧道。
[0035]如图2所示,为本发明一种高速传输隧道的系统的实施例示意框图,该系统是由VPN客户端100通过SSL VPN隧道200与DTSLVPN隧道300连接VPN服务器端400及单位内网500等构成;在所述的VPN客户端包括有TCP/IP协议栈110、路由模块120、虚拟网卡130及VPN进程模块140,在VPN进程模块中包括有协议类型判断模块141,同时还可以包括有流量管理策略模块142,所述的VPN客户端可以是PC机、平板电脑、智能手机等可用于连接互联网络通信的设备;所述的VPN服务器端包括有VPN服务模块410及TCP/IP协议栈420 等。
[0036]需要说明的是,本发明各设备实施方式中提到的各单元都是逻辑单元,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明没有引入上述各设备实施方式以及与解决本发明所提出的技术问题关系不太密切的单元,但这并不表明不存在上述设备实施方式以及其它有关实施单元。
[0037]虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
【权利要求】
1.一种高速传输隧道的实现方法,包括按照TCP协议传输的方法,其特征是还包括以下步骤: 步骤一,在VPN客户端与VPN服务器端建立SSL连接,加密传输VPN配置; 步骤二,切换SSL连接为SSL VPN隧道,同时建立DTLS VPN隧道; 步骤三,判断VPN客户端协议类型; 步骤四,对于非TCP/UDP的流量,让其继续走SSL VPN隧道,对于TCP/UDP的流量,让其走所述的DTLS VPN隧道。
2.根据权利要求1所述的一种高速传输隧道的实现方法,其特征是当VPN客户端配置了流量管理策略,则上述步骤一还包括加密传输流量管理策略的步骤,相应地,在上述步骤二与步骤三之间,还包括根据VPN客户端配置的流量管理策略选择走SSL VPN隧道还是DTLS VPN隧道的步骤。
3.一种高速传输隧道的实现系统,是由VPN客户端通过SSL VPN隧道连接VPN服务器端构成,其特征是在所述的VPN客户端包括有协议类型判断模块,对应地在VPN客户端与VPN服务器端连接有DTSL VPN隧道。
4.根据权利要求3所述的一种高速传输隧道的实现系统,其特征是所述的VPN客户端还包括有流量管理策略模块。
【文档编号】H04L1/18GK104426732SQ201310362224
【公开日】2015年3月18日 申请日期:2013年8月19日 优先权日:2013年8月19日
【发明者】王黎, 刘志永, 吉岭 申请人:华耀(中国)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1