CN114124780B - 路由发布方法、装置、电子设备及存储介质 - Google Patents
路由发布方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114124780B CN114124780B CN202111347998.9A CN202111347998A CN114124780B CN 114124780 B CN114124780 B CN 114124780B CN 202111347998 A CN202111347998 A CN 202111347998A CN 114124780 B CN114124780 B CN 114124780B
- Authority
- CN
- China
- Prior art keywords
- bgp
- route
- instances
- routes
- instance
- 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
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/14—Routing performance; Theoretical aspects
-
- 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/74—Address processing for routing
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路由的发布实现更精细化的控制。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种路由发布方法、装置、电子设备及存储介质。
背景技术
在使用边界网关协议(Border Gateway Protocol,BGP)的网络中,为保证内部边界网关协议(Interior Border Gateway Protocol,IBGP)对等体之间的连通性,需要在IBGP对等体之间建立全连接关系。假设在一个自治系统(Autonomous System,AS)内部有n个路由器,那么应该建立的IBGP连接数就为n(n-1)/2,当IBGP对等体数量很多时,对网络资源和CPU资源的消耗都很大。为了解决该问题,引入了BGP路由反射器,在一个AS内,如果其中一个路由器作为路由反射器(Route Reflector,RR),则其他路由器可以作为客户机,客户机与路由反射器之间建立IBGP连接,路由反射器和其客户机组成一个集群,路由反射器在客户机之间传递路由信息,而客户机之间不需要建立IBGP连接,从而减少了IBGP连接数量。
目前现有技术中路由反射器在发布路由时,一般是将接收到的路由发送给所有的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实例对应的路由表中,则将所述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实例对应的路由表进行路由发布。
可选地,所述路由导入模块,用于若判断结果为所述其他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为本申请实施例提供的一种路由发布方法的流程图;
图2为本申请实施例提供的一种网络结构的示意图;
图3为本申请实施例提供的一种BGP路由反射器中各个模块的结构框图;
图4为本申请实施例提供的一种路由发布装置的结构框图;
图5为本申请实施例提供的一种用于执行路由发布方法的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请提供一种路由发布方法,该方法通过BGP路由反射器接收其他BGP路由器上报的BGP路由,先判断其他BGP实例是否配置有针对当前接收到的BGP路由所属的BGP实例的路由导入规则,然后可根据判断结果确定是否将BGP路由导入到其他BGP实例对应的路由表中,然后即可根据其他BGP实例的路由表来进行路由发布,从而可以根据路由导入规则更加灵活地选择路由的导入,进而对BGP路由的发布实现更精细化的控制。
请参照图1,图1为本申请实施例提供的一种路由发布方法的流程图,该方法应用于BGP路由反射器,包括如下步骤:
步骤S110:接收BGP邻居发布的BGP路由。
当BGP路由反射器接收到BGP邻居发布的BGP路由后,在向BGP邻居发布该BGP路由时,一般是依据如下规则进行发布:若是从非客户机IBGP邻居学习到的BGP路由,则发布给该BGP路由反射器的所有客户机;若是从客户机学习到的BGP路由,则发布给该BGP路由反射器的所有非客户机和客户机;若是从外部边界网关协议(External Border GatewayProtocol,EBGP)邻居学到的BGP路由,则发布给所有的非客户机和客户机。
所以,BGP路由反射器接收到的BGP路由可以来自非客户机IBGP邻居、客户机或EBGP邻居,也就是说,本申请实施例所说的BGP邻居可以是指非客户机IBGP邻居、客户机或EBGP邻居。
步骤S120:确定所述BGP路由所属的BGP实例,不同的BGP实例包含的BGP邻居不同。
本申请实施例中,为了对BGP路由的发布实现更灵活、更精细化的控制,可以将BGP路由反射器的客户机进行实例划分,实例划分的方式可以是基于线路划分,线路可分为移动、联通、电信、广电等网络运营商线路,如图2所示,路由器R上,线路A对应的路由器A和路由器C为一个BGP实例,如BGP实例1,线路B对应的路由器B和路由器D为一个BGP实例,如BGP实例2(为了便于理解,后续实施例中的举例说明均以图2为例进行描述)。或者还可以基于其他实际需求来进行实例划分。所以,不同的BGP实例包含的BGP邻居不同,即可以将AS系统内的BGP邻居划分到不同的BGP实例中。
在图2中,路由器A、路由器C与路由器R的BGP实例1建立反射器关系,路由器R作为BGP路由反射器,路由器A和路由器C作为该集群内的客户机。路由器B、路由器D与路由器R的BGP实例2建立反射器关系,路由器R作为BGP路由反射器,路由器B和路由器D作为该集群内的客户机。路由器A和路由器C(属于同一BGP实例)可以学习到彼此路由,路由器B和路由器D(属于同一BGP实例)可以学习到彼此路由。
划分后的各个BGP实例之间互相隔离,各线路路由无法互通,在BGP路由反射器上配置不同的BGP实例,即BGP路由反射器上可以同时启动多个BGP进程,每个BGP进程对应一个BGP实例,BGP路由反射器可以对各个BGP实例进行单独管理,BGP路由反射器可以为不同的BGP实例维护各自独立的路由表。
而为了实现跨线路之间的通信,本申请实施例中,可以根据需求配置不同线路之间的路由互通。BGP路由反射器接收到BGP路由后,可以先确定接收到的BGP路由所属的BGP实例,如可以根据BGP邻居的IP地址,然后查找各个BGP实例中对应的BGP邻居的IP地址,找到相同的IP地址对应的BGP实例即为BGP实例。例如,BGP路由来自于BGP邻居的IP地址1.1.1.1,而在BGP反射路由器中存储的BGP实例1中的BGP邻居的IP地址为IP地址1.1.1.1,则表示BGP路由的BGP实例为BGP实例1。
步骤S130:判断其他BGP实例是否配置有针对所述BGP路由所属的BGP实例的路由导入规则,并根据判断结果确定是否将所述BGP路由导入到所述其他BGP实例对应的路由表中。
为了实现跨实例通信,可以预先针对需要通信的实例配置对应的路由导入规则,例如可以针对不同BGP实例的标识与路由导入规则配置对应的映射关系,或者也可以基于BGP实例和路由前缀配置路由导入规则,配置路由导入规则的BGP实例可以允许加入别的BGP实例路由。如图2所示的结构,若要实现路由器A和路由器B的路由互通,需要在路由器R上配置BGP实例1的路由导入规则为导入BGP实例2的全部路由,配置BGP实例2的路由导入规则为导入BGP实例1的全部路由。
若BGP路由反射器上配置有两个BGP实例,此时接收到的BGP路由属于BGP实例1,则BGP实例2可以是指其他BGP实例(当然在实际应用中,其他BGP实例可以不止一个,对于每个BGP实例中BGP邻居的路由发布均可采用本申请的方法实现,为了便于描述,本申请以一个其他BGP实例为例进行说明)。此时可以先判断BGP实例2是否配置有针对BGP实例1的路由导入规则,获得判断结果,判断结果即为配置有路由导入规则或未配置有路由导入规则。
如果判断结果是配置有路由导入规则,则表示可以将BGP路由导入到其他BGP实例的路由表中,此时可以将BGP路由导入到其他BGP实例的路由表中,如果判断结果是未配置有路由导入规则,则表示不可以将BGP路由导入到其他BGP实例的路由表中,此时可禁止将BGP路由导入到其他BGP实例对应的路由表中。
步骤S140:根据所述其他BGP实例对应的路由表进行路由发布。
若BGP实例是基于线路划分的,则线路内的通信开销最小,线路间的通信开销大,所以,本BGP实例内的BGP邻居应该优先学习到来自于本BGP实例的路由,若需要学习其他BGP实例的路由,则可以配置路由导入规则。
在各个BGP实例的路由表内,可能存在本BGP实例学习到的路由,也可能还存在从其他BGP实例学习到的路由,所以,可以根据各实例的路由表来进行路由发布。例如,此时BGP实例2的路由表中包含有来自BGP实例1的BGP路由,也包含有本实例学习到的路由,此时可将两个BGP实例的路由均发布给BGP实例2的BGP邻居。这样本BGP实例中的BGP邻居也可以学习到其他BGP实例的路由,从而可以实现跨实例间的路由互通。
例如,BGP实例为BGP实例1,其他BGP实例为BGP实例2,若将BGP实例1的BGP路由导入到BGP实例2的路由表中后,若BGP实例2的路由表包括BGP实例1的路由和BGP实例2的路由,此时则将两条路由都发布给BGP实例2的BGP邻居。
同理,若此时BGP路由反射器接收到的BGP路由为BGP实例1的路由,将该BGP路由导入到BGP实例1的路由表中,在进行路由发布时,若BGP实例1的路由表中也包含BGP实例2的路由和BGP实例1的路由,则将两条路由均发布给BGP实例1的BGP邻居。若在进行路由发布时,BGP实例1的路由表中只包含有BGP实例1的路由,则将该路由发布给BGP实例1的BGP邻居,若BGP实例1的路由表中只包含有BGP实例2的路由,则将该路由发布给BGP实例1的BGP邻居。也就是说,在进行路由发布时,可以将路由表中的全部路由发布给本实例中的BGP邻居。
在BGP路由反射器中,每个BGP实例可以由对应的模块来进行管理,如图3所示,BGP实例1可以由BGP路由管理模块和BGP路由导入模块进行管理,BGP实例2也可以由自己的BGP路由管理模块和BGP路由导入模块进行管理,通过路由集中管理模块可以用于管理BGP实例1和BGP实例2这两个BGP实例之间的路由导入和导出。
其中,BGP路由导入模块,用于管理BGP实例的路由导入规则,如可以配置需要导入的BGP实例的标识以及对应的路由导入规则,路由导入规则可以基于BGP实例设置,或者基于BGP实例和路由前缀设置。BGP路由管理模块可用于计算BGP路由,以及配置BGP实例的路由优选规则,该路由优选规则可以是对不同BGP实例的路由设置不同的优先级,或者是设置相同的优先级,由此可根据优选规则来确定优先选择哪个BGP实例的路由为最优路由。路由集中管理模块对不同BGP实例的路由进行标识,根据路由导入规则将不同的BGP实例的路由导入到其他BGP实例的路由表中。路由导入规则可以是基于BGP实例的标识配置,或者还可以基于BGP实例和路由前缀配置,其用于指示本实例需要导入的路由以及该路由前缀以及所属实例。
例如,若BGP实例2需要导入BGP实例1的路由,则BGP实例2的路由导入模块设置路由导入规则为导入BGP实例1的所有路由,并将路由导入规则下发到路由集中管理模块。路由集中管理模块则可以根据BGP实例2的路由导入规则将接收到的BGP实例1的路由导入到BGP实例2的路由表中。
在上述实现过程中,通过BGP路由反射器接收BGP邻居发布的BGP路由,先判断其他BGP实例是否配置有针对当前接收到的BGP路由所属的BGP实例的路由导入规则,然后可根据判断结果确定是否将BGP路由导入到其他BGP实例对应的路由表中,然后即可根据其他BGP实例的路由表来进行路由发布,从而可以根据路由导入规则更加灵活地选择路由的导入,进而对BGP路由的发布实现更精细化的控制。
在上述实施例的基础上,若将接收到的BGP路由导入到其他BGP实例对应的路由表中,则可以将该BGP路由发布给其他BGP实例中的BGP邻居。这样可以实现不同BGP实例间的路由互通。
例如,将BGP实例1的BGP路由导入到BGP实例2的路由表中后,则在进行路由发布时,可将BGP实例1的BGP路由也发布给BGP实例2中的BGP邻居。
在上述实施例的基础上,若BGP路由反射器将接收到的BGP路由导入到其他BGP实例对应的路由表中后,为了实现路由互通,可以配置路由多实例负载,即配置各个BGP实例之间的路由优先级相同。以图2为例,若路由器R从路由器C接收到来自BGP实例1的BGP路由,从路由器D接收到来自BGP实例2的BGP路由,这两个BGP路由有相同的路由前缀,如10.0.0.0/24,此时将BGP实例1的路由导入到BGP实例2的路由表中后,该路由表中即包括两条相同前缀的路由,此时可以将路由安装到路由发布模块中,在路由集中管理模块中判断实例优先级相同,以形成负载路由,即表示可以将两条路由都进行发布。
在多线路场景下,线路内通信的开销最小,线路间通信开销较大,按照现有技术的方式组网,BGP路由反射器可以将各线路的路由反射给各个客户机,但是如果存在多个线路的相同路由前缀的路由,由于路由反射器的优选规则,只能优选一条最优路由反射给客户机,但是若优选路由的线路不是客户机所属的线路,那么在进行跨线路通信时,通信开销不是最优的。所以,为了解决该问题,可以在路由反射器上配置ADD-PATH技术,可以使得路由反射器向客户机发送多条相同前缀的路由,此方式虽然能够将所有路由推送给客户机,但是客户机也会收到非所属线路的路由。
为了避免上述问题,本申请实施例中,可以在将BGP路由导入到其他BGP实例对应的路由表中之后,若其他BGP实例的路由表中包括BGP路由以及其他BGP实例对应的路由,且BGP路由和其他BGP实例对应的路由的路由前缀相同,则可以根据其他BGP实例的路由优选规则,选择最优路由进行发布。即路由优选规则配置,使得路由反射器在接收到具有相同路由前缀的路由时,可以根据路由优选规则选择最优路由反射(即发布)。
如果路由优选规则为本实例优选,此时如果路由表中包括路由前缀相同的本实例路由和其他BGP实例路由,则选择本实例路由为最优路由。
比如,BGP实例2此时的路由表中包括来自BGP实例2的路由和来自BGP实例1的路由,且这两个路由的路由前缀相同,所以,将进行优选处理,按照路由优选规则以本BGP实例2的路由优选,此时就可以将来自BGP实例2的路由选择为最优路由,并反射给BGP实例2中的BGP邻居,而不会将来自BGP实例1的路由反射给BGP实例2中的BGP邻居。
再例如,BGP实例1的路由表中导入了来自BGP实例2的路由10.0.0.0/24,与本实例的路由10.0.0.0/24的路由前缀相同,则进行优选处理,根据路由优选规则,本BGP实例1的路由优选,将BGP实例1的路由选择为最优路由,则来自BGP实例2的路由不会反射给BGP实例1中的BGP邻居,BGP实例1中的BGP邻居会接收到本实例的路由。
在上述实现过程中,在有多个路由前缀相同的路由时,则根据路由优选规则实现对路由的选择,从而实现对路由的发布进行更精细化地控制。
在上述实施例的基础上,优选规则可以包括优先级,在根据其他BGP实例的路由优选规则,选择最优路由进行发布时,可以判断路由表中各路由的优先级,若路由表中BGP实例对应的路由的优先级最高,则此时可将BGP路由选择为其他BGP实例的最优路由发布给其他BGP实例中的BGP邻居,若路由表中其他BGP实例对应的路由的优先级最高,则将其他BGP实例对应的路由选择为最优路由发布给其他BGP实例中的BGP邻居。
例如,在将BGP路由导入到其他BGP实例对应的路由表中后,可以根据对其他BGP实例配置的路由优选规则来选择最优路由。BGP路由反射器可针对路由表中的各个实例路由配置对应的实例路由优先级,如BGP实例为BGP实例1,其他BGP实例为BGP实例2,针对BGP实例2的路由优选规则,配置其BGP实例2的路由的优先级最高,配置BGP实例1的路由的优先级低一些,即当前导入到BGP实例2的路由表中的属于BGP实例1的BGP路由的优先级更低。其中,优先级可以采用优先级标识来表征,如标识1,表示优先级最高,标识2表示优先级次之,BGP路由反射器按照路由优选规则为路由表中的路由配置好优先级后,判断当前导入的BGP路由的优先级来选择出最优路由。
需要说明的是,若在其他BGP实例的路由表中当前只存在导入的BGP实例的BGP路由,而还未学习到本BGP实例的路由,此时导入的BGP路由的优先级标识为2,优先级也不是最高,但是由于没有高优先级路由的存在,导入的路由则会选择为最优路由。这样可实现两个BGP实例中的路由器之间的路由互通,完成与其他线路网络的互相访问。
还需要说明的是,若路由表中的针对两个BGP实例的路由配置的优先级相同,则可将两个BGP实例的路由都选择为最优路由,如BGP实例2的路由表中导入BGP实例1的路由后,可将该路由选择为最优路由后,通告给BGP实例2中的BGP邻居,如BGP实例1的路由表中导入BGP实例2的路由后,可将该路由选择为最优路由后,通告BGP实例1中的BGP邻居,这样每个BGP实例中的路由器都可以获得其他BGP实例的路由,两个BGP实例的路由可以互为备份,客户机可以学习其他BGP实例的路由,可实现两个BGP实例中的路由器之间的路由互通,完成与其他线路网络的互相访问。
在上述实现过程中,根据路由的优先级来选择需要发布的最优路由,这样可以更加精细化控制不同BGP实例的最优路由的选择。
在上述实施例的基础上,为了保证BGP路由器之间的通信开销尽可能小,所以其他BGP实例的路由优选规则可以被配置为其他BGP实例对应的路由为默认优选,即默认本BGP实例的路由优先级最高,应该作为最优路由发布。例如,BGP实例1的路由表中BGP实例1的路由的优先级应该最高,BGP实例2的路由表中BGP实例2的路由的优先级最高,这样在有相同路由前缀的路由时,可以优先选择本实例的路由作为最优路由进行发布。
也就是说,在网络需要多线路备份(即路由表中导入了多个BGP实例的路由),在路由选择时,应该保证本线路路由优先,这样可以尽可能先进行本线路路由发布,而在本线路故障时,还可以选择备份路由进行优选,即能优先保证通信开销尽量小,也能保证线路故障时,有备份路由确保通信不中断。
在上述实施例的基础上,若BGP路由反射器检测到其他BGP实例中的BGP邻居所属的线路发生故障时,则将其他BGP实例对应的路由表中其他BGP实例对应的路由删除,并在其他路由中选择最优路由发布。
继续以图2为例,若路由器B检测到所属的线路断开,即表示路由器B所属的线路发生故障,此时BGP路由反射器可以删除BGP实例2中本线路的10.0.0.0/24的路由,即将本实例的路由删除,此时路由优选规则(本BGP实例的路由优选)失效(因为本BGP实例的路由已经被删掉了),此时可以从其他路由中选择最优路由进行发布,即选择来自BGP实例1的10.0.0.0/24的路由为最优路由(当然,若其他BGP实例为多个且与BGP实例2的路由前缀相同时,则可以从中任意选择一个BGP实例的路由作为最优路由),此时则可以重新将新的最优路由通告给BGP实例2的各个BGP邻居。
在上述实现过程中,在本实例线路故障时,可以将其他实例路由作为备份路由进行发布,这样可以使得客户机也收到其他实例的路由,实现备份路径的切换。
请参照图4,图4为本申请实施例提供的一种路由发布装置200的结构框图,该装置200可以是上述的BGP路由反射器上的模块、程序段或代码。应理解,该装置200与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置200包括:
路由接收模块210,用于接收BGP邻居发布的BGP路由;
实例确定模块220,用于确定所述BGP路由所属的BGP实例,不同的BGP实例包含的BGP邻居不同;
路由导入模块230,用于判断其他BGP实例是否配置有针对所述BGP路由所属的BGP实例的路由导入规则,并根据判断结果确定是否将所述BGP路由导入到所述其他BGP实例对应的路由表中;
路由发布模块240,用于根据所述其他BGP实例对应的路由表进行路由发布。
可选地,所述路由导入模块230,用于若判断结果为所述其他BGP实例配置有针对所述BGP路由所属的BGP实例的路由导入规则,则将所述BGP路由导入到所述其他BGP实例对应的路由表中;若判断结果为所述其他BGP实例未配置有针对所述BGP路由所属的BGP实例的路由导入规则,则禁止将所述BGP路由导入到所述其他BGP实例对应的路由表中。
可选地,所述路由发布模块240,用于若将所述BGP路由导入到所述其他BGP实例对应的路由表中,则将所述BGP路由发布给所述其他BGP实例中的BGP邻居。
可选地,若将所述BGP路由导入到所述其他BGP实例对应的路由表中之后,所述路由发布模块240,用于若所述路由表中包括所述BGP路由以及所述其他BGP实例对应的路由,且所述BGP路由和所述其他BGP实例对应的路由的路由前缀相同,则根据所述其他BGP实例的路由优选规则,选择最优路由进行发布。
可选地,所述路由优选规则包括优先级,所述路由发布模块240,用于若所述路由表中所述BGP路由的优先级最高,则将所述BGP路由选择为最优路由发布给所述其他BGP实例中的BGP邻居;若所述路由表中所述其他BGP实例对应的路由的优先级最高,则将所述其他BGP实例对应的路由选择为最优路由发布给所述其他BGP实例中的BGP邻居。
可选地,所述其他BGP实例的路由优选规则被配置为所述其他BGP实例对应的路由为默认优选。
可选地,所述装置200还包括:
路由删除模块,用于若检测到所述其他BGP实例中的BGP邻居所属的线路发生故障时,则将所述其他BGP实例对应的路由表中所述其他BGP实例对应的路由删除,并在其他路由中选择最优路由发布。
需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。
请参照图5,图5为本申请实施例提供的一种用于执行路由发布方法的电子设备的结构示意图,该电子设备可以为上述实施例中的BGP路由反射器,所述电子设备可以包括:至少一个处理器310,例如CPU,至少一个通信接口320,至少一个存储器330和至少一个通信总线340。其中,通信总线340用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口320用于与其他节点设备进行信令或数据的通信。存储器330可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器330可选的还可以是至少一个位于远离前述处理器的存储装置。存储器330中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器310执行时,电子设备执行上述图1所示方法过程。
可以理解,图5所示的结构仅为示意,所述电子设备还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:接收BGP邻居发布的BGP路由;确定所述BGP路由所属的BGP实例,不同的BGP实例包含的BGP邻居不同;判断其他BGP实例是否配置有针对所述BGP路由所属的BGP实例的路由导入规则,并根据判断结果确定是否将所述BGP路由导入到所述其他BGP实例对应的路由表中;根据所述其他BGP实例对应的路由表进行路由发布。
综上所述,本申请实施例提供一种路由发布方法、装置、电子设备及存储介质,通过BGP路由反射器接收BGP邻居发布的BGP路由后,先判断其他BGP实例是否配置有针对当前接收到的BGP路由所属的BGP实例的路由导入规则,然后可根据判断结果确定是否将BGP路由导入到其他BGP实例对应的路由表中,然后即可根据其他BGP实例的路由表来进行路由发布,从而可以根据路由导入规则更加灵活地选择路由的导入,进而对BGP路由的发布实现更精细化的控制。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种路由发布方法,其特征在于,应用于边界网关协议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实例的路由优选规则,选择最优路由进行发布。
2.根据权利要求1所述的方法,其特征在于,所述根据判断结果确定是否将所述BGP路由导入到所述其他BGP实例对应的路由表中,还包括:
若判断结果为所述其他BGP实例未配置有针对所述BGP路由所属的BGP实例的路由导入规则,则禁止将所述BGP路由导入到所述其他BGP实例对应的路由表中。
3.根据权利要求1所述的方法,其特征在于,所述根据所述其他BGP实例对应的路由表进行路由发布,包括:
若将所述BGP路由导入到所述其他BGP实例对应的路由表中,则将所述BGP路由发布给所述其他BGP实例中的BGP邻居。
4.根据权利要求1所述的方法,其特征在于,所述路由优选规则包括优先级,所述根据所述其他BGP实例的路由优选规则,选择最优路由进行发布,包括:
若所述路由表中所述BGP路由的优先级最高,则将所述BGP路由选择为最优路由发布给所述其他BGP实例中的BGP邻居;
若所述路由表中所述其他BGP实例对应的路由的优先级最高,则将所述其他BGP实例对应的路由选择为最优路由发布给所述其他BGP实例中的BGP邻居。
5.根据权利要求1所述的方法,其特征在于,所述其他BGP实例的路由优选规则被配置为所述其他BGP实例对应的路由为默认优选。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若检测到所述其他BGP实例中的BGP邻居所属的线路发生故障时,则将所述其他BGP实例对应的路由表中所述其他BGP实例对应的路由删除,并在其他路由中选择最优路由发布。
7.一种路由发布装置,其特征在于,运行于边界网关协议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实例的路由优选规则,选择最优路由进行发布。
8.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111347998.9A CN114124780B (zh) | 2021-11-15 | 2021-11-15 | 路由发布方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111347998.9A CN114124780B (zh) | 2021-11-15 | 2021-11-15 | 路由发布方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124780A CN114124780A (zh) | 2022-03-01 |
CN114124780B true CN114124780B (zh) | 2023-07-21 |
Family
ID=80396547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111347998.9A Active CN114124780B (zh) | 2021-11-15 | 2021-11-15 | 路由发布方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124780B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733795A (zh) * | 2016-08-12 | 2018-02-23 | 新华三技术有限公司 | 以太网虚拟私有网络evpn与公网互通方法及其装置 |
WO2018166452A1 (zh) * | 2017-03-13 | 2018-09-20 | 中兴通讯股份有限公司 | 一种域级拓扑的建立方法及装置、以及网络系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420357B (zh) * | 2007-10-26 | 2011-04-06 | 华为技术有限公司 | 一种反射路由的处理方法和路由反射设备 |
US10097449B2 (en) * | 2015-02-20 | 2018-10-09 | Cisco Technology, Inc. | Optimized border gateway protocol best path selection for optimal route reflection |
CN108123876B (zh) * | 2017-12-14 | 2020-08-11 | 新华三技术有限公司 | 边界网关协议bgp路由信息处理方法及装置 |
CN107888489B (zh) * | 2017-12-28 | 2020-08-11 | 新华三技术有限公司 | 路由通告方法及装置 |
CN111917577B (zh) * | 2020-07-29 | 2024-03-05 | 云南诺寻科科技有限公司 | Bgp路由信息采集方法、装置、计算机设备及存储介质 |
-
2021
- 2021-11-15 CN CN202111347998.9A patent/CN114124780B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733795A (zh) * | 2016-08-12 | 2018-02-23 | 新华三技术有限公司 | 以太网虚拟私有网络evpn与公网互通方法及其装置 |
WO2018166452A1 (zh) * | 2017-03-13 | 2018-09-20 | 中兴通讯股份有限公司 | 一种域级拓扑的建立方法及装置、以及网络系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114124780A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8755382B2 (en) | Intelligent adjunct network device | |
EP3384640B1 (en) | Communication among network controllers | |
EP3316555B1 (en) | Mac address synchronization method, device and system | |
US10447652B2 (en) | High availability bridging between layer 2 networks | |
EP2911346B1 (en) | Method and network device for establishing virtual cluster | |
CN105162704A (zh) | Overlay网络中组播复制的方法及装置 | |
CN110417665B (zh) | 一种数据中心多Fabric场景的EVPN组网系统及方法 | |
CN113037527B (zh) | 网络切片创建方法、报文转发方法及其装置 | |
CN106797319B (zh) | 网络服务感知路由器及其应用 | |
CN110932876B (zh) | 一种通信系统、方法及装置 | |
CN113839862A (zh) | Mclag邻居之间同步arp信息的方法、系统、终端及存储介质 | |
CN107547374B (zh) | 一种聚合路由处理方法和装置 | |
CN112995027B (zh) | 路由发布方法及vtep节点 | |
CN114401274A (zh) | 一种通信线路创建方法、装置、设备及可读存储介质 | |
CN108259205B (zh) | 一种路由发布方法及网络设备 | |
CN114124780B (zh) | 路由发布方法、装置、电子设备及存储介质 | |
CN112751766A (zh) | 报文转发方法、装置及计算机存储介质 | |
CN113904973B (zh) | 路由更新方法、介质、装置和计算设备 | |
EP4246916A1 (en) | Route processing method, and related apparatus and network system | |
CN110830598A (zh) | Bgp会话建立、发送接口地址和别名的方法及网络设备 | |
CN113438159B (zh) | 分段路由策略的传输方法及装置、网络传输系统 | |
CN116055393A (zh) | 专线通信方法、装置及系统 | |
CN111355599B (zh) | 混合网络拓扑发现方法及装置 | |
CN108259292B (zh) | 建立隧道的方法及装置 | |
CN108259343B (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 |