CN115242552B - 基于ipsec的报文转发方法及装置 - Google Patents
基于ipsec的报文转发方法及装置 Download PDFInfo
- Publication number
- CN115242552B CN115242552B CN202211147194.9A CN202211147194A CN115242552B CN 115242552 B CN115242552 B CN 115242552B CN 202211147194 A CN202211147194 A CN 202211147194A CN 115242552 B CN115242552 B CN 115242552B
- Authority
- CN
- China
- Prior art keywords
- message
- forwarding
- session
- target
- forwarding session
- 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/166—Implementing security features at a particular protocol layer at the transport layer
-
- 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
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (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
本发明提供一种基于IPSEC的报文转发方法及装置,涉及通信技术领域,该方法包括:基于进入协议栈的第一报文,确定转发会话消息;调用目标函数,结合转发会话消息对第一报文进行处理,获取第二报文;通过目标接口将第二报文转发至目的地址。本发明提供的基于IPSEC的报文转发方法及装置,基于第一报文确定转发会话消息,通过转发会话消息触发目标函数在转发会话中对普通报文的封装操作后,仍在本次转发会话进行封装报文的转发。实现对普通报文的封装操作只进入一次IP协议栈,能减少封装报文二次入栈的转发会话创建操作,简化报文转发的函数调用的复杂度,降低报文转发时延和增加吞吐会话量,有效避免CPU资源浪费,提升报文转发性能。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于IPSEC的报文转发方法及装置。
背景技术
现有的防火墙产品基础系统中互联网安全协议(Internet Protocol Security,IPSec)进行报文转发封装操作时候,会对普通报文创建两次转发会话,在第一次转发会话中匹配安全策略(Security policy,SP)和安全联盟(Security Association,SA)后,对普通报文进行加密封装操作。再对加密后的封装报文进行协议栈的再次入栈转发,对封装报文进行第二次的转发会话创建,然后才能完成普通报文在设备中的完整转发操作。其实质是通过使同一个报文先后两次进入IP协议栈进行转发,报文处理流程较为繁琐,还有可能会出现报文乱序问题,造成CPU资源的浪费,导致整个设备的转发性能较差。
发明内容
本发明提供一种基于IPSEC的报文转发方法及装置,用以解决现有技术中一个报文先后两次进入网络协议栈进行封装和转发,其处理流程较为繁琐的缺陷。
本发明提供一种基于IPSEC的报文转发方法,包括:
基于进入协议栈的第一报文,确定转发会话消息;
调用目标函数,结合所述转发会话消息对所述第一报文进行处理,获取第二报文;
通过目标接口将所述第二报文转发至目的地址;
其中,所述目标函数用于将所述第一报文经加密封装得到所述第二报文作为转发会话的挂载点,触发直接将所述第二报文进行转发出栈的操作;所述目标接口是基于所述第二报文确定的。
根据本发明提供的一种基于IPSEC的报文转发方法,所述基于进入协议栈的第一报文,确定转发会话消息,包括:
基于所述第一报文,获取报文标识信息;
基于所述报文标识信息进行哈希查找,获取所述转发会话消息。
根据本发明提供的一种基于IPSEC的报文转发方法,所述基于所述报文标识信息进行哈希查找,获取所述转发会话消息,包括:
在确定所述报文标识信息未匹配到转发会话的情况下,创建第一目标转发会话,并激活所述挂载点;
基于所述报文标识信息进行策略匹配,获取第一转发会话消息,并将所述第一转发会话消息作为所述转发会话消息。
根据本发明提供的一种基于IPSEC的报文转发方法,所述调用目标函数,结合所述转发会话消息对所述第一报文进行处理,获取第二报文,包括:
通过所述第一转发会话消息触发目标函数进行挂载处理,所述目标函数的挂载处理执行以下步骤:
基于目标报文内容和所述第一转发会话消息,获取所述第二报文;
在确定所述挂载点处于激活状态的情况下,从所述目标函数中获取所述第一转发会话消息,以供在所述第一目标转发会话中转发所述第二报文;
其中,所述目标报文内容是基于所述第一报文确定的。
根据本发明提供的一种基于IPSEC的报文转发方法,所述基于所述报文标识信息进行策略匹配,获取第一转发会话消息,包括:
基于所述报文标识信息进行安全策略匹配,获取安全策略信息;
基于所述安全策略信息进行安全联盟匹配,将匹配到的安全联盟信息存储至所述第一转发会话消息的结构体中。
根据本发明提供的一种基于IPSEC的报文转发方法,所述基于所述报文标识信息进行哈希查找,获取所述转发会话消息,还包括:
在确定所述报文标识信息匹配到转发会话的情况下,将匹配到的转发会话作为第二目标转发会话,以及获取所述第二目标转发会话对应的第二转发会话消息,并将所述第二转发会话消息作为所述转发会话消息。
根据本发明提供的一种基于IPSEC的报文转发方法,所述调用目标函数,结合所述转发会话消息对所述第一报文进行处理,获取第二报文,包括:
基于目标报文内容和所述第二转发会话消息,调用所述目标函数,获取所述第二报文;
通过所述第二目标转发会话对所述第二报文进行转发;
其中,所述目标报文内容是基于所述第一报文确定的。
本发明还提供一种基于IPSEC的报文转发装置,包括:
转发会话消息获取模块,用于基于进入协议栈的第一报文,确定转发会话消息;
会话应用模块,用于调用目标函数,结合所述转发会话消息对所述第一报文进行处理,获取第二报文;
报文转发模块,用于通过目标接口将所述第二报文转发至目的地址;
其中,所述目标函数用于将所述第一报文经加密封装得到所述第二报文作为转发会话的挂载点,触发直接将所述第二报文进行转发出栈的操作;所述目标接口是基于所述第二报文确定的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于IPSEC的报文转发方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于IPSEC的报文转发方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于IPSEC的报文转发方法。
本发明提供的基于IPSEC的报文转发方法及装置,基于第一报文确定转发会话消息,通过转发会话消息触发目标函数在转发会话中对普通报文的封装操作后,仍在本次转发会话进行封装报文的转发。实现对普通报文的封装操作只需要进入一次IP协议栈,能够减少封装报文二次入栈的转发会话创建操作,简化报文转发的函数调用的复杂度,降低报文转发时延和增加吞吐会话量,有效避免CPU资源的浪费,提升报文转发性能。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于IPSEC的报文转发方法的流程示意图;
图2是本发明提供的基于IPSEC的报文转发装置的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
图1是本发明提供的基于IPSEC的报文转发方法的流程示意图。如图1所示,本发明实施例提供的基于IPSEC的报文转发方法,包括:步骤101、基于进入协议栈的第一报文,确定转发会话消息。
需要说明的是,本发明实施例提供的基于IPSEC的报文转发方法的执行主体为基于IPSEC的报文转发装置。
基于IPSEC的报文转发装置的应用场景为,报文发送方通过修改普通报文转发会话的处理流程,在普通报文的转发会话创建完成时,将封装报文的处理过程作为一个任务点进行函数指针挂载,之后可以根据普通报文的转发会话信息,直接找到封装加密处理的函数,然后直接对普通报文进行封装加密并转发。
需要说明的是,第一报文,是指从基于IPSEC的报文转发装置接收到的数据流中所提取的未经解析的普通报文。
具体地,在步骤101中,基于IPSEC的报文转发装置利用防火墙的报文处理机制对进入到IP协议栈的第一报文中的帧头部和IP报文头部进行解析,并根据头部相关信息进行一些基础的安全检测后,通过状态检测机制确定转发会话消息。
其中,转发会话消息,是指与转发会话对应的相关信息,转发会话消息用于在转发会话中对第一报文进行加密封装。
步骤102、调用目标函数,结合转发会话消息对第一报文进行处理,获取第二报文。
其中,目标函数用于将第一报文经加密封装得到第二报文作为转发会话的挂载点,触发直接将第二报文进行转发出栈的操作。
需要说明的是,在步骤102之前,基于IPSEC的报文转发装置需要预先设置目标函数。
目标函数,是指针对初始确定的转发会话所对应的加密处理流程进行改造的函数体。其主要内容为将第一报文经过加密形成第二报文的流程,与第二报文再次进入网络协议栈的流程进行整合。该函数体用于将封装好的第二报文在初始确定的转发会话中直接进行转发操作。
本发明实施例对目标函数的构成不作具体限定。
示例性地,目标函数可以为一种挂载处理函数,将报文的加密封装流程结束后生成第二报文作为挂载点,通过该挂载点直接获取目标函数中初始确定的会话信息,以实现将第二报文直接在会话信息所对应的转发会话中进行转发。
其中,挂载处理函数包括但不限于指针函数、钩子函数等函数类型。
具体地,在步骤102中,基于IPSEC的报文转发装置将转发会话消息传递给目标函数,以利用目标函数执行在初始确定的转发会话中对第一报文进行加密封装,针对封装好的第二报文无需新建会话进行转发,直接在初始确定的转发会话进行转发,离开网络协议栈。
步骤103、通过目标接口将第二报文转发至目的地址。
其中,目标接口是基于第二报文确定的。
具体地,在步骤103中,基于IPSEC的报文转发装置根据第二报文IP头中的目的地址进行路由查找后,确定目标接口,并通过目标接口将第二报文转发至对应的目的地址。
本发明实施例基于第一报文确定转发会话消息,通过转发会话消息触发目标函数在转发会话中对普通报文的封装操作后,仍在本次转发会话进行封装报文的转发。实现对普通报文的封装操作只需要进入一次IP协议栈,能够减少封装报文二次入栈的转发会话创建操作,简化报文转发的函数调用的复杂度,降低报文转发时延和增加吞吐会话量,有效避免CPU资源的浪费,提升报文转发性能。
在上述任一实施例的基础上,基于进入协议栈的第一报文,确定转发会话消息,包括:基于第一报文,获取报文标识信息。
具体地,在步骤101中,基于IPSEC的报文转发装置根据状态检测机制以流量为单位来对第一报文进行检测,获取报文标识信息。
其中,报文标识信息,用于唯一标识第一报文所属的数据流,本发明实施例对此不作具体限定。
示例性地,报文标识信息,可以为第一报文的五元组,即IP地址,源端口,目的IP地址,目的端口和传输层协议。
基于报文标识信息进行哈希查找,获取转发会话消息。
具体地,基于IPSEC的报文转发装置初始化哈希hash数组后,对报文标识信息求hash表的键值key,利用相应的key值进行会话查找,获取对应的转发会话消息。
其中,key值的计算方式包括:
(1)对五元组进行异或运算后,求模得到key值。
(2)利用循环冗余校验(Cyclic Redundancy Check,CRC)类的相关算法、安全散列算法(Secure Hash Algorithm,SHA)、基于信息-摘要的相关算法(Message-DigestAlgorithm)等进行key值计算。
本发明实施例基于第一报文的报文标识信息进行会话查找,使同一个哈希键的报文走同一条路径,并获取该路径对应的转发会话消息。实现了属于同一个数据流的所有报文按照次序走相同路径,最大程度避免丢包,提升报文转发性能。
在上述任一实施例的基础上,基于报文标识信息进行哈希查找,获取转发会话消息,包括:在确定报文标识信息未匹配到转发会话的情况下,创建第一目标转发会话,并激活挂载点。
具体地,基于IPSEC的报文转发装置未能根据报文标识信息对应的键值,在转发会话对应的Hash链表中找到与该键值匹配的转发会话,即说明第一报文不属于任意一个已有的数据流,则需要为第一报文创建一个新的转发会话,将其作为第一目标转发会话的同时,激活在目标函数中预设的挂载点,以执行相关的挂载处理操作。
基于报文标识信息进行策略匹配,获取第一转发会话消息,并将第一转发会话消息作为转发会话消息。
具体地,基于IPSEC的报文转发装置载第一目标转发会话中利用第一报文的报文标识信息进行策略匹配,将所获得的第一转发会话消息作为新建转发会话的转发会话消息。
本发明实施例基于第一报文的报文标识信息,决策在未查找到转发会话的情况下,在普通报文的第一目标转发会话创建完成后,通过激活挂载点对封装报文在第一目标转发会话中的第一转发会话消息提前进行查找,以供在第一目标转发会话中直接进行封装操作以及后续的转发操作。实现了在一条流量的首包建立相关的会话表项,后续包直接匹配会话表项进行转发,提升报文转发性能。
在上述任一实施例的基础上,调用目标函数,结合转发会话消息对第一报文进行处理,获取第二报文,包括:通过第一转发会话消息触发目标函数进行挂载处理,目标函数的挂载处理执行以下步骤:基于目标报文内容和第一转发会话消息,获取第二报文。
在确定挂载点处于激活状态的情况下,从目标函数中获取第一转发会话消息,以供在第一目标转发会话转发第二报文;
其中,目标报文内容是基于第一报文确定的。
需要说明的是,目标报文内容,是指第一报文中将要发送的完整的数据信息。
具体地,基于IPSEC的报文转发装置在对首包创建第一目标转发会话后,根据随之生成的第一转发会话消息触发目标函数利用激活的挂载点进行相关挂载处理,其具体实施步骤如下:
(1)在创建第一目标转发会话后,将目标报文内容和第一转发会话消息作为目标函数的输入参数进行传递,通过调用目标函数,从第一转发会话消息提取出用于加密报文的安全联盟信息,结合目标报文内容对第一报文进行加密封装,得到第二报文。
(2)若获知挂载点处于激活状态,则直接就从目标函数中确定相关的第一转发会话消息,直接从第一转发会话消息所对应的第一目标转发会话中,对封装好的第二报文进行转发,离开网络协议栈。
本发明实施例在决策创建新的第一目标转发会话时,通过第一转发会话消息触发目标函数在第一目标转发会话中对普通报文的封装操作后,继续进行封装报文的转发。实现对普通报文的封装操作只需要进入一次IP协议栈,能够减少封装报文二次入栈的转发会话创建操作,简化报文转发的函数调用的复杂度,提升报文转发性能。
在上述任一实施例的基础上,基于报文标识信息进行策略匹配,获取第一转发会话消息,包括:基于报文标识信息进行安全策略匹配,获取安全策略信息。
具体地,基于IPSEC的报文转发装置利用报文标识信息,对预先根据允许接入的地址范围设置的SP链表进行遍历,并通过选择器去匹配对应的SP信息。
其中,SP链表,主要定义需要保护的本端和对端网络五元组信息、封装地址、封装类型、算法参数等。并且,五元组信息有专门的选择器结构来进行SP匹配。
基于安全策略信息进行安全联盟匹配,将匹配到的安全联盟信息存储至第一转发会话消息的结构体中。
具体地,基于IPSEC的报文转发装置根据SP信息对应SA的方向进行判定,若确定对应SA属于外出(加密)方向,则在遍历外出方向的SA链表过程中,利用选择器对五元组进行匹配,将匹配到的SA信息存储至第一转发会话消息的结构体中,以供在第一目标转发会话通过抽取出的SA信息将第一报文封装成第二报文。
示例性地,针对IPSec进行加密的第一报文,在获取第一报文的安全参数索引值(Security Parameter Index,SPI)之后,遍历SA链表,查看进入方向的SA是否存在相等的SPI,如若存在,就进行解密操作,反之,则丢弃报文。
本发明实施例基于报文标识信息,匹配中SP信息后,再查找SA信息,通过SA信息中元素变量,在第一目标转发会话中对第一报文进行对应的加密封装。能够根据报文不同的安全权限利用相应的封装类型进行封装,保证网络的安全性。
在上述任一实施例的基础上,基于报文标识信息进行哈希查找,获取转发会话消息,还包括:在确定报文标识信息匹配到转发会话的情况下,将匹配到的转发会话作为第二目标转发会话,以及获取第二目标转发会话对应的第二转发会话消息,并将第二转发会话消息作为转发会话消息。
具体地,基于IPSEC的报文转发装置根据报文标识信息对应的键值,在转发会话对应的Hash链表中找到与该键值匹配的转发会话,即说明第一报文属于一个已有的数据流,则根据其键值找到对应数据流所属的转发会话作为第二目标转发会话,直接将第二目标转发会话预先存储的第二转发会话消息作为已有转发会话的转发会话消息,以直接调用目标函数,无需激活在目标函数中预设的挂载点。
本发明实施例基于第一报文的报文标识信息,决策在查找到转发会话的情况下,在已有的第二目标转发中,通过预先存储的第二转发会话消息提前进行查找,以供在第二目标转发会话中直接进行封装操作以及后续的转发操作。实现了在属于一条流量后续包直接匹配会话表项进行转发,提升报文转发性能。
在上述任一实施例的基础上,调用目标函数,结合转发会话消息对第一报文进行处理,获取第二报文,包括:基于目标报文内容和第二转发会话消息,调用目标函数,获取第二报文。
其中,目标报文内容是基于第一报文确定的。
具体地,在匹配到第二目标转发会话后,将目标报文内容和第二转发会话消息作为目标函数的输入参数进行传递,通过调用目标函数,直接从已知的安全联盟信息,结合目标报文内容对第一报文进行加密封装,得到第二报文。
通过第二目标转发会话对第二报文进行转发。
具体地,基于IPSEC的报文转发装置直接将封装后的第二报文直接在第二目标转发会话进行转发,离开网络协议栈。
本发明实施例在决策匹配到已有的第二目标转发会话时,通过调用目标函数在第二目标转发会话中对普通报文的封装操作后,直接在本次转发会话继续进行封装报文的转发。实现对普通报文的封装操作只需要进入一次IP协议栈,能够减少封装报文二次入栈的转发会话创建操作,简化报文转发的函数调用的复杂度,提升报文转发性能。
图2是本发明提供的基于IPSEC的报文转发装置的结构示意图。在上述任一实施例的基础上,如图2所示,该装置包括转发会话消息获取模块210、会话应用模块220和报文转发模块230,其中:
转发会话消息获取模块210,用于基于进入协议栈的第一报文,确定转发会话消息。
会话应用模块220,用于调用目标函数,结合转发会话消息对第一报文进行处理,获取第二报文。
报文转发模块230,用于通过目标接口将第二报文转发至目的地址。
其中,目标函数用于将第一报文经加密封装得到第二报文作为转发会话的挂载点,触发直接将第二报文进行转发出栈的操作。目标接口是基于第二报文确定的。
具体地,转发会话消息获取模块210、会话应用模块220和报文转发模块230顺次电连接。
转发会话消息获取模块210利用防火墙的报文处理机制对进入到IP协议栈的第一报文中的帧头部和IP报文头部进行解析,并根据头部相关信息进行一些基础的安全检测后,通过状态检测机制确定转发会话消息。
会话应用模块220将转发会话消息传递给目标函数,以利用目标函数执行在初始确定的转发会话中对第一报文进行加密封装,针对封装好的第二报文无需新建会话进行转发,直接回调至初始确定的转发会话进行转发,离开网络协议栈。
报文转发模块230根据第二报文IP头中的目的地址进行路由查找后,确定目标接口,并通过目标接口将第二报文转发至对应的目的地址。
可选地,转发会话消息获取模块210包括标识信息获取单元和会话查找单元,其中:
标识信息获取单元,用于基于第一报文,获取报文标识信息。
会话查找单元,用于基于报文标识信息进行哈希查找,获取转发会话消息。
可选地,会话查找单元包括新建会话子单元和第一转发会话消息获取子单元,其中:
新建会话子单元,用于在确定报文标识信息未匹配到转发会话的情况下,创建第一目标转发会话,并激活挂载点。
第一转发会话消息获取子单元,用于基于报文标识信息进行策略匹配,获取第一转发会话消息,并将第一转发会话消息作为转发会话消息。
可选地,会话应用模块220,具体用于通过第一转发会话消息触发目标函数进行挂载处理,目标函数的挂载处理执行以下步骤:
基于目标报文内容和第一转发会话消息,获取第二报文。
在确定挂载点处于激活状态的情况下,从目标函数中获取第一转发会话消息,以供在第一目标转发会话转发第二报文。
其中,目标报文内容是基于第一报文确定的。
可选地,第一转发会话消息获取子单元包括SP匹配微单元和SA匹配微单元,其中:
安全策略匹配微单元,用于基于报文标识信息进行安全策略匹配,获取安全策略信息。
安全联盟匹配微单元,用于基于安全策略信息进行安全联盟匹配,将匹配到的安全联盟信息存储至第一转发会话消息的结构体中。
可选地,会话查找单元,具体用于在确定报文标识信息匹配到转发会话的情况下,将匹配到的转发会话作为第二目标转发会话,以及获取第二目标转发会话对应的第二转发会话消息,并将第二转发会话消息作为转发会话消息。
可选地,会话应用模块220包括加密单元和转发单元,其中:
加密单元,用于基于目标报文内容和第二转发会话消息,调用目标函数,获取第二报文。
转发单元,用于通过第二目标转发会话对第二报文进行转发。
其中,目标报文内容是基于第一报文确定的。
本发明实施例提供的基于IPSEC的报文转发装置,用于执行本发明上述基于IPSEC的报文转发方法,其实施方式与本发明提供的基于IPSEC的报文转发方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本发明实施例基于第一报文确定转发会话消息,通过转发会话消息触发目标函数在转发会话中对普通报文的封装操作后,仍在本次转发会话进行封装报文的转发。实现对普通报文的封装操作只需要进入一次IP协议栈,能够减少封装报文二次入栈的转发会话创建操作,简化报文转发的函数调用的复杂度,降低报文转发时延和增加吞吐会话量,有效避免CPU资源的浪费,提升报文转发性能。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行基于IPSEC的报文转发方法,该方法包括:基于进入协议栈的第一报文,确定转发会话消息;调用目标函数,结合转发会话消息对第一报文进行处理,获取第二报文;通过目标接口将第二报文转发至目的地址;其中,目标函数用于将第一报文经加密封装得到第二报文作为转发会话的挂载点,触发直接将第二报文进行转发出栈的操作;目标接口是基于第二报文确定的。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于IPSEC的报文转发方法,该方法包括:基于进入协议栈的第一报文,确定转发会话消息;调用目标函数,结合转发会话消息对第一报文进行处理,获取第二报文;通过目标接口将第二报文转发至目的地址;其中,目标函数用于将第一报文经加密封装得到第二报文作为转发会话的挂载点,触发直接将第二报文进行转发出栈的操作;目标接口是基于第二报文确定的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于IPSEC的报文转发方法,该方法包括:基于进入协议栈的第一报文,确定转发会话消息;调用目标函数,结合转发会话消息对第一报文进行处理,获取第二报文;通过目标接口将第二报文转发至目的地址;其中,目标函数用于将第一报文经加密封装得到第二报文作为转发会话的挂载点,触发直接将第二报文进行转发出栈的操作;目标接口是基于第二报文确定的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于IPSEC的报文转发方法,其特征在于,包括:
基于进入协议栈的第一报文,确定转发会话消息;
调用目标函数,结合所述转发会话消息对所述第一报文进行处理,获取第二报文;
通过目标接口将所述第二报文转发至目的地址;
其中,所述目标函数用于将所述第一报文经加密封装得到所述第二报文作为转发会话的挂载点,触发直接将所述第二报文进行转发出栈的操作;所述目标接口是基于所述第二报文确定的;
所述基于进入协议栈的第一报文,确定转发会话消息,包括:
基于所述第一报文,获取报文标识信息;
基于所述报文标识信息进行哈希查找,获取所述转发会话消息;
所述基于所述报文标识信息进行哈希查找,获取所述转发会话消息,包括:
在确定所述报文标识信息未匹配到转发会话的情况下,创建第一目标转发会话,并激活所述挂载点;
基于所述报文标识信息进行策略匹配,获取第一转发会话消息,并将所述第一转发会话消息作为所述转发会话消息;
所述调用目标函数,结合所述转发会话消息对所述第一报文进行处理,获取第二报文,包括:
通过所述第一转发会话消息触发目标函数进行挂载处理,所述目标函数的挂载处理执行以下步骤:
基于目标报文内容和所述第一转发会话消息,获取所述第二报文;
在确定所述挂载点处于激活状态的情况下,从所述目标函数中获取所述第一转发会话消息,以供在所述第一目标转发会话中转发所述第二报文;
其中,所述目标报文内容是基于所述第一报文确定的。
2.根据权利要求1所述的基于IPSEC的报文转发方法,其特征在于,所述基于所述报文标识信息进行策略匹配,获取第一转发会话消息,包括:
基于所述报文标识信息进行安全策略匹配,获取安全策略信息;
基于所述安全策略信息进行安全联盟匹配,将匹配到的安全联盟信息存储至所述第一转发会话消息的结构体中。
3.根据权利要求1所述的基于IPSEC的报文转发方法,其特征在于,所述基于所述报文标识信息进行哈希查找,获取所述转发会话消息,还包括:
在确定所述报文标识信息匹配到转发会话的情况下,将匹配到的转发会话作为第二目标转发会话,以及获取所述第二目标转发会话对应的第二转发会话消息,并将所述第二转发会话消息作为所述转发会话消息。
4.根据权利要求3所述的基于IPSEC的报文转发方法,其特征在于,所述调用目标函数,结合所述转发会话消息对所述第一报文进行处理,获取第二报文,包括:
基于目标报文内容和所述第二转发会话消息,调用所述目标函数,获取所述第二报文;
通过所述第二目标转发会话对所述第二报文进行转发;
其中,所述目标报文内容是基于所述第一报文确定的。
5.一种基于IPSEC的报文转发装置,其特征在于,包括:
转发会话消息获取模块,用于基于进入协议栈的第一报文,确定转发会话消息;
会话应用模块,用于调用目标函数,结合所述转发会话消息对所述第一报文进行处理,获取第二报文;
报文转发模块,用于通过目标接口将所述第二报文转发至目的地址;
其中,所述目标函数用于将所述第一报文经加密封装得到所述第二报文作为转发会话的挂载点,触发直接将所述第二报文进行转发出栈的操作;所述目标接口是基于所述第二报文确定的;
所述转发会话消息获取模块包括标识信息获取单元和会话查找单元;
所述标识信息获取单元,用于基于第一报文,获取报文标识信息;
所述会话查找单元,用于基于报文标识信息进行哈希查找,获取转发会话消息;
所述会话查找单元包括新建会话子单元和第一转发会话消息获取子单元;
所述新建会话子单元,用于在确定报文标识信息未匹配到转发会话的情况下,创建第一目标转发会话,并激活挂载点;
所述第一转发会话消息获取子单元,用于基于报文标识信息进行策略匹配,获取第一转发会话消息,并将第一转发会话消息作为转发会话消息;
所述会话应用模块,具体用于通过第一转发会话消息触发目标函数进行挂载处理,目标函数的挂载处理执行以下步骤:
基于目标报文内容和第一转发会话消息,获取第二报文;
在确定挂载点处于激活状态的情况下,从目标函数中获取第一转发会话消息,以供在第一目标转发会话转发第二报文;
其中,目标报文内容是基于第一报文确定的。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述基于IPSEC的报文转发方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述基于IPSEC的报文转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211147194.9A CN115242552B (zh) | 2022-09-21 | 2022-09-21 | 基于ipsec的报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211147194.9A CN115242552B (zh) | 2022-09-21 | 2022-09-21 | 基于ipsec的报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115242552A CN115242552A (zh) | 2022-10-25 |
CN115242552B true CN115242552B (zh) | 2022-12-13 |
Family
ID=83681808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211147194.9A Active CN115242552B (zh) | 2022-09-21 | 2022-09-21 | 基于ipsec的报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115242552B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499972A (zh) * | 2009-03-16 | 2009-08-05 | 杭州华三通信技术有限公司 | Ip安全报文转发方法及装置 |
WO2011054259A1 (zh) * | 2009-11-09 | 2011-05-12 | 华为技术有限公司 | 一种数据传输方法、设备和系统 |
WO2014040411A1 (zh) * | 2012-09-17 | 2014-03-20 | 华为技术有限公司 | 一种数据报文处理方法、系统及设备 |
CN103780469A (zh) * | 2012-10-23 | 2014-05-07 | 上海博达数据通信有限公司 | 多核平台上IPv6隧道的实现方法以及报文转发方法 |
CN109981820A (zh) * | 2019-03-29 | 2019-07-05 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
WO2022033340A1 (zh) * | 2020-08-10 | 2022-02-17 | 大唐移动通信设备有限公司 | 数据处理方法、用户面功能及装置 |
WO2022057490A1 (zh) * | 2020-09-21 | 2022-03-24 | 华为技术有限公司 | 一种业务处理方法及网络设备 |
WO2022127586A1 (zh) * | 2020-12-17 | 2022-06-23 | 中兴通讯股份有限公司 | 报文处理方法、节点及计算机可读存储介质 |
-
2022
- 2022-09-21 CN CN202211147194.9A patent/CN115242552B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101499972A (zh) * | 2009-03-16 | 2009-08-05 | 杭州华三通信技术有限公司 | Ip安全报文转发方法及装置 |
WO2011054259A1 (zh) * | 2009-11-09 | 2011-05-12 | 华为技术有限公司 | 一种数据传输方法、设备和系统 |
WO2014040411A1 (zh) * | 2012-09-17 | 2014-03-20 | 华为技术有限公司 | 一种数据报文处理方法、系统及设备 |
CN103780469A (zh) * | 2012-10-23 | 2014-05-07 | 上海博达数据通信有限公司 | 多核平台上IPv6隧道的实现方法以及报文转发方法 |
CN109981820A (zh) * | 2019-03-29 | 2019-07-05 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
WO2022033340A1 (zh) * | 2020-08-10 | 2022-02-17 | 大唐移动通信设备有限公司 | 数据处理方法、用户面功能及装置 |
WO2022057490A1 (zh) * | 2020-09-21 | 2022-03-24 | 华为技术有限公司 | 一种业务处理方法及网络设备 |
WO2022127586A1 (zh) * | 2020-12-17 | 2022-06-23 | 中兴通讯股份有限公司 | 报文处理方法、节点及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115242552A (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450852B (zh) | 网络通信加密解密方法及电子设备 | |
US9954873B2 (en) | Mobile device-based intrusion prevention system | |
US8191119B2 (en) | Method for protecting against denial of service attacks | |
CN109756501B (zh) | 一种基于http协议的高隐匿网络代理方法及系统 | |
CN107104929B (zh) | 防御网络攻击的方法、装置和系统 | |
US10050870B2 (en) | Handling multipath flows in service function chaining | |
US9398043B1 (en) | Applying fine-grain policy action to encapsulated network attacks | |
CN112468518B (zh) | 访问数据处理方法、装置、存储介质及计算机设备 | |
US20220263823A1 (en) | Packet Processing Method and Apparatus, Device, and Computer-Readable Storage Medium | |
JP2009506617A (ja) | セキュア伝送情報を処理するシステムおよび方法 | |
US20140095862A1 (en) | Security association detection for internet protocol security | |
CN107612890B (zh) | 一种网络监测方法及系统 | |
US20040111642A1 (en) | Content security by network switch | |
CN106656648B (zh) | 基于家庭网关的应用流量动态保护方法、系统及家庭网关 | |
CN113518042B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US8769664B1 (en) | Security processing in active security devices | |
CN106161386B (zh) | 一种实现IPsec分流的方法和装置 | |
CN114244577A (zh) | 一种基于esp的报文处理方法 | |
CN115225414B (zh) | 基于ipsec的加密策略匹配方法、装置及通信系统 | |
CN106790310B (zh) | 分布式拒绝服务攻击防护与负载均衡一体化的方法和系统 | |
CN108064441B (zh) | 一种加速网络传输优化方法以及系统 | |
CN105577579B (zh) | 业务功能链中协议报文的处理方法、系统及业务功能节点 | |
CN115242552B (zh) | 基于ipsec的报文转发方法及装置 | |
CN114039795B (zh) | 软件定义路由器及基于该软件定义路由器的数据转发方法 | |
US20230319111A1 (en) | Ipsec load balancing in a session-aware load balanced cluster (slbc) network device |
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 |