CN108259358B - 路由发布方法和装置 - Google Patents

路由发布方法和装置 Download PDF

Info

Publication number
CN108259358B
CN108259358B CN201710375325.1A CN201710375325A CN108259358B CN 108259358 B CN108259358 B CN 108259358B CN 201710375325 A CN201710375325 A CN 201710375325A CN 108259358 B CN108259358 B CN 108259358B
Authority
CN
China
Prior art keywords
route
issued
timer
period
bgp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710375325.1A
Other languages
English (en)
Other versions
CN108259358A (zh
Inventor
余清炎
谭智
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201710375325.1A priority Critical patent/CN108259358B/zh
Priority to US16/615,393 priority patent/US11310147B2/en
Priority to PCT/CN2018/087341 priority patent/WO2018214803A1/zh
Publication of CN108259358A publication Critical patent/CN108259358A/zh
Application granted granted Critical
Publication of CN108259358B publication Critical patent/CN108259358B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/023Delayed use of routing table updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/033Topology update or discovery by updating distance vector protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了路由发布方法和装置。本申请中,网络设备通过控制路由的发布速度,使得路由在发布之前成功下发至硬件,避免因为路由已发布但还未下发至硬件的情况,防止流量中断。

Description

路由发布方法和装置
技术领域
本申请涉及网络通信技术,特别涉及路由发布方法和装置。
背景技术
对于运行边界网关协议(BGP:Border Gateway Protocol)的网络设备(简称BGP设备),其在学习到BGP邻居发布的最优路由后,一方面将最优路由下发给硬件来指导流量转发,另一方面将最优路由发布给BGP邻居。
通常,BGP设备会先下发路由至硬件,下发成功后,再将该路由发布给邻居。但是,为了保持较高的性能,BGP设备并不会等待路由下发硬件成功后再进行路由发布,这样就会导致某些情况如路由量比较大等情况下,出现路由已发布给邻居,但还未下发至硬件的情况。
以图1所示的网络设备处理路由的时序图为例,如图1所示,网络设备已经将路由1_3发布给邻居,但是还没有下发至硬件,这时网络设备如果收到路由1_3的流量就会因为路由1_3没有下发至硬件而导致流量不通,出现短暂的流量中断。
发明内容
本申请提供了路由发布方法和装置,以实现网络设备先于成功下发路由至硬件之前发布该路由导致的流量中断。
本申请提供的技术方案包括:
一种路由发布方法,该方法应用于运行BGP的网络设备,包括:
接收到BGP邻居发布的路由时,将所述路由记录至待发布路由链表,并检查本设备的BGP状态;
若所述BGP状态指示为等待发布路由,则在设定时间后更新所述BGP状态,更新后的所述BGP状态指示为发布路由;
若所述BGP状态指示为发布路由,则发布所述待发布路由链表中的路由,并从所述待发布路由链表中删除已发布的路由。
一种路由发布装置,该装置应用于运行BGP的网络设备,包括:
路由接收模块,用于将接收的路由记录至待发布路由链表,并检查本设备的BGP状态;
路由发布控制模块,用于当路由接收模块检查出本设备的BGP状态指示为等待发布路由,则在设定时间后更新所述BGP状态,更新后的所述BGP状态指示为发布路由;当路由接收模块检查出本设备的BGP状态指示为发布路由,则发布所述待发布路由链表中的路由,并从所述待发布路由链表中删除已发布的路由。
由以上技术方案可以看出,本申请中,当网络设备接收到路由时,只有在本设备的BGP状态指示为发布路由时,才会发布待发布路由链表中的路由,而在本设备的BGP状态指示为等待发布路由时,则不发布路由,该不发布路由所维持的时间为上述的设定时间,这相比现有收到路由就发布的方案,能够控制路由的发布,以保证在路由发布前路由已成功下发至硬件,避免路由已发布但还未下发至硬件的情况,防止流量中断。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为网络设备处理路由的时序图;
图2为本申请提供的方法流程图;
图3为本申请提供的实施例流程图;
图4为本申请提供的应用组网示意图;
图5为本申请提供的流量回切示意图;
图6为本申请提供的装置结构图;
图7为本申请提供的装置的硬件结构图。
具体实施方式
在本申请中,控制路由发布,以保证路由在发布之前能够成功下发至硬件,避免路由已发布但还未下发至硬件的情况,防止流量中断。
下面为了使本申请的目的、技术方案和优点更加清楚,结合附图和具体实施例对本申请进行详细描述。
参见图2,图2为本申请提供的方法流程图。该流程应用于运行BGP的网络设备,具体实现时,该网络设备可为路由器、交换机、虚拟机、服务器、移动终端等可以运行BGP的设备。
如图2所示,该流程可包括以下步骤:
步骤201,接收到路由时,将路由记录至待发布路由链表,并检查本设备的BGP状态。
作为一个实施例,步骤201中还可进一步包括:将路由下发至硬件。这里,将路由下发至硬件与上述将路由记录至待发布链表是两个相互独立的过程,互不影响。
步骤202,若本设备的BGP状态指示为等待发布路由,则在设定时间后更新本设备的BGP状态,更新后的BGP状态指示为发布路由,若本设备的BGP状态指示为发布路由,则发布所述待发布路由链表中的路由,并从所述待发布路由链表中删除已发布的路由。
通过步骤202可以看出,本申请中,只有在本设备的BGP状态指示为发布路由时,才会发布待发布路由链表中的路由,而在本设备的BGP状态指示为等待发布路由时,则不发布路由,该不发布路由所维持的时间为上述的设定时间,这相比现有收到路由就发布的方案,能够控制路由的发布,以保证在路由发布前路由已成功下发至硬件,避免路由已发布但还未下发至硬件的情况,防止流量中断。
在本申请中,作为一个实施例,上述步骤202中在设定时间后更新所述BGP状态具体包括:
步骤a1,判断是否启动了本设备对应的等待发布定时器(WAIT-TIMER);如果是,执行步骤a2,如果否,执行步骤a3。
步骤a2,等待所述WAIT-TIMER超时,在WAIT-TIMER超时时更新本设备的BGP状态。
也就是说,当步骤a1判断出本设备对应的WAIT-TIMER启动时,本步骤a2中要等待WAIT-TIMER超时,当WAIT-TIMER超时时,更新本设备的BGP状态,更新后的所述BGP状态指示为发布路由。
步骤a3,启动本设备对应的WAIT-TIMER,并等待启动的WAIT-TIMER超时,在WAIT-TIMER超时时更新本设备的BGP状态。
也就是说,当步骤a1判断出本设备对应的WAIT-TIMER未启动时,本步骤a3中,要启动本设备对应的WAIT-TIMER,并等待WAIT-TIMER超时,当WAIT-TIMER超时时,更新本设备的BGP状态,更新后的所述BGP状态指示为发布路由。
通过步骤a1至步骤a3可以看出,若本设备的BGP状态指示为等待发布路由,则控制待发布路由链表中的路由暂停发布,暂停的时间为:从当前直至本设备对应的WAIT-TIMER超时的时间。作为一个实施例,本申请中,网络设备的BGP状态初始为等待发布路由,如此,结合上面描述的步骤a1至步骤a3,则通过WAIT-TIMER,也能够实现首个路由在成功下发至硬件后发布。
作为一个实施例,当本设备对应的WAIT-TIMER超时时,可删除WAIT-TIMER。
在本申请中,作为一个实施例,上述步骤202中,在更新本设备的BGP状态后,还可以启动本设备对应的复位定时器(RESET-TIMER)。其中,在本设备的BGP状态指示为发布路由时若本设备长时间没有发布路由且RESET-TIMER超时,则更新本设备的BGP状态,更新后的BGP状态指示为等待发布路由。
基于RESET-TIMER,本申请中,在本设备的BGP状态指示为发布路由时,本设备在发布待发布路由链表中的每一条路由并从待发布路由链表中删除该已发布的路由后,可检查待发布路由链表中是否为空,如果否,重置RESET-TIMER,并继续执行所述发布待发布路由链表中的路由的操作;如果是,等待RESET-TIMER超时,在所述RESET-TIMER超时时,更新本设备的BGP状态,更新后的BGP状态指示为等待发布路由。为了确保路由在成功下发至硬件后发布,作为一个实施例,RESET-TIMER的时长小于或等于WAIT-TIMER的时长。
下面基于上述两个定时器WAIT-TIMER、RESET-TIMER对图2所示流程进行描述:
参见图3,图3为本申请提供的实施例流程图。该流程应用于网络设备(记为RT3_1),如图3所示,该流程可包括以下步骤:
步骤301,RT3_1接收BGP邻居发布的路由,若该路由为最优路由,则执行步骤302。
在RT3_1中,RT3_1本地已有的所有路由中并不存在该接收的路由。
步骤302,RT3_1将路由记录至待发布路由链表,并将路由下发至硬件,检查本设备的BGP状态。
作为一个实施例,RT3_1可按照预定的路由周期将路由下发至硬件,这里的路由周期可以为1秒。具体地,RT3_1将路由下发至硬件包括:在下发路由到硬件前,可以比较当前路由周期内已下发至硬件的路由数量L与允许下发至硬件的路由的最大数量X;如果L小于X,则将路由下发至硬件,并将当前路由周期内已下发至硬件的路由数量L增加1;如果L等于X,则等待当前路由周期结束,在下一个路由周期将路由下发至硬件。需要说明的是,在本申请中,对于每一路由周期,该路由周期内已下发至硬件的路由数量L初始时为默认值比如0,其随着本周期内已下发至硬件的路由逐渐增加,比如,本周期内每将一个路由下发至硬件,则本周期内已下发至硬件的路由数量L增加1。
步骤303,RT3_1检查出本设备的BGP状态指示为等待发布路由,则执行步骤304,检查出本设备的BGP状态指示为发布路由,则执行步骤306。
步骤304,RT3_1检查是否启动了本设备对应的WAIT-TIMER,若启动了WAIT-TIMER,则RT3_1等待所述WAIT-TIMER超时,之后执行步骤305;若未启动WAIT-TIMER,则RT3_1启动WAIT-TIMER,并等待WAIT-TIMER超时,之后执行步骤305。
步骤305,RT3_1在WAIT-TIMER超时时,删除WAIT-TIMER,并将本设备的BGP状态更新为指示发布路由,并启动本设备对应的RESET-TIMER。之后执行步骤306。
步骤306,RT3_1比较当前路由周期内已发布的路由数量Z与允许发布的路由的最大数量Y,若Z等于Y,执行步骤307,若Z小于Y,则执行步骤308。
如上描述,这里的路由周期举例可为1秒。
在本申请中,Y小于上述的X,这能够最终实现每一路由周期比如1秒内,RT3_1对外发布的路由的数量小于下发至硬件的路由的数量,以尽可能确保在路由发布前路由已成功下发至硬件,避免路由已发布但还未下发至硬件的情况,防止流量中断。
步骤307,等待当前BGP路由周期结束,下一个BGP路由周期作为当前BGP路由周期,返回步骤306。
步骤308,RT3_1在当前路由周期内从待发布路由链表中选择一条路由发布,并将当前路由周期内已发布的路由数量Z增加1,从待发布路由链表中删除该发布的路由,检查待发布路由链表是否为空,若否,执行步骤309,若是,执行步骤310。
在本申请中,作为另一个实施例,对于每一路由周期,该路由周期内已发布的路由数量Z初始时为默认值比如0,其随着本周期内已发布的路由逐渐增加,比如,本周期内每发布一个路由,则本周期内已发布的路由数量Z增加1。
作为一个实施例,上述从待发布路由链表中选择一条路由发布具体为:将选择的路由组成BGP-UPDATE报文,将BGP-UPDATE报文发布给邻居BGP。
步骤309,重置RESET-TIMER,当前路由周期未结束时,返回步骤306,在当前路由周期结束时,下一个路由周期作为当前路由周期返回比较306。
本步骤309是在待发布路由链表不为空的前提下执行的,待发布路由链表不为空,也就意味着待发布路由链表还存在未发布的路由,所以需要重置RESET-TIMER,以保证在发布路由过程中,RESET-TIMER不超时。
在本申请中,若当前BGP路由周期结束时,可将BGP路由周期内已发布的BGP路由数量Z清0。
需要说明的是,本申请中,上述步骤306至步骤309的过程都是发生在RESET-TIMER未超时的前提下,当然,如果存在特殊意外情况,在上述步骤306至步骤309的过程中RESET-TIMER超时,则直接中断当前操作。
步骤310,检查RESET-TIMER是否超时,如果否,等待RESET-TIMER超时,在RESET-TIMER超时时,更新本设备的BGP状态,如果是,直接更新本设备的BGP状态,更新后的BGP状态为指示为等待发布路由。
本步骤310是在待发布路由链表为空的前提下执行的,待发布路由链表为空,也就意味着待发布路由链表不存在未发布的路由,这时,需要依赖于RESET-TIMER超时更新本设备的BGP状态,以使本设备的BGP状态从指示发布路由更新为指示等待发布路由。
通过步骤306至步骤310,最终能够将待发布路由链表中所有路由发布完毕。
至此,完成图3所示的流程。
以图4所示的组网为例,图4所示组网示出了5个网络设备:RTA至RTE。其中,RTA至RTE中相邻的网络设备之间建立了BGP邻居关系。假如RTA至RTE之间存在以下两条路径:
路径4-1:RTA->RTC->RTD->RTE;
路径4-2:RTA->RTB->RTE。
RTA上的路由通过上述两条路径发布给RTE。如此,在RTE上,就会收到两份来自RTA发布的路由,分别是RTE通过邻居RTB学习的RTA发布的路由(记为路由4_1_1)、RTE通过邻居RTD学习的RTA发布的路由(记为路由4_1_2)。
现假设RTE通过邻居RTB学习的路由4_1_1比通过邻居RTD学习的路由4_1_2具有更高的优先级,路由4_1_2是路由4_1_1的备份。在正常运行中,RTE会基于路由4_1_1向RTA发送流量。
如图4所示,如果RTA和RTB之间的链路发生故障,则当RTB在探测到其与RTA之间的链路故障时,会向RTE通告针对路由4_1_1的撤销消息。RTE收到针对路由4_1_1的撤销消息后,重新选出至RTA的最优路由,例如路由4_1_2。RTE将发向RTA的流量切换至路由4_1_2。
而当RTA和RTB之间的故障恢复,则RTA会重新发布路由4_1_1给RTB,RTB将路由4_1_1发布给RTE,如上描述,路由4_1_1更优,所以RTE会将发向RTA的流量从原来的路由4_1_2回切到路由4_1_1,具体见图5所示的流量回切示意。但如果RTB上出现先将路由4_1_1发布给RTE,之后再将路由4_1_1下发至硬件,则在上述的在流量回切的过程中就会出现流量已经发送到RTB,但RTB因为路由4_1_1未下发至硬件暂时还不能转发的情况,从而导致短暂的流量中断。
而采用本申请提供的流程,则当RTB收到RTA发布的路由4_1_1后,将该路由下发至硬件,并将该路由4_1_1记录至待发布路由链表。如上描述,RTA发布路由4_1_1给RTB是在RTA和RTB之间的故障恢复后执行的,这也就意味着RTB在故障恢复之前一段时间没有收到过RTA发布的路由,也不会对外发布来自RTA的路由,结合如图2或3所示的流程,则RTB的BGP状态肯定为指示等待发布路由,基于此,RTB就会先判断当前是否启动了本设备对应的WAIT-TIMER,如果是,暂停路由4_1_1的发布,直至WAIT-TIMER超时;如果否,启动本设备对应的WAIT-TIMER,并暂停路由4_1_1的发布,直至WAIT-TIMER超时,WAIT-TIMER的时长远大于一个路由周期的时长。但不管RTB当前是否启动了本设备对应的WAIT-TIMER,RTB最终都会等待从当前至WAIT-TIMER超时的一段时间,才开始执行路由4_1_1的发布(过程如上述的步骤305-308),而结合上述步骤302的描述,RTB在接收到路由4_1_1时最多等待一个路由周期就可执行下发硬件的操作,在本申请中,一个路由周期的时长一般为1秒,远小于上述等待的一段时间,因此,这段时间内RTB已成功将路由4_1_1下发至硬件,显然不会出现流量回切过程中流量已经发送到RTB但因为路由4_1_1未下发至硬件暂时还不能转发的情况,从而防止了短暂的流量中断。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
参见图6,图6为本申请提供的装置结构图。该装置应用于运行BGP的网络设备,包括:
路由接收模块,用于将接收的路由记录至待发布路由链表,并检查本设备的BGP状态;
路由发布控制模块,用于当路由接收模块检查出本设备的BGP状态指示为等待发布路由,则在设定时间后更新所述BGP状态,更新后的所述BGP状态指示为发布路由;当路由接收模块检查出本设备的BGP状态指示为发布路由,则发布所述待发布路由链表中的路由,并从所述待发布路由链表中删除已发布的路由。
作为一个实施例,所述路由发布控制模块在设定时间后更新所述BGP状态,包括:
判断是否启动了本设备对应的等待发布定时器WAIT-TIMER;如果是,等待所述WAIT-TIMER超时,如果否,启动所述WAIT-TIMER,并等待所述WAIT-TIMER超时;
在所述WAIT-TIMER超时时更新所述BGP状态。
作为一个实施例,所述路由发布控制模块在更新所述BGP状态后进一步包括:关闭所述WAIT-TIMER。
作为一个实施例,所述路由发布控制更新所述BGP状态后,还包括:启动本设备对应的复位定时器RESET-TIMER;
以及,
在从所述待发布路由链表中删除已发布的路由后,检查待发布路由链表是否为空,如果否,重置所述RESET-TIMER,并继续执行所述发布待发布路由链表中的路由的操作;如果是,等待所述RESET-TIMER超时,在所述RESET-TIMER超时时,更新本设备的BGP状态,更新后的BGP状态指示为等待发布路由。
作为一个实施例,所述路由发布控制模块发布待发布路由链表中的路由是按照指定的路由周期执行的,具体为:
比较当前路由周期内已发布的路由数量Z与允许发布的路由的最大数量Y,
若Z小于Y,则在当前路由周期内从待发布路由链表中选择一条路由发布,并将所述Z增加1,在当前路由周期未结束时,返回执行所述比较Z与Y的操作,在当前路由周期结束时,将下一个路由周期作为当前路由周期返回执行所述比较Z与Y的操作;
若Z等于Y,等待当前路由周期结束,将下一个路由周期作为当前路由周期返回执行所述比较Z与Y的操作。
作为一个实施例,所述路由接收模块接收到BGP邻居发布的路由时,该方法还包括:按照预定的路由周期将路由下发至硬件;
其中,按照预定的路由周期将路由下发至硬件具体为:
比较当前路由周期内已下发至硬件的路由数量L与允许下发至硬件的路由的最大数量X;如果L小于X,则在当前路由周期内将路由下发至硬件,并将当前路由周期内已下发至硬件的路由数量L增加1;如果L等于X,则等待本路由周期结束,在下一个路由周期将路由下发至硬件。
作为一个实施例,本申请中,同一路由周期内允许下发至硬件的路由的最大数量X大于允许发布的路由的最大数量Y
至此,完成图6所示装置结构描述。
对应地,本申请还提供了图6所示装置的硬件结构图。如图7所示,该硬件结构可包括处理器701、存储有机器可执行指令的机器可读存储介质702。处理器701与机器可读存储介质702可经由系统总线703通信。并且,通过读取并执行机器可读存储介质702中与路由发布控制逻辑对应的机器可执行指令,处理器701可执行上文描述的路由发布方法。
本文中提到的机器可读存储介质702可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
至此,完成图7所示的硬件结构描述。
在本申请中,还提供了一种包括机器可执行指令的机器可读存储介质,例如图7中的机器可读存储介质702,所述机器可执行指令可由路由发布装置中的处理器701执行以实现以上描述的路由发布方法。
具体地,通过调用并执行机器可读存储介质中与路由发布控制逻辑对应的机器可执行指令,处理器701可执行以上路由发布方法中的操作。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (14)

1.一种路由发布方法,其特征在于,该方法应用于运行BGP的网络设备,包括:
接收到BGP邻居发布的路由时,将所述路由记录至待发布路由链表,并检查本设备的BGP状态;
若检查出所述BGP状态指示为等待发布路由,则在设定时间后更新所述BGP状态,更新后的所述BGP状态指示为发布路由;
若检查出所述BGP状态指示为发布路由,则发布所述待发布路由链表中的路由,从所述待发布路由链表中删除已发布的路由;在本设备的BGP状态指示为发布路由时若本设备长时间没有发布路由且被设备已启动的复位定时器RESET-TIMER超时,则更新本设备的BGP状态,更新后的BGP状态指示为等待发布路由。
2.根据权利要求1所述的方法,其特征在于,所述在设定时间后更新所述BGP状态,包括:
判断是否启动了本设备对应的等待发布定时器WAIT-TIMER;如果是,等待所述WAIT-TIMER超时,如果否,启动所述WAIT-TIMER,并等待所述WAIT-TIMER超时;
在所述WAIT-TIMER超时时更新所述BGP状态。
3.根据权利要求2所述的方法,其特征在于,所述WAIT-TIMER超时,该方法还包括:关闭所述WAIT-TIMER。
4.根据权利要求1所述的方法,其特征在于,更新所述BGP状态后,还包括:启动本设备对应的复位定时器RESET-TIMER;
所述从所述待发布路由链表中删除已发布的路由后,该方法还包括:检查待发布路由链表是否为空,如果否,重置所述RESET-TIMER,并继续执行所述发布待发布路由链表中的路由的操作。
5.根据权利要求1所述的方法,其特征在于,收到BGP邻居发布的路由时,该方法还包括:
比较当前路由周期内已下发至硬件的路由数量L与允许下发至硬件的路由的最大数量X;如果L小于X,则在当前路由周期内将路由下发至硬件,并将当前路由周期内已下发至硬件的路由数量L增加1;如果L等于X,则等待本路由周期结束,在下一个路由周期将路由下发至硬件。
6.根据权利要求5所述的方法,其特征在于,所述发布待发布路由链表中的路由是按照指定的路由周期执行的,具体为:
比较当前路由周期内已发布的路由数量Z与允许发布的路由的最大数量Y,
若Z小于Y,则在当前路由周期内从待发布路由链表中选择一条路由发布,并将所述Z增加1,在当前路由周期未结束时,返回执行所述比较Z与Y的操作,在当前路由周期结束时,将下一个路由周期作为当前路由周期返回执行所述比较Z与Y的操作;
若Z等于Y,等待当前路由周期结束,将下一个路由周期作为当前路由周期返回执行所述比较Z与Y的操作。
7.根据权利要求6所述的方法,其特征在于,同一路由周期内允许下发至硬件的路由的最大数量X大于允许发布的路由的最大数量Y。
8.一种路由发布装置,其特征在于,该装置应用于运行BGP的网络设备,包括:
路由接收模块,用于将接收的路由记录至待发布路由链表,并检查本设备的BGP状态;
路由发布控制模块,用于当路由接收模块检查出本设备的BGP状态指示为等待发布路由,则在设定时间后更新所述BGP状态,更新后的所述BGP状态指示为发布路由;当路由接收模块检查出本设备的BGP状态指示为发布路由,则发布所述待发布路由链表中的路由,并从所述待发布路由链表中删除已发布的路由,在本设备的BGP状态指示为发布路由时若本设备长时间没有发布路由且被设备已启动的复位定时器RESET-TIMER超时,则更新本设备的BGP状态,更新后的BGP状态指示为等待发布路由。
9.根据权利要求8所述的装置,其特征在于,所述路由发布控制模块在设定时间后更新所述BGP状态,包括:
判断是否启动了本设备对应的等待发布定时器WAIT-TIMER;如果是,等待所述WAIT-TIMER超时,如果否,启动所述WAIT-TIMER,并等待所述WAIT-TIMER超时;
在所述WAIT-TIMER超时时更新所述BGP状态。
10.根据权利要求9所述的装置,其特征在于,所述路由发布控制模块在所述WAIT-TIMER超时,进一步关闭所述WAIT-TIMER。
11.根据权利要求8所述的装置,其特征在于,所述路由发布控制更新所述BGP状态后,还包括:启动本设备对应的复位定时器RESET-TIMER;
以及,
在从所述待发布路由链表中删除已发布的路由后,检查待发布路由链表是否为空,如果否,重置所述RESET-TIMER,并继续执行所述发布待发布路由链表中的路由的操作。
12.根据权利要求8所述的装置,其特征在于,所述路由接收模块收到BGP邻居发布的路由时,进一步:比较当前路由周期内已下发至硬件的路由数量L与允许下发至硬件的路由的最大数量X;如果L小于X,则在当前路由周期内将路由下发至硬件,并将当前路由周期内已下发至硬件的路由数量L增加1;如果L等于X,则等待本路由周期结束,在下一个路由周期将路由下发至硬件。
13.根据权利要求12所述的装置,其特征在于,所述路由发布控制模块发布待发布路由链表中的路由是按照指定的路由周期执行的,具体为:
比较当前路由周期内已发布的路由数量Z与允许发布的路由的最大数量Y,
若Z小于Y,则在当前路由周期内从待发布路由链表中选择一条路由发布,并将所述Z增加1,在当前路由周期未结束时,返回执行所述比较Z与Y的操作,在当前路由周期结束时,将下一个路由周期作为当前路由周期返回执行所述比较Z与Y的操作;
若Z等于Y,等待当前路由周期结束,将下一个路由周期作为当前路由周期返回执行所述比较Z与Y的操作。
14.根据权利要求13所述的装置,其特征在于,同一路由周期内允许下发至硬件的路由的最大数量X大于允许发布的路由的最大数量Y。
CN201710375325.1A 2017-05-24 2017-05-24 路由发布方法和装置 Active CN108259358B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710375325.1A CN108259358B (zh) 2017-05-24 2017-05-24 路由发布方法和装置
US16/615,393 US11310147B2 (en) 2017-05-24 2018-05-17 Advertising route
PCT/CN2018/087341 WO2018214803A1 (zh) 2017-05-24 2018-05-17 路由发布

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710375325.1A CN108259358B (zh) 2017-05-24 2017-05-24 路由发布方法和装置

Publications (2)

Publication Number Publication Date
CN108259358A CN108259358A (zh) 2018-07-06
CN108259358B true CN108259358B (zh) 2020-12-04

Family

ID=62721331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710375325.1A Active CN108259358B (zh) 2017-05-24 2017-05-24 路由发布方法和装置

Country Status (3)

Country Link
US (1) US11310147B2 (zh)
CN (1) CN108259358B (zh)
WO (1) WO2018214803A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131051A (zh) * 2019-12-30 2020-05-08 杭州迪普科技股份有限公司 路由下发方法和装置
US20220353779A1 (en) * 2021-05-03 2022-11-03 Curvalux Uk Limited Mobile-to-Mobile BGP IP Routing
CN113852560A (zh) * 2021-10-20 2021-12-28 浪潮思科网络科技有限公司 一种bgp对等体之间的路由信息更新方法、设备及介质
US20240098038A1 (en) * 2022-09-16 2024-03-21 Oracle International Corporation Systems and methods for automatic network health check

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060221971A1 (en) * 2005-04-05 2006-10-05 Laure Andrieux Method and apparatus for automatically managing network routes
US7532631B2 (en) * 2005-04-13 2009-05-12 Cisco Technology, Inc. Method and apparatus for accelerating border gateway protocol convergence
CN100413290C (zh) 2005-11-11 2008-08-20 清华大学 设置边界网关协议路由选择通知功能的方法
CN101656680B (zh) * 2009-10-20 2012-03-14 杭州华三通信技术有限公司 一种路由信息协议优化方法及装置
US8705394B2 (en) * 2011-04-18 2014-04-22 Cisco Technology, Inc. BGP slow peer detection
US8891450B2 (en) * 2012-02-06 2014-11-18 Juniper Networks, Inc. Mobile node host route installation and withdrawal
CN103516612B (zh) * 2012-06-20 2016-08-03 北京华为数字技术有限公司 分布式路由器中生成路由表项的方法及分布式路由器
CN103581013B (zh) * 2012-07-25 2017-02-15 杭州华三通信技术有限公司 实现路由协议的不中断路由的方法和装置
CN102769570B (zh) * 2012-07-30 2015-05-20 杭州华三通信技术有限公司 一种路由的通知方法和设备
US9225627B2 (en) 2012-08-21 2015-12-29 Avaya Inc. Redistributing routes in backbone edge bridge multi-chassis link aggregation group topologies between two routing protocols
CN104394104B (zh) 2014-11-19 2018-02-09 新华三技术有限公司 一种路由信息发送方法及装置
US9667500B2 (en) * 2014-12-29 2017-05-30 Verizon Patent And Licensing Inc. Contextual virtual routing updates
CN106411729B (zh) 2015-07-31 2020-04-28 中兴通讯股份有限公司 一种实现链路状态通告处理的方法及装置
CN106549866B (zh) 2015-09-22 2020-04-28 华为技术有限公司 处理报文的方法、网络设备及系统

Also Published As

Publication number Publication date
WO2018214803A1 (zh) 2018-11-29
US20210297339A1 (en) 2021-09-23
US11310147B2 (en) 2022-04-19
CN108259358A (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
CN108259358B (zh) 路由发布方法和装置
CN110113197B (zh) Sdn控制器配置网络设备的方法和sdn控制器
EP3169024A1 (en) Designated forwarder (df) election based on static df election procedure
EP1896980A2 (en) Preserving sessions in a wireless network
CN106789638B (zh) 一种处理路由的方法及网络设备
CN109495345B (zh) 一种bfd处理方法及网络设备
CN112367254A (zh) 跨设备链路聚合方法、装置和电子设备
US20220353170A1 (en) Method, apparatus, and system for controlling a flow entry
CN109167700B (zh) 段路由sr隧道的检测方法和装置
CN112052230B (zh) 多机房数据同步方法、计算设备及存储介质
CN108880868B (zh) Bfd保活报文传输方法、装置、设备及机器可读存储介质
CN110943928A (zh) 转发信息状态同步方法、控制器、网络转发设备及存储介质
CN107659516B (zh) 一种宽带远程接入服务器bras的功能控制方法和装置
CN114244736A (zh) 一种基于堆叠环境的多主检测方法、设备及介质
CN109347746B (zh) 一种mac地址学习方法及装置
CN111669320B (zh) 一种处理报文的方法及网络设备
CN102546313B (zh) 一种多激活检测方法和设备
CN115378815A (zh) 数据恢复的方法、装置、网络设备及存储介质
CN112367179B (zh) 一种链路切换方法及装置
CN111698142B (zh) 一种报文转发方法、装置、电子设备及存储介质
CN113704349A (zh) 一种数据同步方法、装置以及节点设备
CN112653596B (zh) 一种路由信息下发、网关设备切换的方法及装置
CN112988187B (zh) 一种设备升级方法及装置
CN117278345B (zh) 应用于网络设备的节能方法及装置
CN113472642B (zh) 一种保护切换方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant