CN108696433A - 路由振荡抑制方法及bgp路由设备 - Google Patents
路由振荡抑制方法及bgp路由设备 Download PDFInfo
- Publication number
- CN108696433A CN108696433A CN201810818041.XA CN201810818041A CN108696433A CN 108696433 A CN108696433 A CN 108696433A CN 201810818041 A CN201810818041 A CN 201810818041A CN 108696433 A CN108696433 A CN 108696433A
- Authority
- CN
- China
- Prior art keywords
- bgp
- bgp routing
- information
- routing
- routing information
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种路由振荡抑制方法及BGP路由设备,在接收到BGP邻居发送的包括BGP路由信息的报文时,判断该BGP路由信息在该BGP邻居上是否发生路由振荡,若发生路由振荡,则记录该BGP路由信息,并且当确定该BGP路由信息在该BGP邻居上停止路由振荡时,将根据该BGP路由信息得到的优选路由信息下发到BGP路由设备的转发信息表。如此,可以在针对BGP路由信息路由抑制解除后,快速恢复与该BGP路由信息相关的数据转发业务。
Description
技术领域
本公开涉及通信技术领域,具体而言,涉及一种路由振荡抑制方法及BGP路由设备。
背景技术
边界网关协议(BorderGatewayProtocol,BGP)作为一种支持十万甚至百万级别的大路由的协议,所处网络环境较为复杂,容易出现路由振荡(即某条路由反复消失和出现)的情况。而一条路由每消失和出现一次,对获得该路由的BGP路由设备而言,都相当于获得了新的路由,会根据该路由重新计算优选路由信息,并按照BGP规定的发布规则将该路由发布给相应的BGP邻居。对应地,获得该路由的BGP邻居也会不断重复计算优选路由信息。如此,会造成对CPU资源及带宽资源等的浪费。
目前,通常会通过对发生路由振荡的BGP路由信息进行路由抑制,来避免上述情况,但在现有的路由抑制方式中,在解除对BGP路由信息的路由抑制后,不能快速地恢复与该BGP路由信息相关的数据转发业务。
发明内容
有鉴于此,本公开的目的在于提供一种路由振荡抑制方法及BGP路由设备,以至少部分地解决上述问题。
为了达到上述目的,本公开采用如下技术方案:
第一方面,本公开提供一种路由振荡抑制方法,应用于BGP路由设备,该方法包括:
在接收到BGP邻居发送的包括BGP路由信息的报文时,判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡;
若所述BGP路由信息在所述BGP邻居上发生路由振荡,则记录所述BGP路由信息,并且当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,将根据所述BGP路由信息得到的优选路由信息下发到所述BGP路由设备的转发信息表。
第二方面,本公开实施例还提供一种BGP路由设备,该BGP路由设备包括:
判断模块,用于在接收到BGP邻居发送的包括BGP路由信息的报文时,判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡;
预下发模块,用于当所述BGP路由信息在所述BGP邻居上发生路由振荡时,记录所述BGP路由信息,并且当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,将根据所述BGP路由信息得到的优选路由信息下发到所述BGP路由设备的转发信息表。
相对于现有技术而言,本公开具有以下有益效果:
本公开提供的一种路由振荡抑制方法及BGP路由设备,在接收到BGP邻居发送的包括BGP路由信息的报文时,判断该BGP路由信息在BGP邻居上是否发生路由振荡,如果是,则记录该BGP路由信息,并且当确定该BGP路由信息在BGP邻居上停止振荡时,将根据该BGP路由信息得到的优选路由信息下发到BGP路由设备的转发信息表上。如此,可以在针对BGP路由信息的抑制解除后,快速将用于指导数据转发的优选路由信息下发到硬件,从而快速恢复与该BGP路由信息相关的数据转发业务。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开提供的一种BGP组网的连接示意图;
图2为本公开提供的一种BGP路由设备的方框示意图;
图3为本公开提供的一种路由振荡抑制方法的流程示意图;
图4为本公开提供的路由振荡抑制方法的又一流程示意图;
图5为本公开提供的路由振荡抑制方法的又一流程示意图;
图6为本公开提供的又一种BGP组网的连接示意图。
图7为本公开提供的一种具体示例中的路由振荡抑制方法的流程示意图;
图8为本公开提供的又一种具体示例中的路由振荡抑制方法的流程示意图;
图9为本公开提供的一种BGP路由设备的功能模块框图。
图标:10、20-BGP组网;11、12、21、22、23、24、25-BGP路由设备;111-存储器;112-处理器;113-通信单元;91-判断模块;92-预下发模块;93-批量抑制解除模块;94-预下发模块。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和展示的本公开实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
BGP是一种用于自治系统(Autonomous System,AS)之间的动态路由协议,用于在不同的AS之间交换路由信息。其中,每个自治系统中包括至少一个BGP路由设备。运用BGP的网络环境通常比较复杂,容易出现路由振荡。
在BGP组网中,通常会对发生路由振荡的BGP路由信息进行路由抑制(又称“路由衰减”),以避免因为该BGP路由信息反复消失和重现所导致的CPU资源占用及带宽资源占用。
详细地,BGP路由设备通常会采用惩罚值来衡量每条路由信息的稳定性,BGP路由信息的可达性状态每次发生变化时,BGP路由设备为该BGP路由信息增加一定惩罚值,当惩罚值达到设定的阈值时,就确定该BGP路由信息发生了路由振荡,不再允许该BGP路由信息参与路由选取,也不再对外发布该BGP路由信息此过程通常被称作“路由抑制”。当被路由抑制的BGP路由信息不再反复出现之后,惩罚值会逐渐减小,当惩罚值减小到预设值后,则确定该BGP路由信息已停止路由振荡,从而解除针对该BGP路由信息的路由抑制,此时,该BGP路由信息会被发布给BGP邻居,BGP邻居接收到该BGP路由信息后,会进行优选路由信息的计算,并将计算出的优选路由信息下发到转发信息表(ForwardInformationDataBase,FIB)。
然而,经研究发现,在上述实施方式中,在针对BGP路由信息的路由抑制解除之后,需要先将被解除抑制的BGP路由信息发布给相应的BGP邻居,BGP邻居再基于接收到的BGP路由信息计算优选路由并下发到硬件以用于指导数据的转发,并且,对于涉及到等价路由、主备路由等的还需先对BGP路由信息的等价关系、主备关系等进行计算,然后才能计算相应的优选路由信息。当被路由抑制的BGP路由信息较多(BGP组网环境中通常为上百万条)时,这一过程耗时会很长,导致在针对BGP路由信息的抑制解除后不能快速恢复与该BGP路由信息相关的数据转发业务。
针对上述问题,本公开实施例提供一种路由振荡抑制方法及BGP路由设备,用于在针对BGP路由信息的路由抑制被解除后,快速恢复BGP组网对与该BGP路由信息相关的数据的转发业务。
如图1所示,是本公开实施例提供的一种BGP组网10的示意图,该BGP组网10包括互为邻居的BGP路由设备11和BGP路由设备12,其中,本公开中的BGP路由设备均为运行有BGP的路由设备(如,路由器或三层交换机等)。
下面以图1所示的BGP路由设备11为例,给出BGP路由设备的一种方框示意图。如图2所示,BGP路由设备11包括存储器111、处理器112及通信单元113。
其中,所述存储器111、处理器112及通信单元113相互之间直接或间接地电性连接,以实现数据的传输和交互。例如,这些元件之间可通过一条或多条通讯总线或信号线实现电性连接。存储器111中存储有用于实现本公开提供的路由振荡抑制方法的至少一个功能模块,该至少一个功能模块可以以软件或固件(firmware)的形式存储在存储器111中。处理器112用于执行存储在存储器111中的可执行模块,以实现相应的功能应用及数据处理。通信单元113用于建立BGP路由设备111与其他设备(诸如,BGP邻居、用户侧设备等)间的通信连接,以实现数据交互。
应当理解,图2所示仅为示意,BGP路由设备11还可以包括比图2所示更多或更少的组件,或是具有与图2所示完全不同的配置。图2所示的各组件可以以硬件、软件或其组合实现。
本公开提供的各BGP路由设备所包括的组件及组件之间的关系均可以与BGP路由设备11类似,在此不再赘述。
请参照图3,是本公开实施例提供的一种路由振荡抑制方法的流程示意图,该方法可以应用于图1所示的任一BGP路由设备。下面将结合图3对本实施例提供的路由振荡抑制方法进行详细阐述。
步骤S31,在接收到BGP邻居发送的包括BGP路由信息的报文时,判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡。
在BGP组网中,每个BGP路由设备在获得BGP路由信息时,均可以按照BGP的路由通告原则,将获得的BGP路由信息通告给相应的BGP邻居。但当BGP路由设备上开启路由抑制功能时,会检测BGP路由信息是否发生路由振荡,如果发生路由振荡,则会触发对该BGP路由信息进行路由抑制,或是对下一跳路由设备(或下一跳)与该BGP路由信息相同的BGP路由信息进行路由抑制。
在本公开中,当BGP路由设备检测到任一BGP路由信息发生路由振荡时,仍可以按照BGP的路由通告原则将该BGP路由信息发布出去。
在一些应用场景中,BGP规定的路由通告原则如下:从EBGP(ExternalBorderGatewayProtocol,外部边界网关协议)邻居处学习到的BGP路由信息,会被发布给所有邻居,包括IBGP(InternalBorderGatewayProtocol,内部边界网关协议)邻居和EBGP邻居;从IBGP邻居学习到的BGP路由信息,将不再发布给IBGP邻居;自身产生的BGP路由信息,会发送给所有BGP邻居。
其中,与BGP路由设备位于同一AS的邻居被称作该BGP路由设备的IBGP邻居,与BGP路由设备位于不同AS的邻居被称作该BGP路由设备的EBGP邻居。
应当理解,上述路由通告原则仅为示意,在其他的应用场景下,也可能有不同的规定。
例如在图1所示场景中,当BGP路由设备11获得某一BGP路由信息A,假设BGP路由设备11通过检测确定BGP路由信息A在本设备上发生了路由振荡,则可以按照BGP路由通告原则,将BGP路由信息A发布出去。如此,可以避免在BGP路由设备11解除对BGP路由信息A的路由抑制后,再发布BGP路由信息A,节省了BGP路由信息A在网络中的传输时间。
在本公开中,考虑到BGP路由设备发布的路由信息可能是出现振荡的路由信息,因此,接收端需要判断接收到的BGP路由信息在发送端上是否出现路由振荡,以避免将该BGP路由信息当做正常BGP路由信息进行处理。例如,假设上述示例中,BGP路由设备12接收到BGP路由设备11发送的BGP路由信息A,则BGP路由设备12需要判断BGP路由信息A在BGP路由设备11上是否出现路由振荡。
在一种具体实施方式中,步骤S21可以通过如图4所示的子步骤,来判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡。
步骤S41,判断所述BGP路由信息的下一跳路由设备是否为预设的目标路由设备。
在本实施例中,考虑到并非所有的业务都对恢复速度有较高的要求,因此,可以仅根据需要针对部分BGP邻居执行本公开实施例提供的上述路由振荡抑制方法。基于此,在本公开实施例中,可选地,所述BGP路由设备中可以预设有至少一个目标路由设备,所述目标路由设备通常是所述BGP路由设备的特定BGP邻居。例如,在一些实施方式中,由于自治系统内的各个BGP路由设备的FIB要确保一致,因而,BGP组网10中的路由抑制通常是针对EBGP邻居进行的。在此场景中,所述目标路由设备可以是所述BGP路由设备的全部或部分EBGP邻居。
可选地,当所述目标路由设备为所述BGP路由设备的全部EBGP邻居时,可以通过如下步骤在所述BGP路由设备上设置所述目标路由设备:
当所述BGP路由设备检测到任意BGP路由信息出现路由振荡时,判断该BGP路由信息的下一跳路由设备是否为本设备的EBGP邻居;
若为本设备的EBGP邻居,则将在本设备上将该下一跳路由设备设置为目标路由设备。
其中,所述BGP路由设备上存储有本设备的BGP邻居的配置信息,可以根据该配置信息来来判断所述下一跳路由设备是否为本设备的EBGP邻居。
在本公开中,所述目标路由设备可以用routerid来表示,也可以用所述目标路由设备与所述BGP路由设备对应的出接口的IP地址来表示。应当理解,本公开实施例对IPv4(InternetProtocolVersion 4)和IPv6(InternetProtocolVersion 6)均适用。
步骤S42,若为所述目标路由设备,则判断以所述目标路由设备为下一跳路由设备的BGP路由信息是否在所述BGP路由设备上发生路由振荡。
步骤S43,若是,则确定所述BGP路由信息在所述BGP邻居上发生路由振荡。
其中,如果某一BGP路由信息在所述BGP邻居上发生了路由振荡,所述BGP路由设备从所述BGP邻居处获得的该BGP路由信息也势必会出现振荡。例如图1所示场景,当BGP路由信息A在BGP路由设备11上发生路由振荡时,若BGP路由设备11继续向外发布BGP路由信息A,则BGP路由设备12接收到的BGP路由信息A的可达性仍旧是在不断变化的,即处于路由振荡状态。因而,可以通过检测BGP路由信息A在BGP路由设备12上是否发生路由振荡,来判断BGP路由信息A在BGP路由设备11上是否发生路由振荡。
在又一种具体实施方式中,可以通过与所述BGP邻居的相互配合来实现。详细地,步骤S31可以通过如图5所示的子步骤。
步骤S51,判断所述报文中是否包括第一标志信息。
其中,所述第一标志信息为所述BGP邻居在所述BGP路由信息发生路由振荡时添加到用于发布所述BGP路由信息的报文中的标志信息。
在本实施例中,所述报文可以是在用于通告路由信息的Update报文的预设字段中设置所述第一标志信息后得到的报文,其中,所述预设字段可以是Update报文中的任意可用字段。所述第一标志信息可以为“Unavailable”,当然也可以是其它预设的字符。
步骤S52,若包括所述第一标志信息,则确定所述BGP路由信息在所述BGP邻居上发生路由振荡。
通过上述子步骤S51和S52,可以判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡。
步骤S32,若所述BGP路由信息在所述BGP邻居上发生路由振荡,则记录所述BGP路由信息,并且当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,将根据所述BGP路由信息得到的优选路由信息下发到所述BGP路由设备的转发信息表。
在实施时,如果判断出所述BGP路由信息在所述BGP邻居上发生路由振荡,表示所述BGP路由信息需要被路由抑制,此时,所述BGP路由设备不会将根据所述BGP路由信息得到的优选路由信息下发到硬件(FIB),而是当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,再将该优选路由信息下发到硬件。
其中,优选路由信息与所述BGP路由信息的对应关系,可以通过目的IP地址等通信特征确定。比如,可以将与所述BGP路由信息的目的IP地址相同的优选路由信息下发到FIB。
可选地,在本公开中,可以通过如下步骤判断所述BGP路由信息是否在所述BGP邻居上停止路由振荡:
在接收到包括第二标志信息和所述BGP路由信息的报文时,确定所述BGP路由信息在所述BGP邻居上已停止路由振荡。
其中,所述第二标志信息为所述BGP邻居在所述BGP路由信息停止振荡时添加到用于发布所述BGP路由信息的报文中的标志信息。基于此,所述BGP路由设备可以通过上述步骤来判断所述BGP路由信息在所述BGP邻居上是否停止路由振荡。
可选地,上述步骤中的报文可以是在Update报文的预设字段设置第二标志信息所得到的报文,该第二标志信息可以为“available”,当然也可以是其它预设字符。设置第二标志信息的预设字段和设置第一标志信息的预设字段,可以是Update报文的同一字段,也可以是Update报文的不同字段,本实施例对此不做限制。
可选地,在本公开中,为进一步提高效率,所述路由振荡抑制方法还可以包括以下步骤:
当确定所述BGP路由信息在所述BGP邻居上发生路由振荡时,根据所述BGP路由信息计算所述优选路由信息。
如此,当所述BGP邻居解除对所述BGP路由信息的路由抑制时,不仅可以节约所述BGP路由信息在网络中的传输时间,还可以节约计算优选路由信息的时间,从而更为快速地恢复相应的转发业务。
在本公开中,当将所述优选路由信息下发到转发信息表(FIB)之后预设时长,可以检测所述BGP路由信息是否再次出现路由振荡,若没有再次出现路由振荡,则可以删除所述优选路由信息。
如此,可以避免所述BGP路由设备反复地重新计算优选路由信息,避免了对CPU资源的浪费。
经研究发现,在实际应用中,路由振荡通常是由某一BGP路由设备出现故障,或是某两个BGP路由设备之间的链路出现震荡造成的。例如图6所示的BGP组网20,该BGP组网20包括BGP路由设备21、BGP路由设备22、BGP路由设备23及BGP路由设备24。其中,BGP路由设备21为BGP路由设备22和BGP路由设备23的EBGP邻居,BGP路由设备22和BGP路由设备23均为BGP路由设备24的IBGP邻居。其中,当BGP路由设备21出现振荡时,BGP路由设备22和BGP路由设备23从BGP路由设备21处获得的BGP路由信息都会反复消失和出现,即从BGP路由设备21处获得的BGP路由信息通常都会被判定为需要被路由抑制。又比如,当BGP路由设备21和BGP路由设备22之间的链路出现震荡或故障时,BGP路由设备22从BGP路由设备21处获得的BGP路由信息会不断消失和出现,即BGP路由设备22从BGP路由设备21处获得的BGP路由信息通常会被判定为需要被路由抑制。
基于此,当检测到某一条BGP路由信息需要被路由抑制时,可以对下一跳路由设备与该BGP路由信息的下一跳路由设备相同的所有BGP路由信息都进行抑制。对应地,当针对某一BGP路由信息的路由抑制解除时,可以将对下一跳路由设备与该BGP路由信息下一跳路由设备相同的所有BGP路由信息的路由抑制解除。
其中,当两条BGP路由信息的下一跳相同时,可以认为该两条BGP路由信息的下一跳路由设备相同;或是当两条BGP路由信息的下一跳所在的routerid相同时,也可以确定该两条BGP路由信息的下一跳路由设备相同。
基于上述描述,可选地,在本实施例中,所述路由振荡抑制方法还可以包括如下步骤:
当确定所述BGP路由信息在所述BGP路由设备上停止路由振荡时,在被路由抑制的路由信息中查找下一跳路由设备与所述BGP路由信息的下一跳路由设备相同的其他BGP路由信息,并解除对所述其他BGP路由信息的路由抑制。
此外,为了进一步节约传输时间,在本公开中,所述路由振荡抑制方法还可以包括如下步骤:
当判断所述BGP路由信息在所述BGP邻居上发生路由振荡时,发布所述BGP路由信息。
也即,所述BGP路由设备可以将发生路由振荡的BGP路由信息提前发布出去,从而节约传输时间。
在本公开中,所述BGP路由设备发布所述BGP路由信息的方式可以有多种,例如,可以直接通过Update报文向外发布,又如,可以在用于发布该BGP路由信息的Update报文中添加所述第一标志信息得到新的报文,并通过该新的报文发布。
下面给出具体示例,以对本公开提供的路由振荡抑制方法做进一步的阐述,具体描述如下。
请再次参照图6,图6所示的BGP组网20还包括BGP路由设备25。其中,BGP路由设备21属于AS100,BGP路由设备22、BGP路由设备23、BGP路由设备24和BGP路由设备25属于AS200。现在以BGP路由设备24为例,对本公开提供的路由振荡抑制方法进行详述。
假设现在以BGP路由设备21为上述方案中的目标路由设备,则BGP路由设备22和BGP路由设备23上设置有BGP路由设备21的routerid。
此外,也可以在BGP路由设备22上设置IP地址3001::1/64来表示BGP路由设备为所述目标路由设备,其中3001::1/64是BGP路由设备21发送给BGP路由设备22的BGP路由信息的下一跳。对应地,在BGP路由设备23上可以设置IP地址2001::1/64来表示BGP路由设备21为所述目标路由设备,其中,2001::1/64是BGP路由设备21发送给BGP路由设备23的BGP路由信息的下一跳。
其中,设置的目标路由设备用于供BGP路由设备22和23判断是否需要将发生路由振荡的BGP路由信息发布出去,及是否需要对该发生路由振荡的BGP路由信息进行优选路由信息的计算。
现在假定BGP路由设备21出现了故障,则BGP路由设备22和BGP路由设备23从BGP路由设备21处获得的BGP路由信息会发生振荡,则BGP路由设备22和BGP路由设备23针对下一跳路由设备是BGP路由设备21的BGP路由信息都会触发路由抑制。
在一种具体示例中,本公开实施例提供的路由振荡抑制方法可以包括图7所示的步骤。
在此示例中,BGP路由设备24中设置有3001::1/64用以表示目标路由设备。在此值得说明的是,在BGP中,BGP路由设备通常只在将本设备获得的BGP路由信息发布给EBGP邻居时,以及将本设备产生的BGP路由信息发布给所有BGP邻居时,才会修改所发布的BGP路由信息的下一跳。
因此,在图6所示的BGP组网20中,BGP路由设备21通过BGP路由设备22(或BGP路由设备23)发布给BGP路由设备24的BGP路由信息的下一跳通常都为3001::1/64(或2001::1/64)。
步骤S71,BGP路由设备22接收BGP路由设备21发送的BGP路由信息A1,确定BGP路由信息A1的下一跳为预设的3001::1/64,并进一步检测BGP路由信息A1是否在本设备上发生路由振荡,若是,依照BGP规定的路由通告原则将BGP路由信息A1发布出去,以及根据BGP路由信息A1进行优选路由信息的计算。
步骤S72,BGP路由设备22在检测到BGP路由信息A1在本设备上停止路由振荡时,将计算得到的路由信息B1下发到BGP路由设备22的FIB。
步骤S73,BGP路由设备24接收BGP路由设备22发布的BGP路由信息A1,确定BGP路由信息A1的下一跳为预设的3001::1/64,并进一步检测BGP路由信息A1在本设备上是否发生路由振荡,若是,根据BGP路由信息A1计算优选路由信息B2。
与此同时,如果按照BGP路由发布规则,BGP路由设备24还需向相应邻居(如,BGP路由设备25)发布BGP路由信息A1,则进一步通过Update报文发布BGP路由信息A1给BGP路由设备25。
步骤S74,BGP路由设备24在检测到BGP路由信息A1在本设备上停止路由振荡时,下发该优选路由信息B2到BGP路由设备24的FIB。
其中,假设BGP路由设备25可以接收到BGP路由设备24发布的BGP路由信息A1,则BGP路由设备25可以按照上述的步骤S73和步骤S74处理接收到的BGP路由信息A1。
在此示例中,BGP路由设备23的处理过程与BGP路由设备22类似,在此不再赘述。
在又一具体示例中,BGP路由设备22设置有用以表示目标路由设备的IP地址3001::1/64,BGP路由设备23设置有用以表示目标路由设备的IP地址2001::1/64。请参照图8,在此示例中,本公开实施例提供的路由振荡抑制方法可以包括以下步骤。
步骤S81,BGP路由设备22接收BGP路由信息A2。
步骤S82,BGP路由设备22确定BGP路由信息A2的下一跳为3001::1/64,并进一步检测BGP路由信息A2在本设备上是否发生路由振荡。
步骤S83,若是,则生成包括BGP路由信息A2的Update报文M1,在该Update报文M1中添加“Unavailable”标识(第一标志信息)得到报文M2,发布报文M2,以及根据BGP路由信息计算优选路由信息,以得到优选路由信息B2。
应当理解,在本实施例中,BGP路由设备23会接收到BGP路由信息A3,BGP路由信息A3的下一跳为2001::1/64,BGP路由设备23在接收到BGP路由信息A3时的处理过程与上述的步骤82类似,在此不再赘述。
步骤S84,BGP路由设备24在接收到包括BGP路由信息A2的报文M2时,确定BGP路由信息A2在BGP路由设备22上发生路由振荡,则根据BGP路由信息A2进行优选路由信息的计算,以得到优选路由信息B3。
与此同时,按照BGP路由发布规则,如果BGP路由设备24需要向相应邻居(如,BGP路由设备25)发布BGP路由信息A2,则在确定BGP路由信息A2在BGP路由设备22上发生路由振荡时,可以继续生成包括BGP路由信息A2和“Unavailable”标识的报文并发布给BGP路由设备25。
步骤S85,BGP路由设备22在检测到BGP路由信息A2在本设备上停止路由振荡时,生成包括BGP路由信息A2的Update报文M1,在Update报文M1中添加“available”标识(第二标志信息)得到报文M3,发布报文M3,以及将计算得到的优选路由信息B2下发到BGP路由设备22的FIB。
步骤S86,BGP路由设备24在接收到报文M3时,确定BGP路由信息A2在BGP路由设备22上已停止路由振荡,则将计算得到的优选路由信息B3下发到BGP路由设备24的FIB。
步骤S87,BGP路由设备24在确定BGP路由信息A2在BGP路由设备22上已停止路由振荡时,在被路由抑制的路由信息中查找下一跳为3000::1/64的其他BGP路由信息,并解除对该其他BGP路由信息的路由抑制。
如此,根据所述其他BGP路由信息计算得到的优选路由信息会被批量地下发到BGP路由设备24的FIB。
如图9所示,是本公开实施例提供的一种BGP路由设备11的功能模块框图。所述BGP路由设备11包括判断模块91和预下发模块92。
其中,判断模块91用于在接收到BGP邻居发送的包括BGP路由信息的报文时,判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡。
在本实施例中,关于判断模块91的描述具体可参考对图3所示步骤S31的详细阐述,即步骤S21可被判断模块91执行。
可选地,在一种具体实施方式中,所述判断模块81具体可以用于判断所述BGP路由信息的下一跳路由设备是否为预设的目标路由设备;若为所述目标路由设备,则判断以所述目标路由设备为下一跳路由设备的BGP路由信息是否被所述BGP路由设备路由抑制;若被所述BGP路由设备路由抑制,则确定所述BGP路由信息在所述BGP邻居上发生路由振荡。
可选地,在又一种具体实施方式中,所述判断模块具体可以用于判断所述报文中是否包括第一标志信息,若包括所述第一标志信息,则确定所述BGP路由信息在所述BGP邻居上发生路由振荡;其中,所述第一标志信息为所述BGP邻居在所述BGP路由信息发生路由振荡时添加到用于发布所述BGP路由信息的报文中的标志信息。
在上述情况下,所述判断模块具体还可以用于在接收到包括第二标志信息和所述BGP路由信息的报文时,确定所述BGP路由信息在所述BGP邻居上已停止路由振荡;其中,所述第二标志信息为所述BGP邻居在所述BGP路由信息停止振荡时添加到用于发布所述BGP路由信息的报文中的标志信息。
预下发模块92用于当所述BGP路由信息在所述BGP邻居上发生路由振荡时,记录所述BGP路由信息,并且当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,将根据所述BGP路由信息得到的优选路由信息下发到所述BGP路由设备的转发信息表。
在本实施例中,关于预下发模块92的描述具体可参考对图3所示步骤S32的详细描述,即步骤S32可以由预下发模块92执行。
可选地,在本公开中,所述预下发模块92还可以用于当判断所述BGP路由信息在所述BGP邻居上发生路由振荡时,发布所述BGP路由信息。
可选地,在本实施例中所述BGP路由设备11还可以包括批量抑制解除模块93。
批量抑制解除模块93用于当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,在被路由抑制的路由信息中查找下一跳路由设备与所述BGP路由信息的下一跳路由设备相同的其他BGP路由信息,并解除对所述其他BGP路由信息的路由抑制。
可选地,在本公开中,所述BGP路由设备11还可以包括预计算模块94。
预计算模块94用于当确定所述BGP路由信息在所述BGP邻居上发生路由振荡时,根据所述BGP路由信息计算所述优选路由信息。
在本实施例中,关于上述模块的描述具体可参考对前述相关步骤的详细阐述。
应当理解,在本公开中,本公开提供的BGP路由设备均可以包括如图9所示的功能模块。
综上所述,本公开实施例提供的一种路由振荡抑制方法及BGP路由设备,在接收到BGP邻居发送的包括BGP路由信息的报文时,判断该BGP路由信息在BGP邻居上是否发生路由振荡,如果是,则记录该BGP路由信息,并且当确定该BGP路由信息在BGP邻居上停止振荡时,将根据该BGP路由信息得到的优选路由信息下发到BGP路由设备的转发信息表上。如此,可以在针对BGP路由信息的抑制解除后,快速将用于指导数据转发的优选路由信息下发到硬件,从而快速恢复与该BGP路由信息相关的数据转发业务。
在本公开所提供的实施例中,应该理解到,所揭露的设备和方法,也可以通过其它的方式实现。以上所描述的设备的功能模块实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种路由振荡抑制方法,其特征在于,应用于BGP路由设备,所述方法包括:
在接收到BGP邻居发送的包括BGP路由信息的报文时,判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡;
若所述BGP路由信息在所述BGP邻居上发生路由振荡,则记录所述BGP路由信息,并且当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,将根据所述BGP路由信息得到的优选路由信息下发到所述BGP路由设备的转发信息表。
2.根据权利要求1所述的路由振荡抑制方法,其特征在于,判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡,包括:
判断所述BGP路由信息的下一跳路由设备是否为预设的目标路由设备;
若为所述目标路由设备,则判断以所述目标路由设备为下一跳路由设备的BGP路由信息是否在所述BGP路由设备上发生路由振荡;
若是,则确定所述BGP路由信息在所述BGP邻居上发生路由振荡。
3.根据权利要求1所述的路由振荡抑制方法,其特征在于,判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡,包括:
判断所述报文中是否包括第一标志信息,其中,所述第一标志信息为所述BGP邻居在所述BGP路由信息发生路由振荡时添加到用于发布所述BGP路由信息的报文中的标志信息;
若包括所述第一标志信息,则确定所述BGP路由信息在所述BGP邻居上发生路由振荡。
4.根据权利要求3所述的路由振荡抑制方法,其特征在于,所述方法还包括:
在接收到包括第二标志信息和所述BGP路由信息的报文时,确定所述BGP路由信息在所述BGP邻居上已停止路由振荡,其中,所述第二标志信息为所述BGP邻居在所述BGP路由信息停止振荡时添加到用于发布所述BGP路由信息的报文中的标志信息。
5.根据权利要求1-4中任一项所述的路由振荡抑制方法,其特征在于,所述方法还包括:
当判断所述BGP路由信息在所述BGP邻居上发生路由振荡时,发布所述BGP路由信息。
6.根据权利要求1-4中任一项所述的路由振荡抑制方法,其特征在于,所述方法还包括:
当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,在被路由抑制的路由信息中查找下一跳路由设备与所述BGP路由信息的下一跳路由设备相同的其他BGP路由信息,并解除对所述其他BGP路由信息的路由抑制。
7.根据权利要求1-4中任一项所述的路由振荡抑制方法,其特征在于,所述方法还包括:
当确定所述BGP路由信息在所述BGP邻居上发生路由振荡时,根据所述BGP路由信息计算所述优选路由信息。
8.一种BGP路由设备,其特征在于,该BGP路由设备包括:
判断模块,用于在接收到BGP邻居发送的包括BGP路由信息的报文时,判断所述BGP路由信息在所述BGP邻居上是否发生路由振荡;
预下发模块,用于当所述BGP路由信息在所述BGP邻居上发生路由振荡时,记录所述BGP路由信息,并且当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,将根据所述BGP路由信息得到的优选路由信息下发到所述BGP路由设备的转发信息表。
9.根据权利要求8所述的BGP路由设备,其特征在于,所述判断模块具体用于判断所述BGP路由信息的下一跳路由设备是否为预设的目标路由设备;若为所述目标路由设备,则判断以所述目标路由设备为下一跳路由设备的BGP路由信息在所述BGP路由设备上是否发生路由振荡;若是,则确定所述BGP路由信息在所述BGP邻居上发生路由振荡。
10.根据权利要求8所述的BGP路由设备,其特征在于,所述判断模块具体用于判断所述报文中是否包括第一标志信息,若包括所述第一标志信息,则确定所述BGP路由信息在所述BGP邻居上发生路由振荡;其中,所述第一标志信息为所述BGP邻居在所述BGP路由信息发生路由振荡时添加到用于发布所述BGP路由信息的报文中的标志信息。
11.根据权利要求10所述的BGP路由设备,其特征在于,所述判断模块,还用于在接收到包括第二标志信息和所述BGP路由信息的报文时,确定所述BGP路由信息在所述BGP邻居上已停止路由振荡;其中,所述第二标志信息为所述BGP邻居在所述BGP路由信息停止振荡时添加到用于发布所述BGP路由信息的报文中的标志信息。
12.根据权利要求8-11中任一项所述的BGP路由设备,其特征在于,所述预下发模块,还用于当判断所述BGP路由信息在所述BGP邻居上发生路由振荡时,发布所述BGP路由信息。
13.根据权利要求8-11中任一项所述的BGP路由设备,其特征在于,所述BGP路由设备还包括:
批量抑制解除模块,用于当确定所述BGP路由信息在所述BGP邻居上停止路由振荡时,在被路由抑制的路由信息中查找下一跳路由设备与所述BGP路由信息的下一跳路由设备相同的其他BGP路由信息,并解除对所述其他BGP路由信息的路由抑制。
14.根据权利要求8-11中任一项所述的BGP路由设备,其特征在于,所述BGP路由设备还包括:
预计算模块,用于当确定所述BGP路由信息在所述BGP邻居上发生路由振荡时,根据所述BGP路由信息计算所述优选路由信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810818041.XA CN108696433B (zh) | 2018-07-24 | 2018-07-24 | 路由振荡抑制方法及bgp路由设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810818041.XA CN108696433B (zh) | 2018-07-24 | 2018-07-24 | 路由振荡抑制方法及bgp路由设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108696433A true CN108696433A (zh) | 2018-10-23 |
CN108696433B CN108696433B (zh) | 2021-04-06 |
Family
ID=63850834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810818041.XA Active CN108696433B (zh) | 2018-07-24 | 2018-07-24 | 路由振荡抑制方法及bgp路由设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108696433B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708207A (zh) * | 2018-12-24 | 2020-01-17 | 新华三技术有限公司 | 路由震荡定位方法、服务器及机器可读存储介质 |
CN114221896A (zh) * | 2021-11-11 | 2022-03-22 | 新华三大数据技术有限公司 | Bgp路由震荡的抑制方法及装置 |
CN114338505A (zh) * | 2021-12-01 | 2022-04-12 | 杭州迪普科技股份有限公司 | 一种路由计算方法、装置、存储介质和计算机设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561063A (zh) * | 2004-03-09 | 2005-01-05 | 港湾网络有限公司 | 高效处理路由聚合的方法及设备 |
US7180864B2 (en) * | 2002-02-27 | 2007-02-20 | Lucent Technologies Inc. | Method and apparatus for exchanging routing information within an autonomous system in a packet-based data network |
CN101674241A (zh) * | 2009-09-15 | 2010-03-17 | 杭州华三通信技术有限公司 | 一种ce双归属网络中避免rip环路的方法及设备 |
US7904589B2 (en) * | 2007-05-19 | 2011-03-08 | At&T Intellectual Property I, Lp | Intelligent computer network routing using logically centralized, physically distributed servers distinct from network routers |
CN102447605A (zh) * | 2010-09-30 | 2012-05-09 | 华为技术有限公司 | 一种请求获取路由信息的方法和相应的路由设备 |
CN102594714A (zh) * | 2012-03-29 | 2012-07-18 | 杭州华三通信技术有限公司 | 一种bgp路由处理方法和bgp路由设备 |
CN103036786A (zh) * | 2011-09-30 | 2013-04-10 | 华为技术有限公司 | 基于性能的路由方法和设备 |
CN103220228A (zh) * | 2013-04-10 | 2013-07-24 | 杭州华三通信技术有限公司 | 一种bgp路由的发送方法和设备 |
CN103986649A (zh) * | 2014-05-28 | 2014-08-13 | 杭州华三通信技术有限公司 | 一种边界网关协议平滑重启方法及路由设备 |
CN104270307A (zh) * | 2014-09-28 | 2015-01-07 | 杭州华三通信技术有限公司 | 一种bgp邻居的建立方法及设备 |
CN105391632A (zh) * | 2014-09-04 | 2016-03-09 | 中兴通讯股份有限公司 | 路由选择方法及装置 |
CN106911568A (zh) * | 2017-02-24 | 2017-06-30 | 新华三技术有限公司 | Bgp gr实现方法及装置 |
CN108307457A (zh) * | 2016-10-10 | 2018-07-20 | 电信科学技术研究院 | 一种消息路由的方法及装置 |
-
2018
- 2018-07-24 CN CN201810818041.XA patent/CN108696433B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7180864B2 (en) * | 2002-02-27 | 2007-02-20 | Lucent Technologies Inc. | Method and apparatus for exchanging routing information within an autonomous system in a packet-based data network |
CN1561063A (zh) * | 2004-03-09 | 2005-01-05 | 港湾网络有限公司 | 高效处理路由聚合的方法及设备 |
US7904589B2 (en) * | 2007-05-19 | 2011-03-08 | At&T Intellectual Property I, Lp | Intelligent computer network routing using logically centralized, physically distributed servers distinct from network routers |
CN101674241A (zh) * | 2009-09-15 | 2010-03-17 | 杭州华三通信技术有限公司 | 一种ce双归属网络中避免rip环路的方法及设备 |
CN102447605A (zh) * | 2010-09-30 | 2012-05-09 | 华为技术有限公司 | 一种请求获取路由信息的方法和相应的路由设备 |
CN103036786A (zh) * | 2011-09-30 | 2013-04-10 | 华为技术有限公司 | 基于性能的路由方法和设备 |
CN102594714A (zh) * | 2012-03-29 | 2012-07-18 | 杭州华三通信技术有限公司 | 一种bgp路由处理方法和bgp路由设备 |
CN103220228A (zh) * | 2013-04-10 | 2013-07-24 | 杭州华三通信技术有限公司 | 一种bgp路由的发送方法和设备 |
CN103986649A (zh) * | 2014-05-28 | 2014-08-13 | 杭州华三通信技术有限公司 | 一种边界网关协议平滑重启方法及路由设备 |
CN105391632A (zh) * | 2014-09-04 | 2016-03-09 | 中兴通讯股份有限公司 | 路由选择方法及装置 |
CN104270307A (zh) * | 2014-09-28 | 2015-01-07 | 杭州华三通信技术有限公司 | 一种bgp邻居的建立方法及设备 |
CN108307457A (zh) * | 2016-10-10 | 2018-07-20 | 电信科学技术研究院 | 一种消息路由的方法及装置 |
CN106911568A (zh) * | 2017-02-24 | 2017-06-30 | 新华三技术有限公司 | Bgp gr实现方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708207A (zh) * | 2018-12-24 | 2020-01-17 | 新华三技术有限公司 | 路由震荡定位方法、服务器及机器可读存储介质 |
CN114221896A (zh) * | 2021-11-11 | 2022-03-22 | 新华三大数据技术有限公司 | Bgp路由震荡的抑制方法及装置 |
CN114221896B (zh) * | 2021-11-11 | 2023-12-26 | 新华三大数据技术有限公司 | Bgp路由震荡的抑制方法及装置 |
CN114338505A (zh) * | 2021-12-01 | 2022-04-12 | 杭州迪普科技股份有限公司 | 一种路由计算方法、装置、存储介质和计算机设备 |
CN114338505B (zh) * | 2021-12-01 | 2023-06-27 | 杭州迪普科技股份有限公司 | 一种路由计算方法、装置、存储介质和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108696433B (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11368378B2 (en) | Identifying bogon address spaces | |
US9064216B2 (en) | Identifying likely faulty components in a distributed system | |
US10484265B2 (en) | Dynamic update of virtual network topology | |
CN113169968B (zh) | 协同dns安全性更新 | |
US8848544B2 (en) | Event correlation using network data flow simulation over unmanaged network segments | |
JP7416919B2 (ja) | データ処理方法及び装置並びにコンピュータ記憶媒体 | |
US11799774B2 (en) | Method, device, and system for determining route leak | |
WO2020135395A1 (zh) | 一种跨内部网关协议的前缀标识通告方法和装置 | |
CN105024985A (zh) | 一种报文处理方法及装置 | |
US7936668B2 (en) | Methods and apparatus for distributing label information | |
US11711281B2 (en) | Methods and network devices for detecting and resolving abnormal routes | |
CN108696433A (zh) | 路由振荡抑制方法及bgp路由设备 | |
CN103891217A (zh) | 使用网络测量触发的服务确保 | |
CN114465943B (zh) | 拓扑信息的发布方法、网络拓扑收集方法及设备 | |
US20210281507A1 (en) | Parameter notification and obtaining methods and devices, and storage medium | |
CN115150305A (zh) | 承载网时延链路确定系统、方法、电子设备及存储介质 | |
CN101631060A (zh) | 一种边缘端口的管理方法和装置 | |
Khan et al. | Data plane failure and its recovery techniques in SDN: A systematic literature review | |
EP4199461A1 (en) | Methods and devices for forwarding messages and issuing forwarding instruction information and notification messages | |
Chaudhary et al. | A comprehensive survey on software‐defined networking for smart communities | |
CN102457407B (zh) | 检测自治系统内ip地址冲突的方法及设备 | |
CN113261246B (zh) | 一种减少路由环路的方法、装置及系统 | |
CN102204169A (zh) | 故障检测方法、路由节点及系统 | |
US20230254244A1 (en) | Path determining method and apparatus, and computer storage medium | |
CN113938403A (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 |