一种转发流表加速方法及装置、电子设备和存储介质制造方法及图纸

技术编号:35242767 阅读:15 留言:0更新日期:2022-10-19 09:48
本公开涉及一种转发流表加速方法及装置、电子设备和存储介质,所述方法包括:根据待转发数据包的关键字,在流表缓存中进行第一匹配查询,以查询所述待转发数据包对应的匹配流表项,所述流表缓存为静态随机存储器;在所述第一匹配查询未查询到匹配流表项的情况下,根据所述关键字,在外存储单元中进行第二匹配查询,以查询所述待转发数据包对应的匹配流表项;在所述第二匹配查询查询到匹配流表项的情况下,将与所述关键字匹配的第一流表项写入流表缓存,所述第一流表项被命中的频繁程度高于第一阈值。本公开实施例可提高在流表缓存中查找流表项的匹配命中速度,提高待转发流表的转发效率。发效率。发效率。

【技术实现步骤摘要】
一种转发流表加速方法及装置、电子设备和存储介质


[0001]本公开涉及计算机
,尤其涉及一种转发流表加速方法及装置、电子设备和存储介质。

技术介绍

[0002]网络设备中的转发流表用于存储数据流的分类匹配条件、统计信息、转发规则等数据。在高速网络转发场景中,转发流表通常存储在单片机内部的静态随机存储器(Static Random

Access Memory,SRAM)中。由于受到存储面积、功耗、成本的限制,通常SRAM的存储容量不会很大。
[0003]为了提高存储的流表表项的数量,可以使用相对于SRAM单位成本较低、容量更大的动态随机存储器。例如,将双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR)与SRAM配合使用。但是,由于DDR的读写访问速度远小于SRAM。所以,一般使用这种方案的网络设备,无法线速处理数据流;并且在转发数据流的过程中,数据传输的延迟和抖动也非常大。

技术实现思路

[0004]本公开提出了一种转发流表加速技术方案。
[0005]根据本公开的一方面,提供了一种转发流表加速方法,包括:
[0006]根据待转发数据包的关键字,在流表缓存中进行第一匹配查询,以查询所述待转发数据包对应的匹配流表项,所述流表缓存为静态随机存储器;
[0007]在所述第一匹配查询未查询到匹配流表项的情况下,根据所述关键字,在外存储单元中进行第二匹配查询,以查询所述待转发数据包对应的匹配流表项;
[0008]在所述第二匹配查询查询到匹配流表项的情况下,将与所述关键字匹配的第一流表项写入流表缓存,所述第一流表项被命中的频繁程度高于第一阈值。
[0009]在一种可能的实现方式中,所述根据所述关键字,在外存储单元中进行第二匹配查询,包括:
[0010]根据所述关键字,在第二外存储单元进行匹配查询;所述第二外存储单元用于存储在第二匹配查询中查找到的匹配流表项;
[0011]在第二外存储单元中未查询到匹配的流表项的情况下,根据所述关键字,在第一外存储单元进行匹配查询,以查询所述待转发数据包对应的匹配流表项;所述第一外存储单元用于存储中央处理器CPU下发的流表项,所述第一外存储单元的读写方式为CPU通过执行软件指令读写;
[0012]将第一外存储单元中与所述关键字匹配的流表项写入第二外存储单元;所述第二外存储单元的读写方式为通过读写控制器直接读写。
[0013]在一种可能的实现方式中,所述写入的模式包括:即时写入模式或延迟写入模式,在所述第二匹配查询查询到匹配流表项的情况下,将与所述关键字匹配的第一流表项写入
流表缓存,包括:
[0014]在所述即时写入模式下,将所述第一流表项写入流表缓存;
[0015]在所述延迟写入模式下,确定所述第一流表项的活跃状态,将活跃状态为有效状态的第一流表项写入流表缓存,所述有效状态表征所述流表项被匹配命中的频繁程度高于所述第一阈值。
[0016]在一种可能的实现方式中,所述方法还包括:
[0017]获取所述第一流表项第n次被命中的时间和第n+1次被命中的时间;其中n≥1,且n为整数;
[0018]确定所述第一流表项第n+1次被命中的时间和第n次被命中的时间的时间差;
[0019]若所述时间差小于第一时间阈值,确定所述第一流表项的活跃状态为有效状态。
[0020]在一种可能的实施方式中,所述活跃状态包括:有效状态和无效状态;所述第一流表项的活跃状态初始值为无效状态。
[0021]在一种可能的实施方式中,确定所述第一流表项第n+1次被命中的时间和第n次被命中的时间的时间差,包括:
[0022]获取所述第一流表项第n次被命中后的系统时间;
[0023]根据所述第一流表项第n次被命中后的系统时间更新时间戳;所述时间戳的初始值为0;
[0024]获取所述第一流表项第n+1次被命中后的系统时间;
[0025]根据所述第一流表项第n+1次被命中后的系统时间和所述时间戳,获得所述时间差。
[0026]在一种可能的实施方式中,在根据待转发数据包的关键字,在流表缓存中进行第一匹配查询,以查询所述待转发数据包对应的匹配流表项后,还包括:
[0027]若有匹配流表项,将所述匹配流表项作为查询结果输出;
[0028]在所述根据所述关键字,在第一外存储单元进行匹配查询后,还包括:
[0029]若无匹配流表项,启动异常处理。
[0030]根据本公开的一方面,提供了一种发流表加速装置,包括:
[0031]第一匹配查询单元,用于根据待转发数据包的关键字,在流表缓存中进行第一匹配查询,以查询所述待转发数据包对应的匹配流表项,所述流表缓存为静态随机存储器;
[0032]第二匹配查询单元,用于在所述第一匹配查询未查询到匹配流表项的情况下,根据所述关键字,在外存储单元中进行第二匹配查询,以查询所述待转发数据包对应的匹配流表项;
[0033]流表缓存读写单元,用于在所述第二匹配查询查询到匹配流表项的情况下,将与所述关键字匹配的第一流表项写入流表缓存,所述第一流表项被命中的频繁程度高于第一阈值。
[0034]在一种可能的实现方式中,所述第二匹配查询单元,包括:
[0035]第二外存储匹配查询单元,用于根据所述关键字,在第二外存储单元进行匹配查询;所述第二外存储单元用于存储在第二匹配查询中查找到的匹配流表项;
[0036]第一外存储匹配查询单元,用于在第二外存储单元中未查询到匹配的流表项的情况下,根据所述关键字,在第一外存储单元进行匹配查询,以查询所述待转发数据包对应的
匹配流表项;所述第一外存储单元用于存储中央处理器CPU下发的流表项,所述第一外存储单元的读写方式为CPU通过执行软件指令读写;
[0037]第二外存储读写单元,用于将第一外存储单元中与所述关键字匹配的流表项写入第二外存储单元;所述第二外存储单元的读写方式为通过读写控制器直接读写。
[0038]在一种可能的实现方式中,所述写入的模式包括:即时写入模式或延迟写入模式,所述流表缓存读写单元,包括:
[0039]流表缓存第一读写子单元,用于在所述即时写入模式下,将所述第一流表项写入流表缓存;
[0040]流表缓存第二读写子单元,用于确定所述第一流表项的活跃状态,将活跃状态为有效状态的第一流表项写入流表缓存,所述有效状态表征所述流表项被匹配命中的频繁程度高于所述第一阈值。
[0041]在一种可能的实现方式中,所述装置还包括:
[0042]第一命中时间获取单元,用于获取所述第一流表项第n次被命中的时间和第n+1次被命中的时间;其中n≥1,且n为整数;
[0043]时间差获取单元,用于确定所述第一流表项第n+1次被命中的时间和第n次被命中的时间的时间差;
...

【技术保护点】

【技术特征摘要】
1.一种转发流表加速方法,其特征在于,包括:根据待转发数据包的关键字,在流表缓存中进行第一匹配查询,以查询所述待转发数据包对应的匹配流表项,所述流表缓存为静态随机存储器;在所述第一匹配查询未查询到匹配流表项的情况下,根据所述关键字,在外存储单元中进行第二匹配查询,以查询所述待转发数据包对应的匹配流表项;在所述第二匹配查询查询到匹配流表项的情况下,将与所述关键字匹配的第一流表项写入流表缓存,所述第一流表项被命中的频繁程度高于第一阈值。2.根据权利要求1所述的方法,其特征在于,所述根据所述关键字,在外存储单元中进行第二匹配查询,包括:根据所述关键字,在第二外存储单元进行匹配查询;所述第二外存储单元用于存储在第二匹配查询中查找到的匹配流表项;在第二外存储单元中未查询到匹配的流表项的情况下,根据所述关键字,在第一外存储单元进行匹配查询,以查询所述待转发数据包对应的匹配流表项;所述第一外存储单元用于存储中央处理器CPU下发的流表项,所述第一外存储单元的读写方式为CPU通过执行软件指令读写;将第一外存储单元中与所述关键字匹配的流表项写入第二外存储单元;所述第二外存储单元的读写方式为通过读写控制器直接读写。3.根据权利要求1所述的方法,其特征在于,所述写入的模式包括:即时写入模式或延迟写入模式,在所述第二匹配查询查询到匹配流表项的情况下,将与所述关键字匹配的第一流表项写入流表缓存,包括:在所述即时写入模式下,将所述第一流表项写入流表缓存;在所述延迟写入模式下,确定所述第一流表项的活跃状态,将活跃状态为有效状态的第一流表项写入流表缓存,所述有效状态表征所述流表项被匹配命中的频繁程度高于所述第一阈值。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:获取所述第一流表项第n次被命中的时间和第n+1次被命中的时间;其中n≥1,且n为整数;确定所述第一流表项第n+1次被命中的时间和第n次被命中的时间的时间差;若所述时间差小于第一时间阈值,确定所述...

【专利技术属性】
技术研发人员:袁光黄益人
申请(专利权)人:益思芯科技上海有限公司
类型:发明
国别省市:

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

1