本公开涉及通信,尤其涉及一种报文转发方法、装置、设备及计算机可读存储介质。
背景技术:
1、ipsec vpn(virtual private network,虚拟专用网络)是采用ipsec(internetprotocol security,互联网安全协议)实现可基于公网基础设施安全传输数据的一种隧道技术。ipsec协议并非为一个单独的协议,作为网络层隧道协议,是由internet工程任务组(ietf)制定的一组安全协议套件,它为ip数据提供了高质量、可互操作、基于密码学的安全性,其体系机构包括:安全联盟、安全协议、密钥管理、操作模式、验证算法、加密算法和安全策略等。
2、现有技术主要是在系统内核的xfrm层实现ipsec功能,同时维护安全联盟(security association,sa)与sp策略库;内核中挂载密码算法模块,当应用层软件完成ipsec认证与协商之后,网络数据通过网卡进入系统内核,经过驱动程序、内核协议栈和中断处理,到达xfrm层ipsec代码模块,如满足解密条件则调用密码算法模块对数据进行解密与核对校验值;处理完毕的数据包,再次经过内核协议栈、中断处理以及驱动程序,将数据包从网口发送出去。
3、但是,上述方法在对数据进行处理时需要占用大量的内核资源,因而系统内核处理能力成为性能瓶颈,不但会影响主机性能,还会导致ipsec业务处理效率低下。
技术实现思路
1、为了解决上述技术问题,本公开提供了一种报文转发方法、装置、设备及计算机可读存储介质,以降低ipsec业务对主机性能的影响,提高ipsec业务的处理效率。
2、第一方面,本公开实施例提供一种报文转发方法,应用于dpu,包括:
3、响应于本端主机的配置指令,完成与所述配置指令相应的配置操作,所述本端主机与所述dpu通信连接;
4、与目标主机进行协商,获得ipsec sa库,所述目标主机与所述dpu通信连接;
5、接收待处理报文;
6、基于所述ipsec sa库中的ipsec sa,对所述待处理报文进行处理,得到处理后的报文;
7、将所述处理后的报文转发至目标主机。
8、在一些实施例中,所述与目标主机进行协商,获得ipsec sa,包括:
9、与所述目标主机进行ike协商,获得ike sa;
10、基于所述ike sa与所述目标主机进行协商,获得所述ipsec sa。
11、在一些实施例中,所述基于所述ipsec sa库中的ipsec sa,对所述待处理报文进行处理,得到处理后的报文,包括:
12、当所述待处理报文为加密报文时,根据所述待处理报文的spid确定所述ipsec sa库中是否存在与所述待处理报文匹配的ipsec sa;
13、若存在,则基于所述ipsec sa库中与所述待处理报文匹配的ipsec sa,对所述待处理报文进行解密操作,得到处理后的报文。
14、在一些实施例中,所述响应于本端主机的配置指令,完成与所述配置指令相应的配置操作,包括:
15、响应于本端主机的ipsec sp配置指令,完成对于ipsec sp库的配置操作。
16、在一些实施例中,所述基于所述ipsec sa库中的ipsec sa,对所述待处理报文进行处理,得到处理后的报文,还包括:
17、当所述待处理报文为明文报文时,根据所述待处理报文的五元组信息确定所述ipsec sp库中是否存在与所述待处理报文匹配的ipsec sp;
18、若存在,则基于所述ipsec sa库中与所述待处理报文匹配的ipsec sa,对所述待处理报文进行加密操作,得到处理后的报文。
19、第二方面,本公开实施例提供一种报文转发装置,包括:
20、配置模块,用于响应于本端主机的配置指令,完成与所述配置指令相应的配置操作,所述本端主机与所述dpu通信连接;
21、协商模块,用于与目标主机进行协商,获得ipsec sa库,所述目标主机与所述dpu通信连接;
22、接收模块,用于接收待处理报文;
23、处理模块,用于基于所述ipsec sa库中的ipsec sa,对所述待处理报文进行处理,得到处理后的报文;
24、发送模块,用于将所述处理后的报文转发至目标主机。
25、在一些实施例中,
26、配置模块还用于响应于本端主机的ipsec sp配置指令,完成对于ipsec sp库的配置操作。
27、在一些实施例中,
28、处理模块具体用于当所述待处理报文为明文报文时,根据所述待处理报文的五元组信息确定所述ipsec sp库中是否存在与所述待处理报文匹配的ipsec sp;若存在,则基于所述ipsec sa库中与所述待处理报文匹配的ipsec sa,对所述待处理报文进行加密操作,得到处理后的报文。
29、第三方面,本公开实施例提供一种电子设备,包括:
30、存储器;
31、处理器;以及
32、计算机程序;
33、其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
34、第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
35、第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上所述的报文转发方法。
36、本公开实施例提供的报文转发方法、装置、设备及计算机可读存储介质,通过将ipsec处理功能卸载至专用的dpu中,由dpu的核心完成ipsec业务处理,提高ipsec业务处理的效率,解放本端主机的系统资源,降低本端主机系统的性能消耗。
1.一种报文转发方法,其特征在于,所述方法应用于dpu,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述与目标主机进行协商,获得ipsec sa,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述ipsec sa库中的ipsec sa,对所述待处理报文进行处理,得到处理后的报文,包括:
4.根据权利要求1所述的方法,其特征在于,所述响应于本端主机的配置指令,完成与所述配置指令相应的配置操作,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述ipsec sa库中的ipsec sa,对所述待处理报文进行处理,得到处理后的报文,还包括:
6.一种报文转发装置,其特征在于,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,
8.根据权利要求7所述的装置,其特征在于,
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。