CN112291145A - 路由控制的方法、设备和系统 - Google Patents
路由控制的方法、设备和系统 Download PDFInfo
- Publication number
- CN112291145A CN112291145A CN202011004303.2A CN202011004303A CN112291145A CN 112291145 A CN112291145 A CN 112291145A CN 202011004303 A CN202011004303 A CN 202011004303A CN 112291145 A CN112291145 A CN 112291145A
- Authority
- CN
- China
- Prior art keywords
- controller
- message
- node
- routing
- bgp
- 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
- 238000000034 method Methods 0.000 title claims abstract description 107
- 230000001276 controlling effect Effects 0.000 claims abstract description 17
- 230000001105 regulatory effect Effects 0.000 claims abstract description 10
- 238000004891 communication Methods 0.000 claims description 34
- 230000009286 beneficial effect Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 10
- 238000011022 operating instruction Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/033—Topology update or discovery by updating distance vector protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种路由控制方法、装置和系统,包括:控制器接收第一边界网关协议BGP路由消息,确定是否进行入流量调控;如果确定进行入流量调控,则所述控制器确定目的节点,并从第二AS中分配源节点,所述目的节点属于所述第一AS;通过利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径;根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;向指定的BR发送路由控制消息,指示所述指定的BR向所述第二AS发布第二BGP路由消息时,将所述第一BR作为所述第二BR转发报文的下一跳。相较于现有技术,有助于自动灵活的调控AS域的流量。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种路由控制的方法、设备和系统。
背景技术
通常,运营商的自治系统(英文:Autonomous System,简称:AS)包括以下三种类型的设备:提供者边缘(英文:Provider Edge,简称:PE)设备、边界路由器(英文:BorderRouter,简称:BR)和提供者(英文:Provider,简称:P)设备。其中,PE设备为自治系统的网络侧边缘设备,与用户侧边缘CE设备相连,用于接入用户业务;BR为自治系统的边界路由器,用于在AS之间发布路由。
不同运营商的AS间进行路由控制时通常使用边界网关协议(英文:BorderGateway Protocol,简称:BGP),不同的AS之间通过BR互连。当需要对流量进行调控时(例如有些BR或链路负载过重拥塞,而有些BR或链路负载过轻闲置),运营商通常需要人工分析流量分布、并配置路由策略来调控进入和离开该运营商所管辖的AS的流量,而且这种人工配置需要在该运营商的AS的相关BR上逐个手工配置,费时费力。
发明内容
本发明实施例提供的路由控制方法及装置,有助于运营商自动化的调控进出该运营商所管辖的AS的数据流量。
为此,本发明实施例提供如下技术方案:
第一方面,提供了一种路由控制的方法,所述方法包括:
控制器接收第一边界网关协议BGP路由消息,所述控制器用于管辖第一自治系统AS;
所述控制器根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量调控;
如果确定进行入流量调控,则所述控制器根据所述第一BGP路由消息确定目的节点,并从第二AS中分配源节点,所述目的节点属于所述第一AS,所述第二AS为与所述第一AS直接相连的至少一个AS;
所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括所述第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑;
所述控制器根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;
所述控制器向指定的BR发送路由控制消息,所述指定的BR属于所述第一AS,所述路由控制消息用于指示所述指定的BR向所述第二AS发布第二BGP路由消息时,将所述第一BR作为所述第二BR转发报文的下一跳。
结合第一方面,在第一方面的第一种可能的实现方式中,所述根据向所述控制器发送所述第一BGP路由消息的节点,确定进行入流量调控,包括:
所述控制器确定所述向所述控制器发送所述第一BGP路由消息的节点为所述第一AS的边界网络设备,则进行入流量调控;所述第一AS的边界网络设备为BR设备或者运营商边缘PE设备。
结合第一方面,在第一方面的第二种可能的实现方式中,所述根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量调控,包括:
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项相应的操作为进行入流量调控。
结合第一方面,在第一方面的第三种可能的实现方式中,所述根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量调控,包括:
所述控制器根据所述第一BGP路由消息获取第一目的前缀;
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项相应的操作为进行入流量调控。
结合第一方面或第一方面的第一种至第三种可能的实现方式中的任意一个,在第一方面的第四种可能的实现方式中,所述控制器根据所述第一BGP路由消息确定目的节点,包括:
所述控制器确定是否接收到至少两条所述第一BGP路由消息;
如果确定接收到至少两条所述第一BGP路由消息,所述控制器在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,所述域内拓扑还包括:向所述控制器发送所述第一BGP路由消息的节点与所述目的节点之间的链路。
结合第一方面或第一方面的第一种至第三种可能的实现方式中的任意一个,在第一方面的第五种可能的实现方式中,所述控制器根据所述第一BGP路由消息确定目的节点,包括:
所述控制器在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,
所述域内拓扑还包括:所述第一AS的边界网络设备与所述目的节点之间的链路;
所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述控制器根据向所述控制器发送所述第一BGP路由消息的节点与所述目的节点之间的链路,获得第一亲和属性约束条件;所述控制器利用所述网络拓扑和所述第一亲和属性约束条件,获得所述优选路径。
结合第一方面或第一方面的第一种至第五种可能的实现方式中的任意一个,在第一方面的第六种可能的实现方式中,所述从第二AS中分配源节点,包括:
所述控制器从所述第二AS中的边界路由器或虚拟节点中选取一个节点作为所述源节点。
结合第一方面或第一方面的第一种至第五种可能的实现方式中的任意一个,在第一方面的第七种可能的实现方式中,其特征在于,所述从第二AS中分配源节点,包括:
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第三配置信息表,获得与所述第一匹配项相应的源节点为所述源节点;
或者,
所述控制器根据所述第一BGP路由消息获取第一目的前缀;
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第四配置信息表,获得与所述第二匹配项相应的源节点为所述源节点。
结合第一方面或第一方面的第一种至第七种可能的实现方式中的任意一个,在第一方面的第八种可能的实现方式中,所述源节点为所述第二AS中与所述第一AS直接连接的BR,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
结合第一方面或第一方面的第一种至第七种可能的实现方式中的任意一个,在第一方面的第九种可能的实现方式中,所述源节点为所述第二AS中设置的虚拟节点,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述源节点与所述第二AS的BR之间的拓扑。
结合第一方面的第八种或第九种可能的实现方式,在第一方面的第十种可能的实现方式中,所述控制器获得所述域间拓扑的方式为:
所述控制器通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;
所述控制器确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;
如果确定所述链路信息配置表的匹配项中保存有获得的直连路由和链路标识,所述控制器根据所述链路标识,在所述第一AS和与所述第一AS直接连接的AS之间,建立所述域间拓扑。
结合第一方面或第一方面的第一种至第十种可能的实现方式中的任意一个,在第一方面的第十一种可能的实现方式中,所述路由控制消息包括由所述第一BR的标识和所述第二BR的标识组成的邻居对和操作方式,所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述第二BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
结合第一方面的第十一种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段携带拒绝值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型字段指示执行对AS-Path增加AS数量的操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
结合第一方面或第一方面的第一种至第十种可能的实现方式中的任意一个,在第一方面的第十三种可能的实现方式中,所述路由控制消息包括至少一组邻居对和操作方式,所述至少一组邻居对不包括由所述第一BR的标识和所述第二BR的标识组成的邻居对;所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
结合第一方面的第十三种可能的实现方式,在第一方面的第十四种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和至少一个Sub-TLV字段,其中,所述匹配类型字段携带允许值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为大于等于1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一AS里除所述第一BR的标识以外的其它BR的标识,所述邻居对端的设备标识字段携带所述第二AS里除所述第二BR的标识以外的其它BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型字段指示执行对AS-Path增加AS数量的操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
第二方面,提供一种路由控制方法,所述方法包括:
所述第一AS中的指定的边界路由器BR接收来自控制器的路由控制消息,所述路由控制消息用于指示所述指定的BR向所述第二AS发布第二BGP路由消息时,将第一BR作为第二BR转发报文的下一跳,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS,所述控制器用于管辖第一自治系统AS;
所述指定的BR根据所述路由控制消息,处理向所述第二AS发布的所述第二BGP路由消息。
结合第二方面,在第二方面的第一种可能的实现方式中,所述路由控制消息包括由所述第一BR的标识和所述第二BR的标识组成的邻居对和操作方式,所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述第二BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR;
相应地,所述指定的BR根据所述路由控制消息,处理向所述第二AS发布的所述BGP路由消息包括:
当所述指定的BR向所述第二AS里的目标BR发布所述BGP路由消息时,所述指定的BR用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段携带拒绝值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型字段指示执行对AS-Path增加AS数量的操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
结合第二方面,在第二方面的第三种可能的实现方式中,所述路由控制消息包括至少一组邻居对和操作方式,所述至少一组邻居对不包括由所述第一BR的标识和所述第二BR的标识组成的邻居对;所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR;
相应地,所述指定的BR根据所述路由控制消息,处理向所述第二AS发布的所述BGP路由消息包括:
当所述指定的BR向所述第二AS里的目标BR发布所述BGP路由消息时,所述指定的BR用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和至少一个Sub-TLV字段,其中,所述匹配类型字段携带允许值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为大于等于1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一AS里除所述第一BR的标识以外的其它BR的标识,所述邻居对端的设备标识字段携带所述第二AS里除所述第二BR的标识以外的其它BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型字段指示执行对AS-Path增加AS数量的操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
第三方面,提供了一种控制器,所述控制器用于管辖第一自治系统AS,所述控制器包括:
通信单元,用于接收第一边界网关协议BGP路由消息;
处理单元,用于根据所述第一BGP路由消息确定目的节点,所述目的节点属于所述第一AS;
所述处理单元还用于根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量调控;
如果确定进行入流量调控,则所述处理单元还用于从第二AS中分配源节点,所述第二AS为与所述第一AS直接相连的至少一个AS;
所述处理单元还利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括所述第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑;
所述处理单元还用于根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;
所述通信单元还用于向指定的BR发送路由控制消息,所述指定的BR属于所述第一AS,所述路由控制消息用于指示所述指定的BR向所述第二AS发布第二BGP路由消息时,将所述第一BR作为所述第二BR转发报文的下一跳。
结合第三方面,在第三方面的第一种可能的实现方式中,所述根据向所述控制器发送所述第一BGP路由消息的节点,确定进行入流量调控,包括:
所述处理单元确定所述向所述控制器发送所述第一BGP路由消息的节点为所述第一AS的边界网络设备,则进行入流量调控;所述第一AS的边界网络设备为BR设备或者运营商边缘PE设备。
结合第三方面,在第三方面的第二种可能的实现方式中,所述根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量调控,包括:
所述处理单元用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项相应的操作为进行入流量调控。
结合第三方面,在第三方面的第三种可能的实现方式中,所述根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量调控,包括:
所述处理单元根据所述第一BGP路由消息获取第一目的前缀;
所述处理单元用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项相应的操作为进行入流量调控。
结合第三方面或第三方面的第一种至第三种可能的实现方式中的任意一个,在第三方面的第四种可能的实现方式中,所述处理单元根据所述第一BGP路由消息确定目的节点,包括:
所述处理单元确定是否接收到至少两条所述第一BGP路由消息;
如果确定接收到至少两条所述第一BGP路由消息,所述处理单元在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,所述域内拓扑还包括:向所述控制器发送所述第一BGP路由消息的节点与所述目的节点之间的链路。
结合第三方面或第三方面的第一种至第三种可能的实现方式中的任意一个,在第三方面的第五种可能的实现方式中,所述处理单元根据所述第一BGP路由消息确定目的节点,包括:
所述处理单元在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,
所述域内拓扑还包括:所述第一AS的边界网络设备与所述目的节点之间的链路;
所述处理单元利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述处理单元根据向所述控制器发送所述第一BGP路由消息的节点与所述目的节点之间的链路,获得第一亲和属性约束条件;所述控制器利用所述网络拓扑和所述第一亲和属性约束条件,获得所述优选路径。
结合第三方面或第三方面的第一种至第五种可能的实现方式中的任意一个,在第三方面的第六种可能的实现方式中,所述从第二AS中分配源节点,包括:
所述处理单元将与所述第一AS直接连接的一个AS确定为所述第二AS;
所述处理单元从所述第二AS中分配所述源节点。
结合第三方面或第三方面的第一种至第五种可能的实现方式中的任意一个,在第三方面的第七种可能的实现方式中,所述从第二AS中分配源节点,包括:
所述处理单元用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第三配置信息表,获得与所述第一匹配项相应的源节点为所述源节点;
或者,
所述处理单元根据所述第一BGP路由消息获取第一目的前缀;
所述处理单元用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第四配置信息表,获得与所述第二匹配项相应的源节点为所述源节点。
结合第三方面或第三方面的第一种至第七种可能的实现方式中的任意一个,在第三方面的第八种可能的实现方式中,所述源节点为所述第二AS中与所述第一AS直接连接的BR,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
结合第三方面或第三方面的第一种至第七种可能的实现方式中的任意一个,在第三方面的第九种可能的实现方式中,所述源节点为所述第二AS中设置的虚拟节点,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述源节点与所述第二AS的BR之间的拓扑。
结合第三方面的第八种或第九种可能的实现方式,在第三方面的第十种可能的实现方式中,所述处理器获得所述域间拓扑的方式为:
所述处理单元通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;
所述处理单元确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;
如果确定所述链路信息配置表的匹配项中保存有获得的直连路由和链路标识,所述处理单元根据所述链路标识,在所述第一AS和与所述第一AS直接连接的AS之间,建立所述域间拓扑。
结合第三方面或第三方面的第一种至第十种可能的实现方式中的任意一个,在第三方面的第十一种可能的实现方式中,所述路由控制消息包括由所述第一BR的标识和所述第二BR的标识组成的邻居对和操作方式,所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述第二BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
结合第三方面的第十一种可能的实现方式,在第三方面的第十二种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段携带拒绝值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型字段指示执行对AS-Path增加AS数量的操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
结合第三方面或第三方面的第一种至第十种可能的实现方式中的任意一个,在第三方面的第十三种可能的实现方式中,所述路由控制消息包括至少一组邻居对和操作方式,所述至少一组邻居对不包括由所述第一BR的标识和所述第二BR的标识组成的邻居对;所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
结合第三方面的第十三种可能的实现方式,在第三方面的第十四种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和至少一个Sub-TLV字段,其中,所述匹配类型字段携带允许值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为大于等于1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一AS里除所述第一BR的标识以外的其它BR的标识,所述邻居对端的设备标识字段携带所述第二AS里除所述第二BR的标识以外的其它BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型字段指示执行对AS-Path增加AS数量的操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
第四方面,提供了一种边界路由器,用作指定的边界路由器BR,所述指定的BR属于所述第一自治系统AS,所述指定的BR包括:
通信单元,用于接收来自控制器的路由控制消息,所述路由控制消息用于指示所述指定的BR向所述第二AS发布BGP路由消息时,将第一BR作为第二BR转发报文的下一跳,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS,所述控制器用于管辖所述第一AS;
处理单元,用于根据所述路由控制消息,处理向所述第二AS发布的所述BGP路由消息。
结合第四方面,在第四方面的第一种可能的实现方式中,所述路由控制消息包括由所述第一BR的标识和所述第二BR的标识组成的邻居对和操作方式,所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR;
相应地,所述处理单元用于根据所述路由控制消息,处理向所述第二AS发布的所述BGP路由消息包括:
当所述通信单元向所述第二AS里的目标BR发布所述BGP路由消息时,所述处理单元用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段携带拒绝值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型字段指示执行对AS-Path增加AS数量的操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
结合第四方面,在第四方面的第三种可能的实现方式中,所述路由控制消息包括至少一组邻居对和操作方式,所述至少一组邻居对不包括由所述第一BR的标识和所述第二BR的标识组成的邻居对;所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR;
相应地,所述处理单元用于根据所述路由控制消息,处理向所述第二AS发布的所述BGP路由消息包括:
当所述通信单元向所述第二AS里的目标BR发布所述BGP路由消息时,所述处理单元用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR;
结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和至少一个Sub-TLV字段,其中,所述匹配类型字段携带允许值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为大于等于1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一AS里除所述第一BR的标识以外的其它BR的标识,所述邻居对端的设备标识字段携带所述第二AS里除所述第二BR的标识以外的其它BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型字段指示执行对AS-Path增加AS数量的操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
第五方面,提供了一种网络系统,所述网络系统包括控制器和边界路由器BR,所述控制器为第三方面所述的任一控制器,所述BR为第四方面所述的任一指定的BR。
第六方面,提供了一种路由控制方法,所述方法包括:
控制器接收边界网关协议BGP路由消息,所述控制器用于管辖第一自治系统AS;
所述控制器根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控;
如果确定进行出流量调控,则所述控制器根据所述BGP路由消息确定目的节点,并从所述第一AS中分配源节点,所述目的节点属于第二AS,所述第二AS为与所述第一AS直接相连的至少一个AS;
所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑;
所述控制器根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;
所述控制器向所述第一BR发送路由控制消息,所述路由控制消息用于指示所述第一BR将所述第二BR作为转发报文的下一跳。
结合第六方面,在第六方面的第一种可能的实现方式中,所述根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控,包括:
所述控制器确定向所述控制器发送所述BGP路由消息的节点为所述第一AS的BR,则进行出流量调控。
结合第六方面,在第六方面的第二种可能的实现方式中,所述根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控,包括:
所述控制器用向所述控制器发送所述BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项相应的操作为进行出流量调控。
结合第六方面,在第六方面的第三种可能的实现方式中,所述根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控,包括:
所述控制器根据所述BGP路由消息获取第一目的前缀;
所述控制器用所述向所述控制器发送所述BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项相应的操作为进行出流量调控。
结合第六方面或第六方面的第一种至第三种可能的实现方式中的任意一个,在第六方面的第四种可能的实现方式中,所述从所述第一AS中分配源节点,包括:
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项对应的源节点为所述源节点;
或者,
所述控制器根据所述第一BGP路由消息获取第一目的前缀;
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项对应的源节点为所述源节点。
结合第六方面或第六方面的第一种至第四种可能的实现方式中的任意一个,在第六方面的第五种可能的实现方式中,所述目的节点为所述第二AS中的BR,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
结合第六方面或第六方面的第一种至第四种可能的实现方式中的任意一个,在第六方面的第六种可能的实现方式中,所述目的节点为在所述第二AS中设置的虚拟节点,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述目的节点与所述第二AS的BR之间的拓扑。
结合第六方面的第五种或第六种可能的实现方式中的任意一个,在第六方面的第七种可能的实现方式中,所述控制器获得所述域间拓扑的方式为:
所述控制器建立所述BGP路由消息包括的下一跳字段标识的BR与向所述控制器发送该BGP路由消息的节点之间的链路,获得所述域间拓扑,所述下一跳字段标识的BR属于所述第二AS;或者,
所述控制器建立所述BGP路由消息包括的团体属性字段标识的BR与向所述控制器发送该BGP路由消息的节点之间的链路,获得所述域间拓扑,所述团体属性字段标识的BR属于所述第二AS。
结合第六方面的第五种或第六种可能的实现方式中的任意一个,在第六方面的第八种可能的实现方式中,所述控制器获得所述域间拓扑的方式为:
所述控制器通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;
所述控制器确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;
如果确定所述链路信息配置表的匹配项中保存有获得的直接路由和链路标识,所述控制器根据所述链路标识,在所述第一AS和所述第二AS之间,建立所述域间拓扑;
相应地,所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述控制器根据向所述控制器发送所述BGP路由消息的节点和与所述第二AS的BR之间的链路,获得亲和属性约束条件;所述控制器利用所述网络拓扑和所述亲和属性约束条件,获得所述优选路径。
结合第六方面或第六方面的第一种至第八种可能的实现方式中的任意一个,在第六方面的第九种可能的实现方式中,所述路由控制消息包括目的前缀、所述第二BR的标识和操作方式,所述操作方式指示所述第一BR将所述第二BR作为去往所述目的前缀的路由的下一跳,所述目的前缀从所述BGP路由消息中获取。
结合第六方面的第九种可能的实现方式,在第六方面的第十种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段携带允许值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的邻居对,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段,其中,所述动作类型字段指示执行优选路由操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度;
所述BGP策略属性指示所述第一BR用所述第一BR的标识与所述邻居对字段中的所述邻居本端的设备标识字段进行匹配,如果匹配上,则执行将所述第二BR作为去往所述目的前缀的路由的下一跳操作。
第七方面,提供了一种路由控制方法,所述方法包括:
第一AS中的第一边界路由器BR接收来自控制器的路由控制消息,所述路由控制消息用于指示所述第一BR将第二BR作为转发报文的下一跳,所述第二BR属于第二AS;
所述第一BR根据所述路由控制消息,将所述第二BR确定为转发报文的下一跳。
结合第七方面,在第七方面的第一种可能的实现方式中,所述路由控制消息包括目的前缀、所述第二BR的标识和操作方式,所述操作方式指示所述第一BR将所述第二BR作为去往所述目的前缀的路由的下一跳,所述目的前缀从所述BGP路由消息中获取。
结合第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段携带允许值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的邻居对,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段,其中,所述动作类型字段指示执行优选路由操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度;
所述BGP策略属性指示所述第一BR用所述第一BR的标识与所述邻居对字段中的所述邻居本端的设备标识字段进行匹配,如果匹配上,则执行将所述第二BR作为去往所述目的前缀的路由的下一跳操作。
第八方面,提供了一种控制器,所述控制器用于管辖第一自治系统AS,所述控制器包括:
通信单元,用于接收边界网关协议BGP路由消息;
处理单元,用于根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控;
如果确定进行出流量调控,所述处理单元还用于根据所述BGP路由消息确定目的节点,并从所述第一AS中分配源节点,所述目的节点属于第二AS,所述第二AS为与所述第一AS直接相连的至少一个AS;
所述处理单元还用于利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑;
所述处理单元还用于根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;
所述处理单元还用于向所述第一BR发送路由控制消息,所述路由控制消息用于指示所述第一BR将所述第二BR作为转发报文的下一跳。
结合第八方面,在第八方面的第一种可能的实现方式中,所述根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控,包括:
所述处理单元还用于确定向所述控制器发送所述BGP路由消息的节点为所述第一AS的BR,则进行出流量调控。
结合第八方面的第一种可能的实现方式,在第八方面的第二种可能的实现方式中,所述根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控,包括:
所述处理单元还用于用向所述控制器发送所述BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项相应的操作为进行出流量调控。
结合第八方面的第一种可能的实现方式,在第八方面的第三种可能的实现方式中,所述根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控,包括:
所述处理单元还用于根据所述BGP路由消息获取第一目的前缀;
所述处理单元还用于用向所述控制器发送所述BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项相应的操作为进行出流量调控。
结合第八方面或第八方面的第一种至第三种可能的实现方式中的任意一个,在第八方面的第四种可能的实现方式中,所述从所述第一AS中分配源节点,包括:
所述处理单元还用于用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项对应的源节点为所述源节点;
或者,
所述处理单元根据所述第一BGP路由消息获取第一目的前缀;
所述处理单元用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项对应的源节点为所述源节点。
结合第八方面或第八方面的第一种至第四种可能的实现方式中的任意一个,在第八方面的第五种可能的实现方式中,所述目的节点为所述第二AS中的BR,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
结合第八方面或第八方面的第一种至第四种可能的实现方式中的任意一个,在第八方面的第六种可能的实现方式中,所述目的节点为在所述第二AS中设置的虚拟节点,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述目的节点与所述第二AS的BR之间的拓扑。
结合第八方面的第五种或第六种可能的实现方式,在第八方面的第七种可能的实现方式中,所述控制器获得所述域间拓扑的方式为:
所述处理单元还用于建立所述BGP路由消息包括的下一跳字段标识的BR与向所述控制器发送该BGP路由消息的节点之间的链路,获得所述域间拓扑,所述下一跳字段标识的BR属于所述第二AS;或者,
所述处理单元还用于建立所述BGP路由消息包括的团体属性字段标识的BR与向所述控制器发送该BGP路由消息的节点之间的链路,获得所述域间拓扑,所述团体属性字段标识的BR属于所述第二AS。
结合第八方面或第八方面的第一种至第四种可能的实现方式中的任意一个,在第八方面的第八种可能的实现方式中,所述控制器获得所述域间拓扑的方式为:
所述处理单元还用于通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;
所述处理单元还用于确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;
如果确定所述链路信息配置表的匹配项中保存有获得的直接路由和链路标识,所述处理单元还用于根据所述链路标识,在所述第一AS和所述第二AS之间,建立所述域间拓扑;
相应地,所述处理单元还用于利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述处理单元根据向所述控制器发送所述BGP路由消息的节点和与所述第二AS的BR之间的链路,获得亲和属性约束条件;所述处理单元利用所述网络拓扑和所述亲和属性约束条件,获得所述优选路径。
结合第八方面或第八方面的第一种至第八种可能的实现方式中的任意一个,在第八方面的第九种可能的实现方式中,所述路由控制消息包括目的前缀、所述第二BR的标识和操作方式,所述操作方式指示所述第一BR将所述第二BR作为去往所述目的前缀的路由的下一跳,所述目的前缀从所述BGP路由消息中获取。
结合第八方面的第九种可能的实现方式,在第八方面的第十种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段携带允许值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的邻居对,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段,其中,所述动作类型字段指示执行优选路由操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度;
所述BGP策略属性指示所述第一BR用所述第一BR的标识与所述邻居对字段中的所述邻居本端的设备标识字段进行匹配,如果匹配上,则执行将所述第二BR作为去往所述目的前缀的路由的下一跳操作。
第九方面,提供了一种边界路由器,用作第一边界路由器BR,所述第一BR属于所述第一自治系统AS,其特征在于,所述第一BR包括:
通信单元,用于接收来自控制器的路由控制消息,所述路由控制消息用于指示所述第一BR将第二BR作为转发报文的下一跳,所述第二BR属于第二AS;
处理单元,用于根据所述路由控制消息,将所述第二BR确定为转发报文的下一跳。
结合第九方面,在第九方面的第一种可能的实现方式中,所述路由控制消息包括目的前缀、所述第二BR的标识和操作方式,所述操作方式指示所述第一BR将所述第二BR作为去往所述目的前缀的路由的下一跳,所述目的前缀从所述BGP路由消息中获取;
相应地,所述处理单元将所述目的前缀的路由的下一跳设置为所述第二BR。
结合第九方面的第一种可能的实现方式,在第九方面的第二种可能的实现方式中,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段携带允许值,所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量为1,所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段指示所述Sub-Value字段的类型为邻居对和所述邻居对的IP地址类型,所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度,所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的邻居对,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段,其中,所述动作类型字段指示执行优选路由操作,所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度;
所述BGP策略属性指示所述第一BR用所述第一BR的标识与所述邻居对字段中的所述邻居本端的设备标识字段进行匹配,如果匹配上,则执行将所述第二BR作为去往所述目的前缀的路由的下一跳操作。
第十方面,提供了一种网络系统,其特征在于,所述网络系统包括控制器和边界路由器BR,所述控制器为第八方面所述的任一控制器,所述BR为第九方面所述的任一BR。
本发明实施例提供的路由控制方法、装置和系统,控制器接收BGP路由消息,所述控制器用于管辖第一自治系统AS;所述控制器根据向该控制器发送所述第一BGP路由消息的节点,确定进行入或出流量调控;如果确定进行入流量调控,则所述控制器根据所述第一BGP路由消息确定目的节点,并从第二AS中分配源节点,所述目的节点属于所述第一AS,所述第二AS为与所述第一AS直接相连的至少一个AS;如果确定进行出流量调控,则所述控制器根据所述BGP路由消息确定目的节点,并从所述第一AS中分配源节点,所述目的节点属于第二AS,所述第二AS为与所述第一AS直接相连的至少一个AS;所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括所述第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑;所述控制器根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;所述控制器向BR发送路由控制消息,控制该BR按照该优选路径对入出第一AS的数据流量进行转发。有助于运营商自动化的调控入出该运营商所管辖的AS的数据流量。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中使用的附图作简单地介绍。显而易见地,下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明的其他技术方案和附图。这些技术方案和附图也应该被认为是在本发明的范围之内。
图1是本发明实施例的一种网络示意图;
图2是本发明实施例中控制器侧路由控制方法的简化示意图;
图3a是本发明实施例中一种入流量控制网络示意图;
图3b是本发明实施例中另一种入流量控制网络示意图;
图4a是本发明实施例中BGP策略属性的一种编码格式;
图4b是本发明实施例中BGP策略属性的又一种编码格式;
图5是本发明实施例中边界路由器侧路由控制方法的简化示意图;
图6是本发明实施例提供的一种控制器的结构示意图;
图7是本发明实施例提供的一种控制器的结构示意图;
图8是本发明实施例提供的一种边界路由器的结构示意图;
图9是本发明实施例提供的一种边界路由器的结构示意图;
图10是本发明实施例中控制器侧路由控制方法的简化示意图;
图11a、11b是本发明实施例中一种出流量控制网络示意图;
图12是本发明实施例中BGP策略属性的一种示意图;
图13是本发明实施例中边界路由器侧路由控制方法的简化示意图;
图14是本发明实施例中的一种控制器的结构示意图;
图15是本发明实施例中的一种控制器的结构示意图;
图16是本发明实施例中的一种边界路由器的结构示意图;
图17是本发明实施例中的一种边界路由器的结构示意图;
图18是本发明实施例中的一种网络系统示意图;
图19是本发明实施例中的另一种网络系统示意图;
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
在介绍本发明实施例的技术方案之前,先对本发明实施例的具体应用场景做简单介绍。
参见图1,示出了基于控制转发分离的网络架构场景,控制器管辖第一自治系统AS1中的网络设备,所述网络设备包括边界路由器和PE设备。具体地,该控制器通过控制通道协议控制AS1中的边界路由器BR100-1、BR100-2、BR100-3、PE设备110-1和PE设备110-2。BR200-1和BR200-2是位于第二自治系统AS2中的边界路由器。AS1和AS2之间的BR通过BGP协议定义的路由消息进行路由控制,具体的,该路由消息可以是BGP更新UPDATE消息。举例来说,路由消息中至少可包括如下字段:网络前缀(英文:network prefix)、多出口区分符(英文:Multi Exit Discriminator,简称:MED)、下一跳(英文:next hop,简称:NH)、自治系统路径(英文:autonomous system path,简称:AS PATH)、本地优先级(英文:localpreference)。其中,prefix字段用于携带目的可达地址,可以是IP地址或者网段地址。MED字段用于携带MED值,基于目前的路由选择策略,可将MED值最小的IGW选为最优路由。NH字段用于携带报文转发时下一跳的标识,举例来说,下一跳的标识可以为IP地址、设备的身份标识、设备的端口标识等等。AS PATH字段用于携带报文转发时经过的AS的编号,基于目前的路由选择策略,可将AS PATH最短的BR选为最优路由,AS PATH最短可以理解为AS PATH中包括的AS编号的数量最少。local preference字段用于携带local preference值,基于目前的路由选择策略,可将local preference值最大的BR选为最优路由。
图1中所示的出方向数据流量和入方向数据流量是针对AS1来说的,出方向数据流量(简称出流量)是指离开AS1的流量,入方向数据流量(简称入流量)是指进入AS1的流量,所述出、入方向流量均指业务数据流量。
值得说明的是,首先,本实施例中所述的AS2是代表与所述AS1直接相连的AS,具体的,所述AS2可以包括与所述AS1直接相连的所有AS中的一个、多个或者全部,此处不做具体限定。
其次,本实施例中所述的AS1中还可能包括提供者P设备。
然后,本实施例中所述的PE和BR可统称为一个AS的边界网络设备,可以是路由器、交换机等网络转发设备。
最后,控制器可以为一台独立的设备,或者,控制器也可以为集成有控制器功能的路由反射器(英文:Route Reflector,简称:RR)、PE、BR或者P设备;或者,控制器的功能还可由多台不同的设备共同实现,即将控制器的功能拆分到所述多台不同的设备上,通过分布式实现控制器的功能。本发明实施例对控制器在网络中的存在形式不做具体限定。
本发明实施例中提供了一种路由控制方法,有助于实现自动灵活地调控数据流量进入和离开AS的转发路径,下面分别从入流量和出流量两个方面来描述。
一、入流量路由控制方法、装置和系统
本发明实施例的入流量路由控制方法包括控制器侧和边界路由器侧的处理,下面分别描述。
图2为本发明实施例控制器侧路由控制方法的简化流程图。该方法,如应用于类似于图1所示的网络场景,包括下面描述的操作。需要注意的是,图2所示的方法不仅可以应用于图1所示的网络结构,也可以应用于其他类型的网络系统,例如由未采用可替换组件的网络设备组成的网络系统。
201、所述控制器接收第一边界网关协议BGP路由消息,所述控制器用于管辖第一自治系统AS;
202、所述控制器根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量的调控;
可选地,所述控制器确定进行入流量调控的方法可以有以下几种方式:
方式一、所述控制器确定所述向所述控制器发送所述第一BGP路由消息的节点为所述第一AS的边界网络设备,则进行入流量调控;所述第一AS的边界网络设备为BR设备或者运营商边缘PE设备。
结合图1中的示例,向所述控制器发送所述第一BGP路由消息的节点可以为PE设备110-1、PE设备110-2、边界路由器BR100-3、边界路由器BR100-1、边界路由器BR100-2,这些设备都是AS1的边界网络设备,当收到来自AS1的这些边界网络设备发来的所述第一BGP路由消息时,所述控制器130确定进行入流量调控。这是一种随机的调控方式。
方式二、所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项相应的操作为进行入流量调控。
结合图1中的示例,比如向所述控制器发送所述第一BGP路由消息的节点是PE设备110-1,则控制器130用PE设备110-1的标识做匹配项查找所述表1所示配置信息表,获得操作方式为入流量调控。这是一种针对节点的粗粒度的流量调控。
表1配置信息表
匹配项 | 操作方式 |
PE设备110-1的标识 | 入流量调控 |
PE设备110-2的标识 | 入流量调控 |
边界路由器BR100-3的标识 | 入流量调控 |
方式三、所述控制器根据所述第一BGP路由消息获取第一目的前缀;
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项相应的操作为进行入流量调控。
结合图1举例,比如向控制器130发送所述第一BGP路由消息的节点是PE设备110-1,控制器130从所述第一BGP路由消息中获取目的前缀为Prefix 1(例如,是IP地址前缀10.1.0.0/16或者IP地址10.1.1.1/32,Prefix 1是网络中一个路由目的前缀,在本发明实施例中还用于标识虚拟节点120-1),则控制器130用PE设备110-1的标识(例如可以是IP地址)和Prefix 1做匹配项查找表2所示配置信息表,获得操作方式为入流量调控。这是一种针对节点和前缀的细粒度的流量调控。
表2配置信息表
203、如果确定进行入流量调控,则所述控制器根据所述第一BGP路由消息确定目的节点,并从第二AS中分配源节点,所述目的节点属于所述第一AS,所述第二AS为与所述第一AS直接相连的至少一个AS;
可选地,所述控制器确定目的节点的方法可以有以下几种方式:
方式一、所述控制器确定是否接收到至少两条所述第一BGP路由消息;
如果确定接收到至少两条所述第一BGP路由消息,所述控制器在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,所述域内拓扑还包括:向所述控制器发送所述第一BGP路由消息的节点与所述目的节点之间的链路。
结合图1中的示例,控制器130确定从PE设备110-1和PE设备110-2分别接收到两条第一BGP路由消息,则在AS1中设置虚拟节点120-1(例如,可以用Prefix 1来标识该节点),并增加虚拟节点120-1和PE设备110-1之间的虚拟链路,以及增加虚拟节点120-1和PE设备110-2之间的虚拟链路。
方式二、所述控制器在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,所述域内拓扑还包括:所述第一AS的边界网络设备与所述目的节点之间的虚拟链路;
所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述控制器根据向所述控制器发送所述第一BGP路由消息的节点与所述目的节点之间的链路,获得第一亲和属性约束条件;所述控制器利用所述网络拓扑和所述第一亲和属性约束条件,获得所述优选路径。
结合图3a中的示例,控制器130设置虚拟节点120-1为所述目的节点,所述域内拓扑还包括AS1的BR100-3与所述虚拟节点120-1之间的虚拟链路。例如,向所述控制器发送所述第一BGP路由消息的节点为BR100-3,控制器130为该入流量在BR100-3和所述虚拟节点120-1之间的虚拟链路上增加第一亲和属性,控制器130利用网络拓扑和所述第一亲和属性约束条件,获得所述源节点(BR200-2)与所述目的节点(虚拟节点120-1)之间的优选路径。
方式三、所述控制器也可以将向所述控制器发送所述第一BGP路由消息的节点确定为所述目的节点。
结合图1中的示例,控制器130根据不同的业务流量,有可能从PE设备110-1、PE设备110-2、边界路由器BR100-3、边界路由器BR100-1、边界路由器BR100-2这些节点中确定所述目的节点。
可选地,所述控制器分配所述源节点的方法可以有以下几种方式:
方式一、所述控制器从所述第二AS中的边界路由器或虚拟节点中选取一个节点作为所述源节点。值得说明的是,也可以从第二AS中的P设备或PE设备中选取一个节点作为所述源节点。
结合图1中的示例,控制器130从AS2的边界路由器BR中选取一个作为源节点,例如选取BR200-2作为源节点。
方式二、所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第三配置信息表,获得与所述第一匹配项相应的源节点为所述源节点。
结合图1中的示例,比如向所述控制器发送所述第一BGP路由消息的节点是PE设备110-1,则控制器130用PE设备110-1的标识做匹配项查找所述表3所示配置信息表,获得源节点为BR200-2。
表3配置信息表
方式三、所述控制器根据所述第一BGP路由消息获取第一目的前缀;
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第四配置信息表,获得与所述第二匹配项对应的源节点为所述源节点。
结合图1举例,比如向控制器130发送所述第一BGP路由消息的节点是PE设备110-1,控制器130从所述第一BGP路由消息中获取目的前缀为Prefix 1(例如,是IP地址前缀10.1.0.0/16或者IP地址10.1.1.1/32,Prefix 1是网络中一个路由目的前缀,在本发明实施例中还用于标识虚拟节点120-1),则控制器130用PE设备110-1的标识(例如可以是IP地址)和Prefix 1做匹配项查找表4所示配置信息表,获得源节点为BR200-2。
表4配置信息表
204、所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括所述第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑。
其中,所述第一AS的域内拓扑可以包括以下几种情形:
情形一、所述第一AS的域内拓扑包括至少一个所述第一AS的BR和/或所述第一AS的BR之间相连接的链路。
情形二、所述第一AS的域内拓扑包括至少一个所述第一AS的BR和至少一个运营商边缘PE设备,以及这些设备之间相连接的链路。
情形三、所述第一AS的域内拓扑包括至少一个所述第一AS的BR、至少一个运营商边缘PE设备和至少一个P设备,以及这些设备之间相连接的链路。
情形四、所述第一AS的域内拓扑包括至少一个所述第一AS的BR和至少一个运营商P设备,以及这些设备之间相连接的链路。
所述第一AS与所述第二AS的BR之间的域间拓扑可以包括两种情况:
情况1、当所述源节点为所述第二AS中与所述第一AS直接连接的BR时,所述第一AS与所述第二AS的BR之间的域间拓扑包括:所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
结合图1中的示例,所述域间拓扑包括BR200-1、BR200-2、BR100-1和BR100-2,以及这些节点之间相互连接的链路。
情况2、所述源节点为所述第二AS中设置的虚拟节点时,所述第一AS与所述第二AS的BR之间的域间拓扑包括:所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述源节点与所述第二AS的BR之间的拓扑。
结合图1中的示例,所述域间拓扑包括BR200-1、BR200-2、BR100-1、BR100-2,和这些节点之间相互连接的链路。所述域间拓扑还包括虚拟节点210-1,以及虚拟节点210-1与BR200-1之间的虚拟链路、虚拟节点210-1与BR200-2之间的虚拟链路。
可选地,所述控制器获得所述域间拓扑的方式为:
所述控制器通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;
所述控制器确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;
如果确定所述链路信息配置表的匹配项中保存有获得的直连路由和链路标识,所述控制器根据所述链路标识,在所述第一AS和与所述第一AS直接连接的AS之间,建立所述域间拓扑。
结合图1中的示例,所述优选路径为从BR200-2,经过BR100-1、PE设备110-1,到虚拟节点120-1的一条入方向数据流量的优选路径。
值得说明的是,在AS1域内也可以有P设备,在可能的场景下,所述优选路径上也可以包括AS1域内的P设备。
结合图3b中的示例,所述优选路径为从BR200-2到BR100-1的一条域间拓扑中的入方向数据流量的优选路径。此时BR100-1可以用作一个AS1的边界路由器,也可以是既具有边界路由器的功能,也具有PE功能的网络设备。
205、所述控制器根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;
结合图1中的示例,所述第一BR为BR100-1,所述第二BR为BR200-1。
206、所述控制器向指定的BR发送路由控制消息,所述指定的BR属于所述第一AS,所述路由控制消息用于指示所述指定的BR向所述第二AS发布第二BGP路由消息时,将所述第一BR作为所述第二BR转发报文的下一跳。
可选地,所述控制器分别向所述第一AS的至少一个边界路由器发送所述路由控制消息;优选地,包括分别向所述第一AS的所有边界路由器发送所述路由控制消息。
可选地,所述路由控制消息的具体形式可以有多种,可以是扩展的BGP UPDATE消息,具体的,也可以是BGP流规范规则(英文:Flow Specification,简称:FLOWSPEC)消息;或者,也可以是软件定义网络(英文:Software Defined Network,简称:SDN)的扩展的开放流OpenFlow协议。所述路由控制消息有两种控制方式:
方式一、所述路由控制消息包括由所述第一BR的标识和所述第二BR的标识组成的邻居对和操作方式,所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述第二BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
以扩展的BGP UPDATE消息举例来说,可以扩展新的BGP策略属性来实现该功能。有关BGP UPDATE消息以及相关属性的定义请参考国际互联网工程任务组(英文:InternetEngineering Task Force,简称:IETF)定义的请求注解RFC(英文:Request for Comments,简称:RFC)4271标准,有关BGP FLOWSPEC消息的定义请参考RFC5575,此处不做详述。如图4a,本实施例新扩展的BGP策略属性,包括匹配字段和动作字段;
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段可能的取值为0(指示允许)或者1(指示拒绝)。结合图1中入流量调控的示例,所述匹配类型字段取值为1,指示拒绝。
所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量,可以为大于等于0的正整数。结合图1中入流量调控的示例,所述Sub-TLV的数量字段取值为1。
所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段用于标识邻居对类型,可以是互联网协议第四版(全称Internet Protocol version 4,简称:IPv4)地址,或者IPv6地址,可能的取值如下:
Sub-Type=1:指示匹配IPv4邻居对,也就是,该邻居对里的每一个设备标识分别用IPv4地址来标识;
Sub-Type=2:指示匹配IPv6邻居对,也就是,该邻居对里的每一个设备标识分别用IPv6地址来标识;
所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度。所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,例如,所述邻居本端的设备标识字段的长度可以是4字节或者16字节,所述邻居对端的设备标识字段的长度可以是4字节或者16字节。结合图1中入流量调控的示例,所述邻居本端的设备标识字段携带所述第一BR的标识,所述邻居对端的设备标识字段携带所述第二BR的标识;
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型(Action Type)字段可能的取值包括但不限于如下:
Action Type=1:指示执行优选路由的操作,所述Action Type字段的长度可以是2字节;
Action Type=2:指示执行增加AS路径(AS-Path)长度的操作,所述Action Type字段的长度可以是2字节;
结合图1中入流量调控的示例,Action Type=2,指示执行对AS-Path增加AS数量的操作。
所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段携带所述AS数量。
方式二、所述路由控制消息包括至少一组邻居对和操作方式,所述至少一组邻居对不包括由所述第一BR的标识和所述第二BR的标识组成的邻居对;所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
以扩展的BGP UPDATE消息举例来说,可以扩展新的BGP策略属性来实现该功能。此处新增加的BGP策略属性的格式可以与图4a所示的格式保持一致,只是在不同的使用场景下字段的取值不同,有关格式描述的部分不再赘述。
如图4b,结合图1中入流量调控的示例,所述匹配类型字段取值为0,指示允许。所述子类型长度值Sub-TLV的数量字段取值为大于等于1的正整数,指示包括大于等于1个Sub-TLV,也意味着包括大于等于1个邻居对。
所述每个Sub-TLV中的Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对,所述邻居本端的设备标识字段携带所述第一AS里除所述第一BR的标识以外的其它BR的标识,所述邻居对端的设备标识字段携带所述第二AS里除所述第二BR的标识以外的其它BR的标识。
以图1入流量调控举例,Sub-TLV 1中包括的邻居对为(BR100-1,BR200-1);Sub-TLV2中包括的邻居对为(BR100-1,BR200-2);Sub-TLV 3中包括的邻居对为(BR100-2,BR200-1);Sub-TLV 4中包括的邻居对为(BR100-2,BR200-2)。
值得说明的是,图2所示实施例的控制报文可以采用多种格式,图4a和4b是格式的两个具体例子,格式中每个字段的取值和长度也仅仅是一种示意。
值得说明的是,图2所示实施例的表1至表4仅仅是个例子,具体的实现方式也可以将表1和表3合为一张表实现,将表2和表4合为一张表实现。这里所描述的应用不旨在限于披露的特定形式。相反,本公开涵盖落入所附权利要求的范围内的所有修改,等同和替代。
由上述实施例可知,本实施例中的方案,控制器收到第一BGP路由消息后,自动确定进行入流量控制、计算从源节点到目的节点的优先路径,并获取在所述优选路径上的第一BR和第二BR,向控制器所控制的AS1上的BR发送路由控制消息,指示所述BR向所述第二AS发布第二BGP路由消息时,将所述第一BR作为所述第二BR转发报文的下一跳。因此,相较于现有技术中人工逐个手工配置的方法,有助于自动灵活的调控进入AS的数据流量、简化了配置,节省了人力。
图5示出本发明实施例边界路由器侧路由控制方法的简化流程图;该方法,如应用于类似图1所示的网络场景,包括下面描述的操作。需要注意的是,图5所示的方法不仅可以应用于图1所示的网络结构,也可以应用于其他类型的网络系统,例如由未采用可替换组件的网络设备组成的网络系统。
501、所述第一AS中的指定的边界路由器BR接收来自控制器的路由控制消息,所述路由控制消息用于指示所述指定的BR向所述第二AS发布第二BGP路由消息时,将第一BR作为第二BR转发报文的下一跳,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS,所述控制器用于管辖第一自治系统AS;
502、所述指定的BR根据所述路由控制消息,处理向所述第二AS发布的所述第二BGP路由消息。
值得说明的是,图5所示的实施例与控制器侧的路由控制方法相对应,针对所述路由控制消息等相关内容的描述与图2所示的实施例保持一致,此处不再赘述。
可选地,所述路由控制消息有两种可能的控制方式:
方式一、所述路由控制消息包括由所述第一BR的标识和所述第二BR的标识组成的邻居对和操作方式,所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述第二BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR;
相应地,所述指定的BR根据所述路由控制消息,处理向所述第二AS发布的所述BGP路由消息包括:
当所述指定的BR向所述第二AS里的目标BR发布所述BGP路由消息时,所述指定的BR用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作。
可选地,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性请参考图4a和图2所示的实施例保持一致,此处不再赘述。
方式二、所述路由控制消息包括至少一组邻居对和操作方式,所述至少一组邻居对不包括由所述第一BR的标识和所述第二BR的标识组成的邻居对;所述操作方式指示所述指定的BR向所述第二AS里的目标BR发布所述第二BGP路由消息时,用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR;
相应地,所述指定的BR根据所述路由控制消息,处理向所述第二AS发布的所述BGP路由消息包括:
当所述指定的BR向所述第二AS里的目标BR发布所述BGP路由消息时,所述指定的BR用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作。
可选地,所述路由控制消息为扩展的BGP更新UPDATE消息,所述扩展的BGP UPDATE消息包括BGP策略属性,所述BGP策略属性所述BGP策略属性与图4b和图2所示的实施例保持一致,此处不再赘述。
值得说明的是,本实施例所述处理向所述第二AS发布的BGP路由消息中的“处理”可以包括:执行匹配相关的操作和执行向所述目标BR发送所述BGP路由消息的操作。
值得说明的是,所述当所述指定的BR向所述第二AS里的目标BR发布所述BGP路由消息时,可以理解为在所述指定的BR向所述第二AS里的目标BR发布所述BGP路由消息之前。
由上述实施例可知,本实施例中的方案,所述第一AS中的指定的边界路由器BR接收来自控制器的路由控制消息,根据所述路由控制消息处理向所述第二AS发布的所述第二BGP路由消息。因此,相较于现有技术中逐个手工配置的方法,有助于自动灵活的调控进入该第一AS的数据流量、简化了配置,节省了人力。
与图2所示方法相对应地,图6示出本发明实施例中的一种控制器600的结构示意图,控制器600包括:
通信单元602,用于接收第一边界网关协议BGP路由消息。
处理单元604,用于根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量调控。
如果确定进行入流量调控,则所述处理单元604还用于根据所述第一BGP路由消息确定目的节点,并从第二AS中分配源节点,所述目的节点属于所述第一AS,所述第二AS为与所述第一AS直接相连的至少一个AS。
所述处理单元604还利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括所述第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑;
所述处理单元604还用于根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;
所述通信单元602还用于向指定的BR发送路由控制消息,所述指定的BR属于所述第一AS,所述路由控制消息用于指示所述指定的BR向所述第二AS发布第二BGP路由消息时,将所述第一BR作为所述第二BR转发报文的下一跳。
可选地,所述处理单元604确定是否进行入流量调控的可能的方法如下:
方式一、所述处理单元604确定所述向所述控制器发送所述第一BGP路由消息的节点为所述第一AS的边界网络设备,则进行入流量调控;所述第一AS的边界网络设备为BR设备或者运营商边缘PE设备。
方式二、所述处理单元604用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项相应的操作为进行入流量调控。
方式三、所述处理单元604根据所述第一BGP路由消息获取第一目的前缀;
所述处理单元604用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项相应的操作为进行入流量调控。
进一步,可选地,所述处理单元604根据所述第一BGP路由消息确定目的节点的可能的方法如下:
方式一、所述处理单元604确定是否接收到至少两条所述第一BGP路由消息;
如果确定接收到至少两条所述第一BGP路由消息,所述处理单元604在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,所述域内拓扑还包括:向所述控制器发送所述第一BGP路由消息的节点与所述目的节点之间的链路。
方式二、所述处理单元604在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,所述域内拓扑还包括:所述第一AS的边界网络设备与所述目的节点之间的链路;
所述处理单元604利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述处理单元604根据向所述控制器发送所述第一BGP路由消息的节点与所述目的节点之间的链路,获得第一亲和属性约束条件;所述控制器利用所述网络拓扑和所述第一亲和属性约束条件,获得所述优选路径。
方式三、所述处理单元604也可以将向所述控制器发送所述第一BGP路由消息的节点确定为所述目的节点。
进一步,可选地,所述从第二AS中分配源节点的可能的方法如下:
方式一、所述处理单元604从所述第二AS中的边界路由器或虚拟节点中选取一个节点作为所述源节点。
方式二、所述处理单元604用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第三配置信息表,获得与所述第一匹配项相应的源节点为所述源节点;
方式三、所述处理单元604根据所述第一BGP路由消息获取第一目的前缀;
所述处理单元604用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第四配置信息表,获得与所述第二匹配项对应的源节点为所述源节点。
进一步,可选地,所述第一AS与所述第二AS的BR之间的域间拓扑有可能的两种情形:
情形一、当所述源节点为所述第二AS中与所述第一AS直接连接的BR时,所述第一AS与所述第二AS的BR之间的域间拓扑包括:所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
情形二、当所述源节点为所述第二AS中设置的虚拟节点时,所述第一AS与所述第二AS的BR之间的拓扑包括:所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述源节点与所述第二AS的BR之间的拓扑。
进一步,可选地,所述处理单元604获得所述域间拓扑的方式为:
所述处理器通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;所述处理器确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;如果确定所述链路信息配置表的匹配项中保存有获得的直连路由和链路标识,所述处理器根据所述链路标识,在所述第一AS和与所述第一AS直接连接的AS之间,建立所述域间拓扑。
值得说明的事,本实施例中有关路由控制消息等相关内容的描述与图2所示的方法实施例中的描述保持一致,此处不再赘述。
与图2所示方法相对应地,图7示出本发明实施例中的一种控制器700的结构示意图;
该控制器700可以是微处理计算机。比如:该控制器700可以是通用计算机、客户定制机、手机终端或平板机等便携设备中的一种。该控制器700包括:处理器704、存储器706、通信接口702和总线708。所述处理器704、所述存储器706和所述通信接口702通过所述总线708连接并完成相互间的通信。
所述总线708可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线或外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线中的一种或多种。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器706用于存储可执行程序代码,该程序代码包括计算机操作指令。当控制器700执行该程序代码时,所述控制器700可以完成图2实施例的步骤201~206,也可以实现图6实施例中控制器600的所有功能。所述存储器706可以包含高速RAM(Ramdom AccessMemory)存储器。可选地,所述存储器706还可以还包括非易失性存储器(non-volatilememory)。例如所述存储器706可以包括磁盘存储器。
所述处理器704可以是一个中央处理器(Central Processing Unit,简称为CPU),或者所述处理器704可以是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者所述处理器704可以是被配置成实施本发明实施例的一个或多个集成电路。
所述处理器704,用于执行图6所示控制器600中的处理单元604所执行的所有操作,此处不再赘述。
所述通信接口702,用于执行图6所示控制器600中的通信单元602所执行的所有操作,此处不再赘述。
与图5所示方法相对应地,图8示出本发明实施例提供的一种边界路由器800的结构示意图,用作指定的边界路由器BR,所述指定的边界路由器800包括:
通信单元802,用于接收来自控制器的路由控制消息,所述路由控制消息用于指示所述指定的BR向第二AS发布BGP路由消息时,将第一BR作为第二BR转发报文的下一跳,所述第一BR属于第一AS,所述第二BR属于所述第二AS,所述控制器用于管辖所述第一AS;
处理单元804,用于根据所述路由控制消息,处理向所述第二AS发布的BGP路由消息。
可选地,所述路由控制消息的具体形式可以有多种,所述路由控制消息可能的控制方式有多种,此处与图5所示实施例保持一致,详细请参见图5相关部分,此处不再赘述。下面对应图5所示实施例分别阐述在两种可能的路由控制消息的控制方式下,所述处理单元804执行的具体操作。
当采用图5所示实施例的方式一的控制方式时,所述处理单元804根据所述路由控制消息,处理向所述第二AS发布的BGP路由消息具体包括:
当所述通信单元802向所述第二AS里的目标BR发布所述BGP路由消息时,所述处理单元804用所述指定的BR的标识和所述目标BR的标识与所述邻居对进行匹配,如果匹配上,则不执行将所述BGP路由消息中携带的AS-Path属性值增加AS数量的操作;如果没有匹配上,则执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
进一步,可选地,所述通信单元802还用于向所述目标BR发送所述BGP路由消息。
当采用图5所示实施例的方式二的控制方式时,所述处理单元804根据所述路由控制消息,处理向所述第二AS发布的BGP路由消息具体包括:当所述通信单元802向所述第二AS里的目标BR发布所述BGP路由消息时,所述处理单元804用所述指定的BR的标识和所述目标BR的标识分别与所述至少一组邻居对进行匹配,如果匹配上,则执行将AS-Path属性值增加AS数量的操作;如果没有匹配上,则不执行将所述AS-Path属性值增加AS数量的操作;所述目标BR为所述第二AS中的BR。
进一步,可选地,所述通信单元802还用于向所述目标BR发送所述BGP路由消息。
与图5所示方法相对应地,图9示出本发明实施例中的一种边界路由器900的结构示意图;
该边界路由器900可以是微处理计算机。比如:该边界路由器900可以是通用计算机、客户定制机、手机终端或平板机等便携设备中的一种。该边界路由器900包括:处理器904、存储器906、通信接口902和总线908。所述处理器904、所述存储器906和所述通信接口902通过所述总线908连接并完成相互间的通信。
所述总线908可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线或外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线中的一种或多种。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器906用于存储可执行程序代码,该程序代码包括计算机操作指令。当边界路由器900执行该程序代码时,所述边界路由器900可以完成图5实施例的步骤501~502,也可以实现图8实施例中边界路由器800的所有功能。所述存储器906可以包含高速RAM(Ramdom Access Memory)存储器。可选地,所述存储器906还可以还包括非易失性存储器(non-volatile memory)。例如所述存储器906可以包括磁盘存储器。
所述处理器904可以是一个中央处理器(Central Processing Unit,简称为CPU),或者所述处理器904可以是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者所述处理器904可以是被配置成实施本发明实施例的一个或多个集成电路。
所述处理器904,用于执行图8所示控制器800中的处理单元804所执行的所有操作,此处不再赘述。
所述通信接口902,用于执行图8所示控制器800中的通信单元802所执行的所有操作,此处不再赘述。
图18示出了本发明实施例提供的一种网络系统1800,所述网络系统1800包括上述图6所示实施例提供的控制器600和图8所示实施例提供的边界路由器800;
或者,所述网络系统1800包括上述图7所示实施例提供的控制器700和图9所示实施例提供的边界路由器900;
二、出流量路由控制方法、装置和系统
本发明实施例的出流量路由控制方法包括控制器侧和边界路由器侧的处理,下面分别描述。
图10为本发明实施例控制器侧路由控制方法的简化流程图。该方法,如应用于类似于图1所示的网络场景,包括下面描述的操作。需要注意的是,图10所示的方法不仅可以应用于图1所示的网络结构,也可以应用于其他类型的网络系统,例如由未采用可替换组件的网络设备组成的网络系统。
1001、控制器接收边界网关协议BGP路由消息,所述控制器用于管辖第一自治系统AS;
1002、所述控制器根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控;
可选地,所述控制器确定出流量有下述几种可能的方式:
方式一、所述控制器确定向所述控制器发送所述BGP路由消息的节点为所述第一AS的BR,则进行出流量调控。
结合图1中的示例,向所述控制器发送所述第一BGP路由消息的节点可以为边界路由器BR100-1、边界路由器BR100-2、边界路由器BR100-3,这些设备都是AS1的边界路由器,当收到来自AS1的这些边界路由器发来的所述第一BGP路由消息时,所述控制器130确定进行出流量调控。这是一种根据节点的角色进行随机调控的方式。
方式二、所述控制器用向所述控制器发送所述BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项相应的操作为进行出流量调控。
结合图1中的示例,比如向所述控制器发送所述第一BGP路由消息的节点是边界路由器BR100-1,则控制器130用边界路由器BR100-1的标识做匹配项查找所述表5所示配置信息表,获得操作方式为出流量调控。这是一种针对节点的粗粒度的流量调控。
表5配置信息表
匹配项 | 操作方式 |
边界路由器BR100-1的标识 | 出流量调控 |
边界路由器BR100-2的标识 | 出流量调控 |
边界路由器BR100-3的标识 | 出流量调控 |
方式三、所述控制器根据所述BGP路由消息获取第一目的前缀;
所述控制器用所述向所述控制器发送所述BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项相应的操作为进行出流量调控。
结合图1举例,比如向控制器130发送所述第一BGP路由消息的节点是边界路由器BR100-1,控制器130从所述第一BGP路由消息中获取目的前缀为Prefix 2(例如,是IP地址前缀20.1.0.0/16或者IP地址20.1.1.1/32,Prefix 2是网络中一个路由目的前缀,在本发明实施例中还用于标识虚拟节点210-1),则控制器130用边界路由器BR100-1的标识(例如可以是IP地址)和Prefix 2做匹配项查找表6所示配置信息表,获得操作方式为出流量调控。这是一种针对节点和前缀的细粒度的流量调控方式。
表6配置信息表
1003、如果确定进行出流量调控,则所述控制器根据所述BGP路由消息确定目的节点,并从所述第一AS中分配源节点,所述目的节点属于第二AS,所述第二AS为与所述第一AS直接相连的至少一个AS。
可选地,所述从所述第一AS中分配源节点的方法可以如下:
方式一、所述控制器将向所述控制器发送所述BGP路由消息的节点确定为所述源节点。或者,
所述控制器将所述第一AS的一个边界网络设备确定为所述源节点,所述边界网络设备为BR设备或者运营商边缘PE设备。
结合图1举例,比如向控制器130发送所述第一BGP路由消息的节点是边界路由器BR100-1,则将BR100-1确定为所述源节点。或者,
结合图1中的示例,所述第一AS的边界网络设备包括边界路由器BR100-1、边界路由器BR100-2、边界路由器BR100-3、PE设备110-1和PE设备110-2,所述源节点从这些边界网络设备中选取。
值得说明的是,所述源节点也可以从所述第一AS域内的P设备中选取,此处不做限定。
方式二、所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项对应的源节点为所述源节点。
结合图1中的示例,比如向所述控制器发送所述第一BGP路由消息的节点是边界路由器BR100-1,则控制器130用边界路由器BR100-1的标识做匹配项查找所述表7所示配置信息表,获得源节点为边界路由器BR100-1。
表7配置信息表
匹配项 | 源节点 |
边界路由器BR100-1的标识 | 边界路由器BR100-1的标识 |
边界路由器BR100-2的标识 | 边界路由器BR100-1的标识 |
边界路由器BR100-3的标识 | 边界路由器BR100-2的标识 |
方式三、所述控制器根据所述第一BGP路由消息获取第一目的前缀;
所述控制器用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项对应的源节点为所述源节点。
结合图1举例,比如向控制器130发送所述第一BGP路由消息的节点是边界路由器BR100-1,控制器130从所述第一BGP路由消息中获取目的前缀为Prefix 2(例如,是IP地址前缀20.1.0.0/16或者IP地址20.1.1.1/32,Prefix 2是网络中一个路由目的前缀,在本发明实施例中还用于标识虚拟节点210-1),则控制器130用边界路由器BR100-1的标识(例如可以是IP地址)和Prefix 2做匹配项查找表8所示配置信息表,获得源节点为边界路由器BR100-1。
表8配置信息表
1004、所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑。
可选地,所述第一AS的域内拓扑可以包括多种情形,与图2所示实施例中的相关描述保持一致,此处不再赘述。
可选地,所述确定目的节点和确定所述第一AS与所述第二AS的BR之间的域间拓扑的方法可以如下:
方式一、如果所述目的节点确定为所述第二AS中的BR,则所述第一AS与所述第二AS的BR之间的域间拓扑,包括:所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
结合图1中的示例,所述域间拓扑包括BR200-1、BR200-2、BR100-1和BR100-2,以及这些节点之间相互连接的链路。
方式二、如果所述目的节点为在所述第二AS中设置的虚拟节点,则所述第一AS与所述第二AS的BR之间的域间拓扑,包括:所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述目的节点与所述第二AS的BR之间的拓扑。
结合图1中的示例,所述域间拓扑包括BR200-1、BR200-2、BR100-1、BR100-2,和这些节点之间相互连接的链路。所述域间拓扑还包括虚拟节点210-1,以及虚拟节点210-1与BR200-1之间的虚拟链路、虚拟节点210-1与BR200-2之间的虚拟链路。
可选地,所述控制器获得所述域间拓扑的方式可以如下:
方式一、所述控制器建立所述BGP路由消息包括的下一跳字段标识的BR与向所述控制器发送该BGP路由消息的节点之间的链路,获得所述域间拓扑,所述下一跳字段标识的BR属于所述第二AS;或者,
所述控制器建立所述BGP路由消息包括的团体属性字段标识的BR与向所述控制器发送该BGP路由消息的节点之间的链路,获得所述域间拓扑,所述团体属性字段标识的BR属于所述第二AS。
方式二、所述控制器通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;所述控制器确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;如果确定所述链路信息配置表的匹配项中保存有获得的直接路由和链路标识,所述控制器根据所述链路标识,在所述第一AS和所述第二AS之间,建立所述域间拓扑。
相应地,所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述控制器根据向所述控制器发送所述BGP路由消息的节点和与所述第二AS的BR之间的链路,获得亲和属性约束条件;所述控制器利用所述网络拓扑和所述亲和属性约束条件,获得所述优选路径。
结合图1中的示例,所述优选路径为从BR100-1,经过BR200-1到虚拟节点210-1的一条出方向数据流量的一条路径。
值得说明的是,如图11a所示,所述源节点也可能是AS1上的BR100-3,则所述优选路径为从BR100-3,经过BR100-1、BR200-1到虚拟节点210-1的一条出方向数据流量路径。
如图11b所示,所述源节点也可能是AS1上的PE设备110-1,则所述优选路径为从PE设备110-1,经过BR100-1、BR200-1到虚拟节点210-1的一条出方向数据流量路径。
需要注意的是在AS1域内也可以有P设备,在可能的场景下,所述优选路径上也可以包括AS1域内的P设备。
1005、所述控制器根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS。
结合图1中的示例,所述第一BR为BR100-1,所述第二BR为BR200-1。
1006、所述控制器向所述第一BR发送路由控制消息,所述路由控制消息用于指示所述第一BR将所述第二BR作为转发报文的下一跳。
可选地,所述路由控制消息包括目的前缀、所述第二BR的标识和操作方式,所述操作方式指示所述第一BR将所述第二BR作为去往所述目的前缀的路由的下一跳,所述目的前缀从所述BGP路由消息中获取。
其中,所述路由控制消息的具体形式可以有多种,可以是扩展的BGP更新UPDATE消息,具体地,也可以是BGP FLOWSPEC消息,或者,也可以是软件定义网络SDN的扩展的开放流OpenFlow协议。
下面以扩展的BGP UPDATE消息举例来描述,可以增加新的BGP策略属性来实现该功能。如图12所示该新增加的BGP策略属性,包括匹配字段和动作字段。
所述匹配字段包括匹配类型字段、子类型长度值Sub-TLV的数量字段和Sub-TLV字段,其中,所述匹配类型字段可能的取值为0(指示允许)或者1(指示拒绝)。结合图1中出流量调控的示例,所述匹配类型字段取值为0,指示允许。
所述子类型长度值Sub-TLV的数量字段指示所述匹配字段携带Sub-TLV的数量,可以为大于等于0的正整数。结合图1中出流量调控的示例,所述Sub-TLV的数量字段取值为1。
所述Sub-TLV字段包括子类型Sub-Type字段、子长度Sub-Length字段和子值Sub-Value字段,所述子类型Sub-Type字段可能的取值如下:
Sub-Type=1:指示匹配IPv4邻居对,也就是,该邻居对里的每一个设备标识分别用IPv4地址来标识;
Sub-Type=2:指示匹配IPv6邻居对,也就是,该邻居对里的每一个设备标识分别用IPv6地址来标识;
所述Sub-Length字段指示所述Sub-TLV的长度或者Sub-Value字段的长度。所述Sub-Value字段包括由邻居本端的设备标识字段和邻居对端的设备标识字段组成的所述邻居对。结合图1中出流量调控的示例,所述邻居本端的设备标识字段携带所述第一BR的标识(为BR100-1),所述邻居对端的设备标识字段携带所述第二BR的标识(为BR200-2);
所述动作字段包括动作类型字段、动作长度字段和动作值字段,其中,所述动作类型(Action Type)字段可能的取值包括但不限于如下:
Action Type=1:指示执行优选路由的操作;
Action Type=2:指示执行增加AS路径(AS-Path)长度的操作;
结合图1中出流量调控的示例,Action Type=1,指示执行优选路由的操作。
所述动作长度字段指示所述动作字段的长度或者所述动作值字段的长度,所述动作值字段此时没有意义,具体可以为空或者携带无效值,或者没有该字段。
所述BGP策略属性指示所述第一BR用所述第一BR的标识与所述邻居对字段中的所述邻居本端的设备标识字段进行匹配,如果匹配上,则执行将所述第二BR作为去往所述目的前缀的路由的下一跳操作。
值得说明的是,所述路由控制消息可以采用多种格式,图12所示的格式仅仅是一个具体例子。然而,这里所描述的应用和消息格式不旨在限于披露的特定形式。相反,本公开涵盖落入所附权利要求的范围内的所有修改,等同和替代。
由上述实施例可知,本实施例中的方案,控制器收到第一BGP路由消息后,自动确定进行出流量控制、计算从源节点到目的节点的优先路径,并获取在所述优选路径上的第一BR和第二BR,向控制器所控制的第一AS上的所述第一BR发送路由控制消息,指示所述第一BR将所述第二BR作为转发报文的下一跳。因此,相较于现有技术中人工逐个手工配置的方法,有助于自动灵活的调控离开该第一AS的数据流量、简化了配置,节省了人力。
图13示出本发明实施例边界路由器侧路由控制方法的简化流程图;该方法,如应用于类似图1所示的网络场景,包括下面描述的操作。需要注意的是,图13所示的方法不仅可以应用于图1所示的网络结构,也可以应用于其他类型的网络系统,例如由未采用可替换组件的网络设备组成的网络系统。
1301、第一AS中的第一边界路由器BR接收来自控制器的路由控制消息,所述路由控制消息用于指示所述第一BR将第二BR作为转发报文的下一跳,所述第二BR属于第二AS;
1302、所述第一BR根据所述路由控制消息,将所述第二BR确定为转发报文的下一跳。
值得说明的是,图13所示的实施例与控制器侧的路由控制方法相对应,针对所述路由控制消息的描述与图10所示的实施例保持一致,此处不再赘述。
由上述实施例可知,本实施例中的方案,第一AS中的第一BR接收来自控制器的路由控制消息,并根据所述路由控制消息将所述第二BR确定为所述第一BR转发报文的下一跳。因此,相较于现有技术中逐个手工配置BR的方法,有助于自动灵活的调控离开该第一AS的数据流量、简化了配置,节省了人力。
与图10所示方法相对应地,图14示出本发明实施例提供的一种控制器1400的结构示意图,所述控制器1400用于管辖第一自治系统AS,所述控制器1400包括:
通信单元1402,用于接收边界网关协议BGP路由消息;
处理单元1404,用于根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控;
如果确定进行出流量调控,所述处理单元1404还用于根据所述BGP路由消息确定目的节点,并从所述第一AS中分配源节点,所述目的节点属于第二AS,所述第二AS为与所述第一AS直接相连的至少一个AS;
所述处理单元1404还用于利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,所述网络拓扑包括第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑;
所述处理单元1404还用于根据所述优选路径,确定在所述优选路径上的第一BR和第二BR,所述第一BR属于所述第一AS,所述第二BR属于所述第二AS;
所述处理单元1404还用于向所述第一BR发送路由控制消息,所述路由控制消息用于指示所述第一BR将所述第二BR作为转发报文的下一跳。
可选地,所述根据向所述控制器发送所述BGP路由消息的节点,确定是否进行出流量调控,可以有如下方式:
方式一、所述处理单元1404还用于确定向所述控制器发送所述BGP路由消息的节点为所述第一AS的BR,则进行出流量调控。
方式二、所述处理单元1404还用于用向所述控制器发送所述BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项相应的操作为进行出流量调控。
方式三、所述处理单元1404还用于根据所述BGP路由消息获取第一目的前缀;
所述处理单元1404还用于用向所述控制器发送所述BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项相应的操作为进行出流量调控。
进一步,可选地,所述从所述第一AS中分配源节点的方法可以如下:
所述处理单元1404还用于用所述向所述控制器发送所述第一BGP路由消息的节点为第一匹配项查找第一配置信息表,获得与所述第一匹配项对应的源节点为所述源节点;或者,
所述处理单元1404根据所述第一BGP路由消息获取第一目的前缀;
所述处理单元1404用所述向所述控制器发送所述第一BGP路由消息的节点和所述第一目的前缀作为第二匹配项查找第二配置信息表,获得与所述第二匹配项对应的源节点为所述源节点。
进一步,可选地,确定所述目的节点和所述第一AS与所述第二AS的BR之间的域间拓扑的方法可以如下:
如果所述目的节点为所述第二AS中的BR,则所述第一AS与所述第二AS的BR之间的域间拓扑,包括所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
如果所述目的节点为在所述第二AS中设置的虚拟节点,则所述第一AS与所述第二AS的BR之间的域间拓扑,包括所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述目的节点与所述第二AS的BR之间的拓扑。
进一步,可选地,所述控制器获得所述域间拓扑的方式为:
方式一、所述处理单元1404还用于建立所述BGP路由消息包括的下一跳字段标识的BR与向所述控制器发送该BGP路由消息的节点之间的链路,获得所述域间拓扑,所述下一跳字段标识的BR属于所述第二AS;或者,
所述处理单元1404还用于建立所述BGP路由消息包括的团体属性字段标识的BR与向所述控制器发送该BGP路由消息的节点之间的链路,获得所述域间拓扑,所述团体属性字段标识的BR属于所述第二AS。
方式二、所述处理单元1404还用于通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;
所述处理单元1404还用于确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;
如果确定所述链路信息配置表的匹配项中保存有获得的直接路由和链路标识,所述处理单元1404还用于根据所述链路标识,在所述第一AS和所述第二AS之间,建立所述域间拓扑;
相应地,所述处理单元1404还用于利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述处理单元根据向所述控制器发送所述BGP路由消息的节点和与所述第二AS的BR之间的链路,获得亲和属性约束条件;所述处理单元利用所述网络拓扑和所述亲和属性约束条件,获得所述优选路径。
进一步,可选地,所述路由控制消息包括目的前缀、所述第二BR的标识和操作方式,所述操作方式指示所述第一BR将所述第二BR作为去往所述目的前缀的路由的下一跳,所述目的前缀从所述BGP路由消息中获取。
值得说明的事,本实施例中有关路由控制消息的描述与图10所示方法实施例保持一致,此处不再赘述。
与图10所示方法相对应地,图15示出本发明实施例提供的一种控制器1500的结构示意图;
该控制器1500可以是微处理计算机。比如:该控制器1500可以是通用计算机、客户定制机、手机终端或平板机等便携设备中的一种。该控制器1500包括:处理器1504、存储器1506、通信接口1502和总线1508。所述处理器1504、所述存储器1506和所述通信接口1502通过所述总线1508连接并完成相互间的通信。
所述总线1508可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线或外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线中的一种或多种。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器1506用于存储可执行程序代码,该程序代码包括计算机操作指令。当控制器1500执行该程序代码时,所述控制器1500可以完成图10实施例的步骤1001~1006,也可以实现图14实施例中控制器1400的所有功能。所述存储器1506可以包含高速RAM(Ramdom Access Memory)存储器。可选地,所述存储器1506还可以还包括非易失性存储器(non-volatile memory)。例如所述存储器1506可以包括磁盘存储器。
所述处理器1504可以是一个中央处理器(Central Processing Unit,简称为CPU),或者所述处理器1504可以是特定集成电路(Application Specific IntegratedCircuit,简称为ASIC),或者所述处理器1504可以是被配置成实施本发明实施例的一个或多个集成电路。
所述处理器1504,用于执行图14所示控制器1400中的处理单元1404所执行的所有操作,此处不再赘述。
所述通信接口1402,用于执行图14所示控制器1400中的通信单元1402所执行的所有操作,此处不再赘述。
与图13所示方法相对应地,图16示出本发明实施例提供的一种网络设备1600的结构示意图,用作第一边界路由器BR,所述第一边界路由器1600包括:
通信单元1602,用于接收来自控制器的路由控制消息,所述路由控制消息用于指示所述第一BR将第二BR作为转发报文的下一跳,所述第二BR属于第二AS;
处理单元1604,用于根据所述路由控制消息,将所述第二BR确定为转发报文的下一跳。
可选地,所述路由控制消息包括目的前缀、所述第二BR的标识和操作方式,所述操作方式指示所述第一BR将所述第二BR作为去往所述目的前缀的路由的下一跳,所述目的前缀从所述BGP路由消息中获取;
相应地,所述处理单元1604将所述目的前缀的路由的下一跳设置为所述第二BR。
值得说明的是,所述路由控制消息的具体形式可以有多种,有关路由控制消息的描述与图13和图10所示实施例保持一致,详细请参见图13和图10相关部分,此处不再赘述。
与图13所示方法相对应地,图17示出本发明实施例提供的一种边界路由器1700的结构示意图;
该边界路由器1700可以是微处理计算机。比如:该边界路由器1700可以是通用计算机、客户定制机、手机终端或平板机等便携设备中的一种。该边界路由器1700包括:处理器1704、存储器1706、通信接口1702和总线1708。所述处理器1704、所述存储器1706和所述通信接口1702通过所述总线1708连接并完成相互间的通信。
所述总线1708可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线或外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线中的一种或多种。为便于表示,图17中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器1706用于存储可执行程序代码,该程序代码包括计算机操作指令。当边界路由器1700执行该程序代码时,所述边界路由器1700可以完成图13实施例的步骤1301~1302,也可以实现图16实施例中边界路由器1600的所有功能。所述存储器1706可以包含高速RAM(Ramdom Access Memory)存储器。可选地,所述存储器1706还可以还包括非易失性存储器(non-volatile memory)。例如所述存储器1706可以包括磁盘存储器。
所述处理器1704可以是一个中央处理器(Central Processing Unit,简称为CPU),或者所述处理器1704可以是特定集成电路(Application Specific IntegratedCircuit,简称为ASIC),或者所述处理器1704可以是被配置成实施本发明实施例的一个或多个集成电路。
所述处理器1704,用于执行图16所示控制器1600中的处理单元1604所执行的所有操作,此处不再赘述。
图19示出了本发明实施例提供的一种网络系统1900,所述网络系统1900包括上述图14所示实施例提供的控制器1400和图16所示实施例提供的边界路由器1600;
或者,所述网络系统1800包括上述图15所示实施例提供的控制器1500和图17所示实施例提供的边界路由器1700;
最后应说明的是:以上各实施例仅用以示例性说明本发明的技术方案,而非对其限制。公开在说明书,以及在适当情况下权利要求和附图中的每个特征,都可以独立地或以任何适当的组合来提供。描述为以硬件实现的特征也可以以软件实现,反之亦然。尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (37)
1.一种路由控制方法,其特征在于,所述方法包括:
控制器向指定的边界路由器BR发送路由控制消息,所述路由控制消息包括指定的BR的标识、第二BR的标识和操作方式,所述指定的BR属于第一自治系统AS,所述第二BR属于第二AS,所述控制器用于管辖所述第一AS,所述路由控制消息用于指示所述指定的BR向第二AS发布第一BGP路由消息时,根据所述第二BR的标识和所述操作方式处理所述第一BGP路由消息。
2.根据权利要求1所述的方法,其特征在于,所述操作方式用于指示所述指定的BR向所述第二AS的目标BR发布所述第一BGP路由消息时,用所述目标BR的标识与所述第二BR的标识进行匹配,若所述目标BR的标识与所述第二BR的标识匹配,则按照所述路由控制消息处理向所述目标BR发布的所述第一BGP路由消息。
3.根据权利要求1或2所述的方法,其特征在于,所述第一BR和所述第二BR位于所述第一AS与所述第二AS之间的优选路径上。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述控制器发送所述路由控制消息之前,所述方法还包括:
所述控制器利用网络拓扑,获得源节点与目的节点之间的所述优选路径,所述网络拓扑包括所述第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述路由控制消息还包括动作字段,所述动作字段用于指示所述所述指定的BR根据所述动作字段的指示执行对应的操作。
6.根据权利要求5所述的方法,其特征在于,所述动作字段用于指示所述指定的BR执行对自治系统路径AS-Path增加AS数量的操作。
7.根据权利要求6所述的方法,其特征在于,所述路由控制消息还包括所述AS数量的指示。
8.根据权利要求1-7任一项所述的方法,其特征在于,在所述控制器向指定的BR发送路由控制消息之前,所述方法还包括:
所述控制器接收第二边界网关协议BGP路由消息,所述控制器根据发送所述第二BGP路由消息的节点,确定是否进入流量调控。
9.根据权利要求8所述的方法,其特征在于,所述根据向所述控制器发送所述第一BGP路由消息的节点,确定是否进行入流量调控,包括:
所述控制器确定发送所述第二BGP路由消息的节点为所述第一AS的边界网络设备,则进行入流量调控;所述第一AS的边界网络设备为BR设备或者运营商边缘PE设备。
10.根据权利要求4所述的方法,其特征在于,所述源节点为所述第二AS中与所述第一AS直接连接的BR,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑。
11.根据权利要求4所述的方法,其特征在于,所述源节点为所述第二AS中设置的虚拟节点,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述源节点与所述第二AS的BR之间的拓扑。
12.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述控制器确定是否接收到至少两条所述第二BGP路由消息;
如果确定接收到至少两条所述第二BGP路由消息,所述控制器在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,所述域内拓扑还包括:向发送所述第二BGP路由消息的节点与所述目的节点之间的链路。
13.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述控制器在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,
所述域内拓扑还包括:所述第一AS的边界网络设备与所述目的节点之间的链路;
所述控制器利用网络拓扑,获得所述源节点与所述目的节点之间的优选路径,包括:所述控制器根据向所述控制器发送所述第二BGP路由消息的节点与所述目的节点之间的链路,获得第一亲和属性约束条件;所述控制器利用所述网络拓扑和所述第一亲和属性约束条件,获得所述优选路径。
14.根据权利要求4或10-13任一项所述的方法,其特征在于,所述控制器获得所述域间拓扑的方式为:
所述控制器通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;
所述控制器确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;
如果确定所述链路信息配置表的匹配项中保存有获得的直连路由和链路标识,所述控制器根据所述链路标识,在所述第一AS和与所述第一AS直接连接的AS之间,建立所述域间拓扑。
15.根据权利要求1-14任一项所述的方法,其特征在于,所述路由控制消息为扩展的BGP更新UPDATE消息。
16.一种路由控制方法,其特征在于,所述方法包括:
第一自治系统AS中的边界路由器BR接收来自控制器的路由控制消息,所述路由控制消息包括所述BR的标识、第二BR的标识和操作方式,所述第二BR属于第二AS,所述路由控制消息用于指示所述BR根据所述第二BR的标识和所述操作方式处理向所述第二AS发布的第一BGP路由消息;
所述BR根据所述第二BR的标识和所述操作方式处理向所述第二AS发布的所述第一BGP路由消息。
17.根据权利要求16所述的方法,其特征在于,所述BR根据所述第二BR的标识和所述操作方式处理向所述第二AS发布的所述第一BGP路由消息,包括:
响应于所述BR确定所述第二AS的目标BR与所述第二BR的标识匹配,所述BR根据所述路由控制消息处理向所述目标BR发布的所述第一BGP路由消息。
18.根据权利要求17所述的方法,其特征在于,所述路由控制消息包括动作字段,所述根据所述路由控制消息处理向所述目标BR发布的所述第一BGP路由消息,包括:
所述BR根据所述动作字段执行对自治系统AS-Path增加AS数量的操作。
19.根据权利要求18所述的方法,其特征在于,所述路由控制消息还包括所述AS数量的指示。
20.一种控制器,其特征在于,所述控制器用于管辖第一自治系统AS,所述控制器包括:
通信单元,用于向边界路由器BR发送路由控制消息,所述路由控制消息包括所述BR的标识、第二BR的标识和操作方式,所述BR属于第一自治系统AS,所述路由控制消息用于指示所述BR向第二AS发布第一BGP路由消息时,根据所述第二BR的标识和所述操作方式处理所述第一BGP路由消息。
21.根据权利要求20所述的控制器,其特征在于,所述操作方式用于指示所述BR向所述第二AS的目标BR发布所述第一BGP路由消息时,用所述目标BR的标识与所述第二BR的标识进行匹配,若所述目标BR的标识与所述第二BR的标识匹配,则按照所述路由控制消息处理向所述目标BR发布的所述第一BGP路由消息。
22.根据权利要求20或21所述的控制器,其特征在于,所述第一BR和所述第二BR位于所述第一AS与所述第二AS之间的优选路径上。
23.根据权利要求20-22任一项所述的控制器,其特征在于,所述控制器还包括处理单元,所述处理单元用于:
利用网络拓扑,获得源节点与目的节点之间的所述优选路径,所述网络拓扑包括所述第一AS的域内拓扑和所述第一AS与所述第二AS的BR之间的域间拓扑。
24.根据权利要求20-23任一项所述的控制器,其特征在于,所述路由控制消息还包括动作字段,所述动作字段用于指示所述所述BR根据所述动作字段的指示执行对应的操作。
25.根据权利要求24所述的控制器,其特征在于,所述动作字段用于指示所述BR执行对自治系统路径AS-Path增加AS数量的操作。
26.根据权利要求25所述的控制器,其特征在于,所述路由控制消息还包括所述AS数量的指示。
27.根据权利要求20-26任一项所述的控制器,其特征在于,在所述控制器向BR发送路由控制消息之前,
所述通信单元还用于接收第二边界网关协议BGP路由消息;
所述处理单元还用于根据发送所述第二BGP路由消息的节点,确定是否进入流量调控。
28.根据权利要求27所述的控制器,其特征在于,所述处理单元具体用于:
确定发送所述第二BGP路由消息的节点为所述第一AS的边界网络设备,则进行入流量调控;所述第一AS的边界网络设备为BR设备或者运营商边缘PE设备。
29.根据权利要求23所述的控制器,其特征在于,所述处理单元获得所述域间拓扑的方式为:
所述处理单元,用于通过内部网关协议IGP路由消息,获得所述第一AS的BR的直连路由;
所述处理单元,用于确定链路信息配置表的匹配项中是否保存有获得的直连路由和链路标识;
如果确定所述链路信息配置表的匹配项中保存有获得的直连路由和链路标识,所述处理单元根据所述链路标识,在所述第一AS和与所述第一AS直接连接的AS之间,建立所述域间拓扑。
30.根据权利要求23所述的控制器,其特征在于,所述源节点为所述第二AS中设置的虚拟节点,所述第一AS与所述第二AS的BR之间的域间拓扑,包括:
所述第一AS的BR与所述第二AS的BR之间的域间拓扑和所述源节点与所述第二AS的BR之间的拓扑。
31.根据权利要求23所述的控制器,其特征在于,所述处理单元用于:
确定是否接收到至少两条所述第二BGP路由消息;
如果确定接收到至少两条所述第二BGP路由消息,所述处理单元在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,所述域内拓扑还包括:向发送所述第二BGP路由消息的节点与所述目的节点之间的链路。
32.根据权利要求23所述的控制器,其特征在于,所述处理单元用于:
在所述第一AS中设置虚拟节点,将所述虚拟节点确定为所述目的节点;
相应地,
所述域内拓扑还包括:所述第一AS的边界网络设备与所述目的节点之间的链路;
根据发送所述第二BGP路由消息的节点与所述目的节点之间的链路,获得第一亲和属性约束条件;所述控制器利用所述网络拓扑和所述第一亲和属性约束条件,获得所述优选路径。
33.一种边界路由器,所述BR属于第一自治系统AS,其特征在于,所述BR包括:
通信单元,用于接收来自控制器的路由控制消息,所述路由控制消息包括所述BR的标识、第二BR的标识和操作方式,所述第二BR属于第二AS,所述所述路由控制消息用于指示所述BR向所述第二AS发布BGP路由消息时,根据所述路由控制消息处理所述BGP路由消息;
处理单元,用于根据所述第二BR的标识和所述操作方式,处理向所述第二AS发布的所述BGP路由消息。
34.根据权利要求33所述的BR,其特征在于,所述处理单元用于:
响应于确定所述第二AS的目标BR与所述第二BR的标识匹配,根据所述路由控制消息处理向所述目标BR发布的所述第一BGP路由消息。
35.根据权利要求33或34所述的BR,其特征在于,所述路由控制消息还包括动作字段,所述处理单元,还用于根据所述动作字段执行对自治系统AS-Path增加AS数量的操作。
36.根据权利要求35所述的BR,其特征在于,所述路由控制消息还包括所述AS数量的指示。
37.一种网络系统,其特征在于,所述网络系统包括控制器和边界路由器BR,所述控制器为权利要求20至32任一项所述的控制器,所述BR为权利要求33至36任一项所述的BR。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004303.2A CN112291145B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011004303.2A CN112291145B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
CN201580063205.7A CN107005474B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
PCT/CN2015/083410 WO2017004778A1 (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580063205.7A Division CN107005474B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112291145A true CN112291145A (zh) | 2021-01-29 |
CN112291145B CN112291145B (zh) | 2024-05-14 |
Family
ID=57684659
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011002236.0A Active CN112291144B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
CN201580063205.7A Active CN107005474B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
CN202011004303.2A Active CN112291145B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011002236.0A Active CN112291144B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
CN201580063205.7A Active CN107005474B (zh) | 2015-07-06 | 2015-07-06 | 路由控制的方法、设备和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10764173B2 (zh) |
EP (3) | EP3306874B1 (zh) |
CN (3) | CN112291144B (zh) |
WO (1) | WO2017004778A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3306874B1 (en) * | 2015-07-06 | 2019-11-13 | Huawei Technologies Co., Ltd. | Controller device and border routers |
US10397061B1 (en) * | 2016-12-21 | 2019-08-27 | Juniper Networks, Inc. | Link bandwidth adjustment for border gateway protocol |
CN108881041A (zh) * | 2017-05-15 | 2018-11-23 | 中国移动通信有限公司研究院 | 一种控制流量的方法及系统 |
CN109309624B (zh) * | 2017-07-28 | 2022-05-03 | 中国电信股份有限公司 | 流量调度方法和系统、软件定义网络控制器 |
US11212210B2 (en) * | 2017-09-21 | 2021-12-28 | Silver Peak Systems, Inc. | Selective route exporting using source type |
US11032183B2 (en) * | 2017-10-06 | 2021-06-08 | Nicira, Inc. | Routing information validation in SDN environments |
US10411990B2 (en) * | 2017-12-18 | 2019-09-10 | At&T Intellectual Property I, L.P. | Routing stability in hybrid software-defined networking networks |
CN110971522B (zh) * | 2018-09-30 | 2021-09-17 | 华为技术有限公司 | 一种确定路由泄露的方法、设备和系统 |
CN113273148B (zh) * | 2018-10-19 | 2022-08-19 | 华为技术有限公司 | 用于路由策略分发的边界网关协议(bgp) |
CN111147380B (zh) * | 2018-11-02 | 2021-11-30 | 华为技术有限公司 | 一种路由处理的方法和网络设备 |
CN113273147B (zh) * | 2018-11-02 | 2022-08-26 | 华为技术有限公司 | 用于实现控制器边界网关协议(cBGP)的系统及方法 |
US10917330B1 (en) * | 2019-01-28 | 2021-02-09 | Juniper Networks, Inc. | Minimizing or reducing traffic loss when an external border gateway protocol (eBGP) peer goes down |
CN112583714B (zh) * | 2019-09-30 | 2022-10-18 | 华为技术有限公司 | 路由控制方法和装置 |
CN115720207A (zh) * | 2020-02-28 | 2023-02-28 | 华为技术有限公司 | 路由属性的更新方法、网络设备及系统 |
CN113852553B (zh) * | 2020-06-28 | 2023-10-10 | 中国电信股份有限公司 | 流量调度方法及系统、sdn控制器 |
JP2023542219A (ja) * | 2020-09-23 | 2023-10-05 | 華為技術有限公司 | パケット伝送方法および装置 |
CN114422430B (zh) * | 2020-10-12 | 2023-05-16 | 中国电信股份有限公司 | 用于控制路由泄露的电子设备、方法和介质 |
CN112532519B (zh) * | 2020-12-21 | 2022-07-22 | 安徽皖通邮电股份有限公司 | 一种采用BGP Flow Specification控制数据流量行为的方法 |
US20220029911A1 (en) * | 2021-03-31 | 2022-01-27 | Juniper Networks, Inc. | Route target constraint to filter routes advertised to a node in a seamless mpls or seamless sr network |
US11909763B2 (en) | 2021-04-07 | 2024-02-20 | Cisco Technology, Inc. | BGP blackhole and hijack mitigation |
CN113285880B (zh) * | 2021-07-19 | 2021-10-15 | 北京壁仞科技开发有限公司 | 多播路由方法、互连设备、网状网络系统及其配置方法 |
FR3126829B1 (fr) * | 2021-09-07 | 2023-09-08 | Thales Sa | Procédé de configuration d'une jonction pour un routage conforme au protocole de passerelle de bordure - bgp et routeur de bordure associé |
CN117014356A (zh) * | 2022-04-28 | 2023-11-07 | 中兴通讯股份有限公司 | 路由通告消息的处理方法、装置、存储介质及电子装置 |
CN115865692A (zh) * | 2022-10-28 | 2023-03-28 | 中盈优创资讯科技有限公司 | 一种基于bgp-ls协议生成网络拓扑的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040487A (zh) * | 2004-12-29 | 2007-09-19 | 思科技术公司 | Igp中的bgp下一跳路由的自动路由标记 |
CN101958829A (zh) * | 2009-07-13 | 2011-01-26 | 华为技术有限公司 | 一种路由发布方法、装置及系统 |
CN102292942A (zh) * | 2009-09-14 | 2011-12-21 | 华为技术有限公司 | 一种路由处理方法、系统和路由器 |
CN103609080A (zh) * | 2011-06-23 | 2014-02-26 | 瑞典爱立信有限公司 | 用于支持经由as间路径的路由的方法和节点 |
CN104601466A (zh) * | 2014-12-31 | 2015-05-06 | 华为技术有限公司 | 一种路由控制方法、边界路由器 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6914886B2 (en) * | 2001-05-03 | 2005-07-05 | Radware Ltd. | Controlling traffic on links between autonomous systems |
US7925778B1 (en) * | 2004-02-13 | 2011-04-12 | Cisco Technology, Inc. | Method and apparatus for providing multicast messages across a data communication network |
KR20060105447A (ko) * | 2005-03-29 | 2006-10-11 | 엘지전자 주식회사 | 네트워크 노드의 과부하 관리 방법 및 시스템 |
US7551627B2 (en) * | 2005-11-18 | 2009-06-23 | At&T Intellecutal Property I, L.P. | Offloading routing functions from network routers |
US7813265B2 (en) * | 2006-03-09 | 2010-10-12 | Cisco Technology, Inc. | Backup BGP paths for non-multipath BGP fast convergence |
CN100550841C (zh) * | 2006-07-12 | 2009-10-14 | 华为技术有限公司 | 自治系统边界路由器路由发布方法及自治系统边界路由器 |
CN101252488B (zh) * | 2008-04-15 | 2012-07-04 | 中国科学院计算技术研究所 | 一种多自治系统路由器级拓扑处理系统和方法 |
US8208377B2 (en) * | 2009-03-26 | 2012-06-26 | Force10 Networks, Inc. | MAC-address based virtual route aggregation |
US8170033B1 (en) * | 2009-04-06 | 2012-05-01 | Juniper Networks, Inc. | Virtual private local area network service (VPLS) flush mechanism for BGP-based VPLS networks |
CN101917414B (zh) * | 2010-07-28 | 2013-06-05 | 清华大学 | Bgp分类网关设备及利用该设备实现网关功能的方法 |
US8700801B2 (en) * | 2010-12-01 | 2014-04-15 | Juniper Networks, Inc. | Dynamically generating application-layer traffic optimization protocol maps |
US9491686B2 (en) * | 2011-07-28 | 2016-11-08 | Pulse Secure, Llc | Virtual private networking with mobile communication continuity |
CN102546419B (zh) * | 2012-01-16 | 2015-04-22 | 北京交通大学 | 一种路由方法和装置、分组转发方法和系统 |
US9258210B2 (en) | 2013-10-01 | 2016-02-09 | Juniper Networks, Inc. | Dynamic area filtering for link-state routing protocols |
US9912577B2 (en) * | 2014-04-17 | 2018-03-06 | Cisco Technology, Inc. | Segment routing—egress peer engineering (SP-EPE) |
CN104301466B (zh) | 2014-10-17 | 2017-10-13 | 广东欧珀移动通信有限公司 | 一种移动终端健康护套及其加工工艺 |
EP3306874B1 (en) * | 2015-07-06 | 2019-11-13 | Huawei Technologies Co., Ltd. | Controller device and border routers |
-
2015
- 2015-07-06 EP EP15897434.5A patent/EP3306874B1/en active Active
- 2015-07-06 CN CN202011002236.0A patent/CN112291144B/zh active Active
- 2015-07-06 CN CN201580063205.7A patent/CN107005474B/zh active Active
- 2015-07-06 EP EP23183632.1A patent/EP4283949A3/en active Pending
- 2015-07-06 WO PCT/CN2015/083410 patent/WO2017004778A1/zh active Application Filing
- 2015-07-06 CN CN202011004303.2A patent/CN112291145B/zh active Active
- 2015-07-06 EP EP19204678.7A patent/EP3668025B1/en active Active
-
2018
- 2018-01-05 US US15/862,918 patent/US10764173B2/en active Active
-
2020
- 2020-08-05 US US16/985,695 patent/US11658905B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101040487A (zh) * | 2004-12-29 | 2007-09-19 | 思科技术公司 | Igp中的bgp下一跳路由的自动路由标记 |
CN101958829A (zh) * | 2009-07-13 | 2011-01-26 | 华为技术有限公司 | 一种路由发布方法、装置及系统 |
CN102292942A (zh) * | 2009-09-14 | 2011-12-21 | 华为技术有限公司 | 一种路由处理方法、系统和路由器 |
CN103609080A (zh) * | 2011-06-23 | 2014-02-26 | 瑞典爱立信有限公司 | 用于支持经由as间路径的路由的方法和节点 |
CN104601466A (zh) * | 2014-12-31 | 2015-05-06 | 华为技术有限公司 | 一种路由控制方法、边界路由器 |
Also Published As
Publication number | Publication date |
---|---|
EP3306874A4 (en) | 2018-06-20 |
CN112291144B (zh) | 2022-04-29 |
EP4283949A3 (en) | 2024-01-10 |
WO2017004778A1 (zh) | 2017-01-12 |
EP4283949A2 (en) | 2023-11-29 |
US11658905B2 (en) | 2023-05-23 |
EP3668025A1 (en) | 2020-06-17 |
EP3306874B1 (en) | 2019-11-13 |
CN107005474A (zh) | 2017-08-01 |
CN107005474B (zh) | 2020-10-16 |
US20200366600A1 (en) | 2020-11-19 |
EP3668025B1 (en) | 2023-09-06 |
US10764173B2 (en) | 2020-09-01 |
CN112291145B (zh) | 2024-05-14 |
EP3306874A1 (en) | 2018-04-11 |
US20180131604A1 (en) | 2018-05-10 |
CN112291144A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112291144B (zh) | 路由控制的方法、设备和系统 | |
EP3624408B1 (en) | Method for generating forwarding table entry, controller, and network device | |
US7773596B1 (en) | Distribution of traffic flow criteria | |
US9648542B2 (en) | Session-based packet routing for facilitating analytics | |
US9722928B2 (en) | Link policy routing based on link utilization | |
CN107026791B (zh) | 虚拟专用网络vpn业务优化方法和设备 | |
EP3490201B1 (en) | Method, device and system for information synchronization | |
US20130266017A1 (en) | Communication system, control apparatus, communication method, and program | |
CN110120916B (zh) | Bgp会话的优先级形成 | |
WO2017107814A1 (zh) | 一种传播QoS策略的方法、装置及系统 | |
EP3758294B1 (en) | Link configuration method and controller | |
CN107181691B (zh) | 一种网络中实现报文路由的方法、设备和系统 | |
US10333790B2 (en) | Method and system for selective route download in network devices | |
EP3447976B1 (en) | Method and system for redirecting data stream, and network device and control device | |
CN112187649A (zh) | 一种报文转发方法、报文处理方法及装置 | |
EP3879757A1 (en) | Network traffic steering among cpu cores using forwarding path elements | |
CN107786439B (zh) | 跨域路由方法、控制器、系统及路由方法和域内路由器 | |
CN111526093B (zh) | 协议处理方法及装置、存储介质 | |
JPWO2014142256A1 (ja) | 通信システム、制御装置、通信方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |