IPSec VPN数据传输方法及装置转让专利

申请号 : CN201811231041.6

文献号 : CN109150688B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王建明

申请人 : 网宿科技股份有限公司

摘要 :

本发明提供了一种IPSec VPN数据传输方法及装置,应用于VPN服务器,其中,所述方法包括:与外网客户端进行协商,生成安全联盟信息;接收所述外网客户端发送的请求报文;基于用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文;基于所述用户态进程,向内网服务器发送所述明文报文。本发明提供的IPSec VPN数据传输方法,VPN服务器在用户态下对请求报文进行解封装和解密,并在用户态下向内网服务器发送解封装和解密后的明文报文,相较于现有技术中在内核态下处理报文的数据传输方法而言,不存在报文拷贝动作,直接在用户态下进行数据传输,所以处理报文的速度较快,有效提高了IPSec VPN数据传输的速度。

权利要求 :

1.一种IPSec VPN数据传输方法,其特征在于,应用于VPN服务器,所述方法包括:与外网客户端进行协商,生成安全联盟信息;

接收所述外网客户端发送的请求报文,并基于预设端口号,判断是否由用户态进程获取所述请求报文;

若所述用户态进程获取所述请求报文,则基于用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文;

基于所述用户态进程,向内网服务器发送所述明文报文。

2.如权利要求1所述的方法,其特征在于,向所述内网服务器发送所述明文报文的步骤之后,还包括:

接收所述内网服务器基于所述明文报文发送的响应报文;

基于所述用户态进程,使用所述安全联盟信息对所述响应报文进行加密和封装;

基于所述用户态进程,向所述外网客户端发送封装之后的所述响应报文。

3.如权利要求1所述的方法,其特征在于,所述与外网客户端进行协商,生成安全联盟信息的步骤,还包括:基于内核态进程,与所述外网客户端进行协商,生成所述安全联盟信息。

4.如权利要求3所述的方法,其特征在于,所述与外网客户端进行协商,生成安全联盟信息的步骤,还包括:

基于所述内核态进程,获取包括预设端口号的协商报文;

利用所述协商报文与所述外网客户端进行协商,生成所述安全联盟信息。

5.如权利要求1所述的方法,其特征在于,与外网客户端进行协商,生成安全联盟信息的步骤之后,还包括:将所述安全联盟信息存入内存中;

相应的,基于所述用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文的步骤之前,还包括:基于所述请求报文中的安全参数索引,从所述内存中获取所述请求报文对应的安全联盟信息。

6.如权利要求1所述的方法,其特征在于,基于用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文的步骤之前,还包括:所述用户态进程按照预设时间间隔查询用于接收所述请求报文的网卡;

若所述网卡接收到所述请求报文,则所述用户态进程获取所述请求报文。

7.如权利要求1所述的方法,其特征在于,基于所述用户态进程,向内网服务器发送所述明文报文的步骤之前,还包括:根据所述安全联盟信息中的策略库查找对所述明文报文的处理方式;

当查找结果为转发时向所述内网服务器发送所述明文报文。

8.如权利要求1所述的方法,其特征在于,所述用户态进程采用多核并行处理机制处理所述请求报文。

9.如权利要求8所述的方法,其特征在于,所述用户态进程在采用多核并行处理机制的同时,采用均衡负载机制处理所述请求报文。

10.如权利要求9所述的方法,其特征在于,所述均衡负载机制采用四元组hash均衡算法。

11.一种IPSec VPN数据传输装置,其特征在于,所述装置包括:协商模块,用于与外网客户端进行协商,生成安全联盟信息;

接收模块,用于接收所述外网客户端发送的请求报文,并基于预设端口号,判断是否由用户态进程获取所述请求报文;

用户态模块,用于若所述用户态进程获取所述请求报文,则基于用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文;

所述用户态模块,还用于基于所述用户态进程,向内网服务器发送所述明文报文。

12.根据权利要求11所述的装置,其特征在于,所述接收模块,还用于接收所述内网服务器基于所述明文报文发送的响应报文;

所述用户态模块,还用于基于所述用户态进程,使用所述安全联盟信息对所述响应报文进行加密和封装;

所述用户态模块,还用于基于所述用户态进程,向所述外网客户端发送封装之后的所述响应报文。

13.根据权利要求11所述的装置,其特征在于,所述协商模块,还用于基于内核态进程,与所述外网客户端进行协商,生成所述安全联盟信息。

14.根据权利要求11所述的装置,其特征在于,所述协商模块,还用于将所述安全联盟信息存入内存中;

所述用户态模块,还用于基于所述请求报文中的安全参数索引,从所述内存中获取所述请求报文对应的安全联盟信息。

15.一种VPN服务器,其特征在于,所述VPN服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的IPSec VPN数据传输方法。

说明书 :

IPSec VPN数据传输方法及装置

技术领域

[0001] 本发明涉及计算机数据处理技术领域,特别涉及一种IPSec VPN数据传输方法及装置。

背景技术

[0002] 虚拟专用网(Virtual Private Network,VPN)是对企业内部网的扩展,可以理解为虚拟出来的企业内部专线。VPN技术能够利用公共网络建立虚拟私有网,并通过特殊加密
的通讯协议,在位于因特网中不同地方的两个或多个企业内部网之间,建立一条专有的通
讯线路。从而可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可
信的安全连接,并保证数据的安全传输。
[0003] 上述通讯协议包括IPSec、PPTP、L2F及L2TP等,其中,IPsec(Internet Protocol Security,互联网协议安全性)是IETF制定的三层隧道加密协议,它为因特网上传输的数据
提供了高质量的、可互操作的、基于密码学的安全保证。由于IPSec VPN所提供的安全服务
对于数据的机密性,完整性,来源认证,防重发等具有良好的保障,IPsec VPN越来越受到用
户的青睐。随着网络的不断发展,越来越多的用户需要在外接入企业的内部网络,获取企业
内部提供的服务,实现移动办公,这使得访问企业内部VPN服务器的流量大增。而现有的
IPsec VPN数据传输,是在内核态下进行数据的转发,即在接收到外网发送的报文之后,通
过操作系统先进行报文拷贝,然后将拷贝的报文发送给内部网络。所以访问企业内部VPN服
务器的流量较大时,报文拷贝动作频繁,使得VPN服务器的性能大大降低,甚至无法保障服
务的质量。

发明内容

[0004] 为了解决现有技术的问题,本发明实施例提供了一种IPSec VPN数据传输方法及装置。所述技术方案如下:
[0005] 第一方面,提供了一种IPSec VPN数据传输方法,应用于VPN服务器,所述方法包括:
[0006] 与外网客户端进行协商,生成安全联盟信息;
[0007] 接收所述外网客户端发送的请求报文;
[0008] 基于用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文;
[0009] 基于所述用户态进程,向内网服务器发送所述明文报文。
[0010] 进一步的,向所述内网服务器发送所述明文报文的步骤之后,还包括:
[0011] 接收所述内网服务器基于所述明文报文发送的响应报文;
[0012] 基于所述用户态进程,使用所述安全联盟信息对所述响应报文进行加密和封装;
[0013] 基于所述用户态进程,向所述外网客户端发送封装之后的所述响应报文。
[0014] 进一步的,所述与外网客户端进行协商,生成安全联盟信息的步骤,还包括:基于内核态进程,与所述外网客户端进行协商,生成所述安全联盟信息。
[0015] 进一步的,所述与外网客户端进行协商,生成安全联盟信息的步骤,还包括:
[0016] 基于所述内核态进程,获取包括预设端口号的协商报文;
[0017] 利用所述协商报文与所述外网客户端进行协商,生成所述安全联盟信息。
[0018] 进一步的,与外网客户端进行协商,生成安全联盟信息的步骤之后,还包括:将所述安全联盟信息存入内存中;
[0019] 相应的,基于所述用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文的步骤之前,还包括:基于所述请求报文中的安全参数索引,从所
述内存中获取所述请求报文对应的安全联盟信息。
[0020] 进一步的,基于用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文的步骤之前,还包括:
[0021] 所述用户态进程按照预设时间间隔查询用于接收所述请求报文的网卡;
[0022] 若所述网卡接收到所述请求报文,则所述用户态进程获取所述请求报文。
[0023] 进一步的,基于所述用户态进程,向内网服务器发送所述明文报文的步骤之前,还包括:
[0024] 根据安全联盟信息中的策略库查找对所述明文报文的处理方式;
[0025] 当查找结果为转发时向内网服务器发送所述明文报文。
[0026] 进一步的,所述用户态进程采用多核并行处理机制处理所述请求报文。
[0027] 进一步的,所述用户态进程在采用多核并行处理机制的同时,采用均衡负载机制处理所述请求报文。
[0028] 进一步的,所述均衡负载机制采用四元组hash均衡算法。
[0029] 第二方面,提供了一种IPSec VPN数据传输装置,所述装置包括:
[0030] 协商模块,用于与外网客户端进行协商,生成安全联盟信息;
[0031] 接收模块,用于接收所述外网客户端发送的请求报文;
[0032] 用户态模块,用于基于用户态进程,使用所述安全联盟信息对所述请求报文进行解封装和解密,得到明文报文;
[0033] 所述用户态模块,还用于基于所述用户态进程,向内网服务器发送所述明文报文。
[0034] 进一步的,所述接收模块,还用于接收所述内网服务器基于所述明文报文发送的响应报文;
[0035] 所述用户态模块,还用于基于所述用户态进程,使用所述安全联盟信息对所述响应报文进行加密和封装;
[0036] 所述用户态模块,还用于基于所述用户态进程,向所述外网客户端发送封装之后的所述响应报文。
[0037] 进一步的,所述协商模块,还用于基于内核态进程,与所述外网客户端进行协商,生成所述安全联盟信息。
[0038] 进一步的,所述协商模块,还用于将所述安全联盟信息存入内存中;
[0039] 所述用户态模块,还用于基于所述请求报文中的安全参数索引,从所述内存中获取所述请求报文对应的安全联盟信息。
[0040] 进一步的,所述用户态模块,还用于:
[0041] 按照预设时间间隔对用于接收所述请求报文的网卡进行查询;
[0042] 若所述网卡接收到所述请求报文,则获取所述请求报文。
[0043] 第三方面,提供了VPN服务器,所述VPN服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段
程序、所述代码集或指令集由所述处理器加载并执行以实现第一方面所述的IPSec VPN数
据传输方法。
[0044] 本发明提供的IPSec VPN数据传输方法,VPN服务器在用户态下对请求报文进行解封装和解密,并在用户态下向内网服务器发送解封装和解密后的明文报文,相较于现有技
术中在内核态下处理报文的数据传输方法而言,不存在报文拷贝动作,直接在用户态下进
行数据传输,所以处理报文的速度较快,有效提高了IPSec VPN数据传输的速度;且在用户
态下进行数据传输,便于采用多核并行处理机制,进一步提高报文的处理速度;同时还有利
于对单独的环节进行流量的控制,比如可以对用户态进程的解封装或解密环节单独进行监
控,监测解封装和解密过程中流量的变化,或单独对多核并行处理中的每个核单独进行监
控,便于多核并行处理时为用户态进程分配空间和任务。

附图说明

[0045] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
[0046] 图1是本发明实施例提供的一种网络框架示意图;
[0047] 图2为本发明实施例提供的IPSec VPN数据传输方法流程示意图;
[0048] 图3为本发明实施例提供的IPSec VPN数据传输装置的结构示意图;
[0049] 图4为本发明实施例提供的VPN服务器的结构示意图。

具体实施方式

[0050] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
[0051] 本实施例提供一种IPSec VPN数据传输方法,该方法可以应用于图1所示的网络框架中。该网络框架包括外网客户端、VPN服务器以及内网服务器。外网客户端可以是企业外
部连接公共网络的个人电脑。内网服务器可以是连接企业内部局域网的服务器。VPN服务器
可以作为内网服务器的网关,用于实现外网客户端与内网服务器之间的数据传输。VPN服务
器是既可以连接企业内部局域网,又可以连接公共网络的服务器,在基于IPSec VPN的数据
传输方式中,专门为内网服务器接收、转发数据。本实施例的IPSec VPN数据传输方法,主要
在于提高VPN服务器上的报文处理速度,具体是VPN服务器在接收到加密和封装的报文后,
基于用户态进程,即在用户态下使用SA信息对报文进行解封装和解密,得到明文报文,然后
基于用户态进程,直接将明文报文转发至内网服务器,避免内核态下的报文拷贝过程。其
中,内核态进程是指处于内核态的进程,当进程处于内核态时,进程执行系统调用会陷入内
核代码中执行;用户态进程是指处于用户态的进程,当进程处于用户态时,进程会执行用户
自己的代码。下面结合附图对该IPSec VPN数据传输方法进行具体说明。
[0052] 参见图2,为本发明实施例提供的一种IPSec VPN数据传输方法的流程图,该方法应用于VPN服务器,也即由VPN服务器来执行,该方法具体可以包括以下步骤。
[0053] 步骤201,VPN服务器与外网客户端进行协商,生成安全联盟信息。
[0054] 在本实施例中,当外网客户端与内网服务器之间需要进行数据传输时,外网客户端需要先与VPN服务器之间建立IPSec连接。具体地,VPN服务器基于内核态进程,与外网客
户端进行协商并生成安全联盟(Security Association,SA)信息,SA信息决定了对报文进
行何种处理,包括安全协议、加密算法及密钥。每一个特定的SA信息都以由安全参数索引
(Security Parameter Index,SPI)、目的IP地址及安全协议号组成的三元组作为唯一标
识,其中SPI由一串数字组成,在生成SA信息时使用随机数生成。本实施例中,外网客户端发
送给VPN服务器的目的地址和协议号均可以相同,所以每一个报文需采用一个特定的SPI进
行标识,而在发送报文时,会把SPI插入到报头中,以便VPN服务器接收到报文后根据SPI查
找对应的SA信息。
[0055] 具体地,为了使VPN服务器与外网客户端之间的IPsec连接更加稳定,本实施例中VPN服务器基于内核态进程,与外网客户端进行协商,生成SA信息。当然,VPN服务器也可以
基于用户态进程,与外网客户端进行协商,生成SA信息。但是协商生成SA信息的过程中,数
据流量很小,通常只有几千比特(kb)到几百kb,相对于几兆、上百兆甚至更大的传输数据来
说微乎其微,所以基本不会对VPN服务器的处理速度造成影响;但是基于内核态进程建立
IPsec连接,相较于基于用户态进程建立IPsec连接,却可以大大提高协商过程的安全性和
稳定性,可以有效防止连接掉线,降低被攻击的可能性。所以,本实施例优选基于内核态进
程,与外网客户端进行协商,生成SA信息。具体地,为了减少对VPN服务器系统内存的占用,
可以为进行协商所用的协商报文配置特定的端口号,如本实施例设置设为UDP4500,当然也
可以是UDP500,并设置只有经过该特定的端口号的数据才能进入内核态,则未配置该特定
的端口号的请求报文无法进入内核态,即基于用户态进行解封装和解密,如此,将协商过程
和数据传输过程分别基于内核态进程和用户态进程执行,即保证了IPsec连接的稳定性,又
提高了报文处理的速度。
[0056] 一具体实施方式中,VPN服务器与外网客户端进行协商,生成SA信息之后,VPN服务器将SA信息存入内核态进程与用户态进程共享的内存中,以便内核态进程和用户态进程都
能够获取SA信息。其中,内核态进程获取SA信息用于协商过程中的身份验证,用户态进程获
取SA信息用于报文的解封装和解密,以及报文的加密和封装。
[0057] 步骤202,VPN服务器接收外网客户端发送的请求报文。
[0058] 本实施例中,VPN服务器作为外网客户端与内网服务器之间进行通信的网关,负责接收外网客户端向内网服务器发送的请求报文,具体地,VPN服务器中用于接收报文的网卡
至少有两个,一个用于接收外网客户端发送的报文;另一个用于接收内网服务器发送的报
文。
[0059] 步骤203,VPN服务器基于用户态进程,使用安全联盟信息对请求报文进行解封装和解密,得到明文报文。
[0060] 本实施例中,VPN服务器通过网卡接收外网客户端发送的请求报文之后,为了实现基于用户态进程对请求报文进行解封装和解密,需实现用户态进程获取请求报文。具体可
以参考上述设置只有经过特定的端口号的数据才能进入内核态,而请求报文未配置上述特
定的端口号,即UDP4500,则内核态进程无法获取请求报文,而是用户态进程获取请求报文,
然后直接再用户态下进行解封装和解密,避免了报文的拷贝过程,提高了报文的处理速度。
[0061] 其中,用户态进程获取请求报文的具体过程包括:先将VPN服务器中用于接收请求报文和发送明文报文的网卡与用户态进程绑定,具体的,可以利用数据平面开发工具集
(Data Plane Development Kit,DPDK)进行绑定,然后用户态进程通过轮询机制获取请求
报文,轮询机制是指用户态进程按照预设时间间隔对用于接收请求报文的网卡进行查询,
查看网卡是否接收到请求报文,若网卡接收到请求报文,则用户态进程获取该请求报文,然
后可以基于用户态进程直接对请求报文进行解封装和解密,然后再进行转发,避免了报文
在内核态处理过程中的报文拷贝动作,以此提高报文的处理速度,进而提高数据传输的速
度。
[0062] 在用户态进程获取请求报文后,VPN服务器会基于用户态进程,直接在用户态下根据请求报文中的SPI,从内存中获取请求报文对应的SA信息,使用SA信息对请求报文进行解
封装和解密,然后得到请求报文的明文报文。其中,解封装采用SA信息中的安全协议,该安
全协议为AH协议或ESP协议或两者的结合,本实施例中,采用AH和ESP两者结合的方式进行
解封装和解密,相应的外网客户端也是采用AH和ESP两者结合的方式进行加密和封装,另
外,本实施例具体可以采用DES算法、3DES算法及AES算法进行解密。需要说明的是,用户态
下的数据报文的传输,依赖于用户态的协议栈,需要应用用户态的协议栈才能对请求报文
进行解封装和解密。
[0063] 步骤204,VPN服务器基于用户态进程,向内网服务器发送明文报文。
[0064] VPN服务器在将用于接收请求报文的网卡与用户态进程进行绑定的同时,还可以使用数据平面开发工具集将用于发送明文报文的网卡与用户态进程进行绑定,在得到明文
报文之后,使用已经与用户态进程绑定的相应网卡发送明文报文。
[0065] 本实施例中,VPN服务器基于用户态进程,对请求报文进行解封装和解密后,直接基于用户态进程,将得到的明文报文发送至内网服务器。具体地,VPN服务器在发送明文报
文之前,会根据SA信息中的策略库查找对该明文报文的处理方式。其中,策略库可以是SA信
息中的安全策略库(Security Policy Database,SPD),SPD中定义了若干策略,说明对于各
个报文应当做出怎样的处理,如转发、丢弃,还是执行IPSec加密等,只有查找结果为转发时
才进行转发。
[0066] 一优选实施方式中,在内网服务器接收到VPN服务器发送的明文报文之后,内网服务器会向VPN服务器发送基于明文报文生成的响应报文,VPN服务器接收该响应报文;然后
VPN服务器基于用户态进程,从内存中获取SA信息,并使用SA信息,对响应报文进行加密和
封装,与解密和解封装一样,加密和封装可以采用SA信息中的安全协议,即AH协议或ESP协
议或两者的结合,本实施例中,采用AH和ESP两者结合的方式进行加密和封装,具体可以采
用DES算法、3DES算法及AES算法进行加密;最后,VPN服务器基于用户态进程,向外网客户端
发送封装之后的响应报文。其中,VPN服务器接收该响应报文后,用户态进程也是采用上述
轮询机制获取报文,然后基于用户态进程进行加密和封装。VPN服务器在向外网客户端发送
响应报文之前,也是根据SA信息中的SPD查找对应的处理方式,只有查找结果为转发时才进
行转发。
[0067] 一具体实施方式中,为了进一步提升VPN服务器处理报文的速度,VPN服务器的用户态进程采用多核并行处理机制,以及均衡负载机制处理请求报文。由于CPU处理数据时,
是一个指令一个指令的进行,即同一时间只能运行一个进程,则采用多核并行处理机制,可
以同时运行多个进程,比如,多个进程同时对请求报文进行解封装,如此,可有效提高CPU的
处理速度,提高VPN服务器的处理性能。采用均衡负载机制处理请求报文,即将请求报文在
多核上进行均衡负载,使每个核上的负载较为均衡,可进一步提高CPU的处理速度及VPN服
务器的处理性能。具体地,均衡负载机制采用四元组hash均衡算法,其中,四元组包括源IP
地址、源端口号、目的地址及目的端口号,四元组hash均衡算法即根据报文的上述四元组数
据,将报文进行分配,均衡负载于多核中,避免某个核出现过载或空载的情况。
[0068] 在本实施例中,VPN服务器在用户态下对请求报文进行解封装和解密,并在用户态下向内网服务器发送解封装和解密后的明文报文,相较于现有技术中在内核态下处理报文
的数据传输方法而言,不存在报文拷贝动作,直接在用户态下进行数据传输,所以处理报文
的速度较快,有效提高了IPSec VPN数据传输的速度;且在用户态下进行数据传输,便于采
用多核并行处理机制,进一步提高报文的处理速度;同时还有利于对单独的环节进行流量
的控制,比如可以对用户态进程的解封装或解密环节单独进行监控,监测解封装和解密过
程中流量的变化,或单独对多核并行处理中的每个核单独进行监控,便于多核并行处理时
为用户态进程分配空间和任务。
[0069] 为实现上述IPSec VPN数据传输方法,本实施例还提供一种IPSec VPN数据传输装置,如图3所示,该装置包括:协商模块301、接收模块302及用户态模块303,其中,协商模块
301用于与外网客户端进行协商,生成安全联盟信息;接收模块302用于接收外网客户端发
送的请求报文;用户态模块303用于基于用户态进程,使用安全联盟信息对请求报文进行解
封装和解密,得到明文报文;用户态模块303还用于基于用户态进程,向内网服务器发送明
文报文。
[0070] 其中,接收模块302,还用于接收内网服务器基于明文报文发送的响应报文;用户态模块303,还用于基于用户态进程,使用安全联盟信息对响应报文进行加密和封装;用户
态模块303,还用于基于用户态进程,向外网客户端发送封装之后的响应报文。
[0071] 一具体实施方式中,协商模块301,还用于基于内核态进程,与外网客户端进行协商,生成安全联盟信息。
[0072] 进一步地,协商模块301,还用于基于内核态进程,获取包括预设端口号的协商报文,并利用协商报文与所述外网客户端进行协商,生成安全联盟信息。
[0073] 更进一步地,协商模块301,还用于将安全联盟信息存入内存中;用户态模块303,还用于基于请求报文中的安全参数索引,从内存中获取请求报文对应的安全联盟信息。
[0074] 另一具体实施方式中,更进一步地,用户态模块303,还用于按照预设时间间隔对用于接收请求报文的网卡进行查询;若网卡接收到请求报文,则获取请求报文。
[0075] 进一步地,用户态模块303,还用于根据所述安全联盟信息中的策略库查找对所述明文报文的处理方式,当查找结果为转发时向所述内网服务器发送所述明文报文。
[0076] 另一具体实施方式中,用户态模块303,还用于采用多核并行处理机制处理所述请求报文。
[0077] 进一步地,用户态模块303,还用于在采用多核并行处理机制的同时,采用均衡负载机制处理所述请求报文。
[0078] 更进一步地,用户态模块303,还用于采用四元组hash均衡算法进行均衡负载。
[0079] 在本实施例中,VPN服务器在用户态下对请求报文进行解封装和解密,并在用户态下向内网服务器发送解封装和解密后的明文报文,相较于现有技术中在内核态下处理报文
的数据传输方法而言,不存在报文拷贝动作,直接在用户态下进行数据传输,所以处理报文
的速度较快,有效提高了IPSec VPN数据传输的速度;且在用户态下进行数据传输,便于采
用多核并行处理机制,进一步提高报文的处理速度;同时还有利于对单独的环节进行流量
的控制,比如可以对用户态进程的解封装或解密环节单独进行监控,监测解封装和解密过
程中流量的变化,或单独对多核并行处理中的每个核单独进行监控,便于多核并行处理时
为用户态进程分配空间和任务。
[0080] 需要说明的是:上述实施例提供的IPSec VPN数据传输装置,在进行IPSec VPN数据传输时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述
功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以
上描述的全部或者部分功能。另外,上述实施例提供的IPSec VPN数据传输装置与IPSec 
VPN数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0081] 图4是本发明实施例提供的VPN服务器的结构示意图。该VPN服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器422(例如,一个或一
个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430
(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或
持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模
块可以包括对转码服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与
存储介质430通信,在VPN服务器400上执行存储介质430中的一系列指令操作。
[0082] VPN服务器400还可以包括一个或一个以上电源429,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,一个或一个以上键盘454,和/或,一个或
一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM
等等。
[0083] VPN服务器400可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者
一个以上程序包含用于进行上述IPSec VPN数据传输的指令。
[0084] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的
理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现
出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包
括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行
各个实施例或者实施例的某些部分所述的方法。
[0085] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。