CN115883467A - 一种IPSec VPN安全网关 - Google Patents
一种IPSec VPN安全网关 Download PDFInfo
- Publication number
- CN115883467A CN115883467A CN202211580037.7A CN202211580037A CN115883467A CN 115883467 A CN115883467 A CN 115883467A CN 202211580037 A CN202211580037 A CN 202211580037A CN 115883467 A CN115883467 A CN 115883467A
- Authority
- CN
- China
- Prior art keywords
- ipsec
- processor
- module
- security gateway
- tunnel
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IPSec VPN安全网关,涉及网络安全网关技术领域,所述安全网关包括:获取模块,用于获取第一设备发送的IPSec流,所述IPSec流包括标识参数;分流模块,用于根据IPSec流的标识参数对所述IPSec流进行分流,使其进入不同处理器;发送模块,用于将所述处理器处理完成的所述IPSec流通过与所述处理器对应的IPSec隧道发送至所述第二设备。本发明可避免同簇的IPSec流被分配到同一个处理器进行处理,导致总体的分配不均;在出现处理器或者隧道单点不可用时,不需要重新建立隧道。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种IPSec VPN安全网关。
背景技术
随着云计算的兴起,越来越多的客户将服务置于云端。大量的网络流量使得云服务厂商对各种与计算网络的性能要求越来越高。同时,越来越多的客户对数据的安全性和私密性更加关注,使得越来越多的网络数据包被加密之后再进行传输。其中,IPSec协议是现在在两个私有网之间进行通讯的最常用的加密协议。主流的云服务厂商都提供使用IPSec协议对网络包进行加密的网络功能模块,即IPSec安全网关。
现有的IPSec网关普遍使用多个处理器并行处理IPSec流。为了易用性和弹性,这类IPSec安全网关分为三个部分:IPSec加解密操作被解耦,形成工作模块,放在多个处理器进行并行处理;发送模块充当控制面制定调度网络包的策略,工作负载较轻且需要全局的信息,因此放在单独的控制节点;分流模块分局调度策略将网络包转发至对应处理器,工作负载重且需要与处理器交互,因此应该放在靠近处理器的单独核进行处理
针对未加密的网络数据包,现今的安全网关已经实现分流模块的功能。网关通过RSS(receive side scaling)负载分流方法,通过哈希网络包的五元组(源IP,目的IP,源端口号,目的端口号,协议号)将数据包分配到多网卡的多队列中。通过将队列与处理器一一对应可以实现将网络包分配到多个处理器的功能,即分流模块,但采用该方会导致两点问题:
问题一,通过IPSec协议加密的网络协议包,会将网络包五元组中的三个元:源端口号,目的端口号,协议号进行加密,只保留两元:源IP,目的IP为未加密数据。当网卡接收到IPSec协议加密的网络包时,并不能通过五元组的方式哈希数据包,而仅仅通过哈希未加密的两元,会导致同簇的IPSec流(即源IP和目的IP相同,但是源端口号和目的端口号不同的IPSec流)被分配到同一个处理器进行处理,导致总体的分配不均。
问题二,当处理器及其对应的IPSec隧道出现单点不可用时,IPSec隧道需要重新建立,会存在一定时间内业务丢包的问题。
发明内容
针对现有技术中的缺陷,本发明提供一种IPSec VPN安全网关。
本发明的方案:一种IPSec VPN安全网关,包括:
获取模块,用于获取第一设备发送的IPSec流,所述IPSec流包括标识参数,所述标识参数包括第一设备IP、第二设备IP、第二设备端口号、序列号;
分流模块,用于根据IPSec流的标识参数对所述IPSec流进行分流,使其进入不同处理器;
发送模块,用于将所述处理器处理完成的所述IPSec流通过与所述处理器对应的IPSec隧道发送至所述第二设备。
优选地,所述获取模块具体用于:
查找预设地址表中是否存在所述第一设备IP和第二设备IP;
在所述第一设备IP和第二设备IP均存在时,将所述第一设备发送的IPSec流发送给分流模块。
优选地,所述分流模块具体用于:
用于根据所述序列号对所述IPSec流进行哈希,将哈希后的所述IPSec流分配至不同队列中,并根据预设规则将所述队列中的IPSec流发送至所述队列对应的处理器。
优选地,所述处理器用于对IPSec流进行封装、解封装和加解密。
优选地,还包括配置模块,用于配置与所述处理器一一对应的IPSec隧道,以形成第一设备至第二设备的多条链路。
优选地,还包括检测模块,用于在配置完所述IPSec隧道后,根据配置周期性地对所述IPSec隧道进行监测,获取延时、抖动和丢包率信息,根据所述延时、抖动和丢包率信息计算所述IPSec隧道的可用性,并将计算结果发送给配置模块。
优选地,所述检测模块,还用于在配置完所述IPSec隧道后,根据配置周期性地对所述处理器进行监测,获取负载信息,根据负载信息计算所述处理器的可用性,并将计算结果发送给配置模块。
优选地,所述配置模块还用于根据所述处理器和所述IPSec隧道的可用性,从多条链路中移除对应的处理器或者IPSec隧道,在对应的处理器或者IPSec隧道被移除时,其对应的IPSec隧道或者处理器处于保活状态。
本发明的有益效果体现在:
1)避免同簇的IPSec流被分配到同一个处理器进行处理,导致总体的分配不均;
2)当IPSec隧道或者处理器单点不可用时,IPSec隧道不需要重新建立,IPSec流可正常传输,当IPSec隧道和处理器均正常时,可根据负载信息进行调度以实现负载均衡。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明实施例提供的一种IPSec VPN安全网关的结构示意图;
图2为本发明实施例提供的一种IPSec VPN安全网关的工作过程示意图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1、所示,本发明实施例提供了一种IPSec VPN安全网关,包括:
获取模块,用于获取第一设备发送的IPSec流,所述IPSec流包括标识参数,所述标识参数包括第一设备IP、第二设备IP、第二设备端口号、序列号;
在本发明实施例中,所述获取模块具体用于:查找预设地址表中是否存在所述第一设备IP和第二设备IP;在所述第一设备IP和第二设备IP均存在时,将所述第一设备发送的IPSec流发送给分流模块。
需要说明的是,所述IPSec流为数据报文结构。
分流模块,用于根据IPSec流的标识参数对所述IPSec流进行分流,使其进入不同处理器;
具体的,根据所述序列号对所述IPSec流进行哈希,将哈希后的所述IPSec流分配至不同队列中,并根据预设队列与处理器的映射关系将所述队列中的IPSec流发送至所述队列对应的处理器。
由于IPSec流为数据报文结构,对该结构进行研究发现,同一连接中的数据报文的序列号不同且递增,所以在本实施例中采用序列号作为哈希的差异参数,以实现同一报文数据的分流,采用这种方法不依赖于五元组,可有效避免同簇的IPSec流(即源IP和目的IP相同,但是源端口号和目的端口号不同的IPSec流)被分配到同一个处理器进行处理。
IPSec流被拆包分配至处理后,处理器能够对IPSec流进行封装、解封装和加解密等操作,需要说明的多个处理器具有参数标识,用于指示其调用时的优先级。
发送模块,用于将所述处理器处理完成的所述IPSec流通过与所述处理器对应的IPSec隧道发送至所述第二设备。
具体的,发送模块通过调用IPSec接口来实现IPSec流的转发,发送模块根据预设处理器与IPSec隧道映射关系以及预设负载算法来进行转发,其中,所述预设的负载算法包括但不限于轮询负载算法。
在本发明实施例中,还包括配置模块,用于配置与所述处理器一一对应的IPSec隧道,以形成第一设备至第二设备的多条链路。
具体的,一个队列对应一个处理器,一个处理器对应至少两个IPSec接口,一个IPSec接口对应一个IPSec隧道。需要说明的,建立IPSec隧道的具体方法采用现有技术,例如,在建立IPSec隧道之前,通信两端进行密钥交换以协商安全策略,在此不做赘述。
在本发明实施例中,队列、处理器、IPSec接口、IPSec隧道等都具有对应关系,在保证负载均衡的同时,可减少负载均衡计算量。
在本发明实施例中,还包括检测模块,用于在配置完所述IPSec隧道后,根据配置周期性地对所述IPSec隧道进行监测,获取延时、抖动和丢包率信息,根据所述延时、抖动和丢包率信息计算所述IPSec隧道的可用性,并将计算结果发送给配置模块。
具体的,配置模块可根据IPSec隧道配置情况生成配置列表,所述配置列表包含IPSec隧道信息及隧道两端接口信息,可选地,当到达检测周期时,检测模块遍历所述配置列表,计算列表中各个隧道的RTT平均值和方差、计算丢包率保存,当某一个IPSec隧道的丢包率大于等于40%时,将其在配置列表中的信息复制到不可用列表,并将该信息发送给配置模块。可选地,当到达检测周期时,检测模块遍历所述配置列表,计算列表中各个处理器的负载信息,当负载大于等于90%时,将其在配置列表中的信息复制在不可用列表,并将该信息发送给配置模块。
在本发明实施例中,所述配置模块还用于根据所述处理器和所述IPSec隧道的可用性,从多条链路中移除对应的处理器或者IPSec隧道,在对应的处理器或者IPSec隧道被移除时,其对应的IPSec隧道或者处理器处于保活状态。
具体的,在一个处理器对应两个IPSec接口、对应两个IPSec隧道时,一个为常用隧道,一个为备用隧道,若IPSec隧道中任意一个隧道不可用,则对应的IPSec接口禁止被调用,用所述处理器对应可用IPSec接口进行数据转发,若两个IPSec隧道都被禁用,按照各个处理器的优先级标识调取其他处理器的备用IPSec隧道,若所述处理器不可用,则IPSec隧道保活,作为备用隧道,以供其他处理器调用。
采用上述方法,在处理器发生不可用时,可保持其隧道对应的活性,以供其他处理器调用,在隧道发生单点不可用时,不需要重新建立隧道,可调用其他备用隧道。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (8)
1.一种IPSec VPN安全网关,其特征在于,包括:
获取模块,用于获取第一设备发送的IPSec流,所述IPSec流包括标识参数,所述标识参数包括第一设备IP、第二设备IP、第二设备端口号、序列号;
分流模块,用于根据IPSec流的标识参数对所述IPSec流进行分流,使其进入不同处理器;
发送模块,用于将所述处理器处理完成的所述IPSec流通过与所述处理器对应的IPSec隧道发送至所述第二设备。
2.根据权利要求1所述的一种IPSec VPN安全网关,其特征在于,所述获取模块具体用于:
查找预设地址表中是否存在所述第一设备IP和第二设备IP;
在所述第一设备IP和第二设备IP均存在时,将所述第一设备发送的IPSec流发送给分流模块。
3.根据权利要求1所述的一种IPSec VPN安全网关,其特征在于,所述分流模块具体用于:
用于根据所述序列号对所述IPSec流进行哈希,将哈希后的所述IPSec流分配至不同队列中,并根据预设规则将所述队列中的IPSec流发送至所述队列对应的处理器。
4.根据权利要求3所述的一种IPSec VPN安全网关,其特征在于,所述处理器用于对IPSec流进行封装、解封装和加解密。
5.根据权利要求1所述的一种IPSec VPN安全网关,其特征在于,还包括配置模块,用于配置与所述处理器一一对应的IPSec隧道,以形成第一设备至第二设备的多条链路。
6.根据权利要求5所述的一种IPSec VPN安全网关,其特征在于,还包括检测模块,用于在配置完所述IPSec隧道后,根据配置周期性地对所述IPSec隧道进行监测,获取延时、抖动和丢包率信息,根据所述延时、抖动和丢包率信息计算所述IPSec隧道的可用性,并将计算结果发送给配置模块。
7.根据权利要求6所述的一种IPSec VPN安全网关,其特征在于,所述检测模块,还用于在配置完所述IPSec隧道后,根据配置周期性地对所述处理器进行监测,获取负载信息,根据负载信息计算所述处理器的可用性,并将计算结果发送给配置模块。
8.根据权利要求7所述的一种IPSec VPN安全网关,其特征在于,所述配置模块还用于根据所述处理器和所述IPSec隧道的可用性,从多条链路中移除对应的处理器或者IPSec隧道,在对应的处理器或者IPSec隧道被移除时,其对应的IPSec隧道或者处理器处于保活状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211580037.7A CN115883467B (zh) | 2022-12-09 | 2022-12-09 | 一种IPSec VPN安全网关 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211580037.7A CN115883467B (zh) | 2022-12-09 | 2022-12-09 | 一种IPSec VPN安全网关 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115883467A true CN115883467A (zh) | 2023-03-31 |
CN115883467B CN115883467B (zh) | 2023-07-28 |
Family
ID=85766819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211580037.7A Active CN115883467B (zh) | 2022-12-09 | 2022-12-09 | 一种IPSec VPN安全网关 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883467B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020188839A1 (en) * | 2001-06-12 | 2002-12-12 | Noehring Lee P. | Method and system for high-speed processing IPSec security protocol packets |
US20150188823A1 (en) * | 2013-12-03 | 2015-07-02 | Akamai Technologies, Inc. | Virtual private network (VPN)-as-a-service with load-balanced tunnel endpoints |
CN109145620A (zh) * | 2018-08-13 | 2019-01-04 | 北京奇安信科技有限公司 | 数据流分流处理方法及装置 |
CN111355698A (zh) * | 2018-12-24 | 2020-06-30 | 中兴通讯股份有限公司 | 一种传输方法、装置、报文发送端和接收端 |
CN112714069A (zh) * | 2021-01-06 | 2021-04-27 | 上海交通大学 | 一种IPSec安全网关环境中将分流模块下放至网卡硬件的方法 |
-
2022
- 2022-12-09 CN CN202211580037.7A patent/CN115883467B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020188839A1 (en) * | 2001-06-12 | 2002-12-12 | Noehring Lee P. | Method and system for high-speed processing IPSec security protocol packets |
US20150188823A1 (en) * | 2013-12-03 | 2015-07-02 | Akamai Technologies, Inc. | Virtual private network (VPN)-as-a-service with load-balanced tunnel endpoints |
CN109145620A (zh) * | 2018-08-13 | 2019-01-04 | 北京奇安信科技有限公司 | 数据流分流处理方法及装置 |
CN111355698A (zh) * | 2018-12-24 | 2020-06-30 | 中兴通讯股份有限公司 | 一种传输方法、装置、报文发送端和接收端 |
CN112714069A (zh) * | 2021-01-06 | 2021-04-27 | 上海交通大学 | 一种IPSec安全网关环境中将分流模块下放至网卡硬件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115883467B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220124077A1 (en) | Secure forwarding of tenant workloads in virtual networks | |
US10554538B2 (en) | Dynamic link state routing protocol | |
US7283538B2 (en) | Load balanced scalable network gateway processor architecture | |
US10534601B1 (en) | In-service software upgrade of virtual router with reduced packet loss | |
EP3343840B1 (en) | Dynamic distribution of network entities among monitoring agents | |
US10601703B2 (en) | Distributed quality-of-service (QoS) in an overlay network using capacity enforcement | |
US11115391B2 (en) | Securing end-to-end virtual machine traffic | |
EP2882162B1 (en) | Data stream security processing method and apparatus | |
WO2017199209A2 (en) | Traffic management in a network switching system with remote physical ports | |
US20030074473A1 (en) | Scalable network gateway processor architecture | |
US20220394014A1 (en) | Multi-uplink path quality aware ipsec | |
CN106713499A (zh) | 一种负载均衡方法、设备及系统 | |
JP2004524768A (ja) | ネットワークアプリケーション用に保護処理機能を分配するシステム及び方法 | |
US20220394017A1 (en) | Ipsec processing on multi-core systems | |
US20170195237A1 (en) | Distributed quality-of-service (QoS) mechanism in an overlay network having edge regions | |
US20220394016A1 (en) | Dynamic path selection of vpn endpoint | |
CN112822103B (zh) | 一种信息上报方法和信息处理方法及设备 | |
EP3534571A1 (en) | Service packet transmission method, and node apparatus | |
CN111756565A (zh) | 管理分支网络内的卫星设备 | |
EP4248621A1 (en) | Multi-uplink path quality aware ipsec | |
US20080151919A1 (en) | Out of band flow control | |
CN111988211B (zh) | 网络设备的报文分流方法和装置 | |
CN101355585A (zh) | 一种分布式架构数据通信设备的消息保护系统及方法 | |
KR101686995B1 (ko) | 소프트웨어 정의 네트워크와 네트워크 기능 가상화를 이용하는 IPSec VPN 장치, IPSec VPN 시스템 및 IPSec VPN 방법 | |
CN115883467B (zh) | 一种IPSec VPN安全网关 |
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 |