CN104488238B - 用于网络环境中集群链路聚合控制的***和方法 - Google Patents

用于网络环境中集群链路聚合控制的***和方法 Download PDF

Info

Publication number
CN104488238B
CN104488238B CN201380039123.XA CN201380039123A CN104488238B CN 104488238 B CN104488238 B CN 104488238B CN 201380039123 A CN201380039123 A CN 201380039123A CN 104488238 B CN104488238 B CN 104488238B
Authority
CN
China
Prior art keywords
port
cluster
network element
state
bundle
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.)
Active
Application number
CN201380039123.XA
Other languages
English (en)
Other versions
CN104488238A (zh
Inventor
王循
瞿笛横
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN104488238A publication Critical patent/CN104488238A/zh
Application granted granted Critical
Publication of CN104488238B publication Critical patent/CN104488238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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

在一个示例中提供了一种方法,该方法包括使用带外控制链路接收来自第一网络元件的请求消息。该请求消息包括将与第一网络元件相关联的第一端口捆束到与集群相关联的通道组中的请求。集群包括多个成群的网络元件。该方法还包括判定第一端口相对于通道组的状态,并使用带外控制链路向第一网络元件发送回复消息。回复消息指示第一网络元件的第一端口的所判定的状态。

Description

用于网络环境中集群链路聚合控制的***和方法
技术领域
本公开一般地涉及通信领域,更具体地,涉及用于在网络环境中提供集群链路聚合(link aggregation)控制的***和方法。
背景技术
链路聚合合并多个并行的网络连接以增加网络的吞吐量,除此之外,网络的吞吐可能是由单个连接提供的。如果一个或多个连接出现故障,那么它还可以被用于提供冗余。链路聚合提供了一种廉价的方式来建立高速网络,其传输的数据比任何一个单一端口或设备所能递送的数据多得多。链路聚合控制协议(LACP)是提供对将网络设备的若干物理端口捆束(bundle)在一起以形成单个逻辑通道的控制的通信协议。
附图说明
为提供对本公开及其特征和优点的更完全的理解,结合附图参考以下描述,其中相同的参考标号代表相同的部件,其中:
图1是用于在网络环境中提供集群链路聚合控制的通信***100的实施例的简化框图;
图2是单个适应性安全设备(ASA)和交换机之间的链路聚合布置的简化框图;
图3示出使用以太通道与交换机相连接的集群的示例,在其中无法实现各种实施例的集群链路聚合控制协议;
图4示出连接到交换机的集群的实施例,在其中实现集群链路聚合控制协议;
图5示出根据一个实施例的适应性安全设备(ASA)的实施例;
图6是示出从单元加入集群的过程的一个实施例的简化流程图;
图7是示出由主单元判定从单元的端口的端口捆束状态的过程的实施例的简化流程图;
图8示出使用捆束平衡的跨集群以太通道集群的实施例的简化框图;
图9是示出在单元中链路故障之后集群的捆束平衡的过程的一个实施例的简化流程图;
图10示出使用多方面捆束平衡的跨集群以太通道集群的实施例的简化框图;
图11A-11D示出在链路和/或单元故障期间捆束平衡恢复的示例的实施例的简化框图。
具体实施方式
概览
在一个示例中提供了一种方法,该方法包括使用带外控制链路接收来自第一网络元件的请求消息。该请求消息包括用于将与第一网络元件相关联的第一端口捆束到与集群相关联的通道组的请求。该集群包括多个成群的网络元件。该方法还包括判定第一端口相对于通道组的状态,并使用带外控制链路向第一网络元件发送回复消息。该回复消息指示所判定的第一网络元件的第一端口的状态。在更具体的实施例中,回复消息还包括第一端口的端口优先级。在更具体的实施例中,第一端口的状态被判定为与通道组捆束在一起或者处于备用状态。在更具体的实施例中,判定第一端口的状态包括基于集群中的负载平衡和最大被捆束端口计数中的至少一个判定第一端口是处于捆束状态还是处于备用状态。
在更具体的实施例中,该方法还包括通过带外控制链路接收指示,该指示表明第一端口是不工作的,并响应于接收到该指示触发捆束平衡过程。在更具体的实施例中,捆束平衡过程包括使用带外控制链路向多个成群的网络元件中的第二网络元件发送取消选择消息。取消选择消息指示第二网络元件将第二网络元件的第二端口的状态从捆束状态变为备用状态(其中术语“状态”涵盖任何类型的等级、特性、模式等)。在更具体的实施例中,捆束平衡过程包括使用带外控制链路向第一网络元件发送选择消息。该选择消息指示第一网络元件将第一网络元件的第三端口的状态从备用状态变为捆束状态。在更具体的实施例中,带外控制链路使用集群链路聚合协议,其中集群链路聚合协议包括标准链路聚合控制协议和集群专用链路聚合控制协议。
示例实施例
转到图1,图1是用于在网络环境中提供集群链路聚合控制的通信***100的实施例的简化框图。图1的通信***100包括第一网络安全设备102a、第二网络安全设备102b、第三网络安全设备102c和第四网络安全设备102d。在具体的实施例中,网络安全设备102a-102d各自都是在图1中分别表示为ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D 102d的适应性安全设备(ASA)。在具体的实施例中,适应性安全设备(ASA)是由提供网络安全服务(比如,防火墙、入侵防御、VPN、内容安全、统一通信、远程访问、防病毒、反垃圾邮件、反钓鱼、统一资源定位符(URL)拦截和过滤以及内容控制)的思科***公司提供的网络安全设备。
虽然图1中示出的具体实施例示出了适应性安全设备(ASA)的使用,但是应当理解,在其它实施例中可以使用任何网络安全设备。在其它实施例中,网络设备不一定是网络安全设备,而可以是集群链路聚合可能需要的任何网络元件。如本说明书中所使用的术语“网络元件”旨在涵盖路由器、交换机、网关、网桥、负载平衡器、防火墙、内联服务节点、代理服务器、服务器、处理器、模块或可操作来在网络环境中交换信息的任何其它合适的设备、组件、元件、专用设备或对象。这种网络元件可以包括辅助以上操作的任何合适的硬件、软件、组件、模块、接口或对象。这可以包括允许数据或信息的有效交换的适当的算法和通信协议。
ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D 102d中的每一个都具有耦接到第一交换机(交换机-1)104的第一组网络端口和耦接到第二交换机(交换机-2)106的第二组网络端口。交换机-1 104还与(一个或多个)不安全的网络108通信。端点设备110a和端点设备110b与(一个或多个)不安全的网络设备108通信。交换机-2 106还与(一个或多个)安全的网络112通信。端点设备114a和端点设备114b与(一个或多个)安全的网络设备112通信。ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D 102d中的一个或多个为与(一个或多个)安全的网络通信的端点设备114a-114b提供安全服务,使它们免于从(一个或多个)不安全的网络108接收到的网络流量(比如源于端点设备110a-110b的流量)的危害。ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D 102d形成具有一个或多个链路聚合在一起的集群以提供比单个ASA可以提供的更大的吞吐量、弹性和/或链路聚合的其它益处。这允许在(比如)图1中所描绘的那些环境中实现集群链路聚合控制,如将在本文中被进一步描述的。
端点设备110a-110b和114a-114b可以与希望经由某些网络在通信***100中发起通信的客户、顾客或最终用户相关联。术语“端点设备”包括用于发起通信的设备,比如接收机、计算机、机顶盒、IRD或能够在通信***100内发起语音、音频、视频、媒体或数据交换的任何其它设备、组件、元件或对象。端点设备110a-110b和114a-114b中的一个或多个还可以包括针对个人用户的合适的接口,比如显示屏、键盘、触摸板、遥控器或其它终端设备。端点设备110a-110b和114a-114b中的一个或多个还可以是试图代表另一实体或元件发起通信的任何设备,比如程序、数据库或能够在通信***100内发起交换的任何其它组件、设备、元件或对象。如本文档中所用的数据指的是任何类型的数字、语音、视频、媒体或脚本数据,或任何类型的源代码或对象代码,或具有可以从一点传送到另一点的任何适当的格式的任何其它合适的信息。
(一个或多个)不安全的网络108和(一个或多个)安全的网络112代表用于接收和发送通过通信***100传播的信息分组的互连通信路径的一系列点或节点。(一个或多个)不安全的网络108和(一个或多个)安全的网络112在源和/或主机之间提供通信接口,并且可以是任何局域网(LAN)、无线局域网(WLAN)、城域网(MAN)、内联网、外联网、WAN、虚拟专用网(VPN)或在网络环境中辅助通信的任何其它适当的架构或***。在本公开的具体实施例中,(一个或多个)不安全的网络108和(一个或多个)安全的网络112可以实现UDP/IP连接并使用TCP/IP通信协议语言。然而,(一个或多个)不安全的网络108和(一个或多个)安全的网络112可以可替代地实现任何其它合适的通信协议以在通信***100内发送和接收数据分组。
在一个特定实例中,通信***100能够与服务提供商数字用户线路(DSL)部署相关联。在其它示例中,通信***100也同样适用于其它通信环境,比如企业广域网(WAN)部署、线缆场景、通常宽带、固定无线情况、光纤接入(FTTx)(其对在最后一英里架构中使用光纤的任何宽带网络架构是通用术语)。通信***100可以包括对网络中分组的传输和/或接收具有传输控制协议/互联网协议(TCP/IP)通信能力的配置。在适当且基于特定需求的情况下,通信***100还可以结合用户数据报协议/IP(UDP/IP)或任何其它合适的协议进行操作。
为了示出通信***100的某些示例技术,理解可以穿过网络的通信是很重要的。下面的基本信息可以视为基础,依据其本公开可以得到适当的解释。现在参考图2,图2是在单个ASA-A 102a和交换机-2 106之间的链路聚合布置200的简化框图。对图2的说明提供关于在非集群情况下的链路聚合的更多的信息,以使得本文中进一步描述的包括集群的实施例可以得到更清楚的理解。在图2中,ASA-A 102a包括物理以太网接口1/1、1/2、1/3、1/4、1/5和1/6。交换机-2 106包括物理以太网接口2/1、2/2、2/3、2/4、2/5和2/6。ASA-A 102a的物理以太网接口1/1耦接到交换机-2106的物理以太网接口2/1。ASA-A 102a的物理以太网接口1/2耦接到交换机-2106的物理以太网接口2/2,ASA-A 102a的物理以太网接口1/3耦接到交换机-2106的物理以太网接口2/3,ASA-A 102a的物理以太网接口1/4耦接到交换机-2106的物理以太网接口2/4,ASA-A 102a的物理以太网接口1/5耦接到交换机-2106的物理以太网接口2/5,ASA-A 102a的物理以太网接口1/6耦接到交换机-2106的物理以太网接口2/6。
IEEE 802.3ad标准使用链路聚合控制协议(LACP)支持物理以太网接口的聚合以形成逻辑以太网链路,也称为以太通道或端口通道。使用LACP的物理以太网接口的聚合提供更大的带宽、高可用性和自动重新配置。如果没有LACP,那么以太通道只能通过静态配置来形成。通道组是代表用户明确地或使用通道协议聚合一组接口的意图的组。通道组因此是包括用户添加的所有端口的容器。在图2的示例中,ASA-A 102配置有具有成员1/1、1/2、1/3、1/4、1/5和1/6的通道组1,交换机-2 106配置有具有成员2/1、2/2、2/3、2/4、2/5和2/6的通道组2。端口通道是代表在操作上被聚合成单个逻辑转发接口的一组接口的逻辑接口。端口通道接口聚合特性由配置和操作参数来确定。端口通道接口是由某个通道组来创建的。在图2中,有一个与ASA-A 102a上的通道组1相关联的端口通道接口po1以及一个与交换机-2 106上的通道组2相关联的端口通道接口po2。
挂起的链路是由于操作或管理参数的错误配置而无法被聚合的链路。示例是那些其在两端***上的端口具有不同的端口速度或通道模式的链路。单独的链路通常是被允许在一端***上参与聚合但在另一端***上不被允许参与聚合的链路。单独的链路将继续作为标准802.3链路。在图2中,当LACP协议运行并且ASA-A上的端口1/6和交换机-2 106上的端口2/6之间的链路202仅被一端***包括在通道组中时,链路202作为单独的链路。热备用链路是在操作上可以被聚合但是由于***聚合能力的限制不被包括在聚合中的链路。例如,在图2中,假定ASA-A被配置为在聚合中支持最多四个链路,尽管在通道组中其允许多达十六个链路被配置。因此,一组四个链路可以被聚合以在通道组内形成逻辑端口通道接口。其余的链路变为能够在一个或多个聚合链路出现故障时加入端口通道的备用链路。在图2中,ASA-A 102a上的端口1/5和交换机-2 106上的端口2/5之间的链路204是作为通道组1和通道组2的一部分的备用链路。
集群允许多个网络设备提供比单个网络设备更高的吞吐量。根据各种实施例,为支持集群,多个网络设备间的链路被聚合成一个通信通道。在ASA集群中,多个ASA和交换机间的链路被聚合成一个以太通道,称为跨集群以太通道。
如IEEE 802.3ad中所定义的链路聚合控制协议(LACP)是链路层控制协议,其允许链路聚合组(LAG)的动态协商和建立。集群的挑战在于LACP被定义为在两个设备间仅根据IEEE 802.3ad或IEEE 802.1ax运行。IEEE 802.3-2005和IEEE 802.1ax都规定“链路聚合,如本条款所规定的,不支持以下内容:……n)多点聚合:本条款中指定的机制不支持两个以上的***间的聚合。”在ASA集群上,在没有本文所描述的各种实施例的集群链路聚合协议(CLACP)的情况下,当多个ASA的端口需要在以太通道中被聚合时,需要在没有LACP的情况下使用静态配置形成以太通道。其结果是当存在链路/端口故障时集群上的流量“黑洞”。
图3示出使用以太通道与交换机相连接的集群300的示例,其中无法实现各种实施例的集群链路聚合控制协议。在图3的示例中,八个ASA(ASA1 302a-ASA8 302h)在棒状(stick)拓扑上使用以太通道po1作为防火墙形成连接到内部交换机304的集群。这八个ASA(ASA1 302a-ASA8 302h)通过集群控制链路(CCL)306相互通信。在没有如本文中的各种实施例中所描述的集群链路聚合协议的情况下,内部交换机304和ASA1 302a到ASA8 302h间的以太通道po1被静态地配置。如果ASA1302a上的端口0/1仍然处在连接状态但是功能上出现故障,内部交换机304将仍然通过在其端口1/1和ASA1 302a的端口0/1之间的链路发送流量。这将导致分组丢失,而ASA1302a上的端口0/1变成流量“黑洞”。
此外,在ASA上,一些端口,尤其是光端口,即使当ASA重载时也不关闭。例如,如果图3中的ASA1被重载,则端口0/1将在ASA图像被完全重载之前出现。如果以太通道没有配置如本文所描述的集群链路聚合协议,那么内部交换机将向端口0/1发送流量,这使得端口0/1成为“黑洞”端口。为解决这种由集群上的以太通道中端口/链路故障或ASA重载所引起的问题,本文所描述的各种实施例提供对集群中的链路聚合协议的支持。在一个或多个实施例中,在ASA上提供了集群链路聚合协议(CLACP)模块,该模块可以提供以下功能中的一个或多个功能:支持集群中多个ASA单元上的链路聚合控制协议、在ASA集群上提供具有自动配置的多机架以太通道并使得成群的ASA能够在逻辑上作为一个ASA与标准LACP设备交互操作、在链路故障或设备故障期间在链路和设备级提供具有流量黑洞规避和负载平衡的以太通道重新配置、向集群控制平面提供集群链路聚合协议(CLACP)应用编程接口(API)以通知以太通道链路状态变化并提供健康监测、和/或在主单元离开集群的情况下在ASA单元之间提供CLACP恢复/冗余。
现在参考图4,图4示出连接到交换机-1104的集群400的实施例,其中实现了集群链路聚合控制协议。集群400包括ASA-A 102a、ASA-B102b、ASA-C 102c和ASA-D 102d。ASA-A102a通过链路L1连接到交换机-1 104,ASA-B 102b通过链路L2连接到交换机-1 104,ASA-C102c通过链路L3连接到交换机-1 104,ASA-D 102d通过链路L4连接到交换机-1104。ASA-A102a、ASA-B 102b、ASA-C 102c和ASA-D 102d被配置为集群,在该集群中链路L1-L4被聚合在一起成为单个端口通道1(也称为跨集群以太通道)。交换机-1 104使用标准链路聚合控制协议(LACP)消息传递通过链路L1-L4与ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D102d进行通信。集群400还包括连接到ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D 102d中的每一个的集群控制链路(CCL)402。集群控制链路402是ASA-A 102a、ASA-B 102b、ASA-C102c和ASA-D102d之间的带外链路,它是用于集群单元ASA-A 102a、ASA-B 102b、ASA-C102c和ASA-D 102d之间的通信的专用链路。ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D102d相互之间使用集群链路聚合控制协议(CLACP)消息传递通过CCL 402进行通信。在一个或多个实施例中,集群链路聚合协议(CLACP)包括与集群专用链路聚合控制协议相结合的标准链路聚合控制协议(LACP)。
在至少一个实施例中,在交换机-1104上采用IEEE标准802.3ad或802.1ax LACP,在ASA集群上的ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D 102d中的每一个上采用如本文进一步描述的集群链路聚合控制协议。在特定实施例中,CLACP是标准LACP的超集,在与交换机-1104的链路聚合协商/同步中,通过经由(在同一通道组中的)链路L1-L4与交换机-1104交换标准链路聚合控制协议数据单元数据单元(LACPDU)来遵循标准LACP。CLACP通过在集群控制链路(CCL)402上经由集群消息传递API交换CLACP控制消息,实现用于集群内的ASA单元之间的链路聚合控制的扩展协议。
ASA之一被指定为集群400的主单元,集群中的其它ASA被指定为从单元。在图4中示出的具体实施例中,ASA-A 102a被指定为集群主单元,ASA-B 102b、ASA-C 102c和ASA-D102d中的每一个被指定为从单元。集群主单元ASA-A 102a负责对整个集群400的链路聚合做出决策。集群主单元ASA-A 102a针对集群400的所有单元做出链路聚合决策,并将结果/状态分发到从单元ASA-B 102b、ASA-C 102c和ASA-D 102d。每个从单元ASA-B 102b、ASA-C102c和ASA-D 102d维护与它的本地端口相关的链路聚合结果/状态,因此能够在没有集群主单元ASA-A 102a的参与的情况下转发属于以太通道的流量。主单元(ASA-A 102a)维护整个集群的链路聚合状态。
从交换机-1104的角度看,(1)从CLACP设备发送的LACPDU与标准LACPDU相同;(2)当在单个设备上操作时CLACP起到LACP的作用。因此,CLACP与标准LACP设备兼容。在集群400内,CLACP是分布式协议,链路聚合状态分布在集群成员之间,而集群主单元操控LACP链路聚合参数并且做出关于整个集群的链路聚合的决策。此外,在各种实施例中,CLACP不仅对端口/链路故障有弹性,而且对集群单元故障也有弹性。在各种实施例中,CLACP还能够在集群中单元之间平衡捆束(活动链路)。此外,在各种实施例中CLACP可以被其它设备集群解决方案在它们的集群消息传递实现方式的顶部重复使用。
现在参考图5,图5根据一个实施例示出适应性安全设备(ASA)的实施例。ASA 500包括一个或多个处理器502、存储器元件504、安全服务模块506、I/O端口508和集群链路聚合控制模块510。(一个或多个)处理器502被配置为实施如本文所述的ASA 500的各种任务,存储器元件504被配置为存储与ASA 500相关联的数据。安全服务模块506被配置为提供ASA500所提供的各种安全服务。集群链路聚合控制模块510被配置为实现如本文所进一步描述的集群链路聚合控制协议(CLACP)。
在一种实现方式中,ASA 500是包括用于实现(或促进)如本说明书中所列出的集群链路聚合控制协议操作的软件的网络元件。注意到在一个示例中,这些元件中的每个元件能够具有用于辅助本文所描述的操作中的一些操作的内部结构(比如,处理器、存储器元件等)。在其它实施例中,这些集群链路聚合控制协议操作可以在这些元件外部被实施,或被包含在一些其它网络元件中以实现这个预期功能。可替代地,ASA 500可以包括能够与其它网络元件协作以实现本文所列出的这些操作的软件(或交互软件)。在其它实施例中,一个或多个设备可以包括辅助以上操作的任何合适的算法、硬件、软件、组件、模块、接口或对象。
集群链路聚合控制协议(CLACP)
本文所描述的CLACP的各种实施例允许多个ASA间的链路被聚合在一起以形成链路聚合组(LAG)(或以太通道或端口通道),使得介质访问控制(MAC)客户端能够将以太通道作为单个链路来对待。例如,在图2的实施例中,交换机-1104将会把与ASA-A 102a、ASA-B102b、ASA-C102c和ASA-D 102d的链路L1-L4看做单个链路。这允许多个ASA聚合成虚拟的和非常强大的ASA,该ASA具有增加的带宽、线性递增的带宽、提高的可用性、负载共享和确定性行为。CLACP过程分布在集群中的ASA上,而集群主单元的CLACP模块对跨集群的链路聚合进行控制。
虽然标准LACP对具有相同能力、终止于同一两端***中的链路进行聚合,本文所描述的各种实施例的CLACP将在同一集群中的多个ASA上的链路聚合成一个以太通道,其中对于ASA集群外部的设备而言ASA集群被看做一个逻辑端***。
在特定实施例中,在维护所连接的设备(比如交换机)所使用的标准LACP的能力的同时,CLACP还包括链路聚合参数,这些链路聚合参数被ASA用来实现集群的正确聚合。在CLACP的特定实施例中,本地***的链路聚合参数以“施动者(Actor)”为前缀,远程***的链路聚合参数以“合作者(Partner)”为前缀。在一个或多个实施例中,与标准LACP相比,CLACP对用于集群聚合的这些LACP参数施以特别的要求和功能,如下面进一步描述的。链路聚合组标识符(LAG ID)参数表示以太通道或端口通道两者的端***所理解的聚合的标识。在至少一个实施例中,LAG ID包括施动者的***标识符(SI)、分配到该聚合的端口操作密钥(PK)、端口标识符(PI)以及合作者的SI、PK和PI。端口通道的所有成员将具有与它们相关联的相同的LAG ID,如本文进一步描述的。因此,虽然CLACP中的链路可能在不同ASA上,但是如果它们在一个以太通道或端口通道中,它们将共享相同的LAG ID。
LAG ID是端口通道或链路聚合组的符号表示。当通道组中的链路不被聚合成端口通道时,它不在聚合组中并且具有单独的LAG ID。在特定实施例中,LAG ID被表示为[(S,K,P),(T,L,Q)],其中:
S和T是两端***的***标识符,S在数值上小于T。在ASA集群中,集群是LAG中的一个逻辑/虚拟端***。K和L分别是由***S和T分配的操作密钥。P和Q分别是由***S和T分配的端口标识符。在具体实施例中,当成员操作为端口通道接口的一部分时,P和Q值将是零。在至少一个实施例中,端口标识符仅在链路是单独的且未被聚合成端口通道的情况下被使用。
***标识符参数被用于标识端***。在一个或多个实施例中,每个端***将具有将被用在LACP协议中的64位宽的***标识符。在具体实施例中,***标识符是通过串接端口通道的16位***优先级和48位***MAC地址形成的。***优先级参数标识***的优先级。在一个或多个实施例中,参与LACP的***具有用户可配置***优先级。在具体实施例中,允许的范围是1到65535(16位),其中较高数值表示较低优先级。在更具体的实施例中,***优先级的默认值是32768或0x8000。在至少一个实施例中,各种实施例的CLACP具有与LACP相同的优先级参数约定。
***MAC参数标识与***相关联的MAC ID或者设备ID。在单个(非成群的)ASA的LACP中,***MAC是编号最小的物理成员接口的内置MAC地址并且不是用户可配置的。在由CLACP规定的ASA集群中,在至少一个实施例中,对于不是跨集群的一部分的以太通道,每个ASA单元将仍具有一个这样的LACP***MAC。对于采用CLACP的跨集群以太通道,所有的ASA共享相同的***MAC。如果ASA***MAC之一被用作CLACP***MAC,则由于特定ASA单元离开或加入集群,CLACP***MAC可能成为动态的。为了防止这种情况的发生,在至少一个实施例中,默认的CLACP***MAC是自动生成的CLACP***MAC。在一个或多个实施例中,默认的CLACP***MAC可以以类似于自动生成的故障切换MAC地址的方式来生成。在特定实施例中,可以允许用户使用用户接口(比如命令行界面(CLI))为整个集群配置虚拟CLACP***MAC。根据CLACP的各种实施例,自动生成和用户配置的***MAC都只在集群主单元上被创建并被更新到从单元。当新的从单元加入集群时,新加入的单元将接收来自集群主单元的***MAC。在具体实施例中,为了区别于已有的可以自动生成的ASA MAC,前两种类型的自动生成的***MAC的值为0xA6和0x00。值0xA6指示该MAC是本地管理的单独的MAC地址,因为该CLACP MAC地址在流量传输中不被用作MAC地址。
在一个或多个实施例中,单独的集群单元的端口MAC地址在来自该单元端口的LACP数据单元(LACPDU)中将被用作源地址。在具体实施例中,01-80-C2-00-00-02(IEEE802.3ad中定义的慢速_协议_多播_地址(slow_protocol_multicast_address))将被用作所有LACPDU交换的目的地MAC地址。
作为逻辑接口,以太通道还需要MAC地址。在单个ASA以太通道中,默认的以太通道MAC地址是捆束在以太通道中的所有物理接口中编号最小的物理接口的内置MAC地址。由于接口离开或加入以太通道,以太通道MAC地址可以是动态的。可替代地,以太通道MAC地址还可以在管理上被指定为虚拟MAC地址。对于ASA集群,在一个跨集群以太通道中的所有ASA单元将共享该以太通道的一个以太通道MAC。在特定实施例中,主单元上的通道组中编号最小的物理接口的内置MAC地址将默认地是共享的以太通道MAC。在其它实施例中,用户可以针对跨集群以太通道配置虚拟MAC地址以确保MAC地址不受离开或加入集群的接口或端口影响。
例如在IEEE 802.1ax中所定义的端口操作密钥(PK)参数(在IEEE802.3ad中称为端口能力标识)是由端口的管理密钥和操作密钥决定的。管理密钥是由管理层针对端口(或接口)配置的密钥,操作密钥是由LACP分配到端口的密钥值。在具体实施例中,管理密钥是LACP用来管理聚合的16位数字。在具体实施例中,在ASA上通道组ID将被用作管理密钥。在具体实施例中,操作密钥是分配给端口的16位整数,这表示该端口可以与同一以太通道中被分配有相同操作密钥的所有其它端口聚合。在一个或多个实施例中,操作密钥分配不是用户可配置的。在ASA上,默认地,操作密钥与管理密钥相匹配(即,每当在通道组中只形成一个端口通道接口时的通道组ID)。然而,CLACP向集群控制平面提供API以将端口操作密钥变为向集群通道组(和相应的以太通道)动态地添加链路或者可替代地从通道组中移除链路。
端口标识参数标识***中的端口或接口。在具体实施例中,端口标识符是分配给***中的端口(或接口)的32位唯一编号。在更具体的实施例中,端口标识符是通过组合分配给接口的16位端口优先级和16位端口号而形成的。在一个或多个实施例中,端口标识符被用作用来形成聚合的端口聚合优先级。端口被认为在开始于在***中具有最高的端口聚合优先级的端口处、并沿端口标识符的有序列表向下工作的聚合中发挥积极作用。在一个或多个实施例中,在所有被发送出端口的LACP数据单元(LACPDU)中设置端口标识符。
端口优先级参数标识端口或接口的优先级。在一个或多个实施例中,端口优先级被集群链路聚合控制模块510内的CLACP选择逻辑用来判定哪些端口应当被激活以及哪些端口应当被放置在热备用模式下。例如,当存在对端口通道中所允许的最大链路数的硬件或软件限制时,将一个或多个端口放置在热备用模式下可能是必要的。在一个或多个实施例中,端口优先级参数是用户可配置的,使得用户可以对所有使LACP被启用的接口的端口优先级进行配置。在具体实施例中,端口优先级的允许范围是1到65535,其中较高的数字表示较低的优先级。在更具体的实施例中,端口优先级的默认值是32786或者0x8000。在一些集群链路聚合控制协议(CLACP)配置中,特定链路被置于活动模式以在ASA之间实现最佳或最可取的负载平衡。在一些实施例中,端口优先级的分配能够依赖于客户的智能配置,或者端口优先级可以由CLACP进行调整。
端口号参数起到LACP中的端口的唯一标识符的作用。对于集群,所有的ASA单元将具有基于相同的接口ID的相同的端口号。为了区分集群中所有的ASA端口,CLACP预留部分端口号以用于这一目的。在具体实施例中,单元ID的16位端口号中的前6位被预留,使得ASA间的端口号重叠可以被避免。由于6位的预留,从而在一个ASA集群中多达64个单元可以得到支持。剩余的10位对于单个ASA上的1024个端口仍然足够。
在LACP中,LACP参数在以太通道的自动配置和协商中是重要的。在标准LACP中,通道组中的每个端口能够处于四种可能的通道模式中的一种。在“主动”模式中,端口发起与在另一端***上的它们的对等体的LACPDU交换,并周期性地发送出LACPDU以向对等体通知任何更新。被动模式端口不发起LACPDU,但在从对等体接收到LACPDU时,它们也开始发起与它们的对等体的交换。“被动”模式在不清楚远程端口是否支持LACP的场景中是有用的。当端口未被配置为通道组的成员时,它处在“关断”模式。静态配置是“打开”模式。在本文描述的CLACP的各种实施例中,为了对跨集群以太通道使用CLACP需要“主动”模式。
在各种实施例中,当需要时,CLACP操控一些LACP参数,比如***ID、端口ID、端口优先级。在大多数情况下主单元控制整个集群的CLACP参数。例如,在一个或多个实施例中,集群内的所有单元使用主单元所决定的相同的***ID。在这种方式中,单元的集群能够被集群外部的网络设备看做单个设备。在另一示例中,当主单元需要将特定单元上的特定热备用端口移动到捆束状态时,它增加该端口的端口优先级。对于标准LACP而言端口号是硬件插槽和端口号的函数,而在CLACP的各种实施例中,单元ID被动态嵌入到新加入的集群单元的端口ID中。
CLACP消息传递
CLACP的各种实施例提供被添加到现有链路聚合控制协议(比如LACP)的附加的消息。这些CLACP消息通过集群消息传递链路(比如集群控制链路(CCL))被从主单元发送到从单元或者从从单元发送到主单元。在具体实施例中,CLACP消息传递是通过独立于集群实现平台的集群消息传递和/或远程过程调用(RPC)服务进行的。在具体实施例中,CLACP消息包括,但不限于:
(a)从从单元发送到主单元的请求捆束消息,其中从单元请求主单元捆束从单元的端口;
(b)从主单元发送到从单元的选择消息,其中主单元通过向从单元指定某个端口将要被选择以捆束到链路聚合中来选择要捆束的从端口;
(c)从主单元发送到从单元的取消选择消息,其中主单元通过向从单元指定某个端口将被解除捆束并被移动到备用状态来取消对从单元上捆束端口的选择;
(d)从主单元发送到从单元的处理备用消息,其中主单元通过将热备用端口变为主动端口来指示从单元处理特定的备用端口;以及
(e)从从单元发送到主单元的状态更新消息,其中从单元向主单元报告链路状态变化以使主单元随时了解链路的状态。
在具体实施例中,上述CLACP消息采用以下形式:
请求捆束(unit_id,agg_id,port_id);
选择(unit_id,agg_id,port_id);
取消选择(unit_id,agg_id,port_id);
处理备用(unit_id,agg_id,port_id);以及
状态更新(unit_id,agg_id,port_id)。
参数unit_id代表从单元的单元ID,agg_id代表标识集群的聚合ID(比如链路聚合组标识符(LAG ID)),port_id代表指定端口的端口ID。
集群上的分布式CLACP处理
混合CLACP状态机
在标准LACP中,每个接口上运行四个状态机:接收状态机、周期状态机、多路复用状态机和发送状态机。此外,在这些状态机间以及所有接口间的交互中涉及被称为选择逻辑的核心逻辑。接收机维护来自远程(一个或多个)合作者发送的LACPDU的合作者信息、记录协议信息。接收到的信息有超时,并且如果经过了足够的时间,则接收机将恢复到使用默认的合作者信息。周期机建立参与者周期***换LACPDU以维护聚合以及周期性传输应当发生的频率的期望。多路复用状态机使用选择逻辑选择适当的端口以将物理端口附连到聚合端口,并依照协议信息的要求打开或关断物理端口的分配器和收集器。如果合作者对施动者状态的观点不是当前的,则发送状态机依照周期状态机和其它机器所要求的格式化并发送LACPDU。此外,它对LACPDU的最大传输速率施加限制。选择逻辑选择物理端口的聚合端口。它判定物理端口的链路聚合组标识符(LAG ID),并发现具有相同LAG ID的聚合端口。
在ASA集群上,每个ASA单元仍然在每个接口上运行四个状态机并且维护它自己的端口的端口状态和端口通道信息。然而,对于跨集群以太通道,从ASA单元不运行选择逻辑。相反,它们将向集群主ASA更新有关参与跨集群通道组的端口的任何CLACP状态变化。集群主ASA维护参与跨集群通道组的所有ASA的端口的LACP状态,并且在CLACP下对于跨集群通道组只有集群主单元运行选择逻辑。集群主单元选择用于端口聚合的链路、形成链路聚合并且在相关端口不是其本身的端口的情况下向从单元发送聚合决定。只有集群主单元接受来自用户接口的全局CLACP配置并控制CLACP的***参数。在一个或多个实施例中,集群主单元还能够改变从单元上的端口的操作参数。每个ASA单元由其自身处理传入的LACPDU,但是当LACPDU改变链路聚合状态时它更新主单元。
用于流量传输的分布式链路聚合状态
集群主单元做出针对集群中的所有单元的链路聚合的决策并将结果/状态分发到该集群的从单元。每个从单元维护与其本地端口相关的链路聚合结果/状态并且能够在没有集群主单元的参与的情况下转发属于以太通道的流量。主单元维护整个集群的链路聚合状态。与特定单元相关的链路聚合状态被分发到该单元,使得该单元的CLACP模块510能够用它的端口通道专用信息(即,主动成员、热备用成员的列表和单元上的任何其它相关信息)适当地建立端口通道。每个单元进一步维护这些信息。当集群主单元在跨集群端口通道上做出任何链路聚合变化时,它将更新相关的从单元。从单元接收该更新并在其端口上维护链路聚合状态。在每个单独的单元上,只需要这些链路聚合状态信息项来形成端口通道并在端口通道形成之后处理数据传输。如果没有链路状态变化、链路聚合变化或集群单元变化,则端口通道中的数据传输将不需要涉及集群主单元的CLACP过程。
分布式操作兼容性检查
一种LACP标准处理是对任何端口操作参数(比如速度或通道模式,链路聚合的变化)采取行动。操作参数是属于同一通道组的端口聚合成一个端口通道时所需要的属性。为使端口聚合成端口通道,所有成员端口的所有操作参数以及端口通道本身必须是相同的或者兼容的。如果由于配置变化端口从可兼容转变到不可兼容,则该端口被挂起,尽管它仍然是通道组的一部分。在ASA上,当端口改变链路速度、双工或模式时,通常将需要兼容性检查。在ASA集群中,因为所有单元在接口特性和配置上是一样的,所以CLACP不对单元间的兼容性进行检查。对于同一ASA上的多个端口,现有的LACP兼容性检查就足够了。
LAG成员资格监控
在至少一个实施例中,LAG端口成员资格监控是根据标准LACP过程进行的。如果监控过程在配置中检测到实际影响链路在其当前LAG中的成员资格的变化,则从其当前LAG中移除该链路可能是适当的。集群中单独的ASA运行LAG成员资格监控,并就任何变化更新集群主单元。此外,为了让在以太通道另一端的集群的对等体(比如交换机)更快地注意到一个ASA单元离开集群(比如由于ASA崩溃),LACPDU由来CLACP生成,并在追踪转储期间(traceback dumping)被从重载ASA单元发送到交换机。否则,当ASA端口在ASA重启期间关闭时,交换机端口将在向它发送流量时检测到这一点。在各种实施例中,CLACP包括处理正常地和非正常地离开集群的单元的处理。在两种情况下,所有的跨集群以太通道中的离开单元的端口将被从以太通道中移除,主单元将向剩余的单元发送用来将单元上的热备用端口(如果它们具有任何热备用端口)变为主动端口的消息。在此处理中,从单元具有处理热备用端口的优先权,这将使得具有减轻的负载的主单元来缓解集群主单元的超载。
链路故障恢复
当主动链路出现故障并且集群主单元仍然在集群中时,主单元改变链路聚合,选择热备用链路(如果存在一个的话)并就恢复的链路聚合状态对剩余的从单元进行更新。
单元故障恢复
当集群从单元正常地离开集群时,主单元将收到通知并且将CLACP状态更新发送到其它剩余的单元。离开单元上的所有跨集群以太通道将被关闭,LACPDU将被发送到所连接的交换机使得它能够从它的链路聚合捆束中移除相应的链路。当ASA单元崩溃时,在崩溃转储(crashdump)期间LACPDU仍然被发送到交换机,链路聚合更新将由主单元处理,所有剩余单元上的热备用端口有机会被主单元移动到主动状态。即使LACPDU不被发送,通过使用LACP,交换机将在数秒内注意到端口关闭。因此,基于集群成员资格和健康监控的超时将检测集群内的非正常单元离开。如果主单元离开或故障,则在新的主单元被选出之后,新的主单元从从单元收集信息以重建链路聚合的完整状态/信息,并将(一个或多个)热备用链路(如果有的话)选为主动。
伴有接口健康检查的故障恢复
CLACP的各种实施例可以在故障期间重新配置多个跨集群以太通道以避免流量黑洞。这由支持CLACP的集群接口健康检查和CLACP负载平衡控制来执行。在接口健康检查中,接口比其它单元少的单元(主单元或从单元)将被暂时地从集群中移除(禁用)。这些接口包括以太通道接口。经过一定的超时期限,被禁用的单元将尝试加入集群。如果单元可以带来和其它单元一样多的接口,则它可以成功地加入集群。
现在参考图6,图6是示出从单元加入集群的过程600的一个实施例的简化流程图。在图6示出的实施例中,过程600描述了作为从单元的ASA-B 102b加入具有作为主单元102a的ASA-A 102a的集群。在602中,ASA-B通过集群控制链路(CCL)向ASA-A 102发送CLACP***参数请求。该CLACP***参数请求是发送到集群的主单元(在此实例中是ASA-A 102a)的、请求与集群相关联的CLACP***参数的消息。在604中,ASA-A 102a通过CCL向ASA-B 102b发送CLACP***参数回复消息。该CLACP***参数回复消息包括与集群相关联的CLACP***参数(比如与集群相关联的通道组)。在606中,ASA-B 102b对由CLACP***参数回复消息传递的CLACP***参数和端口参数进行设置,并且在集群的跨集群通道组的所有的成员端口上启用LACP和CLACP处理。在图6示出的具体实施例中,通道组G0中的ASA-B 102b的端口K0准备好可能捆束在集群组内。
在608中,ASA-B 102b通过CCL向ASA-A 102a发送对端口K0的捆束请求消息。捆束请求消息是针对主单元的将所指示的端口在所指示的通道组中设置为捆束或热备用状态的请求。在610中,考虑到集群内的负载平衡和最大捆束端口数,作为主单元的ASA-A 102A决定选择从单元ASA-B 102b上的端口K0来捆束端口K0或者将端口K0设置为热备用。在612中,ASA-A 102a使用CCL针对跨集群通道组G0中的端口K0发送捆束回复消息。捆束回复消息指示跨集群通道组中的端口的状态是由主单元确定的。在至少一个实施例中,捆束回复消息指示该端口的端口优先级。在614中,ASA-B 102b将端口K0设置为捆束或者热备用。此外,ASA-B 102b根据捆束回复消息设置K0的端口优先级。虽然图6中未示出,但是ASA-B 102b的所有成员端口和所有跨集群通道组重复608-614的操作。例如,ASA-A 102a然后可以接着使通道组G1中的端口K1准备好并向ASA-A 102a发送关于端口K1的捆束请求消息。
现在参考图7,图7是示出由主单元判定从单元的端口的端口捆束状态的过程700的实施例的简化的流程图。在702中,主单元使用CCL接收来自正在加入集群(主单元对该集群而言是主单元)的从单元的***参数请求消息。在704中,主单元使用CCL向从单元发送包括CLACP集群***参数的***参数回复消息。响应于接收到该***参数回复消息,从单元在其自身内设置CLACP集群***参数并发送对特定通道组中的从单元的特定端口的捆束请求。在706中,主单元使用CCL接收来自从单元的对特定跨集群通道组中的从单元的特定端口的捆束请求消息。在708中,如果端口将被捆束在集群内,则主单元将端口选为捆束状态,或者如果端口将被置于热备用模式,则则主单元将端口选为热备用状态。在710中,主单元使用CCL向从单元发送捆束回复消息。捆束回复消息包括关于端口应当被捆束还是设置为热备用的指示。响应于接收到捆束回复消息,从单元将端口设置为如捆束回复消息所指示的捆束或者热备用。在712中,判定从单元上是否存在任何剩余端口需要进行设置。如果从单元上有剩余端口需要设置,过程返回到706,其中主单元接收对从单元上的下一个端口的新的捆束请求消息。如果从单元上没有需要对其设置针对集群的状态的剩余端口,过程结束。
CLACP中的捆束平衡
各种实施例的CLACP的捆束平衡提供将所有的集群单元配置为具有相等或接近相等的需要捆束的端口的操作,使得所有的单元在跨集群以太通道内可以具有平衡负载。此外,捆束平衡是动态的,所以它可以提供故障恢复,其在链路或单元故障之后维护最佳捆束平衡。此外,当一个单元离开或加入集群时捆束平衡还可以再次平衡捆束。更进一步,当集群通过跨集群以太通道连接到多机架交换***(比如思科虚拟交换***(VSS)和/或虚拟端口通道(vPC))时,从集群和交换的角度来看都实现了捆束平衡,使得(例如)VSS/vPC中的每次交换具有相同或接近相同数目的、与每个集群单元相链接的捆束。
当多于预定的LACP链路聚合限制的链路被配置为一个通道组时,CLACP使用负载平衡算法来选择链路聚合中所使用的链路,以实现最好或可获得的最佳的负载平衡。为了平衡链路故障期间集群单元间的流量,该算法重新聚合剩余链路和设备间的链路,以便在故障恢复之后设备级资源可以得到最有效的使用并且流量被尽可能地重新平衡以实现单元和链路间的最佳流量平衡。关于CLACP的负载平衡过程的更多的描述在本文中被进一步描述。
为了在集群和/或多机架以太通道中提供更好的设备级负载平衡,期望使得捆束的/主动端口(和热备用端口)在集群和/或多机架***中的单元间均匀地分布。现在参考图8,图8示出使用捆束平衡的跨集群以太通道集群800的实施例的简化框图。在图8中,有四个集群单元(ASA-A102a、ASA-B 102b、ASA-C 102c和ASA-D 102d)连接到具有跨集群以太通道po1的交换机-1 104。每个集群单元在通道组中具有两个链路,使得ASA-A 102a具有链路A1和A2,ASA-B 102b具有链路B1和B2,ASA-C102c具有链路C1和C2,ASA-D 102d具有链路D1和D2。如果捆束的/主动的端口的最大数目是4,则最佳的平衡的捆束是每个单元上的一个端口(比如,A1、B1、C1和D1)处于捆束状态,而另一个端口(A2、B2、C2和D2)处于热备用状态。这样,每个集群单元承担相同的在跨集群以太通道中转发流量具的责任。这被称为捆束平衡。尽管本讨论指向交换机和ASA之间的捆束平衡,但是捆束平衡不仅可以适用于交换机和ASA,而是也可以适用于其它类型的设备集群或者多机架环境。
捆束端口的自动平衡
仍然参考图8,在图8的集群800中,通道组中有八个端口,但是最大捆束数是4,为了在4个集群单元间均匀分布捆束端口,管理员可能可以通过将每个ASA上的一个端口配置为具有高的LACP端口优先级而其它端口具有低的LACP端口优先级来手动配置ASA端口上的适当的LACP端口优先级。然而,当存在链路或单元故障以及当加入或离开集群的单元不是适应性的时候,静态手动配置不能保证平衡的捆束。例如,当链路B1出现故障时,为了维护捆束平衡,期望链路B2从热备用自动移动到捆束状态。CLACP的各种实施例提供捆束平衡操作来实现捆束端口的自动平衡。在CLACP的情况下,集群单元间的捆束平衡被自动执行并且捆束端口被均匀分布(或尽量均匀),使得所有的单元在跨集群以太通道内可以潜在地具有相等或接近相等的流量负载。
分布式故障恢复
链路故障由集群主单元和从单元共同处理。当链路出现故障时,集群中的其它活动链路将暂时接管它的流量,直到集群主单元选择一个适当的热备用链路(如果存在任何可用的热备用链路)到链路聚合中。集群从单元故障由集群主单元来处理。当集群主单元出现故障时,所有的从单元保持流量转发而没有中断并且直到新的主单元被推选出之前没有更多链路能够被捆束。故障恢复后,设备级的负载平衡是持续的。
现在参考图9,图9是示出在单元中链路故障之后集群的捆束平衡的过程900的一个实施例的流程图。在图9示出的实施例中,集群包括作为集群主单元的ASA-A 102a、作为从单元Sa的ASA-B 102b以及作为从单元Sb的ASA-C 102c。在902中,ASA-B 102b(从单元Sa)检测到跨集群通道组G中的捆束端口K0的状态为链路失效,表明该链路不再连通和/或是不工作的。在904中,ASA-B 102b(从单元Sa)使用CCL向ASA-A102a(主单元)发送关于端口K0失效的状态更新消息。在906中,响应于接收到状态更新消息,ASA-A 102a(主单元)中的捆束平衡操作或过程被触发。在908中,ASA-A 102a(主单元)内的捆束逻辑决定通过以下方式来将跨集群通道组G的一个捆束配额从ASA-C 102c(从单元Sb)移动到ASA-B 102b(从单元Sa):(1)取消选择ASA-C 102c(从单元Sb)上的捆束端口K1,以及(2)将ASA-B 102b(从单元Sa)上的热备用端口选为捆束的。在910中,ASA-A 102a(主单元)向ASA-C 102c(从单元Sb)发送针对端口K1的取消选择消息。在912中,ASA-C 102c(从单元Sb)将端口K1的状态从捆束变为热备用并相应地设置K1的端口优先级。在914中,ASA-A 102a(主单元)向ASA-B 102b(从单元Sa)发送针对端口K2的选择消息以将端口K2的状态从热备用变为捆束。在916中,ASA-A 102a(主单元)将端口K2的状态从热备用变为捆束的并相应地设置K2的端口优先级。
多个方面的捆束平衡
现在参考图10,图10示出使用多个方面的捆束平衡的跨集群以太通道集群1000的实施例的简化框图。在图10的实施例中,集群1000包括四个单元(ASA-A 102a、ASA-B 102b、ASA-C 102c和ASA-D 102d),这四个单元通过端口通道po1与包括交换机-1 104和交换机-2106在内的虚拟交换***(VSS)交换机对相连接。每个ASA有连接到交换机-1104的两个端口和连接到交换机-2 106的两个端口。ASA-A 102a经由链路A1&A2连接到交换机-1 104,经由链路A3&A4连接到交换机-2 106。ASA-B102b经由链路B1&B2连接到交换机-1 104,经由链路B3&B4连接到交换机-2 106。ASA-C 102c经由链路C1&C2连接到交换机-1 104,经由链路C3&C4连接到交换机-2 106。ASA-D 102d经由链路D1&D2连接到交换机-1 104,经由链路D3&D4连接到交换机-2 106。在图10的实施例中,po1中存在总共16个链路,最大LACP捆束数为8。在图10中,ASA和交换机之间的虚线代表链路的备用状态,实线代表捆束端口或活动链路状态。交换机-1104和交换机-2106通过虚拟交换链路(VSL)相耦接。交换机-1104和交换机-2106还通过端口通道p02连接到路由器或接入交换机1002。
当捆束在以下三个方面达到平衡时,捆束平衡实现最佳平衡:a)所有ASA具有相同或最接近的捆束端口数;b)所有的交换机具有相同或最接近的捆束端口数;c)所有的ASA使相同或最接近数目的捆束端口与每个交换机相连接,所有的交换机使相同或最接近数目的捆束端口与每个ASA相连接。在图10的实施例中,最佳的平衡捆束是捆束链路A1、A3、B1、B3、C1、C3、D1和D3,并使所有的其它链路处于热备用状态。在这种配置中,每个ASA在转发po1中的流量方面负有相同的责任(a方面),每个交换机负有相同的责任(b方面和c方面)。在一个交换机出现故障的情况下这种配置提供更好的弹性。在特定实施例中,最佳捆束平衡要求集群单元和交换机之间的物理连接是对称的(即,每个ASA使相同数量的链路连接到每个交换机)。
链路和/或单元故障期间的捆束平衡恢复
现在参考图11A-11D,图11A-11D示出在链路和/或单元故障期间捆束平衡恢复的示例的实施例的简化框图。当存在链路和/或单元故障时,各种实施例的捆束平衡尽最大努力进行恢复以维护设备级平衡。在一些情况下,恢复只涉及出现故障的单元。例如,如果最初A1、A3、B1、B3、C1、C3、D1和D3被捆束(见图10),则当B3失效时(见图11A),最大努力的恢复是将B4从备用状态移动到捆束状态(见图11B)。然而,在一些情况下,恢复需要涉及多个集群单元。例如,如果B3和B4都失效(见图11C),则最佳恢复需要涉及另一集群单元。可能的最大努力的恢复是捆束B2,取消捆束C1而捆束C4(图11D)。这样,平衡条件a)和b)被保留,但是c)被丢失,因为ASA-C 102c使两个捆束端口连接到交换机-2 106但是没有端口连接到交换机-1 104,ASA-B 102b使两个捆束端口连接到交换机-1 104但是没有端口连接到交换机-2106。然而,在链路B3和B4都出现故障的情况下这已经是最佳的可能捆束平衡。
另一故障示例是ASA-B 102b出现故障的情况。在这种情况下,最佳恢复是捆束链路A1、A2、A3、C1、C3、C4、D1和D3。除了ASA-D比其它两个单元ASA-A 102a和ASA-C 102c少一个捆束链路之外,这种捆束保留所有的最佳捆束平衡标准。
当单元加入和离开时的捆束再平衡
当一个集群单元离开集群或者新的集群单元加入集群时,捆束平衡在所有的单元间重新分布捆束端口,使得捆束在所有的三个方面都尽可能再平衡。单元离开时捆束再平衡的行为与单元故障的处理方式是相同或相似的。单元加入时捆束再平衡的行为与单元故障相反(即,现有单元上的一些捆束端口移动到热备用状态,使得新单元上的端口能够获得捆束)。
从集群主单元离开中恢复期间的最少停止转发
一个或多个实施例可以提供从集群主单元离开集群中恢复和新的集群主单元被选出期间的最少停止转发。当集群主单元离开集群时(比如由于主单元的故障),跨集群的端口通道将仅在新的主单元被选择之后被更新。在这个过程中端口通道中的从单元的链路将使用旧的链路聚合状态保持流量转发以避免流量丢失。在大多数情况下,在恢复以及新的主单元被选择之后,没有活动链路变为热备用链路,但是在故障恢复之后旧的热备用链路可以变为活动链路。在这种情况下,所有从单元的链路上的数据传输将不被中断。只有在从单元链路在端口通道重新聚合(例如,由于负载再平衡)之后从活动链路状态转换为备用链路状态的情况下,这个链路才会停止数据转发。然而,应当存在替换该链路并接管其流量负载的一些其它链路,以使得负载切换是平滑的(即,交换机首先正常地停止向其转发流量,然后将另一链路添加到链路聚合中并开始在其上转发流量)。因此,对于当集群主单元离开时仍然留在集群中的从单元,它们的数据转发受到的影响最小,尤其是在对称路由拓扑结构中,其中旧的主单元上的流量不影响从单元上的流量。
在这种情况下,为了使得端口通道再聚合快速地发生,期望在集群内使用下面的配置选项。作为集群主单元的备份的ASA单元维护并获得关于整个集群的链路聚合控制协议状态机的更新。当主单元仍在集群中时,所有的状态机更新可以从主单元被转发一个或多个主备份单元(在它们可用的情况下)。对于每个从单元,在主单元离开并且新的主单元完全准备好之后,从单元可以向备份主单元发送所有的CLACP状态更新。在从备份主单元接收到任何链路聚合结果(主动或热备用)变化之前,每个从单元可以仍然根据由旧的集群主单元决定的旧的LACP状态发送分组。
注意到在某些示例实现方式中,本文所列出的集群链路聚合和捆束平衡功能可以由编码在一个或多个有形介质中的逻辑(比如,专用集成电路(ASIC)中提供的嵌入式逻辑、数字信号处理器(DSP)指令、将由处理器运行的软件(潜在地包括目标代码和源代码)或其它类似机构等)来实现。在一些这样的示例中,(如图5中所示的)存储器元件可以存储用于本文所描述的操作的数据。这包括能够存储被运行以实现本说明书中所描述的活动的软件、逻辑、代码或处理器指令的存储器元件。处理器能够运行与数据相关联的任何类型的指令以实现本说明书中所详细描述的操作。在一个示例中,(如图5中所示的)处理器可以将一个元件或物品(比如数据)从一种状态或事物转换为另一状态或事物。在另一示例中,本文所列出的活动可以由固定逻辑或可编程逻辑(比如,由处理器运行的软件/计算机指令)来实现,本文所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(比如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM))或者包含数字逻辑、软件、代码、电子指令或者它们的任何合适的组合的ASIC。
在一个示例实现方式中,ASA 500可以包括软件以实现本文所列出的集群链路聚合和捆束平衡功能。集群链路聚合控制模块510(其中这个模块可以以任何合适的方式与其它模块适当地组合,这可以基于特定的配置和/或配设需求)可以辅助这些活动。ASA 500可以包括用于存储将被用于实现如本文所描述的集群链路聚合和捆束平衡活动的信息的存储器元件。此外,ASA 500能够包括可以实施软件或算法以执行如本说明书中所公开的集群链路聚合和捆束平衡操作的处理器。在合适的情况下并基于特定需求,这些设备还可以将信息保存在任何合适的存储器元件(随机存取存储器(RAM)、ROM、EPROM、EEPROM、ASIC等),软件,硬件中,或者任何其它适当的组件、设备、元件或对象中。本文所讨论的任何存储器项(比如,数据库、表、树、缓存等)应被理解为被包含在广义术语“存储器元件”中。类似地,本说明书中所描述的任何潜在的处理元件、模块和机器应当被理解为被包含在广义术语“处理器”中。每个网络元件还可以包括用于在网络环境中接收、发送和/或以其它方式传送数据或信息的适当的接口。
注意对于上面所提供的示例以及本文所提供的许多其它示例而言,可以用两个、三个或四个网络元件对交互进行描述。然而,这么做仅出于清楚和示例的目的。在某些情况下,仅参考有限数量的网络元件对给定流程组的一个或多个功能进行描述可能会更容易。应当领会本公开的教导易于扩展并且能够容纳大量组件,以及更复杂/精密的布置和配置。因此,所提供的示例不应当限制通信***10的范围或抑制它的广泛的教导,因为其潜在地适用于无数其它架构。
同样重要的是注意在前面的流程图或流程表中的步骤仅示出一些可以被本文所描述的各种实施例或在其中被运行的可能的信令场景和模式。适当的情况下这些步骤中的一些步骤可以被删除或者被移除,或者在不背离本公开的范围的情况下这些步骤可以被显著地修改或改变。此外,这些操作中的许多操作被描述为与一个或多个附加操作同时或并行地被运行。然而,这些操作的时序可以被显著地更改。前面的操作流程仅出于示例和讨论的目的被提供。在不背离本公开的教导的情况下可以提供任何适当的布置、年表、配置和计时机构,从而提供极大的灵活性。
尽管参考特定布置和配置对本公开进行了详细描述,但是这些示例配置和布置可以在不背离本公开的范围的情况下被显著改变。例如,尽管参考涉及某些端点组件和某些协议的特定通信交换对本公开进行描述,但是本公开的教导可以适用于其它协议和布置。此外,除DSL以外,本公开同样适用于各种技术,因为这些都仅仅是出于讨论的目的被提供。类似地,本公开的教导可以被扩展到任何集群或者多机架架构。
一个或多个实施例可以提供一个或多个优于现有技术的优点。由至少一个实施例提供的一个优点是:它与标准LACP设备兼容并且为了与支持CLACP的集群相互操作标准LACP设备不必知道集群操作CLACP。由至少一个实施例提供的另一优点是:LACP在一个ASA集群的多个分布式单元上得到支持,并且优于被限制为要配对两个设备作为以太通道的一端的多机架以太通道(MEC)或者多机架链路聚合控制协议(mLACP)。由至少一个实施例提供的另一优点是:它对于软件实现是通用的,并且有利于产品之间的软件复用,这对于基于硬件的解决方案来说是难以实现的。由至少一个实施例提供的另一优点是:它实现了支持高可用性、高效和高弹性的分布式协议。由至少一个实施例所提供的另一优点是:它提供了平衡的端口捆束以及由此而实现的集群成员之间甚至由VSS/vPC连接到集群的交换机对等体之间的负载平衡,现有解决方案无法提供这一点。由至少一个实施例提供的另一优点是:它对于链路或者单元故障是有弹性的,并且适应于单元的加入或者离开。

Claims (16)

1.一种用于网络环境中集群链路聚合控制的方法,包括:
接收来自第一网络元件的第一请求消息,所述第一请求消息包括针对与包括多个成群的网络元件的集群相关联的至少一个***参数的请求;
向所述第一网络元件发送第一回复消息,所述第一回复消息包括与所述集群相关联的所述至少一个***参数,其中所述至少一个***参数包括标识与所述集群相关联的通道组的通道组标识符;
使用带外控制链路接收来自所述第一网络元件的第二请求消息,所述第二请求消息包括将与所述第一网络元件相关联的第一端口捆束到与包括所述多个成群的网络元件的所述集群相关联的所述通道组中的请求,其中所述第二请求消息包括与所述第一网络元件相关联的***标识符、所述通道组标识符、以及与所述第一端口相关联的端口标识符;
判定所述第一端口相对于所述通道组的状态;以及
向所述第一网络元件发送第二回复消息,所述第二回复消息包括所述***标识符、所述通道组标识符、所述端口标识符以及所述第一端口的端口优先级,并且所述端口优先级将所述第一端口的状态判定为与所述通道组相捆束或者处于备用状态。
2.如权利要求1所述的方法,其中,判定所述第一端口的状态包括基于集群内的负载平衡和最大捆束端口数中的至少一者判定所述第一端口的状态是捆束的还是处于备用的。
3.如权利要求1所述的方法,还包括:
通过带外控制链路接收所述第一端口不工作的指示;以及
响应于接收到所述指示触发捆束平衡过程。
4.如权利要求3所述的方法,其中,所述捆束平衡过程包括使用所述带外控制链路向所述多个成群的网络元件中的第二网络元件发送取消选择消息,所述取消选择消息指示所述第二网络元件将所述第二网络元件的第二端口的状态从捆束状态变为备用状态。
5.如权利要求3所述的方法,其中,所述捆束平衡过程包括使用所述带外控制链路向所述第一网络元件发送选择消息,所述选择消息指示所述第一网络元件将所述第一网络元件的第三端口的状态从备用状态变为捆束状态。
6.如权利要求1所述的方法,其中,所述带外控制链路使用集群链路聚合协议,所述集群链路聚合协议包括标准链路聚合控制协议和集群专用链路聚合控制协议。
7.一种计算机可读存储介质,其上存储有指令,当所述指令被处理器运行时可操作来执行以下操作,包括:
接收来自第一网络元件的第一请求消息,所述第一请求消息包括针对与包括多个成群的网络元件的集群相关联的至少一个***参数的请求;
向所述第一网络元件发送第一回复消息,所述第一回复消息包括与所述集群相关联的所述至少一个***参数,其中所述至少一个***参数包括标识与所述集群相关联的通道组的通道组标识符;
使用带外控制链路接收来自所述第一网络元件的第二请求消息,所述第二请求消息包括将与所述第一网络元件相关联的第一端口捆束到与包括所述多个成群的网络元件的所述集群相关联的通道组中的请求,其中所述第二请求消息包括与所述第一网络元件相关联的***标识符、所述通道组标识符、以及与所述第一端口相关联的端口标识符;
判定所述第一端口相对于所述通道组的状态;以及
向所述第一网络元件发送第二回复消息,所述第二回复消息包括所述***标识符、所述通道组标识符、所述端口标识符以及所述第一端口的端口优先级,并且其中所述端口优先级将所述第一端口的状态判定为与所述通道组相捆束或者处于备用状态。
8.如权利要求7所述的计算机可读存储介质,其中,判定所述第一端口的状态包括基于集群内的负载平衡和最大捆束端口数中的至少一者判定所述第一端口的状态是捆束的还是处于备用的。
9.如权利要求7所述的计算机可读存储介质,所述操作还包括:
通过带外控制链路接收所述第一端口不工作的指示;以及
响应于接收到所述指示触发捆束平衡过程。
10.如权利要求9所述的计算机可读存储介质,其中,所述捆束平衡过程包括使用所述带外控制链路向所述多个成群的网络元件中的第二网络元件发送取消选择消息,所述取消选择消息指示所述第二网络元件将所述第二网络元件的第二端口的状态从捆束状态变为备用状态。
11.如权利要求9所述的计算机可读存储介质,其中,所述捆束平衡过程包括使用所述带外控制链路向所述第一网络元件发送选择消息,所述选择消息指示所述第一网络元件将所述第一网络元件的第三端口的状态从备用状态变为捆束状态。
12.一种用于网络环境中集群链路聚合控制的装置,包括:
存储器元件,所述存储器元件被配置为存储数据;以及
处理器,所述处理器能操作来运行与所述数据相关联的指令;
其中所述处理器被配置为:
接收来自第一网络元件的第一请求消息,所述第一请求消息包括针对与包括多个成群的网络元件的集群相关联的至少一个***参数的请求;
向所述第一网络元件发送第一回复消息,所述第一回复消息包括与所述集群相关联的所述至少一个***参数,其中所述至少一个***参数包括标识与所述集群相关联的通道组的通道组标识符;
使用带外控制链路接收来自所述第一网络元件的第二请求消息,所述第二请求消息包括将与所述第一网络元件相关联的第一端口捆束到与包括所述多个成群的网络元件的所述集群相关联的通道组中的请求,其中所述第二请求消息包括与所述第一网络元件相关联的***标识符、所述通道组标识符、以及与所述第一端口相关联的端口标识符;
判定所述第一端口相对于所述通道组的状态;以及
向所述第一网络元件发送第二回复消息,所述第二回复消息包括所述***标识符、所述通道组标识符、所述端口标识符以及所述第一端口的端口优先级,并且其中所述端口优先级将所述第一端口的状态判定为与所述通道组相捆束或者处于备用状态。
13.如权利要求12所述的装置,其中,判定所述第一端口的状态包括基于集群内的负载平衡和最大捆束端口数中的至少一者判定所述第一端口的状态是捆束的还是处于备用的。
14.如权利要求12所述的装置,其中所述处理器还被配置为:
通过带外控制链路接收所述第一端口不工作的指示;以及
响应于接收到所述指示触发捆束平衡过程。
15.如权利要求14所述的装置,其中,所述捆束平衡过程包括使用所述带外控制链路向所述多个成群的网络元件中的第二网络元件发送取消选择消息,所述取消选择消息指示所述第二网络元件将所述第二网络元件的第二端口的状态从捆束状态变为备用状态。
16.如权利要求14所述的装置,其中,所述捆束平衡过程包括使用所述带外控制链路向第一网络元件发送选择消息,所述选择消息指示所述第一网络元件将所述第一网络元件的第三端口的状态从备用状态变为捆束状态。
CN201380039123.XA 2012-07-23 2013-07-09 用于网络环境中集群链路聚合控制的***和方法 Active CN104488238B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/555,717 US9143439B2 (en) 2012-07-23 2012-07-23 System and method for cluster link aggregation control in a network environment
US13/555,717 2012-07-23
PCT/US2013/049780 WO2014018253A1 (en) 2012-07-23 2013-07-09 System and method for cluster link aggregation control in a network environment

Publications (2)

Publication Number Publication Date
CN104488238A CN104488238A (zh) 2015-04-01
CN104488238B true CN104488238B (zh) 2017-12-22

Family

ID=48875750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380039123.XA Active CN104488238B (zh) 2012-07-23 2013-07-09 用于网络环境中集群链路聚合控制的***和方法

Country Status (4)

Country Link
US (1) US9143439B2 (zh)
EP (1) EP2875614B1 (zh)
CN (1) CN104488238B (zh)
WO (1) WO2014018253A1 (zh)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
WO2013177289A1 (en) 2012-05-23 2013-11-28 Brocade Communications Systems, Inc. Layer-3 overlay gateways
US9143439B2 (en) 2012-07-23 2015-09-22 Cisco Technology, Inc. System and method for cluster link aggregation control in a network environment
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
US9325608B2 (en) * 2012-12-28 2016-04-26 Dell Products L.P. Systems and methods for reducing information loss in an aggregated information handling system
US9350680B2 (en) 2013-01-11 2016-05-24 Brocade Communications Systems, Inc. Protection switching over a virtual link aggregation
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9548926B2 (en) * 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9014219B2 (en) * 2013-01-14 2015-04-21 International Business Machines Corporation Link aggregation (LAG) information exchange protocol
US9565113B2 (en) 2013-01-15 2017-02-07 Brocade Communications Systems, Inc. Adaptive link aggregation and virtual link aggregation
US8923290B1 (en) * 2013-02-26 2014-12-30 Marvell Israel (M.I.S.L) Ltd. Self-forming lags
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
WO2014145750A1 (en) 2013-03-15 2014-09-18 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
US9553798B2 (en) 2013-04-23 2017-01-24 Telefonaktiebolaget L M Ericsson (Publ) Method and system of updating conversation allocation in link aggregation
US9654337B2 (en) * 2013-04-23 2017-05-16 Telefonaktiebolaget L M Ericsson (Publ) Method and system for supporting distributed relay control protocol (DRCP) operations upon communication failure
US9497132B2 (en) 2013-04-23 2016-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and system of implementing conversation-sensitive collection for a link aggregation group
US9699001B2 (en) 2013-06-10 2017-07-04 Brocade Communications Systems, Inc. Scalable and segregated network virtualization
US9565028B2 (en) 2013-06-10 2017-02-07 Brocade Communications Systems, Inc. Ingress switch multicast distribution in a fabric switch
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
US9654418B2 (en) 2013-11-05 2017-05-16 Telefonaktiebolaget L M Ericsson (Publ) Method and system of supporting operator commands in link aggregation group
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US9658897B2 (en) 2014-06-23 2017-05-23 International Business Machines Corporation Flexible deployment and migration of virtual machines
US9473353B2 (en) * 2014-06-23 2016-10-18 International Business Machines Corporation Cluster reconfiguration management
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9544219B2 (en) 2014-07-31 2017-01-10 Brocade Communications Systems, Inc. Global VLAN services
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US9813290B2 (en) 2014-08-29 2017-11-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for supporting distributed relay control protocol (DRCP) operations upon misconfiguration
US9912542B2 (en) * 2014-09-17 2018-03-06 Netapp, Inc. Methods and systems for managing port reachability in a clustered system
US9524173B2 (en) 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
US10080120B2 (en) * 2014-12-15 2018-09-18 Huawei Technologies Co., Ltd System and method for machine type communication
CN110149220B (zh) * 2014-12-30 2022-07-29 华为技术有限公司 一种管理数据传输通道的方法及装置
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9800549B2 (en) * 2015-02-11 2017-10-24 Cisco Technology, Inc. Hierarchical clustering in a geographically dispersed network environment
CN104732331B (zh) * 2015-02-13 2017-04-12 腾讯科技(深圳)有限公司 分组管理方法、装置和***
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
CN106161288B (zh) * 2015-04-17 2019-08-16 新华三技术有限公司 实现多台设备堆叠的方法和设备
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US9781001B2 (en) * 2015-08-06 2017-10-03 Huawei Technologies Co., Ltd. Transport network tunnel setup based upon control protocol snooping
US9992102B2 (en) * 2015-08-28 2018-06-05 Ciena Corporation Methods and systems to select active and standby ports in link aggregation groups
US9960911B2 (en) * 2015-09-11 2018-05-01 Signalchip Innovations Private Limited System and method for securing wireless communication through physical layer control and data channel
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10348690B2 (en) * 2016-07-08 2019-07-09 Xattic, Inc. Secure message inoculation
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
CN108988973A (zh) * 2017-06-05 2018-12-11 中兴通讯股份有限公司 聚合链路时钟控制方法及***
US10608957B2 (en) * 2017-06-29 2020-03-31 Cisco Technology, Inc. Method and apparatus to optimize multi-destination traffic over etherchannel in stackwise virtual topology
US10608994B2 (en) * 2018-04-03 2020-03-31 Bank Of America Corporation System for managing communication ports between servers
CN110505166B (zh) * 2018-05-16 2021-09-21 杭州海康威视数字技术股份有限公司 广播包转发方法、装置、电子设备及可读存储介质
US10887037B2 (en) * 2018-05-17 2021-01-05 Juniper Networks, Inc. Symmetric path/link over LAG interface using LLDP for time synchronization between two nodes using PTP
CN108990110B (zh) * 2018-07-26 2022-02-22 Oppo广东移动通信有限公司 网络流量管理方法、装置、存储介质及终端
RU2694025C1 (ru) * 2019-01-29 2019-07-08 Алексей Александрович Марченков Система агрегации сетевых данных в компьютерных сетях
US10862794B2 (en) 2019-01-31 2020-12-08 Dell Products L.P. Automated link aggregation group configuration system
US11165719B2 (en) * 2019-06-12 2021-11-02 International Business Machines Corporation Network architecture with locally enhanced bandwidth
US11178046B2 (en) * 2019-11-27 2021-11-16 Google Llc Weighted bandwidth allocation for adaptive routing
CN113141265B (zh) * 2020-01-16 2023-12-08 华为技术有限公司 跨设备链路聚合方法及设备
CN114466025B (zh) * 2020-11-09 2023-08-01 成都鼎桥通信技术有限公司 会话处理方法及第一集群控制功能实体
CN113011256B (zh) * 2021-02-05 2022-11-15 合肥工业大学 基于小样本学习的跨类别故障诊断方法、***及存储介质
CN114070636B (zh) * 2021-11-22 2023-08-11 迈普通信技术股份有限公司 安全控制方法、装置,交换机,服务器及网络***
CN115002023B (zh) * 2022-06-08 2024-04-19 邦彦技术股份有限公司 一种链路聚合方法、链路聚合装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298061B1 (en) * 1997-07-30 2001-10-02 Cisco Technology, Inc. Port aggregation protocol
US6687751B1 (en) * 2000-01-28 2004-02-03 3Com Corporation Multi-point link aggregation spoofing
CN101018228A (zh) * 2006-12-22 2007-08-15 华为技术有限公司 一种端口聚合方法及装置
CN102067533A (zh) * 2009-05-15 2011-05-18 思科技术公司 与虚拟接口相关联的端口分组
CN102428679A (zh) * 2009-05-18 2012-04-25 思科技术公司 在虚拟端口通道环境中实现机架间活动链路数目大体相等

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274694B1 (en) * 2003-01-09 2007-09-25 Cisco Technology, Inc. Defining link aggregation across a stack
FR2873524B1 (fr) * 2004-07-22 2006-10-27 Alcatel Sa Reseau local a groupe(s) virtuel(s) d'equipements de coeur propres a la commutation de niveau deux
US7974202B2 (en) * 2005-05-06 2011-07-05 Corrigent Systems, Ltd. Tunnel provisioning with link aggregation
US20070002826A1 (en) * 2005-06-29 2007-01-04 Bennett Matthew J System implementing shared interface for network link aggregation and system management
US8175078B2 (en) * 2005-07-11 2012-05-08 Cisco Technology, Inc. Redundant pseudowires between Ethernet access domains
US7738366B2 (en) * 2005-09-13 2010-06-15 Lsi Corporation Methods and structure for detecting SAS link errors with minimal impact on SAS initiator and link bandwidth
US7940661B2 (en) * 2007-06-01 2011-05-10 Cisco Technology, Inc. Dynamic link aggregation
US8503329B2 (en) * 2009-08-05 2013-08-06 Cisco Technology, Inc. Signaling of attachment circuit status and automatic discovery of inter-chassis communication peers
US8995272B2 (en) * 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US8996652B2 (en) * 2012-06-15 2015-03-31 Citrix Systems, Inc. Systems and methods for cluster LAG
US9143439B2 (en) 2012-07-23 2015-09-22 Cisco Technology, Inc. System and method for cluster link aggregation control in a network environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298061B1 (en) * 1997-07-30 2001-10-02 Cisco Technology, Inc. Port aggregation protocol
US6687751B1 (en) * 2000-01-28 2004-02-03 3Com Corporation Multi-point link aggregation spoofing
CN101018228A (zh) * 2006-12-22 2007-08-15 华为技术有限公司 一种端口聚合方法及装置
CN102067533A (zh) * 2009-05-15 2011-05-18 思科技术公司 与虚拟接口相关联的端口分组
CN102428679A (zh) * 2009-05-18 2012-04-25 思科技术公司 在虚拟端口通道环境中实现机架间活动链路数目大体相等

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Multiple Systems Link Aggregation Control Protocol;Rick van‘t Spijker;《IEEE Draft,bq-rick-van-t-spijker-mslacp-final-31-05-2010-1104》;20110407;第1.5.2,2.3.3,2.3.6,2.4.11-2.4.13节 *

Also Published As

Publication number Publication date
US20140025736A1 (en) 2014-01-23
WO2014018253A1 (en) 2014-01-30
EP2875614A1 (en) 2015-05-27
US9143439B2 (en) 2015-09-22
EP2875614B1 (en) 2018-10-17
CN104488238A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN104488238B (zh) 用于网络环境中集群链路聚合控制的***和方法
CN105379200B (zh) 用于更新分布式弹性网络互连(drni)状态的方法和***
US9450893B2 (en) System and method for providing network route redundancy across layer 2 devices
CN104221336B (zh) 用于虚拟网络架构链路故障恢复的***和方法
US8243594B1 (en) Coordinated control of multiple parallel links or link aggregations
CN105706393B (zh) 在链路聚合组中支持操作者命令的方法和***
EP2449735B1 (en) Inter-node link aggregation method and node
CN102624584B (zh) 链路检测方法及装置
US7639605B2 (en) System and method for detecting and recovering from virtual switch link failures
CN1812300B (zh) 环型网络连接控制方法、路由交换设备及环型网络***
CN101605278B (zh) 分布式管控协同光网络中的自适应信令实现方法
EP2911355B1 (en) Method and device for flow path negotiation in link aggregation group
CN101997826A (zh) 一种控制网元、转发网元及因特网协议网络的路由方法
US20020027925A1 (en) Path discovery in a distributed network management architecture
KR20180122513A (ko) Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크
CN1953409A (zh) 一种半网状网的组网方法及其***
Vaghani et al. A comparison of data forwarding schemes for network resiliency in software defined networking
CN108737263B (zh) 数据中心***及数据流处理方法
JP2013106137A (ja) 通信システム、制御プレーンパスの監査方法、通信装置およびネットワーク管理装置
CN1996943A (zh) 一种半网状网的寻址方法及其***
Makhaniok et al. Development of IT-Architecture for the State System of Scientific and Technical Information
OA17571A (en) A method and system for supporting distributed relay control protocol (DRCP) operations upon communication failure.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant