路由器及其路由更新方法

文档序号:7653377阅读:148来源:国知局

专利名称::路由器及其路由更新方法
技术领域
:本发明涉及路由
技术领域
,特别涉及一种基于边界网关协议的路由器及其路由更新方法。
背景技术
:边界网关协议(BGP,BroaderGatewayProtocol)是一种自治系统(AS,AutonomousSystem)间的动态路由发现协议,它的基本功能是在自治系统间自动交换无环路的路由信息。与开放最短路径协议(OSPF,OpenShortestPathFirst)和路由信息协议(RIP,RoutingInformationProtocol)等在自治区域内部运行的协议对应,BGP是一类外部网关协议(EGP,EdgeGatewayProtocol),而OSPF和RIP等为内部网关协议(IGP,InteriorGatewayProtocol)。BGP连接有两种类型,在同一AS自治区域中建立的BGP连接称为内部BGP(IBGP,InternalBGP)连接,不同AS自治区域间的BGP连接为外部BGP(EBGP,ExternalBGP)连接。运行于同一AS自治区域中的BGP同伴,因为协议功能和机制的约束要求全连接,即,任意两个运行BGP的路由器间都要有IBGP连接。其中IBGP连接为TCP连接而非物理连接,此要求较高,复杂度为N平方。如果一个自治系统内的N台路由器进行全连接,就需要建立N(N-1)/2个IBGP连接。路由反射器的应用有效的减少了IBGP邻居建立的数量,简化了配置,降低了维护成本。图l为采用反射器的自治系统内部组网示意图。如图1所示,一个自治系统内运行BGP协议的路由器分为反射器,客户端和非客户端。根据反射器协议规定,自治系统内部的非客户端和反射器之间保持全连接,客户端与反射器之间必须建立IBGP邻居关系。路由发布策略为反射器将客户端发来的路由发布给其他客户端和非客户端,将非客户端发来的路由发布给所有反射器。反射器的设置有效的减化了网络配置,降低网络运营和维护成本,在运营商的骨干网中得到了广泛的应用。在接入端,用户为了网络健壮性,一般要与骨干网建立两条路径,接入到骨干网中不同的路由器中,以提供冗余备份。在网络稳定的前提下,两条链路可以同时有业务流量,实现负载分担;当一条路由失效时,业务可以快速切换到另外的路径上,从而减少业务中断时间。图2为存在到达同一目的地址的两条路由时的组网示意图。如图2所示,路由器RTA通过路由器PE1和路由器PE2接入运营商骨干网。为减少BGP邻居数量,骨干网中有一台路由器配置为反射器,PE1、PE2和PE3都是这个反射器的客户端,客户端之间不再需要配置BGP邻居关系。BGP发送路由的一个规则为当本地存有到达同一目的地址的多条路由时,只向邻居发送其中一条最优路由。根据该规则,反射器分别从PE1和PE2收到用户端路由,并选择其中一条最优的路由发给PE3。这样,从PE3向自治系统AS65535发送的流量只能走PE3-PE1-RTA或者PE3-PE2-RTA,而无法实现负载分担功能。如果不釆用反射器配置,而是全连接,贝IJPE3会收到分别从PE1和PE2发来的客户端路由,业务流量是可以同时走PE3-PE1-RTA和PE3-PE2-RTA的。但配置BGP全连接在复杂的骨干网是很难做到的。为了克服现有BGP路由规则无法进行负载分担的缺陷,IETF标准组织的提案"draftialton-bgp-add-paths"对更新报文中地址的编码方式进行了修改,增加了路径标识信息,从而允许BGP路由器向邻居发送到达同一目的地址的多条路由,以实现负载分担。以下详细介绍上述现有技术的方案现有技术的BGP更新报文格式如下<table>tableseeoriginaldocumentpage5</column></row><table>其中UnfeasibleRoutesLength:不可达路由长度,如果有撤销的报文,在该字段后携带要撤销的路由信息(UnfeasibleRoutes)。TotalPathAttributeLength:路径属性长度,表示PathAttributes字段的长度。PathAttributes:路径属性,描述该报文携带的所有路由属性。NetworkLayerReachabilityInformation:网络层可达地址信息携带路由信息,具体格式如下-+---------------------------+1Length(1字节)I+---------------------------+IPrefix(可变长)I+---------------------------+其中Length:表示地址前缀的掩码长度。Prefix:地址前缀,长度可以是1到4个字节。这样一条路由信息占用2~5个字节。该现有技术在向邻居发送的更新报文中,对地址的编码方式进行了修改,增加了路径标识信息(PathIdentifier),具体报文格式如下+---------------------------+IPathIdentifier(4字节)|+---------------------------+ILength(1字节)I+---------------------------+IPrefix(可变长)I+---------------------------+对于携带标签的路由,报文格式如下6<table>tableseeoriginaldocumentpage7</column></row><table>该现有技术提出路径标识(PathIdentifier)由BGP路由发送端(BGPspeaker)填充,内容可以是发送端的自治系统号,发送端的BGP路由器标识,或者是一个无具体含义的编码,从而使路由接收者区分从不同邻居发来的同一目的地址的路由。在撤销时,可通过路径标识和目的地址唯一确定要撤销的路由。通过该现有技术的报文格式可知,更新报文中的每条路由都加了路径标识信息,原来在报文中标识一条路由最多占用5个字节(Length字段占一个字节,Prefix字段占4个字节),而现在最多需要9个字节(PathIdentifier占4个字节),这样一个BGP更新报文包含的路由数量下降了将近50X,编码效率大大降低,而BGP协议往往需要承载大量路由的传送,该方案将使BGP发送报文的数量增加近一倍,增加了协议对报文传送的处理负担。
发明内容本发明实施例提供一种路由更新方法和基于边界网关协议的路由器,本发明实施例的边界网关协议更新报文的路径属性携带了路径标识信息,用于标识需要更新的路由信息,以区分来自不同邻居并具有同一目的地址的路由信息。本发明一实施例提供一种路由更新方法,所述方法包括以下步骤路由器向相邻路由器发送边界网关协议更新报文,所述更新报文的路径属性中携带路径标识信息,用于标识需要更新的路由信息;相邻路由器接收所述更新报文,根据所述更新报文中的路由信息增加路由。本发明另一实施例提供一种路由器,所述路由器包括报文发送单元、报文接收单元和路由更新单元所述报文发送单元至少包括更新报文发送单元,用于向相邻路由器发送边界网关协议更新报文,所述更新报文的路径属性中携带路径标识信息,用于标识需要更新的路由信息;所述报文接收单元至少包括更新报文接收单元,用于接收相邻路由器发出的边界网关协议更新报文,并根据更新报文的路径标识信息和网络层可达地址信息区分由不同的路由器发出并具有同一目的地址的路由信息;所述路由更新单元,用于增加区分出的路由信息。上述实施例的技术方案在更新报文的路径属性中携带路径标识信息,而不是在更新报文的每一个地址编码中携带该路径标识,从而能够提高编码效率,并实现向邻居路由器发送具有同一目的地址的多条路由的目的,满足了负载分担的要求。图l为现有技术自治系统内部组网示意图;图2为现有技术自治系统间的组网示意图;图3为实施例1路由器的结构框图;图4为实施例2基于更新报文的路由更新方法流程图;图5为实施例2基于撤销报文的路由更新方法流程图。具体实施方式以下结合附图对本发明具体实施方式进行详细说明。实施例l本实施例提供一种路由器,图3为本实施例路由器的结构框图,如图3所示,本实施例的路由器包括报文发送单元301、报文接收单元302和路由更新单元303。报文发送单元301至少包括更新报文发送单元3011,用于询相邻路由器发送边界网关协议更新报文,所述更新报文的路径属性中携带路径标识信息,用于标识需要更新的路由信息。报文接收单元302至少包括更新报文接收单元3021,用于接收相邻路由器发出的边界网关协议更新报文,并根据更新报文的路径标识信息和网络层可达地址信息区分由不同的路由器发出并具有同一目的地址的路由信息。路由更新单元303,用于增加区分出的路由信息。其中,路径标识由BGP路由发送端(BGPspeaker)填充,该路径标识可以是发送端所在的自治系统号,发送端BGP路由器标识,或者是一个无具体含义的编码,或者是该路由的下一跳属性中的下一跳信息,从而能够使接收端区分从不同邻居发来的到达同一目的地址的路由。该路径标识可以根据不同的组网情况灵活选择如图2所示的组网情况,PE3可以通过AS100内的边界路由器PE1或PE2到达AS65535内的RTA,贝lJPEl、PE2向邻居路由器发送的更新报文携带的路径标识可以为PE1、PE2的BGP路由器标识,这样PE3根据不同的路径标识以及目的地址RTA就能确定不同的路由。而当PE1、PE2位于不同的自治系统并能到达同一目的地址RTA时,它们所发送的更新报文携带的路径标识可以为PE1、PE2所在自治系统的自治系统号。作为一种优选的方式,本实施例可以同时支持BGP撤销报文。BGP撤销报文的格式如下UnfeasibleRoutesLength(2字节)UnfeasibleRoutesTotalPathAttributeLength(2字节)PathAttributes(可变长)其中,UnfeasibleRoutes字段为不可达路由,其中携带待撤销的路由。路径属性字段(PathAttributes)携带路径标识信息。该路径标识的含义和BGP更新报文的路径标识含义相同。为了支持撤销报文的情况,图3的报文发送单元301还包括撤销报文发送单元3012,用于向相邻路由器发送边界网关协议撤销报文,所述撤销报文的路径属性中携带路径标识信息,用于标识需要撤销的路由信息。报文接收单元302还包括撤销报文接收单元3022,用于接收相邻路由器发出的撤销报文,并根据撤销报文的路径标识信息和不可达路由信息区分来自不同的路由器并具有同一目的地址的撤销路由。路由更新单元302,还用于删除区分出的撤销本实施例的路由器,在BGP的更新报文和撤销报文的路径属性中携带路径标识信息,不同于现有技术在每个地址编码中都携带该路径标识,提高了编码效率,并能有效实现负载分担。实施例2本实施例提供一种路由更新方法,该方法包括以下步骤路由器向相邻路由器发送边界网关协议更新报文,所述更新报文的路径属性中携带路径标识信息,用于标识需要更新的路由信息;相邻路由器接收所述更新报文,根据所述更新报文中的路由信息增加路由。图4显示了本实施例基于更新报文的路由更新方法流程图步骤S401,路由器向相邻路由器发送BGP更新报文,所述更新报文的路径属性中携带路径标识信息,用于标识需要更新的路由信息。以下为本实施例的更新报文格式-UnfeasibleRoutesLength(2字节)TotalPathAttributeLength(2字节)PathAttributes(可变长)PathIdentifier(4字节)NetworkLayerReachabilityInformation(可变长〉其中UnfeasibleRoutesLength:不可达路由长度,如果有撤销的报文,在该字段后携带要撤销的路由信息(UnfeasibleRoutes)。TotalPathAttributeLength-路径属性长度,表示PathAttributes字段的长度。PathAttributes:路径属性,描述该报文携带的所有路由属性。PathIdentifier:路由标识信息,位于PathAttributes中。NetworkLayerReachabilityInformation:网络层可达地址信息携带路由信息。路径标识由BGP路由发送端(BGPspeaker)填充,该路径标识可以是该发送端的自治系统号,发送端BGP路由器标识,或者是一个无具体含义的编码,或者是该路由的下一跳属性中的下一跳信息,从而使接收端能够区分从不同邻居发来的到达同一目的地址(Prefix)的路由。该路径标识可以根据不同的组网情况灵活选择如图2所示PE3可以通过AS100内的边界路由器PE1或PE2到达AS65535内的RTA,贝ljPEl、PE2向邻居路由器发送的更新报文携带的路径标识可以为PE1、PE2的BGP路由器标识,这样PE3根据不同的路径标识以及目的地址RTA就能确定不同的路由。而当PE1、PE2位于不同的自治系统并能到达统一目的地址RTA时,它们所发送的更新报文携带的路径标识可以为PE1、PE2所在自治系统的自治系统号。步骤S402,相邻路由器接收所述更新报文,区分不同的更新路由信息。本实施例根据更新报文的路径标识属性和网络层可达地址信息区分由不同的路由器发出并能到达同一目的地址的路由信息。如图2所示首先,PE1和PE2通过反射器发送更新报文到PE3,并且在PE1和PE2的更新报文的路径属性中分别携带了PE1和PE2的BGP路由器标识作为路径标识,PE3接收到来自PE1和PE2的更新报文后,根据更新报文的路径属性字段携带的路径标识属性以及目的地址的信息区分来自不同路由器并能到达统一目的地址RTA的的路由,即PE3-PE1-RTA和PE3-PE2-RTA。步骤S403,相邻路由器根据所接收的更新报文对所存储的路由信息进行更新。如图2所示,PE3将获得的两条路由PE3-PE1-RTA和PE3-PE2-RTA添加到路由表中。作为一种优选的方式,本实施例还可以支持基于撤销报文的路由更新路由器向相邻路由器发送边界网关协议撤销报文,所述撤销报文的路径属性中携带路径标识属性,用于标识撤销路由信息;所述相邻路由器接收所述撤销报文,根据所述撤销报文信息撤销路由。图5显示了本实施例基于撤销报文的路由更新方法流程图步骤S501,路由器向相邻路由器发送边界网关协议撤销报文,所述撤销报文的路径属性中携带路径标识属性,用于标识撤销路由信息。该路径标识可以采用更新报文中的路径标识。如图2所示,假设完成路由更新之后,PE3中已经存储了两条到达同一目的地址RTA的路由,即PE3-PE1-RTA和PE3-PE2-RTA。此时,PE2发现PE2-RTA的路由不可用,这时同样需要进行路由更新。PE2通过反射器将撤销报文发给PE3,该撤销报文的路径属性字段携带了PE2的BGP路由器标识作为路径标识,以标识撤销路由信息。步骤S502,相邻路由器接收所述撤销报文,区分不同的更新路由信息。本实施例根据所述撤销报文的路径标识属性和不可达路由信息区分来自不同的路由器并能到达同一目的地址的撤销路由。如图2所示,PE3接收到来自PE2的撤销报文,根据撤销报文的路径属性字段携带的路径标识属性以及目的地址(UnfeasibleRoutes)的信息确定要撤销路由,即PE3-PE2-RTA。步骤S503,相邻路由器根据所接收的撤销报文对所存储的路由信息进行更新。如图2所示,PE3将路由PE3-PE2-RTA从路由表删除。本实施例的路由更新方法,在BGP的更新报文和撤销报文的路径属性中携带路径标识属性,不同于现有技术在每个地址编码中都携带该路径标识,提高了编码效率,并能有效实现负载分担。以上具体实施方式仅用于说明本发明,而非用于限定本发明。本领域普通技术人员对以上实施例进行的等同变形、替换都在权利要求保护范围之内。权利要求1.一种路由更新方法,其特征在于,所述方法包括以下步骤路由器向相邻路由器发送边界网关协议更新报文,所述更新报文的路径属性中携带路径标识信息,用于标识需要更新的路由信息;相邻路由器接收所述更新报文,根据所述更新报文中的路由信息增加路由。2.根据权利要求l所述的方法,其特征在于,相邻路由器根据所述更新报文信息增加路由进一步包括根据更新报文的路径标识信息和网络层可达地址信息区分由不同的路由器发出并具有同一目的地址的路由信息;增加区分出的路由信息。3.根据权利要求l所述的方法,其特征在于,所述方法进一步包括路由器向相邻路由器发送边界网关协议撤销报文,所述撤销报文的路径属性中携带路径标识信息,用于标识需要撤销的路由信息;所述相邻路由器接收所述撤销报文,根据所述撤销报文中的路由信息撤销路由。4.根据权利要求3所述的方法,其特征在于,所述相邻路由器根据所述撤销报文信息撤销路由进一步包括根据所述撤销报文的路径标识信息和不可达路由信息区分来自不同的路由器并具有同一目的地址的撤销路由;删除区分出的撤销路由。5.根据权利要求1一4中任意一项权利要求所述的方法,其特征在于,所述路径标识为所述路由器所在自治系统的自治系统号或所述路由器的边界网关协议标识,或者是该路由的下一跳属性中的下一跳信息。6.—种路由器,其特征在于,所述路由器包括报文发送单元、报文接收单元和路由更新单元所述报文发送单元至少包括更新报文发送单元,用于向相邻路由器发送边界网关协议更新报文,所述更新报文的路径属性中携带路径标识信息,用于标识需要更新的路由信息;所述报文接收单元至少包括更新报文接收单元,用于接收相邻路由器发出的边界网关协议更新报文,并根据更新报文的路径标识信息和网络层可达地址信息区分由不同的路由器发出并具有同一目的地址的路由信息;所述路由更新单元,用于增加区分出的路由信息。7.根据权利要求6所述的路由器,其特征在于-所述报文发送单元还包括撤销报文发送单元,用于向相邻路由器发送边界网关协议撤销报文,所述撤销报文的路径属性中携带路径标识信息,用于标识需要撤销的路由信息;所述报文接收单元还包括撤销报文接收单元,用于接收所述撤销报文,并根据所述撤销报文的路径标识信息和不可达路由信息区分来自不同的路由器并具有同一目的地址的撤销路由;所述路由更新单元,还用于删除区分出的撤销路由。8.根据权利要求6或7所述的路由器,其特征在于,所述路径标识为所述路由器所在自治系统的自治系统号或所述路由器的边界网关协议标识,或者是该路由的下一跳属性中的下一跳信息。全文摘要本发明的实施例提供一种路由器及其路由更新方法,所述方法包括以下步骤路由器向相邻路由器发送边界网关协议更新报文,所述更新报文的路径属性中携带路径标识信息,用于标识需要更新的路由信息;相邻路由器接收所述更新报文,根据所述更新报文中的路由信息增加路由。上述实施例的技术方案在更新报文的路径属性字段携带路径标识信息,而不是在更新报文的每一个地址编码中携带该路径标识,从而能够提高编码效率,并实现向邻居路由器发送具有同一目的地址的多条路由的目的,满足了负载分担的要求,同时能进行路径备份。文档编号H04L12/56GK101312438SQ20071010551公开日2008年11月26日申请日期2007年5月24日优先权日2007年5月24日发明者张仁海申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1