CN101631130A - 直连ebgp邻居间的路由通告方法和设备 - Google Patents
直连ebgp邻居间的路由通告方法和设备 Download PDFInfo
- Publication number
- CN101631130A CN101631130A CN200910169378A CN200910169378A CN101631130A CN 101631130 A CN101631130 A CN 101631130A CN 200910169378 A CN200910169378 A CN 200910169378A CN 200910169378 A CN200910169378 A CN 200910169378A CN 101631130 A CN101631130 A CN 101631130A
- Authority
- CN
- China
- Prior art keywords
- neighbours
- direct
- opposite equip
- route
- ebgp neighbor
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种直连EBGP邻居间的路由通告方法和路由设备。该方法应用于建立了直连EBGP邻居关系的本端设备和对端设备,包括:本端设备在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居;所述本端设备在需要向所述对端设备通告路由时,在所述直连EBGP邻居中仅通过所述主邻居向所述对端设备发送路由通告,所述对端设备根据所述路由通告进行路由更新。通过使用本发明,使得建立了多对直连EBGP邻居关系的设备之间需要维护的路由数量和需要传递的路由数量大为减少,无需配置路由过滤策略来过滤冗余路由。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种直连EBGP邻居间的路由通告方法和设备。
背景技术
BGP(Border Gateway Protocol,边界网关协议)是一种用于AS(Autonomous System,自治系统)之间的动态路由协议。AS是指拥有同一选路策略的一组路由器,当BGP运行于不同的AS之间时,称为EBGP(ExternalBGP,域间BGP)。
以图1所示的组网场景为例,图1中,Router A,Router B,Router C分别属于AS 10、AS 20和AS 30,则按照常规组网习惯:
(1)出于安全考虑,相邻AS之间都用直连EBGP,接收端要求对端通告的路由下一跳(nexthop)是本端的邻居地址;以RouterA通过IP地址为IP1的接口向路由器B通告路由为例,则通告的路由的下一跳是IP1。
(2)相邻两个AS间分别建立三对直连EBGP邻居用于链路负载分担及备份,对于同一设备,每一EBGP邻居建立在该设备不同的接口上。例如对于Router A和Router B,二者各通过三个不同的接口分别与对端的三个不同的接口建立了三对直连EBGP邻居关系,各接口间的(即各EBGP邻居对应的)链路分别为Link1、Link2和Link3,对于Router B和Router C,二者各通过三个不同的接口分别与对端的三个不同的接口建立了三对直连EBGP邻居关系,各接口间的(即各EBGP邻居对应的)链路分别为Link4、Link5和Link6;
(3)用于备份链路和负载分担的多对直连EBGP邻居配置相同的路由出策略或不配置路由出策略,保证了经过不同的接口向对端通告同一路由时,接收端接收到的路由的属性相同。
多对直连EBGP邻居关系的优点在于链路备份和负载分担,但也会带来一些负面影响。以图1所示的组网场景为例,假设Router A向Router B通告10万条路由,则在Router B上会保存从Link 1、Link 2、Link 3学习到的10万条路由,共计30万条路由。之后,路由还需要优选,Router B在每个目的地址、掩码的3条路由中,选出一条路由(假设从Link 1学来的路由最优),通过Link 2~Link 6向其他5个直连EBGP邻居发送,共发送50万条路由。而实际上,将从Link 1学习到的路由通过Link 2和Link3发送给Router A是没有意义的。
基于同样的道理,如果不同的AS之间两两建立四对直连EBGP邻居,则Router B上需要保存40万条路由,发送70万条路由。由此看出,这种组网中随着直连EBGP邻居关系的增加,会在设备中产生大量的路由表项,造成设备的内存开销以及链路拥塞。
为了解决这一问题,现有技术中,以图1所示的情况为例,对于从Link 1学习到的路由通过Link 2和Link 3发送的情况,一般是通过配置路由策略进行过滤。但是,在配置路由策略时,首先需要区分出待过滤路由的特征,再配置路由策略对路由进行过滤。在待过滤路由的特征不明显的情况下,路由策略的配置比较困难,容易出现过滤不准确的情况。
发明内容
本发明提供一种直连EBGP邻居间的路由通告方法和路由设备,用于减少建立了多对直连EBGP邻居关系的设备之间需要维护的路由数量和需要传递的路由数量。
为达到上述目的,本发明提供一种直连域间边界网关协议EBGP邻居间的路由通告方法,应用于建立了直连EBGP邻居关系的本端设备和对端设备,所述方法包括:
本端设备在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居;
所述本端设备在需要向所述对端设备通告路由时,在所述直连EBGP邻居中仅通过所述主邻居向所述对端设备发送路由通告,所述对端设备根据所述路由通告进行路由更新。
其中,所述直连EBGP邻居的建立包括:
所述本端设备通过与对端设备间存在的每一直连EBGP邻居,向所述对端设备发送能力协商报文,所述能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识;
所述本端设备接收所述对端设备通过直连EBGP邻居发送的能力协商报文,当所述能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识、且所述携带的共享链路组标识与本端设备上对应的直连EBGP邻居预先配置的共享链路组标识相同时,判断所述直连EBGP邻居具有共享链路能力,与所述对端设备建立直连EBGP邻居关系。
其中,所述本端设备在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居包括:
所述本端设备根据预设的策略,从所述直连EBGP邻居中选择主邻居,并通过所述主邻居向所述对端设备发送通知报文,将所述选择的主邻居通知所述对端设备;所述主邻居之外的其他直连EBGP邻居为从邻居;
所述本端设备接收所述对端设备通过一直连EBGP邻居发送的通知报文,将所述直连EBGP邻居作为所述对端设备选择的主邻居;所述对端设备选择的主邻居之外的其他直连EBGP邻居为所述对端设备本端设备选择的选择的从邻居。
其中,所述本端设备在需要向所述对端设备通告路由时,在所述直连EBGP邻居中仅通过所述主邻居向所述对端设备发送路由通告包括:
所述本端设备通过所述主邻居向所述对端设备发送路由通告,所述路由通告中携带路由信息、以及所述共享链路组标识;所述对端设备判断所述共享链路标识与预先配置的共享链路组标识相同时,根据所述共享链路组中已建立的直连EBGP邻居地址生成或更新所述路由信息中的下一跳信息,并将路由信息加入路由表。
其中,所述本端设备对每一共享链路组只维护一份路由表,对于从一共享链路组中的主邻居学习到的路由,不向所述共享链路组中的其他直连EBGP邻居通告。
其中,还包括:所述本端设备检测到与对端设备间有新的从邻居建立时,根据所述新建立的从邻居更新本地路由表中各路由的下一跳。
其中,当所述本端设备获知自身选择的主邻居断开时,本端设备根据预设的策略重新选择主邻居,通过所述重新选择的主邻居向对端设备发送通知报文,将所述重新选择的主邻居通知所述对端设备;同时通过所述重新选择的主邻居向所述对端设备发送路由更新通告;
当所述本端设备获知对端设备选择的主邻居断开时,本端设备遍历路由表中具有所述主邻居对应的共享链路组标识的路由表项并进行标记,删除所述断开的主邻居所代表的下一跳;在预设的老化时间内没有接收到所述对端设备通过重新选择的主邻居发送的对路由表项的路由更新通告时,删除具有所述标记的路由表项;否则删除所述标记;
当所述本端设备检获知对端设备选择的从邻居断开时,本端设备遍历本地路由表中具有所述从邻居对应的共享链路组标识的路由表项,删除所述断开的从邻居所代表的下一跳。
本发明还提供了一种路由设备,所述路由本端设备与对端设备建立了直连EBGP邻居关系,所述路由设备包括:
主邻居选择单元,用于在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居;
路由通告单元,用于在需要向所述对端设备通告路由时,在所述直连EBGP邻居中仅通过所述主邻居选择单元选择的主邻居向所述对端设备发送路由通告。
其中,还包括:
邻居关系建立单元,用于通过与对端设备间存在的每一直连EBGP邻居,向所述对端设备发送能力协商报文,所述能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识;接收所述对端设备通过直连EBGP邻居发送的能力协商报文,当所述能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识、且所述携带的共享链路组标识与本端设备上对应的直连EBGP邻居预先配置的共享链路组标识相同时,判断所述直连EBGP邻居具有共享链路能力,与所述对端设备建立直连EBGP邻居关系。
其中,所述主邻居选择单元具体用于:
根据预设的策略,从所述直连EBGP邻居中选择主邻居,并通过所述主邻居向所述对端设备发送通知报文,将所述选择的主邻居通知所述对端设备;所述主邻居之外的其他直连EBGP邻居为本端设备选择的从邻居;
接收所述对端设备通过一个直连EBGP邻居发送的通知报文,将所述直连EBGP邻居作为所述对端设备选择的主邻居;所述对端设备选择的主邻居之外的其他直连EBGP邻居为所述对端设备选择的从邻居。
其中,所述路由通告单元具体用于:
通过所述主邻居选择单元选择的主邻居向所述对端设备发送路由通告,所述路由通告中携带路由信息、以及所述共享链路组标识。
其中,还包括:路由维护单元,用于接收到所述对端设备通过所选择的主邻居发送的携带路由信息、以及所述共享链路组标识的路由通告时,若判断所述共享链路标识与预先配置的共享链路组标识相同,则根据所述共享链路组中已建立的直连EBGP邻居地址生成或更新所述路由信息中的下一跳信息,并将路由信息加入路由表。
其中,所述路由维护单元对每一共享链路组只维护一份路由表,对于从一共享链路组中的主邻居学习到的路由,不向所述共享链路组中的其他直连EBGP邻居通告。
其中:所述主邻居选择单元,还用于当获知本端设备选择的主邻居断开时,根据预设的策略重新选择主邻居,通过所述重新选择的主邻居向对端设备发送通知报文,将所述重新选择的主邻居通知所述对端设备;同时通过所述重新选择的主邻居向所述对端设备发送路由更新通告;
所述路由维护单元,还用于:
检测到对端设备间有新的从邻居建立时,根据所述新建立的从邻居更新本地路由表中各路由的下一跳;当获知对端设备选择的主邻居断开时,遍历路由表中具有所述主邻居对应的共享链路组标识的路由表项并进行标记,删除所述断开的主邻居所代表的下一跳;在预设的老化时间内没有接收到所述对端设备通过重新选择的主邻居发送的对路由表项的路由更新通告时,删除具有所述标记的路由表项;否则删除所述标记;当获知对
与现有技术相比,本发明具有以下优点:
通过使用本发明,只通过选取的主邻居向对端设备发送路由通告,使得建立了多对直连EBGP邻居关系的设备之间需要维护的路由数量和需要传递的路由数量大为减少,无需配置路由过滤策略来过滤冗余路由。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中EBGP应用环境的组网示意图;
图2是本发明中提供的直连EBGP邻居间的路由通告方法流程图;
图3是本发明中提供的路由设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中提供了一种直连EBGP邻居间的路由通告方法,应用于建立了直连EBGP邻居关系的本端设备和对端设备,如图2所示,该方法包括:
步骤s201、本端设备在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居。
步骤s202、本端设备在需要向对端设备通告路由时,在直连EBGP邻居中仅通过主邻居向所述对端设备发送路由通告,对端设备根据路由通告进行路由更新。
本发明描述中所指的直连EBGP邻居,可以理解为本端设备与对端设备间建立的EBGP邻居关系,本端设备与对端设备间每存在一对EBGP邻居关系,即可认为本端设备与对端设备间存在一直连EBGP邻居,每一直连EBGP邻居与本端设备与对端设备间的一条链路、该直连EBGP邻居在本端设备上使用的接口、以及该直连EBGP邻居在对端设备上使用的接口存在对应关系。
以下结合具体的应用场景,描述本发明中提供的直连EBGP邻居间的路由通告方法的具体实施方式。本发明的应用场景中,将可以使用本发明提供的方法的设备称为具有share-link(共享链路)能力的设备。
本发明中的网络使用要求为在两台属于不同AS、且建立了多对直连EBGP邻居的路由器间通告路由,且多个邻居配置的路由出策略相同,并且通告路由的下一跳信息为本端的邻居地址。这里的多指二或者二以上。如由于多个邻居配置的路由出策略不同、导致多个邻居发送的相同路由的属性不同,或下一跳不是本端邻居地址,则不满足本发明的使用要求,不在本发明中讨论。
本发明中,根据网络规划,为各路由器上的不同接口分别配置share-linkgroup(共享链路组)标识,只有具有share-link(共享链路)能力且属于同一share-link group(共享链路组)的直连EBGP邻居间可以进行报文通告。
因此,不同的路由器间在发送路由前,首先进行共享链路的能力协商。本端设备通过与对端设备的协商,确认对端设备为具有share-link(共享链路)能力的路由设备且与本端设备属于同一share-link group(共享链路组)。当网络中的各路由设备均为具有share-link(共享链路)能力的设备时,可以默认对端设备为具有share-link(共享链路)能力的路由设备。以下对能力协商的具体过程进行介绍:
对于本端设备,本端设备在初始化结束后,通过与对端设备间存在的每一直连EBGP邻居发送能力协商报文,能力协商报文中携带共享链路能力标识、以及本端设备的上预先配置的共享链路组标识。其中,共享链路能力标识用于标识本设备上的该EBGP邻居配置了共享链路功能即具有共享链路能力,若该EBGP邻居不具备共享链路能力,则无需携带该共享链路能力标识。同时,对端设备同样通过与本端设备间存在的每一直连EBGP邻居,向本端设备发送能力协商报文。
本端设备接收到对端设备通过一直连EBGP邻居发送的能力协商报文时,若能力协商报文中携带共享链路能力标识、且对端设备上预先配置的共享链路组标识与本端设备上预先配置的共享链路组标识相同时,判断对端设备的该EBGP邻居具有共享链路能力且可以通过该EBGP邻居使用共享链路能力与对端设备进行路由的交互。
具体的,前述能力协商报文可以扩展后的BGP协议的Open报文,该扩展后的Open报文中携带直连EBGP邻居的共享链路能力标识Share-link Cap、以及本端设备上预先配置的共享链路组标识Share-link group-id。如表1所示,为本发明中路由器之间协商share-link能力的报文结构示意图。
表1 协商share-link能力的报文结构
表1中,Share-link Cap用于标识报文的发送方支持Share-link能力,该字段长度可以为1个字节;当网络中的各路由设备上待建立的EBGP邻居均配置了share-link功能时,可以默认与对端设备间建立的EBGP邻居均具有share-link能力,则在发送的协商share-link能力的报文中可以不携带Share-link Cap字段。
表1中,Share-link group-id用于标识报文的发送方所属的Share-linkgroup,该Share-link group-id可以由网管设备通过向发送路由器配置命令、由路由器执行该配置命令后获得,该字段长度为4个字节。
通过在Open报文中携带上述Share-link Cap和Share-link group-id字段,协商双方进行Share-link能力的协商。当协商双方都具有Share-link Cap标志、且Share-link group-id字段的内容相同时,协商双方认为协商成功,否则认为协商失败,按照现有技术中BGP的处理流程进行路由的收发处理。
在实际应用时,以图1所示的组网场景为例,对于Router A和Router B上三对直连EBGP邻居,分别建立在Router A的接口IPA1、IPA2、IPA3与Router B的接口IPB1、IPB2、IPB3上,Router A和Router B的各接口上建立的EBGP邻居都支持Share-link能力,且配置了相同的Share-link group-id。IPA1与IPB1间的链路为Link1,IPA2与IPB2间的链路为Link2,IPA3与IPB3间的链路为Link3。则在本端设备和对端设备协商Share-link能力后,Router A与Router B之间建立了三个Share-link group-id相同的直连EBGP邻居。
本端设备和对端设备协商Share-link能力结束后,本端设备在Share-linkgroup-id相同的一组邻居中选取一个作为Master邻居。
具体的,Share-link能力协商成功后,本端设备从已经建立起邻居关系的、具有相同Share-link group-id的一组邻居中,根据预设的策略选取一个邻居作为Master(主)邻居,其他邻居作为Slave(从)邻居。Master邻居的选取可以采用约定方式,如固定选取具有最小Peer Id(或最大Peer Id)的邻居作为Master邻居,该Peer Id为预先为各邻居分配的Id。以图1所示的组网场景为例,假设Router A选取Link1对应的EBGP邻居(即建立在Router A的接口IPA1和Router B的接口IPB1之间的EBGP邻居)作为与Router B之间三对直连EBGP邻居的Master邻居。
选取出Master邻居后,本端设备需通过Master邻居向对端设备发送报文,通知对端设备该邻居已在本端设备上成为Master邻居。具体形式可以通过该邻居向对端设备发送一个扩展后的BGP协议的Update报文实现。该Update报文只有报文头、基本的属性字段,不带任何前缀信息,区别在于在属性字段中携带一个新添加的Share-link group-id字段,长度可以为4字节,具体格式参照RFC4271中规定的Update报文格式和属性。
对端设备收到本端设备通过该邻居发送的报文后,认为该邻居已经成为与对端设备间多个直连EBGP邻居中的Master邻居,Master邻居之外的其他直连EBGP邻居为Slave邻居。需要说明的是,两台路由设备间的一组Share-linkEBGP邻居中,对于这两个设备来说,Master邻居可以不在一对邻居关系上,这样更有利于BGP报文的分担。例如,以图1所示的组网场景为例,对于RouterA,可以选择Link1对应的EBGP邻居作为与Router B间多个直连EBGP邻居中的Master邻居;而对于Router B,可以选择Link3对应的EBGP邻居作为与Router A间多个直连EBGP邻居中的Master邻居。
本端设备在向对端设备通告了选取的Master邻居后,通过该Master邻居向对端设备通告路由,通告方式为通过扩展后的Update报文进行路由通告;其他不是Master邻居的邻居作为Slave邻居,作为Slave的邻居不用于发送Update报文通告路由。通过扩展后的Update报文通告路由时,在该Update报文中除了携带正常的属性外,还携带Share-link group-id字段。
本端设备接收到对端设备通过Master邻居发送的Update报文时,应检查其是否携带了Share-link group-id字段。如没有该字段或者该字段的内容和配置值、协商值不匹配,则判断发生了错误,断开该邻居。
如果从对端设备接收到的通过Master邻居发送的Update报文携带了Share-link group-id字段,且Share-link group-id字段检查通过,则忽略报文的Nexthop(下一跳)字段,按照本端设备Share-link group中已建立(Established)的邻居地址生成下一跳信息,把路由加入路由表。例如,对于Router B从RouterA中接收到Router A通过Master邻居(假设为Link1对应的EBGP邻居,在RouterA中对应的接口为IPA1)发送的路由,该路由的Nexthop字段为本端邻居地址IPA1,则忽略该路由的Nexthop字段(其原因在于该Nexthop字段并不包括所有可能的本端邻居地址),将该路由的下一跳信息分别修改为IPA1、IPA2和IPA3,从而得到三条路由并存储。这里之所以下一跳信息还包括IPA2和IPA3是因为IPA2和IPA3与IPA1是属于同一Share-link group下的slave邻居对应的接口。接收端针对每个Share-link group只维护一份Rib-in(接收到的路由表)。从某Share-link group学习到的的路由不向该Share-link group的邻居通告。
如果与对端设备间属于Share-link group的一对新邻居建立,则本端设备检查是否已经选出了Master邻居。如果已经选出了Master邻居,则只需要遍历本Share-link group的Rib-in,更新各路由下一跳(即在下一跳中增加该新建立的本端邻居地址);如果还没有选定Master邻居(即该邻居是本Share-link group中建立起来的第一对邻居),则选择这对邻居为Master邻居,通过该邻居向对端设备通告带Share-link group-id字段的空Update报文表示Master邻居已选定,并向对端发送带Share-link group-id的Update报文进行路由通告。
当本端设备与对端设备已建立的邻居断开时,本端设备和对端设备都需要进行相应处理。根据断开的邻居不同需要进行的处理也不尽相同,处理时应区分断开的邻居为Master邻居或者Slave邻居,对于Master邻居,还需要区分是本端设备选取的Master邻居还是对端设备选取的Master邻居。以下对不同的处理情况分别进行描述:
对于本端设备:
(1)如果是本端设备选取的Master邻居断开(例如对于图1所示的组网场景,对于Router A,Router A上与Link1对应的EBGP邻居断开),则需要重新选取Master邻居,在新的Master邻居选取后,向对端设备发送携带Share-linkgroup-id字段的空Update报文,通知新的Master邻居已选定,并发送带有Share-link group-id字段的Update路由更新信息,当路由更新信息发送完成后,向对端设备发送End-of-Rib报文,用于通知对端设备路由更新信息发送完成。
(2)如果是本端设备选取的Slave邻居断开(例如对于图1所示的组网场景,对于Router A,Router A上与Link2或Link3对应的EBGP邻居断开),则不需要进行处理。
(3)如果是对端设备选取的Master邻居(例如对于图1所示的组网场景,对于Router A,Router A上与Link3对应的EBGP邻居断开,该邻居是Router B选取的Master邻居)断开,则需要遍历该Share-link group的Rib-in中的路由表项,删除断开的Master邻居所代表的下一跳,并在路由上增加Stale标志,启动定时器(暂定3分钟)等待老化。
对端设备通告新的Master邻居后,会通告带Share-link group-id的Update路由更新信息,路由更新信息通告完毕后,对端设备发送End-of-Rib报文。
本端设备接收到对端设备发送的Update路由更新信息后,移除与该Update路由更新信息携带的路由信息所对应的路由上的Stale标志,并根据该Update路由更新信息携带的路由信息更新对应的路由的下一跳。在收到End-of-Rib报文后,删除老化定时器,删除仍携带Stale标记的路由表项。如果老化定时器超时仍没有收到End-of-Rib报文,则遍历Share-link group-id的Rib-in,删除所有仍携带Stale标记的路由。
(4)如果是对端设备选取的Slave邻居断开(例如对于图1所示的组网场景,对于Router A,Router A上与Link1或Link2对应的EBGP邻居断开,这两个邻居是Router B选取的Slave邻居),则需要遍历该Share-link group的Rib-in中的路由表项,删除断开的Slave邻居所代表的下一跳。
需要说明的是,当一EBGP邻居断开时,该EBGP邻居会同时属于多种角色。以图1所示的组网场景为例,对于Router A,当Link1对应的EBGP邻居断开,且该Link1对应的EBGP邻居既是本端设备Router A选取的Master邻居、又是对端设备Router B选取的Slave邻居时,Router A既需要进行上述(1)的处理,也需要进行上述(4)的处理。
再以图1所示的组网场景为例,当Link2对应的EBGP邻居断开,且该Link2对应的EBGP邻居既是本端设备Router A选取的Slave邻居、又是对端设备Router B选取的Slave邻居时,Router A既需要进行上述(2)的处理,也需要进行上述(4)的处理。
通过使用本发明提供的方法,只通过选取的主邻居向对端设备发送路由通告,使得建立了多对直连EBGP邻居关系的设备之间需要维护的路由数量和需要传递的路由数量大为减少,无需配置路由过滤策略来过滤冗余路由。
本发明还提供一种路由设备,作为本端设备与对端设备建立了直连EBGP邻居关系,如图3所示,该路由设备包括:
主邻居选择单元10,用于在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居。具体的,主邻居选择单元10具有以下功能:
(1)根据预设的策略,从存在的直连EBGP邻居中选择主邻居,并通过主邻居向对端设备发送通知报文,将选择的主邻居通知对端设备;当存在多对直连EBGP邻居时,主邻居之外的其他直连EBGP邻居为本端设备选择的从邻居;
(2)接收所述对端设备通过一直连EBGP邻居发送的通知报文,将该直连EBGP邻居作为对端设备选择的主邻居;对端设备选择的主邻居之外的其他直连EBGP邻居为对端设备选择的从邻居;
(3)当获知本端设备选择的主邻居断开时,根据预设的策略重新选择主邻居,通过重新选择的主邻居向对端设备发送通知报文,将重新选择的主邻居通知对端设备,同时通过重新选择的主邻居向对端设备发送路由更新通告;
路由通告单元20,用于在需要向所述对端设备通告路由时,在直连EBGP邻居中仅通过主邻居选择单元10选择的主邻居向对端设备发送路由通告。路由通告单元20具体用于:通过主邻居选择单元10选择的主邻居向对端设备发送路由通告,路由通告中携带路由信息、以及共享链路组标识。
该路由设备中还可以包括:
邻居关系建立单元30,用于通过与对端设备间存在的每一直连EBGP邻居,向对端设备发送能力协商报文,能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识;接收对端设备通过直连EBGP邻居发送的能力协商报文,当能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识、且携带的共享链路组标识与本端设备上对应的直连EBGP邻居预先配置的共享链路组标识相同时,判断直连EBGP邻居具有共享链路能力,与对端设备建立直连EBGP邻居关系。
路由维护单元40,用于接收到对端设备通过所选择的主邻居发送的携带路由信息、以及共享链路组标识的路由通告时,若判断该共享链路标识与预先配置的共享链路组标识相同,则根据共享链路组中已建立的直连EBGP邻居地址生成或更新该路由信息中的下一跳信息,并将路由信息加入路由表。路由维护单元40对每一共享链路组只维护一份路由表,对于从一共享链路组中的任一直连EBGP邻居学习到的路由,不向共享链路组中的其他直连EBGP邻居通告。
路由维护单元40,还用于:
(1)检测到对端设备间有新的从邻居建立时,根据所述新建立的从邻居更新本地路由表中各路由的下一跳;(2)获知对端设备选择的主邻居断开时,遍历本地路由表中具有主邻居对应的共享链路组标识的路由表项并进行标记,删除断开的主邻居所代表的下一跳;在预设的老化时间内没有接收到对端设备通过重新选择的主邻居发送的对路由表项的路由更新通告时,删除具有该标记的路由表项;否则删除标记;(3)获知对端设备选择的从邻居断开时,遍历本地路由表中具有从邻居对应的共享链路组标识的路由表项,删除断开的从邻居所代表的下一跳。
通过使用本发明提供的路由设备,只通过选取的主邻居向对端设备发送路由通告,使得建立了多对直连EBGP邻居关系的设备之间需要维护的路由数量和需要传递的路由数量大为减少,无需配置路由过滤策略来过滤冗余路由。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (14)
1、一种直连域间边界网关协议EBGP邻居间的路由通告方法,其特征在于,应用于建立了直连EBGP邻居关系的本端设备和对端设备,所述方法包括:
本端设备在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居;
所述本端设备在需要向所述对端设备通告路由时,在所述直连EBGP邻居中仅通过所述主邻居向所述对端设备发送路由通告,所述对端设备根据所述路由通告进行路由更新。
2、如权利要求1所述的方法,其特征在于,所述直连EBGP邻居的建立包括:
所述本端设备通过与对端设备间存在的每一直连EBGP邻居,向所述对端设备发送能力协商报文,所述能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识;
所述本端设备接收所述对端设备通过直连EBGP邻居发送的能力协商报文,当所述能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识、且所述携带的共享链路组标识与本端设备上对应的直连EBGP邻居预先配置的共享链路组标识相同时,判断所述直连EBGP邻居具有共享链路能力,与所述对端设备建立直连EBGP邻居关系。
3、如权利要求1或2所述的方法,其特征在于,所述本端设备在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居包括:
所述本端设备根据预设的策略,从所述直连EBGP邻居中选择主邻居,并通过所述主邻居向所述对端设备发送通知报文,将所述选择的主邻居通知所述对端设备;所述主邻居之外的其他直连EBGP邻居为本端设备选择的从邻居;
所述本端设备接收所述对端设备通过一直连EBGP邻居发送的通知报文,将所述直连EBGP邻居作为所述对端设备选择的主邻居;所述对端设备选择的主邻居之外的其他直连EBGP邻居为所述对端设备选择的从邻居。
4、如权利要求1或2所述的方法,其特征在于,所述本端设备在需要向所述对端设备通告路由时,在所述直连EBGP邻居中仅通过所述主邻居向所述对端设备发送路由通告包括:
所述本端设备通过所述主邻居向所述对端设备发送路由通告,所述路由通告中携带路由信息、以及所述共享链路组标识;所述对端设备判断所述共享链路标识与预先配置的共享链路组标识相同时,根据所述共享链路组中已建立的直连EBGP邻居地址生成或更新所述路由信息中的下一跳信息,并将路由信息加入路由表。
5、如权利要求4所述的方法,其特征在于,所述本端设备对每一共享链路组只维护一份路由表,对于从一共享链路组中的主邻居学习到的路由,不向所述共享链路组中的其他直连EBGP邻居通告。
6、如权利要求1或2中任一项所述的方法,其特征在于,还包括:
所述本端设备检测到与对端设备间有新的从邻居建立时,根据所述新建立的从邻居更新本地路由表中各路由的下一跳。
7、如权利要求1或2所述的方法,其特征在于,当所述本端设备获知自身所选择的主邻居断开时,本端设备根据预设的策略重新选择主邻居,通过所述重新选择的主邻居向对端设备发送通知报文,将所述重新选择的主邻居通知所述对端设备;同时通过所述重新选择的主邻居向所述对端设备发送路由更新通告;
当所述本端设备获知对端设备选择的主邻居断开时,本端设备遍历路由表中具有所述主邻居对应的共享链路组标识的路由表项并进行标记,删除所述断开的主邻居所代表的下一跳;在预设的老化时间内没有接收到所述对端设备通过重新选择的主邻居发送的对路由表项的路由更新通告时,删除具有所述标记的路由表项;否则删除所述标记;
当所述本端设备获知对端设备选择的从邻居断开时,本端设备遍历本地路由表中具有所述从邻居对应的共享链路组标识的路由表项,删除所述断开的从邻居所代表的下一跳。
8、一种路由设备,其特征在于,所述路由设备与对端设备建立了直连EBGP邻居关系,所述路由设备包括:
主邻居选择单元,用于在与对端设备间存在的直连EBGP邻居中选择一直连EBGP邻居作为主邻居;
路由通告单元,用于在需要向所述对端设备通告路由时,在所述直连EBGP邻居中仅通过所述主邻居选择单元选择的主邻居向所述对端设备发送路由通告。
9、如权利要求8所述的路由设备,其特征在于,还包括:
邻居关系建立单元,用于通过与对端设备间存在的每一直连EBGP邻居,向所述对端设备发送能力协商报文,所述能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识;接收所述对端设备通过直连EBGP邻居发送的能力协商报文,当所述能力协商报文中携带直连EBGP邻居的共享链路能力标识和共享链路组标识、且所述携带的共享链路组标识与本端设备上对应的直连EBGP邻居预先配置的共享链路组标识相同时,判断所述直连EBGP邻居具有共享链路能力,与所述对端设备建立直连EBGP邻居关系。
10、如权利要求8所述的路由设备,其特征在于,所述主邻居选择单元具体用于:
根据预设的策略,从所述直连EBGP邻居中选择主邻居,并通过所述主邻居向所述对端设备发送通知报文,将所述选择的主邻居通知所述对端设备;所述主邻居之外的其他直连EBGP邻居为本端设备选择的从邻居;
接收所述对端设备通过一个直连EBGP邻居发送的通知报文,将所述直连EBGP邻居作为所述对端设备选择的主邻居;所述对端设备选择的主邻居之外的其他直连EBGP邻居为所述对端设备选择的从邻居。
11、如权利要求10所述的路由设备,其特征在于,所述路由通告单元具体用于:
通过所述主邻居选择单元选择的主邻居向所述对端设备发送路由通告,所述路由通告中携带路由信息、以及所述共享链路组标识。
12、如权利要求8至11中任一项所述的路由设备,其特征在于,还包括:
路由维护单元,用于接收到所述对端设备通过所选择的主邻居发送的携带路由信息、以及所述共享链路组标识的路由通告时,若判断所述共享链路标识与预先配置的共享链路组标识相同,则根据所述共享链路组中已建立的直连EBGP邻居地址生成或更新所述路由信息中的下一跳信息,并将路由信息加入路由表。
13、如权利要求12所述的路由设备,其特征在于,所述路由维护单元对每一共享链路组只维护一份路由表,对于从一共享链路组中的主邻居学习到的路由,不向所述共享链路组中的其他直连EBGP邻居通告。
14、如权利要求8至11中任一项所述的路由设备,其特征在于:
所述主邻居选择单元,还用于当获知本端设备选择的主邻居断开时,根据预设的策略重新选择主邻居,通过所述重新选择的主邻居向对端设备发送通知报文,将所述重新选择的主邻居通知所述对端设备;同时通过所述重新选择的主邻居向所述对端设备发送路由更新通告;
所述路由维护单元,还用于:
检测到对端设备间有新的从邻居建立时,根据所述新建立的从邻居更新本地路由表中各路由的下一跳;当获知对端设备选择的主邻居断开时,遍历路由表中具有所述主邻居对应的共享链路组标识的路由表项并进行标记,删除所述断开的主邻居所代表的下一跳;在预设的老化时间内没有接收到所述对端设备通过重新选择的主邻居发送的对路由表项的路由更新通告时,删除具有所述标记的路由表项;否则删除所述标记;当获知对端设备选择的从邻居断开时,遍历本地路由表中具有所述从邻居对应的共享链路组标识的路由表项,删除所述断开的从邻居所代表的下一跳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910169378A CN101631130B (zh) | 2009-08-27 | 2009-08-27 | 直连ebgp邻居间的路由通告方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910169378A CN101631130B (zh) | 2009-08-27 | 2009-08-27 | 直连ebgp邻居间的路由通告方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101631130A true CN101631130A (zh) | 2010-01-20 |
CN101631130B CN101631130B (zh) | 2012-09-26 |
Family
ID=41576075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910169378A Active CN101631130B (zh) | 2009-08-27 | 2009-08-27 | 直连ebgp邻居间的路由通告方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101631130B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271080A (zh) * | 2010-06-03 | 2011-12-07 | 杭州华三通信技术有限公司 | 防止bgp会话在业务变更时断开的方法及其适用的系统 |
CN102571816A (zh) * | 2012-02-15 | 2012-07-11 | 神州数码网络(北京)有限公司 | 一种防止邻居学习攻击的方法和系统 |
CN103152272A (zh) * | 2013-02-26 | 2013-06-12 | 杭州华三通信技术有限公司 | 一种bgp邻居关系维护方法及设备 |
WO2014048339A1 (zh) * | 2012-09-26 | 2014-04-03 | 腾讯科技(深圳)有限公司 | 路由更新方法、交换机及系统 |
CN104038427A (zh) * | 2014-06-30 | 2014-09-10 | 杭州华三通信技术有限公司 | 路由更新方法和路由更新装置 |
CN104092610A (zh) * | 2014-07-28 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种开放式最短路径优先邻居建立方法和装置 |
CN107432027A (zh) * | 2015-04-20 | 2017-12-01 | 英特尔Ip公司 | 用于在邻居感知联网(nan)集群中进行通信的装置、系统、及方法 |
CN107547381A (zh) * | 2017-05-17 | 2018-01-05 | 新华三技术有限公司 | 一种orf处理方法和装置 |
CN108989204A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 一种链路状态确定方法及设备 |
CN108989212A (zh) * | 2017-05-31 | 2018-12-11 | 瞻博网络公司 | 多个下一跳的路由协议信令及其关系 |
CN111726296A (zh) * | 2019-03-20 | 2020-09-29 | 北京华为数字技术有限公司 | 邻居关系管理方法、装置、设备及存储介质 |
CN111865780A (zh) * | 2020-07-13 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种同步方法及装置 |
-
2009
- 2009-08-27 CN CN200910169378A patent/CN101631130B/zh active Active
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271080A (zh) * | 2010-06-03 | 2011-12-07 | 杭州华三通信技术有限公司 | 防止bgp会话在业务变更时断开的方法及其适用的系统 |
US9350652B2 (en) | 2010-06-03 | 2016-05-24 | Hangzhou H3C Technologies Co., Ltd. | Method, system and router for changing application in BGP session |
CN102571816A (zh) * | 2012-02-15 | 2012-07-11 | 神州数码网络(北京)有限公司 | 一种防止邻居学习攻击的方法和系统 |
CN102571816B (zh) * | 2012-02-15 | 2015-09-30 | 神州数码网络(北京)有限公司 | 一种防止邻居学习攻击的方法和系统 |
WO2014048339A1 (zh) * | 2012-09-26 | 2014-04-03 | 腾讯科技(深圳)有限公司 | 路由更新方法、交换机及系统 |
CN103152272A (zh) * | 2013-02-26 | 2013-06-12 | 杭州华三通信技术有限公司 | 一种bgp邻居关系维护方法及设备 |
CN103152272B (zh) * | 2013-02-26 | 2016-06-08 | 杭州华三通信技术有限公司 | 一种bgp邻居关系维护方法及设备 |
CN104038427A (zh) * | 2014-06-30 | 2014-09-10 | 杭州华三通信技术有限公司 | 路由更新方法和路由更新装置 |
CN104092610A (zh) * | 2014-07-28 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种开放式最短路径优先邻居建立方法和装置 |
CN104092610B (zh) * | 2014-07-28 | 2017-09-15 | 新华三技术有限公司 | 一种开放式最短路径优先邻居建立方法和装置 |
CN107432027A (zh) * | 2015-04-20 | 2017-12-01 | 英特尔Ip公司 | 用于在邻居感知联网(nan)集群中进行通信的装置、系统、及方法 |
CN107432027B (zh) * | 2015-04-20 | 2021-12-21 | 英特尔公司 | 用于在邻居感知联网(nan)集群中进行通信的装置、系统、及方法 |
CN107547381A (zh) * | 2017-05-17 | 2018-01-05 | 新华三技术有限公司 | 一种orf处理方法和装置 |
CN107547381B (zh) * | 2017-05-17 | 2020-04-24 | 新华三技术有限公司 | 一种出方向路由过滤orf处理方法和装置 |
CN108989204A (zh) * | 2017-05-31 | 2018-12-11 | 华为技术有限公司 | 一种链路状态确定方法及设备 |
CN108989212A (zh) * | 2017-05-31 | 2018-12-11 | 瞻博网络公司 | 多个下一跳的路由协议信令及其关系 |
CN108989212B (zh) * | 2017-05-31 | 2021-04-02 | 瞻博网络公司 | 多个下一跳的路由协议信令及其关系 |
CN108989204B (zh) * | 2017-05-31 | 2021-08-20 | 华为技术有限公司 | 一种链路状态确定方法及设备 |
US11245615B2 (en) | 2017-05-31 | 2022-02-08 | Huawei Technologies Co., Ltd. | Method for determining link state, and device |
CN111726296A (zh) * | 2019-03-20 | 2020-09-29 | 北京华为数字技术有限公司 | 邻居关系管理方法、装置、设备及存储介质 |
CN111726296B (zh) * | 2019-03-20 | 2021-10-22 | 北京华为数字技术有限公司 | 邻居关系管理方法、装置、设备及存储介质 |
US11956149B2 (en) | 2019-03-20 | 2024-04-09 | Huawei Technologies Co., Ltd. | Peer relationship management method and apparatus, device, and storage medium |
CN111865780A (zh) * | 2020-07-13 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101631130B (zh) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101631130B (zh) | 直连ebgp邻居间的路由通告方法和设备 | |
CN107733793B (zh) | 一种转发表项维护方法及装置 | |
EP2742655B1 (en) | Implementing ospf in split architecture networks | |
CN101179488B (zh) | 通告自治系统边界连接信息的方法和装置 | |
CN108023815B (zh) | 信息传输方法、装置及系统 | |
EP2676390B1 (en) | Automated transitioning of networks between protocols | |
CN101517998B (zh) | 一种通告自治系统边界连接信息的方法和边界节点 | |
CN102394819B (zh) | 一种trill网络中指定vlan转发者的选举方法和装置 | |
CN102006184B (zh) | 堆叠链路管理方法、装置及网络设备 | |
US20080310342A1 (en) | Addressing Messages in a Two-Tier Network | |
US10404571B2 (en) | Communication among network controllers | |
EP2962411B1 (en) | System and method for traffic polarization during failures | |
CN101350773A (zh) | 一种移动分组网络架构及其多个防火墙负载均衡接入方法 | |
CN101697528B (zh) | 一种nat网关设备之间的负载分担方法和设备 | |
CN101127714B (zh) | 一种无线网状网络中路由管理方法及设备 | |
CN102368727A (zh) | 跨ip网络的trill网络通信方法、系统和设备 | |
US20070019541A1 (en) | Signaling system | |
CN102316019A (zh) | 用于IPv6的经路由的分割多链路骨干传输 | |
CN102404198B (zh) | 用于控制对路由数据的通告的方法和设备 | |
JP2016012896A (ja) | 通信装置及びマルチホッピングネットワーク | |
CN102457435B (zh) | Fc网络中的报文转发方法和fc系统及fc设备 | |
CN105634973A (zh) | 基于负载均衡的路由方法和设备 | |
CN103220217B (zh) | 一种路由生成方法和设备 | |
US10447601B2 (en) | Leaf-to-spine uplink bandwidth advertisement to leaf-connected servers | |
CN103685029B (zh) | 一种快速环网保护协议组网中报文转发方法和设备 |
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 | ||
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. |