CN108924157A - 一种基于IPSec VPN的报文转发方法及装置 - Google Patents

一种基于IPSec VPN的报文转发方法及装置 Download PDF

Info

Publication number
CN108924157A
CN108924157A CN201810829794.0A CN201810829794A CN108924157A CN 108924157 A CN108924157 A CN 108924157A CN 201810829794 A CN201810829794 A CN 201810829794A CN 108924157 A CN108924157 A CN 108924157A
Authority
CN
China
Prior art keywords
ipsec vpn
port
message
service terminal
ipsec
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
Application number
CN201810829794.0A
Other languages
English (en)
Other versions
CN108924157B (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
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 Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201810829794.0A priority Critical patent/CN108924157B/zh
Publication of CN108924157A publication Critical patent/CN108924157A/zh
Application granted granted Critical
Publication of CN108924157B publication Critical patent/CN108924157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种基于IPSec VPN的报文转发方法及装置,该方法包括:IPSec VPN客户端的IKE进程通过已建立的控制通道与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,将加密参数发送至VPN Client进程;VPN Client进程接收加密参数,并向IPSec VPN服务端发送反向端口更新报文,反向端口更新报文携带第一端口的端口号;VPN Client进程通过第一端口和加密参数与IPSec VPN服务端建立数据通道,并通过已建立的数据通道与IPSec VPN服务端互相发送数据报文。本申请提升了IPSec VPN客户端处理数据报文的性能。

Description

一种基于IPSec VPN的报文转发方法及装置
技术领域
本申请涉及通信技术领域,特别涉及一种基于IPSec VPN的报文转发方法及装置。
背景技术
IPSec(Internet Protocol Security,互联网协议安全性)是一种开放标准的框架结构,通过使用加密的安全服务以确保在IP网络上进行保密而安全的通讯。IPSec不是一个单独的协议,而是应用于IP层上网络数据安全的一整套体系结构,包括AH(Authentication Header,网络认证协议)协议、ESP(Encapsulating Security Payload,封装安全荷载协议)协议、IKE(Internet Key Exchange,互联网密钥交换协议)和用于网络认证及加密的一些算法等。
IPSec VPN(Virtual Private Network,虚拟专用网络)是采用IPSec协议来实现远程接入的一种VPN技术,用以提供公用网络和专用网络的端对端加密和验证服务。
IPSec VPN客户端上运行IKE协议的IKE进程与IPSec VPN服务端之间互相发送控制报文,来实现用户身份认证并建立数据通道。后续IPSec VPN客户端与IPSec VPN服务端之间通过数据通道互相发送数据报文。
发明内容
有鉴于此,本申请提供一种基于IPSec VPN的报文转发方法及装置,用以提高IPSec VPN客户端对数据报文的处理性能。
具体地,本申请是通过如下技术方案实现的:
一种基于IPSec VPN的报文转发方法,应用于IPSec VPN客户端,所述IPSec VPN客户端包括IKE进程和VPN Client进程,包括:
所述IKE进程通过已建立的控制通道与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,将所述加密参数发送至所述VPN Client进程;
所述VPN Client进程接收所述加密参数,并向所述IPSec VPN服务端发送反向端口更新报文,所述反向端口更新报文携带第一端口的端口号;
所述VPN Client进程通过所述第一端口和所述加密参数与所述IPSec VPN服务端建立数据通道,并通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文。
在所述基于IPSec VPN的报文转发方法中,所述方法还包括:
所述IKE进程从第二端口接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,并将解密后的数据报文转发至所述VPN Client进程;其中,所述第二端口为建立所述控制通道所采用的端口;
所述IKE进程通知所述VPN Client进程向所述IPSec VPN服务端发送所述反向端口更新报文。
在所述基于IPSec VPN的报文转发方法中,所述通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文,包括:
所述VPN Client进程通过已建立的数据通道接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,获得解密后的数据报文。
在所述基于IPSec VPN的报文转发方法中,所述通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文,包括:
所述VPN Client进程将解密后的数据报文交由所述IPSec VPN客户端的系统,以由所述IPSec VPN客户端的系统处理所述数据报文后返回业务数据;
所述VPN Client进程基于所述加密参数将所述业务数据封装成数据报文,并通过已建立的数据通道向所述IPSec VPN服务端发送所述数据报文。
一种基于IPSec VPN的报文转发方法,应用于IPSec VPN服务端,包括:
在与IPSec VPN客户端协商出建立数据通道所使用的加密参数后,接收到所述IPSec VPN客户端发送的反向端口更新报文,其中,所述反向端口更新报文携带第一端口的端口号;
通过所述加密参数和所述第一端口与所述IPSec VPN客户端建立数据通道,并通过已建立的数据通道与所述IPSec VPN客户端互相发送数据报文。
一种基于IPSec VPN的报文转发装置,应用于IPSec VPN客户端,所述IPSec VPN客户端包括IKE进程和VPN Client进程,包括:
第一协商单元,用于通过已建立的控制通道与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,将所述加密参数发送至所述VPN Client进程;
第一发送单元,用于接收所述加密参数,并向所述IPSec VPN服务端发送反向端口更新报文,所述反向端口更新报文携带第一端口的端口号;
第二发送单元,用于通过所述第一端口和所述加密参数与所述IPSec VPN服务端建立数据通道,并通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文。
在所述基于IPSec VPN的报文转发装置中,所述装置还包括:
转发单元,用于从第二端口接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,并将解密后的数据报文转发至所述VPN Client进程;其中,所述第二端口为建立所述控制通道所采用的端口;
通知单元,用于通知所述VPN Client进程向所述IPSec VPN服务端发送所述反向端口更新报文。
在所述基于IPSec VPN的报文转发装置中,所述第二发送单元,进一步用于:
通过已建立的数据通道接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,获得解密后的数据报文。
在所述基于IPSec VPN的报文转发装置中,所述第二发送单元,进一步用于:
将解密后的数据报文交由所述IPSec VPN客户端的系统,以由所述IPSec VPN客户端的系统处理所述数据报文后返回业务数据;
基于所述加密参数将所述业务数据封装成数据报文,并通过已建立的数据通道向所述IPSec VPN服务端发送所述数据报文。
一种基于IPSec VPN的报文转发装置,应用于IPSec VPN服务端,包括:
第二协商单元,用于在与IPSec VPN客户端协商出建立数据通道所使用的加密参数后,接收到所述IPSec VPN客户端发送的反向端口更新报文,其中,所述反向端口更新报文携带第一端口的端口号;
第三发送单元,用于通过所述加密参数和所述第一端口与所述IPSec VPN客户端建立数据通道,并通过已建立的数据通道与所述IPSec VPN客户端互相发送数据报文。
在本申请实施例中,IPSec VPN客户端与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,IPSec VPN客户端上的IKE进程将该加密参数发送至IPSec VPN客户端上的VPN Client进程;VPN Client进程接收该加密参数,并向IPSec VPN服务端发送反向端口更新报文,该反向端口更新报文携带第一端口的端口号;进一步地,VPN Client进程通过第一端口和上述加密参数与IPSec VPN服务端建立数据通道,并通过已建立的数据通道与IPSec VPN服务端互相发送数据报文;
由于IPSec VPN客户端上的VPN Client进程可以反向端口更新报文中的第一端口和上述加密参数与IPSec VPN服务端建立数据通道,从而使得IPSec VPN客户端与IPSecVPN服务端之间的控制通道和数据通道分别使用不同的UDP通道,VPN Client进程直接接收IPSec VPN服务端发送的数据报文,减少了IKE进程与VPN Client进程之间的交互,大大提升了IPSec VPN客户端处理数据报文的性能。
附图说明
图1是本申请示出的一种IPSec VPN客户端处理数据报文的示意图;
图2是本申请示出的一种IPSec VPN数据报文的示意图;
图3是本申请示出的一种基于IPSec VPN的报文转发方法的流程图;
图4是本申请示出的另一种基于IPSec VPN的报文转发方法的流程图;
图5是本申请示出的另一种IPSec VPN客户端处理数据报文的示意图;
图6是本申请示出的另一种IPSec VPN数据报文的示意图;
图7是本申请示出的一种基于IPSec VPN的报文转发装置的实施例框图;
图8是本申请示出的一种基于IPSec VPN的报文转发装置的硬件结构图;
图9是本申请示出的另一种基于IPSec VPN的报文转发装置的实施例框图;
图10是本申请示出的另一种基于IPSec VPN的报文转发装置的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,为本申请示出的一种IPSec VPN客户端处理数据报文的示意图,如图1所示:
IPSec VPN客户端监听VPN端口4500,IPSec VPN客户端上的IKE进程通过该端口与IPSec VPN服务端之间互相传送控制报文。具体地,IPSec VPN客户端上的IKE进程与IPSecVPN服务端协商建立IKE SA(此即为控制通道)所使用的加密参数,并基于已建立的IKE SA协商建立IPSec SA(此即为数据通道)所使用的加密参数。
进一步地,IPSec VPN客户端监听VPN端口4500,IPSec VPN客户端上的IKE进程通过该端口与IPSec VPN服务端之间互相传送数据报文。具体地,IPSec VPN客户端上的IKE进程基于已建立的IPSec SA与IPSec VPN服务端互相传送数据报文。
IPSec VPN客户端与IPSec VPN服务端互相传送控制报文的过程,在本申请技术方案中与现有技术等同,在此不赘述。本申请技术方案是对数据报文的交互过程的改进,为清楚的说明本申请中数据报文的交互过程与现有技术的区别,以下以图1为例,对现有技术中数据报文的交互过程进行介绍。
IKE进程从VPN端口4500接收到已加密的数据报文,并对该数据报文进行解密,获得已解密的数据报文。
参见图2,为本申请示出的一种IPSec VPN数据报文的示意图,图2中的各数据报文由图1中IPSec VPN客户端与IPSec VPN服务端生成。
其中,图2中的a报文即为图1中的IKE进程接收到的已加密的数据报文,图2中的b报文为图1中的IKE进程解密后的数据报文。
IKE进程通过内部端口向VPN Client进程转发已解密的数据报文,其中,该内部端口为VPN Client监听的4502端口。
VPN Client进程接收到已解密的数据报文后,通过虚拟网卡的接口将该数据报文写给系统,以由系统处理该数据报文后返回业务数据。
VPN Client进程通过虚拟网卡的接口接收系统返回的业务数据,然后通过内部端口向IKE进程转发为该业务数据生成的数据报文,其中,该内部端口为IKE进程监听的4501端口。
仍以图2为例,图2中的c报文即为图1中的VPN Client进程为业务数据生成的数据报文。
IKE进程接收到该数据报文后,对该数据报文进行封装,然后通过已建立的IPSecSA发送封装后的数据报文。
仍以图2为例,图2中的d报文即为图1中的IKE进程封装后的数据报文。
可见,在现有技术中,客户端与服务端交互数据报文时,因数据通道与控制通道共用一个UDP通道,导致客户端接收数据报文后,客户端上的IKE进程与VPN Client进程之间存在交互,影响了客户端处理数据报文的性能。
有鉴于此,本申请提出一种基于IPSec VPN的报文转发方法,通过分离数据通道和控制通道,使得IPSec VPN客户端上的VPN Client进程可以直接从IPSec VPN服务端接收数据报文,减少了IPSec VPN客户端内的无效交互,从而提升IPSec VPN客户端处理数据报文的性能。
参见图3,为本申请示出的一种基于IPSec VPN的报文转发方法,该方法应用于IPSec VPN客户端,上述IPSec VPN客户端上包括IKE进程和VPN Client进程,该方法包括以下步骤:
步骤301:所述IKE进程通过已建立的控制通道与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,将所述加密参数发送至所述VPN Client进程。
IKE进程与IPSec VPN服务端协商建立控制通道的过程与现有技术相同,在此不赘述。IKE进程通过已建立的控制通道与IPSec VPN服务端协商出建立数据通道所使用的加密参数。
其中,该加密参数可以包括安全参数索引、加密密钥和认证密钥等,安全参数索引又可包括IPSec VPN客户端选定的安全参数索引和IPSec VPN服务端选定的安全参数索引。
IKE进程可通过内部端口向VPN Client进程转发上述加密参数。VPN Client进程获得上述加密参数后,可自行完成数据报文加密封装的过程。
步骤302:所述VPN Client进程接收所述加密参数,并向所述IPSec VPN服务端发送反向端口更新报文,所述反向端口更新报文携带第一端口的端口号。
VPN Client进程接收IKE进程发送的上述加密参数后,可以创建UDP套接字,确定建立数据通道所需的第一端口的端口号,然后向IPSec VPN服务端发送反向端口更新报文。其中,第一端口可以是VPN Client进程随机确定的。
IPSec VPN服务端接收该反向端口更新报文后,可以在后续向IPSec VPN客户端发送数据报文时,将数据报文中的目的端口填为上述第一端口的端口号。
作为一种实施例,反向端口更新报文可以是报文的ESP尾中的next header字段中填入预定义的值的数据报文,当IPSec VPN服务端读取到ESP尾中的上述预定义的值后,即可获取该数据报文的源端口,并将该源端口作为后续向IPSec VPN客户端发送数据报文的目的端口。比如:预定义当next header字段为0xff时,IPSec VPN服务端可以将数据报文的源端口作为后续发送数据报文的目的端口。
步骤303:所述VPN Client进程通过所述第一端口和所述加密参数与所述IPSecVPN服务端建立数据通道,并通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文。
实际上,VPN Client进程在获得上述加密参数,并向IPSec VPN服务端发送上述反向端口更新报文后,即与IPSec VPN服务端建立数据通道。后续向IPSec VPN服务端发送数据报文时,可以将该数据报文的源端口填为上述第一端口的端口号。
IPSec VPN服务端接收到上述数据报文,对该数据报文进行处理后,通过已建立的数据通道返回数据报文。其中,返回的数据报文的目的端口为上述第一端口。
在本申请实施例中,VPN Client进程通过已建立的数据通道接收到IPSec VPN服务端发送的数据报文后,可以基于上述加密参数对该数据报文进行解密,获得解密后的数据报文。
进一步地,VPN Client进程可以将解密后的数据报文交由IPSec VPN客户端的系统。IPSec VPN客户端的系统处理所述数据报文后,可以向VPN Client进程返回业务数据。
VPN Client进程再基于上述加密参数将上述业务数据封装成数据报文,然后通过已建立的数据通道向IPSec VPN服务端发送上述数据报文。
通过上述措施,VPN Client进程可以通过数据通道与IPSec VPN服务端直接通信,减少了IKE进程与VPN Client进程之间的交互,从而提升了IPSec VPN客户端处理数据报文的性能。
在本申请实施例中,应当考虑到,VPN Client进程向IPSec VPN服务端发送反向端口更新报文后,可能出现丢包。在这种情况下,IPSec VPN服务端仍会通过与控制通道相同的UDP通道向IPSec VPN客户端发送数据报文,换而言之,IPSec VPN服务端发送的数据报文的目的端口为第二端口,其中,该第二端口为建立控制通道所采用的端口。
在这种情况下,与现有技术相同,IKE进程会从第二端口接收到IPSec VPN服务端发送的数据报文。
进一步地,IKE进程可以基于上述加密参数对该数据报文进行解密,然后将解密后的数据报文转发至VPN Client进程。
此外,IKE进程从第二端口接收到数据报文,可以确定反向端口更新报文丢包,IKE进程需通知VPN Client进程向IPSec VPN服务端发送反向端口更新报文,使得VPN Client进程与IPSec VPN服务端建立数据通道。
作为一种实施例,IKE进程可以重新向VPN Client进程发送建立数据通道所使用的加密参数,从而使得VPN Client进程重新发送反向端口更新报文。
在这种实施例中,VPN Client进程接收到IKE进程转发的解密后的数据报文后,可以将将解密后的数据报文交由IPSec VPN客户端的系统。IPSec VPN客户端的系统处理所述数据报文后,可以向VPN Client进程返回业务数据。
VPN Client进程再基于上述加密参数将上述业务数据封装成数据报文,然后通过已建立的数据通道向IPSec VPN服务端发送上述数据报文。
通过上述措施,在出现反向端口更新报文丢包的情况下,本申请以兼容现有技术的方式处理接收到的数据报文,防止IPSec VPN客户端的业务受到影响。此外,确定反向端口更新报文丢包后,IKE进程可以及时通知VPN Client进程重新发送反向端口更新报文,以建立新的数据通道。
下面从IPSec VPN服务端一侧对本申请的报文转发方法进行描述。参见图4,为本申请示出的另一种基于IPSec VPN的报文转发方法,该方法应用于IPSec VPN服务端,该方法包括以下步骤:
步骤401:在与IPSec VPN客户端协商出建立数据通道所使用的加密参数后,接收到所述IPSec VPN客户端发送的反向端口更新报文,其中,所述反向端口更新报文携带第一端口的端口号。
IPSec VPN服务端与IPSec VPN客户端协商建立控制通道的过程与现有技术相同,在此不赘述。
IPSec VPN服务端与IPSec VPN客户端通过上述控制通道协商出建立数据通道所使用的加密参数后,IPSec VPN客户端的VPN Client进程会向IPSec VPN服务端发送反向端口更新报文。
其中,该加密参数可以包括安全参数索引、加密密钥和认证密钥等,安全参数索引又可包括IPSec VPN客户端选定的安全参数索引和IPSec VPN服务端选定的安全参数索引。
步骤402:通过所述加密参数和所述第一端口与所述IPSec VPN客户端建立数据通道,并通过已建立的数据通道与所述IPSec VPN客户端互相发送数据报文。
实际上,IPSec VPN服务端在与IPSec VPN客户端协商出建立数据通道所使用的加密参数,并接收到携带第一端口的端口号的反向端口更新报文后,即与IPSec VPN客户端建立数据通道。
后续可从该数据通道接收IPSec VPN客户端发送的数据报文;其中,该数据报文的源端口为第一端口。
可从该数据通道向IPSec VPN客户端发送数据报文;其中,该数据报文的目的端口为第一端口。
当然,若IPSec VPN服务端未接收到上述反向端口更新报文,则可以基于协商出的建立数据通道所使用的加密参数和第二端口建立数据通道。其中,第二端口为建立控制通道所采用的端口。
在这种情况下,IPSec VPN服务端向IPSec VPN客户端发送数据报文的方式与现有技术相同,控制通道和数据通道共用一个UDP通道,在此不再赘述。
为更清楚地说明本申请技术方案,参见图5,为本申请示出的另一种IPSec VPN客户端处理数据报文的示意图。
IPSec VPN客户端上的IKE进程监听VPN端口4500,通过该端口与IPSec VPN服务端之间互相传送控制报文。具体参照现有技术,在此不再赘述。
IKE进程与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,可通过内部端口向VPN Client进程发送该加密参数。
VPN Client进程接收到该加密参数,可以创建UDP套接字,确定建立数据通道所需的端口4501;该端口可随机产生,当然可以是其它除4500以外端口。
进一步地,VPN Client进程向IPSec VPN服务端发送反向端口更新报文,该反向端口更新报文携带端口4501。
IPSec VPN服务端接收到上述反向端口更新报文,即与VPN Client进程建立数据通道。其中,该数据通道在IPSec VPN服务端的端口为4500,在IPSec VPN客户端的端口为4501。
后续IPSec VPN服务端与VPN Client进程可以直接根据该数据通道进行通信。
参见图6,为本申请示出的另一种IPSec VPN数据报文的示意图,图6中的各数据报文由图5中IPSec VPN客户端与IPSec VPN服务端生成。
其中,图6中的a报文即为图5中的VPN Client进程接收到的已加密的数据报文,图6中的b报文即为图5中的VPN Client进程封装后的数据报文。
综上所述,在本申请实施例中,IPSec VPN客户端的IKE进程与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,将该加密参数发送至VPN Client进程;VPNClient进程向IPSec VPN服务端发送反向端口更新报文,与IPSec VPN服务端建立数据通道,从而使得IPSec VPN客户端与IPSec VPN服务端之间的控制通道和数据通道分别使用不同的UDP通道,VPN Client进程直接接收IPSec VPN服务端发送的数据报文,减少了IKE进程与VPN Client进程之间的交互,大大提升了IPSec VPN客户端处理数据报文的性能;
此外,本申请技术方案兼容现有技术,在反向端口更新报文丢包的情况下,IPSecVPN客户端与IPSec VPN服务端仍能正常通信,且IKE进程接收到数据报文后,会通知VPNClient进程重新发送反向端口更新报文,提高了方案的可靠性。
与前述基于IPSec VPN的报文转发方法的实施例相对应,本申请还提供了基于IPSec VPN的报文转发装置的实施例。
参见图7,为本申请示出的一种基于IPSec VPN的报文转发装置的实施例框图:
如图7所示,该基于IPSec VPN的报文转发装置70包括:
第一协商单元710,用于通过已建立的控制通道与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,将所述加密参数发送至所述VPN Client进程。
第一发送单元720,用于接收所述加密参数,并向所述IPSec VPN服务端发送反向端口更新报文,所述反向端口更新报文携带第一端口的端口号。
第二发送单元730,用于通过所述第一端口和所述加密参数与所述IPSec VPN服务端建立数据通道,并通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文。
在本例中,所述装置还包括:
转发单元740,用于从第二端口接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,并将解密后的数据报文转发至所述VPN Client进程;其中,所述第二端口为建立所述控制通道所采用的端口。
通知单元750,用于通知所述VPN Client进程向所述IPSec VPN服务端发送所述反向端口更新报文。
在本例中,所述第二发送单元730,进一步用于:
通过已建立的数据通道接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,获得解密后的数据报文。
在本例中,所述第二发送单元730,进一步用于:
将解密后的数据报文交由所述IPSec VPN客户端的系统,以由所述IPSec VPN客户端的系统处理所述数据报文后返回业务数据;
基于所述加密参数将所述业务数据封装成数据报文,并通过已建立的数据通道向所述IPSec VPN服务端发送所述数据报文。
本申请基于IPSec VPN的报文转发装置的实施例可以应用在IPSec VPN客户端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在IPSec VPN客户端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本申请基于IPSec VPN的报文转发装置所在IPSec VPN客户端的一种硬件结构图,除了图8所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的IPSec VPN客户端通常根据该基于IPSec VPN的报文转发装置的实际功能,还可以包括其他硬件,对此不再赘述。
参见图9,为本申请示出的另一种基于IPSec VPN的报文转发装置的实施例框图:
如图9所示,该基于IPSec VPN的报文转发装置90包括:
第二协商单元910,用于在与IPSec VPN客户端协商出建立数据通道所使用的加密参数后,接收到所述IPSec VPN客户端发送的反向端口更新报文,其中,所述反向端口更新报文携带第一端口的端口号。
第三发送单元920,用于通过所述加密参数和所述第一端口与所述IPSec VPN客户端建立数据通道,并通过已建立的数据通道与所述IPSec VPN客户端互相发送数据报文。
本申请基于IPSec VPN的报文转发装置的实施例可以应用在IPSec VPN服务端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在IPSec VPN服务端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图10所示,为本申请基于IPSec VPN的报文转发装置所在IPSec VPN服务端的一种硬件结构图,除了图10所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的IPSec VPN服务端通常根据该基于IPSec VPN的报文转发装置的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种基于IPSec VPN的报文转发方法,应用于IPSec VPN客户端,所述IPSec VPN客户端包括IKE进程和VPN Client进程,其特征在于,包括:
所述IKE进程通过已建立的控制通道与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,将所述加密参数发送至所述VPN Client进程;
所述VPN Client进程接收所述加密参数,并向所述IPSec VPN服务端发送反向端口更新报文,所述反向端口更新报文携带第一端口的端口号;
所述VPN Client进程通过所述第一端口和所述加密参数与所述IPSec VPN服务端建立数据通道,并通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述IKE进程从第二端口接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,并将解密后的数据报文转发至所述VPN Client进程;其中,所述第二端口为建立所述控制通道所采用的端口;
所述IKE进程通知所述VPN Client进程向所述IPSec VPN服务端发送所述反向端口更新报文。
3.根据权利要求1所述的方法,其特征在于,所述通过已建立的数据通道与所述IPSecVPN服务端互相发送数据报文,包括:
所述VPN Client进程通过已建立的数据通道接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,获得解密后的数据报文。
4.根据权利要求2或3所述的方法,其特征在于,所述通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文,包括:
所述VPN Client进程将解密后的数据报文交由所述IPSec VPN客户端的系统,以由所述IPSec VPN客户端的系统处理所述数据报文后返回业务数据;
所述VPN Client进程基于所述加密参数将所述业务数据封装成数据报文,并通过已建立的数据通道向所述IPSec VPN服务端发送所述数据报文。
5.一种基于IPSec VPN的报文转发方法,应用于IPSec VPN服务端,其特征在于,包括:
在与IPSec VPN客户端协商出建立数据通道所使用的加密参数后,接收到所述IPSecVPN客户端发送的反向端口更新报文,其中,所述反向端口更新报文携带第一端口的端口号;
通过所述加密参数和所述第一端口与所述IPSec VPN客户端建立数据通道,并通过已建立的数据通道与所述IPSec VPN客户端互相发送数据报文。
6.一种基于IPSec VPN的报文转发装置,应用于IPSec VPN客户端,所述IPSec VPN客户端包括IKE进程和VPN Client进程,其特征在于,包括:
第一协商单元,用于通过已建立的控制通道与IPSec VPN服务端协商出建立数据通道所使用的加密参数后,将所述加密参数发送至所述VPN Client进程;
第一发送单元,用于接收所述加密参数,并向所述IPSec VPN服务端发送反向端口更新报文,所述反向端口更新报文携带第一端口的端口号;
第二发送单元,用于通过所述第一端口和所述加密参数与所述IPSec VPN服务端建立数据通道,并通过已建立的数据通道与所述IPSec VPN服务端互相发送数据报文。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
转发单元,用于从第二端口接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,并将解密后的数据报文转发至所述VPN Client进程;其中,所述第二端口为建立所述控制通道所采用的端口;
通知单元,用于通知所述VPN Client进程向所述IPSec VPN服务端发送所述反向端口更新报文。
8.根据权利要求6所述的装置,其特征在于,所述第二发送单元,进一步用于:
通过已建立的数据通道接收到所述IPSec VPN服务端发送的数据报文,基于所述加密参数对所述数据报文进行解密,获得解密后的数据报文。
9.根据权利要求7或8所述的装置,其特征在于,所述第二发送单元,进一步用于:
将解密后的数据报文交由所述IPSec VPN客户端的系统,以由所述IPSec VPN客户端的系统处理所述数据报文后返回业务数据;
基于所述加密参数将所述业务数据封装成数据报文,并通过已建立的数据通道向所述IPSec VPN服务端发送所述数据报文。
10.一种基于IPSec VPN的报文转发装置,应用于IPSec VPN服务端,其特征在于,包括:
第二协商单元,用于在与IPSec VPN客户端协商出建立数据通道所使用的加密参数后,接收到所述IPSec VPN客户端发送的反向端口更新报文,其中,所述反向端口更新报文携带第一端口的端口号;
第三发送单元,用于通过所述加密参数和所述第一端口与所述IPSec VPN客户端建立数据通道,并通过已建立的数据通道与所述IPSec VPN客户端互相发送数据报文。
CN201810829794.0A 2018-07-25 2018-07-25 一种基于IPSec VPN的报文转发方法及装置 Active CN108924157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810829794.0A CN108924157B (zh) 2018-07-25 2018-07-25 一种基于IPSec VPN的报文转发方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810829794.0A CN108924157B (zh) 2018-07-25 2018-07-25 一种基于IPSec VPN的报文转发方法及装置

Publications (2)

Publication Number Publication Date
CN108924157A true CN108924157A (zh) 2018-11-30
CN108924157B CN108924157B (zh) 2021-04-27

Family

ID=64416877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810829794.0A Active CN108924157B (zh) 2018-07-25 2018-07-25 一种基于IPSec VPN的报文转发方法及装置

Country Status (1)

Country Link
CN (1) CN108924157B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110324227A (zh) * 2019-06-26 2019-10-11 厦门网宿有限公司 一种vpn服务器中的数据传输方法及vpn服务器
CN111835613A (zh) * 2019-04-23 2020-10-27 厦门网宿有限公司 一种vpn服务器的数据传输方法及vpn服务器
CN112804268A (zh) * 2021-04-13 2021-05-14 北京太一星晨信息技术有限公司 一种同步方法、第一设备、第二设备和同步系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624734A (zh) * 2012-03-15 2012-08-01 汉柏科技有限公司 Ike报文协商过程中的nat设备发现处理方法
CN103051636A (zh) * 2012-12-31 2013-04-17 华为技术有限公司 一种数据报文的传输方法和设备
KR101376171B1 (ko) * 2012-08-16 2014-03-19 한국전자통신연구원 인터넷 프로토콜 시큐리티 가상 사설망 장치 및 그를 이용하는 통신 방법
CN105610790A (zh) * 2015-12-17 2016-05-25 武汉邮电科学研究院 IPSec加密卡与CPU协同的用户面数据处理方法
CN105991562A (zh) * 2015-02-05 2016-10-05 华为技术有限公司 IPSec加速方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102624734A (zh) * 2012-03-15 2012-08-01 汉柏科技有限公司 Ike报文协商过程中的nat设备发现处理方法
KR101376171B1 (ko) * 2012-08-16 2014-03-19 한국전자통신연구원 인터넷 프로토콜 시큐리티 가상 사설망 장치 및 그를 이용하는 통신 방법
CN103051636A (zh) * 2012-12-31 2013-04-17 华为技术有限公司 一种数据报文的传输方法和设备
CN105991562A (zh) * 2015-02-05 2016-10-05 华为技术有限公司 IPSec加速方法、装置及系统
CN105610790A (zh) * 2015-12-17 2016-05-25 武汉邮电科学研究院 IPSec加密卡与CPU协同的用户面数据处理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835613A (zh) * 2019-04-23 2020-10-27 厦门网宿有限公司 一种vpn服务器的数据传输方法及vpn服务器
CN110324227A (zh) * 2019-06-26 2019-10-11 厦门网宿有限公司 一种vpn服务器中的数据传输方法及vpn服务器
CN112804268A (zh) * 2021-04-13 2021-05-14 北京太一星晨信息技术有限公司 一种同步方法、第一设备、第二设备和同步系统

Also Published As

Publication number Publication date
CN108924157B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
US11848961B2 (en) HTTPS request enrichment
KR101680955B1 (ko) 다중 터널 가상 사설 네트워크
EP3286896B1 (en) Scalable intermediate network device leveraging ssl session ticket extension
US9596077B2 (en) Community of interest-based secured communications over IPsec
CN110463156A (zh) 安全通信中的硬件加速的有效载荷过滤
US9369550B2 (en) Protocol for layer two multiple network links tunnelling
US20170201382A1 (en) Secure Endpoint Devices
US9350711B2 (en) Data transmission method, system, and apparatus
US10044841B2 (en) Methods and systems for creating protocol header for embedded layer two packets
WO2015000358A1 (zh) 配置信息的下发方法、系统及装置
US20170126623A1 (en) Protected Subnet Interconnect
US20050160269A1 (en) Common security key generation apparatus
US11924248B2 (en) Secure communications using secure sessions
CN107306198B (zh) 报文转发方法、设备和系统
CN108924157A (zh) 一种基于IPSec VPN的报文转发方法及装置
CN110752921A (zh) 一种通信链路安全加固方法
WO2021068777A1 (en) Methods and systems for internet key exchange re-authentication optimization
Farinacci et al. Locator/ID separation protocol (LISP) data-plane confidentiality
WO2016165277A1 (zh) 一种实现IPsec分流的方法和装置
CN105635076B (zh) 一种媒体传输方法和设备
US10015208B2 (en) Single proxies in secure communication using service function chaining
CN109257388A (zh) 一种mpls-tp中伪线加密方法
CN111416791A (zh) 数据传输方法、设备与系统
CN113950802B (zh) 用于执行站点到站点通信的网关设备和方法
Neppach et al. Key Management of Quantum Generated Keys in IPsec.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant