最短路径桥接网络中的负载平衡转让专利

申请号 : CN201180052787.0

文献号 : CN103181131B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : D.I.艾伦S.A.曼斯菲尔德E.格雷J.法卡斯

申请人 : 瑞典爱立信有限公司

摘要 :

流分类过程在最短路径桥接网络的边缘用于确定流标记(320)以便附连到进入网络的客户端帧(330)。几个流标记(320)的任何标记能够被指派到遍历网络到特定出口节点的客户端帧成本路径中进行选择。在几个实施例中,按照提供用于随机化流标记的选择的熵源的客户端帧内容的函数来计算流标记。在一些实施例中,此熵源包括客户端帧中的因特网协议(IP)报头,但在其它情况下可包括其它客户端帧内容。(330),并且流标记由转发节点用于在多个相等

权利要求 :

1.一种用于促进利用最短路径桥接的数据分组网络骨干中的负载平衡的方法,所述方法包括:在所述网络骨干的入口节点接收一个或多个客户端帧;

为每个客户端帧按照该客户端帧的内容的函数来计算流偏移值,其中所述流偏移值是N个预定值之一,其中N定义从所述入口节点到该客户端帧的骨干目的地MAC地址的可能路径的最大数量;

将骨干虚拟LAN标识符B-VID附连到每个客户端帧,其中所述B-VID是预定的B-VID基值和该客户端帧的流偏移值的函数;以及将每个客户端帧根据该客户端帧的骨干目的地MAC地址和B-VID来转发。

2.如权利要求1所述的方法,其中计算所述流偏移值包括按照该客户端帧中的因特网协议报头的函数来生成所述流偏移值。

3.如权利要求2所述的方法,其中按照所述因特网协议报头的函数来生成所述流偏移值包括计算所述因特网协议报头的哈希并且将所计算的哈希映射到所述N 个预定的值之一。

4.如权利要求3所述的方法,其中将所计算的哈希映射到所述N 个预定值之一包括将所述流偏移值计算为所述哈希除以N 的模余数,以及其中所述B-VID是所述预定的B-VID基值和所述流偏移值之和。

5.如权利要求1所述的方法,其中计算所述流偏移值包括按照该客户端帧的骨干目的地MAC地址或客户端目的地MAC地址二者之一以及该客户端帧的源MAC地址的函数来生成所述流偏移值。

6.如权利要求1所述的方法,还包括为在所述入口节点接收的两个或更多客户端帧的每个客户端帧:确定因特网协议报头在该客户端帧中是否存在;

响应于确定所述因特网协议报头存在而按照所述因特网协议报头的函数来生成流偏移值;以及否则,响应于确定无因特网协议报头存在,按照该客户端帧的骨干目的地MAC地址或客户端目的地MAC地址二者之一以及该客户端帧的源MAC地址的函数来生成所述流偏移值。

7.一种用于在最短路径桥接网络中使用的网络节点,所述网络节点包括:网络接口单元,配置成将所述网络节点连接到一个或多个客户端网络或装置以及所述最短路径桥接网络中的一个或多个其它节点;以及处理电路,配置成:

经所述网络接口单元接收一个或多个客户端帧;

为每个客户端帧按照该客户端帧的内容的函数来计算流偏移值,其中所述流偏移值是N 个预定值之一,其中N 定义从入口节点到该客户端帧的骨干目的地MAC地址的可能路径的最大数量;

将骨干虚拟LAN标识符B-VID附连到每个客户端帧,其中所述B-VID是预定的B-VID基值和该客户端帧的流偏移值的函数;以及将每个客户端帧经所述网络接口单元根据该客户端帧的骨干目的地MAC地址和B-VID来转发。

8.如权利要求7所述的网络节点,其中所述处理电路配置成按照该客户端帧中的因特网协议报头的函数来计算所述流偏移值。

9.如权利要求8所述的网络节点,其中所述处理电路配置成通过计算所述因特网协议报头的哈希并且将所计算的哈希映射到所述N个预定的值之一,从而按照所述因特网协议报头的函数来计算所述流偏移值。

10.如权利要求9所述的网络节点,其中所述处理电路配置成通过将所述流偏移值计算为所述哈希除以N的模余数而将所计算的哈希映射到所述N个预定值之一,以及其中所述B-VID是所述预定的B-VID基值和所述流偏移值之和。

11.如权利要求7所述的网络节点,其中所述处理电路配置成通过按照该客户端帧的骨干目的地MAC地址或客户端目的地MAC地址二者之一以及该客户端帧的源MAC地址的函数生成所述流偏移值来计算所述流偏移值。

12.如权利要求7所述的网络节点,其中所述处理电路还配置成为在所述入口节点接收的两个或更多客户端帧的每个客户端帧:确定因特网协议报头在该客户端帧中是否存在;

响应于确定所述因特网协议报头存在而按照所述因特网协议报头的函数来生成流偏移值;以及否则,响应于确定无因特网协议报头存在,按照该客户端帧的骨干目的地MAC地址或客户端目的地MAC地址二者之一以及该客户端帧的源MAC地址的函数来生成所述流偏移值。

说明书 :

最短路径桥接网络中的负载平衡

[0001] 相关申请
[0002] 本申请根据35 U.S.C. $119(e)要求2010年10月29日提交的临时专利申请序列号61/408037的优先权,并且也根据35 U.S.C. $119(e)要求2011年1月6日提交的临时专利申请序列号61/430281的优先权。上面提及的每个临时申请的全部内容通过引用结合于本文中。

背景技术

[0003] 本发明一般涉及数据通信网络,并且具体地说,涉及用于促进利用最短路径桥接的数据分组网络骨干中的负载平衡的技术。
[0004] 负载分发或负载分布是在网络中更有效地利用数据通信带宽和改进总体性能的方法。更具体地说,相等成本多路径(ECMP)用于路由的网络中单播业务的负载分布的一个常见策略。在有关如何将分组转发到给定目的地的判定能够解析到多个“相等成本”路径的任何路径,每个路径在运行数据库计算时在最短(或最低)路径上陷于平局的情况下,能够利用ECMP。ECMP由于依赖对单个路由器而言是本地的每跳判定,并且假设在每个中间节点存在混杂接收和完全转发表,因此,它能够结合大多数单播路由选择协议和配有要求的支持数据平面硬件的节点来使用。在网络中任何给定节点使用ECMP时,跨相等成本下一跳的集合伪平均地划分来自该节点的业务。在存在到给定目的地的多于一个路径的网络的每一跳,此过程被独立实现。
[0005] 在许多实现中,在出现存在多个相等成本下一跳的每个点,针对诸如因特网协议(IP)报头等熵源而检查每个分组,并且报头信息模的哈希用于为特定分组选择下一跳。对于高度汇集的业务,此方法将平均地在规则拓扑(即,对称拓扑)中分发负载,并且在不那么规则的拓扑中确实提供了一些改进。
[0006] 最短路径桥接(SPB)的电气和电子工程师协会(IEEE) 802.1aq标准已被开发以允许在以太网网络体系结构中构建完全网状最短路径连接。SPB将多个控制协议合并到中间系统到中间系统(IS-IS)协议支持的单个链路状态路由选择系统中。此系统用于集成和相似单播和多播转发的计算以构建基本以太网LAN连接。
[0007] 包括支持802.1aq的那些体系结构的以太网网络体系结构不支持上述每跳多路径转发。此支持的缺乏是对于单播与多播业务之间的一致的需要的结果,以及因为多播通常与ECMP不兼容。相应地,需要用于支持SPB的以太网网络中的负载平衡的改进技术。

发明内容

[0008] 在本发明的几个实施例中,流分类过程在最短路径桥接网络的边缘用于确定流标记以便附连到进入网络的客户端帧。由于几个流标记的任何标记能够被指派到遍历网络到特定出口节点的客户端帧,因此,流标记能够由转发节点用于在多个相等成本路径中进行选择。在几个实施例中,按照提供用于随机化流标记的选择的熵源的客户端帧内容的函数来计算流标记。在一些实施例中,此熵源包括客户端帧中的因特网协议(IP)报头,但在其它情况下可包括其它客户端帧内容,如帧的目的地MAC地址和源MAC地址。在一些实施例中,将IP报头在可用时用作熵源,否则使用目的地MAC地址/源MAC地址对。
[0009] 在本文中公开的技术的一些实施例中,转发过程类似于常规以太网路由选择,涉及在转发数据库中查找按目的地地址和流标记编排索引的下一跳接口。在此方案的变型中,转发数据库包括与下一跳接口的对应集合配对的目的地地址,并且转发过程包括使用基于流标记的计算,并且在一些实施例中还基于节点特定种子值的计算,选择下一跳接口之一。
[0010] 用于促进利用最短路径桥接的数据分组网络骨干中负载平衡的一种示例方法以在网络骨干的入口节点接收一个或多个客户端帧开始。为每个客户端帧按照该客户端帧的内容的函数来计算流偏移值;此流偏移值是N个预定值之一,其中,N定义从入口节点到该客户端帧的目的地MAC地址的可能路径的最大数量。该方法继续的操作是将骨干虚拟LAN标识符(B-VID)附连到每个客户端帧,其中,B-VID是预定的B-VID基值和该客户端帧的流偏移值的函数。随后,根据该客户端帧的骨干目的地MAC地址和B-VID来转发该客户端帧。
[0011] 在一些情况下,按照该客户端帧中的因特网协议报头的函数来生成流偏移值。例如,可通过计算因特网协议报头的哈希并且将计算的哈希映射到所述N个预定值之一来生成流偏移值。在一些实施例中,此映射可包括将流偏移值计算为哈希除以N的模余数,以及其中,B-VID是预定的B-VID基值和流偏移值之和。
[0012] 在其它情况下,可按照该客户端帧的源MAC地址和该客户端帧的客户端目的地MAC地址或骨干目的地MAC地址的函数来生成流偏移值。在还有的其它情况下,所述方法可还包括先确定因特网协议报头在客户端帧中是否存在,并且如果存在,则按照因特网协议报头的函数来生成流偏移值,否则如果IP报头不存在,则按照客户端帧的目的地MAC地址和源MAC地址的函数来生成流偏移值。
[0013] 另一示例方法涉及用于填充网络节点中的转发数据库的技术。根据此方法,确定对应于骨干目的地MAC地址的相等成本下一跳的数量。将来自B-VID的预定集合的每个骨干虚拟LAN标识符(B-VID)按照该B-VID和相等成本下一跳的数量的函数映射到下一跳接口。最后,使用对应于骨干目的地MAC地址和B-VID的每个组合的条目来填充转发数据库,所述条目包括映射到B-VID的下一跳接口的标识符。此过程可为网络节点已知的每个骨干目的地地址重复进行。
[0014] 在一些实施例中,B-VID的预定集合是B-VID的预定范围。在这些实施例中,通过从B-VID减去预定的B-VID基值以获得流偏移值,将接口偏移值计算为流偏移值模相等成本随后跳的数量,以及将B-VID映射到对应于接口偏移值的下一跳接口,可将每个B-VID映射到下一跳接口。在其它实施例中,B-VID的预定集合包括多个B-VID范围,并且每个B-VID范围被映射到下一跳接口之一。
[0015] 在上面为填充网络节点中转发数据库而概述的方法的另一变型中,为每个目的地MAC地址确定相等成本下一跳的集合,并且使用将骨干目的地MAC地址映射到用于对应集合中每个相等成本下一跳的标识符的条目来填充转发数据库。使用此技术填充转发数据库时,转发节点使用修改的技术转发帧。更具体地说,转发节点接收标记有骨干虚拟LAN标识符(B-VID)和目的地MAC地址的数据帧,并且按照B-VID的函数,从转发数据库中与目的地MAC地址关联存储的相等成本下一跳标识符的集合中选择下一跳标识符。随后,所述节点经对应于所选择的下一跳标识符的下一跳接口转发数据帧。在这些实施例的一些实施例中,所述节点通过按照B-VID和节点特定的种子值的函数计算伪随机数并且按照此伪随机数从相等成本下一跳标识符的集合选择下一跳标识符来选择下一跳标识符。
[0016] 除下面概述的方法外,在下面的详细描述中公开并进一步详细描述了几种变型。也描述了配置成执行一种或多种这些方法的网络节点。因此,本发明并不限于上述特征和优点。甚至,本领域的技术人员在阅读以下详细描述并查看附图时将认识到另外的特征和优点。

附图说明

[0017] 图1示出使用生成树避免环路的网络。
[0018] 图2示出使用最短路径桥接的网络。
[0019] 图3是示出用于将流标识符附连到客户端帧并且在最短路径桥接网络中转发它们的示例方法的过程流程图。
[0020] 图4是示出流标记的示例计算的细节的过程流程图。
[0021] 图5是示出用于将流标识符附连到客户端帧并且在最短路径桥接网络中转发它们的另一示例方法的过程流程图。
[0022] 图6是示出用于填充网络节点中转发数据库的方法的过程流程图。
[0023] 图7是示出用于填充网络节点中转发数据库的另一方法的过程流程图。
[0024] 图8是示出用于在最短路径桥接网络中转发数据分组的方法的过程流程图。
[0025] 图9示出根据本发明的一些实施例配置的示例网络节点的组件。

具体实施方式

[0026] 应理解,下面的描述虽然指示本发明的几个实施例,但只作为说明被给出。本领域技术人员在阅读以下描述并查看附图时,将明白如权利要求的本发明的范围内的各种更改和修改。
[0027] IEEE已制订用于最短路径桥接的802.1aq标准以在本地以太网基础设施上提供逻辑以太网网络。802.1aq启用的节点(具SPB能力的桥)使用中间系统到中间系统(ISIS)链路状态协议在逻辑网络中广告网络拓扑和成员资格。此公知的路由选择协议允许网络中的节点自动确定在节点之间的最短路径。实际上,每个桥向所有其它节点广告它知道的节点,以便网络中的所有桥最终具有网络的类似视图。每个节点随后能够计算到目标节点的最短(最低成本)路径,并且在该最短路径中转发帧到下一跳。
[0028] 802.1aq标准描述SPB的两种变型。SPBV(最短路径桥接 -VID)使用多生成树协议(MSTP)的“区域”概念与生成树协议(STP)后向兼容,并且通常适合用于具有小于100个桥的小型虚拟局域网(VLAN)。称为SPBM(最短路径桥接 - MAC)的另一变型设计用于载波级应用,包括具有多达1000个桥的大型提供商骨干桥(PBB)网络。
[0029] 在SPBM网络中,在网络的边缘从附连的以太网装置接收的单播帧封装在Mac-in-Mac IEEE 802.1ah报头中,该报头由核心桥用于跨网络转发帧。在帧从远端离开SPBM网络时,IEEE 802.1ah报头被去除。逻辑网络中客户端MAC (C-MAC)地址的源学习在网络的边缘执行,以便帧被转发到用于离目的地客户端最近的出口节点的骨干MAC (B-MAC)地址。用于SPB桥的B-MAC地址由控制平面分发和/或按算法构建,从而消除了B-MAC学习的需要。SPBM支持单播和多播,所有路由选择在对称的最短路径上,并且对许多最短相等成本路径的支持得以提供。
[0030] 图1和2示出SPB的重要优点之一。图1示出依赖SPT避免网络中的环路的简单三层网络100。客户端110传送到服务器120的帧在入口节点130进入网络,并且通过定义遍历所有网络节点的单路径的实线链路,经核心网络节点150遍历网络到出口节点140,因此,只存在从客户端110到服务器120和到可通过核心网络节点150接入的任何其它客户端节点的一个路径。图1中示为虚线的网络节点之间的备选链路被禁用,除非需要它们来替代断开的链路。
[0031] 相比之下,图2示出利用最短路径桥接的网络200。此处,客户端110传送到服务器120的帧在入口(边缘)节点230进入网络,但能够在仅两跳中遍历网络到出口(边缘)节点
240,而不是网络100中要求的五跳。此网络能够利用核心网络节点250之间的所有链路,以便帧遍历最短路径(最低成本)路由。这减轻了网络中的拥塞,并且改进了网络性能和容量。
[0032] 最短路径桥接的一个优点是由于堵塞点能够得以消除,因此,网状网络能够形成以跨网络拓扑更均匀地分发负载。冗余链路实际上被使用,而不是在故障前保持闲置。改进的效率通过删除一个或多个层同时保持或甚至改进网络的性能而提供了使现有网络变得平整的可能性。
[0033] 另一方面,SPB网络比常规以太网网络更具动态性,这使业务管理和网络故障排除变得复杂。此外,实际网络中的负载平衡能够相当复杂。图2所示网络200相当简单 - 在带有更多桥的更复杂的网络中,由于所有可用链路是可使用的,因此,在入口节点230与出口节点240之间可存在几个(或许多)相等成本的路径。相应地,需要用于跨多个路径平衡网络业务的有效、灵活的技术。
[0034] 一个可能的方案是使ECMP技术适应SPBM。这能够通过使用几个熵源的任何熵源在可用相等成本路径之间选择而以多种不同的方式进行。一种可能性将802.11ah报头中包括的B-MAC地址(源地址B-SA和目的地地址B-DA)的组合进行哈希以提供熵源以便在相等成本路径中进行选择。然而,这是较差的熵源。稍微更佳的熵源是I-SID;还有更好的选择是将C-MAC SA/DA信息进行哈布处理,而可能最佳的选择是将存在的因特网协议(IP) 5元组进行哈希。基于熵源的哈希的跳选择能够在逐跳的基础上被执行,即,在每个转发节点被执行,或者在桥接网络的边缘执行,在此情况下,信息的某一结果令牌在数据分组中被携带以概括哈希。
[0035] 用于跨多个相等成本转发接口随机化数据流的更高熵源提供更佳性能,由此IP有效负载的哈希提供最佳熵,特别是在路由器进行以太网连接时,这是因为单个源/目的地路由器MAC地址对将产生带有大量的各种IP 5元组的分组。然而,IP有效负载的每跳哈希由于几个原因而有问题。首先,此方案是层违例。其次,此方案与现有以太网技术基础不兼容。最后,这使得以太网操作、行政和管理(OAM)即使不是不可能,也是十分困难,这是因为OAM协议将需要模仿IP分组以收集网络性能数据。
[0036] 由于每跳哈希的这些问题,流到以太网层特定流标记的基于边缘的指派是更佳的方案。通过此方案,能够使现有OAM协议变得有效,将层违例限于边缘自适应功能,并且要求对总体技术基础的更改极小。
[0037] 如802.1aq标准中当前记录的多个B-VID识别的ECT集合的使用能够被视为流标记的一种变化。然而,此技术具有关于链路利用的效率的限制。ECT集体生成的提议增强功能应用计算技术改进路径选择的效率,但对单播和多播的对称一致的要求导致路径选择的高计算复杂性。因特网工程任务组(IETF)的TRILL规范包括单播和多播技术的分离以允许单播ECMP作为其设计的一部分 - TRILL为多播使用生成树以便降低计算复杂性。IETF的PWE规范包括能够被视为流标记的熵标记的概念,如IPv6标准一样。
[0038] 本文中公开的发明技术基于在放宽对称一致时通过用于单播负载分布的以太网技术基础能够进行的操作的探索。在常规一致要求的此放松条件下,“去”和“回”路径无需相同。此外,单播和洪泛的帧无需采用相同的路由选择。如在下面将看到的,此方案考虑到用于路由选择计算的简化计算和简化平局打破规则的可能性。
[0039] 为最小化对现有以太网装置的总体更改,本文中概述的技术将使用骨干虚拟LAN标识符(B-VID)作为单播流标记以及描述用于多播的VID。更具体地说,在SPB网络的边缘应用到分组的B-VID流标记类似于熵标记,但不用于每跳哈希。相反,边缘节点对适合的熵源进行哈希以产生用于单播分组的B-VID流标记。SPB网络的核心节点能够基于B-VID流标记和目的地B-MAC,使用常规转发数据库(FDB)技术简单地转发分组。
[0040] 通过使用此方案,单一逻辑网络将使用几个B-VID流标记值。相应地,为实现此方案,要求具有协定用于逻辑网络的基于B-VID的流标记的数量和值的范围的方式。类似地,需要用于决定指派哪些B-VID到多播操作的机制。用于为802.1aq定义的IS-IS问候的现有算法协商框架能够用作此机制的基础。应注意的是,此机制也能够使用B-VID的范围,如在MSTP/SVL(多生成树协议/共享VLAN学习)操作中所做的。
[0041] 采用此技术的网络中额定数据平面配置如在802.1aq或802.1Qay中所指定的,其中,在所有接口上取消阻止用作流标记的所有B-VID。节点按现有802.1aq和IS-IS过程交换算法和拓扑信息。
[0042] 节点在计算最短路径时,它填充转发数据库(FDB),以便存在用于每个DA-MAC/B-VID元组的独特条目。示例算法以假设从预定义的基值开始的B-VID值的连续范围开始。为避免不必要地使假设的随机过程相关,节点可选择在接口选择之前将每节点随机值和流标记组合。对于每个单播流标记B-VID,节点执行B-VID值(及可能每节点随机值)乘以相等成本下一跳的数量的模运算。结果识别目标地MAC/B-VID元组在FDB中将指向的接口(在相等成本接口中)。FDB相应地得到填充。根据此方案,分别处理多播分组。因此,网络也可计算一个或多个多播分发树,并且将这些分发树的每个树指派到与用于单播的B-VID不同的多播B-VID。
[0043] 在边缘节点的行为稍微更复杂。在接收客户端帧时,边缘节点检查帧内容以执行某种形式的“流分类”,这产生了以流标记的数量为模并且通过添加基值,选择要应用到分组的流标记作为SPBM自适应的一部分的值。接收带有标记的帧的核心节点将只查找FDB中的B-DA,并且按照B-VID流标记和与B-DA转发条目相关联的下一跳数量的函数来选择下一跳接口。
[0044] 本领域技术人员将领会,要求确保广播段未造成重复单播分组的技术。除非修改转发节点的行为,否则,除了附连到广播段的发送器外的每个节点将接受在段上广播的帧。这能够以几种方式处理。首先,一个关键要求是对于B-VID/DA元组,只有来自广播段的一个出口。一个解决方案是与广播段/伪节点相邻的任何节点需要也为表示在路由选择系统中广播段的伪节点计算最短路径优先(SPF)树。通过此方案,此节点能够确定它是否在用于来自上游节点的DA/B-VID元组的最短路径上,并且相应地设置入口过滤。注意,如果节点将本地随机值和流选择组合,则附连到共享段的所有节点将需要用于伪节点的随机值的一致视图。有能够实现此操作的许多公知的技术,这些技术不是本公开的中心。
[0045] 图3示出根据本发明的一些实施例的用于处理在SPB网络的边缘节点接收的客户端帧的过程流程。过程流程300如在框310所示以从客户端网络或边缘附连的节点接收帧开始。如在框320所示,边缘节点计算流偏移值和流标识符,随后,如在框330所示,流标识符被附连到客户端帧,并且如在框340所示被转发。
[0046] 如上所建议的,流标识符计算优选基于良好的熵源以便跨SPB网络的多个相等成本路径最佳随机化分组的分发。流标识符有效地捕获此熵,并且因此是某种形式的熵标记。然而,由于流标识符已经反映熵源的随机化,因此,核心节点无需执行复杂的计算便可转发分组 - 相反,分组能够通过使用根据骨干目的地地址和流标识符所填充的FDB进行转发。
[0047] 图4示出用于计算流标识符以便在上面讨论的过程300的一些实施例中使用的过程流程400。如更早所述,客户端帧中的IP报头是良好的熵源。因此,在本发明的一些实施例中,按照IP报头的函数来生成流偏移值。如在框410所示,边缘节点计算IP报头(例如,IP 5元组)的哈希 - 结果在图4中表示为H 。随后,将哈希值H 映射到用于流标识符值的N 个预定的值之一,其中,N 定义从边缘节点(入口节点)到SPB目的地节点(出口节点)的可能路径的最大数量。(应注意的是,N 能够是任何大的值。) 在框420示出此映射的一种方案,其中偏移值(OFFSET )计算为哈希值除以通过网络的可能相等成本路径的数量(N )的余数。因此:
[0048] OFFSET = H mod N
[0049] 通过此方案,哈希值在用于OFFSET的N 个可能值(0到N -1)之间平均划分。最后,如在框430所示,通过将偏移值加上预定的基本流标识符值(BASE)来计算流标识符(B-VID):
[0050] B-VID = BASE + OFFSET
[0051] 图4所示的方案是基于能够为给定逻辑网络留出B-VID的连续集合的假设的直接方案。在以太网标准内,可能指派某个范围的B-VID值到活动拓扑,并且具有最大64个的多个活动拓扑。例如,可为逻辑网络指派在64的连续组中的B-VID范围(用于单播目的),允许在现有以太网技术的范围内为SPB网络中节点的任何给定入口/出口对支持多达64个相等成本路径(64*64=4096)。当然,可使用不同大小的组,并且连续B-VID标识符用于组不是严格必需的,而是简化了B-VID值的计算。此类方案具有的价值是基于现有技术的节点能够与能够超出现有实现施加的64路径限制的节点无缝地组合。现有节点将在进行流随机化的作业中表现不如不限于64个路径的节点,但仍能够以后向兼容的方式包含到网络中。
[0052] 在一些情况下,根据正在处理什么类型的分组,用于生成流标记的熵源可有所不同。图5示出根据此方案操作的过程500。如在框510所示,先在边缘节点接收客户端帧。边缘节点先检查以查看是否存在客户端MAC到骨干MAC绑定,即,对于客户端MAC目的地地址,是否已了解目的地B-MAC地址。这在框520示出。如果目的地B-MAC地址仍未知,则如在框525所示,启动多播过程,以便能够了解B-MAC地址。
[0053] 然而,如果客户端MAC到B-MAC绑定已经存在,则如在框530所示,边缘节点检查以查看分组是否具有IP报头。如果有,则如在框540所示,对IP报头进行哈希,并且如在框550所示,结果用于计算B-VID。另一方面,如果IP报头不存在,则如在框535所示,边缘节点转而对B-MAC源和目的地地址进行哈希,并且该结果用于在框550计算B-VID。在一些实施例中,可以如在图4的框420和430所示相同的方式计算B-VID,或者可以另一方式将从哈希函数推导的流偏移映射到N个预定的B-VID值(或值的范围)之一。在任何情况下,如在框560所示,B-VID被附连到客户端帧,并且随后被转发。
[0054] 图6示出根据本发明的一些实施例的用于填充利用最短路径桥接的数据分组网络骨干中的网络节点中的转发数据库的过程600。如在框610所示,所示过程从用于给定逻辑网络的第一(B-MAC)目的地地址开始。接着,如在框620所示,计算对应于到目的地的相等成本路径的不同下一跳的数量。能够使用任何适当的路由选择度量计算来识别相等成本路径。
[0055] 从指派到逻辑网络的B-VID的集合的第一B-VID开始(框630),随后如在框640所示,基于B-VID和下一跳的数量,将B-VID映射到用于相等成本路径的下一跳接口之一。如果在集合中的B-VID是连续值,则将每个B-VID值映射到下一跳接口的一种简单方式是从B-VID值减去基本B-VID值,获得流偏移值,将接口偏移值计算为流偏移值模相等成本下一跳的数量,以及随后在对应于用于目的地地址的相等成本路径的下一跳接口中使用接口偏移值作为到下一跳接口的索引。在数学术语中:
[0056] flow_offset = BVID - BVIDBASE_VALUE;以及
[0057] next_hop_index= flow_offset mod n ,
[0058] 其中,n 是在节点对应于到目的地地址的相等成本路径的下一跳接口的数量,以及其中,对应的下一跳接口被编排索引为next_hop(0)到next_hop(n)。
[0059] 在添加本地随机性到流偏移以降低流的处理之间相关的程度时,一个示例将是:
[0060] flow_offset = BVID - BVTDBASE_VALUE;以及
[0061] next_hop_index = (flow_offset xor seed_value) mod n 。
[0062] 如在框650所示,使用B-MAC目的地地址(DA-MAC)、B-VID和用于下一跳接口的标识符来填充转发数据库。如果在用于当前目的地地址的B-VID的集合中存在更多未处理的B-VID,则如在框660和665所示,重复该过程。随后,如在框670和675所示,为网络节点已知的每个剩余目的地地址重复该过程。过程结束时,用于给定逻辑网络的FDB包括用于每个目的地地址的多个条目,每个条目对应于分配用于逻辑网络中单播转发的B-VID之一。
[0063] 表1示出对应于一小部分FDB的示例,其中,在路由器上有编号为I_0到I_3的四个接口,以及其中,有范围从B-VID 0到B-VID 8,分配到用于给定逻辑网络的单播转发的8个B-VID。
[0064]目的地MAC 流标记 下一跳接口
B-MAC-DA-a B-VID0 I_0
  B-VID1 L3
  B-VID2 I_0
  B-VID3 I_3
  B-VID4 I_0
  B-VID5 I_3
  B-VID6 I_0
  B-VID7 I_3
B-MAC-DA-b B-VID0 I_1
  B-VID1 I_2
  B-VID2 I_1
  B-VID3 I_2
  B-VID4 I_1
  B-VID5 I_2
  B-VID6 I_1
  B-VID7 I_2
B-MAC-DA-c B-VID0 I_0
… B-VID1 I_4
… … …
[0065] 表1
[0066] 在此(过于简化)示例中,恰好有用于每个目的地地址的两个下一跳接口,但对于所示三个目的地地址的每个地址,下一跳接口的对不同。因此,I_0和I_3是用于到目的地地址B-MAC-DA-a的相等成本路径的下一跳的标识符,而用于到目的地B-MAC-DA-b的相等成本路径的下一跳标识符是I_1和I_2。对于每个目的地地址,在两个相等成本下一跳之间分割8个可用B-VID值。
[0067] 在上述技术的变型中,能够将一个或多个单独的B-VID替代为B-VID的范围。与支持的相等成本路径的最大数量相比,在有大量流标记可用于给定逻辑网络时,此方案可以是适合的。例如,如果有4096个可用流标记(B-VID),但只有64个可能的相等成本路径,则能够将B-VID以64的“块”映射到下一跳标识符。因此,可能将表1中的BVID0替代为某个范围,例如,BVID0-BVID63,而将BVID1替代为第二范围,例如,BVID64-BVID127。
[0068] 给定根据上述和图6与表1中所示技术填充的FDB时,转发带有B-VID标记的分组是一个小操作。接收分组的网络节点简单地从分组读取B-VID和B-MAC-DA,在数据库中查找对应的下一跳接口,然后继续发送分组。
[0069] 用于填充骨干网络节点中的FDB的上述技术通常与现有以太网技术兼容,表现在分组处理是基于简单的查找和转发方案。图7和8中示出可要求对网络节点硬件进行更广泛修改的FDB和分组转发的另一方案。
[0070] 图7示出根据要求流标记的动态处理的此更先进方案的一些实施例的过程流程700。如在框710所示,过程流程700从第一目的地地址开始,并且如在框740和750所示,为节点已知的每个目的地地址重复进行。对于每个目的地地址,如在框720所示,节点确定对应于用于目的地地址的相等成本路径的下一跳接口的集合。同样地,能够使用常规路由选择度量计算来识别相等成本路径及其对应接口。
[0071] 如在框730所示,使用目的地地址和下一跳标识符的对应集合来填充FDB。表2中示出对应于在表1中所示相同情况的此不同类型的FDB的示例。
[0072]目的地MAC 下一跳接口
B-MAC-DA-a I_0,I_3
B-MAC-DA-b I_1,I_2
B-MAC-DA-c I_0,I_4
… …
[0073] 表2
[0074] 将立即领会的是,根据此方案的FDB比根据更早所述方案填充的FDB消耗更少的存储器(即,表示更少的状态信息)。
[0075] 图8中示出对应于此类型的FDB的转发过程800。如在框810所示,转发节点接收标记有B-VID和目的地地址的数据帧。如在框820所示,节点随后使用B-VID的数学函数,从与目的地地址相关联的集合选择下一跳标识符。随后,如在框830中所示,使用对应于所选择的下一跳标识符的接口转发帧。
[0076] 在一些实施例中,基于BVID的下一跳标识符的选择使用类似于上面为填充FDB所述的数学方案。因此,例如,能够使用BVID值对下一跳接口数量的模除来计算索引,例如,[0077] next_hop_index = (BVID-BVIDBASE_VALUE) mod n ,
[0078] 其中,n是在对应于目的地地址的集合中下一跳接口的数量。然而,流标记的此动态处理的一个优点是通过添加诸如节点特定种子值等种子值到下一跳识别过程,能够改进通过网络的分组流的随机化。因此,例如,能够使用类似如下的公式选择下一跳接口:
[0079] next_hop_index=(BVID-BVIDBASE_VALUE + seed) mod n ,
[0080] 其中,seed (种子)的值从一个节点到下一节点不同,或者时时不同,或者两种情况均存在。
[0081] 虽然上面的讨论已描述在边缘节点(即在附连到客户端网络和/或客户端计算机的边缘节点)和在包括SPB网络的核心中的节点的转发节点执行的某些过程。当然,在一些情况下,边缘节点也可以是转发节点,因此,一种或几种技术可在给定节点实现。图9示出能够配置成执行上述任何或所有边缘处理、转发数据库填充和转发技术的示例网络节点的基本特征。更具体地说,网络节点900包括客户端/网络接口910 - 此接口单元包括连接SPB网络和/或连接一个或多个客户端网络或装置的连接点,并且具体地说,可包括适用于连接到以太网网络的常规接口硬件。网络节点900还包括处理电路920,处理电路包括一个或多个微处理器和存储器940,存储器940又包括程序代码942、程序数据944和转发数据库946。在几个实施例中,程序代码942包括用于执行上面所述用于促进利用最短路径桥接的数据分组网络骨干中的负载平衡的一种或几种技术的程序指令,包括为了将流标记附连到客户端帧、为了填充转发数据库946以及为了根据附连的流标记和帧的目的地MAC地址来转发帧所描述的技术。
[0082] 更广泛地说,这些计算机程序指令可提供到通用计算机、专用计算机或其它可编程数据处理设备的处理器以产生一种机器,使得经所述计算机或其它可编程数据处理设备所述处理器执行的所述指令形成用于实现本文中所述和所述框图和流程 图中所示的功能。这些计算机程序指令也可存储在可引导计算机或其它可编程数据处理设备以特定方式运行的计算机可用或计算机可读存储器中,使得在计算机可用或计算机可读存储器中存储的指令产生包括实现本文中所述功能的指令的制品。本文中所述的几个功能实体可一起在单个处理器或计算机上实现,或者每个可在分开的处理器或计算机上被实现。本领域技术人员将认识到本文中所述将功能编组或分发的优点和缺点。
[0083] 当然,本领域技术人员将领会的是,上述负载平衡技术只是示范,并且这些过程的各种修改和扩展是可能的。本领域技术人员也将认识到,本文中所述网络节点900的功能方面可根据网络结构、运营商商业模型和其它因素以多种不同配置来部署。
[0084] 鉴于这些和其它变化和扩展,本领域技术人员将领会的是,上面的描述和附图表示本文中教导的用于促进数据分组网络中的负载平衡的系统和设备的非限制性示例。因此,本发明不受前面的描述和附图限制。相反,本发明只受随附权利要求及其法律等同限制。