CN112702338B - Ike报文获取方法及装置 - Google Patents
Ike报文获取方法及装置 Download PDFInfo
- Publication number
- CN112702338B CN112702338B CN202011534201.1A CN202011534201A CN112702338B CN 112702338 B CN112702338 B CN 112702338B CN 202011534201 A CN202011534201 A CN 202011534201A CN 112702338 B CN112702338 B CN 112702338B
- Authority
- CN
- China
- Prior art keywords
- ike
- port
- message
- universal
- thread
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2517—Translation of Internet protocol [IP] addresses using port numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书提供一种IKE报文获取方法及装置,所述方法包括:预先创建多个IKE线程,每个IKE线程监听不同的通用端口。并预先创建端口转换模块,创建的端口转换模块可以拦截目的端口为IKE专用端口的IKE报文,并将这些报文的目的端口修改为IKE线程监听的通用端口。多个IKE线程可以分别监听不同端口,并行收发并处理不同的IKE报文,改变了原有的只能有一个IKE进程的一个IKE线程监听IKE专用端口来收发并处理报文的方案。这样,在设备较短时间段内需要进行IKE协商的对端设备较多的情况下,提升了设备处理IKE报文的效率。
Description
技术领域
本说明书涉及计算机应用技术领域,尤其涉及一种IKE报文获取方法及装置。
背景技术
互联网协议安全性(Internet Protocol Security,IPsec)架构涉及多个用于实现网络中数据安全传输的协议和算法,包括密钥管理(Internet Key Exchange,IKE)协议,网络认证协议(Authentication Header,AH),封装安全载荷协议(EncapsulatingSecurity Payload,ESP),及用于网络认证及加密的一些算法。在通过IPsec来实现数据安全传输时,首先需要通信双方通过IKE协议来协商密钥。
在两个通信设备进行IKE协商过程中,为了满足RFC标准,需要基于用户数据报协议(User Datagram Protocol,UDP)交互若干IKE报文,并且要求将IKE报文的目的端口固定为设备上的专用端口,本文将之称为IKE专用端口。
在实际应用中,以本端设备为例,其基于IKE进程进行IKE报文的收发与处理,具体来说,IKE进程通过UDP套接口监听设备上的IKE专用接口来获取IKE报文,对接收的IKE报文进行处理,再通过UDP套接口将处理后的报文经由IKE专用接口发出。
但是,UDP套接口仅支持一个线程,这意味着IKE进程只能创建一个线程来针对IKE专用接口进行IKE报文的收发与处理。本端设备如果需要在短时段内完成与多个对端设备的IKE协商,则会面对很大的性能压力,导致比较低的IKE协商效率。
发明内容
为克服相关技术中存在的IKE协商效率低的问题,本说明书提供了一种IKE报文获取方法及装置。
根据本说明书实施例的第一方面,提供一种IKE报文获取方法,应用于本端设备;预先创建端口转换模块,用于拦截对端设备发送的以IKE专用端口为目的端口的IKE报文;预先创建IKE进程的至少两个IKE线程,每个IKE线程用于监听一个通用端口,不同的IKE线程用于监听不同的通用端口,不同的通用端口对应于不同的对端设备;所述方法包括:
端口转换模块将拦截到的IKE报文的目的端口,由所述IKE专用端口转换为发送该IKE报文的对端设备对应的通用端口;
每个IKE线程通过监听对应的通用端口,获取IKE报文进行处理。
根据本说明书实施例的第二方面,提供一种IKE报文获取装置,应用于本端设备;预先创建端口转换模块,用于拦截对端设备发送的以IKE专用端口为目的端口的IKE报文;预先创建IKE进程的至少两个IKE线程,每个IKE线程用于监听一个通用端口,不同的IKE线程用于监听不同的端口,不同的端口对应于不同的对端设备;所述装置包括:
端口转换单元,用于通过端口转换模块将拦截到的IKE报文的目的端口,由所述IKE专用端口转换为发送该IKE报文的对端设备对应的端口;
报文获取单元,用于每个IKE线程通过监听对应的端口,获取IKE报文进行处理。
根据本说明书实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本说明书实施例第一方面所述的IKE报文获取方法。
根据本说明书实施例的第四方面,提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本说明书实施例第一方面所述的IKE报文获取方法。
本说明书一个或多个实施例中,预先创建多个IKE线程,每个IKE线程监听不同的通用端口。并预先创建端口转换模块,创建的端口转换模块可以拦截目的端口为IKE专用端口的IKE报文,并将这些报文的目的端口修改为IKE线程监听的通用端口。多个IKE线程可以分别监听不同端口,并行收发并处理不同的IKE报文,改变了原有的只能有一个IKE进程的一个IKE线程监听IKE专用端口来收发并处理报文的方案。这样,在设备较短时间段内需要进行IKE协商的对端设备较多的情况下,提升了设备处理IKE报文的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1A是本说明书一种相关技术应用场景图。
图1B是本说明书根据一示例性实施例示出的一种IKE报文获取方法的应用场景图。
图2是本说明书根据一示例性实施例示出的一种IKE报文获取方法的流程图。
图3是本说明书根据一示例性实施例示出的一种IKE报文获取方法的示意图。
图4是本说明书根据一示例性实施例示出的一种IKE报文获取装置的框图。
图5本说明书根据一示例性实施例示出的一种IKE报文获取装置所在计算机设备的一种硬件结构图。
具体实施方式
首先需要明确的是,本说明书的多个实施例中,为了方便描述,将进行IKE协商的两个设备称为本端设备与对端设备,其中,本端设备可以是两个交互的设备中的任意一个设备,本说明书实施例中只是从本端设备角度来描述,本说明书实施例中的方法也可以应用于对端设备,本说明书在此没有限制。此外,本说明书的任一个实施例中,所描述的各对端设备是指在一个较短的时间段内需要与本端设备完成IKE协商的对端设备,这意味着,不同的较短时间段内,本端设备可能需要与不同批的对端设备完成IKE协商,也就是说,不同的较短时间段可能对应于不同的对端设备集合。
如上所述,由于相关技术中,只能由一个IKE进程创建的一个IKE线程对报文进行收发和处理。在某些情况下,在短时间内与本端设备进行IKE协商的对端设备较多时,将会影响IKE协商的处理效率。如图1A所示的场景中,本端设备与四个对端设备同时交互时的场景,由于本端设备需要同时处理四个对端设备的IKE报文,只由一个IKE线程对报文进行处理,效率较低。
在本端设备是网关设备的情况下,与本端设备进行IKE协商的对端设备较多的情况,可能会是:在连接到公网的用户设备(简称公网设备)需要访问内网的情况下,公网设备与内网与公网间的网关设备之间需要进行IKE协商,当短时间内需要访问内网的公网设备较多,或者在网关设备断电重启时,将需要在短时间内处理大量IKE报文;或者,在内网架构是由多个分支网关和一中心网关组成的星型拓扑结构的情况下,中心网关可能与每个分支网关之间均建立多条隧道,由于IKE的超时机制,每过几个小时,隧道需要重新进行协商,在隧道较多时,一个IKE线程的处理机制,将不能满足中心网关设备的较多的IKE协商需求。
为了解决上述IKE协商效率低的问题,本说明书一个或多个实施例中,预先创建多个IKE线程,每个IKE线程监听不同的通用端口。并预先创建端口转换模块,创建的端口转换模块可以拦截目的端口为IKE专用端口的IKE报文,并将这些报文的目的端口修改为IKE线程监听的通用端口。如图1B所示,多个IKE线程可以分别监听不同端口,并行收发并处理不同的IKE报文,改变了原有的只能有一个IKE进程的一个IKE线程来监听IKE专用端口收发并处理报文的方案。这样,在设备较短时间段内需要进行IKE协商的对端设备较多的情况下,提升了设备处理IKE报文的效率。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本说明书实施例进行详细说明。
如图2所示,图2是本说明书根据一示例性实施例示出的一种IKE报文获取方法的流程图,应用于本端设备;预先创建端口转换模块,用于拦截对端设备发送的以IKE专用端口为目的端口的IKE报文;预先创建IKE进程的至少两个IKE线程,每个IKE线程用于监听一个通用端口,不同的IKE线程用于监听不同的通用端口,不同的通用端口对应于不同的对端设备。图2所示的流程图包括以下步骤:
步骤202,端口转换模块将拦截到的IKE报文的目的端口,由所述IKE专用端口转换为发送该IKE报文的对端设备对应的通用端口。
步骤204,每个IKE线程通过监听对应的通用端口,获取IKE报文进行处理。
本端设备可以是中心网关设备,通常本端设备的中央处理器(CentralProcessing Unit,CPU)会有多个核心,可以使预先创建的IKE线程绑定至少两个CPU核心,也就是说,这些IKE线程至少由两个核心并行执行。为了进一步提高IKE报文的收发处理效率,发挥多核CPU的优势,以尽可能好的提高IKE协商的效率,在网关设备的CPU核心数量大于IKE线程数量的情况下,不同IKE线程绑定的CPU内核不同;在网关设备的CPU内核数量小于IKE线程数量的情况下,网关设备的每个CPU核心都绑定有至少一个IKE线程。
端口转换模块工作于开放式***互联通信参考模型(Open SystemInterconnection Reference Model,OSI)的传输层,属于内核模块。而IKE线程工作于OSI的传输层后,因此在IKE线程的Socket接收IKE报文前,端口转换模块可以对IKE报文进行目的端口转换,以达到给IKE线程分发IKE报文的目的。端口转换模块可以通过Linux***Netfilter的Hook机制,通过注册hook函数,供Netfilter调用,以拦截目的端口为IKE专用端口的IKE报文,对拦截的IKE报文进行目的端口转换,再将转换完的IKE报文分发至对应的Socket接收队列,以使得IKE线程可以通过Socket接收队列接收并处理IKE报文。
如背景技术中所述,IKE专用端口指的是本端设备与对端设备通过UDP协议进行IKE协商过程中,固定端口号的端口,该端口可以是500或4500。与IKE专用端口相对应的通用端口,可以是除了无法修改的端口之外的任意端口。比如通用端口可以是动态端口号(49152到65535)中任意的端口。
预先创建的多个IKE线程中,每个IKE线程对应监听一个通用端口,由于UDPSocket的限制,每个通用端口只能由一个IKE线程来监听,同时为了提高处理效率,对应的每个IKE线程应该只监听一个通用端口,也就是说,IKE线程与通用端口一一对应。
IKE线程的数量,可以考虑根据***的处理能力来决定,也可以考虑根据需要与本端设备进行IKE协商的对端设备的数量来决定(比如购买的IPsecVPNlicense人数),也可以综合考虑多项因素来决定IKE线程的数量。
此外,需要使得不同的通用端口对应于不同的对端设备,换言之,需要使得每个通用端口分到的IKE报文尽量均衡,同时需要满足一个对端设备与本端设备进行一次IKE协商所传输的多个IKE报文,需要由同一个IKE线程进行处理。需要注意的是,在不同的时间段内,同一对端设备和本端设备的不同次协商之间,对端设备和通用端口之间的对应关系可能相同,也可能不同。比如,某一时间段内,本端设备和一对端设备进行IKE协商过程中,该对端设备的IKE报文的目的端口被转换为了2000;在另一时间段内,该对端设备与本端设备重新进行IKE协商过程中,该对端设备IKE报文的目的端口可以仍然被转换为2000,也可以被转换为除了2000之外的其他IKE线程监听的通用端口。
进一步地,各通用端口与各对端设备之间的对应关系包括:存在至少一个通用端口对应于多个对端设备;或,各通用端口与各对端设备之间一一对应。为了使得每个IKE线程分配到的IKE报文尽量均衡,在IKE线程的数量多于对端设备的数量时,为了达到更好并行效果,可以设置对端设备和通用端口之间对应,即,一个IKE线程监听一个通用端口;有些情况下,为了节约线程资源,不让过多的线程抢占CPU资源,可以将IKE线程的数量设置的较少,在IKE线程的数量少于对端设备的数量时,一个IKE线程监听的通用端口需要对应于多个对端设备。
为IKE线程建立与其监听的通用端口之间的对应关系之前,需要为IKE线程预先分配一段端口号,使得IKE线程可以从该段端口号内选择一个通用端口并建立对应关系,其中,预留的端口号可以为2001~3000,也可以为10001~10100,也就是说,预留的端口号可以为任意可以修改为目的端口的通用端口,并且该通用端口可以被IKE处理线程监听到。值得注意的是,预留的端口号范围应该足够大,使得每个IKE线程都能在预留的端口号范围内选择一个通用端口,建立对应关系。
为IKE线程建立与其监听的通用端口之间的对应关系,可以是通过循环,按照预留的通用端口从小到大的顺序,针对每个IKE线程,为该IKE线程分配一个通用端口,并建立对应关系,在成功的情况下,继续为下一个IKE线程分配通用端口,在失败的情况下,从预留的端口范围内,选择下一个端口,建立对应关系,直至建立对应关系成功。
在确定IKE线程监听的通用端口后,可以将该端口下发给端口转换模块,可以将IKE线程监听的通用端口存入一个端口数组中,以使得端口转换模块可以从该端口数组中选择一个通用端口作为目的端口。此外,在下发通用端口前,应该清空端口转换模块的配置,也就是说,清空端口转换模块的端口数组,以使得端口数组中的每个通用端口,均为IKE线程监听的端口。
步骤202中,端口转换模块可以根据多种不同的原则以进行端口转换:比如,预先为每个会与本端设备进行IKE协商的对端设备分配一个对应的通用端口,换言之,预先建立对端设备与通用端口之间的对应关系,在接收到IKE报文的情况下,在预先建立的对应关系表中,查找发送该IKE报文的对端设备对应的通用端口,并将该IKE报文的目的端口转换为该对应端口。
端口转换的原则也可是:在接收到一个对端设备的首个IKE报文的情况下,通过负载均衡算法,选择一个处理压力较小的IKE线程,并记录该对端设备与IKE线程的对应关系,也就是说改对端设备与该IKE线程对应的通用端口之间的对应关系,在再次受到该对端设备的IKE报文的情况下,根据该对应关系,将该IKE报文的端口转换为记录的通用端口;并在处理完该次IKE协商的全部报文后,删除该对应关系。
端口转换的原则还可以是:将拦截到的IKE报文的目的端口,由所述IKE专用端口转换为发送该IKE报文的对端设备对应的通用端口,具体包括:针对拦截的每个IKE报文,根据预设的映射关系,将发送该IKE报文的对端设备的源网际互连协议IP地址,映射为一个IKE线程监听的通用端口的端口标识;将该IKE报文的目的端口由所述IKE专用端口转换为映射成的端口标识对应的通用端口。通过该方法,不需要预先保存对应关系,便可以根据预设的映射规则,快速地计算出该对端设备对应的通用端口,以方便快速的对IKE报文进行目的端口转换。
其中,针对拦截的每个IKE报文,根据预设的映射关系,将发送该IKE报文的对端设备的源网际互连协议IP地址,映射为一个IKE线程监听的通用端口的端口标识,具体包括:针对拦截的每个IKE报文,计算该IKE报文的源IP地址的哈希值,用该哈希值对IKE进程监听的通用端口总数取模,获得通用端口标识,根据该通用端口标识,将发送该IKE报文的对端设备映射未一个IKE线程监听的通用端口。计算源IP地址哈希值的方法为,通过jhash函数,计算源IP地址的哈希值。通过计算哈希值,可以较为平均的将IKE报文分发给各个IKE线程。利用jhash函数,可以减少哈希冲突,更为快速地计算哈希值。
在存在端口转换模块对应的端口数组的情况下,端口标识可以为端口顺序。比如一共有100个IKE线程监听的通用端口,按顺序依次为2001~2100,通过哈希值对100取模,得到的数字为0到99中任意一个,0到99的取模值,分别与2001~2100端口号一一对应(比如在取模得到了端口标识为30的情况下,确定作为目的端口的通用端口的端口号为2029)。
为了使得IKE报文不被丢弃,需要在步骤204前,针对每个IKE报文,计算并修改经过端口转换后的IKE报文的校验和。以使得IKE线程计算的校验和与报文中的校验和相同,以防止由于校验和不同导致的IKE报文被丢弃的情况发生。
在IKE线程处理完IKE报文后,还需要通过IKE线程的UDPSocket,将目的端口为IKE专用端口的IKE报文发送出去。
如图3所示,图3示出了一种IKE报文获取方法的示意图。通过上述方法,又工作在内核的端口转换模块对IKE报文的目的端口进行转换,也就是通过内核的端口转换进行对IKE报文进行分发,以使得不同的IKE线程可以处理不同的IKE报文,使得多个IKE线程可以并发接收并处理IKE报文,提升IKE协商的效率。
由于工作在传输层的端口转换模块属于内核模块,权限更高,转换更快,这样分发效率更高,所以本说明书实施例中,选择工作在传输层的端口转换模块对IKE报文进行分发,而不是选择工作在应用层的进程对IKE报文进行分发。
与前述IKE报文获取方法的实施例相对应,本说明书还提供了IKE报文获取装置及其所应用的计算机设备的实施例。
如图4所示,图4是本说明书根据一示例性实施例示出的一种IKE报文获取装置的框图,应用于本端设备;预先创建端口转换模块,用于拦截对端设备发送的以IKE专用端口为目的端口的IKE报文;预先创建IKE进程的至少两个IKE线程,每个IKE线程用于监听一个通用端口,不同的IKE线程用于监听不同的端口,不同的端口对应于不同的对端设备;图4所示的装置包括:
端口转换单元410,用于通过端口转换模块将拦截到的IKE报文的目的端口,由所述IKE专用端口转换为发送该IKE报文的对端设备对应的端口。
报文获取单元420,用于每个IKE线程通过监听对应的端口,获取IKE报文进行处理。
进一步地各通用端口与各对端设备之间的对应关系包括:存在至少一个通用端口对应于多个对端设备;或,各通用端口与各对端设备之间一一对应。
进一步地,端口转换单元410,具体包括:端口映射子单元411,用于针对拦截的每个IKE报文,根据预设的映射关系,将发送该IKE报文的对端设备的源网际互连协议IP地址,映射为一个IKE线程监听的通用端口的端口标识;端口转换子单元412,用于将该IKE报文的目的端口由所述IKE专用端口转换为映射成的端口标识对应的通用端口。
进一步地,端口映射子单元411,具体用于:针对拦截的每个IKE报文,计算该IKE报文的源IP地址的哈希值,用该哈希值对IKE进程监听的通用端口总数取模,获得通用端口标识,根据该通用端口标识,将发送该IKE报文的对端设备映射未一个IKE线程监听的通用端口。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
如图5所示,图5示出了实施例向交换芯片下发聚合链路配置的装置所在计算机设备的一种硬件结构图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本说明书实施例第一方面所述的IKE报文获取方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种密钥管理协议IKE报文获取方法,其特征在于,应用于本端设备;预先创建端口转换模块,用于拦截对端设备发送的以IKE专用端口为目的端口的IKE报文;预先创建IKE进程的至少两个IKE线程,每个IKE线程用于监听一个通用端口,不同的IKE线程用于监听不同的通用端口,不同的通用端口对应于不同的对端设备;所述方法包括:
端口转换模块将拦截到的IKE报文的目的端口,由所述IKE专用端口转换为发送该IKE报文的对端设备对应的通用端口;
每个IKE线程通过监听对应的通用端口,获取IKE报文进行处理。
2.如权利要求1所述方法,其特征在于,各通用端口与各对端设备之间的对应关系包括:
存在至少一个通用端口对应于多个对端设备;
或,
各通用端口与各对端设备之间一一对应。
3.如权利要求1所述方法,其特征在于,将拦截到的IKE报文的目的端口,由所述IKE专用端口转换为发送该IKE报文的对端设备对应的通用端口,具体包括:
针对拦截的每个IKE报文,根据预设的映射关系,将发送该IKE报文的对端设备的源网际互连协议IP地址,映射为一个IKE线程监听的通用端口的端口标识;
将该IKE报文的目的端口由所述IKE专用端口转换为映射成的端口标识对应的通用端口。
4.如权利要求3所述方法,其特征在于,针对拦截的每个IKE报文,根据预设的映射关系,将发送该IKE报文的对端设备的源网际互连协议IP地址,映射为一个IKE线程监听的通用端口的端口标识,具体包括:
针对拦截的每个IKE报文,计算该IKE报文的源IP地址的哈希值,用该哈希值对IKE进程监听的通用端口总数取模,获得通用端口标识,根据该通用端口标识,将发送该IKE报文的对端设备映射未一个IKE线程监听的通用端口。
5.一种IKE报文获取装置,其特征在于,应用于本端设备;预先创建端口转换模块,用于拦截对端设备发送的以IKE专用端口为目的端口的IKE报文;预先创建IKE进程的至少两个IKE线程,每个IKE线程用于监听一个通用端口,不同的IKE线程用于监听不同的端口,不同的端口对应于不同的对端设备;所述装置包括:
端口转换单元,用于通过端口转换模块将拦截到的IKE报文的目的端口,由所述IKE专用端口转换为发送该IKE报文的对端设备对应的端口;
报文获取单元,用于每个IKE线程通过监听对应的端口,获取IKE报文进行处理。
6.如权利要求5所述装置,其特征在于,各通用端口与各对端设备之间的对应关系包括:
存在至少一个通用端口对应于多个对端设备;
或,
各通用端口与各对端设备之间一一对应。
7.如权利要求5所述装置,其特征在于,端口转换单元,具体包括:
端口映射子单元,用于针对拦截的每个IKE报文,根据预设的映射关系,将发送该IKE报文的对端设备的源网际互连协议IP地址,映射为一个IKE线程监听的通用端口的端口标识;
端口转换子单元,将该IKE报文的目的端口由所述IKE专用端口转换为映射成的端口标识对应的通用端口。
8.如权利要求7所述装置,其特征在于,端口映射子单元,具体用于:
针对拦截的每个IKE报文,计算该IKE报文的源IP地址的哈希值,用该哈希值对IKE进程监听的通用端口总数取模,获得通用端口标识,根据该通用端口标识,将发送该IKE报文的对端设备映射未一个IKE线程监听的通用端口。
9.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至4中任一项所述的IKE报文获取方法。
10.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的IKE报文获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534201.1A CN112702338B (zh) | 2020-12-22 | 2020-12-22 | Ike报文获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011534201.1A CN112702338B (zh) | 2020-12-22 | 2020-12-22 | Ike报文获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702338A CN112702338A (zh) | 2021-04-23 |
CN112702338B true CN112702338B (zh) | 2022-07-01 |
Family
ID=75510820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011534201.1A Active CN112702338B (zh) | 2020-12-22 | 2020-12-22 | Ike报文获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702338B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115379027B (zh) * | 2022-04-27 | 2023-08-01 | 国家计算机网络与信息安全管理中心 | Dns报文解析改进方法、装置、改进设备及存储介质 |
CN115065672A (zh) * | 2022-04-29 | 2022-09-16 | 武汉斗鱼鱼乐网络科技有限公司 | 一种sfu***数据传输方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546617A (zh) * | 2011-12-29 | 2012-07-04 | 汉柏科技有限公司 | 多核多线程***中IPSec转发的方法 |
CN102761494A (zh) * | 2012-08-01 | 2012-10-31 | 杭州迪普科技有限公司 | 一种ike协商处理方法及装置 |
CN103442068A (zh) * | 2013-08-30 | 2013-12-11 | 成都卫士通信息产业股份有限公司 | 一种多进程高并发的IPSec VPN隧道实现方法及装置 |
WO2015096656A1 (zh) * | 2013-12-26 | 2015-07-02 | 华为技术有限公司 | 线程创建方法、业务请求处理方法及相关设备 |
WO2016202006A1 (zh) * | 2015-06-17 | 2016-12-22 | 中兴通讯股份有限公司 | Ike协商控制方法、装置和*** |
CN109167846A (zh) * | 2018-08-02 | 2019-01-08 | 杭州迪普科技股份有限公司 | 一种通信端口的分配方法与装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7821985B2 (en) * | 2006-03-13 | 2010-10-26 | Microsoft Corporation | Network interface routing using computational context |
US10506082B2 (en) * | 2017-03-09 | 2019-12-10 | Fortinet, Inc. | High availability (HA) internet protocol security (IPSEC) virtual private network (VPN) client |
-
2020
- 2020-12-22 CN CN202011534201.1A patent/CN112702338B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546617A (zh) * | 2011-12-29 | 2012-07-04 | 汉柏科技有限公司 | 多核多线程***中IPSec转发的方法 |
CN102761494A (zh) * | 2012-08-01 | 2012-10-31 | 杭州迪普科技有限公司 | 一种ike协商处理方法及装置 |
CN103442068A (zh) * | 2013-08-30 | 2013-12-11 | 成都卫士通信息产业股份有限公司 | 一种多进程高并发的IPSec VPN隧道实现方法及装置 |
WO2015096656A1 (zh) * | 2013-12-26 | 2015-07-02 | 华为技术有限公司 | 线程创建方法、业务请求处理方法及相关设备 |
WO2016202006A1 (zh) * | 2015-06-17 | 2016-12-22 | 中兴通讯股份有限公司 | Ike协商控制方法、装置和*** |
CN106330815A (zh) * | 2015-06-17 | 2017-01-11 | 中兴通讯股份有限公司 | Ike协商控制方法、装置和*** |
CN109167846A (zh) * | 2018-08-02 | 2019-01-08 | 杭州迪普科技股份有限公司 | 一种通信端口的分配方法与装置 |
Non-Patent Citations (1)
Title |
---|
一种IPSec IKE协议的实现方法;杜全文等;《计算机工程》;20020920(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112702338A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108449282B (zh) | 一种负载均衡方法及其装置 | |
US11277313B2 (en) | Data transmission method and corresponding device | |
EP3275162B1 (en) | Systems and techniques for web communication | |
CN110753072B (zh) | 负载均衡***、方法、装置及设备 | |
CN106790420B (zh) | 一种多会话通道建立方法和*** | |
CN112702338B (zh) | Ike报文获取方法及装置 | |
CN106657180B (zh) | 用于云服务的信息传输方法、装置、终端设备及*** | |
CN112261094B (zh) | 一种报文处理方法及代理服务器 | |
EP3633949A1 (en) | Method and system for performing ssl handshake | |
CN110505244B (zh) | 远程隧道访问技术网关以及服务器 | |
US11102114B2 (en) | Method, apparatus, and computer-readable storage medium for network optimization for accessing cloud service from on-premises network | |
US10623469B2 (en) | Methods and apparatuses for information transmission | |
US20200259783A1 (en) | Method and apparatus for determining ethernet mac address | |
WO2023185804A1 (zh) | 用于vpn的多流负载均衡方法、装置、***及存储介质 | |
CN112631788A (zh) | 数据传输方法及数据传输服务器 | |
WO2023151264A1 (zh) | 负载均衡方法、装置、节点及存储介质 | |
WO2024067338A1 (zh) | 云组网***、安全访问方法、设备及存储介质 | |
US20230137879A1 (en) | In-flight incremental processing | |
CN115396528A (zh) | 基于协议族的quic数据传输方法及装置 | |
CN116366740A (zh) | 数据传输方法、装置、***、存储介质及处理器 | |
JP2023543831A (ja) | マイクロサービスベースのサービスメッシュシステムおよびサービス指向アーキテクチャ管理方法 | |
CN110073644B (zh) | 信息处理方法和装置 | |
CN112968965B (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
CN113765801B (zh) | 应用于数据中心的报文处理方法和装置、电子设备和介质 | |
CN110430478B (zh) | 组网通信方法、装置、终端设备及存储介质 |
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 |