CN102801695B - 虚拟专用网通信设备及其数据包传输方法 - Google Patents

虚拟专用网通信设备及其数据包传输方法 Download PDF

Info

Publication number
CN102801695B
CN102801695B CN201110141389.8A CN201110141389A CN102801695B CN 102801695 B CN102801695 B CN 102801695B CN 201110141389 A CN201110141389 A CN 201110141389A CN 102801695 B CN102801695 B CN 102801695B
Authority
CN
China
Prior art keywords
microsoft loopback
loopback adapter
packet
physical network
vpn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110141389.8A
Other languages
English (en)
Other versions
CN102801695A (zh
Inventor
朱彦军
吉岭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huayao Technology Co., Ltd
Original Assignee
ARRAY NETWORKS (BEIJING) Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ARRAY NETWORKS (BEIJING) Inc filed Critical ARRAY NETWORKS (BEIJING) Inc
Priority to CN201110141389.8A priority Critical patent/CN102801695B/zh
Publication of CN102801695A publication Critical patent/CN102801695A/zh
Application granted granted Critical
Publication of CN102801695B publication Critical patent/CN102801695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及数据传输领域,公开了一种虚拟专用网通信设备及其数据包传输方法。本发明中,通过调度单元,N组虚拟网卡、物理网卡和加密单元,可以形成N个加密的虚拟专用网通道,并按照一定的规则,使用户在不安全的网络中可以大流量且安全可靠地传输数据。N个物理网卡所用的无线物理网络,分别属于至少两个运营商,可以大大提高该设备通信的稳定性。

Description

虚拟专用网通信设备及其数据包传输方法
技术领域
本发明涉及数据传输领域,特别涉及基于虚拟专用网的数据包传输技术。
背景技术
虚拟专用网(Virtual Private Networking,简称“VPN”)是一条穿过混乱公用网的暂时、安全和稳定的隧道连接,在扩展企业内部网方面,帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网络建立可信的安全连接,并保证数据的安全传输。组建虚拟专用网应具有安全保障、服务质量保证、可扩充性和灵活性、以及可管理性特点。
针对不同的用户要求,VPN有三种解决方案:远程访问虚拟网(AccessVirtual Private Networking,简称“Access VPN”)、企业内部虚拟网(VirtualPrivate Networking,简称“Intranet VPN”)和企业扩展虚拟网(Virtual PrivateNetworking,简称“Extranet VPN”),这三种类型的VPN分别与传统的远程访问网络、企业内部的Intranet以及企业网和相关合作伙伴的企业网所构成的Extranet(外部扩展)相对应。其成功的VPN方案应当能够满足用户验证、地址管理、数据加密和密钥管理。VPN方案必须能够多协议支持和生成并更新客户端和服务器的加密密钥。
目前VPN主要采用四项技术来保证安全,这四项技术分别是隧道技术、加解密技术、密钥管理技术、使用者与设备身份认证技术。
隧道技术:隧道技术是VPN的基本技术,类似于点对点连接技术,它在公用网建立一条数据通道(隧道),让数据包通过这条隧道传输。
加解密技术:加解密技术是数据通信中一项较成熟的技术,VPN可直接利用现有技术。
密钥管理技术:密钥管理技术的主要任务是如何在公用数据网上安全地传递密钥而不被窃取。
实现VPN技术主要采用的协议有:主要对IP协议分组进行加密和认证的网际协议安全(Internet Protocol Security,简称“IPSec”),点对点隧道协议(Point to Point Tunneling Protocol,简称“PPTP”),第二层转发(协议)(Layer 2 Forwarding,简称“L2 F”),第二层隧道协议(Layer2 Tunnel Protocol,简称“L2TP”),和使用OpenSSL库加密数据与控制信息和SSL VPN等。
安全套接字协议(Secure Sockets Layer,简称“SSL”)是由Netscape公司开发的一套Internet数据安全协议,已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,简称“TCP/IP”)与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:用于建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能支持的SSL记录协议。以及建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等等的SSL握手协议。
SSL VPN是指采用一种网络安全协议SSL协议来实现远程接入的一种VPN技术。它包括:服务器认证、客户认证(可免)、SSL链路上的数据完整性和SSL链路上的数据保密性。对于外部网络来说,使用SSL可保证信息的真实性、完整性和保密性。
本发明的发明人发现,VPN则主要应用于虚拟连接网络,它可以确保数据的机密性并且具有一定的访问控制功能。但在在安全性方面,企业必须确保其VPN上传送的数据不被攻击者窥视和篡改,并且要防止非法用户对网络资源或私有信息的访问。广域网流量的不确定性使其带宽的利用率很低,在流量高峰时引起网络阻塞,产生网络瓶颈,使实时性要求高的数据得不到及时发送;而在流量低谷时又造成大量的网络带宽空闲。
目前SSL VPN软、硬件系统设备及其数据包传输方法主要支持单个VPN隧道的方式,可以满足一般用户需求。但是,在数据传输过程安全、用户身份验证、用户名加密码的验证方式及客户端设备的安全性等方面,单VPN隧道的方式并不能满足其大流量、高可靠性数据传输要求。
发明内容
本发明的目的在于提供一种虚拟专用网通信设备及其数据包传输方法,使用户在不安全的网络中可以大流量、安全可靠地传输数据。
为解决上述技术问题,本发明的实施方式提供了一种虚拟专用网通信设备,包括N个物理网卡、N个虚拟网卡、N个加密单元和一个调度单元,N>1;
调度单元用于在N个虚拟网卡中,为待发送的数据包选择一个虚拟网卡;
每个加密单元分别与一个虚拟网卡相对应,用于对需要从该虚拟网卡发送的数据包进行加密;
每个虚拟网卡分别有一个属于虚拟专用网的虚拟IP地址,并且分别与一个物理网卡绑定,用于将经加密单元加密的数据包转换成含有该虚拟IP地址的虚拟专用网数据包,再通过所绑定的物理网卡由物理网络发送出去。
本发明的实施方式还提供了一种虚拟专用网通信设备的数据包传输方法,该设备包括N个虚拟网卡和N个物理网卡,每个虚拟网卡分别有一个属于虚拟专用网的虚拟IP地址,并且分别与一个物理网卡绑定;
需要发送数据包时,包括以下步骤:
在N个虚拟网卡中,为待发送的数据包选择一个虚拟网卡;
对待发送的数据包进行加密;
将经加密的数据包转换含有该虚拟网卡的虚拟IP地址的虚拟专用网数据包;
将该虚拟专用网数据包通过该虚拟网卡所绑定的物理网卡由物理网络发送出去。
进一步的,接收数据包时,包括以下步骤:
物理网卡从物理网络收到数据包后,传给与该物理网卡绑定的虚拟网卡;
该虚拟网卡将含有该虚拟网卡的虚拟IP地址的虚拟专用网数据包转换为指定格式数据包;
对该指定格式数据包进行解密;
将从各虚拟网卡收到并解密的数据包进行汇集。
进一步的,所述为待发送的数据包选择一个虚拟网卡的步骤中,将同一个会话中的数据包分配给至少两个所述虚拟网卡。
进一步的,所述为待发送的数据包选择一个虚拟网卡的步骤中,
识别待发送的数据包中是否含有控制信息,如果是,则将该数据包通过指定的虚拟网卡发送,否则将该数据包通过其它的虚拟网卡发送。
进一步的,所述为待发送的数据包选择一个虚拟网卡的步骤中,
将同一种协议类型的数据包发给同一个虚拟网卡,或者,
根据数据包的目的地址所在的地址段,确定要选择的虚拟网卡,或者,
根据各虚拟网卡的缓冲区被占用的程度,确定要选择的虚拟网卡,或者,
根据各虚拟网卡所在虚拟专用网的metrics值大小,确定要选择的虚拟网卡。
进一步的,所述N个物理网卡所使用的N个物理网络中,至少有一个物理网络所属的运营商与其它物理网络不同,或者,至少有一个物理网络的类型与其它物理网络不同。
本发明实施方式与现有技术相比,主要区别及其效果在于:
通过调度单元,N组虚拟网卡、物理网卡和加密单元,可以形成N个加密的虚拟专用网通道,从而使用户在不安全的网络中可以大流量且安全可靠地传输数据。
进一步地,将同一个会话中的数据分在至少两个虚拟网卡中发送,可以进一步地提高通信的安全性。
进一步地,将含有控制信息的数据包通过传输质量相对较好的指定虚拟网卡发送,其它数据包通过另外的虚拟网卡发送,一方面可以提高通信加密的效果,另一方面可以保护相对重要的控制信息被可靠地传输,从整体上提高了通信的可靠性。
进一步地,N个物理网卡所用的无线物理网络,分别属于至少两个运营商,可以大大提高该设备通信的稳定性。
进一步地,N个物理网卡所用的物理网络,也可以分别属于至少两种不同类型的无线网络,也可以大大提高该设备通信的稳定性。
附图说明
图1是本发明第一实施方式中一种虚拟专用网通信设备示意图;
图2是本发明第七实施方式中一种虚拟专用网通信设备中数据包发送流程示意图;
图3是本发明第八实施方式中一种虚拟专用网通信设备中数据包接收流程示意图;
图4是本发明第二实施方式中SSL VPN客户端和SSL VPN网关服务器的结构示意图;
图5是第二实施方式中虚拟专用网通信设备使用SSL VPN时的一个应用场景的网络结构示意图;
图6是本发明第一实施方式中所涉及的虚拟网卡工作原理图;
图7是本发明第一实施方式中一个应用实例的网络结构示意图。
图8是本发明第十一实施方式中所涉及的虚拟网卡选择中的数据内容分发的流程示意图;
图9是本发明第十一实施方式中所涉及的虚拟网卡选择中的IP地址范围选择的流程示意图;
图10是本发明第二实施方式中每个VPN隧道数据发送流程示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
为使本发明的发明目的、技术方案和优点的理解更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明第一实施方式涉及一种虚拟专用网通信设备。如图1所示,该虚拟专用网通信设备包括N个物理网卡、N个虚拟网卡、N个加密单元和N个解密单元、一个调度单元、一个汇集单元,N>1。在本发明的一个优选实例中,加密单元和解密单元可以合并在一起,如图1中的“加/解密单元”。
每个加密或解密单元与一个虚拟网卡一一映射(一一对应),通过其虚拟网卡并根据SSL的规则,实现发送数据的加密或接收数据包的解密功能。VPN用户态(或称为应用层、应用程序等)发送数据时,每个加密单元用于对需要从该虚拟网卡发送的数据包进行加密,其加密方法可以理解为每个加密单元加密方法通常都是不同的,例如使用不同的密钥,也可以是使用不同的加密算法。
每个虚拟网卡分别被预先分配一个虚拟专用网的虚拟IP地址,用于将已加密的数据包转换成含有该虚拟IP地址的虚拟专用网数据包,再经该虚拟网卡对应绑定的物理网卡,将已转换的虚拟专用网数据包通过物理网络发送出去。
汇集单元用于将经N个解密单元解密的数据包进行汇集。
调度单元用于在N个虚拟网卡中,为待发送的数据包选择一个虚拟网卡。
当VPN用户态需要接受收据包时,每个物理网卡将从物理网络中收到的数据包传给与该物理网卡在第二层或第三层对应绑定的虚拟网卡,该虚拟网卡将含有该其虚拟IP地址的虚拟专用网数据包转换为指定格式数据包,再经与该虚拟网卡相应的解密单元解密后发送到汇集单元,该汇集单元将经N个解密单元解密的数据包汇集后上传到VPN用户态。
通过所述调度单元,虚拟网卡、物理网卡、加密和解密单元,可以形成N个加密或解密的虚拟专用网通道,从而使用户在不安全的网络中可以大流量且安全可靠地传输数据。
一般来说本发明的VPN通信设备需要有发送部分和接收部分,在特定情况下,也可以只有发送部分,例如某些数据采集终端,只需要上报数据。另一种情况是通信设备有发送部分和接收部分,但只在发送部分采用本发明的技术方案,而在接收部分采用现有的技术方案。在只有发送部分的情况下,汇集单元可以没有,加/解密单元可以不要解密单元。
在本发明的优选例中,如图6所述虚拟网卡通过驱动程序TUN/TAP对字符设备和以太网设备驱动实现VPN用户态发送和接收数据包。其中TUN,TAP分别表示虚拟对象是点对点设备和以太网设备,这两种不同的设备对网络数据包的封装形式是不同的。从TCP/IP协议栈的角度看,虚拟网卡和物理网卡没有什么区别;但是从驱动程序角度看,驱动程序TUN/TAP并不直接和实际的物理网卡交换,而是通过用户态接收和发送数据包。驱动程序TUN/TAP中包含两个部分,一部分是字符设备驱动,另一部分是网卡驱动。虚拟网卡利用网卡驱动部分接收来自TCP/IP协议栈的网络数据包并发送到用户态或反过来将从用户态接收到的网络数据包传给TCP/IP协议栈处理。而字符驱动部分则将网络数据包在内核态与用户态之间传送,模拟物理链路的数据接收和发送。驱动程序TUN/TAP很好地实现了网卡驱动和字符驱动的结合。
在本发明的优选例中,N个物理网卡使用无线的物理网络,所用的无线物理网络,分别属于至少两个运营商,可以大大提高该设备通信的稳定性。
在本发明的优选例中,N个物理网卡所使用的N个物理网络中,至少有一个物理网络所属的运营商与其它物理网络不同。例如,有三个物理网卡,使用三个物理网络,其中两个物理网卡所用的物理网络属于一个运营商,另一个物理网卡所用的物理网络属于另一个运营商。在本发明的其他实例中,多个物理网卡也可以用同一个物理网络,或同一个运营商下的不同物理网络。
图7示出了本发明一个具体应用实例的网络结构图。3个数据采集设备把采集到的数据通过安全的方式把传输给VPN客户端。VPN客户端通过2个电信的3G上网卡和2个联通的3G上网卡通过电信的3G网络和联通的3G网络与VPN服务器端建立了4条VPN隧道。VPN客户端把收到的数据通过这4条VPN隧道传送给VPN服务器端。VPN服务器端解密收到的数据,把数据安全地传送给内网的数据处理服务器。
本发明的配置方式可如下:
在客户机上安装VPN客户端;
VPN客户端通过4个3G上网卡拨号连接到VPN服务器端;
VPN客户端创建4条分别与4个3G网络链路绑定的VPN隧道;
本发明启动后,数据采集设备采集到的数据就安全传送到数据处理服务器。
可以理解,所用的网络并非一定要全部是无线的,在本发明的其他实例中,N个物理网卡中的一个或多个也可以使用有线的物理网络。
本发明第二实施方式涉及一种虚拟专用网通信设备。
第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:VPN为SSL VPN,这使得通信具有更好的保密效果。
图4是SSL VPN客户端和SSL VPN网关服务器的结构示意图。其中包括,
属于SSL VPN的虚拟网卡。
SSL处理单元,用于传输数据包的加密和解密功能。其中包括了根据SSL的规则进行加密和解密的加密单元和解密单元。
VPN主控单元,用于交换密钥信息、加密算法协商和建立安全隧道。
绑定单元,用于虚拟网卡根据媒体访问控制(Medium Access Control,简称“MAC”)地址或IP地址和真实网卡实现第二层或第三层绑定。
在本发明的一个优先实例中,调度单元还可以进一步包括:
数据特性提取模块:根据选路的需要,从数据包中提取数据包的特性,数据包特性包括目的IP地址,源IP地址,目的端口号,源端口号,应用层协议(如http,ftp,telnet,ssh等)。
VPN隧道选路规则模块:用户选定某些规则,根据这些规则,依据数据包的特性,从多条VPN隧道中选择一条合适的隧道,有多条VPN隧道符合条件时,选择最先查找到的那条隧道。规则包括目的或源IP地址的范围,应用层协议类型和目的或源端口号范围等。
图5是虚拟专用网通信设备使用SSL VPN时的一个应用场景的网络结构示意图。下面从整个网络的角度进行说明。
其中包括SSL VPN客户端,不同的网络和SSL VPN服务器。不同的网络指的是教育网、科技网或者公网,有线网或无线网,或者不同的局域网。用户启动客户端软件,配置好虚拟网卡TUN设备与真实网卡的绑定,这样客户端通过不同的网络与服务器建立了多个VPN隧道。用户根据自己的需要在客户端配置不同的VPN隧道选路规则。然后需要加密的数据就根据客户配置的VPN隧道规则,选择不同的VPN隧道,安全地到达服务器。
多VPN隧道系统中VPN隧道是彼此独立的,每个VPN隧道单独与VPN服务器端进行数据交互,互不影响。但是每个VPN隧道与VPN服务器进行数据交换的流程是一样的。VPN隧道数据交互的网络通信流程可分为三部分:SSL隧道的建立、客户端数据的发送以及接收。
每个VPN隧道在进行数据通信之前必须先建立SSL隧道,隧道建立流程如下:
1)客户端VPN主控模块向VPN服务器外网IP地址发出建立SSL隧道的请求;
2)VPN服务器的VPN主控模块监听到这一请求后,执行完与客户端加密算法、通信密钥协商以及用户身份认证,SSL隧道建立成功;
3)客户端启动虚拟网卡模块,并请求VPN服务器为客户端虚拟网卡分配一个内网IP地址,使其被虚拟为同一局域网。
因为在一个客户端主机有多个VPN隧道,对应着多个虚拟网卡,因此每个VPN隧道应该从VPN服务器获得不同的内网IP地址,并配置到对应的虚拟网卡上。至此,整个SSL隧道建立完成。重复上述过程,就可以建立多个VPN隧道。由于传输的数据包都经由SSL处理模块加密,因此可保证隧道传输的安全性。
每个VPN隧道数据发送流程如图10所示:
1)客户端上层应用程序将数据包通过二层/三层网卡绑定技术发送至虚拟网卡;
2)客户端VPN主控模块将虚拟网卡上的数据包通过字符驱动传输到用户空间,并调用SSL处理模块对数据包进行加密等相关操作,然后将加密后的数据发送到二层/三层绑定的真实网卡;
3)真实网卡对数据包的目的地址进行检查,只有目的地址为VPN服务器的数据包才会经由SSL隧道发送,其它数据包均被过滤;
4)VPN服务器将接收到的数据包通过SSL处理模块进行解密等相关操作后,经由字符驱动模块转发至虚拟网卡;
5)服务器端Linux以太网桥模块检查虚拟网卡上的数据包的内网目的地址和端口号,并依据此将数据包转发至相应主机。
每个VPN隧道的数据接收流程与上述发送流程互逆,并且每一步的操作基本类似。客户端在接收到数据包后,先由二层绑定技术检查数据包的源地址,只有来自VPN服务器的数据包才会经过SSL处理模块处理,并最终到达上层应用,否则数据包将被过滤。
可以理解,本发明的技术方案也可以应用于非SSL VPN的情况。
本发明第三实施方式涉及一种虚拟专用网通信设备。
第三实施方式在第二实施方式的基础上进行了改进,主要改进之处在于:将同一个会话中的数据分在至少两个虚拟网卡中发送,可以进一步地提高通信的安全性。具体地说:
调度单元在选择虚拟网卡时,将同一个会话中的数据包分配给至少两个虚拟网卡。
本发明第四实施方式涉及一种虚拟专用网通信设备。
第四实施方式与第三实施方式基本相同,区别主要在于:
调度单元在选择虚拟网卡时,识别待发送的数据包中是否含有控制信息,如果是,则将该数据包通过指定的虚拟网卡发送,否则将该数据包通过其它的虚拟网卡发送。
将含有控制信息的数据包通过传输质量相对较好的指定虚拟网卡发送,其它数据包通过另外的虚拟网卡发送,一方面可以提高通信加密的效果,另一方面可以保护相对重要的控制信息被可靠地传输,从整体上提高了通信的可靠性。
包含控制信息的数据包有:文件传输协议(File Transfer Protocol,简称“ftp server FTP”)的控制信息,邮局协议(Post Office Protocol,简称“POP”),简单邮件传输协议(Simple Message Transfer Protocol,简称“SMTP”),外寄邮件伺服器,发送邮件服务器的用户登录和握手的信息,TCP协议的建立连接握手信息,TCP协议的断开握手信息,TCP协议中的ACK,SYN,FIN,RST等数据包等等。
本发明第五实施方式涉及一种虚拟专用网通信设备。
第五实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:调度单元可以采取以下方式之一选择虚拟网卡,
调度单元将同一种协议类型的数据包发给同一个虚拟网卡,或者,
调度单元根据数据包的目的地址所在的地址段,确定要选择的虚拟网卡,或者,
调度单元根据各虚拟网卡的缓冲区被占用的程度,确定要选择的虚拟网卡,例如优先选择缓冲区占用百分比较小的虚拟网卡,或者,
调度单元根据各虚拟网卡所在虚拟专用网的metrics值大小,确定要选择的虚拟网卡。
具体地说:调度单元可以根据待加密数据的特性,依据一定的规则,从多条VPN隧道中选择一条合适的VPN隧道。加密数据的特性,主要是指IP包中封装的是UDP还是TCP数据,IP包的IP地址,端口号等。选择VPN隧道的规则有很多种,例如,当多个VPN隧道进行负载均衡时,规则可以定义为某个IP地址段走VPN隧道1,某个IP地址段的数据包走VPN隧道2,或者可以定义为UDP走VPN隧道1,TCP走VPN隧道2,等等;当多个VPN隧道充当冗余备份时,可以定义为当某个隧道的流量大于某个值时,发往该VPN隧道的数据包就不再发往该VPN隧道,而是发往它的备份VPN隧道,或者可以定义VPN隧道2的metrics值比VPN隧道1的metrics值大,这样TCP/IP协议栈在选择路由时,首选VPN隧道1,当VPN隧道1由于某种原因不能被选时,协议栈就会选择VPN隧道2来发送数据包,等等。当待发送的数据量特别大时,可以轮询这些VPN隧道,当某一VPN隧道缓冲区没有满时,就继续向这个缓冲区写入数据,如果该VPN隧道的缓冲区已经满了,就向下一个VPN隧道写入数据。
本发明第六实施方式涉及一种虚拟专用网通信设备。
第六实施方式与第一至第五实施方式基本相同,区别主要在于:
在第一实施方式中,N个物理网卡所使用的N个物理网络中,至少有一个物理网络所属的运营商与其它物理网络不同。
然而在第六实施方式中,N个物理网卡所使用的N个物理网络中,至少有一个物理网络的类型与其它物理网络不同。
N个物理网卡所用的物理网络,分别属于至少两种不同类型的无线网络,可以大大提高该设备通信的稳定性。
例如,有四个物理网卡,其中一号物理网卡使用通用分组无线业务(General Packet Radio Service,简称“GPRS”)网络,二号物理网卡使用增强数据速率的GSM演进方案(Enhanced Data Rates for GSMEvolution,简称“EDGE”)网络,三号和四号网卡使用宽带码分多址(Wideband Code Division Multiple Access,简称“WCDMA”)网络。
可以理解,在本发明的其他实例中,各物理网卡也可以使用同一种类型的网络。
需要说明的是,本发明各设备实施方式中提到的各单元都是逻辑单元,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。
本发明第七实施方式涉及一种虚拟专用网通信设备的数据包传输方法。该设备包括N个虚拟网卡和N个物理网卡,每个虚拟网卡分别有一个属于虚拟专用网的虚拟IP地址,并且分别与一个物理网卡绑定。图2是该虚拟专用网通信设备的数据包发送方法的流程示意图。该方法包括以下步骤:
在步骤201中,所述虚拟专用网通信设备中的调度单元为待发送的数据包在N个虚拟网卡中选择一个虚拟网卡,N>1。
此后进入步骤202,与被选择的虚拟网卡相对应的加密单元对待发送的数据包进行加密。
此后进入步骤203,被选择的虚拟网卡利用其属于虚拟专用网的虚拟IP地址,将已加密的数据包转换成含有该虚拟IP地址的虚拟专用网数据包。
此后进入步骤204,被选择的虚拟网卡所绑定的一个物理网卡,通过物理网络将该虚拟专用网数据包发送出去。
其中N个物理网卡所使用的N个物理网络中,N>1,至少有一个物理网络所属的运营商与其它物理网络不同,或者,至少有一个物理网络的类型与其它物理网络不同。
本实施方式是与第一或第二实施方式相对应的方法实施方式,本实施方式可与第一或第二实施方式互相配合实施。第一或第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一或第二实施方式中。
本发明第八实施方式涉及一种虚拟专用网通信设备的数据包传输方法。
第八实施方式在第七实施方式的基础上进行了扩展,图3是该虚拟专用网通信设备的数据包接收方法的流程示意图。具体地说:该方法包括以下步骤:
在步骤301中,虚拟专用网通信设备的物理网卡从物理网络接收数据包。
此后进入步骤302,物理网卡将收到的物理网络数据包转发给与该物理网卡绑定的虚拟网卡。
此后进入步骤303,该虚拟网卡将含有该虚拟网卡的虚拟IP地址的虚拟专用网数据包转换为指定格式数据包。
此后进入步骤304,虚拟专用网通信设备的解密单元对该指定格式数据包进行解密。
此后进入步骤305,虚拟专用网通信设备的汇集单元将从各虚拟网卡收到的解密数据包进行汇集。
本实施方式是与第一或第二实施方式相对应的方法实施方式,本实施方式可与第一或第二实施方式互相配合实施。第一或第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一或第二实施方式中。
本发明第九实施方式涉及一种虚拟专用网通信设备的数据包传输方法。
第九实施方式在第八实施方式的基础上进行了改进,主要改进之处在于:在步骤201中,将同一个会话中的数据包分配给至少两个虚拟网卡。
本实施方式是与第三实施方式相对应的方法实施方式,本实施方式可与第三实施方式互相配合实施。第三实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第三实施方式中。
本发明第十实施方式涉及一种虚拟专用网通信设备的数据包传输方法。
第九实施方式在第六实施方式的基础上进行了改进,主要改进之处在于:在步骤201中,
识别待发送的数据包中是否含有控制信息,如果是,则将该数据包通过指定的虚拟网卡发送,否则将该数据包通过其它的虚拟网卡发送。
本实施方式是与第四实施方式相对应的方法实施方式,本实施方式可与第四实施方式互相配合实施。第四实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第四实施方式中。
本发明第十一实施方式涉及一种虚拟专用网通信设备的数据包传输方法。
第十一实施方式在第七实施方式的基础上进行了改进,主要改进之处在于:在步骤201中,
将同一种协议类型的数据包发给同一个虚拟网卡,或者,
根据数据包的目的地址所在的地址段,确定要选择的虚拟网卡,或者,
根据各虚拟网卡的缓冲区被占用的程度,确定要选择的虚拟网卡,或者,
根据各虚拟网卡所在虚拟专用网的metrics值大小,确定要选择的虚拟网卡。
下面举两个实例。
图8是虚拟网卡选择中数据内容分发的流程示意图。该方法包括以下步骤:
在步骤801中,读取IP数据包数据。
此后进入步骤802,检查IP数据包是否发生错误。
若数据错误,则丢弃该数据包,返回步骤801中;若数据正确,则进入步骤803。
在步骤803中,获得数据内容。
此后进入步骤804,将数据内容与内容数据分发规则对照。
此后进入步骤805,将IP数据包发送到规则指定的虚拟网卡处理。
图9是虚拟网卡选择中IP地址范围选择的流程示意图。该方法包括以下步骤:
在步骤901中,读取IP数据包数据。
此后进入步骤902中,检查IP数据包是否发生错误。
若数据错误,则返回步骤901中;若数据正确,则进入步骤903。
在步骤903中,与IP地址规则对照。
此后进入步骤904中,将IP数据报发送到规则指定的虚拟网卡处理。
本实施方式是与第五实施方式相对应的方法实施方式,本实施方式可与第五实施方式互相配合实施。第五实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第五实施方式中。
本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种虚拟专用网通信设备,其特征在于,包括一个调度单元,N组物理网卡、虚拟网卡和加密单元,N>1;
所述调度单元用于在N个虚拟网卡中,为待发送的数据包选择一个虚拟网卡,其中,所述调度单元在选择虚拟网卡时,将同一个会话中的数据包分配给至少两个虚拟网卡;
每个所述加密单元分别与一个所述虚拟网卡相对应,用于对需要从该虚拟网卡发送的数据包进行加密;
每个所述虚拟网卡分别有一个属于虚拟专用网的虚拟IP地址,并且分别与一个所述物理网卡绑定,用于将经所述加密单元加密的数据包转换成含有该虚拟IP地址的虚拟专用网数据包,再通过所绑定的物理网卡由物理网络发送出去;
该虚拟专用网络设备还包括N个解密单元,分别与一个所述虚拟网卡相对应,用于对从该虚拟网卡接收的数据包进行解密;
一个汇集单元,用于将经N个所述解密单元解密的数据包进行汇集;
所述物理网卡从物理网络收到数据包后,传给与该物理网卡绑定的虚拟网卡,该虚拟网卡将含有该虚拟网卡的虚拟IP地址的虚拟专用网数据包转换为指定格式数据包,再经与该虚拟网卡相对应的解密单元解密后发送到所述汇集单元。
2.根据权利要求1所述的虚拟专用网通信设备,其特征在于,所述虚拟网卡属于安全套接字分层SSL虚拟专用网;
所述加密单元和解密单元根据SSL的规则进行加密和解密;
还包括:
VPN主控单元,用于交换密钥信息、加密算法协商和建立安全隧道;
绑定单元,用于将虚拟网卡和物理网卡在第二层或第三层绑定。
3.根据权利要求1所述的虚拟专用网通信设备,其特征在于,所述调度单元在选择虚拟网卡时,识别待发送的数据包中是否含有控制信息,如果是,则将该数据包通过指定的虚拟网卡发送,否则将该数据包通过其它的虚拟网卡发送。
4.根据权利要求1所述的虚拟专用网通信设备,其特征在于,所述调度单元在选择虚拟网卡时,
所述调度单元将同一种协议类型的数据包发给同一个虚拟网卡,或者,
所述调度单元根据数据包的目的地址所在的地址段,确定要选择的虚拟网卡,或者,
所述调度单元根据各虚拟网卡的缓冲区被占用的程度,确定要选择的虚拟网卡,或者,
所述调度单元根据各虚拟网卡所在虚拟专用网的metrics值大小,确定要选择的虚拟网卡。
5.根据权利要求1至4中任一项所述的虚拟专用网通信设备,其特征在于,所述N个物理网卡使用无线的物理网络;
所述N个物理网卡所使用的N个物理网络中,至少有一个物理网络所属的运营商与其它物理网络不同。
6.根据权利要求1至4中任一项所述的虚拟专用网通信设备,其特征在于,所述N个物理网卡使用无线的物理网络;
所述N个物理网卡所使用的N个物理网络中,至少有一个物理网络的类型与其它物理网络不同。
7.一种虚拟专用网通信设备的数据包传输方法,其特征在于,该设备包括一个调度单元、一个汇集单元、N个虚拟网卡和N个物理网卡、N个加密单元和N个解密单元,N>1,每个虚拟网卡分别有一个属于虚拟专用网的虚拟IP地址,并且分别与一个物理网卡绑定;
需要发送数据包时,包括以下步骤:
所述调度单元在N个虚拟网卡中,为待发送的数据包选择一个虚拟网卡,其中,所述调度单元在选择虚拟网卡时,将同一个会话中的数据包分配给至少两个虚拟网卡;
所述加密单元对待发送的数据包进行加密,每个所述加密单元分别与一个所述虚拟网卡相对应;
将经加密的数据包转换含有该虚拟网卡的虚拟IP地址的虚拟专用网数据包;
将该虚拟专用网数据包通过该虚拟网卡所绑定的物理网卡由物理网络发送出去;
接收数据包时,包括以下步骤:
物理网卡从物理网络收到数据包后,传给与该物理网卡绑定的虚拟网卡;
该虚拟网卡将含有该虚拟网卡的虚拟IP地址的虚拟专用网数据包转换为指定格式数据包;
所述解密单元对该指定格式数据包进行解密,每个所述解密单元分别与一个所述虚拟网卡相对应;
将从各虚拟网卡收到并解密的数据包发送到所述汇集单元进行汇集。
8.根据权利要求7所述的虚拟专用网通信设备的数据包传输方法,其特征在于,所述为待发送的数据包选择一个虚拟网卡的步骤中,
识别待发送的数据包中是否含有控制信息,如果是,则将该数据包通过指定的虚拟网卡发送,否则将该数据包通过其它的虚拟网卡发送。
9.根据权利要求7所述的虚拟专用网通信设备的数据包传输方法,其特征在于,所述为待发送的数据包选择一个虚拟网卡的步骤中,
将同一种协议类型的数据包发给同一个虚拟网卡,或者,
根据数据包的目的地址所在的地址段,确定要选择的虚拟网卡,或者,
根据各虚拟网卡的缓冲区被占用的程度,确定要选择的虚拟网卡,或者,
根据各虚拟网卡所在虚拟专用网的metrics值大小,确定要选择的虚拟网卡。
10.根据权利要求7至9中任一项所述的虚拟专用网通信设备的数据包传输方法,其特征在于,所述N个物理网卡所使用的N个物理网络中,至少有一个物理网络所属的运营商与其它物理网络不同,或者,至少有一个物理网络的类型与其它物理网络不同。
CN201110141389.8A 2011-05-27 2011-05-27 虚拟专用网通信设备及其数据包传输方法 Active CN102801695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110141389.8A CN102801695B (zh) 2011-05-27 2011-05-27 虚拟专用网通信设备及其数据包传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110141389.8A CN102801695B (zh) 2011-05-27 2011-05-27 虚拟专用网通信设备及其数据包传输方法

Publications (2)

Publication Number Publication Date
CN102801695A CN102801695A (zh) 2012-11-28
CN102801695B true CN102801695B (zh) 2015-10-14

Family

ID=47200661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110141389.8A Active CN102801695B (zh) 2011-05-27 2011-05-27 虚拟专用网通信设备及其数据包传输方法

Country Status (1)

Country Link
CN (1) CN102801695B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268328B (zh) * 2013-05-09 2022-04-22 华为技术有限公司 数据处理装置及计算机
CN104426732A (zh) * 2013-08-19 2015-03-18 华耀(中国)科技有限公司 一种高速传输隧道的实现方法及系统
CN104883264A (zh) * 2014-02-27 2015-09-02 中国科学院声学研究所 一种虚拟化网络处理平台上网卡的方法及系统
CN104092743B (zh) * 2014-06-27 2017-08-11 清华大学 云环境下用户数据的保护方法及系统
CN104144096A (zh) * 2014-08-25 2014-11-12 深圳市中兴移动通信有限公司 虚拟网络层构建方法、装置及系统
CN104158817A (zh) * 2014-08-25 2014-11-19 深圳市中兴移动通信有限公司 数据包转发方法、装置及系统
CN104579879A (zh) * 2014-12-05 2015-04-29 上海斐讯数据通信技术有限公司 一种虚拟专用网络通信系统、连接方法及数据包传输方法
JP6343101B2 (ja) * 2015-02-05 2018-06-13 クリプトゾーン ノース アメリカ, インコーポレイテッド マルチトンネル方式仮想ネットワークアダプター
CN111093198B (zh) * 2015-07-23 2023-04-28 中移(杭州)信息技术有限公司 无线局域网数据发送方法及其装置
CN105939312A (zh) * 2015-08-26 2016-09-14 杭州迪普科技有限公司 一种数据的传输方法和装置
CN105656747A (zh) 2015-11-11 2016-06-08 乐卡汽车智能科技(北京)有限公司 一种多链路数据传输的方法及设备
CN105933198B (zh) * 2016-04-21 2020-01-14 浙江宇视科技有限公司 一种建立直连vpn隧道的装置
CN107800743B (zh) * 2016-09-06 2020-11-24 中国电信股份有限公司 云桌面系统、云管理系统和相关设备
CN106549936A (zh) * 2016-09-29 2017-03-29 北京知道未来信息技术有限公司 一种基于多路vpn负载均衡的扫描器反溯源方法和设备
WO2018098633A1 (zh) * 2016-11-29 2018-06-07 深圳前海达闼云端智能科技有限公司 数据传输方法、数据传输装置、电子设备和计算机程序产品
CN106850871B (zh) * 2017-01-23 2020-11-17 上海上讯信息技术股份有限公司 一种单物理网卡多vlan的dhcp服务器实现方法
CN106911508B (zh) * 2017-02-28 2020-03-06 杭州迪普科技股份有限公司 Dns配置的恢复方法和装置
EP3422657A1 (de) * 2017-06-26 2019-01-02 Siemens Aktiengesellschaft Verfahren und sicherheits-steuerungseinrichtungen zum senden und empfangen kryptographisch geschützter netzwerkpakete
US11095617B2 (en) 2017-12-04 2021-08-17 Nicira, Inc. Scaling gateway to gateway traffic using flow hash
CN110149614B (zh) * 2018-02-13 2021-09-21 西安中兴新软件有限责任公司 一种车载数据传输的方法及装置、车载tbox
US11347561B1 (en) 2018-04-30 2022-05-31 Vmware, Inc. Core to resource mapping and resource to core mapping
CN108848130A (zh) * 2018-05-25 2018-11-20 杭州快越科技有限公司 一种多点对单点的工业物联虚拟专网实现方法
CN108848131A (zh) * 2018-05-25 2018-11-20 杭州快越科技有限公司 一种单点对多点的工业物联虚拟专网实现方法
CN108833249A (zh) * 2018-05-25 2018-11-16 杭州快越科技有限公司 一种多点对多点的工业物联虚拟专网实现方法
CN108667675A (zh) * 2018-08-14 2018-10-16 浙江亿邦通信科技有限公司 一种通信方法、通信设备及通信专线备网方法
CN108964880A (zh) * 2018-10-10 2018-12-07 深信服科技股份有限公司 一种数据传输方法及装置
CN111131043B (zh) * 2018-10-30 2022-04-29 深信服科技股份有限公司 一种udp数据包的传输方法、系统及相关组件
CN110035077A (zh) * 2019-04-04 2019-07-19 青岛海信电子设备股份有限公司 一种加密上网卡通信方法
CN111786867B (zh) * 2019-04-04 2021-11-16 厦门网宿有限公司 一种数据传输方法及服务器
US11277343B2 (en) 2019-07-17 2022-03-15 Vmware, Inc. Using VTI teaming to achieve load balance and redundancy
CN112887976B (zh) * 2019-11-29 2023-06-30 北京华耀科技有限公司 智能终端的vpn网络自动恢复系统及方法
US11509638B2 (en) 2019-12-16 2022-11-22 Vmware, Inc. Receive-side processing for encapsulated encrypted packets
US11902264B2 (en) 2020-06-22 2024-02-13 Vmware, Inc. Path selection for data packets encrypted based on an IPSEC protocol
CN112260925B (zh) * 2020-09-30 2022-04-29 厦门汉印电子技术有限公司 虚拟网络的电子秤数据传输方法、装置、设备及存储介质
WO2022260711A1 (en) * 2021-06-07 2022-12-15 Vmware, Inc. Multi-uplink path quality aware ipsec
CN113965433B (zh) * 2021-11-25 2023-04-18 华平智慧信息技术(深圳)有限公司 一种多网络聚合的实现方法
US11863514B2 (en) 2022-01-14 2024-01-02 Vmware, Inc. Performance improvement of IPsec traffic using SA-groups and mixed-mode SAs
CN115001977B (zh) * 2022-04-11 2024-02-13 北京华耀科技有限公司 建立虚拟专网的方法、系统及虚拟专网客户端设备
US11956213B2 (en) 2022-05-18 2024-04-09 VMware LLC Using firewall policies to map data messages to secure tunnels
CN115022178B (zh) * 2022-06-24 2023-10-03 中国电信股份有限公司 网卡切换方法、装置、电子设备及可读存储介质
CN115361275A (zh) * 2022-08-16 2022-11-18 深圳市网安信科技有限公司 平面网络自动化部署系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1556625A (zh) * 2004-01-05 2004-12-22 联想(北京)有限公司 一种基于多网卡的网络设备的数据传输方法和装置
US6888792B2 (en) * 2000-12-07 2005-05-03 Intel Corporation Technique to provide automatic failover for channel-based communications
CN102065125A (zh) * 2010-11-18 2011-05-18 广州致远电子有限公司 一种嵌入式ssl vpn的实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7738457B2 (en) * 2006-12-20 2010-06-15 Oracle America, Inc. Method and system for virtual routing using containers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6888792B2 (en) * 2000-12-07 2005-05-03 Intel Corporation Technique to provide automatic failover for channel-based communications
CN1556625A (zh) * 2004-01-05 2004-12-22 联想(北京)有限公司 一种基于多网卡的网络设备的数据传输方法和装置
CN102065125A (zh) * 2010-11-18 2011-05-18 广州致远电子有限公司 一种嵌入式ssl vpn的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于虚拟网卡的改进型SSL VPN设计与实现;乔淼等;《航空计算技术》;20091130;第39卷(第6期);第1.2节至第3节末 *

Also Published As

Publication number Publication date
CN102801695A (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN102801695B (zh) 虚拟专用网通信设备及其数据包传输方法
US9712502B2 (en) Method and system for sending a message through a secure connection
EP2213036B1 (en) System and method for providing secure network communications
CN104272674B (zh) 多隧道虚拟专用网络
CN202206418U (zh) 流量管理设备、系统和处理器
CN102882789B (zh) 一种数据报文处理方法、系统及设备
CN103188351B (zh) IPv6环境下IPSec VPN通信业务处理方法与系统
EP2043296A1 (en) Relay device
US9369550B2 (en) Protocol for layer two multiple network links tunnelling
CN103905180A (zh) 经典应用接入量子通信网络的方法
WO1997000471A2 (en) A system for securing the flow of and selectively modifying packets in a computer network
CN107046495B (zh) 用于构建虚拟专用网络的方法、装置和系统
CN102571497A (zh) 一种IPSec隧道故障检测的方法、装置及系统
CN102348210A (zh) 一种安全性移动办公的方法和移动安全设备
CN103929299A (zh) 地址即公钥的自安全轻量级网络报文传输方法
US20040168049A1 (en) Method for encrypting data of an access virtual private network (VPN)
Dhall et al. Implementation of IPSec protocol
CN112422560A (zh) 基于安全套接层的轻量级变电站安全通信方法及系统
US20080072033A1 (en) Re-encrypting policy enforcement point
CN104184646A (zh) Vpn网络数据交互方法和系统及其网络数据交互设备
Xu et al. Research on network security of VPN technology
EP3787254A1 (en) Methods and apparatus for end-to-end secure communications
CN114143788A (zh) 一种基于msisdn实现5g专网认证控制的方法和系统
US20080104693A1 (en) Transporting keys between security protocols
EP0807347A2 (en) A system for securing the flow of and selectively modifying packets in a computer network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100125 Beijing city Chaoyang District Liangmaqiao Road No. 40 building 10 room 1001, twenty-first Century

Patentee after: Beijing Huayao Technology Co., Ltd

Address before: 100125 Beijing city Chaoyang District Liangmaqiao Road No. 40 building 10 room 1001, twenty-first Century

Patentee before: Huayao (China) Technology Co., Ltd.

CP01 Change in the name or title of a patent holder