基于性能的路由方法和设备的制作方法

文档序号:7927751阅读:184来源:国知局
专利名称:基于性能的路由方法和设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种基于性能的路由方法和设备。
背景技术
BGP (Border Gateway Protocol,边界网关协议)用于在 AS (autonomous system,自治系统)之间和AS内传递路由信息。BGP作为一个应用层协议运作在BGP路由器上,BGP路由器上保存BGP路由表,分别为邻接路由信息库-入方向Adj-RIB-1n、邻接路由信息库-出方向Adj-RIB-out、本地路由信息库Local-RIB。BGP为每一个邻接BGP维护一个Adj-RIB-1n和Adj-RIB-out,而Local-RIB是用于存放符合本机配置的BGP策略的路由信肩、OBGP邻接建立会话后,BGP路由器从Local-RIB中取出路由,根据对邻接BGP路由器的输出策略进行处理,将符合策略的路由放入BGP路由器的Adj-RIB-Out中,将Adj-RIB-Out中的路由发送给邻接BGP路由器,邻接BGP路由器将接收到的路由放到邻接BGP路由器的Adj-RIB-1n中,以供BGP决策进行处理。目前,Local-RIB中存放的路由信息多是从Adj-RIB-1n中基于 AS-Path(自治系统-路径)属性最短的策略进行选取的得到的,从用户体验的角度看,这些路由信息并不一定是最优的。

发明内容
本发明的实施例提供一种基于性能的路由方法和设备,能够通过扩展BGP协议实现性能路由的交换。为达到上述目的,本发明的实施例采用如下技术方案一方面,提供一种基于性能的路由方法,该方法包括第一 PCR接收第二 PCR发送的第一性能路由信息,所述第一性能路由信息包括第一性能参数属性;判断所述第一 PCR的邻接路由信息库-入方向Adj-RIB-1n中是否存在所述第一性能路由信息对应的性能路由;在所述Adj-RIB-1n中不存在所述性能路由时,将所述性能路由添加到所述Adj-RIB-1n 中。对应上述方法,还提供一种基于性能的路由设备,该路由设备包括第一性能路由信息接收单元,用于接收第二 PCR发送的第一性能路由信息,所述第一性能路由信息包括第一性能参数属性。判断单元,用于判断所述第一 PCR的邻接路由信息库-入方向Adj-RIB-1n中是否存在与所述第一性能路由信息对应的性能路由。性能路由信息保存单元,用于在所述第一 PCR的Adj-RIB-1n中没有与所述第一'注能路由信息对应的性能路由时,将所述第一'注能路由信息添加到所述第一 PCR的Adj-RIB-1n 中。
本发明实施例提供的基于性能的路由方法和设备,实现性能路由的交换和利用性能路由进行分组报文的路由,从而为用户提供更好的业务体验。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一中的基于性能的路由方法的流程图;图2为本发明实施例二中的基于性能的路由设备的结构示意图;图3为本发明实施例三中的基于性能的路由方法的流程图;图4为本发明实施例三中的基于性能的路由方法所应用的网络架构图一;图5为本发明实施例三中的基于性能的路由方法所应用的网络架构图二 ;图6为本发明实施例三中的基于性能的路由方法所应用的网络架构图三;图7为本发明实施例四中的基于性能的路由设备的结构示意图;图8为本发明实施例四中第二性能参数属性生成单元的结构示意图一;图9为本发明实施例四中第二性能参数属性生成单元的结构示意图二。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明实施例中提供的基于性能的路由方法和设备进行详细描述。实施例一一方面,如图1所示,本发明实施例中提供一种基于性能的路由方法,可以由第一PCR(Performance-routing Capable Router,具备性能路由能力的BGP路由器)完成,该方法,包括101、接收第二 PCR发送的第一性能路由信息,所述第一性能路由信息包括第一性能参数属性。举例来说,所述第一性能路由信息还可以包括网络层可达信息NLRI (NetworkLayer Reachability Information)、路径属性,所述路径属性中的下一跳(next-hop)的值为所述第二 PCR的地址。其中,所述第一 PCR与所述第二 PCR之间互为邻接PCR,所述第一性能参数属性包括所述下一跳信息指示的PCR与所述网络层可达信息NLRI (Network LayerReachability Information)所指示的PCR之间的网络性能参数。在本实施例中,所述性能参数属性中包括的网络性能参数可以是时延、丢包率、和/或时延抖动,或者为根据上述参数的一种或多种计算出的一个综合性能参数。举例来说,上述发送的性能路由信息可以采用一个新定义的子族进行编码,以便与其他地址子族的路由信息进行区分;也可以采用一个现有的地址族/地址子族进行编码,其中所述第一性能参数属性携带在所述第一性能路由信息的路径属性中,例如,可以携带在有现有的路径属性的某个属性字段,比如MED(多出口区分,Mult1-ExitDiscriminators)属性字段,也可以用一个新增的属性字段,来携带上述的性能参数属性。举例来说,所述第一性能路由信息还可以包括MPLS标签,所述MPLS标签为所述第二 PCR为所述第一性能路由信息对应的性能路由分配的标签,从而使得数据包基于性能路由进行数据转发时可以通过MPLS实现。举例来说,所述第一性能路由信息可以通过BGP更新(update)消息发送。102、判断所述第一 PCR的邻接路由信息库_入方向Adj-RIB-1n中是否存在与所述第一性能路由信息对应的性能路由。其中所述第一性能路由信息对应的性能路由为所述目的PCR与所述第二 PCR之间的性能路由。103、在所述Adj-RIB-1n中不存在与所述第一性能路由信息对应的性能路由时,将所述第一性能路由信息添加到所述第一 PCR的Adj-RIB-1n中。本实施例提供的基于性能的路由方法中的性能路由是一种基于网络性能参数值作为选路度量的路由方法,举例来说,网络性能参数具体可以为时延、丢包率或时延抖动等参数,也可以是将上述多个单一的性能参数作为输入通过特定算法得到综合性能参数。举例来说,所述性能路由中的网络性能参数值的值越小,表示性能越好,也就是路由越越优。值得说明的是,如何判定路由优越性基于选取参数以及参数对应的特定算法,上述定义只是可能的一种判定路由优越性的方式。进一步的,所述方法还可以包括104、为所述第一性能路由信息对应的性能路由增加一个第二性能参数属性,所述第二性能参数属性的值基于所述第一性能参数属性的值和所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的网络性能参数值。具体地,所述第二性能参数属性的值为所述第一 PCR与所述第一性能路由信息中包括的NLRI指示的目的PCR之间的路由的网络性能参数值。105、根据所述第二性能参数属性从具有相同NLRI的性能路由中选取最优性能路由,并将所述最优性能路由以及所述最优性能路由中的第二性能参数属性保存到所述第一PCR的本地路由信息库Loc-RIB中。例如,可以将到达某个目的PCR的性能路由中第二性能参数属性的值最小的性能路由作为到达该目的PCR的最优性能路由。举例来说,所述基于性能的路由方法可以进一步包括106、如果所述第一 PCR的本地路由信息库中的最优性能路由发生更新,所述第一PCR将发生更新的最优性能路由通告给邻接PCR。举例来说,所述第一 PCR将更新后的最优性能路由发送给邻接PCR可以包括所述第一 PCR将发送给邻接PCR的性能路由信息中的下一跳设置为自己(第一 PCR),将性能参数属性设置为所述第一 PCR到所述更新 后的最优性能路由的目的PCR的性能路由的性能参数属性;或者,所述第一 PCR将发送给邻接PCR的更新后的性能路由信息中的下一跳设置为该更新后的性能路由信息所来自的邻接PCR,将性能参数属性设置为所述更新后的性能路由信息来自的邻接PCR到所述更新后的性能路由的目的PCR的性能路由的性能参数属性。然后将所述性能路由信息发送给所述第一 PCR的邻接PCR。例如,如果第一 PCR的本地路由信息库中包括所述第二性能参数属性的最优性能路由发生更新,这时所述第一 PCR将发生更新的所述最优性能路由通告给邻接PCR,通告时可以将性能路由信息的下一跳设置为自己,这时通告的所述性能路由信息的性能参数属性为所述第二性能参数属性,也就是所述第一 PCR到所述发生更新的最优性能路由中的所述NLRI所指示的目的PCR的性能路由的性能参数属性;如果将通告的性能路由信息的下一跳设置为该性能路由信息来自的邻接PCR,也就是所述第二 PCR,这时通告的所述性能路由信息的性能参数属性为所述第一性能参数属性,也就是所述第二 PCR到所述发生更新的最优性能路由中的所述NLRI所指示的目的PCR的性能路由的性能参数属性。所述第一 PCR通告给邻接PCR的所述性能路由信息中的NLRI保持不变。相对应地,如果所述第一 PCR通告给邻接PCR的所述性能路由信息中包括MPLS标签信息,则携带的MPLS标签为和所述性能路由信息的下一跳PCR相对应的MPLS标签。例如,如果所述性能路由信息的下一跳PCR为所述第二 PCR,则所述MPLS标签为所述第二 PCR分配的标签;如果所述性能路由信息的下一跳PCR为所述第一 PCR,则所述MPLS标签为所述第一 PCR分配的标签。本发明实施例提供的基于性能的路由方法,实现性能路由的交换和利用性能路由进行分组报文的路由,从而为用户提供更好的业务体验。实施例二如图2所示,对应于上述方法实施例一,本发明实施例中提供了一种基于性能的路由设备,包括第一性能路由信息接收单元21,用于接收第二 PCR发送的第一性能路由信息,所述第一性能路由信息包括第 一性能参数属性,其接收性能路由信息的方式与上述步骤101相同,此处不再赘述。判断单元22,用于判断所述第一 PCR的邻接路由信息库-入方向Adj-RIB-1n中是否存在与所述第一性能路由信息对应的性能路由。性能路由信息保存单元23,用于在所述第一 PCR的Adj-RIB-1n中没有与所述第一性能路由信息对应的性能路由时,将所述第一性能路由信息添加到所述第一 PCR的Adj-RIB-1n中。其将能路由信息添加到Adj-RIB-1n中的具体过程与上述步骤103相同,此处不再赘述。进一步的,所述基于性能的路由设备还可以包括第二性能参数属性生成单元24,用于根据所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的网络性能参数值和所述第一性能参数属性中的网络性能参数值生成第二性能参数属性,将所述第二性能参数属性添加到所述第一性能路由信息中。所述第二性能参数属性的值为所述第一 PCR与所述第一性能路由信息中包括的NLRI指示的目的PCR之间的路由的网络性能参数值。最优性能路由选取单元25,用于根据所述第二性能参数属性从具有相同NLRI的性能路由中选取最优性能路由,并将所述最优性能路由以及所述第二性能参数属性保存到所述第一 PCR的本地路由信息库Loc-RIB中。其进行上述操作的过程与上述步骤105相同,此处不再赘述。进一步的,该基于性能的路由设备,还可以包括路由信息通告单元26,用于在所述第一 PCR的本地路由信息库中的最优性能路由发生更新时,将发生更新的最优性能路由通告给邻接PCR。其进行上述操作的过程与上述步骤106相同,此处不再赘述。本发明实施例提供的基于性能的路由设备,实现性能路由的交换和利用性能路由进行分组报文的路由,从而为用户提供更好的业务体验。实施例三如图3所示,本发明实施例提供一种基于性能的路由方法,用于在AS之间和AS内传递性能路由信息,所述AS内部的BGP路由器为全互联(full-mesh)连接。该方法,包括301、本地PCR与BGP邻居进行性能路由能力协商。在该步骤中,所述本地PCR可以通过BGP多协议扩展能力通告过程与BGP邻居进行性能路由能力协商,协商各自是否支持性能路由的发送、处理和接收。具体的,所述性能路由能力协商可以基于RFC4760中定义的多协议扩展能力通告过程,BGP消息中的能力可选参数(Capabilities Optional Parameter)中各个字段设置如下Capability code (能力码)=I,表示该 BGP 消息为 multiprotocol BGP(多协议边界网关协议),Capability Value (能力值)字段中的 AFI (Address Family Identifier,地址族标识符)字段表示性能路由传递的路由是IPv4还是IPv6路由,SAFI (SubsequentAddress Family Id entifier,子地址族)字段设置为一个由 IANA(Internet AssignedNumbers Authority,互联网编号分配机构)为性能路由独立分配一个的SAFI编码。在本实施例中,由于所述AS内部的BGP为全互联连接,本地PCR通过上述能力协商过程就可以发现AS内部的所有邻接PCR,即性能路由能力协商成功之后,所述本地PCR与所述邻接PCR之间即可相互发现,并且如果该PCR是ASBR(AS Boder Router,自治系统边界路由器),还可以发现作为其EBGP(External Border Gateway Protocol,外部边界网关协议)邻接的远端AS内部的PCR。具体的,如图4所示,AS100和AS200内部的BGP路由器之间都建立了全连接的BGP会话/连接。通过BGP性能路由能力协商过程,Rl发现IBGP邻居R2和R3是PCR,同时也发现EBGP邻居R4也是PCR。同理,其他PCR也可以通过IBGP (Interior Border GatewayProtocol,内部边界网关协议)或EBGP会话的性能路由协商来发现自己的IBGP邻居或EBGP邻居是否是PCR。而对于在AS内部部署路由反射器RR的情况,如图6所示,RO为具备性能路由能力路由反射器,R1-R3为具有性能路由能力的BGP路由器PCR,R1-R3需要在AS内部通告一个携带特定含义的扩展团体属性的BGP更新消息,以便实现AS内部PCR自动发现功能。对于在AS内部部署路由反射器RR的情况,将所述与RR相连的PCR互称为对方的邻接PCR。对于在AS内部部署路由反射器RR的情况下,由于某些PCR路由器之间没有BGP会话/连接,PCR无法通过步骤301发现AS内部的所有邻居PCR,在这种情况下,在协商之后通过将所述携带特定含义的扩展团体属性的更新消息扩散到AS内部的邻居PCR,从而实现AS内部PCR自动发现功能。该更新消息中的NRLI字段携带有发送该更新消息的PCR的一个IP地址,该地址也是该PCR的ID。302、本地PCR测量其与邻接PCR之间的网络性能。在该步骤中,PCR可以测量与邻接PCR之间的网络性能,该网络性能例如可以为从所述本地PCR到达邻接PCR之间的时延、丢包率和/或时延抖动,所述时延例如可以为往返时延RTT (Round Trip Time)。所述PCR可以采取周期性测量的方式进行传输性能的测量,也可以按照需要采取其他的测量方式。并且,如果所述PCR是ASBR,还可以测量与作为其EBGP邻居的远端AS内部的PCR之间的时延。具体的,如图5所示,AS100内部的PCR(如R1、R2和R3)之间相互进行RTT测量。另外,Rl作为AS100的ASBR,同时与AS200内的R4 (也就是Rl的EBGP邻居)之间进行RTT测量。同样地,AS200内部的PCR(如R4和R5)之间也相互进行RTT测量。举例来说,上述测量与邻接PCR之间的时延可以通过ICMP(Internet ControlMessage Protocol,因特网控制消息协议)PING(Packet Internet Groper,网际包探测器)方式实现,在此不再赘述。303、本地PCR接收邻接PCR发送的第一性能路由信息,所述第一性能路由信息包括第一性能参数属性。举例来说,所述第一性能路由信息包括NLRI,该NLRI指向所述第一性能路由的目的PCR,以及第一性能参数属性。举例来说,上述发送的性能路由信息可以采用一个新定义的子族进行编码,以便与其他地址子族的路由信息进行区分;也可以采用一个现有的地址族/地址子族进行编码,其中所述第一性能参数属性携带在所述第一性能路由信息的路径属性中,例如,可以携带在现有的路径属性的某个属性字段,比如MED(多出口区分,Mult1-Exit Discriminators)属性字段,也可以用一个新增的属性字段,来携带上述的性能参数属性。`所述路径属性中的下一跳可以为发送所述第一性能路由信息的所述邻接PCR,这时所述第一性能参数属性的值为所述邻接PCR与所述NLRI指示的目的PCR之间的网络性能参数。或者,所述路径属性中的下一跳可以为不同于发送所述第一性能路由信息的所述邻接PCR的其他PCR的地址前缀,这时所述第一性能参数属性为所述其他PCR与所述NLRI指示的目的PCR之间的网络性能参数。所述第一性能路由信息例如可以携带在BGP更新消息中。所述第一性能路由信息还可以包括所述邻接PCR为所述第一性能路由信息分配的MPLS标签。举例来说,所述第一性能路由信息是邻接PCR根据测量到的与和其相邻的另外一个PCR的网络性能得到的本地性能路由信息,或者是邻接PCR中本地路由信息库Loc-RIB保存的最优性能路由信息。如果所述第一性能路由信息是邻接PCR的本地性能路由信息,得到所述本地性能路由信息的过程可以参见下述步骤304的描述。举例来说,所述第一性能路由信息的性能参数属性携带该第一性能路由信息对应的性能路由的网络性能参数,所述网络性能参数为时延、丢包率和/或时延抖动,或者根据上述参数的一种或多种计算出的一个综合性能参数。例如,如图5所示,Rl接收R3发送的性能路由信息,该性能路由信息的目的PCR网络地址前缀为R2,性能参数属性为往返时延,值为2秒,下一跳为R3,MPLS标签为400。304、所述本地PCR判断Adj-RIB-1n中是否存在与所述第一性能路由信息对应的第一性能路由。305、在所述本地PCR的Adj-RIB-1n中没有所述第一性能路由时,所述PCR将所述第一性能路由信息添加到所述Adj-RIB-1n。306、生成第二性能参数属性,并将所述第二性能参数属性添加到所述第一性能路由信息对应的性能路由,其中所述第二性能参数属性的值基于所述第一性能参数属性的值和所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的路由的网络性能参数值。举例来说,获取所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的路由的网络性能参数值可以有两种方式方式1,确认本地性能路由信息中具有的NLRI与所述第一性能路由信息的下一跳地址相同的本地性能路由信息,然后获取所述本地性能路由信息的性能参数属性中的网络参数值。举例来说,所述本地PCR生成本地性能路由信息的过程如下本地PCR根据步骤302测量得到不同邻居PCR的网络性能参数,该网络性能参数例如为时延、丢包率和/或时延抖动,生成所述本地性能路由信息。所述本地性能路由信息还包括网络层可达信息NLRI (Network Layer Reachability Information)和下一跳(next-hop)信息。其中,所述NLRI即为所述本地PCR测量的网络性能参数的路径的目的PCR0举例来说,所述网络性能参数可以携带在所述本地性能路由信息的路径属性中,所述路径属性可以为现有的路径属性或新增的路径属性。值得说明的是,所述本地性能路由信息还可以包括MPLS标签,所 述MPLS标签为所述本地PCR为所述本地性能路由信息对应的性能路由分配的标签,从而使得数据包基于性能路由进行数据转发时可以通过MPLS方式实现。例如,在所述本地性能路由的路径属性中携带所述本地PCR与邻接PCR之间的RTT时延,所述本地性能路由的NLRI为所述邻接PCR,所述本地性能路由的路径属性的下一跳(next-hop)的值设置为本地PCR自己的一个IP地址,并且在所述本地性能路由的路径属性中携带所述本地PCR针对所述本地性能路由分配的MPLS标签,该标签对所述本地PCR来说
是唯一的。具体的,以图5所示的Rl为例,Rl在RTT测量之后,生成3条本地性能路由,分别为与R2之间的性能路由,该性能路由的网络层可达信息NLRI (Network LayerReachability Information)为R2的IP地址,RTT时延为6秒,下一跳地址为Rl本身,分配的MPLS标签为100 ;与R3之间的性能路由,该性能路由的网络层可达信息NLRI (Network LayerReachability Information)为R3的IP地址,RTT时延为3秒,下一跳地址为Rl本身,分配的MPLS标签为200 ;与R4之间的性能路由,该性能路由的网络层可达信息NLRI (Network LayerReachability Information)为R4的IP地址,RTT时延为3秒,下一跳地址为Rl本身,分配的MPLS标签为300。对于在AS内部部署路由反射器RR的情况,举例来说,具有性能路由能力的RR仅仅需要在能力协商过程中通告自己的性能路由能力即可,而在其他时间不需要再发布用于表明自己是PCR的特殊BGP更新消息。这样,其他AS内部的PCR也就不需要测量到达该RR的 RTT 7 ο 方式2,直接使用记录的通过步骤302测量的本地PCR与邻接PCR之间的网络性能
参数值。举例来说,所述生成的第二性能参数属性的性能参数属性携带网络性能参数,所述网络性能参数为时延、丢包率和/或时延抖动,或者根据上述参数的一种或多种计算出的一个综合性能参数。对于携带的网络性能参数为传输时延,例如往返时延RTT的情况,所述第二性能参数属性的值为所述第一性能参数属性的值和所述本地PCR到所述第一性能路由信息中的下一跳信息指示的PRC的网络性能参数值之和。具体的,如图5所示,对于R1,接收R3发送的性能路由信息其中,目的PCR网络地址前缀为R2,性能参数属性中的往返时延为2秒,下一跳地址为R3,R3为该路由分配的MPLS标签为400。Rl根据自身生成的到R2的本地性能路由信息和接收到的所述R3发送的性能路由信息,生成Rl经过R3到达R2的性能路由信息,其中目的PCR网络地址前缀为R2,往返时延为3+2 = 5秒,下一跳地址为R3,并为该性能路由分配一个MPLS标签500。对于其他PCR,也可以进行类似的操作以生成到AS100内部的其他PCR的性能路由信息。对于R4,可以通过接收Rl发送的Rl到AS100内部的其他PCR的性能路由信息,并利用自己本地的到Rl的性能路由信息,生成到达到AS100内部的其他PCR的性能路由信息,其生成性能路由信息的过程与Rl生成性能路由信息的过程相似,在此不再赘述。307、所述本地PCR根据所述第二性能参数属性从所述目的PCR网络地址前缀相同的性能路由中选取最优性能路由,并将所述最优性能路由保存到Loc-RIB中。具体的,如图5所示,由Rl到达R2的路径有两条,根据性能参数属性发现Rl通告R3到达R2的路由的时延为5 秒,小于Rl直接到达R2的性能路由的时延值6秒,因此将经过R2到达R3的路由作为最优性能路由,将其对应的性能路由信息保存到Rl的Loc-RIB中。举例来说,所述保存到Rl的Loc-RIB中的最优性能路由同时具有所述第一性能参数属性和所述第二性能参数属性。308、在最优性能路由发生变化时,所述本地PCR将所述发生变化的最优性能路由通告给其他邻接PCR。举例来说,所述本地PCR将更新后的最优性能路由发送给邻接PCR可以包括所述本地PCR将发送给邻接PCR的性能路由信息中的下一跳设置为自己,将性能参数属性设置为所述本地PCR到所述更新后的最优性能路由的NLRI所指向的目的PCR的性能路由的性能参数属性;或者,所述本地PCR将发送给邻接PCR的更新后的性能路由信息中的下一跳设置为生成所述更新后的性能路由信息所依据的来自邻接PCR的性能路由信息的所述邻接PCR,将性能参数属性设置为所述更新后的性能路由信息所依据的来自邻接PCR的性能路由信息的性能参数属性。然后将所述性能路由信息发送给所述本地PCR的邻接PCR。例如,假设包括所述第二性能参数属性的所述第一性能路由信息被作为Rl到达R2的最优路由保存到了 Rl的本地路由信息库中。所述Rl将所述第一性能路由信息通告给邻接PCR,例如R4,通告所述第一性能路由信息时可以将性能路由信息的下一跳设置为自己,这时通告的所述性能路由信息中携带的性能参数属性为所述第二性能参数属性,也就是Rl通过所述R3到所述R2的性能路由的性能参数属性;如果将通告的第一性能性能路由信息的下一跳设置为该第一性能性能路由信息来自的邻接PCR,也就是R3,这时通告的所述性能路由信息的性能参数属性为所述第一性能参数属性,也就是R3将所述第一性能路由信息发送给Rl时携带的第一性能参数属性,该第一性能参数属性对应R2到R3的性能路由的性能参数属性。在通告所述性能路由时,所述第一 PCR通告给邻接PCR的所述性能路由信息中的NLRI保持不变。相对应地,如果所述第一 PCR通告给邻接PCR的所述性能路由信息中包括MPLS标签信息,则携带的MPLS标签为和所述性能路由信息的下一跳PCR相对应的MPLS标签。例如,如果所述性能路由信息的下一跳PCR为所述第二 PCR,则所述MPLS标签为所述第二 PCR分配的标签;如果所述性能路由信息的下一跳PCR为所述第一 PCR,则所述MPLS标签为所述第一 PCR分配的标签。具体的,如图5所示,Rl的Loc-RIB中更新有第二路由性能信息NLRI为R2,RTT时延为5秒,下一跳地址为R3,MPLS标签为500,Rl将该性能路由向邻接PCR通告时,可以将通告的性能路由信息的下一跳地址改为Rl自身,从而向邻接PCR通告的性能路由信息为NLRI为R2,往返时延值5秒,下一跳地址Rl,MPLS标签为500,然后将该能路由信息发送给其他的邻接PCR,如R4。再例如,Rl也可以将所述更新的最优性能路由对应的所述第一性能路由信息向邻接PCR通告,这时通告的性能路由信息的下一跳地址应设置为所述第一性能路由信息来自的邻接PCR,例如R3,从而向邻接PCR通告的性能路由信息为NLRI为R2,往返时延值2秒,下一跳地址为R3,MPLS标签为所述第一性能路由信息中的标签400,然后将该能路由信息发送给其他的邻接PCR,如R4。R4在收到Rl通告的性能路由信息后,可以执行305-308得到最优性能路由,并在最优新能路由发生更新时向R4的邻接PCR通告该新的最优性能路由信息。进一步的,为避免路由环路或重复发送,将严格遵照现有BGP的路由通告水平分割(split-horizon)原则,即从IBGP邻接学习到的路由不得传递给其他IBGP邻接,除非自己是路由反射器RR。值得说明的是,上述通告的性能路由信息可以采用一个新定义的子族进行编码,以便与其他地址子族的路由信息进行区分;也可以采用一个现有的地址族/地址子族进行编码,其中所述第一性能参数属性携带在通过的性能路由信息的路径属性中,例如,可以是携带在现有的路径属性的某个属性字段,比如MED(多出口区分,Mult1-ExitDiscriminators)属性,也可以用一个新增的属性字段,来携带上述的性能参数属性。
在具体应用时,所述PCR在接收到数据包且本地策略为性能路由转发时,在所述Loc-RIB中查找到对应的最优性能路由并根据所述对应的最优性能路由转发所述数据包。对应在AS内部部署路由反射器RR的情况,所述具有性能路由能力的RR转发性能路由信息时,使能Add_path(添加路径)功能(具体见draft-1etf-1dr-add-paths),即通告多路径的功能。这样,所述具有性能路由能力的RR就可以将AS内部的每个PCR通告过来的性能路由信息根据BGP的路由反射规则传递给自己的邻居PCR,最终保证上述由所述PCR或邻居PCR发出的性能路由信息可以被AS内每个PCR接收到。因此在采用RR的情况下,也不影响性能路由的最终计算结果。也就是说RR只是完成性能路由在PCR之间的扩散同步,本身不会影响性能路由的计算结果。其具体实现方式与上述步骤相同,此处不再赘述。
本发明实施例提供的基于性能的路由方法,实现性能路由的交换和利用性能路由进行分组报文的路由,从而为用户提供更好的业务体验。实施例四对应于上述方法实施例三,本发明实施例中还提供了一种基于性能的路由设备,所述基于性能的路由设备例如可以为PCR(Performance-routing Capable Router,具备性能路由能力的BGP路由器)。以下将本发明实施例提供的基于性能的路由设备称为本地PCR,本发明实施例提供的基于性能的路由设备包括性能路由能力协商单元71,用于与BGP邻居之间进行性能路由能力协商,以确认对端是否支持性能路由的发送、处理和接收。该性能路由能力协商单元71与BGP邻居之间进行性能路由能力协商的过程与步骤301相同,在此不再赘述。网络性能测量单元72,用于测量与邻接PCR之间的网络性能。举例来说,所述邻居PCR可以为所述本地PCR所在的AS内部的其他邻接PCR或作为邻接ASBR的PCR。该网络性能测量单元72测量与邻接PCR之间的网络性能的过程与步骤302相同,在此不再赘述。具体地,网络性能测量单元72可以包括时延测量模块721、丢包率测量模块722和/或时延抖动测量模块723。举例来说,所述传输性能测量单元72可以通过ICMP (Internet Control Message Protocol,因特网控制消息协议)PING(Packet InternetGroper,网际包探测器)方式测量所述传输性能。第一性能路由信息接收单元73,用于接收邻接PCR发送的第一性能路由信息,所述第一性能路由信息包括第一性能参数属性。该第一性能路由信息接收单元74接收邻接PCR发送的第一性能路由信息的过程与步骤303相同,在此不再赘述。判断单元74,用于判断Adj-RIB-1n中是否存在与所述第一性能路由信息对应的第一性能路由。该判断单元74判断Adj-RIB-1n中是否存在与所述第一性能路由信息对应的第一性能路由的过程与步骤304相同,在此不再赘述。性能路由信息保存单元75,用于在所述Adj-RIB-1n中没有所述第一性能路由时,将所述第一性能路由信息添加到所述Adj-RIB-1n中。第二性能参数属性生成单元76,用于根据本地性能路由的性能参数属性和所述第一性能参数属性生成第二性能参数属性,并将所述第二性能参数属性添加到所述第一性能路由信息。第二性能参数属性生成单元76进行上述操作的过程与步骤306相同,在此不再赘述。举例来说,所述第二性能参数属性生成单元76可以具体包括网络性能参数记录模块761,用于记录到所述AS内部的其他邻接PCR或作为邻接ASBR的PCR的性能参数信息,所述性能参数信息包括所述网络性能测量单元测量到的到所述AS内部的其他邻接PCR或到所述作为邻接ASBR的PCR的网络性能参数。第二性能参数属性生成模块762,用于根据所述网络性能参数记录模块761记录的所述本地PCR到所述第一性能路由信息中的下一跳信息指示的PCR的网络性能参数值和所述第一性能参数属性中的网络性能参数值生成第二性能参数属性,并将所述第二性能参数属性添加到所述第一性能路由信息。
再举例来说,所述第二性能参数属性生成单元可以具体包括本地性能路由性能参数属性获取模块763,用于确认本地性能路由信息中的NLRI与所述第一性能路由信息的下一跳地址相同的本地性能路由信息,然后获取所述本地性能路由信息的性能参数属性中的网络参数值。第二性能参数属性生成模块762,用于根据所述本地性能路由性能参数属性获取模块763获取的所述本地PCR到所述第一性能路由信息中的下一跳信息指示的PCR的网络性能参数值和所述第一性能参数属性中的网络性能参数值生成第二性能参数属性,并将所述第二性能参数属性添加到所述第一性能路由信息。最优性能路由选取单元77,用于根据所述第二性能参数属性从所述NLRI相同的性能路由中选取最优性能路由,并将所述最优性能路由以及为所述最优性能路由生成的所述保存到Loc-RIB中。该最优性能路由选取单元78进行上述操作的过程与步骤307相同,在此不再赘述。路由信息通告单元78,用于在最优性能路由发生变化时,将所述发生变化的最优性能路由通告给其他邻接PCR。该路由信息通告单元78进行上述操作的过程与步骤308相同,在此不再赘述。

本地性能路由信息生成单元79,用于生成到所述邻接PCR的本地性能路由信息,所述本地性能路由信息中的性能参数属性包括所述网络性能测量单元72测量到的与所述邻接PCR之间的网络性能参数。该本地性能路由信息生成单元73生成到所述邻接PCR的本地性能路由信息的过程与步骤306中描述的生成本地性能路由信息的过程相同,在此不再赘述。而对于在所述基于性能的路由设备所在的AS内部部署有路由反射器RR的情况,所述基于性能的路由设备还包括一个扩展团体属性通告单元710,用于在AS内部通告携带特定含义的扩展团体属性的BGP更新消息,以便实现AS内部PCR的自动发现功能。本发明实施例提供的基于性能路由的设备,实现性能路由的交换和利用性能路由进行分组报文的路由,从而为用户提供更好的业务体验。通过以上实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种基于性能的路由方法,其特征在于,该方法包括第一 PCR接收第二 PCR发送的第一性能路由信息,所述第一性能路由信息包括第一性能参数属性;判断所述第一 PCR的邻接路由信息库-入方向Adj-RIB-1n中是否存在所述第一性能路由信息对应的性能路由;在所述Adj-RIB-1n中不存在所述性能路由时,将所述性能路由添加到所述 Adj-RIB-1n 中。
2.如权利要求1所述的方法,其特征在于,所述第一性能路由信息还包括所述性能路由的网络层可达信息和下一跳信息,其中所述第一性能参数属性包括所述下一跳信息指示的PCR和所述性能路由的网络层可达信息所指示的地址之间的网络性能参数。
3.根据权利要求1或2所述的方法,其特征在于,所述性能参数属性携带该性能路由的网络性能参数,所述网络性能参数为时延、丢包率和/或时延抖动,或者为根据上述参数的一种或多种计算出的综合性能参数。
4.如权利要求2或3所述的方法,其特征在于,所述第一PCR和所述第二 PCR所在的自治系统AS内部的PCR之间以及所述AS的本地自治系统边界路由器ASBR和邻接的远端 ASBR的PCR之间进行网络性能测量,从而得到所述网络性能参数。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述在所述第一PCR接收第二 PCR发送的第一性能路由信息之前,该方法还包括所述第一 PCR和所述第二 PCR与各自的BGP邻居进行性能路由能力协商,确认对端是否支持性能路由的发送、处理和接收。
6.根据权利要求5所述的方法,其特征在于,所述第一PCR和所述第二 PCR与各自的 BGP邻居进行性能路由能力协商具体为所述第一 PCR和所述第二 PCR与各自的BGP邻居通过边界网关协议BGP多协议扩展能力通告过程进行性能路由能力协商。
7.根据权利要求5或6所述的方法,其特征在于,当所述PCR所在的自治系统AS内部的BGP连接是全连接的情况下,经过上述性能路由能力协商过程完成AS内部PCR的自动发现。
8.根据权利要求5或6所述的方法,其特征在于,当所述PCR所在的AS内部部署路由反射器RR的情况下,所述PCR需要在AS内部通告一个携带特定含义的扩展团体属性的更新消息,以实现所述AS内部PCR的自动发现。
9.如权利要求1-8任意一项所述的方法,其特征在于,所述方法还包括为所述第一性能路由信息对应的性能路由增加一个第二性能参数属性,所述第二性能参数属性的值基于所述第一性能参数属性的值和所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的网络性能参数值。
10.如权利要求9所述的方法,其特征在于,当所述性能参数属性为PCR之间的传输时延时,所述第二性能参数属性的值为所述第一性能参数属性的值和所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的网络性能参数值之和。
11.如权利要求9或10所述的方法,其特征在于,所述方法还包括所述第一PCR将具有相同NLRI的性能路由中性能参数属性值最小的性能路由作为最佳性能路由,并将所述最佳性能路由以及为所述最优性能路由生成的所述第二性能参数属性保存在本地路由信息库 Loc-RIB 中 ο
12.如权利要求11所述的方法,其特征在于,所述方法还包括,在所述Loc-RIB中的最佳性能路由发生变化时,所述述第一 PCR将新的最佳性能路由发送给邻接PCR,其中当发送给邻接PCR的新的最佳性能路由的下一跳属性的值设置为所述第二 PCR时,将所述第一性能参数属性的值作为发送给所述第一 PCR的邻接PCR的性能路由信息的性能参数属性的值,当将发送给所述第一 PCR的邻接PCR的新的最佳性能路由的下一跳属性的值设置为所述第一 PCR时,将所述第二性能参数属性的值作为发送给所述第一 PCR的邻接PCR的性能路由信息的性能参数属性的值。
13.根据权利要求11或12任意一项所述的方法,其特征在于,还包括在接收到数据包且本地策略为性能路由转发时,在所述Loc-RIB中查找到对应的最优性能路由;根据所述对应的最优性能路由转发所述数据包。
14.根据权利要求1-13任意一项所述的方法,其特征在于,所述性能路由信息还包括 MPLS标签,所述MPLS标签为所述第二 PCR为所述第一性能路由信息对应的性能路由分配的标签。
15.一种基于性能的路由设备,其特征在于,该路由设备包括第一性能路由信息接收单元,用于接收第二 PCR发送的第一性能路由信息,所述第一性能路由信息包括第一性能参数属性。判断单元,用于判断所述第一 PCR的邻接路由信息库-入方向Adj-RIB-1n中是否存在与所述第一性能路由信息对应的性能路由。性能路由信息保存单元,用于在所述第一 PCR的Adj-RIB-1n中没有与所述第一性能路由信息对应的性能路由时,将所述第一性能路由信息添加到所述第一 PCR的Adj-RIB-1n 中。
16.根据权利要求15所述的路由设备,其特征在于,所述路由设备还包括第二性能参数属性生成单元,用于为所述第一性能路由信息对应的性能路由增加第二性能参数属性,所述第二性能参数属性的值基于所述第一性能参数属性的值和所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的网络性能参数值。
17.根据权利要求16所述的路由设备,其特征在于,所述路由设备还包括最优性能路由选取单元,用于根据所述第二性能参数属性从NLRI相同的性能路由中选取最优性能路由,并将所述最优性能路由以及为所述最优性能路由生成的所述第二性能参数属性保存到所述第一 PCR的本地路由信息库Loc-RIB中。
18.根据权利要求15-17任意一项所述的路由设备,其特征在于,所述路由设备还包括路由信息通告单元,用于在所述第一 PCR的本地路由信息库中的最优性能路由发生更新时,将发生更新的最优性能路由通告给邻接PCR。
19.根据权利要求15-18任意一项所述的路由设备,其特征在于,所述路由设备还包括性能路由能力协商单元,用于与BGP邻居之间进行性能路由能力协商,以确认对端是否支持性能路由的发送、处理和接收。
20.根据权利要求15-19任意一项所述的路由设备,其特征在于,所述路由设备还包括网络性能测量单元,用于测量与所述邻接PCR之间的网络性能。
21.根据权利要求16-19任意一项所述的路由设备,其特征在于,所述第二性能参数属性生成单元具体包括网络性能参数记录模块,用于记录到所述AS内部的其他邻接PCR或作为邻接ASBR的 PCR的性能参数信息,所述性能参数信息包括所述网络性能测量单元测量到的到所述AS内部的其他邻接PCR或到所述作为邻接ASBR的PCR的网络性能参数;第二性能参数属性生成模块,用于根据所述网络性能参数记录模块记录的所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的网络性能参数值和所述第一性能参数属性中的网络性能参数值生成第二性能参数属性,并将所述第二性能参数属性添加到所述第一性能路由信息。
22.根据权利要求16-19任意一项所述的路由设备,其特征在于,所述第二性能参数属性生成单元具体包括本地性能路由性能参数属性获取模块,用于确认本地性能路由信息中的NLRI与所述第一性能路由信息的下一跳地址相同的本地性能路由信息,然后获取所述本地性能路由信息的性能参数属性中的网络参数值;第二性能参数属性生成模块,用于根据所述本地性能路由性能参数属性获取模块获取的所述第一 PCR到所述第一性能路由信息中的下一跳信息指示的PRC的网络性能参数值和所述第一性能参数属性包括的网络性能参数值生成第二性能参数属性,并将所述第二性能参数属性添加到所述第一性能路由信息。
23.根据权利要求15-22任意一项所述的路由设备,其特征在于,所述路由设备还包括扩展团体属性通告单元,用于在AS内部通告携带特定含义的扩展团体属性的BGP更新消息,以实现AS内部PCR的自动发现。
全文摘要
本发明实施例公开了一种基于性能的路由方法和设备,涉及通信技术领域,能够通过扩展BGP协议实现性能路由的交换。所述方法包括第一PCR接收第二PCR发送的第一性能路由信息,所述第一性能路由信息包括第一性能参数属性;判断所述第一PCR的邻接路由信息库-入方向Adj-RIB-in中是否存在所述第一性能路由信息对应的性能路由;在所述Adj-RIB-in中不存在所述性能路由时,将所述性能路由添加到所述Adj-RIB-in中。本发明实施例提供的基于性能的路由方法和设备,实现性能路由的交换和利用性能路由进行分组报文的路由,从而为用户提供更好的业务体验。
文档编号H04L12/721GK103036786SQ20111029775
公开日2013年4月10日 申请日期2011年9月30日 优先权日2011年9月30日
发明者徐小虎, 曾晴 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1