CN102282810A - 负载平衡 - Google Patents
负载平衡 Download PDFInfo
- Publication number
- CN102282810A CN102282810A CN2009801548133A CN200980154813A CN102282810A CN 102282810 A CN102282810 A CN 102282810A CN 2009801548133 A CN2009801548133 A CN 2009801548133A CN 200980154813 A CN200980154813 A CN 200980154813A CN 102282810 A CN102282810 A CN 102282810A
- Authority
- CN
- China
- Prior art keywords
- link
- hash
- network
- switch
- class
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
-
- 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
-
- 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/24—Multipath
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
-
- 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/48—Routing tree calculation
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于对胖树网络(315,455)内的以太网业务进行负载平衡的方法包括:使用散列函数(520)随机地将进入消息(510)分派到散列类中;在上行链路(550)当中分配散列类;以及根据散列类在上行链路(550)上传输进入消息。一种用于在胖树网络(315,455)中对通信流进行负载平衡的网络交换机(515),包括:下行链路(545)和上行链路(550);该网络交换机(515)配置成在所述下行链路(545)和上行链路(550)当中路由通信流;散列模块(520),其从消息(510)接收MAC地址且输出散列地址;以及TCAM查找模块(535),其将散列地址分配到散列类中且向上行链路(550)之一分配散列类。
Description
背景技术
计算机数据中心的大小和复杂性正在增大以提供对全球互联网的支持。在计算机数据中心内提供通信能力的计算机网络可能是数据中心性能中的限制因素。尤其是在执行分布式计算和通信密集型应用的情况下,网络性能应当随着组成计算机数据中心的服务器的数量而缩放。
然而,现有的基于以太网的网络要求在数据中心的核心处的大交换机。高价值以太网核心交换机通常是非常昂贵的且并不理想地适于可缩放数据中心应用。由于以太网对多路径路由的不良支持,这些交换机并不容易被多个较便宜的交换机代替。另外,以太网的限制可能防止在网络组件之间提供多路径的网络架构的高效利用。
附图说明
附图示出此处描述的原理的各个实施例且是说明书的一部分。所示的实施例仅是示例且并不限制权利要求的范围。
图1是根据此处描述的原理的一个实施例的说明性计算机网络的图示。
图2是根据此处描述的原理的一个实施例的说明性自适应转发操作的图示。
图3是根据此处描述的原理的一个实施例的说明性胖树网络的图示。
图4A和4B是示出根据此处描述的原理的一个实施例的用于说明性胖树网络的初始化步骤的图示。
图5是根据此处描述的原理的一个实施例的用于动态地对计算机网络内的通信流进行负载平衡的方法的图示。
图6是根据此处描述的原理的一个实施例的用于很多网络配置和负载平衡算法的通信流速的说明性曲线图。
图7是根据此处描述的原理的一个实施例的用于在胖树网络内分配数据流的说明性方法的流程图。
贯穿附图,相同的参考数字指示相似但不一定相同的元件。
具体实施方式
如上面所讨论,现有的基于以太网的网络要求在数据中心的核心处的大交换机。这些大核心交换机是昂贵的且限制了网络的规模和灵活性。由于以太网对多路径路由的不良支持,这些交换机不容易被多个较便宜的交换机代替。另外,以太网的限制可能防止在网络组件之间提供多路径的网络架构的高效利用。
通过使用冗余的核心交换机,诸如胖树的网络拓扑可以提供明显增加的带宽容量、灵活性和鲁棒性。这种拓扑提供减少对昂贵的根交换机的需要的冗余通信路径。然而,由于以太网在支持多路径路由方面的限制,使用在网络组件之间提供冗余通信链路的网络拓扑可能是挑战性的。这些以太网限制出现的原因是以太网使用生成树。生成树算法创建了自动连接所有终端站且阻断任意冗余链路的网络。这提供了很多益处,包括在无穷环路中截留消息的循环的消除、容易添加新的终端站而不需管理动作以及定位缺少的终端站而需要的广播的便利。然而,生成树算法不能直接利用胖树拓扑中固有的冗余核心交换机来增加网络的通信容量。代替地,生成树算法禁用除了单个核心交换机之外的所有交换机。
本说明书描述了用于在基于以太网的网络内实现静态和动态负载平衡的胖树型构造(fabric)的控制技术。描述的原理保留生成树算法的传统益处且允许装置遍及网络移动而无需管理。根据一个说明性实施例,构造的边缘处的增强型以太网交换机为可缩放数据中心提供多路径路由和负载平衡。这些增强型边缘交换机与商业(commodity)核心交换机组合以建立在极大规模的数据中心内允许有成本效益的通信的可缩放网络。
在下面的描述中,为了解释的目的,提出许多特定细节以便提供本系统和方法的透彻理解。然而,对于本领域技术人员而言显而易见的是,本设备、系统和方法可以在没有这些特定细节的情况下来实践。说明书中对“实施例”、“示例”或类似语言的引用意味着结合该实施例或示例描述的特定特征、结构或特性被包括在至少该一个实施例中,但是不一定包括在其他实施例中。在说明书中的各个地方中的短语“在一个实施例中”或类似短语的各种实例不一定全都指代相同的实施例。
图1示出连接很多终端站(105)的三层计算机网络(100)的一个说明性实施例。每个终端站(105)连接到边缘交换机(110)。边缘交换机(110)进而连接到较大的汇聚交换机(115),该汇聚交换机连接到核心交换机(120)。因而,该说明性计算机网络(100)具有由边缘层(125)、汇聚层(130)和核心层(140)组成的三层结构。使用计算机网络(100),任意终端站(105)可以与任意其他终端站(105)通信。
对于最大化计算机网络的性能、减小成本、增加灵活性和提供所需的稳定性而言,计算机网络拓扑和管理是重要的。在计算机网络发展的早期,必须克服很多问题。那些问题之一是:作为对网络拓扑的微小变化(诸如添加链路或终端站)的结果,消息被截留在无穷环路中。截留的消息将在封闭循环中在各个网络组件之间被重复地传送,所述封闭循环绝不允许消息到达预期目的地。这可能产生通常使得网络不可用的巨大量的无用业务。
开发生成树算法以消除网络内的潜在循环。生成树算法识别跨越网络的一组链路且允许每个终端站与每一个其他终端站通信。冗余链路被阻断以防止可能引起循环的环路。在遍及整个网络识别生成树之后,网络内的每个交换机可以使用非常简单的转发过程。当消息从任意终端站A发送到任意终端站B时,每个交换机在除了消息在其上到达的端口之外的所有活动(生成树)端口上转发进入消息。该过程被称为泛洪(flooding),且除了定义活动端口所需要的信息之外,该过程可以在没有路由信息的情况下执行。该简单过程确保了正确的网络传输。从终端站A发送的每个消息遍历整个生成树且确保到达终端站B,在那里,当B辨识出其目标地址时,它被接收。其他终端站丢弃寻址到终端站B的消息,因为该消息不寻址到这些终端站。生成树的使用防止了无穷消息传输。当消息到达生成树的终端时,没有进一步的消息传输发生。
已开发了自适应转发以使用获知到每个目的地的适当路线的转发表来增强通信效率。图2是说明性自适应转发操作的图示。消息通过输入端口(205)进入交换机。每个消息包含被交换机读取的分组头部(210)。交换机提取唯一地识别发送消息的终端站的源介质访问控制(MAC)地址和唯一地识别预期接收方终端站的目的地MAC地址。这两个MAC地址是自适应转发需要的唯一信息。
已开发了高效的散列映射方法以实现用于自适应转发的硬件查找。散列函数(225)执行产生用于每个读取的MAC地址的一致随机值的随机化功能。在简单的示例中,散列函数(310)可以使得MAC地址与极大质数相乘且从结果中选择十位数。这十位数是可以在给定MAC地址时一致地产生的准随机数。因此,只要相同的MAC地址被应用在输入上,产生相同的随机地址。散列函数允许RAM地址空间内的MAC地址的快速查找和均匀分布。在一个示例系统中,散列函数读取48位MAC地址且产生12位散列地址。这些散列地址被映射到对应于转发表(230)内的条目的散列仓(bin)。如图2所示,转发表(230)中的散列仓可以具有用于将消息转发到目标终端站的目的地MAC地址和对应输出端口。包含在散列仓中的目的地MAC地址匹配提取的目的地MAC地址以验证查找信息是有效的。如果成功,查找结果识别到寻址的终端站的唯一转发端口。
在一些情况中,散列仓可以为空。由于至少两个原因,散列仓可以为空:不存在其MAC地址映射到散列仓中的目标终端站或者交换机还没有获知目标终端站的目的地端口和MAC地址。如果没有发现用于目的地MAC地址的转发条目,则消息被泛洪到除消息在其上到达的链路之外的所有活动链路。
交换机通过分析接收的消息的源MAC地址(215)而获知目的地MAC地址和对应端口。因为在已知输入端口(205)上接收源MAC地址(215),交换机知道由源MAC地址(215)代表的终端站可以通过已知输入端口(205)访问。交换机对源MAC地址(215)进行散列运算且检查转发查找表(230)以确定所得到的散列地址处的条目包含适当的MAC地址和端口信息。如果发现正确的转发表条目,则不采取进一步动作。如果信息未被发现或者不正确,则MAC地址和端口信息被写入到转发表(230)。因此,目的地为该新MAC地址的所有后续消息仅在指定的端口上被转发。该过程用于遍及大网络自适应地创建转发表,且导致网络内的泛洪的明显减小。
上述以太网拓扑和自适应转发方法具有很多优点。首先,生成树算法确保网络内的每个终端站可以与任意其他终端站通信。生成树算法阻断将贡献于网络内的循环的冗余端口。当网络被重新配置时,诸如当添加新的终端站或链路时,生成树算法可以重新运行且可以自动创建新的和可行的网络拓扑。生成树算法还允许网络具有自愈属性。如果链路或交换机变得不可操作,则生成树算法重新运行以找到连接网络内的终端站的新的生成树。而且,消息收发协议提供用于确保消息被递送到目的地终端站的自主和可靠的方法。如果没有发现用于目的地MAC地址的转发表条目,则消息简单地被泛洪到网络上的所有终端站。生成树拓扑则确保消息被递送到网络内的所有终端站。在这些终端站当中,适当的目的地终端站将对消息做出响应。当目的地终端站向发起终端站发送它的消息被接收的确认时,网络内的一个或多个交换机有机会获知与原先未知的终端站通信的正确端口。
然而,以太网网络和生成树拓扑极大地依赖于昂贵的核心交换机且不能利用冗余连接的总传输容量。诸如胖树的备选网络拓扑允许利用冗余核心交换机来缩放带宽。图3是示出一个说明性胖树网络(300)的图示。很多终端站(105)连接到边缘交换机(110)。边缘交换机(110)连接到若干商业网络交换机(115)。术语“商业网络交换机”是指对其存在需要但是在市场上以标称价格提供且没有质量区别的网络交换机。商业网络交换机的广泛可用性和标准能力导致较小的利润率且减小了价格之外的因素(诸如商标名称)的重要性。
图3中示出的说明性胖树导致具有明显冗余的两层网络拓扑。边缘交换机(110)组成边缘层(310)且商业网络交换机(115)组成核心层(305)。这种胖树拓扑减小了对高成本根交换机的需要,因为多个较不昂贵的交换机提供冗余通信路径,这增加网络的性能、可靠性和灵活性。
然而,胖树拓扑可能要求比生成树明显更多的管理以防止循环且有效地利用网络组件之间的冗余连接。过去,很多技术已用于管理胖树网络。例如,可以使用网络管理技术来使用三层(layer-three)网际协议子网或两层(layer-two)虚拟局域网来划分网络。这两种方法限制了平坦的两层网络的范围且辅助利用多个路径。然而,这些方法要求复杂且高成本的管理。当执行数据中心范围的所有到所有(all-to-all)的通信以用于技术计算或执行在搜索功能中通常使用的并行计算时,网络划分不起作用。网络划分还限制了移动计算任务以平衡负载的虚拟化且依赖于网络地址的移动性。
如下所述,这些限制可以被克服以产生保留生成树的益处且利用冗余连接来提供增加的网络容量的基于以太网的胖树网络。所得到的可缩放两层网络具有多路径路由且消除了昂贵的根交换机和复杂的管理。胖树网络利用实现静态和动态负载平衡的控制技术。另外,胖树网络可以是自配置的且允许装置遍及网络移动而无需管理。胖树网络利用增强型边缘交换机而无需要求修改核心交换机,这允许使用来自任意供应商的商业核心交换机。
图4A是示出在配置胖树网络(400)中的说明性第一步骤的图示。很多增强型边缘交换机(405、410、415)经由下行链路(445)附接到终端站。来自边缘交换机(405、410、415)的上行链路连接边缘交换机到核心交换机(425、430、435)。边缘交换机(405、410、415)形成边缘层(420)且核心交换机(425、430、435)形成核心层(440)。
为了初始化拓扑,必须从生成树协议排除冗余核心交换机。例如,核心交换机2(430)至核心交换机N(435)可以被关闭或断开。备选地,边缘交换机(405、410、415)可以禁用连接到核心交换机2(430)至核心交换机N(435)的链路上的生成树消息。运行标准生成树算法以形成生成树(450),该生成树具有到每个边缘交换机(405、410、415)中的单个连接。所得到的生成树不包括冗余核心交换机,因此消除了由多个核心交换机(425、430、435)创建的冗余。
图4B示出在配置胖树网络(400)中的说明性第二步骤,其中剩余的核心交换机(430、435)开启且建立与边缘层(420)的连接。由生成树(450)形成的初始连接被指定为“B端口”。因此,每个边缘交换机具有指定的B端口且通过遍及网络将上行链路通信限制到B端口,可以访问生成树拓扑。
这创建了具有多个层的胖树网络架构(455),其允许固定基数的交换机针对任意大小和对分带宽的网络进行缩放。当消息从源流向目的地时,面临一系列上行链路选择,直到到达根交换机为止。例如,如果终端站通过下行链路(445)向边缘交换机1(405)发送消息,则存在三个可用的上行链路,到核心交换机(425、430、435)中的每一个各有一个。上行链路消息最终到达核心交换机。在图4B所示的示例中,消息仅经过单个链路传送以到达核心交换机。然而,在其他说明性实施例中,胖树网络结构可以结合包括多层的更复杂拓扑。在到达核心交换机之后,面临一系列下行链路选择。在每一层,选择单个正确的下行链路以到达目标终端站。
使用图4B中示出的说明性网络作为示例,如果附接到边缘交换机1(405)的终端站向连接到边缘交换机N(415)的终端站发送消息,则存在至少三个可以被使用的可能的上行链路。具体而言,存在从边缘交换机1(405)到核心交换机1(425)、核心交换机2(430)和核心交换机N(435)的上行链路。上行链路中的任意一个可以导致消息到边缘交换机N(415)的成功递送。然而,一旦选择了上行链路之一且核心交换机接收了消息,就仅存在将把消息正确递送到边缘交换机N(415)的一个下行链路。该下行链路可以由核心交换机使用上述标准自适应转发技术来选择。因此,不需要对核心交换机(425、430、435)进行修改且任意可行的遗留或品牌的核心交换机可以与增强型边缘交换机(405、410、415)组合使用以实现说明性网络。
通过优化各种可用上行链路的选择,胖树网络可以利用和控制冗余网络路径来增加网络的整体效率和带宽。图5是配置成利用多个通信路径且提供改善的转发和负载平衡的增强型边缘交换机(500)的图示。
根据一个说明性实施例,增强型边缘交换机(500)接收包含在进入消息内的分组头部(510)。目的地MAC地址被提取且传送到对称散列函数(520)和第二层转发缓存(530)。
如上所述,散列函数执行产生用于每个读取的MAC地址的一致散列类的随机化功能。对称散列函数是散列函数的子类,其确保在消息从源流到任意目的地之后当回复返回时该路径被回溯。对于从源地址s发送到目的地地址d的每个消息,对称散列函数H(s,d)产生单个散列类x。散列类x被分配给给定上行链路且消息经由该上行链路发送。当从d到s的返回消息到达交换机时,应用散列函数H(d,s),其产生相同散列类x且将消息传送到适当下行链路端口。如上述示例中描述的,对称散列呈现对称行为,使得H(s,d)=H(d,s)。因此,每个有序的数据流映射到单个类,使得流遍历单个路径。因而,使用传统自适应转发的交换机可以获知为最小化到未知终端站位置的泛洪(广播)而需要的端口分派。在图5中示出的说明性实施例中,使用对称散列函数。然而,也可以使用非对称散列函数,且可以实现单独的方法来分布终端站的位置和端口。
对于每个分组,使用MAC地址来搜索转发缓存以识别当从目的地接收之前的消息时可能已被记录的转发端口。这是图2中描述和示出的自适应转发过程。然而,多路径意识边缘交换机、转发缓存得出三个结果之一:目的地端口未知,目的地端口是已知下行链路或者目的地端口是上行链路中的任意一个。例如,当转发缓存(530)得出作为已知下行链路的目的地端口时,消息被传送到该下行链路且发射到目的地终端站。
当目的地端口未知时,消息将典型地被泛洪到除了在其上接收该消息的端口之外的所有端口。然而,根据一个说明性实施例,多路径意识边缘交换机总是将“B端口”识别为消息要在其上被泛洪的唯一上行链路端口。如上面所讨论,B端口识别由到每个终端站的单个链路组成的原始生成树结构。消息然后在B端口以及所有下行链路(除了分组在其上到达的端口)上被泛洪。通过利用B端口,泛洪的消息仅在原始生成树结构上传送。这避免了网络内冗余链路的不必要的泛洪。
转发缓存将在任意上行链路上到达的分组当作已在B端口上到达的分组。因而,当分组被转发回到先前在任意上行链路上看见的源地址时,不管哪个上行链路载送原始分组,转发缓存返回B端口作为结果。三态内容可寻址存储器(TCAM)查找模块(535)通过用软件选择的上行链路端口替代每个散列类来在上行链路当中平衡通信流。内容可寻址存储器(CAM)是在专门类别的搜索应用中使用的特殊类型的计算机存储器。不像其中用户提供存储器地址且存储器返回存储在该地址的数据字的标准存储器,CAM被设计为搜索其整个存储器以确定该数据字是否存储在其中的任意地方。如果发现数据字,则CAM返回发现该字的一个或多个存储地址的列表以及其他相关数据片段。三态CAM(TCAM)允许用于存储的数据字中的一个或多个位的“X”或“不关心”的第三匹配状态,这增加了搜索的灵活性。例如,TCAM可能具有存储的二元字“10XX0”,其将匹配四个搜索字“10000”、“10010”、“10100”或“10110”中的任意一个。在网络交换机中利用TCAM的快速搜索动作,使得可以在表中非常快速地发现目的地地址,从而减小交换机的等待时间。
在这种情况中,转发端口在后续TCAM查找阶段中被选择且可以与在其上接收来自目的地终端站的之前消息的上行链路端口不相同。形成包括源于缓存查找和对称散列的端口的匹配关键字。在处理的位位置中的每一个中,每个TCAM条目针对0、1或不关心匹配该关键字。如在下面的示例中描述的,TCAM条目通过软件被设置以平衡负载。示例交换机具有4个上行链路。软件在每个交换机中存放256个TCAM条目。每个条目匹配8个散列位和5个转发端口位。每个TCAM条目包含可能的8位散列值之一。每个条目还识别B端口,且每个条目针对给定散列值选择所需的上行链路。目的地为下行链路的分组不匹配B端口字段且不产生动作。目的地为任意上行链路的分组匹配B端口字段,且TCAM动作用软件选择的上行链路端口代替每个散列类。
为了控制网络,需要业务测量。每个交换机对分组进行采样且向收集散列统计模块(535)报告数据。收集散列统计模块(535)针对每个分组的散列类递增柱状图条目。对于每个上行链路上的入站和出站方向,收集单独的数据。根据一个说明性实施例,针对每个分组制作柱状图条目。在备选实施例中,仅分组的一小部分被采样和记录。例如,一百个分组中仅一个可以被采样。通过仅采样分组的一小部分,可以用明显减小的开销来创建代表性柱状图。很多TCAM实施方式包括用于每个TCAM条目的命中(hit)计数,在第三实施例中,这些命中计数用于计数每个散列类中的分组且收集散列统计量。
中央控制器(530)收集交换机统计量以获取用于负载平衡的数据中心范围的测量。为了对网络内的数据流进行负载平衡,中央控制器(530)分析交换机统计量且动态地在各个上行链路当中分配散列类。通过使得数据流远离重负载的上行链路而偏移到轻负载的上行链路,负载可以被平衡,使得整体系统的容量和利用得到改善。尽管每个散列类可以独立布置在任意上行链路上,对于网络中的对应交换机中的每一个,每个散列类被布置在相同的上行链路上以确保往返行程遍历共同路径。
各种算法可以用于优化胖树内的多路径业务。例如,贪婪算法可以用于在散列类上迭代且在布置了先前类之后优化每个类的上行链路选择。在每个步骤中,选择最小化所有链路上的业务平方和的上行链路。最小化平方业务对重负载的链路施加高惩罚。在所有散列类被分派之后,中央控制器下载用于所有交换机的TCAM分派。
图6是比较用于负载平衡以太网网络的各种说明性算法的曲线图。使用上述两层胖树架构的基于软件的模型来产生图6中示出的结果。尽管软件模型不产生真实系统动态,但它的确证明了在线优化的潜在益处。曲线图的横轴示出了网络内的数据流的数目而纵轴示出了网络内的总流速。
该模型测试了较简单的试探法且假设网络上的业务随着时间缓慢变化。包括在模型中的参数包括根交换机、叶交换机和下行链路的数目。模型包括胖树网络,该胖树网络具有:4个根交换机、16个叶交换机、16个下行链路和256个TCAM条目。随机流以100个流20个增量添加。作为每单位时间完成的单位负载流测量流速。用于每个曲线的数据通过在10个独立实验上进行平均而平滑。传输在若干流使用所选策略开始经过网络时开始。流在每个链路上竞争带宽且当流共享共同链路时递送被成比例地延迟。传输在最后的流完成时结束。汇聚带宽通过对所有流上的负载求和且除以传输时间而计算。每个叶具有到所有根的单个上行链路且假设所有链路具有单位容量。TCAM条目的数目也被参数化且被增加以增强精细粒度路由决定。每个链路是双向的,且入站和出站资源被独立建模。该模型产生从随机源到随机目的地的若干单位负载流。
流使用三种不同算法之一来路由。生成树算法使用B端口用于上行链路业务且因而使用单个根交换机。这模拟了生成树架构,其不允许网络组件之间的冗余连接。生成树结果在曲线图的下部以虚线示出。随机算法使用TCAM条目到上行链路的循环(round-robin)映射。当条目的数目是根交换机数目的倍数时,这对应于随机类到上行链路的相等分派。由随机算法产生的流速结果以标记为“随机”的点划线示出。
智能方法应用对业务进行采样且针对该业务优化路由的优化算法。在该示例中,智能方法应用上述贪婪试探算法。结果在曲线图上以标记为“智能”的实线示出。用于网络路由的随机和智能实现明显改善了建模的网络内的数据的流速。例如,对于1000个流,生成树具有10的流速,而随机路由方法具有约40的流速且智能路由方法具有约47的流速。
示出两个性能界限。饱和界限是在曲线图顶部标记为“饱和”的水平线。该界限在所有上行链路饱和时产生。建模的网络不能在每单位时间传输多于(叶交换机)×(根交换机)=64个流。另一界限针对在某一边缘交换机上具有最大上行链路要求的一组流进行计算。该界限是标记为“界限”的点点划线。遍历该边缘交换机的上行链路的流的总数除以上行链路的数目提供该界限。
上面示出的实验代表胖树网络的整体行为。一致地,对于适度数目的大流(又名大象),有效管理产生大的性能增益。当巨大数目(例如,100,000)的小流(又名老鼠)被建模时,“智能”和“随机”实现均产生仅最优(“饱和”)的结果。
这些结果并不旨在代表胖树网络的定量性能。而是,这些结果旨在定性地说明结合增强型边缘交换机的胖树架构的潜在益处。网络的实际性能可以取决于很多因素,包括组成网络的组件的容量、网络内流的数目和类型以及用于管理网络的算法。
除了上述简单试探法,更复杂的算法可以用于进一步改善网络的性能。而且,可以使用递增地更新TCAM以更高效地适应动态变化的业务的各种在线方法。根据一个说明性实施例,上述原理可以用于支持组合LAN和存储业务的会聚构造。这可以使用胖树架构的控制连接布置而无需按流管理的能力来实现,这可以提供强大的工具来控制用于管理混合的局域网(LAN)和存储业务的隔离和负载平衡。
图7是描述用于对胖树网络中的以太网网络进行负载平衡的说明性方法的流程图。胖树网络通过运行生成树算法且标记组成生成树的链路而初始化(步骤700)。然后激活核心交换机的平衡,这产生胖树网络内的冗余路径(步骤710)。当目的地终端站的位置未知时,仅使用组成生成树的链路,通过网络泛洪消息(步骤720)。网络内的通信流的静态平衡通过向进入的MAC地址应用对称散列函数以产生一致随机散列地址而实现。这些散列地址被分组为散列类,这些散列类被分派给若干可用上行链路之一(步骤730)。网络内的通信流的动态平衡通过采样通过网络的实际业务流且在上行链路之间重新分配散列类而实现(步骤740)。
总而言之,该增强型胖树网络保持了传统两层以太网的最小管理需要,同时扩展这些网络以支持多路径缩放性。胖树网络利用实现静态和动态负载平衡的控制技术。另外,胖树网络可以是自配置的且允许装置贯穿网络移动而无需管理。胖树网络利用增强型边缘交换机而无需要求修改核心交换机,这允许使用来自任意供应商的商业核心交换机。
仅给出前面的描述以说明和描述所描述的原理的实施例和示例。本描述并不旨在是穷举性的或限制这些原理为公开的任意精确形式。鉴于上述教导,很多修改和变化是可行的。
Claims (15)
1.一种对胖树网络(315,455)内的以太网业务进行负载平衡的方法,包含:
使用散列函数(225)随机地将进入消息(510)分派到散列类中;
规划所述散列类在上行链路(550)当中的分派;以及
根据所述散列类,在所述上行链路(550)上传输所述进入消息(510)。
2.根据权利要求1所述的方法,还包含响应于网络业务的测量而在上行链路(550)当中动态地分配所述散列类。
3.根据权利要求1所述的方法,还包含:
使用生成树算法来初始化所述胖树网络(315)以产生包含生成树链路的生成树网络(450);以及然后
激活创建冗余链路的核心交换机(430,435)。
4.根据权利要求3所述的方法,还包含使用所述生成树链路通过所述胖树拓扑(315)泛洪信息。
5.根据权利要求1所述的方法,还包含:
在所述胖树网络(315)上收集散列统计量;以及
向中央控制器(530)报告所述散列统计量。
6.根据权利要求5所述的方法,还包含:
使用所述中央控制器(530)来评估所述散列统计量;以及
动态地设置所述散列类在所述上行链路(550)当中的分配以平衡所述胖树网络(315,455)内的所述以太网业务。
7.根据权利要求1所述的方法,还包含设置所述散列类在所述上行链路(550)当中的所述分配,使得各个流遵循相同的出站和入站路径。
8.根据权利要求1所述的方法,还包含根据贪婪试探算法来执行在所述上行链路(550)当中分配所述散列类。
9.根据权利要求1所述的方法,还包含根据随机算法来执行在所述上行链路(550)当中分配所述散列类。
10.根据权利要求1所述的方法,还包含使用自适应转发技术来执行将消息从根交换机(115)下行链接到边缘交换机(110)。
11.根据权利要求1所述的方法,还包含:
静态地平衡所述胖树网络(315,455)内的负载;以及
动态地平衡所述胖树网络(315,455)内的负载。
12.一种具有通信流的负载平衡的胖树网络(315,455),包含:
终端站(105);
增强型边缘交换机(405);所述增强型边缘交换机(405)具有到所述终端站(105)的下行链路(445)且使用散列模块(225,520)来将进入消息(510)分类为散列类;以及
商业核心交换机(425);所述增强型边缘交换机(405,515)具有到所述商业核心交换机(425)的上行链路(550),所述散列类被动态地分配给所述上行链路(550)以对所述胖树网络(315,455)内的所述通信流进行负载平衡。
13.一种用于在胖树网络(315,455)中对通信流进行负载平衡的增强型网络交换机(405,515),包含:
下行链路(545);
上行链路(550),所述增强型网络交换机(405,515)配置成在所述下行链路(545)和上行链路(550)当中路由通信流;
散列模块(520);所述散列模块(520)从消息(510)接收MAC地址且输出散列地址;以及
TCAM查找模块(535);所述TCAM查找模块(535)将所述散列地址分配到散列类中且向所述上行链路(550)之一分配所述散列类。
14.根据权利要求13所述的网络交换机,还包含:
转发缓存(230);所述转发缓存(230)接收所述散列地址且查找对应的目的地端口;
其中所述上行链路(550)之一是指定的链路,所述指定的链路是底层生成树网络(450)内的链路;如果所述散列地址不对应于所述目的地端口,则所述消息优先在所述指定的上行链路上被泛洪。
15.根据权利要求13所述的网络交换机,还包含:
中央控制模块(530);以及
统计模块(535),所述统计模块(535)收集测量所述上行链路(550)当中的负载平衡的散列统计量且向所述中央控制模块(530)报告所述散列统计量;
其中所述中央控制模块(530)动态地设置所述散列类在所述上行链路(550)当中的分配。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2009/031403 WO2010082939A1 (en) | 2009-01-19 | 2009-01-19 | Load balancing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102282810A true CN102282810A (zh) | 2011-12-14 |
CN102282810B CN102282810B (zh) | 2015-04-08 |
Family
ID=42340029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980154813.3A Expired - Fee Related CN102282810B (zh) | 2009-01-19 | 2009-01-19 | 负载平衡 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9166817B2 (zh) |
EP (1) | EP2374250B1 (zh) |
CN (1) | CN102282810B (zh) |
WO (1) | WO2010082939A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873367A (zh) * | 2012-12-14 | 2014-06-18 | 国际商业机器公司 | 胖树网络中的无死锁路由 |
CN106656812A (zh) * | 2016-12-13 | 2017-05-10 | 北京锐安科技有限公司 | 映射表的构建方法、分流设备的分流方法及相应装置 |
CN106789705A (zh) * | 2015-11-25 | 2017-05-31 | 华为技术有限公司 | 传输控制报文的方法和装置 |
CN109327400A (zh) * | 2017-08-01 | 2019-02-12 | 华为技术有限公司 | 一种数据通信方法及数据通信网络 |
CN110401596A (zh) * | 2019-09-10 | 2019-11-01 | 迈普通信技术股份有限公司 | 报文传输方法、装置、电子设备及可读存储介质 |
CN110474848A (zh) * | 2014-07-11 | 2019-11-19 | 甲骨文国际公司 | 用于在高性能计算环境中支持高效负载均衡的系统和方法 |
CN115495859A (zh) * | 2022-09-19 | 2022-12-20 | 上海交通大学 | 一种基于遗传算法的仓网规划算法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8842688B2 (en) * | 2009-01-20 | 2014-09-23 | The Regents Of The University Of California | Reducing cabling complexity in large-scale networks |
US8776207B2 (en) * | 2011-02-16 | 2014-07-08 | Fortinet, Inc. | Load balancing in a network with session information |
US8908517B2 (en) * | 2011-03-10 | 2014-12-09 | Cisco Technology, Inc. | Traffic distribution across a plurality of attachment circuits of a multihome site with a computer network using hashing algorithm |
CN102164081B (zh) * | 2011-03-31 | 2014-09-03 | 华为技术有限公司 | 一种胖树拓扑的路由计算方法、节点设备和通信系统 |
US20130326131A1 (en) * | 2012-05-29 | 2013-12-05 | Texas Instruments Incorporated | Method for Security Context Switching and Management in a High Performance Security Accelerator System |
US8937865B1 (en) * | 2012-08-21 | 2015-01-20 | Juniper Networks, Inc. | Scheduling traffic over aggregated bundles of links |
US9098434B2 (en) | 2012-09-11 | 2015-08-04 | Ciena Corporation | Load balancing systems and methods of MAC learning in multi-slot architectures |
US9749173B2 (en) | 2012-09-11 | 2017-08-29 | Ciena Corporation | Systems and methods for synchronizing forwarding databases across multiple interconnected layer-2 switches |
US9769078B2 (en) | 2013-11-05 | 2017-09-19 | Cisco Technology, Inc. | Dynamic flowlet prioritization |
US9655232B2 (en) | 2013-11-05 | 2017-05-16 | Cisco Technology, Inc. | Spanning tree protocol (STP) optimization techniques |
US9832122B2 (en) | 2013-11-05 | 2017-11-28 | Cisco Technology, Inc. | System and method for identification of large-data flows |
US10778584B2 (en) | 2013-11-05 | 2020-09-15 | Cisco Technology, Inc. | System and method for multi-path load balancing in network fabrics |
US9502111B2 (en) | 2013-11-05 | 2016-11-22 | Cisco Technology, Inc. | Weighted equal cost multipath routing |
US9374294B1 (en) | 2013-11-05 | 2016-06-21 | Cisco Technology, Inc. | On-demand learning in overlay networks |
US9270592B1 (en) * | 2014-01-24 | 2016-02-23 | Google Inc. | Hash collision avoidance in network routing |
US9413668B2 (en) * | 2014-04-23 | 2016-08-09 | Dell Products L.P. | Systems and methods for load-balancing in a data center |
US10305796B2 (en) | 2015-06-01 | 2019-05-28 | Ciena Corporation | Enhanced forwarding database synchronization for media access control addresses learned in interconnected layer-2 architectures |
JP6623939B2 (ja) * | 2016-06-06 | 2019-12-25 | 富士通株式会社 | 情報処理装置、通信手順決定方法、および通信プログラム |
JP6838455B2 (ja) * | 2017-03-24 | 2021-03-03 | 住友電気工業株式会社 | スイッチ装置、通信制御方法および通信制御プログラム |
US10965602B2 (en) * | 2019-03-14 | 2021-03-30 | Intel Corporation | Software assisted hashing to improve distribution of a load balancer |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514591A (zh) * | 2002-12-31 | 2004-07-21 | 浪潮电子信息产业股份有限公司 | 高速、高性价比的多分支胖树网络拓扑结构 |
US20050276263A1 (en) * | 2004-06-15 | 2005-12-15 | Takahiro Suetsugu | Traffic distribution control device |
US7359383B2 (en) * | 2004-03-29 | 2008-04-15 | Hewlett-Packard Development Company, L.P. | Load balancing with mesh tagging |
US20080285562A1 (en) * | 2007-04-20 | 2008-11-20 | Cray Inc. | Flexible routing tables for a high-radix router |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811337A (en) * | 1988-01-15 | 1989-03-07 | Vitalink Communications Corporation | Distributed load sharing |
US5684800A (en) * | 1995-11-15 | 1997-11-04 | Cabletron Systems, Inc. | Method for establishing restricted broadcast groups in a switched network |
US6980521B1 (en) * | 2000-11-29 | 2005-12-27 | Cisco Technology, Inc. | Method and apparatus for per session load balancing with improved load sharing in a packet switched network |
US6980550B1 (en) * | 2001-01-16 | 2005-12-27 | Extreme Networks, Inc | Method and apparatus for server load balancing |
US20020124104A1 (en) * | 2001-03-01 | 2002-09-05 | Yigal Rappaport | Network element and a method for preventing a disorder of a sequence of data packets traversing the network |
US7436832B2 (en) * | 2004-05-05 | 2008-10-14 | Gigamon Systems Llc | Asymmetric packets switch and a method of use |
US8194664B2 (en) * | 2006-10-10 | 2012-06-05 | Cisco Technology, Inc. | Two-level load-balancing of network traffic over an MPLS network |
US7821925B2 (en) * | 2007-01-29 | 2010-10-26 | Fulcrum Microsystems, Inc. | Traffic distribution techniques utilizing initial and scrambled hash values |
JP4676463B2 (ja) * | 2007-07-13 | 2011-04-27 | 株式会社日立製作所 | 並列計算機システム |
US8483096B2 (en) * | 2008-07-22 | 2013-07-09 | The Regents Of The University Of California | Scalable commodity data center network architecture |
-
2009
- 2009-01-19 US US13/145,251 patent/US9166817B2/en active Active
- 2009-01-19 EP EP09838521.4A patent/EP2374250B1/en active Active
- 2009-01-19 CN CN200980154813.3A patent/CN102282810B/zh not_active Expired - Fee Related
- 2009-01-19 WO PCT/US2009/031403 patent/WO2010082939A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514591A (zh) * | 2002-12-31 | 2004-07-21 | 浪潮电子信息产业股份有限公司 | 高速、高性价比的多分支胖树网络拓扑结构 |
US7359383B2 (en) * | 2004-03-29 | 2008-04-15 | Hewlett-Packard Development Company, L.P. | Load balancing with mesh tagging |
US20050276263A1 (en) * | 2004-06-15 | 2005-12-15 | Takahiro Suetsugu | Traffic distribution control device |
US20080285562A1 (en) * | 2007-04-20 | 2008-11-20 | Cray Inc. | Flexible routing tables for a high-radix router |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873367B (zh) * | 2012-12-14 | 2017-05-03 | 国际商业机器公司 | 路由数据分组以及确定路由的方法和装置、胖树网络 |
CN103873367A (zh) * | 2012-12-14 | 2014-06-18 | 国际商业机器公司 | 胖树网络中的无死锁路由 |
CN110474848A (zh) * | 2014-07-11 | 2019-11-19 | 甲骨文国际公司 | 用于在高性能计算环境中支持高效负载均衡的系统和方法 |
US11716293B2 (en) | 2014-07-11 | 2023-08-01 | Oracle International Corporation | System and method for supporting efficient load-balancing in a high performance computing (HPC) environment |
CN106789705A (zh) * | 2015-11-25 | 2017-05-31 | 华为技术有限公司 | 传输控制报文的方法和装置 |
CN106789705B (zh) * | 2015-11-25 | 2020-04-28 | 华为技术有限公司 | 传输控制报文的方法和装置 |
CN106656812B (zh) * | 2016-12-13 | 2020-06-02 | 北京锐安科技有限公司 | 映射表的构建方法、分流设备的分流方法及相应装置 |
CN106656812A (zh) * | 2016-12-13 | 2017-05-10 | 北京锐安科技有限公司 | 映射表的构建方法、分流设备的分流方法及相应装置 |
CN109327400A (zh) * | 2017-08-01 | 2019-02-12 | 华为技术有限公司 | 一种数据通信方法及数据通信网络 |
US11303571B2 (en) | 2017-08-01 | 2022-04-12 | Huawei Technologies Co., Ltd. | Data communication method and data communications network |
CN109327400B (zh) * | 2017-08-01 | 2022-04-26 | 华为技术有限公司 | 一种数据通信方法及数据通信网络 |
CN110401596A (zh) * | 2019-09-10 | 2019-11-01 | 迈普通信技术股份有限公司 | 报文传输方法、装置、电子设备及可读存储介质 |
CN110401596B (zh) * | 2019-09-10 | 2023-05-26 | 迈普通信技术股份有限公司 | 报文传输方法、装置、电子设备及可读存储介质 |
CN115495859A (zh) * | 2022-09-19 | 2022-12-20 | 上海交通大学 | 一种基于遗传算法的仓网规划算法 |
CN115495859B (zh) * | 2022-09-19 | 2023-11-03 | 上海交通大学 | 一种基于遗传算法的仓网规划方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2374250A4 (en) | 2012-10-24 |
EP2374250A1 (en) | 2011-10-12 |
WO2010082939A1 (en) | 2010-07-22 |
US20110273987A1 (en) | 2011-11-10 |
US9166817B2 (en) | 2015-10-20 |
CN102282810B (zh) | 2015-04-08 |
EP2374250B1 (en) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102282810B (zh) | 负载平衡 | |
US10728176B2 (en) | Ruled-based network traffic interception and distribution scheme | |
EP3224999B1 (en) | Method to optimize flow-based network function chaining | |
Chen et al. | Survey on routing in data centers: insights and future directions | |
CN101573927B (zh) | 网络系统中的路径最大传输单元发现 | |
US9225628B2 (en) | Topology-based consolidation of link state information | |
US9503378B2 (en) | Load-balancing algorithms for data center networks | |
CN105262681B (zh) | 分布式路由架构 | |
CN100596107C (zh) | 报文转发方法以及自治系统边界路由器 | |
CN101478802B (zh) | 一种基于蜂群算法的自组织QoS路由方法 | |
CN104734955A (zh) | 网络功能虚拟化的实现方法、宽带网络网关以及控制装置 | |
CN111245722B (zh) | 一种基于遗传算法的sdn数据中心网络流转发方法 | |
CN101383772B (zh) | 一种自动发现并建立mac路由信息表的方法及装置 | |
CN101171802B (zh) | 网络节点,网络,产生在网络中传送信息的对应关系产生方法 | |
CN112910785B (zh) | 一种基于ndn的边缘计算路由表建立与使用方法 | |
CN107682265B (zh) | 支付系统的报文路由方法及装置 | |
Leão et al. | Latency and network lifetime trade-off in geographic multicast routing for multi-sink wireless sensor networks | |
CN104838624A (zh) | 一种控制业务数据在虚拟网络中转发的方法、装置及系统 | |
Liang et al. | Dynamic flow scheduling technique for load balancing in fat-tree data center networks | |
Leão et al. | Latency and lifetime optimization for k-anycast routing algorithm in wireless sensor networks | |
Liu et al. | A hybrid routing algorithm based on load balancing for LEO satellite networks | |
Karamizadeh et al. | The Improvement of Routing Operation Based on Learning Automata Using Local and National Smart Factors with the Help of the Ant Colony Algorithm | |
Zheng et al. | A Routing Strategy for GEO/LEO Satellite Network Based on Dynamic Delay Prediction and Link Control | |
Barrenetxea | Distributed routing algorithms for sensor networks | |
CN114978279A (zh) | 一种卫星网络缓存节点的选取与分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170207 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Patentee before: HP Development Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150408 Termination date: 20200119 |