网络设备的报文分流方法和装置制造方法及图纸

技术编号:35167104 阅读:58 留言:0更新日期:2022-10-12 17:30
本申请提供了一种网络设备的报文分流方法和装置,所述网络设备包括多处理单元,所述方法由所述网络设备执行,该方法包括:接收第一报文;根据所述第一报文的隧道协议报文头,将所述第一报文分流至所述多处理单元中的第一处理单元进行转发;若所述第一处理单元无法处理所述第一报文,根据所述第一报文的内层报文头,重新对所述第一报文进行分流。在多处理单元中对隧道协议封装的报文进行分流时,有利于减少网络设备处理第一报文的时延。于减少网络设备处理第一报文的时延。于减少网络设备处理第一报文的时延。

【技术实现步骤摘要】
网络设备的报文分流方法和装置
[0001]本申请是向中国专利局提交的申请号为201910423117.3,申请日为2019年05月21日,专利技术创造名称为“网络设备的报文分流方法和装置”的专利技术专利申请的分案申请。


[0002]本申请涉及信息
,更具体地,涉及一种网络设备的报文分流方法和装置。

技术介绍

[0003]网络设备通常包括多个处理单元(例如,多核处理器),通常采用每个核对应一个转发进程(线程)的多核轮询收包模型,当多个转发核从一个网口收包时,需要对共享资源进行锁保护,即同一时刻只有一个转发进程(线程)可以从同一个网络端口收包、处理、发包。为了提高多核并发能力,达到报文在多核上处理的负载均衡,可以基于接收端扩展(receive

side scaling,RSS)技术的分流或者软件哈希(hash)分流2种方式。
[0004]RSS报文分流技术中同一报文流的报文都由一个处理单元来处理,即将具有相同的源IP地址、目的IP地址、源端口号和目的端口号的报文作为同一报文流的报文转发至多处理单元中的目标处理单元。
[0005]由于,RSS分流技术旨在基于预先指定报文特定字段(例如,报文头中的四元组),计算哈希(hash)值,再基于计算的哈希值确定处理报文的处理单元。当大量报文采用隧道封装技术进行封装后,报文的隧道协议头相同,或者说报文的隧道协议头中的特定字段(例如,四元组)相同,则基于上文介绍的RSS技术,这些封装后的报文都被转发至相同的处理单元,通过同一个处理单元处理。这样,导致网络设备中的某些处理单元的负载过大,增大处理报文的时延较大。

技术实现思路

[0006]本申请提供一种网络设备的报文分流方法和装置,在多处理单元中对隧道协议封装的报文进行分流时,有利于减少网络设备处理第一报文的时延。
[0007]第一方面,提供一种网络设备的报文分流方法,所述网络设备包括多处理单元,所述方法由所述网络设备执行所述方法包括:接收第一报文;根据所述第一报文的隧道协议报文头,将所述第一报文分流至所述多处理单元中的第一处理单元进行转发;若所述第一处理单元无法处理所述第一报文,根据所述第一报文的内层报文头,重新对所述第一报文进行分流。
[0008]在本申请实施例中,当第一处理单元无法处理第一报文时,可以通过第一报文的内层报文头,重新对第一报文进行分流,有利于减少网络设备处理第一报文的时延,避免了传统的报文分流方法中,将第一报文分流至第一处理单元后,第一处理单元无法处理该报文,导致报文传输超时。
[0009]在一种可能的实现方式中,若所述第一处理单元无法处理所述第一报文,根据所述第一报文的内层报文头,重新对所述第一报文进行分流,包括:若所述第一处理单元的负
载满足预设条件,根据所述第一报文的内层报文头,重新对所述第一报文进行分流。
[0010]在本申请实施例中,当第一处理单元的负载满足预设条件,可以通过第一报文的内层报文头,重新对第一报文进行分流,有利于降低第一处理单元的负载,以在多个处理单元之间实现负载均衡提供基础。避免了传统的基于报文的隧道报文头进行分流的过程中,由于封装后的报文都被转发至相同的处理单元(例如第一处理单元),导致网络设备中的某些处理单元的负载过大,某些处理单元的负载过小,引发网络设备中的处理单元负载不均衡。
[0011]在一种可能的实现方式中,所述方法还包括:获取所述第一报文的第一调度规则;根据所述第一调度规则确定由所述网络设备的网卡对所述第一报文的内层报文头,重新对所述第一报文进行分流;所述根据所述第一报文的内层报文头,重新对所述第一报文进行分流,包括:通过所述网卡基于所述第一报文的内层报文头,重新对所述第一报文进行分流。
[0012]在本申请实施例中,根据第一调度规则的指示,由网卡根据第一报文的内层报文头对第一报文进行重新分流,无需增加新的模块以实现重新分流,有利于简化网络设备的负载程度。
[0013]在一种可能的实现方式中,所述方法还包括:获取所述第一报文的第二调度规则;根据所述第二调度规则确定由所述网络设备的分流模块对所述第一报文的内层报文头,重新对所述第一报文进行分流;所述根据所述第一报文的内层报文头,重新对所述第一报文进行分流,包括:通过所述分流模块基于所述第一报文的内层报文头,重新对所述第一报文进行分流。
[0014]在本申请实施例中,根据第二调度规则的指示,由分流根据第一报文的内层报文头对第一报文进行重新分流,有利于扩大本申请的应用场景,例如,即使是在网卡不支持重新分流的场景下,也可以使用本申请实施例的方法。
[0015]在一种可能的实现方式中,所述根据所述第一报文的内层报文头,重新对所述第一报文进行分流,包括:根据所述第一报文的内层报文头,重新将所述第一报文分流至所述多处理单元中除所述第一处理单元之外的其他处理单元。
[0016]在一种可能的实现方式中,所述根据所述第一报文的内层报文头,重新对所述第一报文进行分流,包括:根据所述第一报文的内层报文头,基于接收端扩展RSS策略对所述第一报文进行分流。
[0017]第二方面,提供一种网络设备,所述网络设备包括多处理单元,所述多处理单元包括第一处理单元,所述网络设备用于:接收第一报文;根据所述第一报文的隧道协议报文头,将所述第一报文分流至所述第一处理单元进行转发;若所述第一处理单元无法处理所述第一报文,还用于根据所述第一报文的内层报文头,重新对所述第一报文进行分流。
[0018]在一种可能的实现方式中,所述网络设备还用于:若所述第一处理单元的负载满足预设条件,根据所述第一报文的内层报文头,重新对所述第一报文进行分流。
[0019]在一种可能的实现方式中,所述网络设备还用于:获取所述第一报文的第一调度规则;根据所述第一调度规则确定由所述网络设备的网卡对所述第一报文的内层报文头,重新对所述第一报文进行分流;通过所述网卡基于所述第一报文的内层报文头,重新对所述第一报文进行分流。
[0020]在一种可能的实现方式中,所述网络设备还用于:获取所述第一报文的第二调度规则;根据所述第二调度规则确定由所述网络设备的分流模块对所述第一报文的内层报文头,重新对所述第一报文进行分流;通过所述分流模块基于所述第一报文的内层报文头,重新对所述第一报文进行分流。
[0021]在一种可能的实现方式中,所述多处理单元还用于:根据所述第一报文的内层报文头,重新将所述第一报文分流至所述多处理单元中除所述第一处理单元之外的其他处理单元。
[0022]第三方面,提供一种网络设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于从存储器中调用并运行所述计算机程序,使得所述网络设备执行上述各方面的方法。
[0023]第四方面,提供一种网络设备,所述网络设备包括用于执行上述各个方面中方法的各个模块。
[0024]第五方面,提供了一种计算机可读介质,所述计算机可读介质存储有计算机程序,当其在计算机上运行时,使得计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络设备的报文分流方法,其特征在于,所述网络设备包括多处理单元,所述方法由所述网络设备执行,所述方法包括:接收第一报文;根据所述第一报文的隧道协议报文头,将所述第一报文分流至所述多处理单元中的第一处理单元进行转发;若所述第一处理单元无法处理所述第一报文,根据所述第一报文的内层报文头,重新对所述第一报文进行分流;其中所述隧道协议报文头用于指示第一报文通过隧道被传输,内层报文头用于指示第一报文基于IPSec协议被传输。2.如权利要求1所述的方法,其特征在于,若所述第一处理单元无法处理所述第一报文,根据所述第一报文的内层报文头,重新对所述第一报文进行分流,包括:若所述第一处理单元的负载满足预设条件,根据所述第一报文的内层报文头,重新对所述第一报文进行分流。3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:获取所述第一报文的第一调度规则;根据所述第一调度规则确定由所述网络设备的网卡对所述第一报文的内层报文头,重新对所述第一报文进行分流;所述根据所述第一报文的内层报文头,重新对所述第一报文进行分流,包括:通过所述网卡基于所述第一报文的内层报文头,重新对所述第一报文进行分流。4.如权利要求1

3中任一项所述的方法,其特征在于,所述方法还包括:获取所述第一报文的第二调度规则;根据所述第二调度规则确定由所述网络设备的分流模块对所述第一报文的内层报文头,重新对所述第一报文进行分流;所述根据所述第一报文的内层报文头,重新对所述第一报文进行分流,包括:通过所述分流模块基于所述第一报文的内层报文头,重新对所述第一报文进行分流。5.如权利要求1

4中任一项所述的方法,其特征在于,所述根据所述第一报文的内层报文头,重新对所述第一报文进...

【专利技术属性】
技术研发人员:吴轩李强
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1