CN1937571A - 在应用层实现vpn协议的系统及其方法 - Google Patents
在应用层实现vpn协议的系统及其方法 Download PDFInfo
- Publication number
- CN1937571A CN1937571A CNA2005100194703A CN200510019470A CN1937571A CN 1937571 A CN1937571 A CN 1937571A CN A2005100194703 A CNA2005100194703 A CN A2005100194703A CN 200510019470 A CN200510019470 A CN 200510019470A CN 1937571 A CN1937571 A CN 1937571A
- Authority
- CN
- China
- Prior art keywords
- module
- message
- vpn
- ipsec
- application layer
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种在应用层实现VPN协议的系统及其方法,涉及一种网络通信封装的方法,尤其涉及一种在系统应用层实现IPSec协议封装的方法;该方法可以防止IPSec报文在系统核心层被其它程序阻止,从而确保IPSec报文顺利通过系统,实现安全通信。本系统由依次串联的虚拟网卡模块4、网络协议栈模块3、IKE模块1以及IPSec模块2组成;IKE模块1分别和IPSec模块2、网络协议栈模块3互相调用,网络协议栈模块3和虚拟网卡模块4互相调用。本方法在系统应用层对VPN报文进行加密和解密,从而增加了VPN客户端系统对网络环境的适应能力,适用于在Windows操作系统、Unix操作系统上进行VPN系统开发,而又面临软件兼容性问题等情况。
Description
技术领域
本发明涉及一种网络通信封装的方法,尤其涉及一种在系统应用层实现IPSec协议封装的方法;该方法可以防止IPSec报文在系统核心层被其它程序阻止,从而确保IPSec报文顺利通过系统,实现安全通信。
背景技术
随着Internet的发展,网络安全问题也越发突出,尤其是如何利用因特网进行私有通信目前已经成为一个热点问题。目前主要通过VPN技术来解决这一问题。当前主流的VPN产品都会遵循标准IPSec来实现,因为IPSec是一个全球性的安全标准,只有IPSec严格遵循了各种协议规范,才可以实现不同厂家VPN产品之间的互通。IPSec协议给出了应用于IP层上网络数据安全的一整套体系结构。
目前,有很多VPN厂商都提供了VPN客户端软件,来方便移动用户的远程接入访问。这些VPN客户端软件通常是在操作系统核心层安装一个数据截获的模块,从而对外出通信报文进行加密和封装。由于用户的操作系统有很多种,因此这些客户端软件需要支持大量的不同的操作系统,例如Windows98、Windows2000、WindowsXP、Windows2003、Linux等。这些不同的操作系统就会带来不同的编程语言、不同的实现方式、不同的应用环境,从而给开发人员带来很多程序设计的复杂性。由于Winodws操作系统是开放的,用户机器上已经安装了大量的应用软件。这些应用软件有些采用和VPN客户端同样的实现方式,例如杀毒软件和个人防火墙软件等。在这种情况下,如果用户主机已经安装了这些冲突软件,再安装VPN客户端软件,这样很容易造成多个程序之间互相争夺内核空间,互相修改网络协议栈,结果导致冲突,而核心层发生冲突往往会引起系统的死机甚至崩溃。
VPN客户端会安装在一台什么样的终端设备上常常是预先无法知道的,而且具体使用VPN客户端的用户,根据其实际的工作需要以及个人喜好,安装了哪些其它安全工具都不得而知,所以如果按照常规的思路,在系统核心层实现IPSec协议,不可避免地会和其它程序产生冲突,从而对VPN客户端的应用环境适应性产生极为不利的影响。
发明内容
本发明正是基于上述问题而提出了在系统应用层实现IPSec VPN的方法,通过把原来需要在操作系统核心层对报文进行处理的模块移到应用层进行实现,不仅避免了和其它类似软件的冲突,而且可以方便地在不同的操作系统之间进行移植,具有非常明显的技术优势,从而大大提高VPN客户端的应用环境适应性。因此,本发明的目的就是克服现有技术的缺点与不足,提供一种在应用层实现VPN的系统及其方法。
1、在应用层实现VPN协议的系统
如图1,本系统由依次串联的虚拟网卡模块4、网络协议栈模块3、IKE模块1以及IPSec模块2组成;IKE模块1分别和IPSec模块2、网络协议栈模块3互相调用,网络协议栈模块3和虚拟网卡模块4互相调用。
所述的IKE模块1,是一种用来进行因特网密钥协商的模块,典型实现是Internet开源软件FreeSWAN;FreeSWAN是一种在Linux操作系统上实现的IPSec和因特网密钥交换协议的软件。
所述的IPSec模块2,是用来对VPN报文进行加密和解密的模块。
所述的网络协议栈模块3,是Internet网络通信协议栈。
所述的虚拟网卡模块4,是一种用来对报文进行截获的模块,其工作在系统核心层,作为一个虚拟的网络接口存在。
2、在应用层对VPN报文进行IPSec协议封装的方法
如果网络系统中存在一个本VPN系统,需要和另一个VPN系统进行VPN通信,那么本方法中,系统发送报文以及接收报文处理流程包括如下步骤:
第一步:应用层IKE模块1收到外出的原始IP报文,即外出的原始IP报文经过虚拟网卡模块4发送的时候,虚拟网卡模块4把外出的原始IP报文交给IKE模块1;
第二步:经过IPSec模块2对外出的原始IP报文进行封装,即对外出的原始IP报文进行隧道策略的查找,如果匹配就进行对应的安全加密和封装;
第三步:经过IPSec封装后的报文通过网络协议栈模块3发送出去,即IPSec模块2将经过IPSec封装的报文提交网络协议栈模块3,从实际物理网卡发送出去;
第四步:本地应用层IKE模块1收到对方发来的进入的VPN报文,即网卡接收到对方发来的进入的VPN报文,经过网络协议栈模块3处理后被应用层IKE模块1收到;
第五步:IPSec模块2对进入的VPN报文进行解封装,即IPSec模块2对进入的VPN报文进行解密处理得到还原后的IP报文,还原后的IP报文最后达到相应的应用程序。
本发明与传统方式相比具有以下优点:
1、采用在应用层实现IPSec的方法,可以避免VPN系统和其它应用程序尤其是网络安全方面的程序的冲突,这极大地提高了VPN系统的网络环境适应性。
2、本发明中由于IPSec工作在应用层,与操作系统的核心没有直接的联系,所以对于VPN系统移植到不同的操作系统具有极其重要的意义。
3、本发明可以兼容NAT协议,能够穿越任何一种常见的NAT设备,而不会引发数据传输问题。
本发明适用于在Windows操作系统、Unix操作系统上进行VPN系统开发,而又面临软件兼容性问题等情况。
附图说明
图1-在应用层对VPN处理的系统框图;
图2-在应用层进行VPN处理实施示意图;
图3-发送报文的详细处理过程流程图;
图4-接收报文的详细处理过程流程图。
其中:
1-IKE模块;
2-IPSec模块;
3-网络协议栈模块;
4-虚拟网卡模块;
5-第一VPN设备;
6-第二VPN设备。
主要缩略语:
Internet-因特网;
VPN(Virtual Private Network)-虚拟专用网;
IPSec(IP Security)-IP层安全协议;
IKE-因特网密钥交换协议;
NAT-网络地址转换;
ESP-安全负载封装。
具体实施方式
下面结合附图进一步说明:
1、在应用层实现VPN协议的系统
(1)IKE模块1
IKE模块1的典型实现是Internet开源软件FreeSWAN;FreeSWAN是一种在Linux操作系统上实现的IPSec和因特网密钥交换协议的软件。
(2)IPSec模块2
IPSec模块2的典型实现是Internet开源软件FreeSWAN;FreeSWAN是一种在Linux操作系统上实现的IPSec和因特网密钥交换协议的软件。
(3)网络协议栈模块3
网络协议栈模块3的典型代表是Windows、UNIX、Linux等网络操作系统。
(4)虚拟网卡模块4
虚拟网卡模块4可以通过查看系统接口和路由来获得虚拟网络接口的信息;如果外出报文经过路由转发交给该虚拟网卡模块4,该虚拟网卡模块4并不实际进行报文的链路发送,而是会把报文提交给应用层,由应用层进行处理。
2、在应用层对VPN报文进行IPSec协议封装的方法
(1)以在应用层实现IPSec协议应用为例,图2体现了VPN通信的全过程。
图2中,第一VPN设备5为一个VPN客户端,第二VPN设备6为一个VPN网关,VPN网关有保护的子网,VPN客户端设备和VPN网关设备建立隧道后要访问VPN网关保护的子网内的资源。按照传统方式实现的IPSec,就有可能和安装了VPN客户端的机器上其它软件产品冲突,从而导致IPSec报文无法顺利通过系统协议栈,在这种情况下,在系统应用层实现的IPSec协议的优势就体现出来了。
(2)如图3,第一VPN设备5对外出VPN报文处理的流程是:
报文发送到虚拟网卡a→IKE调用IPSec对报文处理b→IPSec对报文进行封装c→发送报文d。
所述的报文发送到虚拟网卡a,是第一设备5开始访问第二VPN设备6保护的内部网络资源,外出的原始IP报文被虚拟网卡模块4截获,同时通知应用层IKE模块1;
所述的IKE调用IPSec对报文处理b,是IKE模块1调用IPSec模块2对该外出报文进行处理;
所述的IPSec对报文进行封装c,是IPSec模块2根据相应的安全策略对外出报文进行加密封装;
所述的发送报文d,是将上述处理后的报文转发给网络协议栈模块3,从实际网卡发送出去。
3、如图4,第一VPN设备5对进入的VPN报文处理的流程是:
应用层接收IPSec报文e→调用IPSec模块解封装f→解封装后的报文发送到应用程序g。
所述的应用层接收IPSec报文e,是第一设备5收到的第二VPN设备6回应的VPN报文;
所述的调用IPSec模块解封装f,是应用层调用IPSec模块2对VPN报文做解封装处理;
所述的解封装后的报文发送到应用程序g,是IPSec模块2根据对报文进行解密,并把解密后的报文交给网络协议栈模块3,最后数据到达相应的应用程序。
Claims (4)
1、一种在应用层实现VPN协议的系统,其特征在于:
由依次串联的虚拟网卡模块(4)、网络协议栈模块(3)、IKE模块(1)以及IPSec模块(2)组成;IKE模块(1)分别和IPSec模块(2)、网络协议栈模块(3)互相调用,网络协议栈模块(3)和虚拟网卡模块(4)互相调用;
所述的IKE模块(1),是一种用来进行因特网密钥协商的模块;
所述的IPSec模块(2),是用来对VPN报文进行加密和解密的模块;
所述的网络协议栈模块(3),是Internet网络通信协议栈;
所述的虚拟网卡模块(4),是一种用来对报文进行截获的模块。
2、一种在应用层对VPN报文进行IPSec协议封装的方法,其特征在于:
如果网络系统中存在一个本VPN系统,需要和另一个VPN系统进行VPN通信,则系统发送报文以及接收报文处理流程包括如下步骤:
第一步,应用层IKE模块(1)收到外出的原始IP报文;
第二步,经过IPSec模块(2)对外出的原始IP报文进行封装;
第三步,经过IPSec封装后的报文通过网络协议栈模块(3)发送出去;
第四步,本地应用层IKE模块(1)收到对方发来的进入的VPN报文;
第五步,IPSec模块(2)对进入的VPN报文进行解封装。
3、按权利要求2所述的一种在应用层对VPN报文进行IPSec协议封装的方法,其特征在于:
第一设备(5)对外出VPN报文处理的流程依次是报文发送到虚拟网卡(a),IKE调用IPSec对报文处理(b),IPSec对报文进行封装(c),发送报文(d)。
4、按权利要求2所述的一种在应用层对VPN报文进行IPSec协议封装的方法,其特征在于:
第一VPN设备(5)对进入的VPN报文处理的流程依次是应用层接收IPSec报文(e),调用IPSec模块解封装(f),解封装后的报文发送到应用程序(g)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100194703A CN100459568C (zh) | 2005-09-22 | 2005-09-22 | 在应用层实现vpn协议的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100194703A CN100459568C (zh) | 2005-09-22 | 2005-09-22 | 在应用层实现vpn协议的系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1937571A true CN1937571A (zh) | 2007-03-28 |
CN100459568C CN100459568C (zh) | 2009-02-04 |
Family
ID=37954845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100194703A Expired - Fee Related CN100459568C (zh) | 2005-09-22 | 2005-09-22 | 在应用层实现vpn协议的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100459568C (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009082889A1 (fr) * | 2008-01-03 | 2009-07-09 | Hangzhou H3C Technologies Co., Ltd. | Procédé de négociation pour échange de clés internet et dispositif et système associés |
CN103067290A (zh) * | 2012-11-30 | 2013-04-24 | 成都卫士通信息产业股份有限公司 | 基于虚拟网卡适应负载均衡网络的vpn隧道实现方法 |
CN103840994A (zh) * | 2012-11-23 | 2014-06-04 | 华耀(中国)科技有限公司 | 一种用户端通过 vpn 访问内网的系统及方法 |
CN104283977A (zh) * | 2013-07-08 | 2015-01-14 | 北京思普崚技术有限公司 | 一种vpn网络中的vpn自动穿越方法 |
CN105045614A (zh) * | 2015-06-29 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 一种实现操作系统安装的方法及系统 |
CN111147344A (zh) * | 2019-12-16 | 2020-05-12 | 武汉思为同飞网络技术股份有限公司 | 一种虚拟专用网络实现方法、装置、设备及介质 |
CN111200793A (zh) * | 2019-12-16 | 2020-05-26 | 武汉思为同飞网络技术股份有限公司 | 一种通用短信平台对接方法、装置、设备及介质 |
CN114640627A (zh) * | 2022-03-10 | 2022-06-17 | 网宿科技股份有限公司 | 报文转发方法及装置、非易失性存储介质、处理器 |
CN115543661A (zh) * | 2022-10-26 | 2022-12-30 | 科东(广州)软件科技有限公司 | 数据分发装置及分发方法、车辆电子操作系统的架构 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7028186B1 (en) * | 2000-02-11 | 2006-04-11 | Nokia, Inc. | Key management methods for wireless LANs |
CN1291565C (zh) * | 2002-06-28 | 2006-12-20 | 成都卫士通信息产业股份有限公司 | 采用基于ip层虚拟专用网建立安全组播隧道的技术 |
US7533407B2 (en) * | 2003-12-16 | 2009-05-12 | Microsoft Corporation | System and methods for providing network quarantine |
CN100367715C (zh) * | 2004-09-30 | 2008-02-06 | 迈普(四川)通信技术有限公司 | 一种实现通信负载均衡的方法及网关、上端网关 |
-
2005
- 2005-09-22 CN CNB2005100194703A patent/CN100459568C/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009082889A1 (fr) * | 2008-01-03 | 2009-07-09 | Hangzhou H3C Technologies Co., Ltd. | Procédé de négociation pour échange de clés internet et dispositif et système associés |
US8327129B2 (en) | 2008-01-03 | 2012-12-04 | Hangzhou H3C Technologies Co., Ltd. | Method, apparatus and system for internet key exchange negotiation |
CN103840994B (zh) * | 2012-11-23 | 2017-06-06 | 华耀(中国)科技有限公司 | 一种用户端通过vpn访问内网的系统及方法 |
CN103840994A (zh) * | 2012-11-23 | 2014-06-04 | 华耀(中国)科技有限公司 | 一种用户端通过 vpn 访问内网的系统及方法 |
CN103067290A (zh) * | 2012-11-30 | 2013-04-24 | 成都卫士通信息产业股份有限公司 | 基于虚拟网卡适应负载均衡网络的vpn隧道实现方法 |
CN104283977A (zh) * | 2013-07-08 | 2015-01-14 | 北京思普崚技术有限公司 | 一种vpn网络中的vpn自动穿越方法 |
CN104283977B (zh) * | 2013-07-08 | 2017-12-19 | 北京思普崚技术有限公司 | 一种vpn网络中的vpn自动穿越方法 |
CN105045614A (zh) * | 2015-06-29 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 一种实现操作系统安装的方法及系统 |
CN111147344A (zh) * | 2019-12-16 | 2020-05-12 | 武汉思为同飞网络技术股份有限公司 | 一种虚拟专用网络实现方法、装置、设备及介质 |
CN111200793A (zh) * | 2019-12-16 | 2020-05-26 | 武汉思为同飞网络技术股份有限公司 | 一种通用短信平台对接方法、装置、设备及介质 |
CN111147344B (zh) * | 2019-12-16 | 2021-12-24 | 武汉思为同飞网络技术股份有限公司 | 一种虚拟专用网络实现方法、装置、设备及介质 |
CN114640627A (zh) * | 2022-03-10 | 2022-06-17 | 网宿科技股份有限公司 | 报文转发方法及装置、非易失性存储介质、处理器 |
CN114640627B (zh) * | 2022-03-10 | 2024-02-20 | 网宿科技股份有限公司 | 报文转发方法及装置、非易失性存储介质、处理器 |
CN115543661A (zh) * | 2022-10-26 | 2022-12-30 | 科东(广州)软件科技有限公司 | 数据分发装置及分发方法、车辆电子操作系统的架构 |
CN115543661B (zh) * | 2022-10-26 | 2023-08-11 | 科东(广州)软件科技有限公司 | 数据分发装置及分发方法、车辆电子操作系统的架构 |
Also Published As
Publication number | Publication date |
---|---|
CN100459568C (zh) | 2009-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100459568C (zh) | 在应用层实现vpn协议的系统及其方法 | |
CN107018134B (zh) | 一种配电终端安全接入平台及其实现方法 | |
JP3641112B2 (ja) | パケット中継装置、移動計算機装置、移動計算機管理装置、パケット中継方法、パケット送信方法及び移動計算機位置登録方法 | |
CN103023898B (zh) | 一种访问vpn服务端内网资源的方法及装置 | |
CN100576849C (zh) | 为安全连接而管理地址翻译的方法和装置 | |
US10021072B2 (en) | Security system and communication control method | |
CA2476552A1 (en) | Methods and systems for resolving addressing conflicts based on tunnel information | |
US20150288651A1 (en) | Ip packet processing method and apparatus, and network system | |
US9445384B2 (en) | Mobile device to generate multiple maximum transfer units and data transfer method | |
CN101345689A (zh) | 一种ip安全业务的实现方法、装置和通信设备 | |
CN117254976B (zh) | 基于VPP的国标IPsec VPN实现方法、装置、系统及电子设备 | |
Chen et al. | FogROS2-SGC: A ROS2 Cloud Robotics Platform for Secure Global Connectivity | |
CN112887187B (zh) | 一种设备间通信建立方法、系统、装置、设备及介质 | |
JP3491828B2 (ja) | 閉域網間接続システムと閉域網間接続方法およびその処理プログラムを記録した記録媒体ならびにホスティングサービスシステム | |
WO2020228130A1 (zh) | 通信设备的网管服务器与网元的通信方法及系统 | |
CN103139189B (zh) | 一种IPSec隧道共用方法、系统及设备 | |
CN114338116B (zh) | 加密传输方法、装置及sd-wan网络系统 | |
US20220210131A1 (en) | System and method for secure file and data transfers | |
US20080181404A1 (en) | Encrypted packet communication system | |
CN114143076A (zh) | 一种电力物联网安全防护系统 | |
CN113037706A (zh) | 摄像头和服务器的数据加解密传送方法及数据传输系统 | |
JP4356262B2 (ja) | パケット通信システム | |
CN115277190B (zh) | 一种链路层透明加密系统在网络上实现邻居发现的方法 | |
JP6075871B2 (ja) | ネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラム | |
CN115277164B (zh) | 基于二层组网环境的报文处理方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090204 Termination date: 20180922 |
|
CF01 | Termination of patent right due to non-payment of annual fee |