一种路由通告方法和装置制造方法

文档序号:7804319阅读:164来源:国知局
一种路由通告方法和装置制造方法
【专利摘要】本发明提供一种路由通告方法和装置。所述方法包括:与相邻节点建立备份邻居关系;在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居。通过本发明的技术方案可以实现在到达同一个目的存在有多于一条路由时,每个相邻节点上都能够存有到达该同一个目的的两条不同路由,进而形成等价路由或者备份路由,以避免在最优路由无法达到时造成流量中断。
【专利说明】一种路由通告方法和装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种路由通告方法和装置。
【背景技术】
[0002]BGP (Border Gateway Protocol,边界网关协议)是一种用于 AS (AutonomousSystem,自治系统)之间的动态路由协议。发送BGP消息的路由器也可以接收或者产生新的路由信息,并发布给其它BGP邻居。当发送BGP消息的路由器接收到来自其它AS的新路由时,如果该路由比当前已知路由更优、或者当前还没有该路由,该路由器就会把这条路由发布给本AS内的所有其他BGP邻居。
[0003]传统的BGP协议规定,一个邻居对于同一个目的,只能通告一条路由。也就意味着,即使发送端到达同一个目的存在有多条路由,在通告给接收端的时候,也只会通告一条最优的路由。一旦这条路由故障,在等待邻居重新下发路由的过程中,就可能会导致流量的中断。

【发明内容】

[0004]有鉴于此,本发明提供一种路由通告方法和装置
[0005]具体地,本发明是通过如下技术方案实现的:
[0006]一种路由通告方法,所述方法包括:
[0007]与相邻节点建立备份邻居关系;
[0008]在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居。
[0009]进一步地,所述在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居包括:
[0010]在到达同一个目的存在有多于一条路由时,通告所述非最优路由给没有上报所述非最优路由的备份邻居;
[0011]在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给没有上报仅存在的所述路由的备份邻居。
[0012]进一步地,所述非最优路由是次优路由。
[0013]进一步地,与相邻节点建立普通邻居关系;
[0014]在到达同一个目的存在有多于一条路由时,通告最优路由给所述普通邻居。
[0015]进一步地,所述路由为BGP路由。
[0016]一种路由通告装置,所述装置包括:
[0017]邻居建立单元,用于与相邻节点建立备份邻居关系;
[0018]路由通告单元,用于在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居。
[0019]进一步地,所述路由通告单元,具体用于在到达同一个目的存在有多于一条路由时,通告所述非最优路由给没有上报所述非最优路由的备份邻居;在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给没有上报仅存在的所述路由的备份邻居。
[0020]进一步地,所述非最优路由是次优路由。
[0021]进一步地,所述邻居建立单元,进一步用于与相邻节点建立普通邻居关系;
[0022]所述路由通告单元,进一步用于在到达同一个目的存在有多于一条路由时,通告最优路由给所述普通邻居。
[0023]进一步地,所述路由为BGP路由。
[0024]由以上描述可以看出,本实施例中,RR在建立普通邻居关系的基础上,与各个相邻客户机建立备份邻居关系,在到达同一个目的存在有多于一条路由时,通告非最优路由给备份邻居,以使得每个相邻节点上都能够存有到达同一个目的的两条不同路由,进而形成等价路由或者备份路由,以避免在最优路由无法达到时造成流量中断。
【专利附图】

【附图说明】
[0025]图1是一种典型的IBGP组网示意图;
[0026]图2是本发明一种实施方式中BGP路由通告方法的流程示意图;
[0027]图3是本发明一种实施方式中IBGP组网示意图;
[0028]图4是本发明一种实施方式中BGP路由通告装置的逻辑结构图。
【具体实施方式】
[0029]请参考图1,一种典型的IBGP(Internal BGP,运行在同一个AS内的BGP)组网示意图。为保证IBGP对等体(相互交换路由的BGP发言者)之间的连通性,需要在IBGP对等体之间建立邻居关系。假设一个AS内部有N台路由器,那么建立邻居关系的数量就是N(N-1)/20当IBGP对等体数量很多时,对网络资源和CPU资源的消耗都很大。于是,在IBGP组网内引入RR(Route Reflector,路由反射器)。其它路由器作为客户机(Client)与RR建立邻居关系,由RR汇总各个客户机上报的路由信息,并向其它客户机通告该路由信息,而客户机之间不需要建立邻居关系。
[0030]但是RR受BGP协议的约束,只能通告一条路由给客户机。假设,客户机I和客户机2都上报了到达同一目的,IP地址为1.1.1.1/32的路由,RR经比较发现客户机I上报的路由最优,那么只会将客户机I上报的路由通告给客户机3、4和5。即便有多个RR,其选择的最优路由往往也是一致的。也就是说客户机3、4和5上到达上述同一目的,即到达IP地址1.1.1.1/32的路径只会有一条,一旦这条路径故障,需要由RR先感知到,然后再通告其他路由给客户机3、4和5,这个过程就可能会导致客户机3、4和5上有流量中断。
[0031]有鉴于此,本发明一实施例提供一种路由通告方法,所述方法应用在网络设备上,t匕如,RR设备。请参考图2,所述方法包括如下步骤:
[0032]步骤201,与相邻节点建立备份邻居关系。
[0033]步骤202,在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居。[0034]这里,所述最优路由通常是指在到达同一目的的多条路由中,开销值最小的路由,而所述非最优路由通常是指在到达同一目的的多条路由中,开销值最小的路由以外的其它路由。在本实施例中,所述路由可以为BGP路由。
[0035]具体地,仍以图1所示的组网环境为例。在当前的一种实现方法中,RR设备与作为相邻节点的客户机I至客户机5建立邻居关系。RR设备在到达同一个目的存在有多于一条路由时,选取最优路由并通告给所述邻居。此处的邻居关系,本申请中称为普通邻居关系。
[0036]在本实施例中,设计由RR设备和相邻节点建立备份邻居关系,RR设备汇总各个相邻节点上报的路由信息,在到达同一个目的存在有多于一条路由时,RR设备通告非最优路由给所述备份邻居。同时,RR设备也可以和相邻节点建立普通邻居关系,RR设备汇总各个相邻节点上报的路由信息,在到达同一个目的存在有多于一条路由时,RR设备通告最优路由给所述普通邻居。由此可以看出,对于RR设备的每一个相邻节点而言,实际上可以和RR设备建立了两个邻居关系,即一个普通邻居关系和一个辈分邻居关系。进而RR设备的每一个相邻节点都会接收到RR通告的两条不同的路由。所述相邻节点根据接收到的到达同一个目的两条不同的路由,可以形成等价路由或者是主备路由,以便在最优路由无法到达时,可以将流量及时切换到所述非最优路由上,避免流量中断。
[0037]事实上,对于RR而言,其并不需要感知到是和每一个相邻节点建立了两个不同的邻居关系,只需要能够区分普通邻居关系和备份邻居关系即可。然后使能备份邻居关系的特性:在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居。本申请的实施例中,所述非最优路由可以为次优路由。
[0038]进一步地,在到达同一个目的存在有多于一条路由时,通告所述非最优路由给没有上报所述非最优路由的备份邻居;在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给没有上报仅存在的所述路由的备份邻居。具体地,RR设备上可以记录上报路由的相邻节点,在需要通告路由给相邻节点时,先判断所述相邻节点是否为上报待通告路由的设备,如果是,则不再重复通告。
[0039]举例来说,请参考图3,RR和相邻节点客户机I至客户机5分别建立了普通邻居关系和备份邻居关系。假设,客户机I和客户机2都上报了到达同一个目的(比如:IP地址为1.1.1.1/32)的路由,分别为路由I和路由2,其中路由I为最优路由。那么,RR会通告所述路由I给普通邻居,即通过图3中实线所示的普通邻居关系链路通告路由I给客户机I至客户机5。同时,RR会通告所述路由2给备份邻居,即通过图3中虚线所示的备份邻居关系链路通告路由2给客户机I至客户机5。这样,在客户机I至客户机5上,就会存有到达上述同一个目的(IP地址为1.1.1.1/32)的两条不同的路由:路由I和路由2。根据所述路由I和路由2,客户机I至客户机5上就可以形成到达上述目的(IP地址为1.1.1.1/32)的主备路由。进一步地,由于客户机I上报了所述最优路由1,客户机2上报了所述次优路由2,故RR设备通过普通邻居关系链路通告所述路由I给客户机2至客户机5,通过备份邻居关系链路通告所述路由2给客户机1、客户机3、客户机4以及客户机5。
[0040]由以上描述可以看出,本实施例中,RR在建立普通邻居关系的基础上,与各个相邻客户机建立备份邻居关系,在到达同一个目的存在有多于一条路由时,通告非最优路由给备份邻居,以使得每个相邻节点上都能够存有到达同一个目的的两条不同路由,进而形成等价路由或者备份路由,以避免在最优路由无法达到时造成流量中断。
[0041]本发明的又一实施例提供一种路由通告装置,所述装置应用在网络设备上,比如,RR设备。作为本发明装置的运行载体,所述网络设备的硬件环境通常至少包括有CPU、内存以及非易失性存储器,当然还可能包括各种转发芯片、I/o接口等硬件。请参考图4,以软件实现为例,本实施例通过该设备的CPU将非易失性存储其中对应的计算机程序指令读取到内存中运行,使所述路由通告装置包括有:邻居建立单元以及路由通告单元。在本发明的一种实施方式中:
[0042]所述邻居建立单元,用于与相邻节点建立备份邻居关系;
[0043]所述路由通告单元,用于在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居。
[0044]进一步地,所述路由通告单元,具体用于在到达同一个目的存在有多于一条路由时,通告所述非最优路由给没有上报所述非最优路由的备份邻居;在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给没有上报仅存在的所述路由的备份邻居。
[0045]进一步地,所述非最优路由是次优路由。
[0046]进一步地,所述邻居建立单元,用于与相邻节点建立普通邻居关系;所述路由通告单元,用于在到达同一个目的存在有多于一条路由时,通告最优路由给所述普通邻居。
[0047]进一步地,所述路由为BGP路由。
[0048]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种路由通告方法,其特征在于,所述方法包括: 与相邻节点建立备份邻居关系; 在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居。
2.根据权利要求1所述的方法,其特征在于,所述在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居包括: 在到达同一个目的存在有多于一条路由时,通告所述非最优路由给没有上报所述非最优路由的备份邻居; 在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给没有上报仅存在的所述路由的备份邻居。
3.根据权利要求1或2所述的方法,其特征在于, 所述非最优路由是次优路由。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 与相邻节点建立普通邻居关系; 在到达同一个目的存在有多于一条路由时,通告最优路由给所述普通邻居。
5.根据权利要求1所述的方法,其特征在于, 所述路由为边界网关协议BGP路由。
6.一种路由通告装置,其特征在于,所述装置包括: 邻居建立单元,用于与相邻节点建立备份邻居关系; 路由通告单元,用于在到达同一个目的存在有多于一条路由时,通告非最优路由给所述备份邻居,在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给所述备份邻居。
7.根据权利要求6所述的装置,其特征在于, 所述路由通告单元,具体用于在到达同一个目的存在有多于一条路由时,通告所述非最优路由给没有上报所述非最优路由的备份邻居;在到达同一个目的仅存在有一条路由时,通告仅存在的所述路由给没有上报仅存在的所述路由的备份邻居。
8.根据权利要求6所述的装置,其特征在于, 所述非最优路由是次优路由。
9.根据权利要求6所述的装置,其特征在于, 所述邻居建立单元,进一步用于与相邻节点建立普通邻居关系; 所述路由通告单元,进一步用于在到达同一个目的存在有多于一条路由时,通告最优路由给所述普通邻居。
10.根据权利要求6所述的装置,其特征在于, 所述路由为BGP路由。
【文档编号】H04L12/801GK103973558SQ201410216809
【公开日】2014年8月6日 申请日期:2014年5月21日 优先权日:2014年5月21日
【发明者】周轶凡, 章海锋, 查金祥 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1