多归连接的网络中的对称子网间业务负载平衡的制作方法

文档序号:14072566阅读:127来源:国知局



背景技术:

一种网络设备可以接收网络业务(例如,分组集合)以便经由网络进行路由。例如,该网络设备可以从主机网络设备接收该网络业务(例如,经由一个或多个其它网络设备)以便路由至该网络的子网。该网络业务可以与媒体访问控制(mac)地址相关联,后者则与mac路由相关联。在这种情况下,该网络设备可以利用地址解析协议(arp)消息来标识用于路由该网络业务的互连网协议(ip)/mac绑定和/或对网络中的网络业务(例如,一个或多个其它分组)进行响应。例如,该网络设备可以标识对应于与该网络业务相关联的mac路由的ip地址。该网络设备可以基于确定该mac/ip绑定而将该网络业务指向该网络的子网。



技术实现要素:

一种设备可以包括一个或多个处理器。该设备可以接收对应于多个边缘设备的多个路由通告。该多个路由通告可以标识将要与将该网络业务经由多个边缘设备路由至目的地设备结合使用的路由信息。该多个路由通告可以包括至少一个自动发现路由和至少一个mac/ip通告路由。该至少一个自动发现路由可以包括将要与执行多协议标签交换(mpls)以将网络业务路由至目的地设备结合使用的一个或多个第一层3标签。该至少一个mac/ip通告路由可以包括将要与执行mpls以将网络业务路由至目的地设备结合使用的一个或多个第二层3标签。该设备可以接收将要被路由至目的地设备的网络业务。该设备可以基于该多个路由通告而经由多个边缘设备将该网络业务路由至该目的地设备。

在一些实施例中,一个或多个第一层3标签被包括在至少一个自动发现路由的网络层可达性信息(nlri)中。

在一些实施例中,一个或多个第一层3标签被包括在至少一个自动发现路由的扩展群落属性中。

在一些实施例中,一个或多个第一层3标签和一个或多个第二层3标签标识相应查找表,多个边缘设备基于相应查找表来标识用于目的地设备的下一跳信息。

在一些实施例中,网络业务包括与目的地设备相关联的互联网协议(ip)地址;并且其中多个边缘设备将基于ip地址来标识下一跳信息。

在一些实施例中,目的地设备归属于多个边缘设备中的每一个边缘设备。

在一些实施例中,目的地设备与多个以太网虚拟专用网络(vpn)相关联,多个以太网虚拟专用网络与多个边缘设备相关联。

一种非瞬态计算机可读介质可以存储一个或多个指令,该指令在被第一设备的一个或多个处理器所执行时使得该一个或多个处理器接收对应于第二设备的多个路由通告。该多个路由通告可以标识将要与经由该多个第二设备将网络业务路由至目的地设备结合使用的路由信息。该多个路由通告可以包括至少一个自动发现路由。该至少一个自动发现路由可以包括将要与执行多协议标签交换(mpls)以将网络业务路由至目的地设备结合使用的一个或多个第一层3标签。该多个路由通告可以包括至少一个mac/ip通告路由。该至少一个mac/ip通告路由可以包括将要与执行mpls以将网络业务路由至目的地设备结合使用的一个或多个第二层3标签。该一个或多个第一层3标签和该一个或多个第二层3标签可以标识该多个第二设备将要基于其而针对该目的地设备标识下一跳信息的相应查找表。该一个或多个指令在被装置处理器执行时可以使得该一个或多个处理器接收将要被路由至目的地设备的网络业务。该一个或多个指令在被装置处理器执行时可以使得该一个或多个处理器提供将要基于该多个路由通告而经由多个第二设备被路由至该目的地设备的网络业务。

在一些实施例中,目的地设备与多个具体网络分段相关联;并且其中多个路由通告标识具体网络分段;并且其中使得一个或多个处理器提供将要经由多个第二设备被路由至目的地设备的网络业务的一个或多个指令使得一个或多个处理器:基于多个通告标识具体网络分段来确定多个第二设备与具体网络分段相关联;并且基于多个第二设备与具体网络分段相关联而提供将要经由多个第二设备被路由的网络业务。

在一些实施例中,一个或多个第一层3标签被包括在至少一个自动发现路由的网络层可达性信息(nlri)中。

在一些实施例中,一个或多个第一层3标签被包括在至少一个自动发现路由的边界网关协议(bgp)扩展群落属性中。

在一些实施例中,使得一个或多个处理器提供将要被路由至目的地设备的网络业务的一个或多个指令使得一个或多个处理器:提供将要经由多个第二设备中的每个第二设备被路由至目的地设备的网络业务的不同部分。

在一些实施例中,使得一个或多个处理器提供将要被路由至目的地设备的网络业务的一个或多个指令使得一个或多个处理器:提供将要经由多个第二设备中的至少两个第二设备被路由至目的地设备的网络业务的具体部分。

在一些实施例中,目的地设备归属于多个第二设备中的每一个第二设备。

一种方法可以包括由设备接收与目的地设备相关联的网络地址。该网络地址可以基于开放系统互连模型的层3来标识该目的地设备。该方法可以包括由该设备基于该网络地址存储标识与该目的地设备相关联的下一跳的下一跳信息。该方法可以包括由该设备生成包括层3标签的自动发现路由。该层3标签可以允许网络业务基于多协议标签交换(mpls)而被路由至该目的地设备,并且可以标识基于其获得该下一跳信息的查找表。该方法可以包括由该设备提供包括该层3标签的自动发现路由。

在一些实施例中,该方法进一步包括:接收以网络地址为目的地的网络业务;基于层3标签标识查找表;基于查找表和网络地址标识下一跳信息;以及基于下一跳信息将网络业务路由至目的地设备。

在一些实施例中,设备是接收将要被路由至目的地设备的网络业务的多个设备中的一个设备,多个设备均已经传送了以下中的一个或多个:包括相应的层3标签的对应的自动发现路由,或者包括相应的层3标签的对应的mac/ip通告路由。

在一些实施例中,层3标签被包括在自动发现路由的网络层可达性信息(nlri)中。

在一些实施例中,层3标签被包括在自动发现路由的边界网关协议(bgp)扩展群落属性中。

在一些实施例中,目的地设备与多个以太网虚拟专用网络(evpn)相关联,多个evpn中的一个evpn与设备相关联。

附图说明

图1a和1b是这里所描述的示例实施方式的概览的示图;

图2是这里所描述的系统和/或方法可以在其中实施的示例环境的示图;

图3是图2的一个或多个设备的示例组件的示图;

图4是图2的一个或多个设备的示例组件的示图;和

图5是用于在多归连接的(multihoming)网络中使用对称子网间转发而进行负载平衡的示例过程的流程图。

具体实施方式

以下对示例实施方式的详细描述参考附图。不同附图总的相同附图标记标示相同或相似的要素。

多归连接是将端点设备、主机或网络连接至一个以上网络的实践。多归连接对于将主机或网络连接至多个网络以便提高可靠性、改善性能和/或降低成本会是有用的。作为一个示例,移动电话可以同时被连接至第三代(3g)网络和wi-fi网络。作为另一个示例,端点设备可以被归属至多个不同的提供方边缘设备。多归连接可以通过为分组(例如,ip分组)提供多个链路而提高可靠性,而使得在一个链路故障的情况下,该分组能够通过其它链路进行路由。

在一些情况下,设备可以执行子网间转发以将网络业务从一个网络或子网(例如,以太网虚拟专用网络(evpn)、虚拟局域网(vlan)等)转发至目的地网络或子网。在这种情况下,该设备可以是与提供方网络相关联的入口提供方边缘(pe)设备,并且可以将该网络业务路由至与目的地网络或子网相关联的一个或多个出口pe设备。

用于子网间转发的方案的一个示例是多协议标签交换(mpls),这是一种基于路径标签而不是网络地址将数据从一个网络节点指向下一个网络节点的数据承载技术,由此避免了路由表中的复杂查找。在mpls方案中,标签标识远端节点(例如,pe设备)而不是端点之间的虚拟链路(路径)。

在执行子网间转发时,设备可以使用层2标签和/或层3标签来路由网络业务,其中层2对应于开放系统互连(osi)模型的数据链路层(例如,以太网层),而层3则对应于osi模型的网络层(例如,ip层)。

例如,层2标签可以与一个或多个出口pe设备相关联,并且可以标识该(多个)出口pe设备基于其针对目的地网络或子网中的目的地端点设备标识下一跳信息(诸如最后一跳)的mac查找表。在这种情况下,层2标签通常使用自动发现路由或自动发现路由通告(advertise)(其在一些情况下可以被称作类型1路由通告)进行通告。自动发现路由可以由与目的地网络或子网相关联的每个pe设备进行通告(例如,基于网络拓扑的变化而自动通告,等等)。

类似地,层3标签可以与相应的出口pe设备相关联,并且可以标识基于其针对目的地网络或子网中的目的地端点设备标识下一跳信息(例如,最后一跳)的相应查找表(例如,ip表)。在这种情况下,层3标签可以作为类型2(mac/ip)通告路由的一部分而被提供至入口pe,其可以由一个或多个出口pe设备进行通告。此外,mac/ip通告路由也可以包括层2标签、目的地端点设备的ip地址和/或目的地端点设备的mac地址(例如,与目的地端点设备相关联的地址解析协议(arp)绑定)。

在一些实施方式中,子网间转发可以基于非对称方法来执行。为了执行非对称的子网间转发,入口pe设备基于与去往目的地端点设备途中的ip分组相关联的目的地ip地址标识目的地端点设备,并且标识与对应于该目的地端点设备的出口pe设备相关联的层2标签。该入口pe设备确定与该目的地ip地址相关联的目的地mac地址,并且利用该目的地mac地址将该ip分组封装在层2分组(例如,以太网分组)中。该入口pe设备随后将标识与出口pe设备相关联的层2标签的层2分组封装在mpls分组中,并且将该mpls分组路由至该出口pe设备。

在接收到该mpls分组后,该出口pe设备标识在其中基于层2(例如,基于与不同mac表相关联的不同目的地子网或网络)标签查找目的地端点设备的mac表并且基于该层2分组所标识的目的地mac地址标签将该网络业务路由至目的地端点设备。

在一些实施方式中,子网间转发可以基于对称方法来执行。为了执行对称的子网转发,入口pe设备基于与去往目的地端点设备的途中的ip分组相关联的目的地ip地址标识目的地端点设备,并且标识与对应于该目的地端点设备的出口pe设备相关联的层3标签。该入口pe设备随后将标识与该出口pe设备相关联的层3标签的ip分组封装在mpls分组中,并且将该mpls分组路由至该出口pe设备。

在接收到该mpls分组后,该出口pe设备标识其中基于层3标签(例如,基于与不同ip表相关联的不同目的地子网或网络)查找目的地端点设备的查找表(例如,标识ip地址以及与该ip地址相关联的最后一跳信息的表)并且基于该ip分组所标识的目的地ip地址将新业务路由至该目的地端点设备。

在该对称方法中,入口pe设备通常并不将ip分组封装在层2分组中,并且出口pe设备基于层3标签标识ip标签,上述层3标签通常由mac/ip(层2)路由通告携带而并不是由自动发现(类型1)路由通告携带。

当网络业务被路由至多归连接的端点设备时,基于与多个出口pe设备相关联的标签而将网络业务跨与该端点设备相关联的多个出口pe设备进行分布会是有利的(即,执行网络业务的负载平衡,改善网络中的冗余,等等)。该处理可以被称作混叠(aliasing)。

在使用非对称子网间转发时,针对多归连接的设备的负载平衡可能是直接的,因为每个出口pe设备都可以向入口pe设备传送均包括层2标签的自动发现路由通告(例如,类型1路由)。该层2标签允许出口pe设备使用该层2标签所标识的适当mac表执行查找,从而针对端点设备2确定下一跳信息。在这种情况下,入口pe设备可以将ip网络业务封装在层2分组中,并且可以利用层2标签将该层2分组传送至出口pe设备。基于该层2标签,出口pe设备可以将该ip网络业务提供至目的地端点设备。以这种方式,多归连接的端点设备可以使用非对称子网间转发来实现负载平衡。

然而,当使用对称子网间转发来转发ip分组的网络业务时,针对多归连接的设备的负载平衡可能更为困难。在这种情况下,由被指定的进行转发的出口pe设备以外的出口pe设备通告的自动发现(类型1)路由可能并不包括出口pe设备标识基于其将网络业务转发至目的地端点设备的ip表所需要的层3标签。此外,ip分组并不被封装在层2分组中,因此与目的地端点设备相关联的mac地址并不由该ip分组标识。这妨碍了出口pe设备使用自动发现路由中所包括的层2标签将该ip分组路由至目的地端点设备。因此,当入口pe设备提供具有层2标签(例如,而不是层3标签)的ip分组时,出口pe设备可能无法将网络业务正确转发至目的地端点设备。

这里所描述的实施方式使得与多个出口pe设备相关联的多归连接的网络能够经由多个出口pe设备执行ip分组的对称的子网间转发。该多个出口pe设备均可以向入口pe设备提供层3标签(例如,在自动发现(类型1)路由中)。

作为提供层3标签的一个示例,出口pe设备可以诸如通过修改路由(例如,自动发现(类型1)路由)的网络层可达性信息(nlri)中的一个或多个字段而将该层3标签包括在该路由的有效载荷中。以这种方式,出口pe设备改善了提供层3标签的效率。作为提供层3标签的另一个示例,出口pe设备可以将层3标签作为扩展群落属性(extendedcommunityattribute)(诸如边界网关协议(bgp)扩展群落属性)而附加于自动发现(类型1)路由。以这种方式,出口pe设备改善了路由的向后兼容性。例如,当设备并未被配置为理解或处理扩展群落属性时,该设备可以在不修改该扩展群落属性的情况下转发路由。

基于从多个出口pe设备接收到层3标签,入口pe设备可以使用标准mpls过程、经由多个出口pe设备将网络业务路由至目的地端点设备,并且该多个出口pe设备可以利用该层3标签基于查找表并且使用网络业务所标识的ip地址来标识去往目的地端点设备的最后一跳。以这种方式,可以在多归连接的网络中执行对称的子网间转发时实现(通过网络业务的冗余提供进行的)负载平衡。

图1a和1b是这里所描述的示例实施方式的概览的示图。如图1a所示,示例实施方式100可以包括端点设备1和端点设备2。在一些实施方式中,端点设备1和端点设备2可以是一个或多个消费者网络的消费者边缘设备(ce)。示例实施方式100可以进一步包括一个入口pe设备以及多个出口pe设备(出口pe1和出口pe2)。入口pe设备和出口pe设备可以与一个或多个提供方网络相关联。该多个出口pe设备可以基于端点设备2多归连接至均包括出口pe设备之一的多个提供方网络而与端点设备2相关联。

如附图标记105所示,端点设备2可以与ip地址、mac地址和以太网分段标识符(esi)相关联。如附图标记110所示,端点设备2可以向出口pe1和出口pe2提供该ip地址、mac地址和esi。出于该原因,如附图标记115所示,出口pe1可以通告mac/ip通告路由。该mac/ip通告路由可以包括与端点设备2相关联的ip地址、mac地址和esi、层2(例如,以太网)标签和层3(例如,ip)标签。例如,出口pe1和出口pe2可以被配置有端点设备2的esi,并且可以将端点设备2的esi作为与端点设备2相关联的路由通告的一部分。

如附图标记120所示,出口pe1和出口pe2均可以通告自动发现路由。针对每个出口pe设备的自动发现路由可以包括与端点设备2相关联的esi、针对相应出口pe设备的层2标签,以及针对相应出口pe设备的层3标签。如将要在这里进一步讨论的,在来自两个出口pe设备的自动发现路由中都包括层3标签允许该层3标签在使用对称子网间转发时被用来实现跨出口pe设备的负载平衡。在一些实施方式中,出口pe1可以不传送自动发现路由。例如,出口pe1可以仅传送mac/ip通告路由。

如附图标记125所示,入口pe设备可以存储mac地址、ip地址、esi、层2标签和层3标签。例如,该入口pe设备可以基于mac/ip通告路由而存储与出口pe1相关联的mac地址、ip地址、esi、层2标签和层3标签。该入口pe设备可以进一步基于该自动发现路由而存储与出口pe1和出口pe2相关联的esi、层2标签和层3标签。

如图1b所示,以及如附图标记130所示,端点设备1可以将网络业务传送至作为端点设备2的ip地址的ip地址(1.2.3.4)。在这种情况下,端点设备1可以向入口pe设备提供具有作为目的地地址的ip地址1.2.3.4的ip分组。

如附图标记135所示,该入口pe设备可以接收该网络业务。如附图标记140所示,该入口pe设备可以标识与该ip地址相关联的esi(例如,基于与该ip地址相关联的路由信息和/或基于从出口pe设备2所接收的mac/ip通告路由)。如附图标记145所示,该入口pe设备可以基于该自动发现路由而标识多个出口pe设备(例如,出口pe1和出口pe2)的层3标签。如附图标记150所示,该入口pe设备可以经由多个出口pe设备将该网络业务路由至端点设备2从而实现负载平衡。例如,该入口pe设备可以将该网络业务的ip分组的第一部分路由至出口pe1,并且可以将该网络业务的ip分组中不同的第二部分路由至出口pe2。

如附图标记155所示,为了路由该网络业务,该入口pe设备可以将该ip分组封装在mpls分组中,该mpls分组随后可以基于mpls过程被路由。如附图标记160所示,出口pe1和出口pe2均可以基于层3标签和ip地址来标识下一跳信息(例如,最后一跳)。基于出口pe设备已经在自动发现路由中通告了层3标签,入口pe设备已经能够向两个出口pe设备都提供该层3标签,这允许出口pe1和出口pe2都标识最后一跳。作为结果,在使用对称子网间转发时实现了负载平衡。

如以上所指出的,图1a和1b仅是作为示例被提供。其它示例是可能的并且可以与关于图1a和1b所描述的有所不同。

图2是这里所描述的系统和/或方法可以在其中实施的示例环境200的示图。如图2所示,环境200可以包括端点设备210-1和210-2、入口提供方边缘(pe)设备220、一个或多个出口pe设备230-1至230-n(n≥1)(此后共同称为“出口pe设备230”,并且被单独地称为“出口pe设备230”)、消费者网络240以及提供方网络250。环境200中的多个设备可以经由有线连接、无线连接或者有线和无线连接的组合进行互连。

端点设备210包括能够通过网络(例如,提供方网络250)接收和/或提供信息的一个或多个设备,和/或能够生成、存储和/或处理通过网络所接收和/或提供的信息的一个或多个设备。例如,端点设备210可以包括计算设备,诸如膝上计算机、平板计算机、手持计算机、台式计算机、移动电话(例如,智能电话、无线电电话等)、个人数字助理、网络设备(例如,路由器、网关、防火墙、集线器、网桥等)或类似设备。端点设备210可以充当端点(例如,源设备和/或目的地设备)以便与另一个端点设备210进行通信。例如,第一端点设备210可以将信息提供至第二端点设备210(例如,经由消费者网络240和/或提供方网络250)。

入口提供方边缘(pe)设备220包括能够处理业务和/或在端点设备210之间传输业务的一个或多个设备(例如,一个或多个业务传输设备)。例如,入口提供方边缘设备220可以包括防火墙、路由器、网关、交换机、集线器、网桥、逆向代理、服务器(例如,代理服务器)、安全设备、入侵检测设备、负载平衡器,或者类似类型的设备。在一些实施方式中,入口提供方边缘设备220可以从端点设备210-1接收业务,并且可以如这里其它地方所描述的经由出口pe设备230将该业务提供至端点设备210-2。

出口pe设备230包括能够处理业务和/或在端点设备210之间传输业务的一个或多个设备(例如,一个或多个业务传输设备)。例如,出口pe设备230可以包括防火墙、路由器、交换机、集线器、网桥、逆向代理、服务器(例如,代理服务器)、安全设备、入侵检测设备、负载平衡器,或者类似类型的设备。在一些实施方式中,出口pe设备230可以从入口pe设备220接收业务,并且可以如这里其它地方所描述的基于出口pe设备230所存储的下一跳信息将该业务提供至端点设备210-2。

消费者网络240包括与端点设备210-2相关联的网络。例如,消费者网络240可以包括虚拟局域网、子网、无线网络、有线网络、特定网络分段(例如,连接至一个或多个网络网关的联网设备的群组)、以太网分段、多个网络分段、多个以太网分段,等等。在一些实施方式中,消费者网络240可以与网络分段标识符相关联,诸如标识消费者网络240的esi或另一个标识符。

提供方网络250包括一个或多个有线和/或无线网络。例如,提供方网络250可以包括多协议标签交换(mpls)网络、蜂窝网络(例如,长期演进(lte)网络、3g网络或码分多址(cdma)网络)、公共陆地移动网络(plmn)、局域网(lan)、广域网(wan)、城域网(man)、电话网络(例如,公共交换电话网(pstn))、evpn网络、专用网络、专设网络、企业内部网、互联网、基于光纤的网络、云计算网络等,和/或这些或其它类型的网络的组合。

图2中所示设备和网络的数量和布置是作为示例而被提供的。在实践中,与图2中所示出的那些相比,可能有另外的设备和/或网络、较少的设备和/或网络、不同的设备和/或网络,或者以不同方式布置的设备和/或网络。此外,图2中所示的两个或更多设备可以在的那个设备内实施,或者图2中所示的单个设备可以被实施为多个分布式设备。除此之外或可替换地,环境200中的设备的集合(例如,一个或多个设备)可以执行被描述为由环境200中的另一个设备集合所执行的一种或多种功能。

图3是设备300的示例组件的示图。设备300可以对应于入口pe设备220和/或出口pe设备230。在一些实施方式中,入口pe设备220和/或出口pe设备230可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3所示,设备300可以包括一个或多个输入组件305-1至305-b(b≥1)(此后共同称为“输入组件305”,并且被单独地称为“输入组件305”)、交换组件310、一个或多个输出组件315-1至315-c(c≥1)(此后共同称为“输出组件315”,并且被单独地称为“输出组件315”),以及控制器320。

输入组件305可以是针对物理链路的附着点,并且可以是针对传入的诸如分组的业务的入口点。输入组件305可以对传入的业务进行处理,诸如通过执行数据链路层封装或拆封。在一些实施方式中,输入组件305可以发送和/或接收分组。在一种实施方式中,输入组件305可以包括输入线路卡,后者包括一个或多个诸如一个或多个接口卡(ifc)的分组处理组件(例如,为集成电路的形式)、分组转发组件、线路卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实施方式中,设备300可以包括一个或多个输入组件305。

交换组件310可以将输入组件305与输出组件315进行互连。在一些实施方式中,交换组件310可以经由一个或多个交叉开关、经由多个总线和/或利用共享存储器来实施。该共享存储器可以充当临时缓冲器以在来自输入组件305的分组最终被调度以便传递至输出组件315之前对这些分组进行存储。在一些实施方式中,交换组件310可以使得输入组件305、输出组件315和/或控制器320能够进行通信。

输出组件315可以存储分组并且可以对分组进行调度以便在输出物理链路上传输。输出组件315可以支持数据链路层封装和/或拆封,和/或各种更高级协议。在一些实施方式中,输出组件315可以发送分组和/或接收分组。在一些实施方式中,输出组件315可以包括输出线路卡—其包括一个或多个分组处理组件(例如,为集成电路的形式),诸如一个或多个ifc、分组转发组件、线路卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实施方式中,设备300可以包括一个或多个输出组件315。在一些实施方式中,输入组件305和输出组件315可以由相同的组件集合所实施(例如,并且输入/输出组件可以是输入组件305和输出组件315的组合)。

控制器320以硬件、固件或者硬件和软件的组合来实施。控制器320包括处理器,其形式例如为中央处理器(cpu)、图形处理器(gpu)、加速处理单元(apu)、微处理器、微控制器、现场可编程门阵列(fpga)、应用特定集成电路(asic),和/或能够解释和/或执行指令的另一种类型的处理器。在一些实施方式中,控制器320可以包括能够被编程以执行功能的一个或多个处理器。

在一些实施方式中,控制器320可以包括随机访问存储器(ram)、只读存储器(rom),和/或存储信息和/或指令以供控制器320使用的另一种类型的动态或静态存储设备(例如,闪存、磁性存储器、光学存储器等)。

在一些实施方式中,控制器320可以与连接至设备300的其它设备、网络和/或系统进行通信从而交换有关网络拓扑的信息。控制器320可以基于该网络拓扑信息创建路由表,基于该路由表创建转发表,并且将该转发表转发至输入组件305和/或输出组件315。输入组件305和/或输出组件315可以使用该转发表针对传入的和/或外出的分组执行路由查找。

控制器320可以执行这里所描述的一种或多种处理。控制器320可以响应于执行非瞬态计算机可读介质所存储的软件指令来执行这些处理。计算机可读介质在这里被定义为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或者跨多个物理存储设备分布的存储器空间。

软件指令可以从另一个计算机可读介质或者经由通信接口从另一个设备被读入存储器和/或与控制器320相关联的存储组件。在被执行时,存储在存储器和/或与控制器320相关联的存储组件中的软件指令可以使得控制器320执行这里所描述的一种或多种处理。除此之外或可替换地,可以替代或结合软件指令使用硬线电路来执行这里所描述的一种或多种处理。因此,这里所描述的实施方式并不局限于硬件电路和软件的任何具体组合形式。

图3中所示组件的数量和布置是作为示例而被提供的。在实践中,与图3中所示出的那些相比,可能有另外的组件、较少的组件、不同的组件,或者以不同方式布置的组件。除此之外或可替换地,设备300中的组件的集合(例如,一个或多个组件)可以执行被描述为由设备300中的另一个组件集合所执行的一种或多种功能。

图4是设备400的示例组件的示图。设备400可以对应于端点设备210。在一些实施方式中,端点设备210可以包括一个或多个设备400和/或设备400的一个或多个组件。如图4所示,设备400可以包括总线410、处理器420、存储器430、存储组件440、输入组件450、输出组件460和通信接口470。

总线410包括允许在设备400的组件之间进行通信的组件。处理器420以硬件、固件或者硬件和软件的组合来实施。处理器420包括处理器,其形式例如为中央处理器(cpu)、图形处理器(gpu)、加速处理单元(apu)、微处理器、微控制器,和/或能够解释和/或执行指令的任意处理组件(例如,现场可编程门阵列(fpga)和/或应用特定集成电路(asic))。在一些实施方式中,处理器420包括能够被编程以执行功能的一个或多个处理器。存储器430包括随机访问存储器(ram)、只读存储器(rom),和/或存储信息和/或指令以供处理器420使用的另一种类型的动态或静态存储设备(例如,闪存、磁性存储器、光学存储器等)。

存储组件440存储涉及到设备400的操作和使用的信息和/或软件。例如,存储组件440可以包括硬盘(例如,磁盘、光盘、磁性光盘和/或固态磁盘)、紧致盘(cd)、数字多功能盘(dvd)、软盘、卡盒、磁带,和/或另一种类型的非瞬态计算机可读介质,以及相对应的驱动器。

输入组件450包括允许设备400诸如经由用户输入而接收信息的组件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。除此之外或可替换地,输入组件350可以包括用于感应信息的传感器(例如,全球定位系统(gps)组件、加速计、陀螺仪和/或致动器)。输出组件460包括从设备400提供输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(led))。

通信接口470包括类似收发器的组件(例如,收发器和/或单独的接收器和发送器),其使得设备400能够诸如经由有线连接、无线连接或者有线和无线连接的组合与其它设备进行通信。通信接口470可以允许设备400从另一个设备接收信息和/或向另一个设备提供信息。例如,通信接口470可以包括以太网接口、光学接口、同轴接口、红外接口、射频(rf)接口、通用串行总线(usb)接口、wi-fi接口、蜂窝网络接口,等等。

设备400可以执行这里所描述的一个或多个过程。设备400可以响应于处理器420执行非瞬态计算机可读介质所存储的软件指令来执行这些过程。计算机可读介质在这里被定义为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或者跨多个物理存储设备分布的存储器空间。

软件指令可以从另一个计算机可读介质或者经由通信接口470从另一个设备被读入存储器430和/或存储组件440。在被执行时,存储在存储器430和/或存储组件440中的软件指令可以使得处理器420执行这里所描述的一种或多种处理。除此之外或可替换地,可以替代或结合软件指令使用硬线电路来执行这里所描述的一种或多种处理。因此,这里所描述的实施方式并不局限于硬件电路和软件的任何具体组合形式。

图4中所示组件的数量和布置是作为示例而被提供的。在实践中,与图4中所示出的那些相比,可能有另外的组件、较少的组件、不同的组件,或者以不同方式布置的组件。除此之外或可替换地,设备400中的组件的集合(例如,一个或多个组件)可以执行被描述为由设备400中的另一个组件集合所执行的一种或多种功能。

图5是用于在多归连接的网络中使用对称子网间转发而进行负载平衡的示例过程500的流程图。在一些实施方式中,图5的一个或多个过程框可以由入口pe设备220所执行。在一些实施方式中,图5的一个或多个过程框可以由独立于或包括入口pe设备220的另一个设备或设备群组执行,诸如端点设备210和/或出口提供边缘设备230。

如图5所示,过程500可以包括接收对应于两个或更多出口pe设备的两个或更多层3标签,至少一个层3标签关联于相应出口pe设备的自动发现路由被接收(框510)。例如,入口pe设备220可以接收与多个不同的出口pe设备230相关联的路由通告。

在一些实施方式中,路由通告中的一个或多个可以包括mac/ip通告路由。在这种情况下,入口pe设备220可以基于该mac/ip通告路由来标识层2标签、层3标签、与端点设备210-2相关联的网络地址,以及与端点设备210-2的网络或子网相关联的以太网子网标识符(esi)。

在一些实施方式中,路由通告中的一个或多个可以包括自动发现路由。在这种情况下,入口pe设备220可以标识层2标签、层3标签,以及与端点设备210-2的网络或子网相关联的esi。

通过关联于自动发现路由提供层3标签,入口pe设备230实现了跨使用对称子网间转发的多归连接的网络中的多个不同的出口pe设备进行负载平衡(例如,基于多个不同的出口pe设备230中的每一个提供具有相应层3标签的相应自动发现路由)。

在一些实施方式中,层2标签可以标识出口pe设备可以基于其标识与端点设备210-2相关联的下一跳信息(例如,最后一跳)的查找表(例如,mac表)。例如,层2标签可以与路由和/或特定出口pe设备230相关联。在这种情况下,该层2标签可以允许基于非对称子网间转发将分组路由至出口pe设备230。

在一些实施方式中,层3标签可以标识出口pe设备230可以基于其标识与端点设备210-2相关联的下一跳信息(例如,最后一跳)的查找表(例如,ip表,诸如ipv4表或ipv6表)。例如,层3标签可以与路由和/或特定出口pe设备230相关联。在这种情况下,该层2标签可以允许基于对称子网间转发将分组路由至出口pe设备230和/或端点设备210-2。

在一些实施方式中,层3标签可以被包括在路由中。例如,与两个或更多出口pe设备相关联的网络层可达性信息(nlri)可以被更新,从而标识该层3标签。以这种方式,入口pe设备220与使用扩展群落属性相比节省了处理器和网络资源。

作为另一个示例,层3标签可以被添加至与路由相关联的扩展群落信息。作为特定示例,层3标签可以被添加至边界网关协议(bgp)扩展群落属性。以这种方式,入口pe设备220改善了具有层3标签的自动发现路由的向后兼容性。例如,并未被配置为处理bgp扩展群落属性的pe设备可以被配置为忽略该bgp扩展群落属性。

进一步如图5所示,过程500可以包括基于两个或更多层3标签更新路由和/或转发信息(框520)。例如,入口pe设备220可以基于mac/ip通告路由以及与两个或更多出口pe设备230相关联的一个或多个自动发现路由来更新路由和/或转发信息。

在一些实施方式中,入口pe设备220可以存储将该层3标签与关联于端点设备210-2的esi进行关联的信息。除此之外或可替换地,入口pe设备220可以存储将每个出口pe设备230与关联于端点设备210-2的esi进行关联的信息。通过存储将esi与层3标签和/或出口pe设备230进行关联的信息,入口pe设备220基于标识与端点设备210-2相关联的esi而促进了针对端点设备210-2的负载平衡。

如图5中进一步示出的,过程500可以包括接收将要经由两个或更多出口pe设备中的至少一个被提供的网络业务(框530)。例如,入口pe设备220可以接收将要经由两个或更多出口pe设备中的至少一个被提供的网络业务。在一些实施方式中,该网络业务可以标识端点设备210-2。例如,该网络业务可以包括与端点设备210-2相关联的ip地址。作为另一个示例,该网络业务可以包括ip分组或者以端点设备210-2为目的地的另一种类型的层3分组或帧。

在一些实施方式中,入口pe设备220可以基于该路由和/或转发信息而确定网络业务将要经由两个或更多出口pe设备中的至少一个被提供。例如,入口pe设备220可以基于该路由和/或转发信息标识与端点设备210-2相关联的esi。在这种情况下,入口pe设备可以标识与esi相关联的两个或更多出口pe设备230中的每一个,并且可以基于与该esi相关联的两个或更多出口pe设备230中的每一个而确定跨该两个或更多出口pe设备对该网络业务进行负载平衡。

如图5中进一步示出的,过程500可以包括经由两个或更多出口pe设备路由该网络业务(框540)。例如,入口pe设备220可以经由两个或更多出口pe设备230中的每一个路由网络业务。在一些实施方式中,入口pe设备220可以将网络业务均匀地在该两个或更多出口pe设备230间进行划分(例如,该网络业务的一半针对第一出口pe设备230并且该网络业务的一半针对第二出口pe设备230)。在一些实施方式中,入口pe设备220可以基于与每个出口pe设备230相关联的能力来划分网络业务。例如,入口pe设备220可以向每个出口pe设备230提供网络业务中与关联于每个出口pe设备230的吞吐量成比例的部分。在一些实施方式中,入口pe设备220可以提供网络业务的特定部分以便经由该两个或更多出口pe设备230中的每一个被路由至端点设备210-2从而改善网络业务的冗余,这改善了网络性能并减少了电力中断或另一种网络服务事故的情况下的网络业务损失。

在一些实施方式中,入口pe设备220可以基于层3标签来路由网络业务。例如,入口pe设备220可以将网络业务封装在标识该层3标签的分组(例如,mpls分组)中。在这种情况下,与提供方网络相关联的pe设备可以接收封装的网络业务,并且可以基于该层3标签路由该网络业务。以这种方式,入口pe设备220可以允许在层3(例如,网络层,基于ip地址)而不是层2(例如,数据链路层,基于mac地址)进行网络业务的路由。

在一些实施方式中,当出口pe设备230接收到与该层3标签相关联的网络业务时,出口pe设备230可以基于该层3标签标识与esi相关联的查找表(例如,ip表),并且可以在该ip表中查找该网络业务的ip地址从而标识出下一跳信息(例如,最后一跳)。基于该最后一跳,出口pe设备230可以将该网络业务提供至端点设备210-2。

通过从多个出口pe设备接收层3标签(例如,在自动发现(类型1)路由中)并且通过经由可以利用层3标签来标识去往目的地端点设备的下一跳或最后一跳的多个出口pe设备将网络业务路由至目的地端点设备,入口pe设备220使得能够在多归连接网络中执行对称的子网间转发时实现负载平衡。

虽然图5示出了过程500的多个示例框,但是在一些实施方式中,过程500与图5中所描绘的那些相比可以包括另外的框、更少的框或者以不同方式布置的框。除此之外或可替换地,过程500中的两个或更多的框可以并行执行。

这里所描述的实施方式使得具有多个出口pe设备的多归连接的网络能够执行对称的子网间转发。多个pe出口设备均可以向入口pe设备提供层3标签(例如,在自动发现(类型1)路由中)。例如,出口pe设备可以诸如修改路由的一个或多个字段而将该层3标签包括在路由(例如,自动发现(类型1)路由)的有效载荷中。以这种方式,出口pe设备提高了提供层3标签的效率。作为另一个示例,出口pe设备可以将层3标签作为群落属性附加于路由(例如,自动发现(类型1)路由)。以这种方式,出口pe设备改善了路由的向后兼容性。

基于从多个出口pe设备接收到层3标签,入口pe设备可以经由该多个出口pe设备将网络业务路由至目的地端点设备,并且多个端点设备可以利用该层3标签来标识去往目的地端点设备的最后一跳。以这种方式,当在多归连接网络中执行对称的子网间转发时可以(通过网络业务的冗余提供)实现负载平衡。

以上公开提供了说明和描述,但是并非意在作为穷举或者将实施方式限制为所公开的确切形式。修改和变化在考虑到以上公开的情况下是可能的并且可以通过对实施方式的实践而获得。

如这里所使用的,术语组件意在被宽泛地理解为硬件、固件,和/或硬件和软件的组合。

如这里所使用的,术语可以是指用于通信信息的通信结构,诸如协议数据单元(pdu)、分组、帧、数据报、分段、消息、块、单元、帧、子帧、时隙、符号,以上任意的一部分,和/或能够经由网络传送的另一种类型的格式化或非格式化数据单元。

如这里所使用的,网络业务或业务可以是指使用通信结构进行通信的信息,诸如协议数据单元(pdu)、分组、帧、数据报、分段、消息、块、单元、帧、子帧、时隙、符号,以上任意的一部分,和/或能够经由网络传送的另一种类型的格式化或非格式化数据单元。

将会显而易见的是,这里所描述的装置、系统和方法可以以不同形式的硬件、固件或者硬件和软件的组合来实施。被用来实施这些系统和/或方法的实际上特殊的控制硬件或软件代码并不对实施方式加以限制。因此,系统和/或方法的操作和行为在这里并未参考具体软件代码进行描述——所要理解的是,软件和硬件能够被设计为实施基于这里的描述的系统和方法。

即使在权利要求中引用和/或在说明书中公开了特征的特定组合,这些组合也并非意在对可能实施方式的公开加以限制。实际上,这些特征中的许多可以以并未在权利要求中特别引用和/或在说明书中特别公开的方式进行组合。虽然以下的每项从属权利要求可能直接从属于仅一项权利要求,但是可能实施方式的公开包括与权利要求集合中的每项其它权利要求相结合的每项从属权利要求。

这里所使用的要素、动作或指令都不应当被理解为是关键或必要的,除非明确如此描述。而且,如这里所使用的,冠词“一个”(“a”和“an”)意在包括一项或多项,并且可以与“一个或多个”互换使用。此外,如这里所使用的,术语“集合”意在包括一项或多项(例如,相关项、非相关项、相关和非相关项的组合),并且可以与“一个或多个”互换使用。在仅意在表示一项的情况下,使用术语“一(one)”或类似语言。而且,如这里所使用的,术语“具有”(“has”、“have”、“having’”等)意在是开放端点的术语。此外,短语“基于”意在表示“至少部分基于”,除非以其它方式有所指示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1