CN101682442B - 用于第2层链路聚合的动态负载均衡 - Google Patents
用于第2层链路聚合的动态负载均衡 Download PDFInfo
- Publication number
- CN101682442B CN101682442B CN200880017344.6A CN200880017344A CN101682442B CN 101682442 B CN101682442 B CN 101682442B CN 200880017344 A CN200880017344 A CN 200880017344A CN 101682442 B CN101682442 B CN 101682442B
- Authority
- CN
- China
- Prior art keywords
- link
- link aggregation
- key
- data
- dynamic load
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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/11—Identifying congestion
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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/41—Flow control; Congestion control by acting on aggregated flows or links
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于第2层链路聚合的负载均衡包括对链路聚合密钥(LAGK)的初始指派和在发现值得采取动作的负载失衡状况时对LAGK的重指派。负载状况动态改变,并且因为此原因,负载均衡往往也是动态的。负载均衡优选地是在其必要时执行的。因此,触发负载均衡的失衡状况优选地限于诸如存在帧丢弃、同步丢失或超过物理链路容量之类的状况。
Description
著作权公告
本专利文献的公开内容的一部分包含受著作权保护的内容。著作权所有人不反对任何人对专利文献或专利公开以其出现在专利商标局专利文件或记录中的形式进行复制再现,但除此之外保留一切著作权权利。
技术领域
本申请涉及数据通信,更具体而言涉及经由诸如无线通信网络之类的网络的数据通信中的负载均衡(load balancing)。
背景技术
数据通信网络体系结构常具有为诸如TCP/IP(传输控制协议/因特网协议)、OSI(开放系统互连)和SNA(系统网络体系结构)之类的实现协议栈的通信协议而设计的分层结构。利用这种分层结构,协议使得一个主机中的实体能够与远程主机中同一层上的对应实体进行交互。例如,TCP/IP协议是一组通信协议,其包括较低层协议(例如TCP和IP)和用于诸如电子邮件、终端模拟和文件传送之类的应用的较高层协议。TCP/IP可用于在任何一组互连网络、LAN和WAN上通信。OSI参考模型(也称为OSI模型)是对被划分成层的联网系统的抽象描述。在每个层内,一个或多个实体实现其功能。根据OSI模型,每个实体直接与紧挨其下的层进行交互,并且提供供其上的层使用的设施。
虽然对于每个协议,协议栈可能是不同的,但我们一般将较低的协议层分别称为第2层和第1层。栈中的最低层为第1层(或者它也被称为物理层)。物理层提供用于定义设备的所有电气和物理规格以及用于建立和终止去到网络上的通信介质的连接的功能和过程手段。在其之上,第2层提供转发域,诸如网桥和交换机之类的设备在该转发域中工作。即,第2层提供用于在网络实体之间传送数据并且检测并可能校正物理层中可能发生的差错的功能和过程手段。
为了实现节点(例如,交换机和站)之间通信信道的带宽和可用性的提高,链路聚合(link aggregation)或者说主干技术(trunking)是一种将物理网络链路聚集成单条逻辑链路亦即单个传输信道(根据IEEE标准802.3ad)的方法。利用链路聚合,可以使用其快速以太网和吉比特以太网技术来提高节点之间的通信信道的容量。两个或更多个吉比特以太网连接可被聚集起来以增大带宽,并且创建有弹性且冗余的链路。标准的局域网(LAN)技术提供了10Mbps、100Mbps和1000Mbps的数据速率,为了获得更高的容量(例如,10000Mbps),链路聚合允许聚集10条链路;在十(10)倍太大的情况下,链路聚合可通过聚集具有不同速率的链路来提供中间速率。
第2层链路聚合可用在各种类型的数据通信中,其中包括传输信道、以太网端口等等。第2层链路聚合使用特殊的数据流量模式或特征。这种模式的示例是目的地和源地址,例如MAC和IP地址(MAC-媒体访问控制)。这些模式可能使得在第2层链路聚合操作中难以处理流量负载均衡,因此希望具有更好的负载均衡方案。
发明内容
本发明的各种实施例是可能的,其示例在这里提供。就所示出且在这里宽泛描述的本发明而言,示例性实施例包括一种方法和一种系统。
一个实施例是一种用于在数据通信系统中提供动态负载均衡的方法。该方法可包括:在具有多条物理链路的数据通信系统中创建链路聚合群组,这多条物理链路中的每一条具有用于传输外出数据(egress data)或其任何部分的容量。链路聚合群组是通过将这多条物理链路中的两条或更多条组合成用于外出数据的单条逻辑链路来形成的。该方法还可包括向链路聚合群组分配链路聚合密钥(link aggregation key)的集合,其中每个链路聚合密钥被指派给链路聚合群组中的物理链路之中的特定一条物理链路。该方法还可包括从外出数据导出这些链路聚合密钥中的每一个的数据速率,并且基于数据速率和链路聚合群组中的物理链路的容量来执行动态负载均衡。
各种方面和属性可应用到前述步骤。动态负载均衡可包括检测触发负载均衡的状况,其中所述状况可包括与外出缓冲器溢出状态相关联的帧丢弃,并且要求监视外出缓冲器溢出状态。动态负载均衡可包括基于外出数据监视流量负载并且积累数据速率以用于计算流量负载;或者它可包括监视包括故障和恢复在内的数据通信系统状况的改变,基于这种改变,动态负载均衡被触发。改变可包括物理链路的故障或恢复,该种故障或恢复导致将外出数据转移到链路聚合群组中的物理链路之中的剩余一条或多条物理链路。当这种转移使得数据速率基本上达到或超过这些物理链路中的任何剩余的一条或多条物理链路的容量时,可证明动态负载均衡是有益的。因此,在被发现时可触发动态负载均衡的状况之一是链路容量失衡。诸如一个或多个帧的丢失(帧丢弃状况)或这种帧之间的同步的丢失之类的其他状况在被发现时也可单独地或者与链路容量失衡相结合来触发动态负载均衡。
外出数据通常包括多个帧,其中每一个具有其自己的有效载荷和用来计算相应密钥值的标识信息,并且数据速率是对于这多个帧中的每一个导出的。有可能链路聚合密钥的集合是在数据通信系统中可用的链路聚合密钥的更大群组的一部分,并且该方法包括创建多个链路聚合群组,其中每一个被分配以来自所述更大群组的链路聚合密钥子集。另外,多于一个链路聚合密钥可被指派给一特定物理链路。
通常,外出数据包括有效载荷和标识信息。因此导出步骤可包括根据标识信息来计算密钥值,将密钥值与所述集合中的链路聚合密钥相比较,并且计算这些链路聚合密钥中与密钥值匹配的一个链路聚合密钥的数据速率。标识信息可以是包括源和目的地地址,并且计算密钥值的步骤可包括对源和目的地地址(例如,在源和目的地MAC地址中每一个的n个LSB(最低有效位)之间)执行逻辑运算,例如异或。
负载均衡包括对所述集合中的链路聚合密钥的最初指派和随后的重指派。将它们最初指派给链路聚合群组中的物理链路的步骤包括将链路聚合密钥的集合划分成子集并将每个子集指派给链路聚合群组中的物理链路之一,其中划分在每个子集内形成链路聚合密钥的连续块。最初指派的特征可在于随机选择每个连续块的开始的偏移量。最初指派给每条物理链路的链路聚合密钥的数目可基于该物理链路的容量被加权。然后,动态负载均衡可包括将链路聚合密钥从一个子集重指派到另一子集。
在多条物理链路的情况下,一种用于提供数据通信的动态负载均衡的系统也是可能的。这多条物理链路可包括无线通信链路。每条物理链路具有用于传输外出数据或其任何部分的容量。这多条物理链路被配置为链路聚合群组的成员,以便增大容量。这种系统可包括交换机(或者另外的路由设备;统称为“交换机”)。交换机可包括相互操作性耦合的逻辑和存储装置,其中存储装置包含程序代码,该程序代码与该逻辑操作性地交互以基于数据流量状况的改变来动态配置外出数据到该多条物理链路的交换。
这种系统优选地包括适合于基于外出数据监视这些链路聚合密钥中的每一个的数据速率的引擎,以及控制模块,该控制模块适合于从引擎获得数据速率,并且响应于负载失衡状况,执行包括重指派链路聚合密钥和与交换机相接口以管理地址/端口重配置在内的动态负载均衡。引擎可包括性能计数器。控制模块优选是基于软件的。优选地,引擎还适合于通过计算密钥值并将密钥值与所指派的链路聚合密钥之一相匹配,来从外出数据导出数据速率。引擎还可包括维护着链路聚合密钥中的每一个的数据速率的表。交换机通常包括用于外出数据的缓冲器,并且因此控制模块还可适合于监视该缓冲器的溢出状况并作为响应触发动态负载均衡。最后,上述方面和属性中的一些也可应用到该系统。
从这里的描述、权利要求和下面描述的附图中,可以更好地理解这些和其他特征、方面和优点。
附图说明
结合在本说明书中并构成其一部分的附图示出了本发明的各个方面并且与说明书一起帮助说明其原理。只要方便,在所有附图中就将使用相同的标号来指代相同或类似的要素。
图1A示出了DAC-GE(吉比特以太网数据访问卡)链路聚合环境。
图1B是示出能够在EclipseTM平台上实现的在每一端使用两个DAC-GE的链路聚合配置的示图。
图2A是示出无线通信系统中的节点的INU(智能节点单元)中的DAC-GE的框图。
图2B是DAC-GE的框图。
图2C是具有故障检测和链路聚合密钥速率监视功能的基于FPGA的处理引擎的框图。
图3A是说明动态负载均衡触发事件监视和检测到负载均衡触发事件后的密钥分布的状态图。
图3B是说明可能先于动态负载均衡的链路聚合成员故障或恢复后的动态链路聚合密钥重分布的状态图。
图4示出了可针对具有动态负载均衡的链路聚合进行配置的2+0微波无线电链路的体系结构。
具体实施方式
以下描述是在此特定专利许可证申请及其使本领域普通技术人员能实现并使用发明的要求的上下文中提供的。对所描述和示出的实施例的各种修改是可能的,并且这里定义的一般原理可被应用到这些和其他实施例,而不脱离本发明的精神和范围。因此,本发明应符合与这里公开的原理、特征和教导一致的最宽范围。
本发明部分地基于以下观察到的事实:第2层链路聚合基本上可用于所有类型的通信中。另外,被设计来提高两个交换机之间的链路可用性和带宽并且避免使用多条并行链路的网络中的所谓环路问题的链路聚合可用于促成冗余和流量负载均衡。因此,第2层链路聚合是用于解决冗余和负载均衡的适当平台。
当某条链路发生故障时,通过将发生故障的链路的流量转移到链路聚合群组的其他链路,来获得冗余。利用冗余,远端交换机经由相同的逻辑链路聚合端口接收以太网帧,虽然这些帧可能来自不同的物理链路。负载均衡在多条链路之间更均匀地分布流量负载。因此,第2层链路聚合的动态负载均衡在本发明的各种实施例中是一种优选的负载均衡方法。
如上所述,一般地,在其中近端和远端(发送-接收)交换机经由多条物理链路相互连接的系统中,链路聚合将这些交换机之间的多条物理链路组合成单条逻辑链路。如此组合的物理链路形成一链路聚合群组(LAG),其中它的每条链路是该LAG的一个成员。LAG的每个成员具有唯一分配给它的一个或多个链路聚合密钥(LAGK)的集合。换言之,两个交换机(例如,以太网交换机)之间的多条物理链路被组合以形成单个LAG,其中其每个成员链路被唯一地分配了可用LAGK的一个子集。分配给物理链路的每个LAGK充当用于将具有匹配密钥的分组交换到该物理链路的向导。
例如,微波无线电系统,比如Morrisville,NC的Harris StratexNetworks公司的EclipseTM微波平台,可以利用一个智能节点单元(INU)实现两条具有155Mbps传输速率的无线电链路的链路聚合。利用所建议的一个INU,两条无线电链路的链路聚合可以实现311Mbps的总带宽。为了实现总共622Mbps的带宽,链路聚合可以使用两个INU,其中每一个具有两条155Mbps无线电链路。这两个INU可经由各自的用户端口相互链接。
第2层链路聚合可以实现在诸如EclipseTM之类的微波无线电系统中,并且具有这里描述的动态负载均衡。通常,可在数据访问卡(DAC)中向链路聚合应用用于动态负载均衡的算法。例如,上述的EclipseTM微波平台可在吉比特以太网数据访问卡(DAC-GE)中应用用于动态负载均衡的算法。在一个实施例中,结合嵌入的软件,可在诸如现场可编程门阵列(FPGA)之类的逻辑电路中实现该算法。图1A示出了DAC-GE链路聚合环境。
在这种DAC-GE链路聚合环境中,DAC-GE 的用户端口通常提供以太网连接。假定发送(TX)方在左侧并且接收(RX)方在右侧,分组帧通过包括物理链路1和2的传输信道在无线电装置(分别是45、47至49、51)之间从左至右传送。当角色颠倒时分组帧在相反的方向上传送(或者当两者能够同时发送和接收时分组帧可能在两个方向上传送)。在发送(TX)方,用户端口101接收以太网帧并经由第2层交换机106依据LAG的每个物理链路成员的LAGK将这些以太网帧转发到LAG的每个物理链路成员(即,分组被路由到具有与其自己的密钥相匹配的指定LAGK的物理链路)。为此,第2层交换机106可包括适合用于处理与来自用户端口的帧有关的交换判决的交换逻辑107。
以太网帧携带着源和目的地MAC(媒体访问控制)地址,交换是基于这些地址来解析的。第2层交换机还可包括带有网络的动态配置的交换或地址解析表,其中包括哪个用户端口连接到哪个设备(每个设备由特定的MAC地址来标识)。在此环境中,存在16个可能的LAGK(0,1,...,15)。如图所示,在TX和RX方,这16个LAGK分别被划分成两个子集:为物理链路1指定的LAGK子集1(LAGK 0,1,...,7)和为物理链路2指定的LAGK子集2(LAGK 8,9,...,15)。在此例中,每个第2层交换机106中的LAGK分别被定义为:
LAGK=DMAC(4个最低有效位)XOR SMAC(4个最低有效位)其中DMAC是以太网帧的目的地MAC地址,SMAC是以太网帧的源MAC地址(此定义是示例性的,其他定义也是可能的)。
注意,第2层交换机向LAG的特定物理链路(交换机外出端口)成员唯一地指派一特定LAGK(虽然每条物理链路可被指派以LAGK的子集(即,多于一个LAGK))。根据以上定义,从以太网帧导出的LAGK决定了LAG中用来转发该以太网帧的物理链路。
因此,对于在TX方(即,在本地或近端一方)的第2层交换机中接收到的每个以太网帧,可以基于MAC地址来做出关于哪个目的地(远端(RX)一方的第2层交换机用户端口)应当接收该以太网帧的第一转发判决。如果获知了MAC地址(例如单播或多播DMAC地址),则该判决可通过查看地址解析表(ART)来做出;如果未获知MAC地址(在广播时就是如此),则可以做出进行广播的转发判决。其次,本地交换机通过使用以太网帧的DMAC和SMAC地址来为以太网帧计算LAGK。交换机随后经由被(例如可编程地)预先指派了与计算出的LAGK值相匹配的LAGK的物理链路(在此例中为1或2)将该以太网帧转发到远端的用户端口。优选地,LAGK的指派是随改变着地址的网络状况而动态改变的,这将在下文中说明。
近端和远端第2层交换机处的LAGK指派不需要是对称的。例如,EclipseTM中的DAC-GE可以使用对近端和远端方分别不同的链路聚合和负载均衡算法。因此,LAGK指派在每个第2层交换机处设定用于将以太网帧流量转发到LAG内的物理链路的规则。
当转发流量时,LAGK中的负载均衡可能从一开始就是必要的,因为LAGK的初始指派可能是在没有关于流量状况的任何信息(例如流量统计信息或模式信息)的情况下被编程的。另外,流量状况可能随着时间而改变,并导致失衡的流量负载。被引导到一条物理链路的流量可能比被引导到LAG中的另一物理链路的流量更重。流量失衡以及随之而来的过载的物理链路可能由于缓冲器溢出或等待延迟增大而导致帧丢失。在流量负载失衡的情况下,负载的重分布可帮助均匀负载。
优选地,负载均衡是通过重指派LAGK来实现的。负载均衡通常是通过对交换机107重编程以将LAGK指派给LAG中的成员,从而以基于软件的重配置的形式来实现的。在现实中,流量状况的改变动态发生,因此优选地,LAGK的重指派应当是动态的。
当实现负载均衡算法以在链路聚合中实现动态负载均衡时,若干个考虑因素可能是适用的。例如,因为负载均衡优选是动态的,所以它可以仅在确实必要时才被执行。这样实现可减小开销。即,即使当流量负载在LAG成员之间失衡时,如果不存在诸如帧丢失之类的问题,负载均衡也不是必要的。这一考虑因素可能是重要的,因为LAGK的任何重分配都可能导致网络(链路)配置的混乱并且可能导致瞬间流量中断。在一个可能的场景中,当流量被从一条非常拥挤的链路重引导到一条流量较轻的链路时,可能存在帧同步故障。在此情况下,经由拥挤链路发送的帧可能由于缓冲而被延迟并且比由负载较轻的链路传送的帧更晚到达。这种延迟的时间区间可能非常短(小于400μs),但仍可能影响流量并且如果产生了同步故障的话则可能要求负载均衡。
可应用到负载均衡算法的另一考虑因素是在发现帧丢失之后需要提供尽可能最迅速的响应以便防止进一步的帧丢失。实现负载均衡算法时的一个相关考虑因素可能是在检测到故障后需要尽可能快地收敛到流量状况的稳态。
在一个例子中,用于链路聚合中的动态负载均衡的算法可被划分成两个部分:1)LAGK的初始分配,以及2)动态负载均衡。
LAGK的初始分配这个部分包括将所有可用LAGK(例如,16个LAGK)划分到LAGK的子集中并且将它们指派给LAG的成员。LAGK的初始分配的特征可在于它形成子集中的连续LAGK块。这对于避免出现全是奇数或全是偶数的LAGK的子集是有用的。初始LAGK分配的特征还可在于随机选择的LAGK子集偏移量,其中连续的LAGK块(子集)是在每次交换机复位时利用软件随机生成的。另一个可能性是基于链路容量按配置对为每条链路分配的LAGK的数目进行加权。LAG的每个子集或成员的权重可依据其链路容量来配置。例如,对于由两条链路构成的LAG(一条311Mbps(2×155Mbps),一条155Mbps),权重可被配置为:
链路 | 权重 | LAGK子集 |
311Mbps | 11 | (4,5,6,7,8,9,10,11,12,13,14) |
155Mbps | 5 | (15,0,1,2,3) |
总计 | 16 |
在图1B中,示出了在上述的EclipseTM平台上此示例的可能配置的示图。此配置是基于经由如图所示桥接的用户端口4(例如光学端口)相互链接的无线电装置(例如,近端的45和47以及远端的49和51)的。各交换机的用户端口的桥接形成了多个无线电装置的链,以创建链路聚合。在此例中,桥接允许了两条物理链路被组合并形成单个LAG,其中16个可用的LAGK被划分在LAG的成员链路之间。端口分别具有311Mbps和155Mbps链路容量,并且此示例中链路聚合的总带宽为466Mbps。如上所述,LAGK的指派不需要是对称的,并且如此示例中所示,近端和远端交换机处的LAGK指派是非对称的(在每一端是不同的)。
根据上述示例,可以设想构建“第二级”链路聚合的可能性,如果第二交换机106C,D被配置为设定另一链路聚合的话(EclipseTM平台的智能节点单元(INU)内的第二交换机)。然而,优选地,由于去往第二交换机的进入流量的受限制的LAGK,可以避免构建“第二级”链路聚合。
前述算法的第二部分是动态负载均衡部分。动态负载均衡优选地基于每LAGK的外出数据速率、外出缓冲器状态和物理链路容量。物理链路容量信息提供了物理链路支持的最大数据速率。外出状态信息被用作请求负载均衡的触发。外出状态信息已经以外出使用的RAM、由于LAG的每条物理链路(端口)的发送缓冲器的缺乏而造成的帧丢失等等的形式而存在于交换机中。用于确立每LAGK的外出数据速率的装置可利用用于每个LAGK的性能计数器来实现于DAC-GE的FPGA中。这些计数器按例如1-10秒的时间间隔来测量每个LAGK的当前数据速率(以Kbps为单位)。利用关于与每个LAGK相关联的流量负载的知识,算法可以执行更好的负载均衡。
在经由链化的INU(经由网桥而链化的用户端口)进行链路聚合的情况下,前述方案可能需要硬件支持或带内通信信道来获得链化INU的LAGK性能计数器。性能计数器可经由以太网接口实现在扩展总线专有网桥协议数据单元(BPDU)中(由交换机的内部CPU发出)。用于负载均衡目的的链化端口的虚拟链路容量应当是最终无线电链路容量而不是用户接口容量,通常是1000Mbps。
在每个INU中,DAC-GE可以被设计有处理引擎,用于执行动态负载均衡并且如下文所述将快速信道故障检测(RCFD)用于第2层链路聚合。DAC-GE的各种配置是可能的,但如图2A、2B和2C所示,优选的设计采用基于FPGA、CPLD、ASIC的处理引擎或者其他逻辑电路中的硬件辅助实现方式(我们将这些实现方式统称为“基于FPGA的处理引擎”或者简称为“处理引擎”)。
用于此目的的基于FPGA的处理引擎的DAC-GE上的一种实现方式在图2A、2B和2C中示出。具体地,图2A是示出无线通信系统的节点的INU中的DAC-GE的框图。DAC-GE包括增强故障检测和恢复而不损害吞吐量的功能,从而提供例如低于50ms的故障响应时间。DAC-GE在一侧经由用户端口101与客户数据系统相接口,而在另一侧与无线电访问卡(RAC)35相接口。来自RAC的数据流向室外单元(ODU)45(在诸如EclipseTM之类的分置式系统中)并且经过天线23和无线链路60。在INU中,TDM(时分复用)总线110提供主干(backbone),诸如节点控制卡(NCC)21、DAC-GE 41和RAC 35之类的各种卡通过该主干连接。NCC包括处理器114,并且充当控制包括DAC-GE卡41在内的各种卡的访问的总线主控。
如还示出的,FPGA 200存在于DAC-GE卡41内,并且其功能被提供来促成第2层链路聚合、LAGK速率(数据速率)监视和积累以及载体故障的检测。节点控制卡(NCC)21中的CPU 114可操作来执行数据速率监视和负载均衡控制功能(包括监视由FPGA 200积累在LAGK表208中的LAGK速率并且判定何时触发动态负载均衡)。响应于来自NCC 21中的CPU 114的输入,交换机中的处理器(例如,交换机逻辑107)可操作来将交换机106(图1A、B)配置和重配置到剩余可用载体的新容量。流量是经由DAC-GE卡中的交换机来分布的,但NCC卡中的CPU进行重配置。换言之,DAC-GE卡上的交换机基于FPGA的操作(故障检测等)在NCC中的CPU的控制下被动态重配置。
注意,在无线通信系统中的特定节点和其他节点之间可能存在多跳。然而,DAC-GE的负载均衡以及故障检测和恢复操作并不关心跳的数目,并且它们有益地促成了网络端到端故障检测、恢复和负载均衡。另外,为了生效,DAC-GE 41应当被部署在这种系统的至少两个节点的INU中。
如DAC-GE的框图中所示,在图2B中,第2层交换机106包括交换逻辑107和用户端口101。经由用户端口101进入交换机106的以太网帧被交换逻辑107排队在发送缓冲器120、122中,以便被路由到适当的信道121、123(例如基于地址解析表)。然后,FPGA 200被配置为截取被交换的传出以太网帧,以便从其中导出LAGK的数据速率并经由TDM总线110将以太网帧从DAC-GE转发到相应的RAC 35A,B。根据一个实施例,FPGA 202被配置为从截取的以太网帧导出DMAC(目的地MAC212)和SMAC(源MAC 214)并且对DMAC和SMAC的4个LSB(最低有效位)执行XOR(异或)运算,以计算出LAGK。如上所述,FPGA将计算出的LAGK积累在表208中。
如上所述,链路聚合被用在具有多条物理链路(干线)的点到点通信中,以将它们聚集成一个管道,而不是独立工作的链路。为此,LAGK被用作以太网帧流量片段的标识符以便进行交换判决(哪个片段去往哪条物理链路)并且用作用于创建负载均衡的工具。因此,在此实施例中,计算出的LAGK是16个可能的LAGK之一并且其对应于LAGK数据速率表208的16行之一。此表的第二列包括16个LAGK中每一个的数据速率。这些速率根据从以太网帧流量导出的LAGK被更新。
LAGK速率表208中的信息可供NCC 21中的链路聚合负载均衡控件115使用,该控件在此实施例中是担负着处理数据速率信息的任务的软件模块。具体而言,链路聚合负载均衡控件115从第2层交换机106获得发送信道缓冲器状态,并且结合来自LAGK速率表的数据速率(LAGK速率)信息,它可以确定在流量负载失衡的情况下如何最好地重分配LAGK以便均衡负载。暂时转到图3A的状态图,它说明了在发现触发事件后负载均衡的监视控制。如图所示,只要有稳态操作135,就没有负载均衡活动。然而,一旦发现了触发事件(1),例如分组丢失、重大负载失衡或其他故障,负载均衡控件就可激活负载均衡任务。在恢复后,系统达到稳态操作并且负载均衡任务可以停止其操作。
返回图2B,负载均衡控件115的软件模块执行其负载均衡任务的方式可以通过多种方式来实现,其一个示例在以下作为算法以一组程序指令形式提供。
一般来说,动态负载均衡算法包括监视LAG中的物理链路和流量负载更新。流量更新包括检测帧丢弃(缓冲器溢出)状况并且积累相关流量数据速率以用于计算相应的流量负载。监视包括检测触发负载均衡的状况。一旦检测到链路过载状况,上述的负载均衡就可被触发,如果存在其他具有可用容量来接管一些负载的链路的话。
更具体而言,包括用于初始化和动态负载均衡主循环的程序指令在内的所提出的算法如下所示在一伪C程序中描述:
/*****************************************************/
/*描述DAC-GE的用于链路聚合的*/
/*动态负载均衡的算法的伪“C”程序*/
/*Copyright 2005-2007,Harris Stratex Networks公司*/
/*****************************************************/
/*************/
/*定义*/
/*************/
#define K 16/*链路聚合密钥的最大数目*/
int N;/*LAG的物理链路的数目*/
int R[K];/*来自FPGA的链路聚合密钥k的数据速率*/
int W[N];/*为链路n指派的链路聚合密钥的权重或数目*/
bool FDrop[N];/*链路n上的帧丢弃,真还是假*/
int LAGK[N][K];/*分配给链路n的链路聚合密钥的集合*/
int Rate[N];/*链路n上的总流量速率,以Kbps为单位*/
int Cap[N];/*链路n的容量,以Kbps为单位(无线电链路)*/
int Load[N];/*链路i上的流量负载(0-101),测量为100*(R[n]/C[n])*/
int Max_Load;/*流量负载的溢出阈值水平(0-101)*/
int Min_Load;/*在其下允许更多流量的流量负载水平(0-101)*/
/******************/
/*初始化*/
/******************/
/*随机选择初始LAGK偏移量(0-15)*/
KO=Random(K);
for(n=0;n<N;n++)/*对于LAG的所有物理链路*/
{
/*向子集LAGK[n]分配其权重*/
for(k=0;k<W[n];k++)
{
LAGK[n][k]=(KO+k)%K;/*k>15时回卷到0*/
}
KO=KO+W[n];/*下一偏移量开始于此块的末尾*/
}
/*************/
/*主循环*/
/*************/
/*用于负载均衡的主循环*/
while(not_end&¬_config_reset)
{
/*更新LAG的所有链路的流量负载*/
for(n=0;n<N;n++)
{
/*检测帧丢弃(缓冲器溢出)状况*/
if(FDroρ[n]==TRUE)
{
Load[n]=101;/*溢出状况*/
}
else
{
/*链路n的第一更新流量数据速率*/
Rate[n]=0;
for(k=0;k<W[n];k++)
{
Rate[n]+=R[LAGK[n][k]];/*积累相关LAGK数据速率*/
}
/*计算流量负载*/
Load[n]=100*(Rate[n]/Cap[n]);
}
}/*更新流量负载结束*/
/*监视所有链路*/
for(n=0;n<N;n++)
{
/*检测触发负载均衡的状况*/
if(Load[n]>=Max_Load)
{
/*检查以寻找具有空余容量的另一链路的存在*/
for(s=0;s<N;s++)
{
if(s==n)continue;/*自行跳跃*/
if(Load[s]<Min_Load)
{
/*从链路n到链路s找出适当的密钥k,以便均衡负
载。它取决于其数据速率R[k]以使得所得到的
Rate[s]<Max_Load*/
k=transfer_suitable_LAGK(n,s);
/*如果找到适当的密钥来转移,则跳到下一链路*/
if(k==NULL)continue;
/*空余链路s加一个LAGK及其数据速率*/
W[s]++;
Rate[s]=Rate[s]+R[k];
Load[s]=100*(Rate[s]/Cap[s]);
/*拥挤链路n减一个LAGK及其数据速率*/
W[n]--;
Rate[n]=Rate[n]-R[k];
Load[n]=100*(Rate[n]/Cap[n]);
/*如果所得到的链路n上的负载低于溢出阈值,则
结束对其的负载均衡*/
if(Load[n]<Max_Load)break;/*从for(s=0;s<N;
s++)中退出*/
}
}
}
}/*结束对所有链路的监视*/
}/*while*/
/********************结束**************/
为了实现该算法,如图2C所示,基于FPGA的处理引擎200被部署有LAGK速率监视功能,以促成用于第2层链路聚合的动态负载均衡。处理引擎200被示为操作性地连接到传输信道TC1/TC2(121,123),用于接收来自第2层交换机(图2B中的106)的分组。在相对的一端,处理引擎可操作地连接到背板接口(110,图2A)。处理引擎被配置为把其接收到的分组变换为适当的块(具有相关联的时隙)以便由背板传送到无线通信链路。
为了实现LAGK速率监视功能,处理引擎200经由其LAGK监视器206截取传入的分组121并且在此情况下利用XOR功能从分组导出LAGK。与所导出的LAGK相关联的以太网帧的大小被积累在上述的LAGK速率表208(该表对于每个LAGK有一行)中。每当一个LAGK被导出时,其在表中的行就被递增以相关联的以太网帧大小。表中的值表明了每个LAGK的吞吐量速率的数字。因此,通过监视表内的值,可以观察流量负载。值越高就表明该LAGK的流量负载越重,进而表明相应物理链路上的流量负载越重。
如还示出的,在处理引擎中可以将故障检测和恢复与前述的动态负载均衡相结合并将两者用于第2层链路聚合。因此,在一个实施例中,故障的检测和恢复以及链路恢复也是在上述基于FPGA的处理引擎中的DAC-GE上实现的。有利地,链路聚合与这样的硬件辅助RCFD算法相结合可使故障响应和恢复能在数百微秒内发生,而不是像使用标准消息传递方法时那样要花数秒。尤其地,在DAC-GE被安装在无线无线电系统的INU中的情况下,如果其使用两条无线电链路并在每个信道上发送分组,则其将能够以两倍的速度工作。RCFD算法对于差错传播是有弹性的并且消除了不必要的切换。由于对链路故障或衰弱状况的快速检测,受保护的系统将迅速切换到单条链路。LAG的冗余特性与RCFD算法相结合起到了在剩余的可靠物理链路之间重引导流量的作用。存在于DAC-GE中的以太网交换机中的链路聚合控制任务对分组的交换和排队进行重组织。
此外,利用RCFD算法的单向故障检测能力,链路聚合系统通过使一个方向上可得到完全链路吞吐量而在另一方向上仅使用有限吞吐量(由于单向故障检测),从而可具有非对称行为。在视频广播系统或其他大量使用广播或多播传输或者性质非对称的应用中,就是这种情况。从动态负载均衡设计的角度来看,可以保持链路并且仅在一个方向而不在另一方向执行负载均衡。
根据所实现的,载体(链路)的健康状况在扩展头部中被传达给链路的两方(例如,无线通信链路的每一端)的节点。具体而言,每个节点处的DAC-GE中的处理引擎200保存具有TX和RX状态信息的扩展状况。TX状态是对在接收到的分组的头部中传达的远端节点的RX状态指示符的反映。TX状态是基于从流量对齐指示符314以及接收到的分组及其完好性获得的信息来计算的。流量对齐旨在维持已被划分成片段并需要被适当重构的分组的完好性。在此设计中,一组可配置寄存器允许了调节系统行为以符合特定载体类规范。
这些寄存器是:保活(keep-alive)插入速率、分组接收超时、CRC(循环冗余校验)确认阈值和CRC差错阈值。保活分组插入速率寄存器304表示分组插入引擎在插入保活分组之前将会等待的以微秒为单位的速率(在空闲流量状况下)。分组接收超时寄存器310表示接收引擎在宣告空闲RX超时之前将会等待一分组的微秒数。CRC确认阈值寄存器311表示为了将RX状态从坏改变为好而需要接收的连续好CRC分组的数目。CRC差错阈值寄存器309表示为了将RX状态从好改变为坏而需要接收的连续坏CRC分组的数目。两个可配置的CRC寄存器提供了一种滞后作用,以避免由于少量差错而引起坏-好状态振荡。
对故障检测算法的要求之一是独立于信道中有效载荷流量的存在。为了能够符合该要求,算法被设计为检测有效载荷流量的不存在(空闲)并插入将维持链路状态的保活分组。保活分组的格式与正常有效载荷分组格式基本相同,但没有有效载荷片段,并且它传达相同的状态和完好性信息。
注意,使用多条物理链路在两个以太网交换机之间传输以太网流量的方法通常旨在实现更高的链路可用性和带宽,同时避免环路形成。然而,现有系统中的检测和交换通常将在100ms内进行;并且利用标准消息传递方法,故障恢复将花费数秒。因此,为了实现或超越载体类以太网传输信道标准,链路聚合依赖例如如上所述实现的快速故障检测和恢复。
图3B是说明可在动态负载均衡之前调用的、链路聚合成员故障或恢复后的动态链路聚合密钥重分布的状态图。该状态图中示出的行为通过在链路故障发生时将例如2+0链路操作转换成1+0操作来提高整体链路可用性(“+0”通常指的是没有备用操作模式)。值得注意的是,利用密钥重分布,总流量被转移到剩余的链路聚合成员(LAGM)。从而,从稳态134起,在检测到故障后,状态切换,以将LAGK分布到剩余LAGM132。换言之,利用此方法,故障链路的流量流动被重分布,而不是被暂停,其中剩余链路(LAGM)暂时为故障链路进行接管直到其恢复为止,从而恢复迅速并且整个流量流动可以继续。
相对于仅维持与剩余LAGM的指定密钥相关联的流量流动并且与故障LAGM的密钥相关联的流量流动被暂停(挨饿)直到发生故障的链路恢复为止的传统技术,此方法有重大优点。实际上,当链路发生故障时,整个流量继续流动,虽然如果所有密钥被重分布在剩余的(一个或多个)LAGM上的话总体链路聚合吞吐量会有所降低;而如果达到拥塞状况,则流量优先级区分和流动控制进行接管,以维持流动。
当故障状况消失时,链路聚合与快速信道故障检测和恢复相结合来恢复链路的总吞吐量并且将原始LAGK集合重指派给新恢复的LAGM 136。如果需要任何另外的重分布,则其以同样的重复方式发生。
一旦检测到链路故障或链路恢复(TX或RX状态改变),在故障情况下则针对密钥重分布来标记LAGM,而在恢复情况下则针对密钥重指派来标记LAGM。对于先前没有考虑(尚未被指派密钥)的每条链路,组合的链路聚合和快速信道故障检测算法判定该LAGM是否被标记,并且如果是,则在故障时密钥被重分布给它,或者在恢复时密钥被重指派给原始LAGM。
作为示例,前述用于第2层链路聚合的动态负载均衡的方法可以实现在诸如EclipseTM之类的无线无线电平台中。图4示出了可配置用于带动态负载均衡的链路聚合的2+0 EclipseTM微波无线电链路的体系结构。如图所示,这种系统使用无线电路径412来传送总分组流量的一部分,并且使用另一无线电链路414来传送总分组流量的剩余部分。
总之,虽然已经参考其某些优选版本相当详细地描述了本发明,但其他版本也是可能的。因此,权利要求的精神和范围不应当限于这里包含的对优选版本的描述。
Claims (27)
1.一种用于在数据通信系统中提供动态负载均衡的方法,其特征在于包括:
在具有多条物理链路的数据通信系统中创建链路聚合群组,所述多条物理链路中的每一条具有用于传输外出数据或其任何部分的容量,所述链路聚合群组是通过将所述多条物理链路中的两条或更多条组合成用于外出数据的单条逻辑链路来形成的;
向所述链路聚合群组分配链路聚合密钥的集合,其中每个链路聚合密钥被指派给所述链路聚合群组中的物理链路之中的特定一条物理链路;
从外出数据导出所述链路聚合密钥中的每一个的数据速率;以及
基于所述数据速率和所述链路聚合群组中的物理链路的容量来执行动态负载均衡,所述执行动态负载均衡包括:
检测触发负载均衡的状况;以及
如果检测的状况指示故障,则重分布所述链路聚合群组中的链路聚合群组成员的至少一个特定链路聚合密钥,所述至少一个特定链路聚合密钥属于所述链路聚合密钥的集合,以及基于每个所述链路聚合密钥的数据速率、外出缓冲器状态和所述多条物理链路的容量,利用包括至少一个特定的重分布链路聚合密钥的所述链路聚合密钥的集合进行动态负载均衡;以及
如果检测的状况指示链路恢复,则重指派所述链路聚合群组中的链路聚合群组成员的至少一个特定链路聚合密钥,所述至少一个特定链路聚合密钥属于所述链路聚合密钥的集合,以及基于每个所述链路聚合密钥的数据速率、外出缓冲器状态和所述多条物理链路的容量,利用包括至少一个特定的重指派链路聚合密钥的所述链路聚合密钥的集合进行动态负载均衡;
其中,外出数据包括有效载荷和标识信息;并且
其中所述导出步骤包括
根据所述标识信息来计算密钥值,
将所述密钥值与所述集合中的链路聚合密钥相比较,并且
计算所述链路聚合密钥中与所述密钥值匹配的一个链路聚合密钥的数据速率。
2.如权利要求1所述的方法,其中,所述状况包括与外出缓冲器溢出状态相关联的帧丢弃。
3.如权利要求2所述的方法,其中,所述动态负载均衡还包括监视所述外出缓冲器溢出状态。
4.如权利要求1所述的方法,其中,所述动态负载均衡包括基于外出数据监视流量负载并且积累所述数据速率以用于计算所述流量负载。
5.如权利要求1所述的方法,还包括监视包括故障和恢复在内的数据通信系统状况的改变,基于所述改变,所述动态负载均衡被触发。
6.如权利要求5所述的方法,其中,所述改变包括物理链路的故障或恢复,该物理链路的故障或恢复导致将外出数据转移到所述链路聚合群组中的物理链路之中的剩余一条或多条物理链路。
7.如权利要求1所述的方法,其中,外出数据包括一个或多个帧,并且所述方法还包括在发现一个或多个这种帧丢失后触发所述动态负载均衡。
8.如权利要求1所述的方法,其中,外出数据包括多个帧,并且所述方法还包括在发现这种帧之间的同步丢失后触发所述动态负载均衡。
9.如权利要求1所述的方法,其中,所述标识信息包括源和目的地地址,并且计算所述密钥值的步骤包括对所述源和目的地地址执行逻辑运算。
10.如权利要求9所述的方法,其中,所述逻辑运算包括所述源和目的地地址中的每一个的n个LSB(最低有效位)之间的异或运算。
11.如权利要求1所述的方法,还包括通过选择具有与所述密钥值相匹配的所指派链路聚合密钥的物理链路,来将所述密钥值用于为所述外出数据做出转发判决。
12.如权利要求9所述的方法,还包括将所述源和目的地地址用于地址解析表查找中,以便做出关于外出数据的转发判决。
13.如权利要求1所述的方法,其中,外出数据包括多个帧,所述多个帧中的每一个具有其自己的有效载荷和用来计算相应密钥值的标识信息,并且所述数据速率是对于所述多个帧中的每一个导出的。
14.如权利要求1所述的方法,其中,所述链路聚合密钥的集合是在所述数据通信系统中可用的链路聚合密钥的更大群组的一部分,并且其中所述方法包括创建多个链路聚合群组,所述多个链路聚合群组中的每一个被分配来自所述更大群组的链路聚合密钥子集。
15.如权利要求1所述的方法,其中,多于一个链路聚合密钥被指派给一特定物理链路。
16.如权利要求1所述的方法,其中,分配所述链路聚合密钥的集合的步骤包括通过将所述链路聚合密钥的集合划分成子集并将每个子集指派给所述链路聚合群组中的物理链路之一,来将它们最初指派给所述链路聚合群组中的物理链路,其中该划分在每个子集内形成链路聚合密钥的连续块。
17.如权利要求16所述的方法,其中,最初指派的特征在于随机选择每个连续块的开始的偏移量。
18.如权利要求16所述的方法,其中,最初指派给每条物理链路的链路聚合密钥的数目基于该物理链路的容量被加权。
19.如权利要求16所述的方法,其中,所述动态负载均衡包括将所述链路聚合密钥从一个子集重指派到另一子集。
20.一种用于提供数据通信的动态负载均衡的系统,其特征在于包括:
多条物理链路,所述多条物理链路中的每一条具有用于传输外出数据或其任何部分的容量,所述多条物理链路是链路聚合群组的成员;
交换机,该交换机包括相互操作性耦合的逻辑和存储装置,其中所述存储装置包含程序代码,该程序代码与所述逻辑操作性地交互以基于数据流量状况的改变来动态配置外出数据到所述多条物理链路的交换,其中所述动态配置包括向所述链路聚合群组分配链路聚合密钥的集合,所述集合中的每个密钥被指派给所述物理链路中的特定一条物理链路;
引擎,该引擎适合于基于外出数据监视所述链路聚合密钥中的每一个的数据速率;
控制模块,该控制模块适合于从所述引擎获得所述数据速率,并且响应于负载失衡状况,执行包括检测触发负载均衡的状况的动态负载均衡;以及
如果检测的状况指示故障,则重分布所述链路聚合群组中的链路聚合群组成员的至少一个特定链路聚合密钥,所述至少一个特定链路聚合密钥属于所述链路聚合密钥的集合,以及基于每个所述链路聚合密钥的数据速率、外出缓冲器状态和所述多条物理链路的容量,利用包括至少一个特定的重分布链路聚合密钥的所述链路聚合密钥的集合进行动态负载均衡;以及
如果检测的状况指示链路恢复,则重指派所述链路聚合群组中的链路聚合群组成员的至少一个特定链路聚合密钥,所述至少一个特定链路聚合密钥属于所述链路聚合密钥的集合,以及基于每个所述链路聚合密钥的数据速率、外出缓冲器状态和所述多条物理链路的容量,利用包括至少一个特定的重指派链路聚合密钥的所述链路聚合密钥的集合进行动态负载均衡
其中,外出数据包括有效载荷和标识信息,并且
其中,所述引擎还适合于通过根据所述标识信息计算密钥值并将密钥值与所指派的链路聚合密钥之一相匹配,来从外出数据导出所述数据速率。
21.如权利要求20所述的系统,其中,所述引擎包括性能计数器。
22.如权利要求20所述的系统,其中,所述控制模块是基于软件的。
23.如权利要求20所述的系统,其中,所述多条物理链路包括无线通信链路。
24.如权利要求20所述的系统,其中,所述交换机包括用于外出数据的缓冲器,并且所述控制模块还适合于监视所述缓冲器的溢出状况并作为响应触发所述动态负载均衡。
25.如权利要求24所述的系统,其中,所述负载失衡状况包括与所述溢出状况相关联的帧丢弃。
26.如权利要求20所述的系统,其中,所述负载失衡状况包括帧同步的丢失。
27.如权利要求20所述的系统,其中,所述引擎还包括维护着所述链路聚合密钥中的每一个的数据速率的表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/753,312 US7756029B2 (en) | 2007-05-24 | 2007-05-24 | Dynamic load balancing for layer-2 link aggregation |
US11/753,312 | 2007-05-24 | ||
PCT/US2008/064600 WO2008144774A1 (en) | 2007-05-24 | 2008-05-22 | Dynamic load balancing for layer-2 link aggregation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101682442A CN101682442A (zh) | 2010-03-24 |
CN101682442B true CN101682442B (zh) | 2014-08-20 |
Family
ID=40072287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880017344.6A Expired - Fee Related CN101682442B (zh) | 2007-05-24 | 2008-05-22 | 用于第2层链路聚合的动态负载均衡 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7756029B2 (zh) |
EP (1) | EP2158708B1 (zh) |
CN (1) | CN101682442B (zh) |
SI (1) | SI2158708T1 (zh) |
TW (1) | TWI373231B (zh) |
WO (1) | WO2008144774A1 (zh) |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW589826B (en) * | 2003-01-15 | 2004-06-01 | Via Tech Inc | Distribution method of data packet flow |
DE112004002797B4 (de) | 2004-03-19 | 2015-12-31 | Zakrytoe Aktsionernoe Obschestvo "Intel A/O" | Ausfallsicherung und Lastausgleich |
US7760626B2 (en) * | 2004-03-31 | 2010-07-20 | Intel Corporation | Load balancing and failover |
US8238344B1 (en) * | 2007-03-30 | 2012-08-07 | Juniper Networks, Inc. | Multicast load balancing |
US7898959B1 (en) * | 2007-06-28 | 2011-03-01 | Marvell Israel (Misl) Ltd. | Method for weighted load-balancing among network interfaces |
US7869432B1 (en) * | 2007-06-29 | 2011-01-11 | Force 10 Networks, Inc | Peer-to-peer link aggregation across a service provider network |
JP4415036B2 (ja) * | 2007-08-17 | 2010-02-17 | 株式会社日立コミュニケーションテクノロジー | ネットワークシステム、ネットワーク装置及び中継装置 |
US8189476B1 (en) * | 2007-08-20 | 2012-05-29 | F5 Networks, Inc. | Dynamic trunk distribution on egress |
BRPI0819136B1 (pt) * | 2007-11-02 | 2020-05-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Método, sistema, e nó para prover comutação de proteção de ethernet em um domínio de engenharia de tráfego por ponte de espinha dorsal de provedor |
US7983166B2 (en) * | 2008-01-03 | 2011-07-19 | At&T Intellectual Property I, L.P. | System and method of delivering video content |
US8477600B2 (en) * | 2008-01-18 | 2013-07-02 | Futurewei Technologies, Inc. | Composite transport functions |
US9319299B2 (en) * | 2008-01-25 | 2016-04-19 | Alcatel Lucent | Method and apparatus for link aggregation using links having different link speeds |
US8649262B2 (en) * | 2008-09-30 | 2014-02-11 | Intel Corporation | Dynamic configuration of potential links between processing elements |
US8213306B1 (en) * | 2009-06-05 | 2012-07-03 | Dragonwave, Inc. | Apparatus and methods for aggregation of communication bandwidth over multiple wireless communication links |
US8059638B2 (en) * | 2009-06-30 | 2011-11-15 | Alcatel Lucent | Inter-node link aggregation system and method |
WO2011008002A2 (en) * | 2009-07-14 | 2011-01-20 | Lg Electronics Inc. | Apparatus and method of preventing component carrier failure propagation |
US8238250B2 (en) * | 2009-10-16 | 2012-08-07 | Hei Tao Fung | QoS-aware flow-based dynamic load balancing for link aggregation |
WO2011054370A1 (en) * | 2009-11-03 | 2011-05-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Multi-link scheduling to compensate for multi-path fading |
US8223767B2 (en) * | 2009-12-31 | 2012-07-17 | Telefonaktiebolaget L M Ericsson (Publ) | Driven multicast traffic distribution on link-aggregate-group |
US8705580B2 (en) * | 2010-01-22 | 2014-04-22 | Aruba Networks, Inc. | Aggregating multiple wireless channels |
US20110270972A1 (en) * | 2010-04-30 | 2011-11-03 | The Regents Of The University Of California | Virtual topology adaptation for resource optimization in telecommunication networks |
US8284791B2 (en) * | 2010-05-17 | 2012-10-09 | Fujitsu Limited | Systems and methods for load balancing of management traffic over a link aggregation group |
US8699511B1 (en) * | 2010-07-15 | 2014-04-15 | Adtran, Inc. | Communications system with bonding engine that dynamically adapts fragment size |
US8339951B2 (en) | 2010-07-28 | 2012-12-25 | Hewlett-Packard Development Company, L.P. | Method for configuration of a load balancing algorithm in a network device |
US8850062B2 (en) * | 2010-08-09 | 2014-09-30 | Cisco Technology, Inc. | Distributed connectivity verification protocol redundancy |
US8755268B2 (en) | 2010-12-09 | 2014-06-17 | International Business Machines Corporation | Communicating information in an information handling system |
US8619568B2 (en) * | 2011-02-04 | 2013-12-31 | Cisco Technology, Inc. | Reassignment of distributed packet flows |
US9270639B2 (en) | 2011-02-16 | 2016-02-23 | Fortinet, Inc. | Load balancing among a cluster of firewall security devices |
US8776207B2 (en) | 2011-02-16 | 2014-07-08 | Fortinet, Inc. | Load balancing in a network with session information |
CN102118319B (zh) | 2011-04-06 | 2013-09-18 | 杭州华三通信技术有限公司 | 流量负载均衡方法和装置 |
JP5704647B2 (ja) * | 2011-06-10 | 2015-04-22 | 日本電気株式会社 | スイッチ装置、フレーム送受信制御方法 |
US9485182B2 (en) * | 2011-06-30 | 2016-11-01 | Alcatel Lucent | Method for improved load balancing in communication systems |
CN102413053A (zh) * | 2011-12-12 | 2012-04-11 | 盛科网络(苏州)有限公司 | 实现聚合端口负载均衡的方法及装置 |
CN102447639B (zh) * | 2012-01-17 | 2016-03-09 | 华为技术有限公司 | 一种策略路由方法及装置 |
CN103259692A (zh) * | 2012-02-15 | 2013-08-21 | 瑞典爱立信有限公司 | 链路聚合组中的损失测量 |
US9025597B2 (en) | 2012-03-22 | 2015-05-05 | Cisco Technology, Inc. | Methods and apparatus for providing one-arm node clustering using a port channel |
US8942089B2 (en) * | 2012-05-08 | 2015-01-27 | Cisco Technology, Inc. | Method and apparatus for adaptive fast start in link aggregation |
US8804531B2 (en) * | 2012-05-21 | 2014-08-12 | Cisco Technology, Inc. | Methods and apparatus for load balancing across member ports for traffic egressing out of a port channel |
CN103684811A (zh) * | 2012-08-31 | 2014-03-26 | 中兴通讯股份有限公司 | 一种复合链路的业务保护方法及系统 |
US9450877B1 (en) | 2012-12-18 | 2016-09-20 | Juniper Networks, Inc. | Methods and apparatus for load balancing communication sessions |
CN103905326B (zh) * | 2012-12-28 | 2017-11-24 | 迈普通信技术股份有限公司 | 以太网链路聚合的报文转发控制方法及网络设备 |
CN103916319B (zh) | 2013-01-06 | 2017-03-15 | 杭州华三通信技术有限公司 | Lacp堆叠组网中的链路选择方法和堆叠设备 |
US9019813B2 (en) | 2013-01-30 | 2015-04-28 | International Business Machines Corporation | Active IP forwarding in an event driven virtual link aggregation (VLAG) system |
JP2014171086A (ja) * | 2013-03-04 | 2014-09-18 | Nec Corp | ネットワークにおける通信装置およびネットワーク構成変更方法 |
CN104253764B (zh) * | 2013-06-28 | 2017-05-17 | 新华三技术有限公司 | 一种链路聚合的方法和设备 |
US9240905B2 (en) * | 2013-07-22 | 2016-01-19 | Ciena Corporation | Protecting hybrid equipment in a network node |
GB201321148D0 (en) | 2013-11-29 | 2014-01-15 | Bridgeworks Ltd | Data transfer |
US9325622B2 (en) * | 2013-12-03 | 2016-04-26 | International Business Machines Corporation | Autonomic traffic load balancing in link aggregation groups |
US9866470B2 (en) | 2014-01-24 | 2018-01-09 | Red Hat, Inc. | Multiple active link aggregators |
CN103841047A (zh) * | 2014-02-28 | 2014-06-04 | 杭州华三通信技术有限公司 | 一种链路聚合的方法装置 |
JP6295137B2 (ja) * | 2014-04-28 | 2018-03-14 | APRESIA Systems株式会社 | 中継システムおよびスイッチ装置 |
US9537785B2 (en) * | 2014-08-14 | 2017-01-03 | Ixia | Link aggregation group (LAG) link allocation |
CN106330630B (zh) * | 2015-07-03 | 2019-09-03 | 华为技术有限公司 | 传输灵活以太网的数据流的方法、发射机和接收机 |
CN110691034B (zh) | 2015-07-17 | 2022-10-11 | 华为技术有限公司 | 传输灵活以太网的业务流的方法和装置 |
US10103955B2 (en) | 2015-10-01 | 2018-10-16 | Oracle International Corporation | Methods, systems, and computer readable media for transmitting diameter peer status information |
US10110421B2 (en) | 2015-10-29 | 2018-10-23 | Oracle International Corporation | Methods, systems, and computer readable media for using link aggregation group (LAG) status information |
US9788325B2 (en) | 2016-03-01 | 2017-10-10 | Wipro Limited | Methods and systems for radio carriers management in a wireless broadband network |
US9929800B2 (en) * | 2016-04-07 | 2018-03-27 | Infinera Corporation | System and method for adaptive traffic engineering based on predicted traffic demand |
CN106685820B (zh) * | 2017-01-11 | 2019-10-25 | 盛科网络(苏州)有限公司 | 堆叠系统中链路聚合转发域的芯片实现方法 |
IT201700094008A1 (it) | 2017-08-17 | 2019-02-17 | Telecom Italia Spa | Distribuzione del traffico su collegamenti radio aggregati |
EP3721572A1 (en) * | 2017-12-04 | 2020-10-14 | Telefonaktiebolaget LM Ericsson (publ) | A first node and a second node and methods of operating the same |
US10439945B2 (en) * | 2017-12-29 | 2019-10-08 | Tionesta, Llc | Single stream aggregation protocol |
WO2019167734A1 (ja) * | 2018-02-27 | 2019-09-06 | 日本電気株式会社 | 伝送監視装置、伝送装置、システム、方法および記録媒体 |
US10771405B2 (en) | 2018-10-26 | 2020-09-08 | Cisco Technology, Inc. | Switching and load balancing techniques in a communication network |
CN109302344B (zh) * | 2018-10-30 | 2021-06-29 | 新华三技术有限公司 | 一种报文转发方法及装置 |
US10680964B1 (en) * | 2018-11-26 | 2020-06-09 | Mellanox Technologies Tlv Ltd. | Rate limiting in a multi-chassis environment by exchanging information between peer network elements |
US10932157B2 (en) * | 2018-12-19 | 2021-02-23 | Hewlett Packard Enterprise Development Lp | Intelligent link aggregation |
US11140083B1 (en) | 2019-12-06 | 2021-10-05 | Juniper Networks, Inc. | Load balancing over a plurality of packet forwarding components |
US11558259B2 (en) | 2019-12-27 | 2023-01-17 | Arteris, Inc. | System and method for generating and using physical roadmaps in network synthesis |
US10990724B1 (en) | 2019-12-27 | 2021-04-27 | Arteris, Inc. | System and method for incremental topology synthesis of a network-on-chip |
US11657203B2 (en) | 2019-12-27 | 2023-05-23 | Arteris, Inc. | Multi-phase topology synthesis of a network-on-chip (NoC) |
US11665776B2 (en) | 2019-12-27 | 2023-05-30 | Arteris, Inc. | System and method for synthesis of a network-on-chip for deadlock-free transformation |
US11418448B2 (en) | 2020-04-09 | 2022-08-16 | Arteris, Inc. | System and method for synthesis of a network-on-chip to determine optimal path with load balancing |
US11558284B2 (en) | 2020-06-30 | 2023-01-17 | Redline Communications Inc. | Variable link aggregation |
US11652753B2 (en) * | 2020-07-29 | 2023-05-16 | Hewlett Packard Enterprise Development Lp | Link aggregation group optimization |
US11601357B2 (en) | 2020-12-22 | 2023-03-07 | Arteris, Inc. | System and method for generation of quality metrics for optimization tasks in topology synthesis of a network |
US11281827B1 (en) | 2020-12-26 | 2022-03-22 | Arteris, Inc. | Optimization of parameters for synthesis of a topology using a discriminant function module |
US11449655B2 (en) | 2020-12-30 | 2022-09-20 | Arteris, Inc. | Synthesis of a network-on-chip (NoC) using performance constraints and objectives |
US11956127B2 (en) | 2021-03-10 | 2024-04-09 | Arteris, Inc. | Incremental topology modification of a network-on-chip |
US12021707B1 (en) | 2023-01-27 | 2024-06-25 | Keysight Techologies, Inc. | Methods, systems and computer readable media for testing link allocation (LA) implementations |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4941089A (en) * | 1986-12-12 | 1990-07-10 | Datapoint Corporation | Input/output network for computer system |
US6876653B2 (en) | 1998-07-08 | 2005-04-05 | Broadcom Corporation | Fast flexible filter processor based architecture for a network device |
US6434165B1 (en) | 1998-08-19 | 2002-08-13 | 3Com Corporation | Method and system to abort data communication traffic in a communication network |
US6512742B1 (en) * | 1998-12-09 | 2003-01-28 | International Business Machines Corporation | System for data transmission across a link aggregation |
US6856627B2 (en) * | 1999-01-15 | 2005-02-15 | Cisco Technology, Inc. | Method for routing information over a network |
US6675243B1 (en) * | 1999-03-17 | 2004-01-06 | Adaptec, Inc. | Methods and apparatus for implementing a device side advanced serial protocol |
US7197044B1 (en) * | 1999-03-17 | 2007-03-27 | Broadcom Corporation | Method for managing congestion in a network switch |
US6535489B1 (en) * | 1999-05-21 | 2003-03-18 | Advanced Micro Devices, Inc. | Method and apparatus in a network switch for handling link failure and link recovery in a trunked data path |
AU5442700A (en) * | 1999-05-24 | 2000-12-12 | Broadcom Corporation | Apparatus and method for distributing a load across a trunk group |
US6501749B1 (en) | 1999-06-25 | 2002-12-31 | International Business Machines Corporation | System and method for data transmission across a link aggregation |
US7010607B1 (en) * | 1999-09-15 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | Method for training a communication link between ports to correct for errors |
US6625152B1 (en) | 1999-10-13 | 2003-09-23 | Cisco Technology, Inc. | Methods and apparatus for transferring data using a filter index |
FI19992695A (fi) | 1999-12-15 | 2001-06-16 | Nokia Networks Oy | Kanava-allokointimenetelmä solukkoradioverkossa |
US6778495B1 (en) * | 2000-05-17 | 2004-08-17 | Cisco Technology, Inc. | Combining multilink and IP per-destination load balancing over a multilink bundle |
US7266079B2 (en) * | 2000-09-18 | 2007-09-04 | Broadcom Corporation | Dynamic network load balancing over heterogeneous link speed |
US6928056B2 (en) * | 2000-12-29 | 2005-08-09 | Nokia Networks Oy | System and method for distribution of a data stream from high-to-low-to-high bandwidth links |
US7023797B2 (en) | 2000-12-30 | 2006-04-04 | Intel Corporation | Flexible aggregation of output links |
US7145866B1 (en) * | 2001-03-01 | 2006-12-05 | Emc Corporation | Virtual network devices |
US6956824B2 (en) * | 2001-06-14 | 2005-10-18 | Tropic Networks Inc. | Extension of link aggregation protocols over the network |
US7787370B1 (en) * | 2001-09-06 | 2010-08-31 | Nortel Networks Limited | Technique for adaptively load balancing connections in multi-link trunks |
US20030054826A1 (en) * | 2001-09-18 | 2003-03-20 | Pietro Fionda | Delivery of an incoming data call from a public switched telephone network to a mobile station |
US6910149B2 (en) * | 2001-09-24 | 2005-06-21 | Intel Corporation | Multi-device link aggregation |
CA2390883C (en) * | 2001-12-20 | 2009-06-02 | Tropic Networks Inc. | Communication system with balanced transmission bandwidth |
US6973082B2 (en) * | 2002-02-01 | 2005-12-06 | Fujitsu Limited | Forwarding packets to aggregated links using distributed ingress card processing |
US7529180B1 (en) * | 2002-03-29 | 2009-05-05 | Marvell International Ltd. | Switch failover for aggregated data communication links |
US20040208552A1 (en) * | 2002-05-08 | 2004-10-21 | Gordon Harney | Architectural switching arrangement for core optical networks |
US20050157759A1 (en) * | 2002-07-09 | 2005-07-21 | Masahiro Ohno | Communication system, transceiver apparatus and transceiving method |
US7336605B2 (en) * | 2003-05-13 | 2008-02-26 | Corrigent Systems, Inc. | Bandwidth allocation for link aggregation |
US8694869B2 (en) | 2003-08-21 | 2014-04-08 | QUALCIMM Incorporated | Methods for forward error correction coding above a radio link control layer and related apparatus |
US20050063701A1 (en) * | 2003-09-23 | 2005-03-24 | Shlomo Ovadia | Method and system to recover resources in the event of data burst loss within WDM-based optical-switched networks |
US7286853B2 (en) * | 2004-03-24 | 2007-10-23 | Cisco Technology, Inc. | System and method for aggregating multiple radio interfaces into a single logical bridge interface |
WO2005117519A2 (en) * | 2004-05-25 | 2005-12-15 | Nortel Networks Limited | Connectivity fault notification |
US7782787B2 (en) | 2004-06-18 | 2010-08-24 | Avaya Inc. | Rapid fault detection and recovery for internet protocol telephony |
US20060045031A1 (en) * | 2004-09-02 | 2006-03-02 | International Business Machines Corporation | Automatic hardware data link initialization using multiple state machines |
US20060098573A1 (en) * | 2004-11-08 | 2006-05-11 | Beer John C | System and method for the virtual aggregation of network links |
US7876747B2 (en) * | 2005-03-04 | 2011-01-25 | Cisco Technology, Inc. | Method and apparatus for efficient load distribution on link aggregations |
US7623455B2 (en) | 2005-04-02 | 2009-11-24 | Cisco Technology, Inc. | Method and apparatus for dynamic load balancing over a network link bundle |
US7639614B2 (en) * | 2005-04-12 | 2009-12-29 | Fujitsu Limited | Distribution-tuning mechanism for link aggregation group management |
US7911953B1 (en) * | 2005-11-16 | 2011-03-22 | Juniper Networks, Inc. | Multilink traffic shaping |
US8693308B2 (en) * | 2006-02-10 | 2014-04-08 | Aviat U.S., Inc. | System and method for resilient wireless packet communications |
US7545740B2 (en) * | 2006-04-07 | 2009-06-09 | Corrigent Systems Ltd. | Two-way link aggregation |
US8094559B1 (en) * | 2006-05-31 | 2012-01-10 | World Wide Packets, Inc. | Consumption of a permitted data rate by grouped data streams |
US8792497B2 (en) * | 2006-06-05 | 2014-07-29 | Tellabs Operations, Inc. | Method and apparatus for performing link aggregation |
US8018843B2 (en) * | 2006-09-19 | 2011-09-13 | Futurewei Technologies, Inc. | Faults propagation and protection for connection oriented data paths in packet networks |
US7804761B2 (en) * | 2007-05-09 | 2010-09-28 | Ceragon Networks Ltd. | Multiplexing separately modulated channels |
US7898959B1 (en) * | 2007-06-28 | 2011-03-01 | Marvell Israel (Misl) Ltd. | Method for weighted load-balancing among network interfaces |
US8243757B2 (en) * | 2007-07-05 | 2012-08-14 | Ceragon Networks Ltd. | MAC header compression using a pointer |
CA2693674C (en) * | 2007-07-19 | 2016-06-07 | Ceragon Networks Ltd. | Transmission of data over parallel links |
-
2007
- 2007-05-24 US US11/753,312 patent/US7756029B2/en active Active
-
2008
- 2008-05-22 WO PCT/US2008/064600 patent/WO2008144774A1/en active Application Filing
- 2008-05-22 EP EP08795867.4A patent/EP2158708B1/en not_active Not-in-force
- 2008-05-22 SI SI200831124T patent/SI2158708T1/sl unknown
- 2008-05-22 CN CN200880017344.6A patent/CN101682442B/zh not_active Expired - Fee Related
- 2008-05-23 TW TW097119206A patent/TWI373231B/zh active
-
2010
- 2010-06-15 US US12/816,354 patent/US8264959B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8264959B2 (en) | 2012-09-11 |
EP2158708A4 (en) | 2010-11-24 |
US20100246396A1 (en) | 2010-09-30 |
TWI373231B (en) | 2012-09-21 |
US7756029B2 (en) | 2010-07-13 |
US20080291826A1 (en) | 2008-11-27 |
EP2158708B1 (en) | 2013-10-16 |
EP2158708A1 (en) | 2010-03-03 |
CN101682442A (zh) | 2010-03-24 |
WO2008144774A1 (en) | 2008-11-27 |
SI2158708T1 (sl) | 2014-04-30 |
TW200910833A (en) | 2009-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101682442B (zh) | 用于第2层链路聚合的动态负载均衡 | |
US11831412B2 (en) | Resilient data communications with physical layer link aggregation, extended failure detection and load balancing | |
US7804771B2 (en) | Method and apparatus for protection switching in virtual private networks | |
US7835265B2 (en) | High availability Ethernet backplane architecture | |
US6094683A (en) | Link bundling in a network | |
US20080069114A1 (en) | Communication device and method | |
JP2007527170A (ja) | 並列通信のためのシステムおよび方法 | |
CN101416065A (zh) | 用于弹性无线分组通信的系统和方法 | |
CN102119510A (zh) | 一种多路径网络 | |
JP2003526277A (ja) | デュアル・モードによる仮想ネットワーク・アドレス指定方式 | |
CN102027717A (zh) | 一种通过网络的数据传输方法 | |
US7307995B1 (en) | System and method for linking a plurality of network switches | |
KR20180122513A (ko) | Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크 | |
CN1871822B (zh) | 用于接入层交换机的基于端口的负载共享 | |
US20100158002A1 (en) | Communication system, node, terminal, program and communication method | |
Cisco | Internetworking Fundamentals Self-Study Guide | |
Kim et al. | Design and evaluation of Redundant IPC Network adequate for an edge router |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140820 Termination date: 20200522 |
|
CF01 | Termination of patent right due to non-payment of annual fee |