一种HSR重复报文过滤表哈希桶满覆盖方法技术

技术编号:26307705 阅读:40 留言:0更新日期:2020-11-10 20:08
本发明专利技术公开了一种HSR重复报文过滤表哈希桶满覆盖方法,包括以下步骤:配置重复报文过滤表的老化周期T;且每隔一个老化周期T扫描一次,对重复报文过滤表中老化计数进行更新;当HSR节点接收到带hsr tag的报文时,以报文的源MAC地址为键值,查找重复报文过滤表,判断重复报文过滤表中是否存在该表项,若是,则更新重复报文过滤表项内容,否则进行重复报文过滤表学习;当重复报文过滤表学习时,检查表项哈希桶是否满,若是,则进行哈希桶满覆盖;当老化周期到时,若重复报文过滤表中存在表项有效位VALID等于1且老化计数等于0,则该表项老化。本发明专利技术实现了哈希桶满覆盖,减少了报文转发时出现重复报文的情况。

【技术实现步骤摘要】
一种HSR重复报文过滤表哈希桶满覆盖方法
本专利技术属于HSR重复报文处理领域,具体涉及一种HSR重复报文过滤表哈希桶满覆盖方法。
技术介绍
现有重复报文过滤表只描述了重复报文过滤表学习和更新滑动窗口的过程,没描述重复报文过滤表的老化过程以及重复报文过滤表哈希桶满该如何处理。本专利技术在同个在表项中添加hit_cnt和AGE_TIME来实现老化和哈希桶满覆盖,保证最大程度减少重复报文。
技术实现思路
针对现有技术中的上述不足,本专利技术提供的一种HSR重复报文过滤表哈希桶满覆盖方法解决了现有技术中存在的问题。为了达到上述专利技术目的,本专利技术采用的技术方案为:一种HSR重复报文过滤表哈希桶满覆盖方法,包括以下步骤:S1、配置重复报文过滤表的老化周期T;S2、通过HSR节点接收到带hsrtag的报文,以报文的源MAC地址为哈希键值查找重复报文过滤表,并判断是否命中重复报文过滤表,若是,则进入步骤S3,否则进入步骤S4;S3、更新重复报文过滤表中表项信息、命中老化计数AGE_TIME和表项命中次数HIT_CNT,并进入步骤S5;S4、进行重复报文过滤表学习,并判断重复报文过滤表哈希桶是否满,若是,则进行哈希桶满覆盖操作,并进入步骤S5,否则直接进入步骤S5;S5、每隔一个老化周期T扫描一次重复报文过滤表,当到达老化周期T时,判断重复报文过滤表中是否存在表项有效位VALID等于1且老化计数AGE_TIM等于0,若是,则进行老化操作,并结束,否则令老化计数AGE_TIM的计数值减一,并重复步骤S5。进一步地,所述步骤S1中重复报文过滤表包括RIGHT_WINDOW_B、RIGHT_WINDOW_A、SEQ_BITMAP_A、SEQ_BITMAP_B、SRC_PATHID、HIT_CNT、AGE_TIME、KEY和VALID;所述RIGHT_WINDOW_B表示重复报文过滤表滑动窗口B右边界,所述RIGHT_WINDOW_A表示重复报文过滤表滑动窗口A右边界,所述SEQ_BITMAP_A表示重复报文过滤表序列号窗口A,所述SEQ_BITMAP_B表示重复报文过滤表序列号窗口B,所述SRC_PATHID表示HSE端口的路径标识PATH_ID,所述HIT_CNT表示重复报文过滤表表项命中次数,所述AGE_TIME表示重复报文过滤表表项老化计数,所述KEY表示重复报文过滤表表项键值,所述VALID表示重复报文过滤表表项有效位。进一步地,所述步骤S3中更新重复报文过滤表中表项信息、命中老化计数AGE_TIME和表项命中次数HIT_CNT的具体方法为:根据报文携带的SEQ信息与RIGHT_WINDOW_X之间的关系,对SEQ_BITMAP_X和RIGHT_WINDOWS_X进行更新,且使命中次数HIT_CNT的计数值加一以及将AGE_TIME调整至最大;其中,通过HSR端口HSR_PORT_A接收的携带hsrtag的报文更新SEQ_BITMAP_A和RIGHT_WINDOW_A;通过HSR端口HSR_PORT_B接收的携带hsrtag的报文更新SEQ_BITMAP_B和RIGHT_WINDOW_B;通过内部链接INTERLINK接收的携带hsrtag的报文更新SEQ_BITMAP_X和RIGHT_WINDOW_X,X为A和B。进一步地,所述步骤S4中进行重复报文过滤表学习的具体方法为:将报文的源MAC地址、AGE_TIME、SRC_PATHID、SEQ_BIMAP_X、RIGHT_WINDOW_X学习到报文过滤表中,且令VALID=1、HIT_CNT=0以及AGE_TIME调整至其最大值;其中,将HSR端口HSR_PORT_A接收的携带hsrtag的报文学习至SEQ_BITMAP_A和RIGHT_WINDOW_A中;将HSR端口HSR_PORT_B接收的携带hsrtag的报文学习至SEQ_BITMAP_B和RIGHT_WINDOW_B中;将内部链接INTERLINK接收的携带hsrtag的报文分别学习至SEQ_BITMAP_X和RIGHT_WINDOW_X中,X为A和B。进一步地,所述步骤S4中进行哈希桶满覆盖的具体步骤为:A1、从哈希表索引bucke_index和哈希桶偏移量bucke_offset处取老化时间AGE_TIME和命中次数HIT_CNT,并使用老化时间AGE_TIME和命中次数HIT_CNT初始化最大命中次数MAX_HIT_CNT和最小老化时间MIN_AGE_TIME,且将最小桶偏移量MIN_OFFSET设置为0;A2、判断桶偏移量bucke_offset是否小于哈希桶深N,若是,则进入步骤A3,否则结束;A3、判断哈希表索引bucke_index和哈希桶偏移量bucke_offset处的命中次数HIT_CNT是否大于最大命中次数MAX_HIT_CNT,若是,则进入步骤A4,否则进入步骤A5;A4、将最大命中次数MAX_HIT_CNT更新为当前位置命中次数HIT_CNT的值,将最小老化时间MIN_AGE_TIME更新为当前位置老化时间AGE_TIME的值,将最小桶偏移量MIN_OFFSET更新为当前桶偏移量bucke_offset的值,令当前桶偏移量的值加一,且返回步骤A2;A5、判断当前位置命中次数HIT_CNT是否等于最大命中次数MAX_HIT_CNT,若是则进入步骤A6,否则不进行任何操作,并结束;A6、判断当前位置老化时间AGE_TIME是否小于最小老化时间MIN_AGE_TIME,若是,则进入步骤A7,否则不进行任何操作,并结束;A7、将最小老化时间MIN_AGE_TIME更新为当前位置老化时间AGE_TIME的值,将最小桶偏移量MIN_OFFSET更新为当前桶偏移量bucke_offset的值,并结束。本专利技术的有益效果为:(1)本专利技术所述方法通过重复报文过滤表学习以及重复报文过滤表滑动窗口更新,减少了HSR报文转发时出现重复报文的情况。(2)本专利技术通过添加HIT_CNT和AGE_TIME来实现老化和哈希桶满覆盖,减少了重复报文。附图说明图1为本专利技术提出的一种HSR重复报文过滤表哈希桶满覆盖方法流程图。具体实施方式下面对本专利技术的具体实施方式进行描述,以便于本
的技术人员理解本专利技术,但应该清楚,本专利技术不限于具体实施方式的范围,对本
的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本专利技术的精神和范围内,这些变化是显而易见的,一切利用本专利技术构思的专利技术创造均在保护之列。下面结合附图详细说明本专利技术的实施例。如图1所示,一种HSR重复报文过滤表哈希桶满覆盖方法,包括以下步骤:S1、配置重复报文过滤表的老化周期T;S2、通过HSR节点接收到带hsrtag的报文,以报文的源MAC地址为哈希键值查找重复报文过滤表,并判断是否命中重复报文过滤表,若是,则进入步骤S3,否则进入步本文档来自技高网
...

【技术保护点】
1.一种HSR重复报文过滤表哈希桶满覆盖方法,其特征在于,包括以下步骤:/nS1、配置重复报文过滤表的老化周期T;/nS2、通过HSR节点接收到带hsr tag的报文,以报文的源MAC地址为哈希键值查找重复报文过滤表,并判断是否命中重复报文过滤表,若是,则进入步骤S3,否则进入步骤S4;/nS3、更新重复报文过滤表中表项信息、命中老化计数AGE_TIME和表项命中次数HIT_CNT,并进入步骤S5;/nS4、进行重复报文过滤表学习,并判断重复报文过滤表哈希桶是否满,若是,则进行哈希桶满覆盖操作,并进入步骤S5,否则直接进入步骤S5;/nS5、每隔一个老化周期T扫描一次重复报文过滤表,当到达老化周期T时,判断重复报文过滤表中是否存在表项有效位VALID等于1且老化计数AGE_TIM等于0,若是,则进行老化操作,并结束,否则令老化计数AGE_TIM的计数值减一,并重复步骤S5。/n

【技术特征摘要】
1.一种HSR重复报文过滤表哈希桶满覆盖方法,其特征在于,包括以下步骤:
S1、配置重复报文过滤表的老化周期T;
S2、通过HSR节点接收到带hsrtag的报文,以报文的源MAC地址为哈希键值查找重复报文过滤表,并判断是否命中重复报文过滤表,若是,则进入步骤S3,否则进入步骤S4;
S3、更新重复报文过滤表中表项信息、命中老化计数AGE_TIME和表项命中次数HIT_CNT,并进入步骤S5;
S4、进行重复报文过滤表学习,并判断重复报文过滤表哈希桶是否满,若是,则进行哈希桶满覆盖操作,并进入步骤S5,否则直接进入步骤S5;
S5、每隔一个老化周期T扫描一次重复报文过滤表,当到达老化周期T时,判断重复报文过滤表中是否存在表项有效位VALID等于1且老化计数AGE_TIM等于0,若是,则进行老化操作,并结束,否则令老化计数AGE_TIM的计数值减一,并重复步骤S5。


2.根据权利要求1所述的HSR重复报文过滤表哈希桶满覆盖方法,其特征在于,所述步骤S1中重复报文过滤表包括RIGHT_WINDOW_B、RIGHT_WINDOW_A、SEQ_BITMAP_A、SEQ_BITMAP_B、SRC_PATHID、HIT_CNT、AGE_TIME、KEY和VALID;
所述RIGHT_WINDOW_B表示重复报文过滤表滑动窗口B右边界,所述RIGHT_WINDOW_A表示重复报文过滤表滑动窗口A右边界,所述SEQ_BITMAP_A表示重复报文过滤表序列号窗口A,所述SEQ_BITMAP_B表示重复报文过滤表序列号窗口B,所述SRC_PATHID表示HSE端口的路径标识PATH_ID,所述HIT_CNT表示重复报文过滤表表项命中次数,所述AGE_TIME表示重复报文过滤表表项老化计数,所述KEY表示重复报文过滤表表项键值,所述VALID表示重复报文过滤表表项有效位。


3.根据权利要求2所述的HSR重复报文过滤表哈希桶满覆盖方法,其特征在于,所述步骤S3中更新重复报文过滤表中表项信息、命中老化计数AGE_TIME和表项命中次数HIT_CNT的具体方法为:根据报文携带的SEQ信息与RIGHT_WINDOW_X之间的关系,对SEQ_BITMAP_X和RIGHT_WINDOWS_X进行更新,且使命中次数HIT_CNT的计数值加一以及将AGE_TIME调整至最大;
其中,通过HSR端口HSR_PORT_A接收的携带hsrtag的报文更新SEQ_BITMAP_A和RIGHT_WINDOW_A;通过HSR端口HSR_PORT_B接收的携带hsrtag的报文更新SEQ_BITMAP_B和RIGHT_WINDOW_B;通过内部链接INTERLINK接收的携带hsrtag...

【专利技术属性】
技术研发人员:李泽民詹晋川王宏波蔡平冯雪峰孙括
申请(专利权)人:深圳市风云实业有限公司
类型:发明
国别省市:广东;44

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

1