隧道报文认证转发方法及系统技术方案

技术编号:20081324 阅读:29 留言:0更新日期:2019-01-15 02:42
本公开涉及一种隧道报文认证转发方法及系统,所述方法包括:当前转发CPU对接收到的预设类型的隧道报文进行解封装,获得解封报文;当解封报文为非认证报文时,当前转发CPU根据解封报文查询系统中已创建的会话表;在当前转发CPU未查询到与解封报文相对应的会话表时,当前转发CPU根据解封报文查询认证表,以确定是否能够为解封报文创建会话表项;当确定能够为解封报文创建会话表项时,目标转发CPU根据解封报文和会话表相关信息,在目标转发CPU对应的会话表中创建会话表项,并基于该会话表项对解封报文进行转发。通过上述技术方案,既可以有效减少CPU之间的切换,也可以有效降低数据维护量,提高系统的转发性能。

Authentication and Forwarding Method and System of Tunnel Messages

The present disclosure relates to a tunnel message authentication and forwarding method and system, which includes: the current forwarding CPU unpacks the received preset type of tunnel message and obtains the unpacked message; when the unpacked message is not an authenticated message, the current forwarding CPU queries the session table created in the unpacked message query system; and when the current forwarding CPU does not query the corresponding unpacked message. In session table, the current forwarding CPU queries the authentication table according to the unblocked message to determine whether it can create session table entries for the unblocked message; when it determines that it can create session table entries for the unblocked message, the target forwarding CPU creates session table entries in the corresponding session table of the target forwarding CPU based on the information of the unblocked message and session table, and forwards the unblocked message based on the session table entries. \u3002 Through the above technical scheme, not only can the handover between CPUs be effectively reduced, but also the amount of data maintenance can be effectively reduced and the forwarding performance of the system can be improved.

【技术实现步骤摘要】
隧道报文认证转发方法及系统
本公开涉及计算机网络领域,具体地,涉及一种隧道报文认证转发方法及系统。
技术介绍
随着计算机技术的发展,基于隧道技术可以实现不同协议的数据帧或包之间的数据传输,即基于隧道技术对原始报文进行外部封装,以获得隧道报文,并将该隧道报文在隧道中进行转发,以实现跨协议的数据传输。现有技术中,在基于异构平台的网络转发系统中,通常将CPU划分成两类,一类是转发CPU,运行于用户态,用于基于会话表对报文进行转发;一类是逻辑CPU,运行于内核态,用于对隧道报文进行加解密处理,从而将处理后的报文发送至转发CPU,以由转发CPU进行转发。然而,在该过程中不仅需要在运行于用户态的转发CPU和运行与内核态的逻辑CPU之间进行多次切换,而且,需要对隧道报文和原始报文分别创建会话表以实现报文的转发,增加了会话表资源的占用及需要维护的数据量。
技术实现思路
为了解决上述问题,本公开提供一种隧道报文认证转发方法及系统。为了实现上述目的,根据本公开的第一方面,提供一种隧道报文认证转发方法,所述方法包括:当前转发CPU对接收到的预设类型的隧道报文进行解封装,获得解封报文,所述解封报文为所述隧道报文去除掉外层首部后所得报文,所述当前转发CPU为隧道报文认证转发系统中的任一转发CPU,所述系统中的转发CPU运行在用户态;当所述解封报文为非认证报文时,所述当前转发CPU根据所述解封报文查询所述系统中已创建的会话表;在所述当前转发CPU未查询到与所述解封报文相对应的会话表时,当前转发CPU根据所述解封报文查询认证表,以确定是否能够为所述解封报文创建会话表项;当确定能够为所述解封报文创建会话表项时,目标转发CPU根据所述解封报文和会话表相关信息,在所述目标转发CPU对应的会话表中创建会话表项,并基于该会话表项对所述解封报文进行转发,其中,所述会话表相关信息至少包括所述隧道报文的所述外层首部,所述目标转发CPU为所述系统中,用于接收所述解封报文对应的回复报文的转发CPU。可选地,在当前转发CPU确定能够为所述解封报文创建会话表项之后,在所述目标转发CPU根据所述解封报文和会话表相关信息,在所述目标转发CPU对应的会话表中创建会话表项,并基于该会话表项对所述解封报文进行转发的步骤之前,所述方法还包括:所述当前转发CPU根据所述解封报文确定所述目标转发CPU;若所述目标转发CPU不是所述当前转发CPU,所述当前转发CPU将所述解封报文与所述会话表相关信息发送至所述目标转发CPU。可选地,所述当前转发CPU根据所述解封报文确定目标转发CPU,包括:所述当前转发CPU根据所述解封报文的内层首部中的五元组确定是否需要进行源地址转换;在确定需要进行源地址转换时,所述当前转发CPU对所述解封报文的内层首部中的五元组进行源地址转换,获得目标五元组,并根据所述目标五元组确定与所述解封报文对应的回复报文的五元组;在确定不需要进行源地址转换时,所述当前转发CPU根据所述内层首部中的五元组确定与所述解封报文对应的回复报文的五元组;所述当前转发CPU根据所述回复报文的五元组,通过所述当前转发CPU所处的当前设备的网卡硬件的RSS算法确定所述目标转发CPU。可选地,在所述当前转发CPU进行了源地址转换的情况下,所述会话表相关信息还包括所述目标五元组;所述目标转发CPU根据所述解封报文和会话表相关信息,在所述目标转发CPU对应的会话表中创建会话表项,包括:在所述当前转发CPU进行了源地址转换的情况下,所述目标转发CPU根据所述解封报文的内层首部中的五元组和所述目标五元组创建会话表项;在所述当前转发CPU未进行源地址转换的情况下,所述目标转发CPU根据所述解封报文的内层首部中的五元组创建会话表项;所述目标转发CPU在所创建的会话表项中存储所述外层首部。可选地,所述方法还包括:所述目标转发CPU在接收到所述解封报文对应的回复报文时,根据所述回复报文的五元组查询所述目标转发CPU对应的会话表,以确定与所述回复报文相对应的目标会话表项;所述目标转发CPU根据所述目标会话表项中存储的所述外层首部对所述回复报文进行封装,获得封装的回复报文并对所述封装的回复报文进行转发。可选地,所述方法还包括:在所述当前转发CPU查询到与所述解封报文相对应的会话表时,若所述查询到的会话表不是当前转发CPU对应的会话表,所述当前转发CPU将所述解封报文发送至所述查询到的会话表对应的转发CPU;所查询到的会话表对应的转发CPU根据所述解封报文查询该会话表,并基于查询到的会话表项对所述解封报文进行转发。可选地,所述方法还包括:当所述解封报文为认证报文时,若所述当前转发CPU不作为所述系统中的认证CPU,所述当前转发CPU将所述解封报文发送至所述系统中的所述认证CPU,以由所述认证CPU对所述解封报文携带的认证信息进行认证,其中,所述系统中的一个转发CPU被指定作为所述认证CPU。可选地,所述方法还包括:所述认证CPU在接收到所述解封报文时,在对所述解封报文携带的认证信息进行认证通过后,根据所述认证信息更新所述认证表;在所述认证表中已更新但未同步的认证表项的数量达到预设阈值或者距离上次生成同步报文的时长达到预设时长时,所述认证CPU将所述认证表中已更新但未同步的认证表项确定为本次待生成的目标同步报文的数据部分;根据所述认证CPU所处的当前设备和待同步的高可用设备的地址信息、以及所述待同步的高可用设备的网卡硬件的RSS算法确定所述目标同步报文的同步五元组;基于所述数据部分和所述同步五元组生成所述目标同步报文,其中,所述目标同步报文用于所述待同步的高可用设备的认证CPU对该高可用设备的认证表进行同步处理;所述认证CPU根据预设的同步协议对所述目标同步报文进行封装,获得同步封装报文,并将所述同步封装报文发送至所述待同步的高可用设备的认证CPU。根据本公开的第二方面,提供一种隧道报文认证转发系统,所述系统包括:网卡;至少一个转发CPU,运行在用户态,与所述网卡通信,所述转发CPU被配置为执行上述转发CPU所执行方法的步骤。可选地,所述系统还包括:认证CPU,运行在用户态,所述认证CPU被配置为至少执行上述认证CPU所执行方法的步骤。可选地,所述系统还包括:至少一个逻辑CPU,运行在内核态,与所述至少一个转发CPU一一对应进行通信,所述逻辑CPU用于对接收到的非预设类型的隧道报文进行解密操作,获得解密报文,以及对所述解密报文对应的回复报文进行加密。在上述技术方案中,当前转发CPU可以对接收到的预设类型的隧道报文进行解封装,获得解封报文;在该解封报文为非认证报文、且在系统中未查询到解封报文对应的会话表时,在确定可以对该解封报文创建会话表项的情况下,根据隧道报文的外层首部与该解封报文创建对应的会话表项,从而对解封报文进行转发。因此,通过上述技术方案,既可以有效减少报文转发过程中CPU之间的切换,有效保证隧道报文认证系统的转发性能;又可以将隧道报文的外层首部与解封报文的会话表项相关联,避免现有技术中为隧道报文和解封报文分别创建会话表项造成的资源占用。同时,通过将会话表与隧道映射关系相结合,也可以有效降低数据维护量,提高隧道报文认证系统的性能。本公开的其他特征和优点将在随后的具体实施方式部分予以详本文档来自技高网...

【技术保护点】
1.一种隧道报文认证转发方法,其特征在于,所述方法包括:当前转发CPU对接收到的预设类型的隧道报文进行解封装,获得解封报文,所述解封报文为所述隧道报文去除掉外层首部后所得报文,所述当前转发CPU为隧道报文认证转发系统中的任一转发CPU,所述系统中的转发CPU运行在用户态;当所述解封报文为非认证报文时,所述当前转发CPU根据所述解封报文查询所述系统中已创建的会话表;在所述当前转发CPU未查询到与所述解封报文相对应的会话表时,当前转发CPU根据所述解封报文查询认证表,以确定是否能够为所述解封报文创建会话表项;当确定能够为所述解封报文创建会话表项时,目标转发CPU根据所述解封报文和会话表相关信息,在所述目标转发CPU对应的会话表中创建会话表项,并基于该会话表项对所述解封报文进行转发,其中,所述会话表相关信息至少包括所述隧道报文的所述外层首部,所述目标转发CPU为所述系统中,用于接收所述解封报文对应的回复报文的转发CPU。

【技术特征摘要】
1.一种隧道报文认证转发方法,其特征在于,所述方法包括:当前转发CPU对接收到的预设类型的隧道报文进行解封装,获得解封报文,所述解封报文为所述隧道报文去除掉外层首部后所得报文,所述当前转发CPU为隧道报文认证转发系统中的任一转发CPU,所述系统中的转发CPU运行在用户态;当所述解封报文为非认证报文时,所述当前转发CPU根据所述解封报文查询所述系统中已创建的会话表;在所述当前转发CPU未查询到与所述解封报文相对应的会话表时,当前转发CPU根据所述解封报文查询认证表,以确定是否能够为所述解封报文创建会话表项;当确定能够为所述解封报文创建会话表项时,目标转发CPU根据所述解封报文和会话表相关信息,在所述目标转发CPU对应的会话表中创建会话表项,并基于该会话表项对所述解封报文进行转发,其中,所述会话表相关信息至少包括所述隧道报文的所述外层首部,所述目标转发CPU为所述系统中,用于接收所述解封报文对应的回复报文的转发CPU。2.根据权利要求1所述的方法,其特征在于,在当前转发CPU确定能够为所述解封报文创建会话表项之后,在所述目标转发CPU根据所述解封报文和会话表相关信息,在所述目标转发CPU对应的会话表中创建会话表项,并基于该会话表项对所述解封报文进行转发的步骤之前,所述方法还包括:所述当前转发CPU根据所述解封报文确定所述目标转发CPU;若所述目标转发CPU不是所述当前转发CPU,所述当前转发CPU将所述解封报文与所述会话表相关信息发送至所述目标转发CPU。3.根据权利要求2所述的方法,其特征在于,所述当前转发CPU根据所述解封报文确定目标转发CPU,包括:所述当前转发CPU根据所述解封报文的内层首部中的五元组确定是否需要进行源地址转换;在确定需要进行源地址转换时,所述当前转发CPU对所述解封报文的内层首部中的五元组进行源地址转换,获得目标五元组,并根据所述目标五元组确定与所述解封报文对应的回复报文的五元组;在确定不需要进行源地址转换时,所述当前转发CPU根据所述内层首部中的五元组确定与所述解封报文对应的回复报文的五元组;所述当前转发CPU根据所述回复报文的五元组,通过所述当前转发CPU所处的当前设备的网卡硬件的RSS算法确定所述目标转发CPU。4.根据权利要求3所述的方法,其特征在于,在所述当前转发CPU进行了源地址转换的情况下,所述会话表相关信息还包括所述目标五元组;所述目标转发CPU根据所述解封报文和会话表相关信息,在所述目标转发CPU对应的会话表中创建会话表项,包括:在所述当前转发CPU进行了源地址转换的情况下,所述目标转发CPU根据所述解封报文的内层首部中的五元组和所述目标五元组创建会话表项;在所述当前转发CPU未进行源地址转换的情况下...

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

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

1