一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种报文处理方法及装置与流程

2022-06-08 09:12:59 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种报文处理方法及装置。


背景技术:

2.在支持转发板主备备份的路由设备中,处于主用状态的转发板与处于备用状态的转发板之间的数据等都是实时备份的,这样一来,在处于主用状态的转发板发生故障情况下,可以及时实现转发板的主备倒换,从而实现业务快速备份切换,进而可以提高相关业务的可靠性。
3.在上述路由设备处理双向转发检测(bidirectional forwarding detection,bfd)业务的场景下,上述路由设备中的任一子卡在接收到对端路由设备发送的bfd报文时,会复制一份;并且,该子卡会将这两份bfd报文分别发送给处于主用状态的转发板和处于备用状态的转发板。
4.处于主用状态的转发板和处于备用状态的转发板中的相关转发芯片在接收到该子卡发送的bfd报文后,会将其发送给与各自进行通信的交换芯片,由相应的交换芯片判断接收到的bfd报文是否命中隔离表项,并在判断结果为是时,丢弃相应的bfd报文,在判断结果为否时,继续将相应的bfd报文通过上述路由设备中的主用主控板中的交换芯片发送至该主用主控板中的中央处理器(central processing unit,cpu)进行处理。
5.在这里,在相应的交换芯片为处于主用状态的转发板中的交换芯片时,上述判断结果为否;在相应的交换芯片为处于备用状态的转发板中的交换芯片时,上述判断结果为是。
6.但是,在上述路由设备中的转发板发生主备倒换时,均需要刷新相应的隔离表项,由于刷新任务无法保证在相应bfd会话的超时时间内完成,所以容易出现上述cpu在超时时间到达时还未接收到新的处于主用状态的转发板发送的相应的bfd报文的情形,从而产生会话震荡问题,进而影响bfd检测结果。


技术实现要素:

7.为克服相关技术中存在的问题,本技术提供了一种报文处理方法及装置。
8.根据本技术实施例的第一方面,提供一种报文处理方法,所述方法应用于路由设备中的主用主控板中的cpu,所述方法包括:
9.在接收到bfd报文时,从所述bfd报文中获取所述路由设备中发送所述bfd报文的转发板的槽位信息;
10.获取所述槽位信息对应的转发板的主备状态;
11.在获取到的主备状态为主用状态时,对所述bfd报文进行处理;
12.在获取到的主备状态为备用状态时,丢弃所述bfd报文。
13.根据本技术实施例的第二方面,提供一种报文处理装置,所述装置应用于路由设备中的主用主控板中的cpu,所述装置包括:
14.第一获取模块,用于在接收到双向转发检测bfd报文时,从所述bfd报文中获取所述路由设备中发送所述bfd报文的转发板的槽位信息;
15.第二获取模块,用于获取所述槽位信息对应的转发板的主备状态;
16.处理模块,用于在所述第二获取模块获取到的主备状态为主用状态时,对所述bfd报文进行处理;在所述第二获取模块获取到的主备状态为备用状态时,丢弃所述bfd报文。
17.本技术的实施例提供的技术方案可以包括以下有益效果:
18.在本技术实施例中,对于路由设备中的任一转发板而言,不管是处于主用状态,还是处于备用状态,均将接收到的bfd报文发送给路由设备中的主用主控板中的cpu,也即,该转发板中的交换芯片侧不再配置相关隔离表项;后续由该cpu从接收到的bfd报文中获取路由设备中发送bfd报文的转发板的槽位信息,并且该cpu还进一步获取该槽位信息对应的转发板的主备状态;在获取到的主备状态为主用状态时,该cpu对bfd报文进行处理;在获取到的主备状态为备用状态时,该cpu丢弃bfd报文。
19.这样一来,在路由设备中的转发板发生主备倒换的情形下,不再需要刷新隔离表项,仍然正常地发送bfd报文即可,最终由路由设备中的主用主控板中的cpu决策是继续处理相关bfd报文,还是丢弃相关bfd报文,这就避免了产生会话震荡问题,还进一步保证了bfd检测结果。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
21.此处的附图被并入说明书中并构成本技术的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
22.图1为本技术实施例提供的一种报文处理方法的流程示意图;
23.图2为本技术实施例提供的bfd报文的传输路径示意图;
24.图3为本技术实施例提供的一种报文处理装置的结构示意图。
具体实施方式
25.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
26.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
27.接下来对本技术实施例进行详细说明。
28.本技术实施例提供了一种报文处理方法,该方法应用于路由设备中的主用主控板中的cpu,如图1所示,该方法可以包括如下步骤:
29.s11、在接收到bfd报文时,从bfd报文中获取路由设备中发送bfd报文的转发板的
槽位信息。
30.s12、获取槽位信息对应的转发板的主备状态。
31.s13、在获取到的主备状态为主用状态时,对bfd报文进行处理。
32.s14、在获取到的主备状态为备用状态时,丢弃bfd报文。
33.具体地,在上述步骤s11中,cpu在从bfd报文中获取路由设备中发送bfd报文的转发板的槽位信息时,可以从bfd报文的报文头中提取源媒体访问控制(media access control,mac)地址,从源mac地址中获取路由设备中发送bfd报文的转发板的槽位信息。
34.在这里,上述源mac地址实际上指的是路由设备中发送bfd报文的转发板中的指定转发芯片的mac地址。
35.上述bfd报文实际上是前述的指定转发芯片在接收到路由设备中的接收到对端路由设备发送的原始bfd报文的子卡转发的该原始bfd报文时,为原始bfd报文封装包括有源mac地址(即,指定转发芯片的mac地址)和目的mac地址(即,路由设备中的主用主控板中的cpu的mac地址)的报文头之后,通过路由设备中的指定转发芯片所在的转发板中的交换芯片和路由设备中的主用主控板中的交换芯片发送过来的。
36.需要说明的是,上述指定转发芯片可以是np芯片等,并且,上述指定转发芯片是前述的子卡基于现有的决策策略决策出的,具体的决策过程为现有技术,在此不再详述。
37.更具体地,cpu在从源mac地址中获取路由设备中发送bfd报文的转发板的槽位信息时,可以从源mac地址中提取最后面的n个字符,将提取到的字符,确定为路由设备中发送bfd报文的转发板的槽位信息。
38.在这里,n的取值为正整数,例如,n的取值为2等。上述槽位信息可以为槽位号等。
39.当然,cpu还可以采用其他提取方式提取槽位信息,例如,cpu从源mac地址中提取最前面的m个字符等,其中,m的取值为正整数,在此不再一一列举。
40.具体地。在上述步骤s12中,cpu在获取槽位信息对应的转发板的主备状态时,可以从复杂可编程逻辑器件(complex programmable logic device,cpld)寄存器获取槽位信息对应的转发板的主备状态,具体的获取流程为现有技术,在此不再详述。
41.下面结合具体实施例对上述报文处理方法进行详细说明。
42.如图2所示,假设路由设备1中的转发板12对应的槽位号为01,此槽位号体现在转发板12中的np芯片121的mac地址中,例如,np芯片121的mac地址(例如,mac1)中的最后2个字符为01;假设路由设备1中的转发板13对应的槽位号为02,此槽位号体现在转发板13中的np芯片131的mac地址中,例如,np芯片131的mac地址(例如,mac2)中的最后2个字符为02。
43.假设路由设备1中的子卡11接收到路由设备2发送的bfd报文1,之后,子卡11复制一份bfd报文1,并将一份bfd报文1发送给np芯片121,将另一份bfd报文1发送给np芯片131。
44.np芯片121接收到bfd报文1之后,在bfd报文1中封装np报文头,得到bfd报文2,并将bfd报文2发送给交换芯片122,由交换芯片122通过主用主控板14中的交换芯片141发送给主用主控板14中的cpu142。在这里,bfd报文的np报文头中的源mac地址为mac1,目的mac地址为cpu142的mac地址。
45.np芯片131接收到bfd报文1之后,在bfd报文1中封装报文头(可以称为np报文头),得到bfd报文3,并将bfd报文3发送给交换芯片132,由交换芯片132通过主用主控板14中的交换芯片141发送给主用主控板14中的cpu142。在这里,bfd报文的np报文头中的源mac地址
为mac2,目的mac地址为cpu142的mac地址。
46.接下来,假设cpu142先接收到bfd报文2,后接收到bfd报文3。那么,cpu142在接收到bfd报文2之后,从bfd报文2的np报文头中的源mac地址中提取最后2个字符(即,01),将提取出的字符确定为发送bfd报文2的转发板的槽位号;由于01对应转发板12,所以,cpu可以知晓发送bfd报文2的转发板是转发板12,此时,cpu142进一步从cpld寄存器获取转发板12的主备状态,假设获取到的主备状态为主用状态,在这种情形下,cpu142对bfd报文2进行处理。在这里,cpu142在具体处理bfd报文2时,先将bfd报文2的np报文头删除,得到bfd报文1,然后再对bfd报文1进行处理。
47.cpu142在接收到bfd报文3之后,从bfd报文3的np报文头中的源mac地址中提取最后2个字符(即,02),将提取出的字符确定为发送bfd报文3的转发板的槽位号;由于02对应转发板13,所以,cpu可以知晓发送bfd报文3的转发板是转发板13,此时,cpu142进一步从cpld寄存器获取转发板13的主备状态,假设获取到的主备状态为备用状态,在这种情形下,cpu142丢弃bfd报文3。
48.由以上技术方案可以看出,在本技术实施例中,对于路由设备中的任一转发板而言,不管是处于主用状态,还是处于备用状态,均将接收到的bfd报文发送给路由设备中的主用主控板中的cpu,也即,该转发板中的交换芯片侧不再配置相关隔离表项;后续由该cpu从接收到的bfd报文中获取路由设备中发送bfd报文的转发板的槽位信息,并且该cpu还进一步获取该槽位信息对应的转发板的主备状态;在获取到的主备状态为主用状态时,该cpu对bfd报文进行处理;在获取到的主备状态为备用状态时,该cpu丢弃bfd报文。
49.这样一来,在路由设备中的转发板发生主备倒换的情形下,不再需要刷新隔离表项,仍然正常地发送bfd报文即可,最终由路由设备中的主用主控板中的cpu决策是继续处理相关bfd报文,还是丢弃相关bfd报文,这就避免了产生会话震荡问题,还进一步保证了bfd检测结果。
50.基于同一发明构思,本技术还提供了一种报文处理装置,所述装置应用于路由设备中的主用主控板中的cpu,其结构示意图如图3所示,具体包括:
51.第一获取模块31,用于在接收到双向转发检测bfd报文时,从所述bfd报文中获取所述路由设备中发送所述bfd报文的转发板的槽位信息;
52.第二获取模块32,用于获取所述槽位信息对应的转发板的主备状态;
53.处理模块33,用于在所述第二获取模块32获取到的主备状态为主用状态时,对所述bfd报文进行处理;在所述第二获取模块32获取到的主备状态为备用状态时,丢弃所述bfd报文。
54.优选地,所述第一获取模块31,具体包括:
55.提取单元(图3中未示出),用于从所述bfd报文的报文头中提取源mac地址,其中,所述源mac地址为所述路由设备中发送所述bfd报文的转发板中的指定转发芯片的mac地址;以及
56.获取单元(图3中未示出),用于从所述源mac地址中获取所述路由设备中发送所述bfd报文的转发板的槽位信息。
57.优选地,所述获取单元,具体用于:
58.从所述源mac地址中提取最后面的n个字符,其中,n的取值为正整数;
59.将提取到的字符,确定为所述路由设备中发送所述bfd报文的转发板的槽位信息。
60.优选地,所述第二获取模块32,具体用于:
61.从复杂可编程逻辑器件cpld寄存器获取所述槽位信息对应的转发板的主备状态。
62.优选地,所述指定转发芯片为np芯片。
63.由以上技术方案可以看出,在本技术实施例中,对于路由设备中的任一转发板而言,不管是处于主用状态,还是处于备用状态,均将接收到的bfd报文发送给路由设备中的主用主控板中的cpu,也即,该转发板中的交换芯片侧不再配置相关隔离表项;后续由该cpu从接收到的bfd报文中获取路由设备中发送bfd报文的转发板的槽位信息,并且该cpu还进一步获取该槽位信息对应的转发板的主备状态;在获取到的主备状态为主用状态时,该cpu对bfd报文进行处理;在获取到的主备状态为备用状态时,该cpu丢弃bfd报文。
64.这样一来,在路由设备中的转发板发生主备倒换的情形下,不再需要刷新隔离表项,仍然正常地发送bfd报文即可,最终由路由设备中的主用主控板中的cpu决策是继续处理相关bfd报文,还是丢弃相关bfd报文,这就避免了产生会话震荡问题,还进一步保证了bfd检测结果。
65.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献