CN102571425B - 一种边界网关协议平滑重启方法和装置 - Google Patents

一种边界网关协议平滑重启方法和装置 Download PDF

Info

Publication number
CN102571425B
CN102571425B CN201110455301.XA CN201110455301A CN102571425B CN 102571425 B CN102571425 B CN 102571425B CN 201110455301 A CN201110455301 A CN 201110455301A CN 102571425 B CN102571425 B CN 102571425B
Authority
CN
China
Prior art keywords
restarter
route
main
optimum
calculating
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
CN201110455301.XA
Other languages
English (en)
Other versions
CN102571425A (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.)
New 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 CN201110455301.XA priority Critical patent/CN102571425B/zh
Publication of CN102571425A publication Critical patent/CN102571425A/zh
Priority to PCT/CN2012/087261 priority patent/WO2013097662A1/en
Priority to US14/355,209 priority patent/US9225590B2/en
Priority to EP20120863216 priority patent/EP2798801A4/en
Application granted granted Critical
Publication of CN102571425B publication Critical patent/CN102571425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet

Landscapes

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

Abstract

本发明提供了一种边界网关协议平滑重启方法和装置,该方法中,当存在多个GR Restarter时,在所述多个GR Restarter中选举主GR Restarter和对应的从GR Restarter,主GR Restarter接收完直连的从GR Restarter之外的所有邻居网络设备发送的路由后,计算最优路由,将计算的最优路由发送给自身的所有从GR Restarter,之后,主GR Restarter和从GR Restarter之间通过多次路由交互,直到所有GR Restarter均收全路由,将最优路由下发到本地转发表。本发明能够实现多点故障保护。

Description

一种边界网关协议平滑重启方法和装置
技术领域
本发明涉及通信技术领域,特别涉及一种边界网关协议(BGP,BorderGateway protocol)平滑重启方法和装置。
背景技术
BGP协议是一种在自治系统之间动态交换路由信息的路由协议,作为事实上的Internet外部路由协议标准,被广泛应用于因特网服务提供商(ISP,Internet Service Provider)之间。
在可靠性比较高的应用领域,网络设备通过配置主备路由引擎,配合平滑重启(GR,Graceful Restart)功能来保证主路由引擎异常时流量转发不中断。GR协议定义了GR过程中两种网络设备的角色:平滑重启设备(GRRestarter)和平滑重启帮助设备(GR Hhelper)。其中,故障或重启的网络设备称为GR Restarter,GR Restarter的邻居网络设备称为GR Helper,GRRestarter在GR Helper的帮助下完成GR功能。
当单个网络设备发生BGP协议重启时,作为GR Rrestarter的网络设备向作为GR Helper的所有邻居网络设备发送open报文重新建立连接,并在接收到所有邻居网络设备发送的路由后开始路由优选,GR过程结束。当同时有多个相邻网络设备发生BGP协议重启时,上述GR过程不可行,下面结合图1进行说明:
图1是现有技术基于BGP协议的组网示意图,包括PE1、PE2、PE3、CE1、CE2,其中PE1、PE2、PE3分别相连,CE1连接到PE1上,CE2连接到PE2上。假设PE1发生BGP协议重启,PE2、PE3、CE1均正常,则PE1为GR Restarter,PE2、PE3、CE1为GR Helper。PE1的BGP协议重启后,与PE2、PE3、CE1分别建立BGP连接,PE2、PE3、CE1分别将路由发送到PE1,PE1接收到PE2、PE3以及CE1发送的路由后,开始进行路由优选,将路由优选结果下发到本地转发表,GR过程结束。
然而,如果PE1和PE2同时发生BGP协议重启,则PE1和PE2均成为GR Restarter,其中,PE2、PE3、CE1是相对于PE1的GR Helper,PE3和CE1处于正常工作状态,均会向PE1发送路由,由于PE2也发生了BGP协议重启,因此不会向PE1发送路由。PE1、PE3、CE2是相对于PE2的GRHelper,PE3和CE2处于正常工作状态,均会向PE2发送路由,由于PE1也发生了BGP协议重启,因此不会向PE2发送路由。从而,PE1和PE2互相等待接收对方的路由,造成死锁。
为了防止产生上述死锁问题,RFC4724规定网络设备在发生BGP协议重启时,必须在Open报文中设置重启标志R,网络设备在接收到邻居网络设备发送的携带重启标志R的Open报文时,不会再等待接收该邻居网络设备的路由,但是,这也使得网络设备会据此删除该邻居网络设备在BGP协议平滑重启前发送的路由,进而导致相关的流量中断。
可见,现有技术只实现了单点故障保护,还不能完全实现多点故障保护。
发明内容
有鉴于此,本发明的目的在于提供一种边界网关协议平滑重启方法,该方法能够实现多点故障保护。
为了达到上述目的,本发明提供了一种边界网关协议平滑重启方法,该方法包括:
当存在多个平滑重启设备GR Restarter时,在所述多个GR Restarter中选举主GR Restarter以及该主GR Restarter的从GR Restarter;
当前GR Restarter作为主GR Restarter,且已经接收到除自身的所有从GRRestarter外的所有邻居网络设备发送的路由,则计算最优路由,将计算的最优路由发送到自身的所有从GR Restarter;如果接收到自身的所有从GR Restarter发送的最优路由,则重新计算最优路由,将计算的最优路由下发到本地转发表,并发送到所有邻居网络设备,完成GR过程;
当前GR Restarter作为从GR Restarter,且已经接收到所有邻居网络设备发送的最优路由,则计算最优路由,将计算的最优路由下发到本地转发表,并发送到所有邻居网络设备,完成GR过程;
其中,所述多个GR Restarter构成的集合中的每个GR Restarter与所述多个GR Restarter构成的集合中至少一个其他GR Restarter直接相连。
本发明还提供了一种边界网关协议平滑重启设备GR Restarter,该边界网关协议平滑重启设备包括:控制单元、收发单元;
所述控制单元,用于当存在多个GR Restarter时,如果其所在GR Restarter作为主GR Restarter,且收发单元已经接收到除自身的所有从GR Restarter外的所有邻居网络设备发送的路由,则计算最优路由,并向收发单元发送第一通知;在收发单元根据第一通知将计算的最优路由发送到自身的所有从GR Restarter之后,如果收发单元接收到自身的所有从GR Restarter发送的最优路由,则重新计算最优路由,将计算的最优路由下发到本地转发表,并向收发单元发送第二通知;
所述收发单元,用于接收邻居网络设备发送的路由;用于接收到控制单元的第一通知后,将控制单元计算的最优路由发送到自身的所有从GR Restarter;用于接收到控制单元的第二通知后,将控制单元计算的最优路由发送到自身的所有邻居网络设备,完成GR过程;
其中,所述多个GR Restarter构成的集合中的每个GR Restarter与所述多个GR Restarter构成的集合中至少一个其他GR Restarter直接相连。
由上面的技术方案可知,本发明中,当存在多个GR Restarter时,在所述多个GR Restarter中选举主GR Restarter和对应的从GR Restarter,主GRRestarter接收完直连的从GR Restarter之外的所有邻居网络设备发送的路由后,计算得到不完整的最优路由,之后,主GR Restarter和从GR Restarter之间通过交互不完整的最优路由,均获取得到完整的的路由,并将完整的最优路由下发到本地转发表,完成GR过程。由于各GR Restarter均在接收完所有邻居网络设备发送的完整的路由后完成GR过程,因此能够实现多点故障保护。
附图说明
图1是现有技术基于BGP协议的组网示意图;
图2是本发明实施例边界网关协议平滑重启方法流程图;
图3是本发明实施例基于图1所示的组网中的两个GR Restarter的GR过程示意图;
图4是本发明实施例基于图1所示的组网中的三个GR Restarter的GR过程示意图;
图5是本发明实施例基于图1所示的组网中的四个GR Restarter的GR过程示意图;
图6是本发明实施例基于图1所示的组网中的四个GR Restarter的第二种GR过程示意图;
图7是本发明实施例边界网关协议平滑重启设备GR Restarter的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
参见图2,图2是本发明实施例边界网关协议平滑重启方法流程图,包括以下步骤:
步骤201、当存在多个平滑重启设备GR Restarter时,在所述多个GRRestarter中选举主GR Restarter以及该主GR Restarter的从GR Restarter。
这里,所述多个GR Restarter构成的集合中的每个GR Restarter与所述多个GR Restarter构成的集合中至少一个其他GR Restarter直接相连。本实施例中,网络设备在发生BGP协议重启时,不需要在Open报文中设置重启标志R。
本步骤中,在所述多个GR Restarter中选举主GR Restarter以及该主GRRestarter的从GR Restarter的方法为:对于所述多个GR Restarter中的任意两个直接相连的GR Restarter,按照预设规则在该直接相连的两个GR Restarter中选举一个作为主GR Restarter,另一个作为该主GR Restarter的从GRRestarter。其中,所述按照预设规则在该直接相连的两个GR Restarter中选则一个作为主GR Restarter的方法具体可以为:根据该直接相连的两个GRRestarter的标识(ID),选择其中最大的或者最小的一个作为主GR Restarter。这里,每个GR Restarter的ID是能够唯一标识该GR Restarter,与任一其他GR Restarter的ID均不相同。直接相连的两个GR Restarter之间可以互相发送携带自身的ID的报文,以使对端能够获知自身的ID。
步骤202、当前GR Restarter作为主GR Restarter,且已经接收到除自身的所有从GR Restarter外的所有邻居网络设备发送的路由,则计算最优路由,将计算的最优路由发送到自身的所有从GR Restarter;如果接收到自身的所有从GRRestarter发送的最优路由,则重新计算最优路由,将计算的最优路由下发到本地转发表,并发送到所有邻居网络设备,完成GR过程。
当前GR Restarter作为主GR Restarter,在首次计算最优路由前,不需要等待接收自身的从GR Restarter发送的路由,只要接收完除自身的从GRRestarter之外的所有邻居网络设备发送的路由,就可以直接进行路由优选,计算出最优路由,将计算得到的最优路由发送到从GR Restarter集合中的所有从GR Restarter,从而可以避免发生当前GR Restarter和邻居GR Restarter之间互等对方的路由的死锁状态。
步骤203、当前GR Restarter作为从GR Restarter,且已经接收到所有邻居网络设备发送的最优路由,则计算最优路由,将计算的最优路由下发到本地转发表,并发送到所有邻居网络设备,完成GR过程。
当前GR Restarter作为从GR Restarter,需要接收到包括主GR Restarter之内所有邻居网络设备发送的路由,才能进行首次最优路由计算。
在实际应用中,当前GR Restarter作为主GR Restarter,只有在接收完全所有路由的情况下,才会将计算出的最优路由下发到本地转发表,将计算出的最优路由发送到所有邻居网络设备,完成GR过程;在未接收全所有路由前,需要和自身的从GR Restarter进行一次或多次路由信息交互,直到接收全所有路由。同样,当前GR Restarter作为从GR Restarter,也只有在接收全所有路由,才能将计算出的最优路由下发到本地转发表,并将计算得到的最优路由发送的所有邻居网络设备,完成GR过程;在未接收全所有路由前,需要和自身的从GR Restarter进行一次或多次路由信息交互,直到接收全所有路由。这里,接收全所有路由,也即是和网络中其他网络设备的路由达到一致。
因此,当前GR Restarter作为主GR Restarter,在重新计算最优路由之后,将计算的最优路由下发到本地转发表之前,还进一步包括:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,则可以选择继续和自身的所有从GR Restarter进行路由信息交互,也可以选择只与当前尚未发送完整路由的所有从GR Restarter进行路由信息交互。
如果选择继续和自身的所有从GR Restarter进行路由信息交互,则需要将重新计算的最优路由发送到自身的所有从GR Restarter;在将重新计算的路由发送到自身的所有从GR Restarter之后,如果接收到所有从GR Restarter发送的路由,则需要再次计算最优路由,并判断是否已收全所有路由,根据是否收全路由执行后续的下发路由表或再次向所有从GR Restarter发送路由等操作。
这种情况下,所述将计算的最优路由发送到自身的所有从GR Restarter的方法具体可以为:如果已收全除自身的所有从GR Restarter外所有邻居网络设备的完整路由,则若未收全自身的至少两个从GR Restarter的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有从GR Restarter,若未收全自身的最多一个从GR Restarter的完整路由,则将计算的最优路由标记为完整路由发送到所述最多一个从GR Restarter,将计算的最优路由标记为不完整路由发送到自身的其他所有从GR Restarter;如果未收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有从GR Restarter。
如果选择只与当前尚未发送完整路由的所有从GR Restarter进行路由信息交互,则需要确定从GR Restarter集合,将重新计算的路由发送到从GR Restarter集合中的所有从GR Restarter;在将重新计算的路由发送到从GR Restarter集合中的所有从GR Restarter之后,如果接收到从GR Restarter集合中所有从GRRestarter发送的路由,则需要再次计算最优路由,并判断是否已经收全所有路由,根据是否收全路由执行后续的下发路由表或再次确定从GR Restarter集合等操作。这里,确定从GR Restarter集合的方法具体可以为:对于自身的每个从GRRestarter,如果尚未接收到该从GR Restarter的标记为完整的路由,则将该从GRRestarter添加到从GR Restarter集合。
这种情况下,所述将计算的最优路由发送到从GR Restarter集合中的所有从GR Restarter的方法具体可以为:如果已收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则若从GR Restarter集合中存在至少两个从GRRestarter,则将计算的最优路由标记为不完整发送到从GR Restarter集合中的所有从GR Restarter,若从GR Restarter集合中存在最多一个从GR Restarter,则将计算的最优路由标记为完整发送到所述最多一个从GR Restarter;如果未收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整发送到从GR Restarter集合中的所有从GR Restarter;
同样的道理,当前GR Restarter作为从GR Restarter,在计算最优路由之后,将计算的最优路由下发到本地转发表之前,还进一步包括:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,则可以选择继续和自身的所有主GR Restarter进行路由信息交互,也可以选择只与未发送完整路由的所有主GR Restarter进行路由信息交互。
如果选择继续和自身的所有主GR Restarter进行路由信息交互,则需要将计算的最优路由发送到自身的所有主GR Restarter;在将计算的最优路由发送到自身的所有主GR Restarter之后,如果接收到所有主GR Restarter发送的最优路由,则再次计算最优路由,并判断是否已收全所有路由,根据是否收全路由执行后续的下发路由表或再次向自身的所有主GR Restarter发送路由等操作。
这种情况下,所述将计算的最优路由发送到自身的所有主GR Restarter的方法具体可以为:如果已收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则若未收全自身的至少两个主GR Restarter的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有主GR Restarter,若未收全自身的最多一个主GR Restarter的完整路由,则将计算的最优路由标记为完整路由发送到所述最多一个主GR Restarter,将计算的最优路由标记为不完整路由发送到自身的其他所有主GR Restarter;如果未收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有主GR Restarter。
如果选择只与尚未发送完整路由的所有主GR Restarter进行路由信息交互,则需要确定主GR Restarter集合,将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter;在将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter之后,如果接收到主GR Restarter集合中所有主GR Restarter发送的路由,则再次计算最优路由,并判断是否已经收全所有路由,根据是否收全路由执行后续的下发路由表或再次确定主GR Restarter集合等操作。这里,所述确定主GR Restarter集合的方法具体可以为:对于自身的每个主GRRestarter,如果未收到该主GR Restarter的标记为完整的路由,则将该主GRRestarter添加到主GR Restarter集合;
这种情况下,所述将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter的方法具体可以为:如果已收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则若主GR Restarter集合中存在至少两个主GRRestarter,则将计算的最优路由标记为不完整路由发送到主GR Restarter集合中的所有主GR Restarter,若主GR Restarter集合中存在最多一个主GR Restarter,则将计算的最优路由标记为完整路由发送到所述最多一个主GR Restarter;如果未收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整路由发送到主GR Restarter集合中的所有主GRRestarter。
图2所示本发明实施例中,当前GR Restarter作为主GR Restarter,如果接收到从GR Restarter的标记为完整的路由,则确定已经接收全该从GRRestarter的完整路由;当前GR Restarter作为从GR Restarter,如果接收到主GR Restarter的标记为完整的路由,则确定已经接收全该主GR Restarter的完整路由;如果当前GR Restarter接收全所有邻居网络设备的标记为完整的路由,则确定已经接收全所有路由。
现有技术中,网络设备向邻居网络设备发送路由后,还需要发送EOR(End-Of-Rib)消息来通知邻居网络设备路由发送完毕,邻居网络设备在接收到网络设备的EOR消息后,确定已经接收完该网络设备的路由。
图2所示本发明实施例中,为了判定当前GR Restarter是否已经接收全所有路由,将EOR消息分为带部分(partial)标记和不带partial标记两种消息(现有技术中的EOR消息中不携带partial标记)。当发送带partial标记的EOR消息时,表示本次发送的路由是在未收全除目标网络设备的路由之外至少一个邻居网络设备的路由的情况下计算得到的最优路由,例如,设备A向设备B(也即目标网络设备)发送路由,并发送带Partial标记的EOR消息,则说明设备A当前尚未接收全除了设备B之外的至少一个邻居网络设备的路由;当发送不带partial标记的EOR消息时,表示本次发送的路由是在收全了除目标网络设备的路由之外所有邻居网络设备的路由的情况下计算得到的最优路由,例如,设备A向设备B发送路由,并发送不带Partial标记的EOR消息,则说明设备A当前已经接收全除了设备B之外的所有邻居网络设备的路由。
因此,将计算得到的最优路由标记为完整的路由发送到从GR Restarter的方法为:将计算得到的最优路由发送到该从GR Restarter,并将未携带Partial标志的EOR消息发送到该从GR Restarter;
将计算得到的最优路由标记为完整的路由发送到主GR Restarter的方法为:将计算得到的最优路由发送到该主GR Restarter,并将未携带Partial标志的EOR消息发送到该主GR Restarter;
将计算得到的最优路由标记为不完整的路由发送到从GR Restarter的方法为:将计算得到的最优路由发送到该从GR Restarter,并将携带Partial标志的EOR消息发送到该从GR Restarter;
将计算得到的最优路由标记为不完整的路由发送到主GR Restarter的方法为:将计算得到的最优路由发送到该主GR Restarter,并将携带Partial标志的EOR消息发送到该主GR Restarter。
下面结合图3、图4、图5、6,对图2所示本发明实施例边界网关协议平滑重启方法进行举例说明。
对两个网络设备发生BGP协议重启时的GR过程举例:
假设图1中的网络设备PE1、PE2发生BGP协议重启,成为GR Restarter,其中PE1、PE2的ID按照从大到小的排列顺序为PE1、PE2;
根据图2所示本发明实施例的方法,并且选择直接相连的两个GRRestarterID最大的作为主GR Restarter,则PE1、PE2的GR过程如图3所示的本发明实施例基于图1所示的TRILL组网中的两个GR Restarter的GR过程示意图:
在PE1和PE2选举主GR Restarter和从GR Restarter,PE1被选举为PE2的主GR Restarter,PE2被选举为PE1的从GR Restarter;
PE1作为PE2的主GR Restarter,在接收到除自身的所有从GR Restarter:PE2之外的所有邻居网络设备:CE1、PE3发送的路由后,计算最优路由,由于PE1已经接收全除PE2之外所有邻居网络设备的路由,因此,将计算得到的最优路由标记为完整路由(在图3、图4、图5中用Route+EOR表示发送的是标记为完整的路由)发送到PE2,也即将计算得到的最优路由发送到PE2,并发送未携带Partial标记的EOR消息到PE2;这里,CE1和PE3作为正常工作的平滑重启帮助设备(GR Helper),在发送路由后发送的EOR消息均不携带Partial标记,此与现有技术相同,需要说明的是,后续的举例中,正常工作的GR Helper发送路由后发送的EOR消息均不携带Partial标记。
PE2作为PE1的从GR Restarter,在接收到所有邻居网络设备:PE1、CE2、PE3发送的路由后,计算最优路由,而且由于PE1、CE2、PE3发来的EOR消息均是不携带Partial标记的,可以确定已经接收全所有路由,因此,将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由以及不携带Partial标记的EOR消息发送到所有邻居网络设备:PE1、CE2、PE3,PE2完成GR过程;
PE1接收到PE2发送的路由和未携带Partial标记的EOR消息后,计算最有路由,并且可以确定已经接收全所有路由,因此将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由以及不携带Partial标记的EOR消息发送到所有邻居网络设备:CE1、PE2、PE3,PE1完成GR过程。
至此,PE1和PE2均在收全所有路由后,完成GR过程,因此不会出现流量中断。
对三个网络设备发生BGP协议重启时的GR过程举例(以只与当前尚未发送完整路由的自身的所有从GR Restarter或主GR Restarter进行路由信息交互为例):
假设图1中的网络设备CE1、PE1、PE2发生BGP协议重启,成为GRRestarter,其中CE1、PE1、PE2的ID按照从大到小的排列顺序为PE1、PE2、CE1;
根据图2所示本发明实施例的方法,并且选择直接相连的两个GRRestarterID最大的作为主GR Restarter,则CE1、PE1、PE2的GR过程如图4所示的本发明实施例基于图1所示的组网中的三个GR Restarter的GR过程示意图:
在CE1、PE1、PE2中的任意两个直接相连的GR Restarter中选举主GRRestarter和从GR Restarter。其中,CE 1和PE1直接相连,又因为PE1的ID大于CE1的ID,因此,PE1被选举为CE1的主GR Restarter,CE1被选举为PE1的从GR Restarter。PE1和PE2直接相连,又因为PE1的ID大于PE2的ID,因此,PE1被选举为PE2的主GR Restarter,PE2被选举为PE1的从GR Restarter。
PE1被选举作为CE1、PE2的主GR Restarter,在接收到除自身的所有从GR Restarter:CE1、PE2之外的所有邻居网络设备:PE3发送的路由后,计算最优路由,并确定从GR Restarter集合为{CE1、PE2},由于尚未收全CE1、PE2的路由,因此将计算得到的最优路由标记为不完整的路由(在图4、图5中用Route+EOR(P)表示发送的是标记为不完整的路由)发送到与PE1的所有从GR Restarter:CE1、PE2;
CE1被选举作为PE1的从GR Restarter,在接收到PE1发送的标记为不完整的路由后,计算最优路由,并确定主GR Restarter集合为{PE1},由于除PE1之外,没有其他邻居网络设备,因此可以认为已经接收全了除PE1外所有邻居网络设备的路由,因此将计算得到的最优路由标记为完整的路由发送到PE1;
PE2被选举为PE1的从GR Restarter,在接收到PE3以及CE2发送的路由,以及PE1发送的标记为不完整的路由后,计算最优路由,并确定主GRRestarter集合为{PE1},由于已经接收全了除PE1外所有邻居网络设备的路由,因此将计算得到的最优路由标记为完整的路由发送到PE1;
PE1接收到CE1和PE2发送的标记为完整的路由后,计算最优路由,由于已经接收全了所有路由,因此,将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由标记为完整的路由发送到所有邻居网络设备:CE1、PE2、PE3,PE1完成GR过程;
CE1接收到PE1发送的标记为完整的路由后,计算最优路由,由于已经接收全了所有路由,因此,将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由标记为完整的路由发送到所有邻居网络设备:PE1,CE1完成GR过程;
PE2接收到PE1发送的标记为完整的路由后,计算最优路由,由于已经接收全了所有路由,因此,将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由标记为完整的路由发送到所有邻居网络设备:PE1、PE3、CE2,PE2完成GR过程;
至此,CE1、PE1、PE2均完成GR过程,由于各GR Restarter均是在接收全所有路由后,完成GR过程,因此不会出现流量中断。
其次,对四个网络设备发生BGP协议重启时的GR过程举例(以只与当前尚未发送完整路由的自身的所有从GR Restarter或主GR Restarter进行路由信息交互为例):
假设图1中的网络设备CE1、PE1、PE2、CE2发生BGP协议重启,成为GR Restarter,其中CE1、PE1、PE2、CE2的ID按照从大到小的排列顺序为PE1、CE2、PE2、CE1;
根据图2所示本发明实施例的方法,并且选择直接相连的两个GRRestarterID最大的作为主GR Restarter,则CE1、PE1、PE2、CE2的GR过程如图5所示的本发明实施例基于图1所示的组网中的四个GR Restarter的GR过程示意图:
在CE1、PE1、PE2、CE2中的任意两个直接相连的GR Restarter中选举主GR Restarter和从GR Restarter。其中,CE1和PE1直接相连,又因为PE1的ID大于CE1的ID,因此,PE1被选举为CE1的主GR Restarter,CE1被选举为PE1的从GR Restarter。PE1和PE2直接相连,又因为PE1的ID大于PE2的ID,因此,PE1被选举为PE2的主GR Restarter,PE2被选举为PE1的从GR Restarter。CE2和PE2直接相连,又因为CE2的ID大于PE2的ID,因此,CE2被选举为PE2的主GR Restarter,PE2被选举为CE2的从GRRestarter。
PE1被选举作为CE1、PE2的主GR Restarter,在接收到除自身的所有从GR Restarter:CE1、PE2之外的所有邻居网络设备:PE3发送的路由后,计算最优路由,由于尚未收全CE1、PE2的路由,因此,确定从GR Restarter集合为{CE1、PE2},将计算得到的最优路由标记为不完整的路由发送到从GR Restarter集合中的所有从GR Restarter:CE1、PE2;
CE2被选举作为PE2的主GR Restarter,除了PE2之外,没有其他邻居网络设备,可以认为已接收全除PE2之外的所有邻居网络设备的路由,因此,计算最优路由,由于已接收全除PE2之外的所有邻居网络设备的路由,因此确定从GR Restarter集合为{PE2},将计算得到的最优路由标记为完整的路由发送到从GR Restarter集合中的所有从GR Restarter:PE2;
CE1被选举为PE1从GR Restarter,除了PE1之外,没有其他邻居网络设备,可以认为已经接收全除PE1之外所有邻居网络设备的路由,在接收到PE1发送的标记为不完整的路由后,计算最优路由,确定主GR Restarter集合为{PE1},由于已接收全除PE1外所有邻居网络设备的路由,因此将计算得到的最优路由标记为完整的路由发送到PE1;
PE2被选举为PE1和CE2的从GR Restarter,在接收到PE3发送的路由,以及PE1发送的标记为不完整的路由和CE2发送的标记为完整的路由后,计算最优路由,由于尚未接收全PE1的路由,因此确定主GR Restarter集合为{PE1},将计算得到的最优路由标记为完整的路由发送到PE1,将计算得到的最优路由标记为不完整的路由发送到CE2;
PE1接收到CE1和PE2发送的标记为完整的路由后,计算最优路由,由于已经接收全了所有路由,因此,将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由标记为完整的路由发送到所有邻居网络设备:CE1、PE2、PE3,PE1完成GR过程;
CE1接收到PE1发送的标记为完整的路由后,计算最优路由,由于已经接收全所有路由,将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由标记为完整的路由发送到所有邻居网络设备:PE1,CE1完成GR过程;
PE2接收到PE1发送的标记为完整的路由后,计算最优路由,由于已经接收全了所有路由,因此,将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由标记为完整的路由发送到所有邻居网络设备:PE1、PE3、CE2,PE2完成GR过程;
CE2接收到PE2发送的标记为完整的路由后,计算最优路由,由于已经接收全了所有路由,因此,将计算得到的最优路由下发到本地转发表,并将计算得到的最优路由标记为完整的路由发送到所有邻居网络设备:PE2,CE2完成GR过程;
至此,CE1、PE1、PE2、CE2均完成GR过程,由于各GR Restarter均是在接收全所有路由后,完成GR过程,因此不会出现流量中断。如果按照与自身的所有从GR Restarter或主GR Restarter进行多次信息交互的的方法,则CE1、PE1、PE2、CE2的GR过程与上述过程稍有不同,具体如图6所示的本发明实施例基于图1所示的组网中的四个GR Restarter的第二种GR过程示意图,具体过程不再赘述。
图3、图4、图5、图6中分别给出了两个、三个、或四个网络设备发生BGP协议重启时的GR过程,实际上,根据发生BGP协议重启的网络设备的个数,以及选举主从GR Restarter的具体情况不同,各GR Restarter完成GR过程的流程也会有所不同,但是实现原理是一致的。
以上对本发明实施例边界网关协议平滑重启方法进行了详细说明,本发明还提供了一种边界网关协议平滑重启设备,该平滑重启设备能够实现多点故障保护。
参加图7,图7是本发明实施例边界网关协议平滑重启设备GR Restarter的结构示意图,该平滑重启设备包括:控制单元701、收发单元702;其中,
控制单元701,用于当存在多个GR Restarter时,如果其所在GR Restarter作为主GR Restarter,且收发单元702已经接收到除自身的所有从GR Restarter外的所有邻居网络设备发送的路由,则计算最优路由,并向收发单元702发送第一通知;在收发单元702根据第一通知将计算的最优路由发送到自身的所有从GR Restarter之后,如果收发单元702接收到自身的所有从GR Restarter发送的最优路由,则重新计算最优路由,将计算的最优路由下发到本地转发表,并向收发单元702发送第二通知;
收发单元702,用于接收邻居网络设备发送的路由;用于接收到控制单元701的第一通知后,将控制单元701计算的最优路由发送到自身的所有从GRRestarter;用于接收到控制单元701的第二通知后,将控制单元701计算的最优路由发送到自身的所有邻居网络设备,完成GR过程;
其中,所述多个GRRestarter构成的集合中的每个GR Restarter与所述多个GR Restarter构成的集合中至少一个其他GR Restarter直接相连。
所述控制单元701,若其所在GR Restarter作为主GR Restarter,则在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步用于:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,向收发单元702发送第一通知;在收发单元702根据第一通知将计算的最优路由发送到自身的所有从GR Restarter之后,如果收发单元702接收到自身的所有从GR Restarter发送的最优路由,则再次计算最优路由;
所述控制单元701,若其所在GR Restarter作为从GR Restarter,则在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步用于:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,向收发单元702发送第三通知;在收发单元702根据第三通知将计算的最优路由发送到自身的所有主GR Restarter之后,如果收发单元702接收到自身的所有主GR Restarter发送的路由,则再次计算最优路由;
所述收发单元702,进一步用于:接收到控制单元701的第三通知后,将控制单元701计算的最优路由发送到自身的所有主GR Restarter。
所述收发单元702在将控制单元701计算的最优路由发送到自身的所有从GR Restarter时,用于:如果已收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则若未收全自身的至少两个从GR Restarter的完整路由,则将计算的最优路由标记为不完整发送到自身的所有从GR Restarter,若未收全自身的最多一个从GR Restarter的完整路由,则将计算的最优路由标记为完整发送到所述最多一个从GR Restarter,将计算得到的最优路由标记为不完整发送到自身的其他所有从GR Restarter;如果未收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有从GR Restarter;
所述收发单元702在将计算的最优路由发送到自身的所有主GR Restarter时,用于:如果已收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则若未收全自身的至少两个主GR Restarter的完整路由,则将计算的最优路由标记为不完整发送到自身的所有主GR Restarter,若未收全自身的最多一个主GR Restarter的完整路由,则将计算的最优路由标记为完整发送到所述最多一个主GR Restarter,将计算得到的最优路由标记为不完整发送到自身的其他所有主GR Restarter;如果未接收全除其所在GR Restarter的所有主GR Restarter外的所有邻居网络设备的完整路由,则将计算得到的最优路由标记为不完整发送到自身的所有主GR Restarter。
所述控制单元701,若其所在GR Restarter作为主GR Restarter,则在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步用于:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,确定从GR Restarter集合,并向收发单元702发送第四通知;在收发单元702根据第四通知将计算的最优路由发送到从GR Restarter集合中的所有从GRRestarter之后,如果收发单元702接收到从GR Restarter集合中的所有从GRRestarter发送的最优路由,则再次计算最优路由;
所述控制单元701,若其所在GR Restarter作为从GR Restarter,则在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步用于:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,确定主GR Restarter集合,并向收发单元702发送第五通知;在收发单元702根据第五通知将计算的最优路由发送到主GR Restarter集合中的所有主GRRestarter之后,如果收发单元702接收到主GR Restarter集合中的所有主GRRestarter发送的路由,则再次计算最优路由;
所述收发单元702,进一步用于:接收到控制单元701的第四通知后,将控制单元701计算的最优路由发送到控制单元701确定的从GR Restarter集合中的所有从GR Restarter;接收到控制单元701的第五通知后,将控制单元701计算的最优路由发送到控制单元701确定的主GR Restarter集合中的所有主GRRestarter;。
所述控制单元701在确定从GR Restarter集合时,用于:对于自身的每个从GR Restarter,如果尚未接收到该从GR Restarter的标记为完整的路由,则将该从GR Restarter添加到从GR Restarter集合;
所述收发单元702在将控制单元701计算的最优路由发送到从GR Restarter集合中的所有从GR Restarter时,用于:如果已收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则若从GR Restarter集合中存在至少两个从GR Restarter,则将控制单元701计算的最优路由标记为不完整发送到从GRRestarter集合中的所有从GR Restarter,若从GR Restarter集合中存在最多一个从GR Restarter,则将控制单元701计算的最优路由标记为完整发送到所述最多一个从GR Restarter;如果未收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则将控制单元701计算的最优路由标记为不完整发送到从GR Restarter集合中的所有从GR Restarter;
所述控制单元701在确定主GR Restarter集合时,用于:对于自身的每个主GR Restarter,如果尚未接收到该主GR Restarter的标记为完整的路由,则将该主GR Restarter添加到主GR Restarter集合;
所述收发单元702在将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter时,用于:如果已收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则若主GR Restarter集合中存在至少两个主GR Restarter的完整路由,则将控制单元701计算的最优路由标记为不完整发送到主GRRestarter集合中的所有主GR Restarter,若主GR Restarter集合中存在最多一个主GR Restarter的完整路由,则将控制单元701计算的最优路由标记为完整发送到所述最多一个主GR Restarter;如果未收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则将控制单元701计算的最优路由标记为不完整发送到主GR Restarter集合中的所有主GR Restarter。
所述控制单元701,用于如果接收单元收到从GR Restarter的标记为完整的路由,则确定已收全该从GR Restarter的完整路由;如果接收单元收到主GRRestarter的标记为完整的路由,则确定已收全该主GR Restarter的完整路由;如果接收单元收全所有邻居网络设备的标记为完整的路由,则确定已收全所有路由。
所述收发单元702在将控制单元701计算的最优路由标记为完整发送到从GR Restarter或主GR Restarter时,用于:将控制单元701计算的最优路由发送到该从GR Restarter或主GR Restarter,并将未携带Partial标志的EOR消息发送到该从GR Restarter或主GR Restarter;
所述收发单元702在将控制单元701计算的最优路由标记为不完整发送到从GR Restarter或主GR Restarter时,用于:将控制单元701计算的最优路由发送到该从GR Restarter或主GR Restarter,并将携带Partial标志的EOR消息发送到该从GR Restarter或主GR Restarter。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (15)

1.一种边界网关协议平滑重启方法,其特征在于,该方法包括:
当存在多个平滑重启设备GR Restarter时,在所述多个GR Restarter中选举主GR Restarter以及该主GR Restarter的从GR Restarter;
当前GR Restarter作为主GR Restarter,且已经接收到除自身的所有从GRRestarter外的所有邻居网络设备发送的路由,则计算最优路由,将计算的最优路由发送到自身的所有从GR Restarter;如果接收到自身的所有从GR Restarter发送的最优路由,则重新计算最优路由,将计算的最优路由下发到本地转发表,并发送到所有邻居网络设备,完成GR过程;
当前GR Restarter作为从GR Restarter,且已经接收到所有邻居网络设备发送的最优路由,则计算最优路由,将计算的最优路由下发到本地转发表,并发送到所有邻居网络设备,完成GR过程;
其中,所述多个GR Restarter构成的集合中的每个GR Restarter与所述多个GR Restarter构成的集合中至少一个其他GR Restarter直接相连。
2.根据权利要求1所述的边界网关协议平滑重启方法,其特征在于,
当前GR Restarter作为主GR Restarter,在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步包括:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,将计算的最优路由发送到自身的所有从GR Restarter;在将计算的最优路由发送到自身的所有从GRRestarter之后,如果接收到自身的所有从GR Restarter发送的最优路由,则再次计算最优路由;
当前GR Restarter作为从GR Restarter,在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步包括:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,将计算的最优路由发送到自身的所有主GR Restarter;在将计算的最优路由发送到自身的所有主GRRestarter之后,如果接收到自身的所有主GR Restarter发送的路由,则再次计算最优路由。
3.如权利要求2所述的边界网关协议平滑重启方法,其特征在于,
所述将计算的最优路由发送到自身的所有从GR Restarter的方法为:如果已收全除自身的所有从GR Restarter外所有邻居网络设备的完整路由,则若未收全自身的至少两个从GR Restarter的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有从GR Restarter,若未收全自身的最多一个从GR Restarter的完整路由,则将计算的最优路由标记为完整路由发送到所述最多一个从GRRestarter,将计算的最优路由标记为不完整路由发送到自身的其他所有从GRRestarter;如果未收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有从GRRestarter;
所述将计算的最优路由发送到自身的所有主GR Restarter的方法为:如果已收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则若未收全自身的至少两个主GR Restarter的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有主GR Restarter,若未收全自身的最多一个主GRRestarter的完整路由,则将计算的最优路由标记为完整路由发送到所述最多一个主GR Restarter,将计算的最优路由标记为不完整路由发送到自身的其他所有主GR Restarter;如果未收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有主GRRestarter。
4.根据权利要求1所述的边界网关协议平滑重启方法,其特征在于,
当前GR Restarter作为主GR Restarter,在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步包括:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,确定从GR Restarter集合,将计算的最优路由发送到从GR Restarter集合中的所有从GR Restarter;在将计算的最优路由发送到从GR Restarter集合中的所有从GR Restarter之后,如果接收到从GR Restarter集合中的所有从GR Restarter发送的最优路由,则再次计算最优路由;
当前GR Restarter作为从GR Restarter,在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步包括:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,确定主GR Restarter集合,将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter;在将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter之后,如果接收到主GR Restarter集合中的所有主GR Restarter发送的最优路由,则再次计算最优路由。
5.如权利要求4所述的边界网关协议平滑重启方法,其特征在于,
所述确定从GR Restarter集合的方法为:对于自身的每个从GR Restarter,如果尚未接收到该从GR Restarter的标记为完整的路由,则将该从GR Restarter添加到从GR Restarter集合;
所述将计算的最优路由发送到从GR Restarter集合中的所有从GR Restarter的方法为:如果已收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则若从GR Restarter集合中存在至少两个从GR Restarter,则将计算的最优路由标记为不完整发送到从GR Restarter集合中的所有从GR Restarter,若从GR Restarter集合中存在最多一个从GR Restarter,则将计算的最优路由标记为完整发送到所述最多一个从GR Restarter;如果未收全除自身的所有从GRRestarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整发送到从GR Restarter集合中的所有从GR Restarter;
所述确定主GR Restarter集合的方法为:对于自身的每个主GR Restarter,如果未收到该主GR Restarter的标记为完整的路由,则将该主GR Restarter添加到主GR Restarter集合;
所述将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter的方法为:如果已收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则若主GR Restarter集合中存在至少两个主GR Restarter,则将计算的最优路由标记为不完整路由发送到主GR Restarter集合中的所有主GR Restarter,若主GR Restarter集合中存在最多一个主GR Restarter,则将计算的最优路由标记为完整路由发送到所述最多一个主GR Restarter;如果未收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整路由发送到主GR Restarter集合中的所有主GR Restarter。
6.如权利要求3或5所述的边界网关协议平滑重启方法,其特征在于,
如果当前GR Restarter接收到从GR Restarter的标记为完整的路由,则确定已收全该从GR Restarter的完整路由;
如果当前GR Restarter接收到主GR Restarter的标记为完整的路由,则确定已收全该主GR Restarter的完整路由;
如果当前GR Restarter接收全所有邻居网络设备的标记为完整的路由,则确定已收全所有路由。
7.如权利要求3或5所述的边界网关协议平滑重启方法,其特征在于,
将计算的最优路由标记为完整路由发送到从GR Restarter或主GR Restarter的方法为:将计算的最优路由发送到该从GR Restarter或主GR Restarter,并将未携带Partial标志的EOR消息发送到该从GR Restarter或主GR Restarter;
将计算的最优路由标记为不完整路由发送到从GR Restarter的方法为:将计算的最优路由发送到该从GR Restarter或主GR Restarter,并将携带Partial标志的EOR消息发送到该从GR Restarter获主GR Restarter。
8.如权利要求1-5任一权利要求所述的边界网关协议平滑重启方法,其特征在于,
在所述多个GR Restarter中选举主GR Restarter以及该主GR Restarter的从GR Restarter的方法为:对于所述多个GR Restarter中的任意两个直接相连的GRRestarter,按照预设规则在该直接相连的两个GR Restarter中选举一个作为主GRRestarter,另一个作为该主GR Restarter的从GR Restarter;
其中,所述按照预设规则在该直接相连的两个GR Restarter中选举一个作为主GR Restarter的方法为:根据每个GR Restarter的标识ID,选择该两个直接相连的GR Restarter中ID最大的或最小的一个作为主GR Resarter。
9.一种边界网关协议平滑重启设备GR Restarter,其特征在于,该平滑重启设备包括:控制单元、收发单元;
所述控制单元,用于当存在多个GR Restarter时,如果其所在GR Restarter作为主GR Restarter,且收发单元已经接收到除自身的所有从GR Restarter外的所有邻居网络设备发送的路由,则计算最优路由,并向收发单元发送第一通知;在收发单元根据第一通知将计算的最优路由发送到自身的所有从GR Restarter之后,如果收发单元接收到自身的所有从GR Restarter发送的最优路由,则重新计算最优路由,将计算的最优路由下发到本地转发表,并向收发单元发送第二通知;
所述收发单元,用于接收邻居网络设备发送的路由;用于接收到控制单元的第一通知后,将控制单元计算的最优路由发送到自身的所有从GR Restarter;用于接收到控制单元的第二通知后,将控制单元计算的最优路由发送到自身的所有邻居网络设备,完成GR过程;
其中,所述多个GR Restarter构成的集合中的每个GR Restarter与所述多个GR Restarter构成的集合中至少一个其他GR Restarter直接相连。
10.根据权利要求9所述的边界网关协议平滑重启设备,其特征在于,
所述控制单元,若其所在GR Restarter作为主GR Restarter,则在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步用于:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,向收发单元发送第一通知;在收发单元根据第一通知将计算的最优路由发送到自身的所有从GR Restarter之后,如果收发单元接收到自身的所有从GR Restarter发送的最优路由,则再次计算最优路由;
所述控制单元,若其所在GR Restarter作为从GR Restarter,则在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步用于:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,向收发单元发送第三通知;在收发单元根据第三通知将计算的最优路由发送到自身的所有主GR Restarter之后,如果收发单元接收到自身的所有主GR Restarter发送的路由,则再次计算最优路由;
所述收发单元,进一步用于:接收到控制单元的第三通知后,将控制单元计算的最优路由发送到自身的所有主GR Restarter。
11.如权利要求10所述的边界网关协议平滑重启设备,其特征在于
所述收发单元在将控制单元计算的最优路由发送到自身的所有从GRRestarter时,用于:如果已收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则若未收全自身的至少两个从GR Restarter的完整路由,则将计算的最优路由标记为不完整发送到自身的所有从GR Restarter,若未收全自身的最多一个从GR Restarter的完整路由,则将计算的最优路由标记为完整发送到所述最多一个从GR Restarter,将计算得到的最优路由标记为不完整发送到自身的其他所有从GR Restarter;如果未收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则将计算的最优路由标记为不完整路由发送到自身的所有从GR Restarter;
所述收发单元在将计算的最优路由发送到自身的所有主GR Restarter时,用于:如果已收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则若未收全自身的至少两个主GR Restarter的完整路由,则将计算的最优路由标记为不完整发送到自身的所有主GR Restarter,若未收全自身的最多一个主GR Restarter的完整路由,则将计算的最优路由标记为完整发送到所述最多一个主GR Restarter,将计算得到的最优路由标记为不完整发送到自身的其他所有主GR Restarter;如果未接收全除其所在GR Restarter的所有主GR Restarter外的所有邻居网络设备的完整路由,则将计算得到的最优路由标记为不完整发送到自身的所有主GR Restarter。
12.根据权利要求9所述的边界网关协议平滑重启设备,其特征在于,
所述控制单元,若其所在GR Restarter作为主GR Restarter,则在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步用于:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,确定从GR Restarter集合,并向收发单元发送第四通知;在收发单元根据第四通知将计算的最优路由发送到从GR Restarter集合中的所有从GR Restarter之后,如果收发单元接收到从GR Restarter集合中的所有从GR Restarter发送的最优路由,则再次计算最优路由;
所述控制单元,若其所在GR Restarter作为从GR Restarter,则在计算最优路由之后,将计算的最优路由下发到本地转发表之前,进一步用于:判断是否已收全所有路由,如果是,则将计算的最优路由下发到本地转发表,否则,确定主GR Restarter集合,并向收发单元发送第五通知;在收发单元根据第五通知将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter之后,如果收发单元接收到主GR Restarter集合中的所有主GR Restarter发送的路由,则再次计算最优路由;
所述收发单元,进一步用于:接收到控制单元的第四通知后,将控制单元计算的最优路由发送到控制单元确定的从GR Restarter集合中的所有从GRRestarter;接收到控制单元的第五通知后,将控制单元计算的最优路由发送到控制单元确定的主GR Restarter集合中的所有主GR Restarter。
13.如权利要求12所述的边界网关协议平滑重启设备,其特征在于,
所述控制单元在确定从GR Restarter集合时,用于:对于自身的每个从GRRestarter,如果尚未接收到该从GR Restarter的标记为完整的路由,则将该从GRRestarter添加到从GR Restarter集合;
所述收发单元在将控制单元计算的最优路由发送到从GR Restarter集合中的所有从GR Restarter时,用于:如果已收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则若从GR Restarter集合中存在至少两个从GRRestarter,则将控制单元计算的最优路由标记为不完整发送到从GR Restarter集合中的所有从GR Restarter,若从GR Restarter集合中存在最多一个从GRRestarter,则将控制单元计算的最优路由标记为完整发送到所述最多一个从GRRestarter;如果未收全除自身的所有从GR Restarter外的所有邻居网络设备的完整路由,则将控制单元计算的最优路由标记为不完整发送到从GR Restarter集合中的所有从GR Restarter;
所述控制单元在确定主GR Restarter集合时,用于:对于自身的每个主GRRestarter,如果尚未接收到该主GR Restarter的标记为完整的路由,则将该主GRRestarter添加到主GR Restarter集合;
所述收发单元在将计算的最优路由发送到主GR Restarter集合中的所有主GR Restarter时,用于:如果已收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则若主GR Restarter集合中存在至少两个主GR Restarter的完整路由,则将控制单元计算的最优路由标记为不完整发送到主GR Restarter集合中的所有主GR Restarter,若主GR Restarter集合中存在最多一个主GRRestarter的完整路由,则将控制单元计算的最优路由标记为完整发送到所述最多一个主GR Restarter;如果未收全除自身的所有主GR Restarter外的所有邻居网络设备的完整路由,则将控制单元计算的最优路由标记为不完整发送到主GRRestarter集合中的所有主GR Restarter。
14.如权利要求11或13所述的边界网关协议平滑重启设备,其特征在于,
所述控制单元,用于如果接收单元收到从GR Restarter的标记为完整的路由,则确定已收全该从GR Restarter的完整路由;如果接收单元收到主GR Restarter的标记为完整的路由,则确定已收全该主GR Restarter的完整路由;如果接收单元收全所有邻居网络设备的标记为完整的路由,则确定已收全所有路由。
15.如权利要求11或13所述的边界网关协议平滑重启设备,其特征在于,
所述收发单元在将控制单元计算的最优路由标记为完整发送到从GRRestarter或主GR Restarter时,用于:将控制单元计算的最优路由发送到该从GR Restarter或主GR Restarter,并将未携带Partial标志的EOR消息发送到该从GR Restarter或主GR Restarter;
所述收发单元在将控制单元计算的最优路由标记为不完整发送到从GRRestarter或主GR Restarter时,用于:将控制单元计算的最优路由发送到该从GR Restarter或主GR Restarter,并将携带Partial标志的EOR消息发送到该从GR Restarter或主GR Restarter。
CN201110455301.XA 2011-12-28 2011-12-28 一种边界网关协议平滑重启方法和装置 Active CN102571425B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201110455301.XA CN102571425B (zh) 2011-12-28 2011-12-28 一种边界网关协议平滑重启方法和装置
PCT/CN2012/087261 WO2013097662A1 (en) 2011-12-28 2012-12-24 Graceful restart (gr) methods and devices
US14/355,209 US9225590B2 (en) 2011-12-28 2012-12-24 Graceful restart (GR) methods and devices
EP20120863216 EP2798801A4 (en) 2011-12-28 2012-12-24 METHODS AND DEVICES FOR SMOOTH RESTART (GR)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110455301.XA CN102571425B (zh) 2011-12-28 2011-12-28 一种边界网关协议平滑重启方法和装置

Publications (2)

Publication Number Publication Date
CN102571425A CN102571425A (zh) 2012-07-11
CN102571425B true CN102571425B (zh) 2014-09-17

Family

ID=46415951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110455301.XA Active CN102571425B (zh) 2011-12-28 2011-12-28 一种边界网关协议平滑重启方法和装置

Country Status (4)

Country Link
US (1) US9225590B2 (zh)
EP (1) EP2798801A4 (zh)
CN (1) CN102571425B (zh)
WO (1) WO2013097662A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571425B (zh) 2011-12-28 2014-09-17 杭州华三通信技术有限公司 一种边界网关协议平滑重启方法和装置
US10630585B2 (en) * 2015-04-16 2020-04-21 Arista Networks, Inc. Method and system for withdrawing programmed routes in network devices
CN106209469A (zh) * 2016-07-21 2016-12-07 杭州迪普科技有限公司 进程重启的方法及装置
CN106411728B (zh) * 2016-09-29 2019-10-11 新华三技术有限公司 路由处理方法和装置
CN106911568B (zh) * 2017-02-24 2019-11-12 新华三技术有限公司 Bgp gr实现方法及装置
CN110971516B (zh) * 2019-10-25 2021-01-15 华为技术有限公司 路由信息的处理方法和装置
CN115225562A (zh) * 2021-04-15 2022-10-21 华为技术有限公司 路由更新方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1744567A (zh) * 2005-08-22 2006-03-08 广东省电信有限公司研究院 一种实现快速路由收敛的路由器平稳重启的方法
CN101072187A (zh) * 2007-07-06 2007-11-14 杭州华三通信技术有限公司 一种路由设备及其平滑重启方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8009556B2 (en) 2003-10-17 2011-08-30 Ip Infusion, Inc. System and method for providing redundant routing capabilities for a network node
US7688714B2 (en) * 2004-04-28 2010-03-30 Cisco Technology, Inc. Network routing apparatus that performs soft graceful restart
CN101461196A (zh) * 2006-05-30 2009-06-17 卢森特技术有限公司 在本地节点运行中断期间不间断的网络控制消息生成
US7508772B1 (en) * 2006-06-02 2009-03-24 Cisco Technology, Inc. Partial graceful restart for border gateway protocol (BGP)
CN101056270B (zh) * 2007-05-18 2010-10-06 华为技术有限公司 一种路由收敛的方法及路由设备
CN101521616B (zh) * 2008-02-27 2012-07-04 华为技术有限公司 边界网关协议bgp分布式系统中邻居迁移的方法和系统
US8154992B2 (en) 2009-08-11 2012-04-10 Google Inc. System and method for graceful restart
US8339942B2 (en) 2009-10-15 2012-12-25 Telefonaktiebolaget L M Ericsson (Publ) RSVP-TE graceful restart under fast re-route conditions
CN101753454B (zh) 2009-12-21 2013-01-30 华为技术有限公司 路由器平滑重启方法、路由器和网络系统
CN101860477A (zh) 2010-04-20 2010-10-13 北京星网锐捷网络技术有限公司 一种优雅重启中处理异常的方法和装置
US8799419B1 (en) * 2010-08-16 2014-08-05 Juniper Networks, Inc. Configuration update on virtual control plane
CN102571425B (zh) 2011-12-28 2014-09-17 杭州华三通信技术有限公司 一种边界网关协议平滑重启方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1744567A (zh) * 2005-08-22 2006-03-08 广东省电信有限公司研究院 一种实现快速路由收敛的路由器平稳重启的方法
CN101072187A (zh) * 2007-07-06 2007-11-14 杭州华三通信技术有限公司 一种路由设备及其平滑重启方法

Also Published As

Publication number Publication date
US20140301182A1 (en) 2014-10-09
EP2798801A1 (en) 2014-11-05
US9225590B2 (en) 2015-12-29
EP2798801A4 (en) 2015-05-20
CN102571425A (zh) 2012-07-11
WO2013097662A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
CN102571425B (zh) 一种边界网关协议平滑重启方法和装置
CN105637818B (zh) 通信网络中建立数据传输路径的方法、相应的网络元件和控制器
CN101796782A (zh) 在数据通信网络中转发数据
CN103460061A (zh) 用于为伪线提供改善的故障转移性能的系统和方法
CN102780635B (zh) 基于trill网络实现保护倒换的方法、tor交换机及系统
CN102638389A (zh) 一种trill网络的冗余备份方法及系统
CN102624745B (zh) 一种路径计算单元通信协议会话建立方法及装置
CN108650126B (zh) 一种ptn网络中自动发现和配置带内dcn的方法
CN106165322A (zh) 向冗余控制器路由协议的代理
CN102098202B (zh) 虚拟专用网拓扑控制方法、装置及系统
CN104410570B (zh) 一种基于vrrp的数据传输方法及装置
CN105577540A (zh) 一种业务链路的建立方法、装置及系统
CN107888493B (zh) 一种标签交换路径的建立方法及装置
CN103532872A (zh) 减少链路状态数据包泛洪的方法及路由器
EP2515477A1 (en) Method and system for service protection
WO2006022074A1 (ja) 通信ネットワーク、通信装置、通信制御方法及び通信制御プログラム
CN102769571B (zh) 一种平滑重启实现方法及设备
CN103200107A (zh) 一种报文的传输方法和设备
CN103959723A (zh) 一种重路由方法、系统以及网络设备
CN102045239A (zh) 点到多点伪线保护网络的实现方法及装置
CN102801618B (zh) 一种在以太环网中确定三层数据路径的方法及装置
CN102238040A (zh) 一种对ce进行监控的方法和路由设备
CN102404228B (zh) 一种基于ospf协议的gr处理方法和设备
CN103457795A (zh) Vcf网络中的mad方法及设备
CN109889445B (zh) 一种基于分布式平台的bgp-lsp实现系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.

CP03 Change of name, title or address