一种通信设备及其FIB表生成方法技术

技术编号:15987767 阅读:60 留言:0更新日期:2017-08-12 07:05
本发明专利技术提供一种通信设备及其FIB表生成方法,该方法包括:当需要生成目标FIB表,且所述目标FIB表指向多个下一跳时,判断是否存在可用的ECMP资源以及可用的ECMP对应的FEC资源;若存在可用的ECMP资源以及可用的ECMP对应的FEC资源,则生成所述目标FIB表并同步到转发芯片;若不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源,则从所述多个下一跳中选择一个或多个目标下一跳,并分别生成指向各目标下一跳的FIB表并同步到转发芯片。应用本发明专利技术实施例可以提高FIB表生成成功的概率。

【技术实现步骤摘要】
一种通信设备及其FIB表生成方法
本专利技术涉及网络通信
,尤其涉及一种通信设备及其FIB表生成方法。
技术介绍
FIB(ForwardingInformationBase,转发信息库)表用于指导IP(InternetProtocol,互联网协议)报文转发。路由器通过路由表选择路由,把优选路由下发到FIB表中,进而,路由器可以通过FIB表指导IP报文转发。其中,FIB表中每条转发表项都指明了要到达某子网或某主机的报文的下一跳IP地址以及出接口。FIB表通常指向单个下一跳,但当存在多条目的地址相同且开销相同的路由,且该多条路由的优先级均相同时,该多条路由会被以ECMP(Equal-CostMultipath,等价路径)的形式下发到FIB表中。在该情况下,FIB表会指向多个下一跳。在进行FIB表生成时,会在FEC(ForwardingEquivalencyClass,转发等价类)资源池中预留专门的FEC资源(本文中称为ECMP对应的FEC资源)用于指向多个下一跳的FIB表的生成。当ECMP资源不足或ECMP对应的FEC资源不足时,指向多个下一跳的FIB表将会生成失败。
技术实现思路
本专利技术的目的在于提供一种通信设备及其FIB表生成方法,以避免在ECMP资源不足或/和ECMP对应的FEC资源不足时,指向多个下一跳的FIB表生成失败。为实现上述目的,本专利技术提供一种FIB表生成方法,包括:当需要生成目标FIB表,且所述目标FIB表指向多个下一跳时,判断是否存在可用的等价路径ECMP资源以及可用的ECMP对应的FEC资源;若存在可用的ECMP资源以及可用的ECMP对应的FEC资源,则生成所述目标FIB表并同步到转发芯片;若不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源,则从所述多个下一跳中选择一个或多个目标下一跳,并分别生成指向各目标下一跳的FIB表并同步到转发芯片;其中,目标下一跳的数量小于等于所述多个下一跳的数量。为实现上述目的,本专利技术还提供一种通信设备,该通信设备具有转发信息库FIB表生成装置,该转发信息库FIB表生成装置可集成于该通信设备的中央处理单元,FIB表生成装置,包括:判断模块,用于当需要生成目标FIB表,且所述目标FIB表指向多个下一跳时,判断是否存在可用的等价路径ECMP资源以及可用的ECMP对应的转发等价类FEC资源;生成模块,用于若存在可用的ECMP资源以及可用的ECMP对应的FEC资源,则生成所述目标FIB表并同步到转发芯片;降级处理模块,用于若不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源,则从所述多个下一跳中选择一个或多个目标下一跳;其中,目标下一跳的数量小于等于所述多个下一跳的数量;所述生成模块,还用于分别生成指向各目标下一跳的FIB表并同步到转发芯片。应用本专利技术实施例,当需要生成目标FIB表,且所述目标FIB表指向多个下一跳时,判断是否存在可用的ECMP资源以及可用的ECMP对应的FEC资源,若存在可用的ECMP资源以及可用的ECMP对应的FEC资源,则生成所述目标FIB表并同步到转发芯片;若不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源,则从多个下一跳中选择一个或多个目标下一跳,并分别生成指向各目标下一跳的FIB表并同步到转发芯片,通过在系统资源不足于生成指向多个下一跳的FIB表时,将该指向多个下一跳的FIB表降级为指向单个下一跳的FIB表进行生成,提高FIB表生成成功的概率,减少由于FIB表生成失败导致的流量中断的情况发生。附图说明图1是本专利技术实施例提供的一种FIB表生成方法的流程示意图;图2是本专利技术实施例提供的一种FIB表生成装置的结构示意图;图3是本专利技术实施例提供的另一种FIB表生成装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例中技术方案作进一步详细的说明。请参见图1,为本专利技术实施例提供的一种FIB表生成方法的流程示意图,如图1所示,该方法可以包括以下步骤:需要说明的是,步骤101~步骤102的执行主体可以为交换机或路由器等网络通信设备的中央处理单元,为便于描述,以下以步骤101~步骤104的执行主体为路由器的中央处理单元为例进行说明。步骤101、当需要生成目标FIB表,且目标FIB表指向多个下一跳时,判断是否存在可用的ECMP资源以及可用的ECMP对应的FEC资源;若是,转至步骤102;否则,转至步骤103。本专利技术实施例中,目标FIB表并不特指某一固定的FIB表,而是可以指代路由器需要生成的任一FIB表,本专利技术后续不再复述。本专利技术实施例中,当路由器需要生成目标FIB表时,路由器可以先确定目标FIB表是指向单个下一跳,还是指向多个下一跳。当目标FIB表指向多个下一跳时,路由器需要先判断是否存在可用的ECMP资源以及可用的ECMP对应的FEC资源,以确定是否能够生成该指向多个下一跳的目标FIB表。值得说明的是,在本专利技术实施例中,FEC为一种表项名称,FEC表项的内容为出端口、出VLAN(VirtualLocalAreaNetwork,虚拟局域网)、MAC(MediaAccessControl,媒体访问控制)地址(包括源MAC地址和目的MAC地址)等信息。此外,是否存在可用的资源是指是否存在足够多的空闲的资源,以ECMP资源为例,判断是否存在可用的ECMP资源是指判断是否存在空闲的ECMP资源,以及空闲的ECMP资源是否足以用于指向多个下一跳的FIB表的生成,若存在空闲的ECMP资源,且该空闲的ECMP资源足以用于指向多个下一跳的FIB表的生成,则确定存在可用ECMP资源;若不存在空闲的ECMP资源,或者,存在空闲的ECMP资源,但该空闲的ECMP资源不足于用于指向多个下一跳的FIB表的生成,则确定不存在可用ECMP资源,其它资源同理可知,本专利技术实施例后续不再复述。步骤102、生成该目标FIB表并同步到转发芯片。本专利技术实施例中,当路由器确定存在可用的ECMP资源以及可用的ECMP对应的FEC资源时,路由器可以直接生成该目标FIB表(指向多个下一跳)并同步到转发芯片,确定目标FIB表生成成功。步骤103、从多个下一跳中选择一个或多个目标下一跳,并分别生成指向各目标下一跳的FIB表并同步到转发芯片;其中,目标下一跳的数量小于等于该多个下一跳的数量。本专利技术实施例中,当路由器确定不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源时,路由器可以确定当前无法成功生成指向多个下一跳的目标FIB表。本专利技术实施例中,考虑到FIB表生成失败时,会导致FIB流量不通,进而会影响相关业务正常运行,因此,当路由器确定当前无法生成指向多个下一跳的FIB表时,路由器并不会直接确定FIB表生成失败,而是可以先尝试对该指向多个下一跳的FIB进行降级生成,即将指向多个下一跳的FIB表转换为指向单个下一跳的FIB表的形式,并尝试生成指向单个下一跳的FIB表。相应地,在本专利技术实施例中,当路由器确定不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源时,路由器可以从该目标FIB表指向的多个下一跳中选择一个或多个作为目标下一跳本文档来自技高网
...
一种通信设备及其FIB表生成方法

【技术保护点】
一种转发信息库FIB表生成方法,应用于通信设备的中央处理单元,其特征在于,该方法包括:当需要生成目标FIB表,且所述目标FIB表指向多个下一跳时,判断是否存在可用的等价路径ECMP资源以及可用的ECMP对应的转发等价类FEC资源;若存在可用的ECMP资源以及可用的ECMP对应的FEC资源,则生成所述目标FIB表并同步到转发芯片;若不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源,则从所述多个下一跳中选择一个或多个目标下一跳,并分别生成指向各目标下一跳的FIB表并同步到转发芯片;其中,目标下一跳的数量小于等于所述多个下一跳的数量。

【技术特征摘要】
1.一种转发信息库FIB表生成方法,应用于通信设备的中央处理单元,其特征在于,该方法包括:当需要生成目标FIB表,且所述目标FIB表指向多个下一跳时,判断是否存在可用的等价路径ECMP资源以及可用的ECMP对应的转发等价类FEC资源;若存在可用的ECMP资源以及可用的ECMP对应的FEC资源,则生成所述目标FIB表并同步到转发芯片;若不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源,则从所述多个下一跳中选择一个或多个目标下一跳,并分别生成指向各目标下一跳的FIB表并同步到转发芯片;其中,目标下一跳的数量小于等于所述多个下一跳的数量。2.根据权利要求1所述的方法,其特征在于,当需要生成指向多个下一跳的目标FIB表,且不存在可用的ECMP资源或/和可用的ECMP对应的FEC资源时,所述方法还包括:记录所述目标FIB表降级的原因;若所述目标FIB表降级的原因为不存在可用的ECMP资源,则当重新存在可用的ECMP资源时,重新生成所述目标FIB表;若所述目标FIB表降级的原因为不存在可用的ECMP对应的FEC资源,则当重新存在可用的ECMP对应的FEC资源时,重新生成所述目标FIB表;若所述目标FIB表降级的原因为不存在可用的ECMP资源以及可用的ECMP对应的FEC资源,则当重新存在可用的ECMP资源以及可用的ECMP对应的FEC资源时,重新生成所述目标FIB表。3.根据权利要求1所述的方法,其特征在于,所述从所述多个下一跳中选择一个或多个目标下一跳,包括:随机从所述多个下一跳中选择一个或多个目标下一跳;或,按照对应的带宽从高到低的顺序从所述多个下一跳中选择一个或多个下一跳为目标下一跳;或,按照对应的链路带宽占用率从低到高的顺序从所述多个下一跳中选择一个或多个下一跳为目标下一跳。4.根据权利要求1所述的方法,其特征在于,所述分别生成指向各目标下一跳的FIB表,包括:对于指向任一目标下一跳的FIB表,判断FEC资源池中是否存在可用FEC资源;若存在,则生成指向该目标下一跳的FIB表;否则,确定指向该目标下一跳的FIB表生成失败。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当需要生成目标FIB表,且FEC资源池中不存在可用FEC资源时,确定所述目标FIB表生成失败,并记录所述目标FIB表生成失败的原因为FEC资源池中不存在可用FEC资源;当所述FEC资源池中重新存在可用FEC资源时,重新生成所述目标FIB表。6.一种通信...

【专利技术属性】
技术研发人员:李华舟
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1