一种跨运营商网络的VPN数据处理方法及装置制造方法及图纸

技术编号:8132479 阅读:245 留言:0更新日期:2012-12-27 05:26
本发明专利技术涉及数据通信领域,尤其涉及一种跨运营商网络的VPN数据处理方法及装置。本发明专利技术提供双隧道二次封装并采用可靠的TCP或SSL连接,相对于只封装一次的IPSEC隧道,掉包现象会大大减少。本发明专利技术通过步骤一创建TUN设备,并在VPN系统中注册为虚拟网卡,然后通过设置虚拟路由,使位于不同电信运营商网络的VPN数据流通过该虚拟网卡等步骤及装置完成本设计,本发明专利技术应用于跨运营商网络的VPN数据处理领域。

【技术实现步骤摘要】

本专利技术涉及数据通信领域,尤其涉及一种跨运营商网络的VPN数据处理方法及装置
技术介绍
目前,随着互联网的发展,用户数量呈现出爆炸性增长,网络带宽承受着越来越大的压力,各运营商纷纷采用QoS技术对不同的应用进行流量控制。基于TCP的HTTP、HTTPS、FTP等主流数据应用得到较好的带宽保障,而基于TCP之外的协议的应用,如UDP或IPSEC 等都得不到服务质量方面的保障。特别是在跨运营商网络的时候,这个问题显得尤为突出。IPSEC隧道封装的数据包在不同运营商网络之间进行传输时,掉包和延迟现象严重,几乎不能保障正常的业务运转。由于IPSEC协议本身是面向无连接的,缺乏接收确认、流量控制和超时重传等可靠性保障机制,必须结合其他的网络协议和技术才能解决IPSEC数据报文跨运营商网络传输时丢包和低效的问题。
技术实现思路
本专利技术的目的在于提供一种采用双隧道技术跨运营商网络的VPN实现方法,旨在解决现有技术中由于IPSEC协议本身是面向无连接的,导致IPSEC隧道封装的数据包在不同运营商网络之间进行传输时,掉包和延迟现象严重,几乎不能保障正常的业务运转的问题。本专利技术提供双隧道二次封装并采用可靠的TCP或SSL连接,相对于只封装一次的IPSEC隧道,掉包现象会大大减少。本专利技术采用的技术方案如下 一种跨运营商网络的VPN数据处理方法包括如下步骤 步骤一创建TUN设备,并在VPN系统中注册为虚拟网卡,然后通过设置虚拟路由,使的位于不同电信运营商网络的VPN数据流通过该虚拟网卡; 步骤二 运行应用层守护进程通过外网物理网卡与位于不同电信运营商网络的VPN装置建立TCP或SSL连接; 步骤三TUN设备负责在底层TCP/IP协议栈和应用层守护进程之间转发数据; 步骤四应用层守护进程在TUN设备与位于不同电信运营商网络的VPN装置之间转发数据; 所述步骤三中TUN设备负责在系统底层TCP/IP协议栈和应用层守护进程之间转发数据具体过程是 1)TUN设备接收数据应用层守护进程对来自不同电信运营商网络的VPN数据进行一次隧道解封装后发送至TUN设备,该数据通过虚拟网卡送给底层TCP/IP协议栈进行二次隧道解封装; 2)TUN设备发送数据底层TCP/IP协议栈对通过内网物理网卡接受的到不同电信运营商网络的VPN数据,进行一次隧道封装后通过TUN设备传送给应用层守护进程进行二次隧道封装; 所述步骤四中应用层守护进程在TUN设备与位于不同电信运营商网络的VPN装置之间转发数据具体过程是 1)应用层守护进程接收数据外网物理网卡接收来自不同电信运营商网络的VPN数据,通过底层TCP/IP协议栈和SOCKET连接将数据传送至应用层守护进程,进行一次隧道解封装处理后发送至TUN设备; 2)应用层守护进程发送数据应用层守护进程接收从TUN设备发送的一次隧道封装数据,进行二次隧道封装处理后,通过底层TCP/IP协议栈、SOCKET连接和外网物理网卡将二次隧道封装数据发送至不同电信运营商网络的VPN装置。所述步骤四中二次隧道封装是通过不加密的TCP协议或SSL协议进行,TCP协议根据网络的QoS状态进行动态设置,所述协议端口可通过HTTP协议、FTP协议或HTTPS等协议实现。 所述步骤三中一次隧道封装具体过程是将通过内网物理网卡接收到的原始数据加载IP包头,并进行加密封装成IPSEC隧道模式报文,其中所述IP包头包括本地VPN装置的虚拟网卡IP作为源IP地址、对端VPN装置的虚拟网卡IP作为目的IP地址; 所述步骤三中二次解封装具体过程是将应用层守护进程发送至底层TCP/IP协议栈的数据进行IPSEC包头解封装和解密处理; 所述步骤四中二次隧道封装具体过程是将通过TUN设备接收到的一次隧道封装数据采用TCP或SSL数据格式进行数据二次隧道封装,封装格式包括加载二次IP包头,所述二次IP包头包括本地VPN装置的IP作为源IP地址、对端不同电信运营商网络VPN装置的IP作为目的IP地址,并通过步骤二中建立的TCP或SSL连接将二次隧道封装后的数据报文发送给不同电信运营商网络的VPN装置; 所述步骤四中一次解封装具体过程是将来自不同电信运营商网络的VPN数据剥离外层的SSL或TCP封装。一种跨运营商网络的VPN数据处理装置包括 初始化模块,用于创建TUN设备并注册为虚拟网卡,并设置虚拟路由,将到不同电信运营商网络的VPN隧道路由到该虚拟网卡,启动应用层守护进程并与位于不同电信运营商网络的VPN建立TCP或SSL连接; IPSEC隧道模块,工作在系统底层TCP/IP协议栈,用于对内网物理网卡接受的数据进行一次隧道封装并发送至TUN设备;或者用于对通过TUN设备接受的数据进行二次解封装并发送数据至内网物理网卡; 虚拟网络通道模块,用于通过TUN设备在系统底层TCP/IP协议栈的IPSEC隧道模块和以应用层守护进程形式存在的应用层隧道模块之间转发数据; 应用层隧道模块,以应用层守护进程的形式存在,用于将从TUN设备接收到的一次隧道封装数据进行二次隧道封装并通过TCP或SSL连接发送到不同电信运营商网络的VPN装置;将通过外网物理网卡、系统底层TCP/IP协议栈和SOCKET连接接收到的来自不同电信运营商网络的VPN数据进行一次解封装后传递给TUN设备。所述虚拟网络通道模块用于通过TUN设备在系统底层TCP/IP协议栈和应用层守护进程之间转发数据的过程是1)TUN设备接收数据应用层守护进程对来自不同电信运营商网络的VPN数据进行一次隧道解封装后发送至TUN设备,该数据通过虚拟网卡送给底层TCP/IP协议栈进行二次隧道解封装; 2)TUN设备发送数据底层TCP/IP协议栈对通过内网物理网卡接受的到不同电信运营商网络的VPN数据,进行一次隧道封装后通过TUN设备传送给应用层守护进程进行二次隧道封装; 所述在应用层进行二次隧道封装,外层隧道可采用TCP协议或SSL协议。TCP协议端 口可进行动态设置,配置为QoS较有保障的端口。所述TUN设备是一种字符型设备,用于应用层和底层之间进行点到点的数据传输。本专利技术的突出优点是本专利技术通过将系统协议栈底层封装的IPSEC隧道数据报文传递到应用层,再进行一次基于可靠连接协议的封装,构成两层隧道,并通过TCP或SSL连接发送到不同电信运营商网络的VPN装置,因为二层的封装采用的TCP或SSL连接在电信运营商的网络中都是有QoS保障的,从而可以极大地提高IPSEC数据报文跨运营商网络传输的可靠性。附图说明本专利技术将通过例子并参照附图的方式说明,其中 图I是本专利技术实现流程 图2是本专利技术数据处理实现模型; 图3是本专利技术装置原理图。具体实施例方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书(包括任图何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。TUN设备是注册为虚拟网卡的TUN设备,TUN是操作系统内核中的虚拟网络设备。不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部本文档来自技高网...

【技术保护点】
一种跨运营商网络的VPN数据处理方法,其特征在于包括如下步骤:步骤一:创建TUN设备,并在VPN系统中注册为虚拟网卡,然后通过设置虚拟路由,使位于不同电信运营商网络的VPN数据流通过该虚拟网卡;步骤二:运行应用层守护进程通过外网物理网卡与位于不同电信运营商网络的VPN装置建立TCP或SSL连接;步骤三:TUN设备负责在底层TCP/IP协议栈和应用层守护进程之间转发数据;步骤四:应用层守护进程在TUN设备与位于不同电信运营商网络的VPN装置之间转发数据。

【技术特征摘要】
1.一种跨运营商网络的VPN数据处理方法,其特征在于包括如下步骤 步骤一创建TUN设备,并在VPN系统中注册为虚拟网卡,然后通过设置虚拟路由,使位于不同电信运营商网络的VPN数据流通过该虚拟网卡; 步骤二 运行应用层守护进程通过外网物理网卡与位于不同电信运营商网络的VPN装置建立TCP或SSL连接; 步骤三TUN设备负责在底层TCP/IP协议栈和应用层守护进程之间转发数据; 步骤四应用层守护进程在TUN设备与位于不同电信运营商网络的VPN装置之间转发数据。2.根据权利要求I所述的一种跨运营商网络的VPN数据处理方法,其特征在于所述步骤三中TUN设备负责在系统底层TCP/IP协议栈和应用层守护进程之间转发数据具体过程是 O TUN设备接收数据应用层守护进程对来自不同电信运营商网络的VPN数据进行一次隧道解封装后发送至TUN设备,该数据通过虚拟网卡送给底层TCP/IP协议栈进行二次隧道解封装; 2) TUN设备发送数据底层TCP/IP协议栈对通过内网物理网卡接受的到不同电信运营商网络的VPN数据,进行一次隧道封装后通过TUN设备传送给应用层守护进程进行二次隧道封装。3 根据权利要求2所述的一种跨运营商网络的VPN数据处理方法,其特征在于所述步骤四中应用层守护进程在TUN设备与位于不同电信运营商网络的VPN装置之间转发数据具体过程是 O应用层守护进程接收数据外网物理网卡接收来自不同电信运营商网络的VPN数据,通过底层TCP/IP协议栈和SOCKET连接将数据传送至应用层守护进程,进行一次隧道解封装处理后发送至TUN设备; 2)应用层守护进程发送数据应用层守护进程接收从TUN设备发送的一次隧道封装数据,进行二次隧道封装处理后,通过底层TCP/IP协议栈、SOCKET连接和外网物理网卡将二次隧道封装数据发送至不同电信运营商网络的VPN装置。4.根据权利要求I至3之一所述的一种跨运营商网络的VPN数据处理方法,其特征在于所述步骤四中二次隧道封装是通过不加密的TCP协议或SSL协议进行,TCP协议根据网络的QoS状态进行动态设置,所述协议端口可通过HTTP协议、FTP协议或HTTPS协议等实现。5.根据权利要求4所述的一种跨运营商网络的VPN数据处理方法,其特征在于所述步骤三中一次隧道封装具体过程是底层TCP/IP协议栈将通过内网物理网卡接收到的原始数据加载IP包头,并进行加密封装成IPSEC隧道模式报文,其中所述IP包头包括本地VPN装置的虚拟网卡IP作为源IP地址、对端VPN装置的虚拟网卡IP作为目的IP地址; 所述步骤三中二次隧道解封装具体过程是底层TCP/IP协议栈将应用层守护进程发送至底层TCP/IP协议栈的数据进行IPSEC隧道包头解封装和解密处理。6.根据权利要求5所述的一...

【专利技术属性】
技术研发人员:罗俊
申请(专利权)人:成都卫士通信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1