CN104601466A - 一种路由控制方法、边界路由器 - Google Patents
一种路由控制方法、边界路由器 Download PDFInfo
- Publication number
- CN104601466A CN104601466A CN201410854158.5A CN201410854158A CN104601466A CN 104601466 A CN104601466 A CN 104601466A CN 201410854158 A CN201410854158 A CN 201410854158A CN 104601466 A CN104601466 A CN 104601466A
- Authority
- CN
- China
- Prior art keywords
- list
- identify label
- messages
- route
- path
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种路由控制方法、边界路由器,所述方法包括:第一BR获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识;所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点;如果是,所述第一BR向所述路径上的第二AS发布所述第一路由控制消息和第一BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。有助于实现按照指定路径进行报文转发的目的。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种路由控制方法、边界路由器。
背景技术
通常,自治系统(英文:Autonomous System,简称:AS)包括以下三种类型的设备:提供者边缘(英文:Provider Edge,简称:PE)设备、边界路由器(英文:Border Router,简称:BR)和提供(英文:Provider,简称:P)设备。其中,PE和BR可统称为AS的边缘设备,PE为用户侧接入设备,BR为因特网服务提供商(英文:Internet Service Provider,简称:ISP)侧接入设备。
一般,在进行报文转发之前,第一AS的BR可与第二AS的BR建立外部边界网关协议(英文:External Border Gateway Protocol,简称:EBGP)会话,向第二AS发布边界网关协议(英文:Border Gateway Protocol,简称:BGP)路由消息。对应地,第二AS可利用BGP路由选择策略,从接收到的BGP路由消息中选择一个优选路由,作为报文转发的下一跳。
举例来说,BGP路由消息中包括自治系统路径(英文:autonomous systempath,简称:AS PATH),BGP路由选择策略可以为优选AS PATH最短的路由,作为报文转发的下一跳。AS PATH最短可以理解为AS PATH中包括的AS编号的数量最少。
结合上述GBP路由选择策略,在需要调整报文转发的路径时,可以修改第一AS发布的BGP路由消息中AS PATH包括的第一AS编号的数目。参见图1所示网络,AS1的BR向AS2发布的BGP路由消息中可包括2个AS1,AS3的BR向AS2发布的BGP路由消息中包括1个AS3,AS4的BR向AS2发布的BGP路由消息中包括1个AS4。对应于此,AS2在选择最优路由时,可能会排除AS1的BR,即,报文不进入AS1,但却无法控制报文是从AS3进入,还是从AS4进入。
发明内容
本发明实施例的路由控制方法、边界路由器,提供一种新的控制路由发布的方案,有助于控制报文按照指定路径转发。
为此,本发明实施例提供如下技术方案:
第一方面,提供了一种路由控制方法,所述方法包括:
第一边界路由器BR获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识;
所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点;
如果确定所述第一BR所属的AS为所述路径上的第一AS,所述第一BR向所述路径上的第二AS发布所述第一路由控制消息和第一边界网关协议BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。
结合第一方面,在第一方面的第一种可能的实现方式中,所述报文转发端点的身份标识包括所述目的节点的身份标识;或者,所述报文转发端点的身份标识包括所述目的节点的身份标识和所述路径的源节点的身份标识。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一路由控制消息为流量说明flowspec,所述第一路由控制消息包括网络层可达信息NLRI字段、下一跳NH字段、扩展属性字段和扩展团体属性字段,所述NLRI字段用于携带所述报文转发端点的身份标识,所述NH字段用于携带所述第一BR的身份标识,所述扩展属性字段用于携带所述第一AS列表,所述扩展团体属性字段用于表示根据所述扩展属性字段进行路由控制。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,如果确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由所述第一AS中的第二BR发布至所述第一BR,所述方法还包括:
所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
如果确定所述第一BR所属的AS为所述路径上的第二AS,所述第一BR获得第一最佳路由消息,所述第一最佳路由消息为所述第一AS中的BR发布至所述第一BR;
所述第一BR从所述第一AS列表中删除所述第一AS的身份标识,获得第二AS列表;
所述第一BR根据所述第二AS列表,确定所述第二AS列表中是否还包括第三AS的身份标识;
如果所述第二AS列表中还包括第三AS的身份标识,所述第一BR向所述第三AS发布第二路由控制消息和第二BGP路由消息,所述第二路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第二AS列表,所述第二BGP路由消息包括所述第一BR的身份标识。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一BR获得第一最佳路由消息,包括:
所述第一BR获得所述第一AS中的BR向所述第一BR发布的所有路由消息,并从所述所有路由消息中确定所述第一最优路由消息;或者,
所述第一BR将所述第二BR发布的路由消息确定为所述第一最优路由消息。
结合第一方面的第三种或第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述第一BR向所述第三AS发布第二路由控制消息和第二BGP路由消息,包括:
所述第一BR确定所述第一BR与第三BR是否互为邻居,所述第三BR属于所述第三AS;
如果所述第一BR与所述第三BR互为邻居,所述第一BR向所述第三BR发布所述第二路由控制消息和所述第二BGP路由消息;
如果所述第一BR与所述第三BR并非互为邻居,所述第一BR通过第四BR,向所述第三AS发布所述第二路由控制消息和所述第二BGP路由消息,所述第四BR属于所述第二AS,且所述第四BR与所述第三BR互为邻居。
结合第一方面的第三种至第五种中的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,如果所述第二AS列表中不包括第三AS的身份标识,所述方法还包括:
所述第一BR向所述第二AS发布所述第二路由控制消息和所述第二BGP路由消息。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第一方面的第七种可能的实现方式中,如果确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由第五BR发布至所述第一BR,所述第五BR与所述第一BR属于相同AS,所述方法还包括:
所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
如果确定所述第一BR所属的AS为所述路径上的第二AS,所述第一BR将所述第五BR发布的路由消息确定为第二最佳路由消息;
所述第一BR根据所述第一AS列表,确定所述第一AS列表中是否还包括第三AS的身份标识;
如果所述第一AS列表中还包括第三AS的身份标识,所述第一BR向所述第三AS发布第三路由控制消息和第三BGP路由消息,所述第三路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第一AS列表,所述第三BGP路由消息包括所述第一BR的身份标识。
第二方面,提供了一种边界路由器,所述边界路由器BR为第一BR,所述第一BR包括:
第一获得单元,用于获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识;
第一确定单元,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点;
第一发布单元,用于在所述第一确定单元确定所述第一BR所属的AS为所述路径上的第一AS,向所述路径上的第二AS发布所述第一路由控制消息和第一边界网关协议BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。
结合第二方面,在第二方面的第一种可能的实现方式中,如果所述第一确定单元确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由所述第一AS中的第二BR发布至所述第一BR,所述第一BR还包括:
第二确定单元,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
第二获得单元,用于在所述第二确定单元确定所述第一BR所属的AS为所述路径上的第二AS,获得第一最佳路由消息,所述第一最佳路由消息为所述第一AS中的BR发布至所述第一BR;
删除单元,用于从所述第一AS列表中删除所述第一AS的身份标识,获得第二AS列表;
第三确定单元,用于根据所述第二AS列表,确定所述第二AS列表中是否还包括第三AS的身份标识;
第二发布单元,用于在所述第三确定单元确定所述第二AS列表中还包括第三AS的身份标识时,向所述第三AS发布第二路由控制消息和第二BGP路由消息,所述第二路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第二AS列表,所述第二BGP路由消息包括所述第一BR的身份标识。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二发布单元包括:
第四确定单元,用于确定所述第一BR与第三BR是否互为邻居,所述第三BR属于所述第三AS;
第一发布子单元,用于在所述第四确定单元确定所述第一BR与所述第三BR互为邻居时,向所述第三BR发布所述第二路由控制消息和所述第二BGP路由消息;
第二发布子单元,用于在所述第四确定单元确定所述第一BR与所述第三BR并非互为邻居时,通过第四BR向所述第三AS发布所述第二路由控制消息和所述第二BGP路由消息,所述第四BR属于所述第二AS,且所述第四BR与所述第三BR互为邻居。
结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,如果所述第三确定单元确定所述第二AS列表中不包括第三AS的身份标识,所述第一BR还包括:
第三发布单元,用于向所述第二AS发布所述第二路由控制消息和所述第二BGP路由消息。
结合第二方面,在第二方面的第四种可能的实现方式中,如果所述第一确定单元确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由第五BR发布至所述第一BR,所述第五BR与所述第一BR属于相同AS,所述第一BR还包括:
第五确定单元,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
第三获得单元,用于在所述第五确定单元确定所述第一BR所属的AS为所述路径上的第二AS,将所述第五BR发布的路由消息确定为第二最佳路由消息;
第六确定单元,用于根据所述第一AS列表,确定所述第一AS列表中是否还包括第三AS的身份标识;
第四发布单元,用于在所述第六确定单元确定所述第一AS列表中还包括第三AS的身份标识时,向所述第三AS发布第三路由控制消息和第三BGP路由消息,所述第三路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第一AS列表,所述第三BGP路由消息包括所述第一BR的身份标识。
第三方面,提供了一种边界路由器,所述边界路由器BR为第一BR,所述第一BR包括:处理器和存储器;
所述存储器,用于存储程序指令和数据;
所述处理器,用于读取所述存储器中存储的程序指令和数据,执行以下操作:
所述处理器获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识;
所述处理器根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点;
如果确定所述第一BR所属的AS为所述路径上的第一AS,所述处理器向所述路径上的第二AS发布所述第一路由控制消息和第一边界网关协议BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。
结合第三方面,在第三方面的第一种可能的实现方式中,所述报文转发端点的身份标识包括所述目的节点的身份标识;或者,所述报文转发端点的身份标识包括所述目的节点的身份标识和所述路径的源节点的身份标识。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述第一路由控制消息为流量说明flowspec,所述第一路由控制消息包括网络层可达信息NLRI字段、下一跳NH字段、扩展属性字段和扩展团体属性字段,所述NLRI字段用于携带所述报文转发端点的身份标识,所述NH字段用于携带所述第一BR的身份标识,所述扩展属性字段用于携带所述第一AS列表,所述扩展团体属性字段用于表示根据所述扩展属性字段进行路由控制。
结合第三方面或第三方面的第一种或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,如果确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由所述第一AS中的第二BR发布至所述第一BR,所述处理器还执行以下操作:
所述处理器根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
如果确定所述第一BR所属的AS为所述路径上的第二AS,所述处理器获得第一最佳路由消息,所述第一最佳路由消息为所述第一AS中的BR发布至所述第一BR;
所述处理器从所述第一AS列表中删除所述第一AS的身份标识,获得第二AS列表;
所述处理器根据所述第二AS列表,确定所述第二AS列表中是否还包括第三AS的身份标识;
如果所述第二AS列表中还包括第三AS的身份标识,所述处理器向所述第三AS发布第二路由控制消息和第二BGP路由消息,所述第二路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第二AS列表,所述第二BGP路由消息包括所述第一BR的身份标识。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述处理器获得第一最佳路由消息,包括:
所述处理器获得所述第一AS中的BR向所述第一BR发布的所有路由消息,并从所述所有路由消息中确定所述第一最优路由消息;或者,
所述处理器将所述第二BR发布的路由消息确定为所述第一最优路由消息。
结合第三方面的第三种或第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理器向所述第三AS发布第二路由控制消息和第二BGP路由消息,包括:
所述处理器确定所述第一BR与第三BR是否互为邻居,所述第三BR属于所述第三AS;
如果所述第一BR与所述第三BR互为邻居,所述处理器向所述第三BR发布所述第二路由控制消息和所述第二BGP路由消息;
如果所述第一BR与所述第三BR并非互为邻居,所述处理器通过第四BR,向所述第三AS发布所述第二路由控制消息和所述第二BGP路由消息,所述第四BR属于所述第二AS,且所述第四BR与所述第三BR互为邻居。
结合第三方面的第三种至第五种中的任一种可能的实现方式,在第三方面的第六种可能的实现方式中,如果所述第二AS列表中不包括第三AS的身份标识,所述处理器还执行以下操作:
所述处理器向所述第二AS发布所述第二路由控制消息和所述第二BGP路由消息。
结合第三方面或第三方面的第一种或第二种可能的实现方式,在第三方面的第七种可能的实现方式中,如果确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由第五BR发布至所述第一BR,所述第五BR与所述第一BR属于相同AS,所述处理器还执行以下操作:
所述处理器根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
如果确定所述第一BR所属的AS为所述路径上的第二AS,所述处理器将所述第五BR发布的路由消息确定为第二最佳路由消息;
所述处理器根据所述第一AS列表,确定所述第一AS列表中是否还包括第三AS的身份标识;
如果所述第一AS列表中还包括第三AS的身份标识,所述处理器向所述第三AS发布第三路由控制消息和第三BGP路由消息,所述第三路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第一AS列表,所述第三BGP路由消息包括所述第一BR的身份标识。
本发明实施例路由控制方法、边界路由器,第一BR获得包括第一AS列表的第一路由控制消息,第一AS列表依次包括报文转发路径经过的AS,第一BR根据其所属AS在转发路径上的位置,利用第一AS列表进行路由控制,有助于实现按照指定路径进行报文转发的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1是一种网络示意图;
图2是本发明实施例控路由控制方法实施例1的流程图;
图3是本发明实施例中的网络示意图;
图4是图3所示网络的网络拓扑示意图;
图5是本发明实施例中扩展属性字段的编码格式示意图;
图6是本发明实施例中扩展团体属性字段的编码格式示意图;
图7是本发明实施例控路由控制方法实施例2的流程图;
图8是本发明实施例控路由控制方法实施例3的流程图;
图9是本发明实施例边界路由器的示意图;
图10是本发明实施例边界路由器的硬件构成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
通常,在调整报文的转发路径时,存在以下两种传统的控制方案,下面分别进行解释说明。
传统控制方案一
以图1所示网络为例,针对目的节点A与源节点B之间的报文,若AS2与AS1之间的链路拥塞,需要调整报文的转发路径时,可做如下处理:分别修改BR1和BR2发布至AS2的路由消息,使路由消息中的AS PATH包括4个AS1的编号;BR3和BR4发布至AS4的路由消息中AS PATH包括1个AS1的编号;BR5和BR6发布至AS5的路由消息中AS PATH包括1个AS1的编号。基于上述路由消息,AS2发布至AS3的路由消息中包括4个AS1的编号和1个AS2的编号;AS6发布至AS3的路由消息中包括1个AS1的编号、1个AS4的编号和1个AS6的编号;或者,AS6发布至AS3的路由消息中包括1个AS1的编号、1个AS5的编号和1个AS6的编号。
对应传统控制方案一,AS3中的源节点B向AS1中的目的节点A转发报文时,便可避免由AS2与AS1之间的拥塞链路进入AS1,但却存在如下问题1:无法直接控制报文是由AS4进入AS1,还是由AS5进入AS1。举例来说,若要控制报文由AS5进入AS1,则还需进一步修改BR3和BR4发布至AS4的路由消息,如此相互配合,才可控制报文的转发路径。
此外,传统控制方案一可能还存在如下问题2:修改BR1和BR2发布至AS2的路由消息后,除了会改变AS3中的源节点B向AS1中的目的节点A转发报文的路径,还可能会改变AS8中的源节点C向AS1中的目的节点A转发报文的路径,也就是说,传统控制方案一无法精确调整指定报文的转发路径。
传统控制方案二
以图1所示网络为例,针对目的节点A与源节点B之间的报文,若AS2与BR1之间的链路拥塞,需要调整报文的转发路径时,可做如下处理:BR1向AS2发布第一路由消息,所述第一路由消息中的下一跳(英文:next hop,简称:NH)字段携带BR1的身份标识;BR2向AS2发布第二路由消息和流量说明(英文:flow specification,简称:flowspec)消息,所述第二路由消息中的NH字段携带BR2的身份标识,所述flowspec消息的重定向团体属性字段携带BR2的身份标识,flowspec消息用于指示AS2将转发至AS1的报文的下一跳重定向到BR2。
对应传统控制方案二,AS3中的源节点B向AS1中的目的节点A转发报文时,可控制报文由AS2与BR2之间的链路进入AS1,但是,这种方案只限于在同一AS的不同BR之间进行重定向,如上文所举示例,只能在AS1的BR1和BR2之间进行重定向,无法调整报文转发经过的AS。
基于两种传统控制方案所存在的问题,提出了本发明实施例方案,提供一种新的路由发布控制方案,有助于控制报文按照指定路径转发,下面对本发明实施例进行解释说明。
参见图2,示出了本发明实施例路由控制方法实施例1的流程图,可包括:
101,第一边界路由器BR获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识。
举例来说,本发明实施例在控制报文按照指定路径转发时,可先获得指定路径对应的AS列表,即,确定源节点与目的节点之间进行报文转发时,依次会经过哪些AS,进而据此控制报文经过的AS按照本发明实施例方案进行路由发布,有助于实现控制报文按照指定路径转发的目的。
作为一种示例,AS列表包括的至少两个AS的身份标识,可以按照目的节点到源节点的方向依次排列,即,AS列表中AS身份标识的排列顺序与报文转发的顺序相反。或者,AS列表包括的至少两个AS的身份标识,可以按照源节点到目的节点的方向依次排列,即,AS列表中AS身份标识的排列顺序与报文转发的顺序相同。本发明实施例对此可不做具体限定。
举例来说,报文转发端点的身份标识可以为设备标识和/或端口标识,其中,设备标识可以为设备的名字和/或设备的地址,端口标识可以为端口号和/或端口地址。需要说明的是,本发明实施例中,所述报文转发端点的身份标识可以包括所述目的节点的身份标识,用以解决上文传统控制方案一存在的问题1以及传统控制方案二存在的问题,可以简单便捷的控制报文按照指定路径转发。或者,本发明实施例中,所述报文转发端点的身份标识可以包括目的节点的身份标识和源节点的身份标识,用以解决上文传统控制方案一存在的问题2,可以简单便捷的控制指定报文按照指定路径转发。
参见图3所示网络,源节点可以为P2,目的节点为PE1,源节点到目的节点经过的AS依次可包括AS3、AS2和AS1,且AS1内的报文转发路径为BR1、P1和PE1。对应于此,如果AS列表中AS身份标识的排列顺序与报文转发的顺序相反,则AS列表依次可包括AS1、AS2和AS3;如果AS列表中AS身份标识的排列顺序与报文转发的顺序相同,则AS列表依次可包括AS3、AS2和AS1。
举例来说,所述指定路径可以为人为设定的路径,或者,所述指定路径可以为根据网络拓扑计算出的路径。其中,计算指定路径的动作可以由控制器执行,控制器可以为一台能与目的节点所属AS交互的专有设备;或者,控制器也可以为集成上述计算指定路径功能的路由反射器(英文:Route Reflector,简称:RR),本发明实施例对获得指定路径的方式以及控制器的具体表现形式可不做具体限定。
针对图3所示网络,根据网络拓扑计算指定路径的方式,可以体现为:控制器可先获得图4所示网络拓扑,再结合转发需求,利用所述网络拓扑计算指定路径。举例来说,控制器可通过预先配置的方式获得所述网络拓扑。所述网络拓扑可包括AS1的内部拓扑和AS1的外部拓扑,其中,所述AS1的外部拓扑可包括与相邻AS2的BR之间的拓扑、以及与远端的AS3和AS4之间的拓扑。举例来说,转发需求可以为转发跳数最少、设备带宽不低于指定带宽、cost值最小、时延值最小、满足共享风险链路组(英文:Share Risk Link Group,简称:SRLG)、全网流量均衡、结算费用最低、链路颜色匹配,等等,本发明实施例对此可不做具体限定。
获得指定路径后,控制器可向指定路径上的P1下发BGP路由消息,该BGP路由消息的NH字段携带PE1的身份标识;控制器可向指定路径上的BR1下发BGP路由消息,该BGP路由消息的NH字段携带P1的身份标识;控制器可向指定路径上的BR1下发路由控制消息,该路由控制消息至少可包括AS列表和BR1的身份标识。路由控制消息用于表示BR1为AS2向AS1转发报文的最优路由。
举例来说,本发明实施例中,路由控制消息可以为一条专用消息;或者,路由控制消息可以为流量说明(英文:flow specification,简称:flowspec)消息。也就是说,本发明实施例可以基于请求注解(英文:Request for Comments,简称:RFC)5575定义的flowspec消息,扩展其中的团体属性,获得路由控制消息。具体地,路由控制消息包括网络层可达信息(英文:Network LayerReachability Information,简称:NLRI)字段、NH字段、扩展属性字段和扩展团体属性字段,NLRI字段用于携带报文转发端点的身份标识,NH字段用于携带第一BR的身份标识,扩展属性字段用于携带第一AS列表,扩展团体属性字段用于表示根据扩展属性字段携带的第一AS列表,进行路由控制。
举例来说,本发明实施例还提供了扩展属性字段的编码格式,具体可参见图5所示示意图。扩展属性可以具体为路径属性中新定义的属性,关于路径属性可参见RFC1771和RFC4271中所做介绍,此处不做详述。图5所示示意图中,根据第一AS列表的大小,长度可占用1个字节,亦可占用2个字节,本发明实施例对此可不做具体限定,具体地,可通过第1字节的取值识别长度所占字节数,举例来说,第1字节的取值可以为C0或者D0,其中,C0表示长度占用1个字节,D0表示长度占用2个字节。第2字节可以表示本属性为新定义的扩展属性,举例来说,第2字节的取值可以为100。第3字节和第4字节可以表示扩展属性的长度,具体可参见上文所做介绍。第5字节可以表示第一AS列表为按一定顺序排列的AS的集合,第6字节可以表示第一AS列表包括的AS的数目,其它字节可以表示第一AS列表包括的AS的编号。需要说明的是,扩展属性中各字节的具体取值可不做具体限定,只要与现有标准定义的取值不冲突即可。
举例来说,本发明实施例还提供了扩展团体属性字段的编码格式,具体可参见图6所示示意图。扩展团体属性可以为action中新定义的团体属性。第1字节可以表示本团体属性为新定义的扩展团体属性,举例来说,第1字节的取值可以为0X800C,只要与现有标准定义的取值不冲突即可。
102,所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点。
第一BR获得第一路由控制消息后,可从第一路由控制消息中读取第一AS列表,进而据此确定第一BR所属的AS是否为指定路径上的第一AS。本发明实施例中,第一AS指的是目的节点所属的AS。参见上文所举示例,如果第一AS列表依次包括AS1、AS2和AS3,即,第一AS列表中第一个AS的身份编号,表示目的节点所属的AS,则第一BR可比对,第一BR所属的AS的身份标识与所述第一个AS的身份标识,如果二者相同,则可确定第一BR所属的AS为指定路径上的第一AS;如果二者不同,则可确定第一BR所属的AS并非指定路径上的第一AS。或者,如果第一AS列表依次包括AS3、AS2和AS1,即,第一AS列表中最后一个AS的身份编号,表示目的节点所属的AS,则第一BR可比对,第一BR所属的AS的身份标识与所述最后一个AS的身份标识,确定第一BR所属的AS是否为指定路径上的第一AS,具体可参照上文所做介绍,此处不再详述。
103,如果确定所述第一BR所属的AS为所述路径上的第一AS,所述第一BR向所述路径上的第二AS发布所述第一路由控制消息和第一边界网关协议BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。
第一BR确定第一BR与目的节点属于相同AS后,可正常进行本地选路,同时,第一BR还可向路径上的第二AS发布如下两条消息:一条是第一路由控制消息,通过该消息指示第二AS利用本发明实施例方案处理,以实现按照指定路径进行报文转发的目的;一条是第一BGP路由消息,该消息用于表示第一BR可以作为第二AS向第一AS转发报文的下一跳。需要说明的是,第二AS可以理解为,第一AS在所述指定路径上的上游AS,具体地,如果第一AS列表依次包括AS1、AS2和AS3,则第二AS指的是第一AS列表中的第二个AS;或者,如果第一AS列表依次包括AS3、AS2和AS1,则第二AS指的是第一AS列表中的倒数第二个AS。
参见图3所示示例,第一BR可以为BR1,第一AS可以为AS1,第二AS可以为AS2;第一BGP路由消息的NH字段用于携带BR1的身份标识;第一路由控制消息的NLRI字段用于携带报文转发端点的身份标识,NH字段用于携带BR1的身份标识,扩展属性字段用于携带第一AS列表,扩展团体属性字段用于表示根据第一AS列表进行路由控制。
参见图7,示出了本发明实施例路由控制方法实施例2的流程图,可包括:
201,第一边界路由器BR获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识。
202,所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点。
201与202的实现方式,请参照上文图2中101与102,此处不再赘述。需要说明的是,201中第一BR获得第一路由控制消息具体为,第一BR从第二BR获得第一路由控制消息,第二BR属于第一AS,可以理解为,第一BR从所述指定路径的下游AS处获得第一路由控制消息,即,第一BR从EBGP邻居获得第一路由控制消息。
203,如果确定所述第一BR所属的AS并非所述路径上的第一AS,所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS。
第一BR确定第一BR与目的节点不属于相同AS,可进一步确定第一BR是否属于第二AS。具体可参照上文102针对第一BR是否属于第一AS的比对过程,此处不再赘述。
204,如果确定所述第一BR所属的AS为所述路径上的第二AS,所述第一BR获得第一最佳路由消息,所述第一最佳路由消息为所述第一AS中的BR发布至所述第一BR。
参见图3所示示例,第一BR可以为BR2,第二BR可以为BR1,第一AS可以为AS1,第二AS可以为AS2。如果第一AS列表依次包括AS1、AS2和AS3,比对BR2所属AS的身份标识与第一AS列表中第二个AS的身份标识后,可确定AS2为指定路径上的第二AS,BR2则可从AS1向BR2发布的路由消息中,选择第一最优路由消息,以便在进行报文转发时,将发布第一最优路由消息的BR作为下一跳。
举例来说,本发明实施例提供了如下两种选择第一最优路由消息的方案,下面进行解释说明。
方案一,所述第一BR获得所述第一AS中的BR向所述第一BR发布的所有路由消息,并依据BGP路由选择策略,从所述所有路由消息中确定所述第一最优路由消息。对应方案一,可以控制报文通过指定AS转发。
方案二,所述第一BR将所述第二BR发布的路由消息确定为所述第一最优路由消息。对应方案二,可以控制报文通过指定AS的指定链路转发。
205,所述第一BR从所述第一AS列表中删除所述第一AS的身份标识,获得第二AS列表。
206,所述第一BR根据所述第二AS列表,确定所述第二AS列表中是否还包括第三AS的身份标识。
确定第一BR所属的AS为第二AS后,除了获得第一最佳路由消息之外,第一BR还可从第一AS列表中删除第一AS的身份标识,获得第二AS列表,并进一步判断第二AS列表中是否还包括第三AS的身份标识,即,判断第二AS列表中是否只剩余第二AS的身份标识。
举例来说,如果第一AS列表依次包括AS1、AS2和AS3,BR2可删除列表中的第一个AS,获得的第二AS列表依次包括AS2和AS3。如果第一AS列表依次包括AS3、AS2和AS1,BR2可删除列表中的最后一个AS,获得的第二AS列表依次包括AS3和AS2。
如果第二AS列表中包括第三AS的身份标识,即,第一BR与源节点属于不同AS,第一BR需要继续向第二AS的上游AS发布路由消息,实现控制报文按照指定路径转发的目的,具体可参照下文207处所作介绍。如果第二AS列表中不包括第三AS的身份标识,即,第一BR与源节点属于相同AS,说明指定路径上的各个AS均已按照本发明实施例方案进行了处理,如此,便可按照指定路径实现源节点到目的节点的报文转发。
可选地,如果第二AS列表中不包括第三AS的身份标识,第一BR还可做如下处理,以确保第二AS可以将第一BR确定为向第一AS转发报文的出口。具体地,所述第一BR可以向所述第二AS发布所述第二路由控制消息和所述第二BGP路由消息。
207,如果所述第二AS列表中还包括第三AS的身份标识,所述第一BR向所述第三AS发布第二路由控制消息和第二BGP路由消息,所述第二路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第二AS列表,所述第二BGP路由消息包括所述第一BR的身份标识。
第一BR确定第一BR与源节点属于不同AS后,可控制第二AS的本地选路,通过第一BR与第二BR之间的链接进行报文转发。同时,第一BR还可向路径上的第三AS发布如下两条消息:一条是第二路由控制消息,通过该消息指示第三AS利用本发明实施例方案处理,以实现按照指定路径进行报文转发的目的;一条是第二BGP路由消息,该消息用于表示第一BR可以作为第三AS向第二AS转发报文的下一跳。需要说明的是,第三AS可以理解为,第二AS在所述指定路径上的上游AS,具体地,如果第二AS列表依次包括AS2和AS3,则第三AS指的是第二AS列表中的第二个AS;或者,如果第二AS列表依次包括AS3和AS2,则第三AS指的是第二AS列表中的倒数第二个AS。
参见图3所示示例,第一BR获得的第一路由控制消息的NLRI字段用于携带报文转发端点的身份标识,NH字段用于携带BR1的身份标识,扩展属性字段用于携带第一AS列表,扩展团体属性字段用于表示根据第一AS列表进行路由控制;第一BR发布的第二路由控制消息的NLRI字段用于携带报文转发端点的身份标识,NH字段用于携带BR2的身份标识,扩展属性字段用于携带第二AS列表,扩展团体属性字段用于表示根据第二AS列表进行路由控制。其中,第一AS列表可依次包括AS1、AS2和AS3,第二AS列表可依次包括AS2和AS3。
举例来说,本发明实施例中,第一BR向第三AS发布第二路由控制消息和第二BGP路由消息,可具体为:所述第一BR确定所述第一BR与第三BR是否互为邻居,所述第三BR属于所述第三AS;如果所述第一BR与所述第三BR互为邻居,所述第一BR向所述第三BR发布所述第二路由控制消息和所述第二BGP路由消息;如果所述第一BR与所述第三BR并非互为邻居,所述第一BR通过第四BR,向所述第三AS发布所述第二路由控制消息和所述第二BGP路由消息,所述第四BR属于所述第二AS,且所述第四BR与所述第三BR互为邻居。
也就是说,如果第一BR能直接与第三AS交互,第一BR可直接向第三AS发布上述两条路由消息;如果第一BR不能直接与第三AS交互,第一BR则可将上述两条路由消息扩散到第二AS,由第一BR的内部边界网关协议(英文:Internal Border Gateway Protocol,简称:IBGP)邻居,即,上文中的第四BR向第三AS发布上述两条路由消息,具体过程可参照下文图8所示实施例。
参见图8,示出了本发明实施例路由控制方法实施例3的流程图,可包括:
301,第一边界路由器BR获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识。
302,所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点。
301与302的实现方式,请参照上文图2中101与102,此处不再赘述。需要说明的是,301中第一BR获得第一路由控制消息具体为,第一BR从第五BR获得第一路由控制消息,第五BR与第一BR属于相同AS,可以理解为,第一BR从其所属的AS获得第一路由控制消息,即,第一BR从IBGP邻居获得第一路由控制消息。
303,如果确定所述第一BR所属的AS并非所述路径上的第一AS,所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS。
第一BR确定第一BR与目的节点不属于相同AS,可进一步确定第一BR是否属于第二AS。具体可参照上文102针对第一BR是否属于第一AS的比对过程,此处不再赘述。
304,如果确定所述第一BR所属的AS为所述路径上的第二AS,所述第一BR将所述第五BR发布的路由消息确定为第二最佳路由消息。
参见图3所示示例,第一BR可以为BR3,第五BR可以为BR2,第一AS可以为AS1,第二AS可以为AS2。为了确保第二AS将第五BR确定为向第一AS转发报文的出口,第一BR可将第五BR发布的路由消息确定为第二最佳路由消息,也即,将第五BR确定为第一BR转发报文的下一跳。
305,所述第一BR根据所述第一AS列表,确定所述第一AS列表中是否还包括第三AS的身份标识。
306,如果所述第一AS列表中还包括第三AS的身份标识,所述第一BR向所述第三AS发布第三路由控制消息和第三BGP路由消息,所述第三路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第一AS列表,所述第三BGP路由消息包括所述第一BR的身份标识。
确定第一BR所属的AS为第二AS后,除了获得第二最佳路由消息之外,第一BR还可进一步判断第一AS列表中是否还包括第三AS的身份标识,即,判断第一AS列表中是否只剩余第二AS的身份标识。
如果第一AS列表中包括第三AS的身份标识,即,第一BR与源节点属于不同AS,第一BR需要继续向第二AS的上游AS发布路由消息,实现控制报文按照指定路径转发的目的。具体地,第一BR可向第三AS发布如下两条消息:一条是第三路由控制消息,通过该消息指示第三AS利用本发明实施例方案处理,以实现按照指定路径进行报文转发的目的;一条是第三BGP路由消息,该消息用于表示第一BR可以作为第三AS向第二AS转发报文的下一跳。
参见图3所示示例,第一BR获得的第一路由控制消息的NLRI字段用于携带报文转发端点的身份标识,NH字段用于携带BR2的身份标识,扩展属性字段用于携带第一AS列表,扩展团体属性字段用于表示根据第一AS列表进行路由控制;第一BR发布的第三路由控制消息的NLRI字段用于携带报文转发端点的身份标识,NH字段用于携带BR3的身份标识,扩展属性字段用于携带第一AS列表,扩展团体属性字段用于表示根据第一AS列表进行路由控制。其中,第一AS列表可以依次包括AS2和AS3。
下面再结合图3所示网络,以控制源节点为P2、目的节点为PE1的报文的转发路径为例,本发明实施例的路由控制过程可包括:
1.控制器利用图4所示网络拓扑计算指定路径,指定路径上依次包括如下设备:PE1、P1、BR1、BR2、P2,对应的第一AS列表可依次包括AS1、AS2和AS3。
2.控制器向P1下发BGP路由消息1,BGP路由消息1的NH字段携带PE1的身份标识;控制器向BR1下发BGP路由消息2,BGP路由消息2的NH字段携带P1的身份标识;控制器向BR1下发路由控制消息1,路由控制消息1的NLRI字段用于携带PE1的身份标识和P2的身份标识,NH字段用于携带BR1的身份标识,扩展属性字段用于携带第一AS列表,扩展团体属性字段用于表示根据第一AS列表进行路由控制。
3.BR1接收到控制器下发的路由控制消息1,确定BR1属于AS1,且第一AS列表中的第一个AS为AS1,如此,BR1可判定其属于指定路径上的第一AS,BR1可不对路由控制消息1做处理,向BR2发布路由控制消息1和BGP路由消息3,其中,BR2为BR1的EBGP邻居。BGP路由消息3的NH字段用于携带BR1的身份标识。
4.BR2接收到BR1发布的路由控制消息1,确定BR2属于AS2,且第一AS列表中的第二个AS为AS2,如此,BR2可判定其属于指定路径上的第二AS,BR2可继续做如下处理:(1)BR2将BR1发布的BGP路由消息3确定为最优路由消息1,即,将BR1作为BR2转发报文的下一跳;(2)BR2从第一AS列表中删除AS1,获得第二AS列表,并判断第二AS列表中是否还包括除AS2之外的其它AS。其中,第二AS列表可依次包括AS2和AS3。
5.BR2确定第二AS列表中还包括AS3,且BR2不能直接与AS3交互,故,BR2向AS2扩散路由控制消息2和BGP路由消息4。其中,路由控制消息2的NLRI字段用于携带PE1的身份标识和P2的身份标识,NH字段用于携带BR2的身份标识,扩展属性字段用于携带第二AS列表,扩展团体属性字段用于表示根据第二AS列表进行路由控制。BGP路由消息4的NH字段用于携带BR2的身份标识。
6.BR5获得路由控制消息2,根据第二AS列表,确定BR5属于指定路径上的第二AS,但BR5不能直接与AS3交互,故,BR5可不做处理。
7.BR3获得路由控制消息2,根据第二AS列表,确定BR3属于指定路径上的第二AS,且BR3能直接与AS3交互。举例来说,BR3能与AS3中的BR6交互,即,BR6为BR3的EBGP邻居。
8.BR3将BR2发布的BGP路由消息4确定为最优路由消息2,即,将BR2作为BR3转发报文的下一跳。同时,BR3向BR6发布路由控制消息3和BGP路由消息5。其中,路由控制消息3的NLRI字段用于携带PE1的身份标识和P2的身份标识,NH字段用于携带BR3的身份标识,扩展属性字段用于携带第二AS列表,扩展团体属性字段用于表示根据第二AS列表进行路由控制。BGP路由消息5的NH字段用于携带BR3的身份标识。
9.BR6接收到BR3发布的路由控制消息3,确定BR6属于AS3,且第二AS列表中的第二个AS为AS3,如此,BR6可判定其属于指定路径上的第三AS,BR6可继续做如下处理:(1)BR6将BR3发布的BGP路由消息5确定为最优路由消息3,即,将BR3作为BR6转发报文的下一跳;(2)BR6从第二AS列表中删除AS2,获得第三AS列表,并判断第三AS列表中是否还包括除AS3之外的其它AS。其中,第三AS列表可包括AS3。
10.BR6确定第三AS列表中不包括除AS3之外的其它AS,BR6向AS3扩散路由控制消息4和BGP路由消息6。其中,路由控制消息4的NLRI字段用于携带PE1的身份标识和P2的身份标识,NH字段用于携带BR6的身份标识,扩展属性字段用于携带第三AS列表,扩展团体属性字段用于表示根据第三AS列表进行路由控制。BGP路由消息6的NH字段用于携带BR6的身份标识。对应于此,AS3中的其它BR接收到路由控制消息4后,根据第三AS列表可知,所述其它BR与源节点属于相同AS,所述其它BR将BR6确定为转发报文的下一跳。
如此,在P2向PE1转发报文时,便可通过BR6与BR3之间的链路,从AS3转发至AS2;再由BR3转发至BR2,进而通过BR2与BR1之间的链路,从AS2转发至AS1;最后经由P2转发至PE1,实现了按照指定路径进行报文转发的目的。
需要说明的是,上文所举示例中,如果BR3和BR5均属于指定路径上的第二AS,且均可直接与AS3中的BR6交互,即,BR6为BR3的EBGP邻居,BR6亦为BR5的EBGP邻居。对应于此,BR3和BR5可将BR2确定为转发报文的下一跳。同时,BR3向BR6发布路由控制消息3和BGP路由消息5,BR5向BR6发布路由控制消息3’和BGP路由消息5’。其中,路由控制消息3的NLRI字段用于携带PE1的身份标识和P2的身份标识,NH字段用于携带BR3的身份标识,扩展属性字段用于携带第二AS列表,扩展团体属性字段用于表示根据第二AS列表进行路由控制;BGP路由消息5的NH字段用于携带BR3的身份标识。路由控制消息3’的NLRI字段用于携带PE1的身份标识和P2的身份标识,NH字段用于携带BR5的身份标识,扩展属性字段用于携带第二AS列表,扩展团体属性字段用于表示根据第二AS列表进行路由控制;BGP路由消息5’的NH字段用于携带BR5的身份标识。对应于此,BR6可利用BGP路由选择策略,从BGP路由消息5和BGP路由消息5’中选择一个最优路由,举例来说,BR6将BGP路由消息5选择为最优路由,即,将BR3作为报文转发的下一跳。除此之外,BR6所做后续处理,可参照上文所举示例,此处不再赘述。
与图2所示方法相对应地,本发明实施例还提供了一种边界路由器,所述边界路由器BR为第一BR,参见图9所示示意图,所述第一BR可包括:
第一获得单元401,用于获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识;
第一确定单元402,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点;
第一发布单元403,用于在所述第一确定单元确定所述第一BR所属的AS为所述路径上的第一AS时,向所述路径上的第二AS发布所述第一路由控制消息和第一边界网关协议BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。
可选地,所述报文转发端点的身份标识包括所述目的节点的身份标识;或者,所述报文转发端点的身份标识包括所述目的节点的身份标识和所述路径的源节点的身份标识。
可选地,所述第一路由控制消息为流量说明flowspec,所述第一路由控制消息包括网络层可达信息NLRI字段、下一跳NH字段、扩展属性字段和扩展团体属性字段,所述NLRI字段用于携带所述报文转发端点的身份标识,所述NH字段用于携带所述第一BR的身份标识,所述扩展属性字段用于携带所述第一AS列表,所述扩展团体属性字段用于表示根据所述扩展属性字段进行路由控制。
可选地,如果所述第一确定单元确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由所述第一AS中的第二BR发布至所述第一BR,所述第一BR还包括:
第二确定单元,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
第二获得单元,用于在所述第二确定单元确定所述第一BR所属的AS为所述路径上的第二AS时,获得第一最佳路由消息,所述第一最佳路由消息为所述第一AS中的BR发布至所述第一BR;
删除单元,用于从所述第一AS列表中删除所述第一AS的身份标识,获得第二AS列表;
第三确定单元,用于根据所述第二AS列表,确定所述第二AS列表中是否还包括第三AS的身份标识;
第二发布单元,用于在所述第三确定单元确定所述第二AS列表中还包括第三AS的身份标识时,向所述第三AS发布第二路由控制消息和第二BGP路由消息,所述第二路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第二AS列表,所述第二BGP路由消息包括所述第一BR的身份标识。
可选地,所述第二获得单元,具体用于获得所述第一AS中的BR向所述第一BR发布的所有路由消息,并从所述所有路由消息中确定所述第一最优路由消息;或者,所述第二获得单元,具体用于将所述第二BR发布的路由消息确定为所述第一最优路由消息。
可选地,所述第二发布单元包括:
第四确定单元,用确定所述第一BR与第三BR是否互为邻居,所述第三BR属于所述第三AS;
第一发布子单元,用于在所述第四确定单元确定所述第一BR与所述第三BR互为邻居时,向所述第三BR发布所述第二路由控制消息和所述第二BGP路由消息;
第二发布子单元,用于在所述第四确定单元确定所述第一BR与所述第三BR并非互为邻居时,通过第四BR向所述第三AS发布所述第二路由控制消息和所述第二BGP路由消息,所述第四BR属于所述第二AS,且所述第四BR与所述第三BR互为邻居。
可选地,如果所述第三确定单元确定所述第二AS列表中不包括第三AS的身份标识,所述第一BR还包括:
第三发布单元,用于向所述第二AS发布所述第二路由控制消息和所述第二BGP路由消息。
可选地,如果所述第一确定单元确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由第五BR发布至所述第一BR,所述第五BR与所述第一BR属于相同AS,所述装置还包括:
第五确定单元,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
第三获得单元,用于在所述第五确定单元确定所述第一BR所属的AS为所述路径上的第二AS时,将所述第五BR发布的路由消息确定为第二最佳路由消息;
第六确定单元,用于根据所述第一AS列表,确定所述第一AS列表中是否还包括第三AS的身份标识;
第四发布单元,用于在所述第六确定单元确定所述第一AS列表中还包括第三AS的身份标识时,向所述第三AS发布第三路由控制消息和第三BGP路由消息,所述第三路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第一AS列表,所述第三BGP路由消息包括所述第一BR的身份标识。
在上述可选方案中,本发明实施例边界路由器可以实现的附加功能,请参照方法实施例中对第一BR附加功能的描述,这里不再赘述。
另外,上述实施例提供的边界路由器在控制报文按照指定路径进行报文转发时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
与图2所示方法相对应地,本发明实施例还提供了边界路由器500的硬件构成方案,所述边界路由器BR为第一BR,参见图10所示示意图,所述第一BR可包括:处理器501、存储器502、网络接口503、总线系统504。
所述总线系统504,用于连接上述处理器501、存储器502和网络接口503。
所述网络接口503,用于实现设备与其它网络设备之间的通信连接。所述网络接口503可以由光收发器,电收发器,无线收发器或其任意组合实现。例如,光收发器可以是小封装可插拔(英文:small form-factor pluggabletransceiver,缩写:SFP)收发器(英文:transceiver),增强小封装可插拔(英文:enhanced small form-factor pluggable,缩写:SFP+)收发器或10吉比特小封装可插拔(英文:10Gigabit small form-factor pluggable,缩写:XFP)收发器。电收发器可以是以太网(英文:Ethernet)网络接口控制器(英文:networkinterface controller,缩写:NIC)。无线收发器可以是无线网络接口控制器(英文:wireless network interface controller,缩写:WNIC)。
所述存储器502,用于存储程序指令和数据。所述存储器502可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-accessmemory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器还可以包括上述种类的存储器的组合。
所述处理器501是中央处理器(英文:central processing unit,缩写:CPU),也可以是CPU和硬件芯片的组合。上述硬件芯片可以是以下一种或多种的组合:专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD)以及网络处理器(英文:network processor,缩写:NP)。所述处理器501,用于读取所述存储器502中存储的程序指令和数据,执行以下操作:
所述处理器获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识;
所述处理器根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点;
如果确定所述第一BR所属的AS为所述路径上的第一AS,所述处理器向所述路径上的第二AS发布所述第一路由控制消息和第一边界网关协议BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。
图10所示的边界路由器的实现细节,请参考前面附图2所示的方法实施例中的描述,此处不再赘述。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,简称:ROM)、RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置及设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的可选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种路由控制方法,其特征在于,所述方法包括:
第一边界路由器BR获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识;
所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点;
如果确定所述第一BR所属的AS为所述路径上的第一AS,所述第一BR向所述路径上的第二AS发布所述第一路由控制消息和第一边界网关协议BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。
2.根据权利要求1所述的方法,其特征在于,所述报文转发端点的身份标识包括所述目的节点的身份标识;或者,所述报文转发端点的身份标识包括所述目的节点的身份标识和所述路径的源节点的身份标识。
3.根据权利要求1或2所述的方法,其特征在于,所述第一路由控制消息为流量说明flowspec,所述第一路由控制消息包括网络层可达信息NLRI字段、下一跳NH字段、扩展属性字段和扩展团体属性字段,所述NLRI字段用于携带所述报文转发端点的身份标识,所述NH字段用于携带所述第一BR的身份标识,所述扩展属性字段用于携带所述第一AS列表,所述扩展团体属性字段用于表示根据所述扩展属性字段进行路由控制。
4.根据权利要求1至3任一项所述的方法,其特征在于,如果确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由所述第一AS中的第二BR发布至所述第一BR,所述方法还包括:
所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
如果确定所述第一BR所属的AS为所述路径上的第二AS,所述第一BR获得第一最佳路由消息,所述第一最佳路由消息为所述第一AS中的BR发布至所述第一BR;
所述第一BR从所述第一AS列表中删除所述第一AS的身份标识,获得第二AS列表;
所述第一BR根据所述第二AS列表,确定所述第二AS列表中是否还包括第三AS的身份标识;
如果所述第二AS列表中还包括第三AS的身份标识,所述第一BR向所述第三AS发布第二路由控制消息和第二BGP路由消息,所述第二路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第二AS列表,所述第二BGP路由消息包括所述第一BR的身份标识。
5.根据权利要求4所述的方法,其特征在于,所述第一BR获得第一最佳路由消息,包括:
所述第一BR获得所述第一AS中的BR向所述第一BR发布的所有路由消息,并从所述所有路由消息中确定所述第一最优路由消息;或者,
所述第一BR将所述第二BR发布的路由消息确定为所述第一最优路由消息。
6.根据权利要求4或5所述的方法,其特征在于,所述第一BR向所述第三AS发布第二路由控制消息和第二BGP路由消息,包括:
所述第一BR确定所述第一BR与第三BR是否互为邻居,所述第三BR属于所述第三AS;
如果所述第一BR与所述第三BR互为邻居,所述第一BR向所述第三BR发布所述第二路由控制消息和所述第二BGP路由消息;
如果所述第一BR与所述第三BR并非互为邻居,所述第一BR通过第四BR,向所述第三AS发布所述第二路由控制消息和所述第二BGP路由消息,所述第四BR属于所述第二AS,且所述第四BR与所述第三BR互为邻居。
7.根据权利要求4至6任一项所述的方法,其特征在于,如果所述第二AS列表中不包括第三AS的身份标识,所述方法还包括:
所述第一BR向所述第二AS发布所述第二路由控制消息和所述第二BGP路由消息。
8.根据权利要求1至3任一项所述的方法,其特征在于,如果确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由第五BR发布至所述第一BR,所述第五BR与所述第一BR属于相同AS,所述方法还包括:
所述第一BR根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
如果确定所述第一BR所属的AS为所述路径上的第二AS,所述第一BR将所述第五BR发布的路由消息确定为第二最佳路由消息;
所述第一BR根据所述第一AS列表,确定所述第一AS列表中是否还包括第三AS的身份标识;
如果所述第一AS列表中还包括第三AS的身份标识,所述第一BR向所述第三AS发布第三路由控制消息和第三BGP路由消息,所述第三路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第一AS列表,所述第三BGP路由消息包括所述第一BR的身份标识。
9.一种边界路由器,其特征在于,所述边界路由器BR为第一BR,所述第一BR包括:
第一获得单元,用于获得第一路由控制消息,所述第一路由控制消息包括报文转发端点的身份标识和第一自治系统AS列表,所述第一AS列表用于表示报文转发的路径,所述第一AS列表依次包括至少两个AS的身份标识;
第一确定单元,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第一AS,所述第一AS包括所述路径的目的节点;
第一发布单元,用于在所述第一确定单元确定所述第一BR所属的AS为所述路径上的第一AS,向所述路径上的第二AS发布所述第一路由控制消息和第一边界网关协议BGP路由消息,所述第一路由控制消息还包括所述第一BR的身份标识,所述第一BGP路由消息包括所述第一BR的身份标识。
10.根据权利要求9所述的边界路由器,其特征在于,如果所述第一确定单元确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由所述第一AS中的第二BR发布至所述第一BR,所述第一BR还包括:
第二确定单元,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
第二获得单元,用于在所述第二确定单元确定所述第一BR所属的AS为所述路径上的第二AS,获得第一最佳路由消息,所述第一最佳路由消息为所述第一AS中的BR发布至所述第一BR;
删除单元,用于从所述第一AS列表中删除所述第一AS的身份标识,获得第二AS列表;
第三确定单元,用于根据所述第二AS列表,确定所述第二AS列表中是否还包括第三AS的身份标识;
第二发布单元,用于在所述第三确定单元确定所述第二AS列表中还包括第三AS的身份标识时,向所述第三AS发布第二路由控制消息和第二BGP路由消息,所述第二路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第二AS列表,所述第二BGP路由消息包括所述第一BR的身份标识。
11.根据权利要求10所述的边界路由器,其特征在于,所述第二发布单元包括:
第四确定单元,用于确定所述第一BR与第三BR是否互为邻居,所述第三BR属于所述第三AS;
第一发布子单元,用于在所述第四确定单元确定所述第一BR与所述第三BR互为邻居时,向所述第三BR发布所述第二路由控制消息和所述第二BGP路由消息;
第二发布子单元,用于在所述第四确定单元确定所述第一BR与所述第三BR并非互为邻居时,通过第四BR向所述第三AS发布所述第二路由控制消息和所述第二BGP路由消息,所述第四BR属于所述第二AS,且所述第四BR与所述第三BR互为邻居。
12.根据权利要求10或11所述的边界路由器,其特征在于,如果所述第三确定单元确定所述第二AS列表中不包括第三AS的身份标识,所述第一BR还包括:
第三发布单元,用于向所述第二AS发布所述第二路由控制消息和所述第二BGP路由消息。
13.根据权利要求9所述的边界路由器,其特征在于,如果所述第一确定单元确定所述第一BR所属的AS并非所述路径上的第一AS,且所述第一路由控制消息由第五BR发布至所述第一BR,所述第五BR与所述第一BR属于相同AS,所述第一BR还包括:
第五确定单元,用于根据所述第一AS列表,确定所述第一BR所属的AS是否为所述路径上的第二AS;
第三获得单元,用于在所述第五确定单元确定所述第一BR所属的AS为所述路径上的第二AS,将所述第五BR发布的路由消息确定为第二最佳路由消息;
第六确定单元,用于根据所述第一AS列表,确定所述第一AS列表中是否还包括第三AS的身份标识;
第四发布单元,用于在所述第六确定单元确定所述第一AS列表中还包括第三AS的身份标识时,向所述第三AS发布第三路由控制消息和第三BGP路由消息,所述第三路由控制消息包括所述报文转发端点的身份标识、所述第一BR的身份标识和所述第一AS列表,所述第三BGP路由消息包括所述第一BR的身份标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410854158.5A CN104601466B (zh) | 2014-12-31 | 2014-12-31 | 一种路由控制方法、边界路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410854158.5A CN104601466B (zh) | 2014-12-31 | 2014-12-31 | 一种路由控制方法、边界路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104601466A true CN104601466A (zh) | 2015-05-06 |
CN104601466B CN104601466B (zh) | 2018-01-05 |
Family
ID=53126984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410854158.5A Active CN104601466B (zh) | 2014-12-31 | 2014-12-31 | 一种路由控制方法、边界路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104601466B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017004778A1 (zh) * | 2015-07-06 | 2017-01-12 | 华为技术有限公司 | 路由控制的方法、设备和系统 |
CN110430134A (zh) * | 2019-06-21 | 2019-11-08 | 网宿科技股份有限公司 | 云网传输路由方法和系统 |
CN110703817A (zh) * | 2016-03-29 | 2020-01-17 | 华为技术有限公司 | 一种统计流量的控制方法、装置和系统 |
CN112583720A (zh) * | 2019-09-27 | 2021-03-30 | 瞻博网络公司 | 自治系统间跟踪路由消息 |
CN113132228A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 一种路径校验方法及相关设备 |
CN113225194A (zh) * | 2020-01-21 | 2021-08-06 | 华为技术有限公司 | 路由异常检测方法、装置及系统、计算机存储介质 |
CN114567580A (zh) * | 2020-11-27 | 2022-05-31 | 华为技术有限公司 | 一种消息发送方法、消息处理方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060133390A1 (en) * | 2004-12-22 | 2006-06-22 | Arjun Sreekantiah | Method and apparatus providing prioritized convergence in border gateway protocol |
CN101133408A (zh) * | 2005-03-04 | 2008-02-27 | 思科技术公司 | 穿过一组自治系统的最短域间流量工程标签交换路径计算 |
CN101247322A (zh) * | 2007-02-14 | 2008-08-20 | 华为技术有限公司 | 一种进行自治系统间路径计算的方法及网络设备 |
CN103609080A (zh) * | 2011-06-23 | 2014-02-26 | 瑞典爱立信有限公司 | 用于支持经由as间路径的路由的方法和节点 |
-
2014
- 2014-12-31 CN CN201410854158.5A patent/CN104601466B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060133390A1 (en) * | 2004-12-22 | 2006-06-22 | Arjun Sreekantiah | Method and apparatus providing prioritized convergence in border gateway protocol |
CN101133408A (zh) * | 2005-03-04 | 2008-02-27 | 思科技术公司 | 穿过一组自治系统的最短域间流量工程标签交换路径计算 |
CN101247322A (zh) * | 2007-02-14 | 2008-08-20 | 华为技术有限公司 | 一种进行自治系统间路径计算的方法及网络设备 |
CN103609080A (zh) * | 2011-06-23 | 2014-02-26 | 瑞典爱立信有限公司 | 用于支持经由as间路径的路由的方法和节点 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005474A (zh) * | 2015-07-06 | 2017-08-01 | 华为技术有限公司 | 路由控制的方法、设备和系统 |
CN112291145B (zh) * | 2015-07-06 | 2024-05-14 | 华为技术有限公司 | 路由控制的方法、设备和系统 |
CN107005474B (zh) * | 2015-07-06 | 2020-10-16 | 华为技术有限公司 | 路由控制的方法、设备和系统 |
CN112291144A (zh) * | 2015-07-06 | 2021-01-29 | 华为技术有限公司 | 路由控制的方法、设备和系统 |
CN112291145A (zh) * | 2015-07-06 | 2021-01-29 | 华为技术有限公司 | 路由控制的方法、设备和系统 |
WO2017004778A1 (zh) * | 2015-07-06 | 2017-01-12 | 华为技术有限公司 | 路由控制的方法、设备和系统 |
US11658905B2 (en) | 2015-07-06 | 2023-05-23 | Huawei Technologies Co., Ltd. | Routing control method, device, and system |
CN110703817B (zh) * | 2016-03-29 | 2022-04-05 | 华为技术有限公司 | 一种统计流量的控制方法、装置和系统 |
CN110703817A (zh) * | 2016-03-29 | 2020-01-17 | 华为技术有限公司 | 一种统计流量的控制方法、装置和系统 |
US11716262B2 (en) | 2016-03-29 | 2023-08-01 | Huawei Technologies Co., Ltd. | Control method, apparatus, and system for collecting traffic statistics |
US11381480B2 (en) | 2016-03-29 | 2022-07-05 | Huawei Technologies Co., Ltd. | Control method, apparatus, and system for collecting traffic statistics |
CN110430134B (zh) * | 2019-06-21 | 2021-05-07 | 网宿科技股份有限公司 | 云网传输路由方法和系统 |
CN110430134A (zh) * | 2019-06-21 | 2019-11-08 | 网宿科技股份有限公司 | 云网传输路由方法和系统 |
CN112583720B (zh) * | 2019-09-27 | 2022-11-04 | 瞻博网络公司 | 自治系统间跟踪路由消息 |
CN112583720A (zh) * | 2019-09-27 | 2021-03-30 | 瞻博网络公司 | 自治系统间跟踪路由消息 |
CN113132228A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 一种路径校验方法及相关设备 |
CN113225194A (zh) * | 2020-01-21 | 2021-08-06 | 华为技术有限公司 | 路由异常检测方法、装置及系统、计算机存储介质 |
CN114567580A (zh) * | 2020-11-27 | 2022-05-31 | 华为技术有限公司 | 一种消息发送方法、消息处理方法、装置及系统 |
CN114567580B (zh) * | 2020-11-27 | 2023-10-20 | 华为技术有限公司 | 一种消息发送方法、消息处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104601466B (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104601466A (zh) | 一种路由控制方法、边界路由器 | |
CN104954256B (zh) | 用于重新配置点到多点标签交换路径的装置、系统和方法 | |
CN110703817B (zh) | 一种统计流量的控制方法、装置和系统 | |
CN100372337C (zh) | 一种实现跨域约束路由的选路方法 | |
CN108574639A (zh) | Evpn报文处理方法、设备及系统 | |
US11743204B2 (en) | Tunnel establishment method, apparatus, and system | |
WO2017124709A1 (zh) | 流量工程隧道建立方法和装置 | |
CN105765946A (zh) | 支持数据网络中的服务链接的方法和系统 | |
CN106603413B (zh) | 通过指定路径传输流量的方法和装置 | |
CN108574634A (zh) | 用于跨越共享标签的标签交换路径提供节点保护的装置、系统和方法 | |
EP3253012B1 (en) | Method and apparatus for obtaining port path | |
CN104396197A (zh) | 在802.1aq网络中使用分离的平局打破器在等成本最短路径之间选择 | |
CN109936516A (zh) | 用于跨多个网络传输选项促进透明服务映射的系统和方法 | |
CN105847153A (zh) | 一种报文转发方法及网络设备 | |
CN107959611A (zh) | 一种转发报文的方法,装置及系统 | |
CN105391633A (zh) | 转发器、控制器及控制器的路由发布方法 | |
CN104618235B (zh) | 一种跨层建立不共路路径的方法及装置 | |
WO2016078363A1 (zh) | 一种隧道约束信息的发送、接收方法及装置 | |
CN109150721A (zh) | 用于在mpls分组上施加标签栈条目的装置、系统和方法 | |
US11489768B2 (en) | Method for creating inter-domain bidirectional tunnel, communication method and device, and storage medium | |
CN102685011B (zh) | 一种trill网络中的路由计算方法和设备 | |
CN105515986B (zh) | 列车通信网络数据处理方法及系统 | |
CN108574633A (zh) | 用于跨网络内的标签交换路径来共享标签的装置、系统和方法 | |
CN104579992A (zh) | 一种控制网络流量路径的方法及装置 | |
CN102624610B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |