CN113472817B - 一种大规模IPSec的网关接入方法、装置及电子设备 - Google Patents
一种大规模IPSec的网关接入方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113472817B CN113472817B CN202111028931.9A CN202111028931A CN113472817B CN 113472817 B CN113472817 B CN 113472817B CN 202111028931 A CN202111028931 A CN 202111028931A CN 113472817 B CN113472817 B CN 113472817B
- Authority
- CN
- China
- Prior art keywords
- message
- port
- ike
- updating
- negotiation
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种大规模IPSec的网关接入方法、装置及电子设备,该方法包括从公网网卡接收客户端发送的IPSec报文,基于IPSec报文的特征值识别IPSec报文的报文类别;当报文类别表征IPSec报文为第一IKE报文时,基于第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新第一报文数据,通过内网网卡将第一IKE报文发送至协商机;当报文类别表征IPSec报文为ESP报文时,基于ESP报文的第二报文数据在ESP地址转换哈希表中选取处理机并反向更新第二报文数据,通过内网网卡将ESP报文发送至处理机。本发明实现了基于网关对IPSec报文进行分流,将IKE报文与ESP报文分别分流至服务端中的协商机与处理器进行单独处理,实现大规模报文数据接入的负载均衡的目的。
Description
技术领域
本申请涉及报文通信技术领域,具体而言,涉及一种大规模IPSec的网关接入方法、装置及电子设备。
背景技术
互联网安全协议(Internet Protocol Security,IPSec)是一个协议簇,即通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。其协议组成有封装安全载荷(ESP)和密钥协议(IKE),ESP用来提供机密性、数据源认证、无连接完整性、防重放和有限的传输流(traffic-flow)机密性,IKE用来提供对称密码的钥匙的生存和交换。在软件定义广域网(Software Defined Wide Area Network,SD-WAN)中,IPSec的传统接入方式是客户端与IPSec服务端直接协商建立隧道,IPSec服务端进行协商和处理的是同一台服务器,这样的方式具有如下几个缺点:1.安全缺点,IPSec服务端直接暴露在公网上,容易被攻击,不好清洗攻击流量;2.单点故障,IPSec服务端宕机后导致业务不通;3.性能不足,IPSec服务端单节点的数据处理有性能瓶颈,接入点数量有上限;4.资源浪费,IPSec服务端必须配置多个运营商的公网ip。可见,传统接入方式在大规模IPSec接入时,无论是在数据处理效率还是数据传输安全性上都不够理想。
发明内容
为了解决上述问题,本申请实施例提供了一种大规模IPSec的网关接入方法、装置及电子设备。
第一方面,本申请实施例提供了一种大规模IPSec的网关接入方法,所述方法包括:
从公网网卡接收客户端发送的IPSec报文,基于所述IPSec报文的特征值识别所述IPSec报文的报文类别;
当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格;
当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二报文数据在ESP地址转换哈希表中选取处理机并反向更新所述第二报文数据,通过内网网卡将所述ESP报文发送至所述处理机,用以使所述处理机根据所述协商机共享的所述安全关联数据库表格处理所述ESP报文。
优选的,所述当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,包括:
当所述报文类别表征所述IPSec报文为第一IKE报文时,确定所述第一IKE报文的第一报文数据,所述第一报文数据包括第一源IP、第一源端口的第一哈希值、第一目的物理地址、第一目的IP;
在IKE地址转换哈希表中查询所述第一哈希值,若所述第一哈希值的第一查询对象存在,则选择所述第一查询对象对应的协商机;
若所述第一哈希值的第一查询对象不存在,则从协商机列表中选择当前负载最低的协商机,并更新所述IKE地址转换哈希表;
获取所述协商机的协商机物理地址和协商机IP,基于所述协商机物理地址更新所述第一目的物理地址,并基于所述协商机IP更新所述第一目的IP;
基于所述第一目的物理地址、第一目的IP、第一源IP生成第一键值对,并根据所述第一键值对更新小型文本文件的键值对表格。
优选的,所述基于所述第一目的物理地址、第一目的IP、第一源IP生成第一键值对,并根据所述第一键值对更新小型文本文件的键值对表格之后,还包括:
根据所述第一哈希值查询地址转换端口映射表格,若所述第一哈希值的第二查询对象存在,则选择所述第二查询对象对应的第一地址转换端口;
若所述第一哈希值的第二查询对象不存在,则在当前可用的端口栈中弹出生成一个第一地址转换端口,并基于所述第一地址转换端口更新所述地址转换端口映射表格,用以使所述第一地址转换端口对应的哈希值为所述第一哈希值;
基于所述第一地址转换端口更新所述第一源端口,基于内网网卡的内网IP更新所述第一源IP,并更新所述地址转换端口映射表格的第一时间戳;
生成第二键值对,基于所述第二键值对更新逆向地址转换映射表格的第二时间戳,所述第二键值对的键为更新后的所述第一源IP以及第一源端口,所述第二键值对的值为未进行任何更新前的所述第一报文数据。
优选的,所述当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格之后,还包括:
在从所述公网网卡接收到第二IKE报文后,若所述第二IKE报文与所述第一IKE报文的目的端口不同,则获取所述第二IKE报文的第三报文数据,所述第三报文数据包括第三源IP、第三源端口的第三哈希值、第三目的物理地址、第三目的IP;
当所述第三源IP与所述第一源IP匹配时,在所述键值对表格中获取所述第一键值对,并基于所述第一键值对更新所述第三报文数据;
根据所述第三哈希值查询地址转换端口映射表格,若所述第三哈希值的第三查询对象存在,则选择所述第三查询对象对应的第三地址转换端口;
若所述第三哈希值的第三查询对象不存在,则在当前可用的端口栈中弹出生成一个第三地址转换端口,并基于所述第三地址转换端口更新所述地址转换端口映射表格,用以使所述第三地址转换端口对应的哈希值为所述第三哈希值;
基于所述第三地址转换端口更新所述第三源端口,基于内网网卡的内网IP更新所述第三源IP,并更新所述地址转换端口映射表格的第三时间戳;
生成第三键值对,基于所述第三键值对更新逆向地址转换映射表格的第四时间戳,所述第三键值对的键为更新后的所述第三源IP以及第三源端口,所述第三键值对的值为未进行任何更新前的所述第三报文数据。
优选的,所述当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二报文数据在ESP地址转换哈希表中选取处理机并反向更新所述第二报文数据,包括:
当所述报文类别表征所述IPSec报文为ESP报文时,确定所述ESP报文的第二报文数据,所述第二报文数据包括第二源IP、第二源端口的第二哈希值、第二目的物理地址、第二目的IP;
在ESP地址转换哈希表中查询所述第二哈希值,若所述第二哈希值的第二查询对象存在,则选择所述第二查询对象对应的处理机;
若所述第二哈希值的第二查询对象不存在,则从处理机列表中选择当前负载最低的处理机;
获取所述处理机的处理机物理地址和处理机IP,基于所述处理机物理地址更新所述第二目的物理地址,并基于所述处理机IP更新所述第二目的IP;
根据所述第二哈希值查询地址转换端口映射表格,若所述第二哈希值的第四查询对象存在,则选择所述第四查询对象对应的第二地址转换端口;
若所述第二哈希值的第四查询对象不存在,则在当前可用的端口栈中弹出生成一个第二地址转换端口,并基于所述第二地址转换端口更新所述地址转换端口映射表格,用以使所述第二地址转换端口对应的哈希值为所述第二哈希值;
基于所述第二地址转换端口更新所述第二源端口,基于内网网卡的内网IP更新所述第二源IP,并更新所述地址转换端口映射表格的第五时间戳;
生成第四键值对,基于所述第四键值对更新逆向地址转换映射表格的第六时间戳,所述第四键值对的键为更新后的所述第二源IP以及第二源端口,所述第四键值对的值为未进行任何更新前的所述第二报文数据。
优选的,所述方法还包括:
当内网网卡接收到反馈报文时,获取所述反馈报文的反馈报文数据,所述反馈报文数据包括反馈目的IP、反馈目的端口的反馈哈希值、反馈源IP、反馈源端口、反馈目的物理地址;
基于所述反馈哈希值查询所述逆向地址转换映射表格,确定所述反馈哈希值对应的反馈键值对,根据所述反馈键值对更新所述反馈报文数据;
基于所述公网网卡中上联交换机的公网物理地址,更新所述反馈目的物理地址,并通过所述公网网卡发送所述反馈报文。
优选的,所述方法还包括:
每经过预设时长,遍历所述地址转换端口映射表格与所述逆向地址转换映射表格;
当所述地址转换端口映射表格或所述逆向地址转换映射表格中存在已过期时间戳,删除所述已过期时间戳。
第二方面,本申请实施例提供了一种大规模IPSec的网关接入装置,所述装置包括:
识别模块,用于从公网网卡接收到客户端发送的IPSec报文,识别所述IPSec报文的报文类别;
协商模块,用于当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一源数据在IKE地址转换哈希表中选取协商机,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格;
处理模块,用于当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二源数据在ESP地址转换哈希表中选取处理机,通过内网网卡将所述ESP报文发送至所述处理机,用以使所述处理机根据所述协商机共享的所述安全关联数据库表格处理所述ESP报文。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法。
本发明的有益效果为:1.通过在客户端和服务端之间设置网关,基于网关对IPSec报文进行分流,将IKE报文与ESP报文分流,以此分别解耦IKE协商报文与ESP数据报文。IKE报文协商完成后,通过协商机共享至所有处理机的安全关联数据库表格,即实现了处理机与协商机同步安全数据库,使得ESP报文的加解密处理可以在任意一台处理机上完成。
2.由于IPSec报文的处理过程中,IKE报文所需处理时长短,而ESP报文的加解密过程需要的处理时长较长且占用较多CPU,单台处理机存在处理上限瓶颈。将IKE报文与ESP报文分流后,可以通过一群处理机来组成一个集群,以此完成ESP报文的处理,突破了大规模ESP报文数据的处理瓶颈。
3.根据地址转换哈希表来对IKE报文和ESP报文进行具体的协商机与处理机的分配,保证单个的协商机或处理机不会积压过多的待处理报文,实现了负载均衡的效果。
4.在通过网关对IKE报文和ESP报文进行分流的过程中,会更新报文的源IP、目的IP、物理地址等信息,让报文在分流的情况下也能够正确发送至对应的目的地和正确返回至客户端。
5.由于协商机与处理机没有暴露在公网之上,且通过网关的过滤,只有IKE报文和ESP报文才会到达内网,提高了报文传输过程的整体安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种大规模IPSec的网关接入方法的流程示意图;
图2为本申请实施例提供的一种大规模IPSec的网关接入方法的原理举例示意图;
图3为本申请实施例提供的一种大规模IPSec的网关接入装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本申请的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
参见图1,图1是本申请实施例提供的一种大规模IPSec的网关接入方法的流程示意图。在本申请实施例中,所述方法包括:
S101、从公网网卡接收客户端发送的IPSec报文,基于所述IPSec报文的特征值识别所述IPSec报文的报文类别。
所述报文类别在本申请实施例中可以理解为此次IPSec报文的具体类别,例如IKE、ESP、AH等。
本申请的执行主体可以是网关,优选为ebpf网关。其中,ebpf为捕捉和过滤符合特定规则的网络包而设计的运行在基于寄存器的虚拟机上的程序。
在本申请实施例中,网关包括公网网卡和内网网卡,网关将通过公网网卡来接收客户端发送来IPSec报文,并对其进行分流处理后发送至服务端。具体而言,识别IPSec报文的报文类别的方式为识别报文所携带的特征值,不同类别的报文其特征值不同,故以此能够确定出IPSec报文的报文类别。
S102、当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格。
所述第一IKE报文在本申请实施例中可以理解为网关接收到的目的端口与特征值均相同的IKE报文。由于IPSec协议的规定,IKE报文分为IKE和IKE NONE ESP两种报文,这两种报文如果处于同一批次,二者的特征值应该相同,但目的端口不同,即第一IKE报文可以是网关最先接收到的上述两种IKE报文的任意一种。
所述报文数据在本申请实施例中可以理解为报文所携带的具体的报文相关数据,例如该报文的来源IP、目的IP、哈希值等。
所述协商机在本申请实施例中可以理解为服务端中专门负责对IKE报文进行协商处理的机器。
所述地址转换哈希表在本申请实施例中可以理解为对报文进行目的地址转换所依据的哈希值表格,即为dnat map。
所述安全关联数据库表格在本申请实施例中可以理解为安全关联SA有关的数据库(安全策略数据库SPD、安全联盟数据SADB)中存储的映射表格。
在本申请实施例中,如图2所示,基于报文类别确定了IPSec报文是第一IKE报文后,根据其第一报文数据查询IKE地址转换哈希表选取合适的协商机,并为了让第一IKE报文能够成功发送至该协商机而反向更新第一报文数据。以此使得第一IKE报文发送至协商机之后,协商机对第一IKE报文协商完成后能够基于协商结果更新安全关联数据库表格,以便后续ESP处理过程进行调用。
需要说明的是,协商机对IKE报文的具体协商过程和处理机对ESP报文的具体处理过程为本领域技术人员可以很容易明白的公知常识,且其并非本申请的重点,故在此不详述。
在一种可实施方式中,所述当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,包括:
当所述报文类别表征所述IPSec报文为第一IKE报文时,确定所述第一IKE报文的第一报文数据,所述第一报文数据包括第一源IP、第一源端口的第一哈希值、第一目的物理地址、第一目的IP;
在IKE地址转换哈希表中查询所述第一哈希值,若所述第一哈希值的第一查询对象存在,则选择所述第一查询对象对应的协商机;
若所述第一哈希值的第一查询对象不存在,则从协商机列表中选择当前负载最低的协商机,并更新所述IKE地址转换哈希表;
获取所述协商机的协商机物理地址和协商机IP,基于所述协商机物理地址更新所述第一目的物理地址,并基于所述协商机IP更新所述第一目的IP;
基于所述第一目的物理地址、第一目的IP、第一源IP生成第一键值对,并根据所述第一键值对更新小型文本文件的键值对表格。
所述键值对在本申请实施例中可以理解为具有对应关系的“键”数据与“值”数据,通过二者中任一数据便能够确定得到另一方数据。
所述小型文本文件在本申请实施例中可以理解为为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据,即cookie数据。
在本申请实施例中,基于第一IKE报文的第一报文数据,能够确定出该第一IKE报文对应的第一源IP(即发送该报文的客户端IP)、第一源端口(即发送该报文的客户端端口port)的第一哈希值。对于某一批次的报文而言,为了保障报文处理的连续性,这一批的IKE报文应该分配至同一个协商机进行协商处理。故通过第一哈希值对IKE地址转换哈希表进行查询时,该批次第一个进行处理的IKE报文是无法在IKE地址转换哈希表中查询到对应的协商机的,其会从协商机列表中选取当前工作情况下负载最低的协商机作为对其进行处理的协商机,并对IKE地址转换哈希表进行更新,使其记录第一哈希值与该协商机的映射对应关系。而该批次的后续相同的IKE报文,便能够直接通过IKE地址转换哈希表查询到第一个IKE报文所匹配的协商机。
确定了将要发送至的协商机后,将会基于协商机的mac地址(即协商机物理地址)和协商机IP来更新修改第一报文数据中的第一目的物理地址和第一目的IP,以保证后续内网网卡能够准确的将该IKE报文发送至正确的协商机。此外,还需要根据第一目的物理地址、第一目的IP、第一源IP生成第一键值对,即使得IKE报文的源IP与协商机的mac地址和IP建立键值对应关系,并存储至cookie中的键值对表格,这么做的目的是为了让相同批次的不同IKE报文(即特征值相同但目的端口不同的IKE报文)能够基于该键值对表格寻找到同批次的其他IKE报文所发送至的协商机。
在一种可实施方式中,所述基于所述第一目的物理地址、第一目的IP、第一源IP生成第一键值对,并根据所述第一键值对更新小型文本文件的键值对表格之后,还包括:
根据所述第一哈希值查询地址转换端口映射表格,若所述第一哈希值的第二查询对象存在,则选择所述第二查询对象对应的第一地址转换端口;
若所述第一哈希值的第二查询对象不存在,则在当前可用的端口栈中弹出生成一个第一地址转换端口,并基于所述第一地址转换端口更新所述地址转换端口映射表格,用以使所述第一地址转换端口对应的哈希值为所述第一哈希值;
基于所述第一地址转换端口更新所述第一源端口,基于内网网卡的内网IP更新所述第一源IP,并更新所述地址转换端口映射表格的第一时间戳;
生成第二键值对,基于所述第二键值对更新逆向地址转换映射表格的第二时间戳,所述第二键值对的键为更新后的所述第一源IP以及第一源端口,所述第二键值对的值为未进行任何更新前的所述第一报文数据。
所述地址转换端口映射表格在本申请实施例中可以理解为表征各报文数据所对应的各端口地址对应关系的映射表格,即snat port map。
所述逆向地址转换映射表格在本申请实施例中可以理解为表征内网网卡接收的报文数据的逆向转换地址的映射关系的映射表格,即reverse snat map。
在本申请实施例中,前述步骤过程是为了能够在保证进行负载均衡调配的同时保证同批次报文能够正常发送至同一协商机处理,即为了确定最终发送至的目的地而修改目的IP等数据。协商机在进行协商处理的过程中,其有可能会发送数据回来进行反馈,为了能够识别反馈回来的数据,在将该IKE报文从内网网卡发送出去前,还需要基于地址转换端口映射表格对第一哈希值进行查询。同样的,对于第一个进行查询的IKE报文而言,其不存在查询对象,故将通过可用的端口port栈来创建一个新的地址转换端口,以此确定地址转换端口映射表格中的第一时间戳,进而能够构建第二键值对来更新逆向地址转换映射表格中的第二时间戳。若有从内网网卡反馈回来的数据需要发送回该报文对应的客户端时,通过第二时间戳便能够快速对客户端进行定位。
在一种可实施方式中,所述当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格之后,还包括:
在从所述公网网卡接收到第二IKE报文后,若所述第二IKE报文与所述第一IKE报文的目的端口不同,则获取所述第二IKE报文的第三报文数据,所述第三报文数据包括第三源IP、第三源端口的第三哈希值、第三目的物理地址、第三目的IP;
当所述第三源IP与所述第一源IP匹配时,在所述键值对表格中获取所述第一键值对,并基于所述第一键值对更新所述第三报文数据;
根据所述第三哈希值查询地址转换端口映射表格,若所述第三哈希值的第三查询对象存在,则选择所述第三查询对象对应的第三地址转换端口;
若所述第三哈希值的第三查询对象不存在,则在当前可用的端口栈中弹出生成一个第三地址转换端口,并基于所述第三地址转换端口更新所述地址转换端口映射表格,用以使所述第三地址转换端口对应的哈希值为所述第三哈希值;
基于所述第三地址转换端口更新所述第三源端口,基于内网网卡的内网IP更新所述第三源IP,并更新所述地址转换端口映射表格的第三时间戳;
生成第三键值对,基于所述第三键值对更新逆向地址转换映射表格的第四时间戳,所述第三键值对的键为更新后的所述第三源IP以及第三源端口,所述第三键值对的值为未进行任何更新前的所述第三报文数据。
在本申请实施例中,正如前述内容所说明的,IKE报文在IPSec协议的规定下,同一批次的IKE报文一定会分为IKE和IKE NONE ESP两种报文。这两种报文的特征值虽然能够表明其属于同一批次的报文,但由于二者的目的端口是不同的,故哈希值也是不同的,通过前述的步骤过程进行第三哈希值的查询结果是不能满足将第二IKE报文发送至与第一IKE报文相同的协商机的需求的。故对于第二IKE报文而言,将通过对第一IKE报文进行分流处理时在cookie中存储的第一键值对,将同一批次的第一IKE报文与第二IKE报文进行关联,使得第二IKE报文能够根据第一键值对来更新第三报文数据,进而使得第三报文数据中的目的物理地址和目的IP能够与同批次的第一IKE报文所前往的协商机匹配。此外,为了能够对第二IKE报文经过协商机协商处理后可能反馈回的数据进行定位,来确定反馈的数据所对应的客户端IP和端口等信息,同样也需要将第三哈希值导入至地址转换端口映射表格进行处理,最终得到逆向地址转换映射表格中的第四时间戳。
S103、当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二报文数据在ESP地址转换哈希表中选取处理机并反向更新所述第二报文数据,通过内网网卡将所述ESP报文发送至所述处理机,用以使所述处理机根据所述协商机共享的所述安全关联数据库表格处理所述ESP报文。
所述处理机在本申请实施例中可以理解为服务端中专门用以对ESP报文进行处理的机器。
在本申请实施例中,对于ESP报文而言,将获取ESP报文的第二报文数据,使其通过第二报文数据中的哈希值在ESP地址转换哈希表中选取合适的处理机,并基于该处理机的IP、MAC等信息反向更新第二报文数据,使其能够正确的被内网网卡发送至对应的处理机。而处理机将通过协商机协商后更新共享的安全关联数据库表格完成对ESP报文的处理。
在一种可实施方式中,所述当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二报文数据在ESP地址转换哈希表中选取处理机并反向更新所述第二报文数据,包括:
当所述报文类别表征所述IPSec报文为ESP报文时,确定所述ESP报文的第二报文数据,所述第二报文数据包括第二源IP、第二源端口的第二哈希值、第二目的物理地址、第二目的IP;
在ESP地址转换哈希表中查询所述第二哈希值,若所述第二哈希值的第二查询对象存在,则选择所述第二查询对象对应的处理机;
若所述第二哈希值的第二查询对象不存在,则从处理机列表中选择当前负载最低的处理机;
获取所述处理机的处理机物理地址和处理机IP,基于所述处理机物理地址更新所述第二目的物理地址,并基于所述处理机IP更新所述第二目的IP;
根据所述第二哈希值查询地址转换端口映射表格,若所述第二哈希值的第四查询对象存在,则选择所述第四查询对象对应的第二地址转换端口;
若所述第二哈希值的第四查询对象不存在,则在当前可用的端口栈中弹出生成一个第二地址转换端口,并基于所述第二地址转换端口更新所述地址转换端口映射表格,用以使所述第二地址转换端口对应的哈希值为所述第二哈希值;
基于所述第二地址转换端口更新所述第二源端口,基于内网网卡的内网IP更新所述第二源IP,并更新所述地址转换端口映射表格的第五时间戳;
生成第四键值对,基于所述第四键值对更新逆向地址转换映射表格的第六时间戳,所述第四键值对的键为更新后的所述第二源IP以及第二源端口,所述第四键值对的值为未进行任何更新前的所述第二报文数据。
在本申请实施例中,与IKE报文的处理过程相同的,ESP报文也需要通过ESP报文的第二哈希值查询ESP地址转换哈希表,进而确定最终发送至的处理机。以及在逆向地址转换映射表格中确定第六时间戳,以此保证能够将反馈的数据正确的传输回对应的客户端。ESP报文的分流处理具体原理与前述IKE报文的分流处理原理相同,故不在此详述。需要说明的是,由于ESP报文不像IKE报文被分成两种目的端口不同的IKE,故ESP报文的分流处理过程中不需要进行cookie中键值对的生成过程。
在一种可实施方式中,所述方法还包括:
当内网网卡接收到反馈报文时,获取所述反馈报文的反馈报文数据,所述反馈报文数据包括反馈目的IP、反馈目的端口的反馈哈希值、反馈源IP、反馈源端口、反馈目的物理地址;
基于所述反馈哈希值查询所述逆向地址转换映射表格,确定所述反馈哈希值对应的反馈键值对,根据所述反馈键值对更新所述反馈报文数据;
基于所述公网网卡中上联交换机的公网物理地址,更新所述反馈目的物理地址,并通过所述公网网卡发送所述反馈报文。
所述反馈报文在本申请实施例中可以理解为协商机对IKE报文进行处理,或处理机对ESP报文进行处理后所反馈回来的需要发送回该报文原始客户端的数据报文。
在本申请实施例中,由于前述步骤中均在逆向地址转换映射表格更新存储有每一个IPSec报文逆向查询所需要的键值对,故根据反馈报文的反馈哈希值在逆向地址转换映射表格中进行查询,便能够确定出反馈键值对。基于该反馈键值对中键与值的对应信息更新反馈报文数据中的目的IP、源IP、源端口等数据,便能够使得该反馈报文能够正确发送回客户端。此时只需基于公网网卡中的上联交换机的公网物理地址更新反馈目的物理地址,便能够通过公网网卡发送反馈报文。
在一种可实施方式中,所述方法还包括:
每经过预设时长,遍历所述地址转换端口映射表格与所述逆向地址转换映射表格;
当所述地址转换端口映射表格或所述逆向地址转换映射表格中存在已过期时间戳,删除所述已过期时间戳。
在本申请实施例中,随着报文的不断接收与分流,各映射表格中的时间戳将会堆积,进而提高内存占用,影响处理效率。故每经过预设时长(例如1小时)时,将遍历各映射表格,来筛选确定出映射表格中已经过期无效的过期时间戳,并将其删除。
下面将结合附图3,对本申请实施例提供的大规模IPSec的网关接入装置进行详细介绍。需要说明的是,附图3所示的大规模IPSec的网关接入装置,用于执行本申请图1所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请图1所示的实施例。
请参见图3,图3是本申请实施例提供的一种大规模IPSec的网关接入装置的结构示意图。如图3所示,所述装置包括:
识别模块301,用于从公网网卡接收到客户端发送的IPSec报文,识别所述IPSec报文的报文类别;
协商模块302,用于当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一源数据在IKE地址转换哈希表中选取协商机,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格;
处理模块303,用于当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二源数据在ESP地址转换哈希表中选取处理机,通过内网网卡将所述ESP报文发送至所述处理机,用以使所述处理机根据所述协商机共享的所述安全关联数据库表格处理所述ESP报文。
在一种可实施方式中,协商模块302包括:
第一确定单元,用于当所述报文类别表征所述IPSec报文为第一IKE报文时,确定所述第一IKE报文的第一报文数据,所述第一报文数据包括第一源IP、第一源端口的第一哈希值、第一目的物理地址、第一目的IP;
第一查询单元,用于在IKE地址转换哈希表中查询所述第一哈希值,若所述第一哈希值的第一查询对象存在,则选择所述第一查询对象对应的协商机;
第二查询单元,用于若所述第一哈希值的第一查询对象不存在,则从协商机列表中选择当前负载最低的协商机,并更新所述IKE地址转换哈希表;
第一获取单元,用于获取所述协商机的协商机物理地址和协商机IP,基于所述协商机物理地址更新所述第一目的物理地址,并基于所述协商机IP更新所述第一目的IP;
第一生成单元,用于基于所述第一目的物理地址、第一目的IP、第一源IP生成第一键值对,并根据所述第一键值对更新小型文本文件的键值对表格。
在一种可实施方式中,协商模块302还包括:
第三查询单元,用于根据所述第一哈希值查询地址转换端口映射表格,若所述第一哈希值的第二查询对象存在,则选择所述第二查询对象对应的第一地址转换端口;
第四查询单元,用于若所述第一哈希值的第二查询对象不存在,则在当前可用的端口栈中弹出生成一个第一地址转换端口,并基于所述第一地址转换端口更新所述地址转换端口映射表格,用以使所述第一地址转换端口对应的哈希值为所述第一哈希值;
第一更新单元,用于基于所述第一地址转换端口更新所述第一源端口,基于内网网卡的内网IP更新所述第一源IP,并更新所述地址转换端口映射表格的第一时间戳;
第二生成单元,用于生成第二键值对,基于所述第二键值对更新逆向地址转换映射表格的第二时间戳,所述第二键值对的键为更新后的所述第一源IP以及第一源端口,所述第二键值对的值为未进行任何更新前的所述第一报文数据。
在一种可实施方式中,所述装置还包括:
第一接收模块,用于在从所述公网网卡接收到第二IKE报文后,若所述第二IKE报文与所述第一IKE报文的目的端口不同,则获取所述第二IKE报文的第三报文数据,所述第三报文数据包括第三源IP、第三源端口的第三哈希值、第三目的物理地址、第三目的IP;
获取模块,用于当所述第三源IP与所述第一源IP匹配时,在所述键值对表格中获取所述第一键值对,并基于所述第一键值对更新所述第三报文数据;
第一查询模块,用于根据所述第三哈希值查询地址转换端口映射表格,若所述第三哈希值的第三查询对象存在,则选择所述第三查询对象对应的第三地址转换端口;
第二查询模块,用于若所述第三哈希值的第三查询对象不存在,则在当前可用的端口栈中弹出生成一个第三地址转换端口,并基于所述第三地址转换端口更新所述地址转换端口映射表格,用以使所述第三地址转换端口对应的哈希值为所述第三哈希值;
第一更新模块,用于基于所述第三地址转换端口更新所述第三源端口,基于内网网卡的内网IP更新所述第三源IP,并更新所述地址转换端口映射表格的第三时间戳;
生成模块,用于生成第三键值对,基于所述第三键值对更新逆向地址转换映射表格的第四时间戳,所述第三键值对的键为更新后的所述第三源IP以及第三源端口,所述第三键值对的值为未进行任何更新前的所述第三报文数据。
在一种可实施方式中,处理模块303包括:
第二确定单元,用于当所述报文类别表征所述IPSec报文为ESP报文时,确定所述ESP报文的第二报文数据,所述第二报文数据包括第二源IP、第二源端口的第二哈希值、第二目的物理地址、第二目的IP;
第五查询单元,用于在ESP地址转换哈希表中查询所述第二哈希值,若所述第二哈希值的第二查询对象存在,则选择所述第二查询对象对应的处理机;
第六查询单元,用于若所述第二哈希值的第二查询对象不存在,则从处理机列表中选择当前负载最低的处理机;
第二更新单元,用于获取所述处理机的处理机物理地址和处理机IP,基于所述处理机物理地址更新所述第二目的物理地址,并基于所述处理机IP更新所述第二目的IP;
第七查询单元,用于根据所述第二哈希值查询地址转换端口映射表格,若所述第二哈希值的第四查询对象存在,则选择所述第四查询对象对应的第二地址转换端口;
第八查询单元,用于若所述第二哈希值的第四查询对象不存在,则在当前可用的端口栈中弹出生成一个第二地址转换端口,并基于所述第二地址转换端口更新所述地址转换端口映射表格,用以使所述第二地址转换端口对应的哈希值为所述第二哈希值;
第三更新单元,用于基于所述第二地址转换端口更新所述第二源端口,基于内网网卡的内网IP更新所述第二源IP,并更新所述地址转换端口映射表格的第五时间戳;
第二生成单元,用于生成第四键值对,基于所述第四键值对更新逆向地址转换映射表格的第六时间戳,所述第四键值对的键为更新后的所述第二源IP以及第二源端口,所述第四键值对的值为未进行任何更新前的所述第二报文数据。
在一种可实施方式中,所述装置还包括:
第二接收模块,用于当内网网卡接收到反馈报文时,获取所述反馈报文的反馈报文数据,所述反馈报文数据包括反馈目的IP、反馈目的端口的反馈哈希值、反馈源IP、反馈源端口、反馈目的物理地址;
第三查询模块,用于基于所述反馈哈希值查询所述逆向地址转换映射表格,确定所述反馈哈希值对应的反馈键值对,根据所述反馈键值对更新所述反馈报文数据;
第二更新模块,用于基于所述公网网卡中上联交换机的公网物理地址,更新所述反馈目的物理地址,并通过所述公网网卡发送所述反馈报文。
在一种可实施方式中,所述装置还包括:
遍历模块,用于每经过预设时长,遍历所述地址转换端口映射表格与所述逆向地址转换映射表格;
删除模块,用于当所述地址转换端口映射表格或所述逆向地址转换映射表格中存在已过期时间戳,删除所述已过期时间戳。
本领域的技术人员可以清楚地了解到本申请实施例的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammableGate Array,FPGA)、集成电路(Integrated Circuit,IC)等。
本申请实施例的各处理单元和/或模块,可通过实现本申请实施例所述的功能的模拟电路而实现,也可以通过执行本申请实施例所述的功能的软件而实现。
参见图4,其示出了本申请实施例所涉及的一种电子设备的结构示意图,该电子设备可以用于实施图1所示实施例中的方法。如图4所示,电子设备400可以包括:至少一个中央处理器401,至少一个网络接口404,用户接口403,存储器405,至少一个通信总线402。
其中,通信总线402用于实现这些组件之间的连接通信。
其中,用户接口403可以包括显示屏(Display)、摄像头(Camera),可选用户接口403还可以包括标准的有线接口、无线接口。
其中,网络接口404可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,中央处理器401可以包括一个或者多个处理核心。中央处理器401利用各种接口和线路连接整个电子设备400内的各个部分,通过运行或执行存储在存储器405内的指令、程序、代码集或指令集,以及调用存储在存储器405内的数据,执行终端400的各种功能和处理数据。可选的,中央处理器401可以采用数字信号处理(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。中央处理器401可集成中央中央处理器(Central Processing Unit,CPU)、图像中央处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器401中,单独通过一块芯片进行实现。
其中,存储器405可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器405包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器405可用于存储指令、程序、代码、代码集或指令集。存储器405可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器405可选的还可以是至少一个位于远离前述中央处理器401的存储装置。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作***、网络通信模块、用户接口模块以及程序指令。
在图4所示的电子设备400中,用户接口403主要用于为用户提供输入的接口,获取用户输入的数据;而中央处理器401可以用于调用存储器405中存储的大规模IPSec的网关接入应用程序,并具体执行以下操作:
从公网网卡接收客户端发送的IPSec报文,基于所述IPSec报文的特征值识别所述IPSec报文的报文类别;
当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格;
当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二报文数据在ESP地址转换哈希表中选取处理机并反向更新所述第二报文数据,通过内网网卡将所述ESP报文发送至所述处理机,用以使所述处理机根据所述协商机共享的所述安全关联数据库表格处理所述ESP报文。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米***(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory, ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (8)
1.一种大规模IPSec的网关接入方法,其特征在于,所述方法包括:
从公网网卡接收客户端发送的IPSec报文,基于所述IPSec报文的特征值识别所述IPSec报文的报文类别;
当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格;
当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二报文数据在ESP地址转换哈希表中选取处理机并反向更新所述第二报文数据,通过内网网卡将所述ESP报文发送至所述处理机,用以使所述处理机根据所述协商机共享的所述安全关联数据库表格处理所述ESP报文;
其中,所述当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,包括:
当所述报文类别表征所述IPSec报文为第一IKE报文时,确定所述第一IKE报文的第一报文数据,所述第一报文数据包括第一源IP、第一源端口的第一哈希值、第一目的物理地址、第一目的IP;
在IKE地址转换哈希表中查询所述第一哈希值,若所述第一哈希值的第一查询对象存在,则选择所述第一查询对象对应的协商机;
若所述第一哈希值的第一查询对象不存在,则从协商机列表中选择当前负载最低的协商机,并更新所述IKE地址转换哈希表;
获取所述协商机的协商机物理地址和协商机IP,基于所述协商机物理地址更新所述第一目的物理地址,并基于所述协商机IP更新所述第一目的IP;
基于所述第一目的物理地址、第一目的IP、第一源IP生成第一键值对,并根据所述第一键值对更新小型文本文件的键值对表格;
根据所述第一哈希值查询地址转换端口映射表格,若所述第一哈希值的第二查询对象存在,则选择所述第二查询对象对应的第一地址转换端口;
若所述第一哈希值的第二查询对象不存在,则在当前可用的端口栈中弹出生成一个第一地址转换端口,并基于所述第一地址转换端口更新所述地址转换端口映射表格,用以使所述第一地址转换端口对应的哈希值为所述第一哈希值;
基于所述第一地址转换端口更新所述第一源端口,基于内网网卡的内网IP更新所述第一源IP,并更新所述地址转换端口映射表格的第一时间戳;
生成第二键值对,基于所述第二键值对更新逆向地址转换映射表格的第二时间戳,所述第二键值对的键为更新后的所述第一源IP以及第一源端口,所述第二键值对的值为未进行任何更新前的所述第一报文数据。
2.根据权利要求1所述的方法,其特征在于,所述当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一报文数据在IKE地址转换哈希表中选取协商机并反向更新所述第一报文数据,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格之后,还包括:
在从所述公网网卡接收到第二IKE报文后,若所述第二IKE报文与所述第一IKE报文的目的端口不同,则获取所述第二IKE报文的第三报文数据,所述第三报文数据包括第三源IP、第三源端口的第三哈希值、第三目的物理地址、第三目的IP;
当所述第三源IP与所述第一源IP匹配时,在所述键值对表格中获取所述第一键值对,并基于所述第一键值对更新所述第三报文数据;
根据所述第三哈希值查询地址转换端口映射表格,若所述第三哈希值的第三查询对象存在,则选择所述第三查询对象对应的第三地址转换端口;
若所述第三哈希值的第三查询对象不存在,则在当前可用的端口栈中弹出生成一个第三地址转换端口,并基于所述第三地址转换端口更新所述地址转换端口映射表格,用以使所述第三地址转换端口对应的哈希值为所述第三哈希值;
基于所述第三地址转换端口更新所述第三源端口,基于内网网卡的内网IP更新所述第三源IP,并更新所述地址转换端口映射表格的第三时间戳;
生成第三键值对,基于所述第三键值对更新逆向地址转换映射表格的第四时间戳,所述第三键值对的键为更新后的所述第三源IP以及第三源端口,所述第三键值对的值为未进行任何更新前的所述第三报文数据。
3.根据权利要求1所述的方法,其特征在于,所述当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二报文数据在ESP地址转换哈希表中选取处理机并反向更新所述第二报文数据,包括:
当所述报文类别表征所述IPSec报文为ESP报文时,确定所述ESP报文的第二报文数据,所述第二报文数据包括第二源IP、第二源端口的第二哈希值、第二目的物理地址、第二目的IP;
在ESP地址转换哈希表中查询所述第二哈希值,若所述第二哈希值的第二查询对象存在,则选择所述第二查询对象对应的处理机;
若所述第二哈希值的第二查询对象不存在,则从处理机列表中选择当前负载最低的处理机;
获取所述处理机的处理机物理地址和处理机IP,基于所述处理机物理地址更新所述第二目的物理地址,并基于所述处理机IP更新所述第二目的IP;
根据所述第二哈希值查询地址转换端口映射表格,若所述第二哈希值的第四查询对象存在,则选择所述第四查询对象对应的第二地址转换端口;
若所述第二哈希值的第四查询对象不存在,则在当前可用的端口栈中弹出生成一个第二地址转换端口,并基于所述第二地址转换端口更新所述地址转换端口映射表格,用以使所述第二地址转换端口对应的哈希值为所述第二哈希值;
基于所述第二地址转换端口更新所述第二源端口,基于内网网卡的内网IP更新所述第二源IP,并更新所述地址转换端口映射表格的第五时间戳;
生成第四键值对,基于所述第四键值对更新逆向地址转换映射表格的第六时间戳,所述第四键值对的键为更新后的所述第二源IP以及第二源端口,所述第四键值对的值为未进行任何更新前的所述第二报文数据。
4.根据权利要求2或3任一项所述的方法,其特征在于,所述方法还包括:
当内网网卡接收到反馈报文时,获取所述反馈报文的反馈报文数据,所述反馈报文数据包括反馈目的IP、反馈目的端口的反馈哈希值、反馈源IP、反馈源端口、反馈目的物理地址;
基于所述反馈哈希值查询所述逆向地址转换映射表格,确定所述反馈哈希值对应的反馈键值对,根据所述反馈键值对更新所述反馈报文数据;
基于所述公网网卡中上联交换机的公网物理地址,更新所述反馈目的物理地址,并通过所述公网网卡发送所述反馈报文。
5.根据权利要求2或3任一项所述的方法,其特征在于,所述方法还包括:
每经过预设时长,遍历所述地址转换端口映射表格与所述逆向地址转换映射表格;
当所述地址转换端口映射表格或所述逆向地址转换映射表格中存在已过期时间戳,删除所述已过期时间戳。
6.一种大规模IPSec的网关接入装置,其特征在于,所述装置包括:
识别模块,用于从公网网卡接收到客户端发送的IPSec报文,识别所述IPSec报文的报文类别;
协商模块,用于当所述报文类别表征所述IPSec报文为第一IKE报文时,基于所述第一IKE报文的第一源数据在IKE地址转换哈希表中选取协商机,通过内网网卡将所述第一IKE报文发送至所述协商机,用以使所述协商机完成第一IKE报文协商后更新安全关联数据库表格;
处理模块,用于当所述报文类别表征所述IPSec报文为ESP报文时,基于所述ESP报文的第二源数据在ESP地址转换哈希表中选取处理机,通过内网网卡将所述ESP报文发送至所述处理机,用以使所述处理机根据所述协商机共享的所述安全关联数据库表格处理所述ESP报文;
其中,协商模块包括:
第一确定单元,用于当所述报文类别表征所述IPSec报文为第一IKE报文时,确定所述第一IKE报文的第一报文数据,所述第一报文数据包括第一源IP、第一源端口的第一哈希值、第一目的物理地址、第一目的IP;
第一查询单元,用于在IKE地址转换哈希表中查询所述第一哈希值,若所述第一哈希值的第一查询对象存在,则选择所述第一查询对象对应的协商机;
第二查询单元,用于若所述第一哈希值的第一查询对象不存在,则从协商机列表中选择当前负载最低的协商机,并更新所述IKE地址转换哈希表;
第一获取单元,用于获取所述协商机的协商机物理地址和协商机IP,基于所述协商机物理地址更新所述第一目的物理地址,并基于所述协商机IP更新所述第一目的IP;
第一生成单元,用于基于所述第一目的物理地址、第一目的IP、第一源IP生成第一键值对,并根据所述第一键值对更新小型文本文件的键值对表格;
第三查询单元,用于根据所述第一哈希值查询地址转换端口映射表格,若所述第一哈希值的第二查询对象存在,则选择所述第二查询对象对应的第一地址转换端口;
第四查询单元,用于若所述第一哈希值的第二查询对象不存在,则在当前可用的端口栈中弹出生成一个第一地址转换端口,并基于所述第一地址转换端口更新所述地址转换端口映射表格,用以使所述第一地址转换端口对应的哈希值为所述第一哈希值;
第一更新单元,用于基于所述第一地址转换端口更新所述第一源端口,基于内网网卡的内网IP更新所述第一源IP,并更新所述地址转换端口映射表格的第一时间戳;
第二生成单元,用于生成第二键值对,基于所述第二键值对更新逆向地址转换映射表格的第二时间戳,所述第二键值对的键为更新后的所述第一源IP以及第一源端口,所述第二键值对的值为未进行任何更新前的所述第一报文数据。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111028931.9A CN113472817B (zh) | 2021-09-03 | 2021-09-03 | 一种大规模IPSec的网关接入方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111028931.9A CN113472817B (zh) | 2021-09-03 | 2021-09-03 | 一种大规模IPSec的网关接入方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472817A CN113472817A (zh) | 2021-10-01 |
CN113472817B true CN113472817B (zh) | 2021-12-03 |
Family
ID=77867450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111028931.9A Active CN113472817B (zh) | 2021-09-03 | 2021-09-03 | 一种大规模IPSec的网关接入方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472817B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113872865A (zh) * | 2021-10-11 | 2021-12-31 | 南方电网数字电网研究院有限公司 | 报文数据分流方法、装置、计算机设备和存储介质 |
CN113904866B (zh) * | 2021-10-29 | 2024-02-09 | 中国电信股份有限公司 | Sd-wan业务流量安全处置引流方法、设备、***以及介质 |
CN114364062B (zh) * | 2021-12-13 | 2023-12-01 | 广东电网有限责任公司 | 一种车联网安全接入网关的方法 |
CN114499965B (zh) * | 2021-12-27 | 2023-07-07 | 北京安博通科技股份有限公司 | 一种基于pop3协议的上网认证方法及*** |
CN114745307B (zh) * | 2022-02-25 | 2023-09-22 | 网宿科技股份有限公司 | 一种容器流量的监控方法及bpf控制器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102761494A (zh) * | 2012-08-01 | 2012-10-31 | 杭州迪普科技有限公司 | 一种ike协商处理方法及装置 |
US8984110B1 (en) * | 2012-02-14 | 2015-03-17 | Sonus Networks, Inc. | Secure media address learning for endpoints behind NAPT devices |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7280540B2 (en) * | 2001-01-09 | 2007-10-09 | Stonesoft Oy | Processing of data packets within a network element cluster |
CN101442470B (zh) * | 2008-12-18 | 2011-12-21 | 成都市华为赛门铁克科技有限公司 | 一种建立隧道的方法、***和设备 |
US20150304427A1 (en) * | 2014-04-22 | 2015-10-22 | Alcatel-Lucent Canada, Inc. | Efficient internet protocol security and network address translation |
US10250578B2 (en) * | 2015-11-03 | 2019-04-02 | Qualcomm Incorporated | Internet key exchange (IKE) for secure association between devices |
-
2021
- 2021-09-03 CN CN202111028931.9A patent/CN113472817B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8984110B1 (en) * | 2012-02-14 | 2015-03-17 | Sonus Networks, Inc. | Secure media address learning for endpoints behind NAPT devices |
CN102761494A (zh) * | 2012-08-01 | 2012-10-31 | 杭州迪普科技有限公司 | 一种ike协商处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113472817A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113472817B (zh) | 一种大规模IPSec的网关接入方法、装置及电子设备 | |
US20190082026A1 (en) | Interface invocation method and apparatus for hybrid cloud | |
WO2023024742A1 (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
US9660833B2 (en) | Application identification in records of network flows | |
WO2020253631A1 (zh) | Ip地址的配置方法、设备及*** | |
EP3633949A1 (en) | Method and system for performing ssl handshake | |
CN109451036B (zh) | 一种区块链安全通信方法、服务节点及*** | |
US11245589B2 (en) | IoT topology analyzer defining an IoT topology and associated methods | |
US10341286B2 (en) | Methods and systems for updating domain name service (DNS) resource records | |
CN106790420A (zh) | 一种多会话通道建立方法和*** | |
US9948568B2 (en) | Packet size control using maximum transmission units for facilitating packet transmission | |
US8958435B2 (en) | Information management method and information processing device | |
WO2022068356A1 (zh) | 基于区块链的信息加密方法、装置、设备及介质 | |
KR101083480B1 (ko) | 가입 통지 서비스를 구비하는 가상 접속 | |
US8065408B2 (en) | Method and system for dynamic device address management | |
CN112702338B (zh) | Ike报文获取方法及装置 | |
US10931662B1 (en) | Methods for ephemeral authentication screening and devices thereof | |
US10268532B2 (en) | Application message processing system, method, and application device | |
CN114025009A (zh) | 转发请求的方法、***、代理服务器和装置 | |
JP4190521B2 (ja) | マルチプロトコルアドレス登録方法、マルチプロトコルアドレス登録システム、マルチプロトコルアドレス登録サーバおよびマルチプロトコルアドレス通信端末 | |
CN107426452B (zh) | 互联网通话方法及装置 | |
CN113259436B (zh) | 网络请求的处理方法和装置 | |
CN113014664B (zh) | 网关适配方法、装置、电子设备和存储介质 | |
US20240214181A1 (en) | Methods for managing hardware security servers and devices thereof | |
CN109510810A (zh) | 一种基于p2p的虚拟资源访问方法及装置 |
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 |