一种报文关键字匹配方法、装置、设备及存储介质制造方法及图纸

技术编号:38239021 阅读:13 留言:0更新日期:2023-07-25 18:03
本发明专利技术公开了一种报文关键字匹配方法、装置、设备及存储介质。该方法包括:获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置;根据关键字起始位置、预设窗口范围和预设最大关键字长度对待匹配报文进行重编码,确定重编码报文;将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;其中,关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,第一关键字匹配规则和第二关键字匹配规则的掩码规则不同;重编码报文的编码格式与关键字匹配规则的编码格式相同。通过采用上述技术方案,避免了针对不同类型匹配规则的多次待匹配报文发送,且可避免规则匹配异常,提升了报文关键字匹配效率。字匹配效率。字匹配效率。

【技术实现步骤摘要】
一种报文关键字匹配方法、装置、设备及存储介质


[0001]本专利技术涉及网络数据处理
,尤其涉及一种报文关键字匹配方法、装置、设备及存储介质。

技术介绍

[0002]现有网络数据流量处理设备中,常利用三态内容寻址存储器芯片(Ternary Content Addressable Memory,TCAM)对网络数据报文进行浮动规则匹配。而随着具备关键字筛选需求的网络流量日益增加,对执行报文关键字匹配的设备的功能和性能要求也不断提升,在设备性能有限的基础上尽可能提升匹配效率。
[0003]目前利用TCAM技术实现的网络数据报文匹配,主要存在两种匹配形式:全包浮动规则匹配和窗口浮动规则匹配,可分别支持网络数据报文关键字匹配的不同需求。
[0004]然而,由于两种匹配规则的执行方式不同,为执行不同匹配规则输入至TCAM中进行匹配的报文表现形式应不同。若对两种匹配规则采用相同的报文输入,则可能出现待匹配报文的起点在窗口范围内而结束值位于窗口范围外的情况。且一般情况下一个报文关键字匹配设备仅会存储一种类型的匹配规则,以保证报文匹配的正确率,若需进行不同匹配规则的报文匹配,则需通过两次查找TCAM的方式实现,降低了报文关键字匹配的效率。

技术实现思路

[0005]本专利技术提供了一种报文关键字匹配方法、装置、设备及存储介质,可通过一次报文发送实现不同关键字匹配规则的匹配,且可避免规则匹配异常,提升了报文关键字匹配效率。
[0006]第一方面,本专利技术实施例提供了一种报文关键字匹配方法,包括:
[0007]获取待匹配报文,并通过布隆预测确定待匹配报文中的关键字起始位置;
[0008]根据关键字起始位置、预设窗口范围和预设最大关键字长度对待匹配报文进行重编码,确定重编码报文;
[0009]将重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;
[0010]其中,关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,第一关键字匹配规则和第二关键字匹配规则的掩码规则不同;重编码报文的编码格式与关键字匹配规则的编码格式相同。
[0011]可选的,根据关键字起始位置和预设窗口范围对待匹配报文进行重编码,确定重编码报文,包括:
[0012]将待匹配报文中以关键字起始位置为首字节,长度为预设最大关键字长度的报文确定为目标报文;
[0013]根据关键字起始位置、预设窗口范围和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文;
[0014]将目标报文与范围位图报文相结合,确定为重编码报文。
[0015]上述技术方案通过待匹配关键字在待匹配报文中的起始位置,预设窗口范围,确定需要进行匹配的报文,同时对确定出的报文进行重编码,使其与预先下发的关键字匹配规则结构相同,由于本专利技术实施例中对不同类型的关键字匹配规则的编码格式进行了统一,使得重编码后的重编码报文可直接与关键字匹配规则进行匹配,避免了针对不同类型匹配规则的多次待匹配报文发送。
[0016]可选的,根据关键字起始位置、预设窗口范围和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文,包括:
[0017]若关键字起始位置位于预设窗口范围之外,则生成长度为预设最大关键字长度,且各范围位图均被置位为一的范围位图报文;
[0018]若关键字起始位置位于预设窗口范围之内,则根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置确定起始范围位图,根据起始范围位图和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文。
[0019]上述技术方案通过关键字起始位置与预设窗口范围的关系,对应设置用于掩码计算的范围位图报文,通过范围位图报文表明待匹配报文中关键字被匹配的可行性,避免因窗口范围超出而导致的规则匹配异常,提升了报文匹配的准确性和匹配效率。
[0020]可选的,根据关键字起始位置、预设最大关键字长度和预设窗口范围的窗口结束位置确定起始范围位图,包括:
[0021]将窗口结束位置与关键字起始位置之差确定为第一差值;
[0022]将预设最大关键字长度与第一差值之差确定为第二差值,并将第二差值加一确定为起始范围位图。
[0023]上述技术方案明确了起始范围位图的确定方式,以通过标明起始范围位图的方式对重编码报文的掩码进行设置,进以明确待匹配报文中待匹配关键字是否可被后续匹配规则命中,提升了报文匹配的准确性和匹配效率。
[0024]可选的,根据起始范围位图和预设最大关键字长度,生成长度为预设最大关键字长度的范围位图报文,包括:
[0025]若起始范围位图大于预设最大关键字长度,则生成长度为预设最大关键字长度,且各范围位图均被置位为零的范围位图报文;
[0026]否则,生成长度为预设最大关键字长度,起始范围位图被置位为一,其他范围位图均被置位为零的范围位图报文。
[0027]上述技术方案通过确定出的起始范围位图与预设最大关键字长度的关系,对重编码报文中各范围位图进行置位,明确待匹配报文中待匹配关键字是否可被后续匹配规则命中,提升了报文匹配的准确性和匹配效率。
[0028]可选的,在获取待匹配报文之前,还包括:
[0029]获取待匹配关键字和匹配规则类型;
[0030]根据待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建关键字匹配规则,并下发关键字匹配规则。
[0031]上述技术方案通过待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建编码格式一致的关键字匹配规则,由于对报文关键字匹配过程中的规则格式进行统一,仅通过设置不同的掩码规则实现规则命中的确定,使得不同匹配规
则类型可同时存储于同一设备,并可在一次待匹配报文发送中进行不同规则的命中。
[0032]可选的,根据待匹配关键字、待匹配关键字的关键字长度、匹配规则类型和预设最大关键字长度构建关键字匹配规则,包括:
[0033]构建包含待匹配关键字,长度为预设最大关键字长度的规则关键字报文;
[0034]若匹配规则类型为全包匹配规则类型,则构建长度为预设最大关键字长度的第一规则范围位图报文,并将第一规则范围位图报文中各第一规则范围位图置位为掩码不关心;
[0035]若匹配规则类型为窗口匹配规则类型,则根据待匹配关键字的关键字长度和预设最大关键字长度确定关键字不可至范围,并根据关键字不可至范围构建长度为预设最大关键字长度的第二规则范围位图报文;其中,第二规则范围位图报文中与关键字不可至范围对应的各第二规则范围位图被置位为零且掩码关心,其余第二规则范围位图被置位为掩码不关心;
[0036]将规则关键字报文与第一规则范围位图报文相结合,确定为第一关键字匹配规则;
[0037]将规则关键字报文与第二规则范围位图报文相结合,确定为第二关键字匹配规则。
[0038]上述技术方案通过对关键字匹配规本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种报文关键字匹配方法,其特征在于,包括:获取待匹配报文,并通过布隆预测确定所述待匹配报文中的关键字起始位置;根据所述关键字起始位置、预设窗口范围和预设最大关键字长度对所述待匹配报文进行重编码,确定重编码报文;将所述重编码报文与预下发的关键字匹配规则进行匹配,生成关键字匹配结果;其中,所述关键字匹配规则为第一关键字匹配规则和第二关键字匹配规则中的至少一种,所述第一关键字匹配规则和所述第二关键字匹配规则的掩码规则不同;所述重编码报文的编码格式与所述关键字匹配规则的编码格式相同。2.根据权利要求1所述的方法,其特征在于,所述根据所述关键字起始位置和预设窗口范围对所述待匹配报文进行重编码,确定重编码报文,包括:将所述待匹配报文中以所述关键字起始位置为首字节,长度为所述预设最大关键字长度的报文确定为目标报文;根据所述关键字起始位置、所述预设窗口范围和所述预设最大关键字长度,生成长度为所述预设最大关键字长度的范围位图报文;将所述目标报文与所述范围位图报文相结合,确定为重编码报文。3.根据权利要求2所述的方法,其特征在于,所述根据所述关键字起始位置、所述预设窗口范围和所述预设最大关键字长度,生成长度为所述预设最大关键字长度的范围位图报文,包括:若所述关键字起始位置位于所述预设窗口范围之外,则生成长度为所述预设最大关键字长度,且各范围位图均被置位为一的范围位图报文;若所述关键字起始位置位于所述预设窗口范围之内,则根据所述关键字起始位置、所述预设最大关键字长度和所述预设窗口范围的窗口结束位置确定起始范围位图,根据所述起始范围位图和所述预设最大关键字长度,生成长度为所述预设最大关键字长度的范围位图报文。4.根据权利要求3所述的方法,其特征在于,所述根据所述关键字起始位置、所述预设最大关键字长度和所述预设窗口范围的窗口结束位置确定起始范围位图,包括:将所述窗口结束位置与所述关键字起始位置之差确定为第一差值;将所述预设最大关键字长度与所述第一差值之差确定为第二差值,并将所述第二差值加一确定为起始范围位图。5.根据权利要求3所述的方法,其特征在于,所述根据所述起始范围位图和所述预设最大关键字长度,生成长度为所述预设最大关键字长度的范围位图报文,包括:若所述起始范围位图大于所述预设最大关键字长度,则生成长度为所述预设最大关键字长度,且各范围位图均被置位为零的范围位图报文;否则,生成长度为所述预设最大关键字长度,所述起始范围位图被置位为一,其他范围位图均被置位为零的范围位图报文。6.根据权利要求1所述的方法,其特征在于,在所述获取待匹配报文之前,还包括:获取待匹配关键字和匹配规则类型;根据所述待匹配关键字、所述待匹配关键字的关键字长度、所述匹配规则类型和所述预设最大关...

【专利技术属性】
技术研发人员:金良辰石娜何晓航
申请(专利权)人:曙光网络科技有限公司
类型:发明
国别省市:

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

1