报文转发方法和多核系统技术方案

技术编号:24103207 阅读:41 留言:0更新日期:2020-05-09 14:07
本公开涉及一种报文转发方法和多核系统,包括:若第一转发核从网卡接收到第一密文报文,向第一转发核对应的第一处理核发送第一密文报文;第一处理核对第一密文报文进行解密,获得第一明文报文;若确定存在与第一明文报文对应的第一会话表且第一会话表对应的转发核为第一转发核,向第一转发核发送第一明文报文;第一转发核对第一明文报文进行转发;若第一转发核从网卡接收到第二明文报文且第二明文报文为待加密报文,向第一处理核发送第二明文报文;第一处理核对第二明文报文进行加密,获得第二密文报文,并向第一转发核发送第二密文报文;第一转发核确定是否存在第二密文报文对应的第二会话表;若确定存在第二会话表,对第二密文报文进行转发。

Message forwarding method and multi-core system

【技术实现步骤摘要】
报文转发方法和多核系统
本公开涉及计算机网络领域,具体地,涉及一种报文转发方法和多核系统。
技术介绍
随着计算机技术的发展,越来越多的防火墙采用多核处理机制,防火墙的转发处理性能不仅与处理流程、算法复杂度相关,更与该多核处理过程中的竞争资源相关。而现今对网络的安全性要求越来越高,因此在进行网络数据通信时,会将报文进行加密,从而基于加密后的密文报文进行网络通信。现有技术中,在对报文进行转发处理时,在从网卡接收到报文时,都会基于该报文创建会话表,这样会使得创建的会话表过多,增加了会话表资源的占用及需要维护的数据量。
技术实现思路
本公开的目的是提供一种降低对会话表资源的占用、提高转发性能的报文转发方法和多核系统。为了实现上述目的,根据本公开的第一方面,提供一种报文转发方法,所述方法包括:若第一转发核从网卡接收到第一密文报文,向第一转发核对应的第一处理核发送所述第一密文报文;所述第一处理核对所述第一密文报文进行解密,获得第一明文报文;若所述第一处理核确定存在与所述第一明文报文对应的第一会话表、且所述第一会话表对应的转发核为所述第一转发核,向所述第一转发核发送所述第一明文报文;所述第一转发核基于所述第一会话表对所述第一明文报文进行转发;若所述第一转发核从所述网卡接收到第二明文报文,且所述第二明文报文为待加密报文,向所述第一处理核发送所述第二明文报文;所述第一处理核对所述第二明文报文进行加密,获得第二密文报文,并向所述第一转发核发送所述第二密文报文;所述第一转发核确定是否存在所述第二密文报文对应的第二会话表;若所述第一转发核确定存在所述第二会话表,基于所述第二会话表对所述第二密文报文进行转发,其中,所述第二会话表是由所述第一转发核创建的。可选地,所述方法还包括:若所述第一转发核确定不存在所述第二会话表,则在所述第一转发核创建所述第二会话表,并基于所述第二会话表对所述第二密文报文进行转发,其中,所述第二会话表为基于所述第二密文报文的五元组创建的会话表,基于所述第二密文报文的五元组创建的会话表的数量、和用于转发所述第二密文报文的五元组对应的明文报文的转发核的数量相同。可选地,所述第一转发核确定是否存在所述第二密文报文对应的第二会话表,包括:所述第一转发核根据所述第二密文报文的五元组和所述第一转发核的标识确定会话表标识;根据所述会话表标识进行查询;若查询到具有所述会话表标识的会话表,将查询到的该会话表确定为所述第二会话表;若未查询到具有所述会话表标识的会话表,则确定不存在所述第二会话表。可选地,所述待加密报文为VPN报文,所述第一处理核对所述第二明文报文进行加密,包括:所述第一处理核通过所述第一处理核内的VPN模块对所述第二明文报文进行加密。可选地,所述方法还包括:若所述第一处理核确定不存在所述第一会话表,则根据所述第一明文报文对应的回复报文的五元组,确定第二转发核,其中,所述第二转发核为用于接收所述回复报文的转发核;若所述第二转发核和所述第一转发核不是同一转发核,所述第一处理核向与所述第二转发核对应的第二处理核发送所述第一明文报文;所述第二处理核对所述第一明文报文进行策略匹配,以确定会话表信息,并向所述第二转发核发送所述会话表信息和所述第一明文报文;所述第二转发核基于所述会话表信息创建与所述第一明文报文对应的第一会话表,并基于该第一会话表对所述第一明文报文进行转发,其中,所述第一会话表包括所述第一明文报文的五元组对应的会话表和所述回复报文的五元组对应的会话表。可选地,所述第一处理核对所述第一密文报文进行解密,包括:所述第一处理核通过所述第一处理核内的VPN模块对所述第一密文报文进行解密。根据本公开的第二方面,提供一种多核系统,包括:网卡、至少一个转发核,运行在用户态,与所述网卡进行通信,至少一个处理核,运行在内核态,与所述至少一个转发核一一对应通信,其中,第一转发核从网卡接收到第一密文报文,向第一转发核对应的第一处理核发送所述第一密文报文;所述第一处理核对所述第一密文报文进行解密,获得第一明文报文;若所述第一处理核确定存在与所述第一明文报文对应的第一会话表、且所述第一会话表对应的转发核为所述第一转发核,则所述第一转发核基于所述第一会话表对所述第一明文报文进行转发,所述第一转发核为所述至少一个转发核中的任一转发核;若所述第一转发核从所述网卡接收到第二明文报文,且所述第二明文报文为待加密报文,所述第一转发核向所述第一处理核发送所述第二明文报文;所述第一处理核对所述第二明文报文进行加密,获得第二密文报文,并向所述第一转发核发送所述第二密文报文;所述第一转发核确定是否存在所述第二密文报文对应的第二会话表;若所述第一转发核确定存在所述第二会话表,所述第一转发核基于所述第二会话表对所述第二密文报文进行转发,其中,所述第二会话表是由所述第一转发核创建的。可选地,在所述多核系统中,若所述第一转发核确定不存在所述第二会话表,则在所述第一转发核创建所述第二会话表,并基于所述第二会话表对所述第二密文报文进行转发,其中,所述第二会话表为基于所述第二密文报文的五元组创建的会话表,基于所述第二密文报文的五元组创建的会话表的数量、和用于转发所述第二密文报文的五元组对应的明文报文的转发核的数量相同。可选地,在所述多核系统中,所述第一转发核确定是否存在所述第二密文报文对应的第二会话表,包括:所述第一转发核根据所述第二密文报文的五元组和所述第一转发核的标识确定会话表标识;根据所述会话表标识进行查询;若查询到具有所述会话表标识的会话表,将查询到的该会话表确定为所述第二会话表;若未查询到具有所述会话表标识的会话表,则确定不存在所述第二会话表。可选地,在所述多核系统中,所述待加密报文为VPN报文,所述第一处理核对所述第二明文报文进行加密,包括:所述第一处理核通过所述第一处理核内的VPN模块对所述第二明文报文进行加密。可选地,在所述多核系统中,若所述第一处理核确定不存在所述第一会话表,则根据所述第一明文报文对应的回复报文的五元组,确定第二转发核,其中,所述第二转发核为用于接收所述回复报文的转发核;若所述第二转发核和所述第一转发核不是同一转发核,所述第一处理核向与所述第二转发核对应的第二处理核发送所述第一明文报文;所述第二处理核对所述第一明文报文进行策略匹配,以确定会话表信息,并向所述第二转发核发送所述会话表信息和所述第一明文报文;所述第二转发核基于所述会话表信息创建与所述第一明文报文对应的第一会话表,并基于该第一会话表对所述第一明文报文进行转发,其中,所述第一会话表包括所述第一明文报文的五元组对应的会话表和所述回复报文的五元组对应的会话表。可选地,在所述多核系统中,所述第一处理核对所述第一密文报文进行解密,包括:...

【技术保护点】
1.一种报文转发方法,其特征在于,所述方法包括:/n若第一转发核从网卡接收到第一密文报文,向第一转发核对应的第一处理核发送所述第一密文报文;/n所述第一处理核对所述第一密文报文进行解密,获得第一明文报文;/n若所述第一处理核确定存在与所述第一明文报文对应的第一会话表、且所述第一会话表对应的转发核为所述第一转发核,向所述第一转发核发送所述第一明文报文;/n所述第一转发核基于所述第一会话表对所述第一明文报文进行转发;/n若所述第一转发核从所述网卡接收到第二明文报文,且所述第二明文报文为待加密报文,向所述第一处理核发送所述第二明文报文;/n所述第一处理核对所述第二明文报文进行加密,获得第二密文报文,并向所述第一转发核发送所述第二密文报文;/n所述第一转发核确定是否存在所述第二密文报文对应的第二会话表;/n若所述第一转发核确定存在所述第二会话表,基于所述第二会话表对所述第二密文报文进行转发,其中,所述第二会话表是由所述第一转发核创建的。/n

【技术特征摘要】
1.一种报文转发方法,其特征在于,所述方法包括:
若第一转发核从网卡接收到第一密文报文,向第一转发核对应的第一处理核发送所述第一密文报文;
所述第一处理核对所述第一密文报文进行解密,获得第一明文报文;
若所述第一处理核确定存在与所述第一明文报文对应的第一会话表、且所述第一会话表对应的转发核为所述第一转发核,向所述第一转发核发送所述第一明文报文;
所述第一转发核基于所述第一会话表对所述第一明文报文进行转发;
若所述第一转发核从所述网卡接收到第二明文报文,且所述第二明文报文为待加密报文,向所述第一处理核发送所述第二明文报文;
所述第一处理核对所述第二明文报文进行加密,获得第二密文报文,并向所述第一转发核发送所述第二密文报文;
所述第一转发核确定是否存在所述第二密文报文对应的第二会话表;
若所述第一转发核确定存在所述第二会话表,基于所述第二会话表对所述第二密文报文进行转发,其中,所述第二会话表是由所述第一转发核创建的。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一转发核确定不存在所述第二会话表,则在所述第一转发核创建所述第二会话表,并基于所述第二会话表对所述第二密文报文进行转发,其中,所述第二会话表为基于所述第二密文报文的五元组创建的会话表,基于所述第二密文报文的五元组创建的会话表的数量、和用于转发所述第二密文报文的五元组对应的明文报文的转发核的数量相同。


3.根据权利要求1所述的方法,其特征在于,所述第一转发核确定是否存在所述第二密文报文对应的第二会话表,包括:
所述第一转发核根据所述第二密文报文的五元组和所述第一转发核的标识确定会话表标识;
根据所述会话表标识进行查询;
若查询到具有所述会话表标识的会话表,将查询到的该会话表确定为所述第二会话表;
若未查询到具有所述会话表标识的会话表,则确定不存在所述第二会话表。


4.根据权利要求1所述的方法,其特征在于,所述待加密报文为VPN报文,所述第一处理核对所述第二明文报文进行加密,包括:
所述第一处理核通过所述第一处理核内的VPN模块对所述第二明文报文进行加密。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一处理核确定不存在所述第一会话表,则根据所述第一明文报文对应的回复报文的五元组,确定第二转发核,其中,所述第二转发核为用于接收所述回复报文的转发核;
若所述第二转发核和所述第一转发核不是同一转发核,所述第一处理核向与所述第二转发核对应的第二处理核发送所述第一明文报文;
所述第二处理核对所述第一明文报文进行策略匹配,以确定会话表信息,并向所述第二转发核发送所述会话表信息和所述第一明文报文;
所述第二转发核基于所述会话表信...

【专利技术属性】
技术研发人员:刘健男党丽娜
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1