用于链路聚合组管理的分配调整机制的制作方法

文档序号:7959422阅读:89来源:国知局
专利名称:用于链路聚合组管理的分配调整机制的制作方法
技术领域
本发明总体上涉及网络管理,更具体地涉及一种链路聚合组管理中的清除机制(purge mechanism)。
背景技术
链路聚合组(LAG)将多个物理网络链路组合成单个逻辑链路,该逻辑链路向终端提供聚合的吞吐量和高的可用性。通过该单个逻辑链路LAG进行两个终端之间的通信。

发明内容
根据本发明,提供了一种用于链路聚合组管理的分配调整机制。
根据一具体实施例,一种用于在链路聚合组中的链路之间分配帧的方法,该方法将多个物理端口聚合为链路聚合组;保持多个分配函数,每个分配函数都能够映射用于多个会话的帧以使得来自任何一个给定会话的所有帧映射到所述端口中的特定一个;选择所述分配函数中的一个;并且根据所选择的分配函数将所接收的帧在所述端口之间分配。该方法决定调整所选择的分配函数,并在决定调整所选择的分配函数之后,禁止在所述端口当中分配帧。该方法选择所述分配函数中不同的一个,而后使得可以根据新选择的分配函数在所述端口之间分配所接收的帧。
本发明的实施例提供了多种技术优点。具体实施例提供了多个不同的分配函数使得能够调整LAG,在可用链路之间更有效地分配通信。例如,可以基于提供有效分配通信的分配参数而在链路当中分配通信。根据具体实施例,响应于通信测量来进行分配函数的调整,这允许改变分配函数以改善在通信期间的有效性。
本领域技术人员从下面的附图、说明和权利要求将容易明白本发明的其它技术优点。另外,尽管上面列举了特定优点,但是各种实施例可以包括所列举优点的全部、一些或并不包括这些优点。


为了更完整地理解本发明及其优点,现在结合附图进行下面的说明,在附图中图1示出了根据本发明具体实施例的包括实施清除机制的LAG的通信系统;图2示出了图1的系统中的示例性网络元件;图3是一流程图,其表示使用传输网络元件处的帧分配器通过清除机制在端口之间移动会话的方法;图4是一流程图,其表示使用接收网络元件处的帧收集器通过清除机制响应于在端口之间移动会话的决定的方法;图5是表示实现用于LAG的分配调整机制的方法的流程图;图6是一流程图,其表示使用传输网络元件处的帧分配器来实现特定标志消息的方法;以及图7是一流程图,其表示使用接收网络元件处的帧收集器对特定标志消息作出响应的方法。
具体实施例方式
图1示出了一般用10表示的通信系统,其包括实现清除机制的LAG。终端18通过使用网络元件16的网络12彼此通信。通常,设置网络元件16用于形成LAG,以在终端18之间进行高速通信。为了支持LAG的操作,网络元件16可以实现下面技术,包括在LAG中的链路之间快速移动会话的清除机制、从LAG中的因出故障或其他原因而失效的链路中有效移动通信的扩展标志协议、以及有助于有效支持和完全使用LAG中的链路的分配调整算法。网络元件16可以实现这些技术中的一些或全部以支持LAG的操作。
网络12代表包括硬件和任何适当控制逻辑的通信设备,用于将与网络12连接的元件互连并便于终端18之间进行通信。网络12可以包括局域网(LAN)、城域网(MAN)、任何其它公用网或专用网、逻辑的、区域性的或全球的通信网、企业内部网、其它合适的有线或无线通信链路、或前述的任何组合。另外,网络12可以包括可以实现任何合适的协议或通信的网关、路由器、集线器、交换器,以及任何其它硬件的组合、软件或前述的组合。
在所示实施例中,网络12包括至少一个网络管理器14和多个网络元件16。网络管理器14监视并控制网络元件16的行为。例如,网络管理器14为网络元件16提供配置信息。具体地,网络管理器14可以在网络元件16之间形成并管理LAG。作为示例,网络管理器14可以监视网络12内的通信量,并响应于网络状态来改变链路17和LAG的使用。
网络元件16代表包括适当控制逻辑的网络通信设备,其便于在终端18之间进行通信。例如,网络元件16可以包括交换器、路由器、网关、服务器或其它合适的网络设备。根据具体实施例,网络元件16通过高速电信号而彼此通信。在所示实施例中,在网络元件16a与16b之间形成LAG 15,以在通信期间提供增加的带宽和增加的可用性。根据具体实施例,网络元件16a与另一能够链路聚合的网络元件16b协商LAG 15。为了形成LAG 15,将网络元件16之间的一个或多个物理链路17聚合在一起。
每个链路17都代表能够在网络元件16之间交换信号的任何合适的信道。网络元件16可以在多个链路17上同时进行多个通信。在进行通信时,可以在链路17之间移动通信。终端18将包括一个或多个物理链路17的LAG 15当作用于通信的单个逻辑链路来对待。网络元件16可以按任何合适的方式聚合,并且可以将任何合适数量的链路17聚合在一起以形成一个或多个LAG 15。例如,网络元件16可具有总计八个链路17,聚合三个链路17以形成第一LAG 15,聚合另两个链路17以形成第二LAG15,并且其余三个链路17单独操作而并不聚合。
终端18代表可与网络12通信的任何合适的装置。通过交换帧而在终端18之间进行通信。终端18使用任何合适的通信协议来交换系统10中的音频、语音、数据、视频或其它信息。终端18可以是向用户提供通信服务的硬件和/或软件的任何组合。例如,终端18包括服务器、个人计算机(例如,膝上型计算机或台式计算机)、网络协议(IP)电话机,或可以在系统10内进行通信的任何合适的装置。
根据具体实施例,系统10内的部件使用以太网标准来进行帧通信。帧包括任何合适的数据段,例如分组、帧或信元。另外,以太网和以太网标准包括为了处理部件之间帧传输而开发的通信协议,包括针对这些协议出现的任何扩展、添加和/或进一步发展。例如,以太网标准包括在电气及电子工程师学会(IEEE)802.3及附录内提出的协议。
如上所述,LAG 15用作由连接在网络元件16之间的多个单独物理链路17形成的单个逻辑链路。在操作期间,由特定LAG 15连接的两个网络元件16可以将该LAG 15当作潜在地带有一些限制的单个物理连接来对待。作为操作示例,假设终端18a通过网络12与终端18b通信,并且网络元件16a和16b之间的链路17a-17c聚合形成了LAG 15。可以将网络元件16a与网络元件16b之间的通信称为会话。根据具体实施例,网络元件16保持给定LAG 15内的单个链路17上的每个会话。这可以有助于保持会话内的帧排序。如果在LAG 15中的链路17之间不均匀地分配会话,则会导致对LAG 15的全带宽的利用率较差。另外,一个链路17的故障将潜在地切断通过该链路17进行的会话。因此,响应于链路故障、差的链路利用率、重新配置或其它合适的情况,可以切换LAG 15内的链路17当中的会话。
在操作期间,网络元件16可以使用任何适当的技术在LAG 15的链路17之间分配所接收的帧。根据具体实施例,网络元件16采用分配算法来为各个接收的帧选择具体链路17。例如,网络元件16可以基于各帧中包含的寻址信息(例如,源或目的地址信息)在LAG 15中选择具体的一个链路17。这种算法可以确保从一个终端18向另一终端18的所有帧都沿着相同的链路17传送,并因此可以确保帧的正确排序。这种分配算法不需要基于状态的存储器来跟踪会话的分配,但是会导致在链路17之间较差地会话分配。作为另选方案,可以将会话以轮叫(round-robin)的方式分配给LAG 15中的链路17。然而,使用例如轮叫技术的基于状态的分配技术需要存储器操作,这是由于必须跟踪不同链路17之间会话的分配。
为了在获得链路17利用均匀的优点的同时减少对基于状态的分配技术的需要,网络元件16可以支持用于在LAG 15中的链路17之间调整帧分配的机制。例如,假定未充分使用具体LAG 15中的一个或多个链路17,则网络元件16可以改变该LAG 15中的链路17之间的通信的分配。根据具体实施例,网络元件16支持多个不同的分配算法,并且网络管理器14可以响应于任何适当的网络状态在这些不同的算法之间进行选择。例如,网络元件16可以各提供多种不同的算法,且每个算法都基于源和/或目的地址信息的某些组合而计算LAG 15中的具体链路17。通过使用寻址信息的不同组合和部分并潜在地应用不同的函数,这些算法可以在仍保持正确的帧排序的同时进行链路17之间帧的不同分配。网络管理器14可以自动或手动地改变由一个或多个网络元件16使用的分配算法以克服LAG 15的未充分利用。
除了提供多种分配算法之外,网络元件16还可以支持与一个或多个分配算法结合地使用分配参数。这些参数也可以影响通过应用分配算法而得到的分配函数。例如,分配参数可以改变由具体分配算法考虑的地址部分。通过组合地使用,数量相对少的分配算法和参数可以提供大量的潜在分配函数。
在改变了分配算法或参数、链路17故障、LAG 15重新配置或其它适当的情况下,可以在LAG 15中的链路17之间移动会话。为了快速地在LAG 15中的链路17之间移动通信,网络元件16可以采用清除机制。另选地或另外地,网络元件16可以在链路17出故障或无效的情况下采用扩展标志协议(extended marker protocol)。
为了在LAG 15内的链路17之间正常地移动通信,网络元件16可以支持标志协议,该标志协议可以基于例如电气及电子工程师学会(IEEE)802.3条款43的标准。继续上述示例,假定终端18a与终端18b之间的会话涉及从终端18a向终端18b传递帧流,并且网络元件16a使用链路17a将这些帧传输给网络元件16b。响应于链路17a故障、会话重新分配或其它适当的情况,网络元件16a可以确定将链路17a上的会话移动到LAG 15中的另一链路17。
为了能够快速地移动所述会话(或多个会话),网络元件16a可以使用清除机制。在一示例性实施例中,该清除机制包括禁止将附加帧分配给与链路17a相关的输出队列并潜在地从与链路17a相关的输出队列丢弃(drop)一些或全部帧。网络元件16a向网络元件16b发送关于移动会话的消息。例如,网络元件16a可以使用与链路17a相关的管理队列向网络元件16b发送标志消息。当网络元件16b对该消息作出响应时,网络元件16a可以将该会话移动到LAG 15内的另一链路17。使用标志消息和标志响应可以有助于确保对LAG 15上传输的帧适当地排序。通过采用清除机制,可以在链路17之间快速地移动会话。
根据具体实施例,网络元件16a使用该清除机制移动在链路17a上发生的所有会话。例如,网络元件16a可以将多个会话从链路17a移动到链路17c,或者可以在给定LAG 15内的两个或更多个其它链路17之间传播会话。另外,网络元件16可以在多个不同链路17上同时使用清除机制。例如,网络元件16可以与基于分配算法的变化的链路17之间的会话重新分配相结合,在LAG 15中的所有链路17上使用清除机制。
结合其它情况或在其它情况下,网络元件16可以执行扩展标志协议以进一步有助于支持移动链路17之间的通信。例如,如果LAG 15内的其中一个链路17故障或无效,则网络元件16可以采用扩展标志协议。根据具体实施例,网络元件16可以通过交换LAG 15内有效链路17上的特定标志消息和特定标志响应,而对LAG 15内具体链路17的故障或无效作出响应。使用这些特定通信,网络元件16可以在不依赖超时设定或其它机制的情况下快速地从出故障的链路17移开通信。根据具体实施例,所述特定标志消息和响应使用传统标志消息和响应中的字段,但是提供仅可以由适当使能的网络元件16理解的附加信息。
下面将更详细地描述用于实施清除机制、扩展标志协议和分配调整的具体实施例。然而,尽管在本说明书中提供了具体示例,但是应理解这些示例是仅为了示例性目的而提供的,因此系统10可采用应用了任何合适技术的网络元件16。另外,针对系统10示出并描述的具体实施例并不旨在进行排他或进行限制。尽管将系统10和系统10内的元件描述为具有特定配置和结构的元件,但是应注意这些是逻辑描述,系统10的部件和功能可以在逻辑和物理上适当地组合、分立和分配。此外,可以通过部件的任何合适的集合和配置来提供系统10和系统10内的元件的功能。
图2示出了来自图1的系统10的示例性网络元件16。网络元件16可以包括部件和模块的任何适当的组合和配置。在所示实施例中,网络元件16包括便于形成LAG 15的LAG元件20、管理网络元件16内的部件的操作的网络元件控制器21,以及通过链路17进行通信的端口22,链路17经聚合而形成LAG 15。LAG元件20包括LAG控制器24和一个或多个LAG模块26。每个LAG模块26都包括媒体访问控制(MAC)客户机28;以及包括帧分配器32和帧收集器34的聚合器30。端口22包括一个或多个输出队列50、中央处理单元(CPU)队列52以及输入队列54,它们便于帧56的通信。通常,网络元件16内的部件便于通过网络12在终端18之间进行通信。更具体地,网络元件16内的部件提供了便于在LAG15中的链路17之间移动会话的清除机制。
网络元件控制器21代表包括任何合适控制逻辑的硬件,其能够管理网络元件16内部的其它部件或模块的操作。例如,网络元件控制器21可以操作以加载并执行来自任何合适源的软件或其它控制逻辑。
端口22代表任何合适的物理接口,包括适当的控制逻辑,用于与系统10中的部件连接。在一实施例中,端口22代表网络元件16之间的物理接口。可以将向其它端口22传输通信的端口22称为源端口22。另选地,可以将从其它端口22接收通信的端口22称为目的端口22。当在通信期间双向交换信息时,任何端口22都可以用作源端口22和目的端口22。端口22可以包括任何合适的操作状态。例如,端口22可以具有禁用状态、学习(learning)状态和转发状态。学习状态会在帧进入端口22中时出现,而转发状态会在帧进出端口22时的正常流量操作期间出现。网络元件16包括任何合适数量的端口22。每个端口22都可以具有相关的物理地址。例如,各个端口22可以分配有唯一的全局管理的MAC地址。端口22可以通过代表端口22之间的通信信道的链路17相连接。每个端口22都可以对应于一个链路17。可以在LAG 15内的链路17之间移动终端18之间的通信。如果LAG 15中一个或多个链路17出了故障,则移动链路17之间的通信例如提供了负载均衡性并保持了会话的可用性。
端口22内的队列还便于通信。输出队列50从帧分配器32接收帧56,并保持帧56以传输给网络元件16。根据具体实施例,输出队列50基于先进先出来传输帧56。输入队列54从网络元件16接收帧56和消息,并将帧56和消息提供给帧收集器34。CPU队列52按照标志协议和扩展标志协议提供消息和响应,以在LAG 15内的链路17之间移动会话。
元件20代表便于链路聚合的硬件和/或软件的任何合适的组合。元件20包括控制器24和一个或多个模块26。控制器24代表包括任何合适控制逻辑的硬件,其能够管理LAG元件20内的其它部件或模块的操作。例如,控制器24便于生成LAG 15,监视现有LAG 15的行为,并提供任何合适的功能性以便于链路聚合。在具体实施例中,控制器24确定哪些链路17可以聚合、聚合链路17、绑定端口22至聚合器30,并监视LAG 15。在另一实施例中,网络管理器14手动地控制链路聚合的改变。
各个协商的LAG 15具有可以是元件20中的逻辑描述(logicaldepiction)的相关模块26。模块26方便了其相关LAG 15的功能性,并用于实现LAG 15内的特征的改变。例如,当链路17有效时,可以使用模块26将LAG 15内的链路17a上出现的通信移动到链路17c。作为另一示例,如果链路17a在通信期间出了故障,则可以使用模块26将链路17a上的通信移动到链路17c。
各个模块26都包括MAC客户机28和聚合器30。MAC客户机28代表用于LAG 15的逻辑媒体访问控制器,聚合器30支持通过链路17的帧通信并实现LAG 15内的特征。为了支持在网络元件16之间发送和接收帧56,将聚合器30绑定至一个或多个端口22。
在由聚合器30发送和接收帧56的同时,在通信期间保持帧56的顺序。帧分配器32和帧收集器34便于帧56的通信。帧分配器32使用形成LAG 15的链路17在端口22上分配来自终端18的帧56。帧分配器32确保具体会话的帧56传送给端口22以防止帧56顺序混乱。帧分配器32执行任何合适的分配算法,所述算法选择用于传输任何给定的帧56或属于一会话的一组帧56的链路17。所选的分配算法可以防止会话的帧56顺序混乱以及帧56的复制。基于所选的分配算法,给定会话的帧被转发(forward)给端口22。所述分配算法可以基于目的地址、源地址、目的地址和源地址的组合、接收端口22的地址或任何其它适当的标准。
帧收集器34从端口22接收帧56并将接收的帧56向终端18传送。根据具体实施例,帧56被转发出另一端口22,该端口可以直接与终端18连接或者可以在至终端18的路径上。例如,帧收集器34从形成LAG 15的一组链路17上接收帧56。对于任何给定的端口22,帧收集器34按着从端口22接收的顺序将帧56传送给MAC客户机28。帧收集器34可以按任何顺序来选择从聚合端口22接收的帧56。因为帧分配器32确保了帧56保持它们的顺序,所以帧收集器34可以不必对从多个链路17接收的帧56进行任何重新排序,而保持通信的帧顺序。
如上所述,网络元件16支持标志协议和扩展标志协议。这两个协议都提供了聚合当中的通信。使用这些协议,例如网络元件16a的帧分配器32使用标志协议或扩展标志协议生成标志并将其分配给网络元件16b的帧收集器34。网络元件16b的帧收集器34使用标志协议或扩展标志协议向网络元件16a的帧分配器32分发标志响应。标志协议中包括标志和标志响应的消息可以具有任何合适的格式。如上所述,标志协议用于在LAG 15内的链路17之间移动会话。使用标志协议,控制器24生成标志并在LAG 15内的一个或多个有效链路17上传输该标志。接收网络元件16中的帧收集器34向发送网络元件16中的帧分配器32提供标志响应。在从一个链路17移开会话的过程中,可以不中断地继续其它链路17上的会话。可选地,网络元件16可以使用标志协议在相关LAG 15中的两个或更多个链路17之间移动会话。例如,控制器24可以生成多个标志消息并在一个或多个链路17上传输这些标志消息,并在接收到响应之后,移动这些链路17上出现的会话。
扩展标志协议中的标志和标志响应(或者分别为特定标志和特定标志响应)可以具有任何合适的格式。在示例性实施例中,扩展标志协议中的消息包括如下格式

如上所述,扩展标志协议可以在链路17出故障或无效时使用,并且将会话移动到一个或多个有效链路17。根据扩展标志协议的一个实施例,网络元件16a中的帧分配器32在LAG 15内的有效链路17上提供特定标志。网络元件16b中的帧收集器34向帧分配器32提供特定标志响应。在从一个链路17移开会话的过程中,可以没有中断地继续其它链路17上的会话。另选地,网络元件16可以使用扩展标志协议来移动相关LAG 15内的两个或更多个链路17之间的会话。例如,控制器24可以生成多个标志消息并在一个或多个链路17上传输这些标志消息,并在接收到响应之后,移动这些链路17上出现的会话。
根据一个实施例,扩展标志协议用于在消息中识别出故障或无效的链路17。例如,消息格式可以在请求器事务ID字段中包括与故障链路17相关的端口22的MAC地址。作为另一示例,TLV字段用于将消息识别为特定标志或特定标志响应。使用扩展标志协议,帧分配器32生成使用LAG 15内的有效链路17的特定标志。帧收集器34向帧分配器32发送特定标志响应,帧分配器32在移动会话之前确定没有正在进行的帧56。在从故障或无效链路17移开会话的过程中,可以没有中断地继续其它链路17上的通信。
尽管所示的实施例和前面描述集中在网络元件16的具体实施例,但是系统10可采用具有支持LAG 15中的清除机制的部件和模块的任何合适的组合和配置的网络元件16。因此,可以适当地分离或组合由所示具体元件执行的功能性,并且这些元件中的一些或全部可以通过在媒体中编码的逻辑来实施。例如,可以适当地分离和/或组合帧分配器32和帧收集器34的功能,并且可以通过合适的控制逻辑来实施它们操作中的任一个。而且,尽管显示为单个模块,但是网络元件16的所示部件的一些或全部的功能性也可以在系统10的其它元件之间分配。
图3是一流程图300,其示出了使用发送网络元件16处的帧分配器32利用清除机制在端口22之间移动会话的方法。参照如上所述的网络元件16的帧分配器32给出了对流程图300的以下描述。然而,任何适当的元件或元件组合都可以实施以下描述的步骤。
为了便于使用LAG 15在终端18之间通信,在步骤302,帧分配器32通过LAG 15中的链路17传输帧56。在通信期间,在步骤304,确定是否将一个或多个会话移动到LAG 15中的另一链路17。如果不移动会话,则帧分配器32继续通过LAG 15中的链路17分配帧56。另一方面,如果确定要移动会话,则在步骤306,帧分配器32禁止通过LAG 15中的链路17分配帧56。禁止分配例如防止了附加的帧56被放到输出队列50中。帧分配器32进入清除状态,并在步骤308,丢弃输出队列50中的其余帧56。在该清除状态期间,帧分配器32可以丢弃意在无效链路17的所有帧56,借助上层恢复机制来处理丢弃的帧。因此,CPU队列52可以开始发送标志协议消息,而不等待输出队列50中的其余帧56的传输。根据具体实施例,在清除状态期间,输出队列50可以继续处理并传输控制帧,例如桥接协议数据单元(BPDU)帧。
在步骤310,帧分配器32将标志消息传输给LAG 15中的每个链路17。例如,帧分配器32生成标志消息并将所述标志消息放在各个CPU队列52中以在链路17上传输。标志消息可以包括用于通知网络元件16可将通信从LAG 15中的链路17移动到LAG 15中的另一链路17的任何合适的信息。根据上面提供的标志协议中的消息的示例格式,如果TLV的值为0x01,则将该消息识别为标志消息。
在步骤312,帧分配器32接收标志响应。在步骤314,确定是否有未完成(outstanding)的附加标志响应。如果帧分配器32可接收到附加响应,则方法进行到步骤316,帧分配器32等待接收附加的标志响应。从步骤316开始,可以在步骤312接收附加标志响应,从而方法继续。在一实施例中,帧分配器32等待从接收了标志消息的各个链路17接收标志响应。在该实施例中,帧分配器32根据附加的未完成的标志响应的数量而等待不同的时间段。在另一实施例中,帧分配器32在等待接收附加标志响应的同时启动定时器。帧分配器32可以使用该定时器来提供等待附加标志响应的可配置时间量。该定时器可以被配置成任何合适的期间。使用该定时器,即使附加的标志响应未完成,帧分配器32也不继续等待附加标志响应。
然而,如果附加标志响应都已完成,则该方法进行到步骤318。在步骤318,将会话移动到LAG 15中的另一链路17。帧分配器32返回到非清除状态,并在步骤320使得可以在LAG 15中分配帧56。会话然后在LAG 15中的有效链路17上继续。
前述流程图300示出了网络元件16中的帧分配器32使用清除机制在端口22之间移动一个或多个会话的示例性操作。然而,前述流程图300和所附描述仅说明了示例性操作方法。因此,可以同时和/或以与所示不同的顺序执行流程图300中的多个步骤。另外,帧分配器32可以采用具有附加步骤、较少步骤和/或不同步骤的方法,只要该方法保持适当即可。
图4是流程图400,其示出了使用接收网络元件16处的帧收集器34通过清除机制响应于在端口22之间移动会话的决定的方法。参照如上所述的网络元件16的帧收集器34给出了对流程图400的以下描述。然而,任何适当的元件或元件组合都可以实施下述动作。
为了便于使用LAG 15在终端18之间通信,在步骤402,帧收集器34通过链路17接收帧56。在通信期间,在步骤404,确定是否将通信移动到LAG 15中的另一链路17。如果不移动会话,则帧收集器34继续通过LAG 15中的链路17接收帧56。另一方面,如果确定要移动会话,则在步骤406,帧收集器34接收标志消息。例如,作出决定以将会话移动到LAG 15中的另一链路17,并且帧分配器32向另一网络元件16中的帧收集器34发送标志消息。在步骤408,帧收集器34确定与一个或多个输入端口22相对应的一个或多个输出队列50的状态。例如,控制器24使用中断或者通过读输出队列状态寄存器而检查输出队列50的状态。另外,帧收集器34可以确定与每个输入端口22相对应的输出队列50的状态。
在步骤410,帧收集器34向帧分配器32发送标志响应。标志响应包括响应于在链路17之间移动通信的标志消息的任何合适信息。例如,标志响应确认在移动通信之前没有待处理的帧56。根据标志协议的消息的示例格式,如果TLV的值为0x02,则该消息被识别为标志响应。
与流程图300一样,流程图400和所附描述仅表示了示例性操作方法,并且帧收集器34和/或其它合适的部件可以采用使用清除机制在端口22之间移动通信的任何合适的技术。因此,可以同时和/或以与所示不同的顺序执行流程图400中的多个步骤。另外,帧收集器34可以采用具有附加步骤、较少步骤和/或不同步骤的方法,只要该方法保持适当即可。
图5是示出了用于实现LAG 15中的分配调整机制的方法的流程图500。通过参考如上所述的网络元件16而给出对流程图500的以下描述。然而,任何适当的元件或元件组合都可以实施下述步骤。
为了便于使用LAG 15在终端18之间通信,在步骤502选择分配参数。可以提供多个分配参数以用于确定如何在链路17之间分配会话。可以选择任何合适的分配参数。例如,分配参数包括链路活动性的量度、系统10的配置或网络元件16的状态。系统10的任何合适元件都可以选择分配参数,例如网络元件16或网络管理器14可以选择分配参数。一旦选择了分配参数,就在步骤504选择分配函数。该分配函数根据所选分配参数在链路17之间分配会话。在一实施例中,各个分配参数与一个或多个分配函数相关联。在该实施例中,从所述相关联的分配函数之中选择分配函数。可以选择与所选分配参数相关联的任何分配函数。与分配参数一样,系统10的任何合适元件都可以选择分配函数,例如网络元件16或网络管理器14。在步骤506,网络元件16通过LAG 15中的链路17交换帧56。
在通信期间可以调整所选分配参数和分配函数。在步骤508期间监视LAG 15的性能。监视性能包括监视系统10的任何合适的参数,例如链路15的活动性或在端口22之间交换帧56的有效性。例如,监视由所选分配参数确定的参数。如果将链路活动性的量度选择作为分配参数,则在步骤508期间监视链路活动性。在步骤510,确定是否要调整所选的分配函数。例如,网络管理器14可能检测到会话在LAG 15内的链路17之间不均匀地分配。如果确定不调整所选分配函数,则从步骤508开始继续监视LAG 15的性能。
另选地,如果确定要调整所选的分配函数,则网络元件16启动用于实施分配调整机制的处理。例如,如果通过使用不同的分配函数可以改善LAG 15的性能,则可以调整分配函数。作为示例,如果链路活动性的量度是所选分配参数,则在链路17未充分利用的情况下网络元件16可以调整分配函数。在步骤512,网络元件16禁止对LAG 15中的链路17分配帧56。禁止分配例如防止了附加的帧56被放到输出队列50中。在步骤514,网络元件16丢弃输出队列50中其余的帧56。因此,CPU队列52可以开始以标志协议发送消息,而不等待输出队列50中的其余帧56的传输。尽管帧56被丢弃,但输出队列50可以继续处理并输出例如BPDU帧的控制帧。
在步骤516,网络元件16向LAG 15中的各个链路17发送标志消息。例如,网络元件16生成标志消息,并且CPU队列52发送该标志消息。该标志消息可以包括用于通知目的网络元件16可以在链路17之间重新分配会话的任何合适信息。根据标志协议的消息的示例格式,如果TLV的值为0x01,则将该消息识别为标志消息。
在步骤518,网络元件16接收标志响应。在步骤520确定是否有未完成的附加标志响应。如果网络元件16可接收到附加响应,则方法进行到步骤522,网络元件16等待接收附加标志响应。从步骤522开始,可以在步骤518接收附加标志响应,从而方法继续。在一实施例中,网络元件16等待从接收了标志消息的各个链路17接收标志响应。在该实施例中,网络元件16根据附加的未完成标志响应的数量而等待不同的期间。在另一实施例中,网络元件16在等待接收附加标志响应的同时启动定时器。网络元件16可以使用该定时器来提供等待附加标志响应的可配置期间。该定时器可以被配置成任何合适的期间。使用该定时器,即使有未完成的附加标志响应,当定时器超时时,网络元件16也不继续等待附加标志响应。在又一实施例中,网络元件16可以在其上有未完成标志响应的链路17上传输标志消息。
然而,如果没有未完成的附加标志响应,则该方法进行到步骤524。在步骤524,调整所选的分配函数。如上所述,将所选的分配函数调整为与分配参数相关联的另一分配函数可以改善LAG 15的性能。使用标志协议,即使调整了分配函数,也可以保持帧56在会话内的顺序。如上所述,系统10的任何合适元件都可以调整所选分配函数。例如,网络管理器14可以自动地或者通过手动介入调整分配函数。作为另一示例,自动管理工具检测LAG 15的性能,并通过改变所选的分配函数而自动地调整LAG15。在调整了链路17之间的分配之后,在步骤526网络元件16使得可以在LAG 15中分配帧56。基于调整的分配函数,通过LAG 15中的链路17继续会话。
前述流程图500示出了网络元件16实现LAG 15中的分配调整机制的示例性操作。然而,前述流程图500和所附描述仅示出了示例性的操作方法。例如,网络元件16可以基于监视LAG 15的性能来调整分配参数。分配参数的调整还通过在链路17之间不同地分配会话而改善LAG 15的性能。作为另一示例,网络元件16调整分配参数和分配函数以改善LAG15的性能。可以同时和/或以与所示不同的顺序执行流程图500中的多个步骤。另外,网络元件16可以采用具有附加步骤、较少步骤和/或不同步骤的方法,只要该方法保持适当即可。
图6是流程图600,其示出了使用发送网络元件16处的帧分配器32来实现特定标志消息的方法。参照如上所述的网络元件16的帧分配器32给出对流程图600的以下描述。然而,任何适当的元件或元件组合都可以实施下面描述的步骤。
为了便于使用LAG 15在终端18之间通信,在步骤602,帧分配器32通过LAG 15中的链路17传输帧56。在步骤604,帧分配器32监视链路17的故障或其它无效。如果链路17未出故障,则帧分配器32继续通过LAG 15中的链路17分配帧56。另一方面,如果特定链路17确实出了故障,则在步骤606,帧分配器32禁用与故障链路17相关联的源端口22。
在步骤608,帧分配器32在有效链路17上生成特定标志消息。该特定标志消息使用扩展标志协议将会话移动到有效链路上。在步骤610,帧分配器32在LAG 15中的有效链路17上传输特定标志消息。例如,帧分配器32生成特定标志消息,并且CPU队列52发送该特定标志消息。特定标志消息可以包括用于通知网络元件16链路17出了故障并且通信将移动到一个或多个有效链路17的任何合适的信息。根据扩展标志协议的消息的示例格式,如果TLV的值为0x03,则该消息被识别为特定标志消息。而且,上述示例性格式还提供了请求器处理ID字段中故障端口22的MAC地址。
在步骤612,帧分配器32接收特定标志响应。根据扩展标志协议的消息的示例格式,如果TLV的值为0x04,则该消息被识别为特定标志响应。在步骤614,将会话移动到其中一个有效链路17。帧分配器32使得可以在LAG 15中分配帧56,并且通过LAG 15中的链路17继续会话。
前述流程图600示出了使用网络元件16的帧分配器32来实现特定标志消息的示例性操作。然而,前述流程图600和所附描述仅示出了示例性操作方法。例如,帧分配器32在将会话移动到LAG 15中的有效链路17时从LAG 15去除故障链路17。去除故障链路17用于在其它链路17上的其它会话保持不变的同时将会话移动到有效链路17。作为另一示例,扩展标志协议可以结合标志协议一起使用。在该示例中,可以在有效链路17之间重新分配会话。可以同时和/或以与所示不同的顺序执行流程图600中的多个步骤。另外,帧分配器32可以采用具有附加步骤、较少步骤和/或不同步骤的方法,只要该方法保持适当即可。
图7是流程图700,其示出了使用接收网络元件16处的帧收集器34对特定标志消息作出响应的方法。参照如上所述的网络元件16的帧收集器34给出对流程图700的以下描述。然而,任何适当的元件或元件组合都可以实施下面描述的步骤。
为了便于使用LAG 15在终端18之间通信,在步骤702,帧收集器34通过LAG 15中的链路17接收帧56。在步骤704,帧收集器34监视特定标志消息。例如,结合在链路17上接收的管理消息的正常处理,帧收集器34可以检测从远程网络元件16的帧分配器32发送来的特定标志消息以将故障或无效的链路17通知给帧收集器34。如果在步骤706没有接收到特定标志消息,则帧收集器34继续在步骤704监视特定标志消息。如果接收到特定标志消息,则该方法继续到步骤708。
在步骤708,帧收集器34确定对应于与故障链路17相关联的端口22的一个或多个输出队列50的状态。例如,控制器24使用中断或者通过读输出队列状态寄存器而检查输出队列50的状态。在步骤710,帧收集器34向发送网络元件16处的帧分配器32发送特定标志响应。特定标志响应包括在链路17出现故障之后,对在链路17之间移动通信的特定标志消息作出响应的任何合适信息。例如,特定标志响应确认在移动通信之前没有待处理的帧56。根据扩展标志协议的消息的示例格式,如果TLV的值为0x04,则该消息被识别为标志响应。而且,如上所述的示例性格式还在请求器事务ID字段中提供了故障端口22的MAC地址。
前述流程图700和所附描述仅表示了示例性操作方法,并且帧收集器34和/或其它合适的部件可使用任何合适技术对链路聚合标志协议的特定标志消息进行响应。因此,可以同时和/或以与所示不同的顺序执行流程图700中的多个步骤。另外,帧收集器34可以采用具有附加步骤、较少步骤和/或不同步骤的方法,只要该方法保持适当即可。
尽管已经以数个实施例描述了本发明,但已向本领域技术人员表明了多种变型和修改,本发明旨在包括落在本发明所附权利要求范围内的这些变型和修改。
相关申请本申请要求于2005年4月12日提交的、名为“链路聚合和网络管理技术(Link Aggregation and Network Management Techniques)”的美国临时申请序列号60/670,369的优先权,通过引用将其并入本文。
权利要求
1.一种用于在链路聚合组中的链路之间分配帧的方法,包括将多个物理端口聚合为链路聚合组;保持多个分配函数,每个分配函数都能够映射用于多个会话的帧以使得来自任何一个给定会话的所有帧映射到所述端口中的特定一个;选择所述多个分配函数中的一个作为所选择的分配函数;根据所选择的分配函数将所接收的帧在所述端口之间分配;决定调整所选择的分配函数;在决定调整所选择的分配函数之后,禁止在所述端口之间分配帧;选择所述多个分配函数中不同的一个作为所选择的分配函数;以及在选择所述分配函数中不同的一个作为所选择的分配函数之后,使得能够根据所选择的分配函数在所述端口之间分配接收的帧。
2.根据权利要求1所述的方法,还包括监视所述链路聚合组的性能,以检测在该链路聚合组中是否未充分利用一个或更多个链路;和响应于所述性能决定调整所选择的分配函数。
3.根据权利要求1所述的方法,还包括在决定调整所选择的分配函数之后在各个端口上发送标志消息;和在使得能够分配所接收的帧之前在各个端口上接收标志响应。
4.根据权利要求1所述的方法,其中,决定调整所选择的分配函数包括从网络管理装置接收通知。
5.根据权利要求4所述的方法,其中,所述通知识别所述分配函数中的一个。
6.根据权利要求1所述的方法,其中,所选择的分配函数与分配参数相结合来起作用,该方法还包括为所述分配参数选择值。
7.根据权利要求6所述的方法,还包括监视所述链路聚合组的性能,以检测在该链路聚合组中未充分利用一个或多个链路;响应于所述性能决定调整所述分配参数的值;和修改所述分配参数的值。
8.根据权利要求1所述的方法,其中,所述分配函数中的每一个都基于在所述帧中指定的寻址信息而在所述端口之间分配帧。
9.一种网络元件,包括多个端口;聚合器,其与所述多个端口中聚合成链路聚合组的两个或更多个端口相对应,该聚合器包括帧收集器和帧分配器;存储器,其操作用于保持多个分配函数,每个分配函数都能够映射用于多个会话的帧以使得来自任何一个给定会话的所有帧都映射到一个特定聚合端口;所述帧分配器可操作用于选择所述分配函数中的一个作为所选择的分配函数,根据所选择的分配函数将所接收的帧在所述聚合端口之间分配,决定调整所选择的分配函数,在决定调整所选择的分配函数之后,禁止在所述聚合端口之间分配帧,选择所述分配函数中的不同的一个作为所选择的分配函数,并且在选择所述分配函数中所述不同的一个作为所选择的分配函数之后,使得能够根据所选择的分配函数在所述聚合端口之间分配所接收的帧。
10.根据权利要求9所述的网络元件,还包括控制器,其用于监视所述链路聚合组的性能以检测在该链路聚合组中未充分利用一个或多个链路,并且响应于所述性能决定调整所选择的分配函数。
11.根据权利要求9所述的网络元件,其中所述帧分配器还可操作用于在决定调整所述选择的分配函数之后,在各个所述聚合端口上发送标志消息,并且在从所述帧收集器接收到指示之后使得能够分配所接收的帧;并且所述帧收集器可操作用于在各个所述聚合端口上接收标志响应,并且作为响应向所述帧分配器提供所述指示。
12.根据权利要求9所述的网络元件,其中,所述帧分配器还可操作用于响应于从网络管理装置接收到通知而决定调整所选择的分配函数。
13.根据权利要求12所述的网络元件,其中,所述通知识别所述分配函数中的一个。
14.根据权利要求9所述的网络元件,其中,所选择的分配函数与分配参数相结合来起作用,所述帧分配器还可操作用于为所述分配参数选择值。
15.根据权利要求9所述的网络元件,其中,所述分配函数中的每一个都可操作基于在所述帧中指定的寻址信息而在所述聚合端口之间分配帧。
16.一种用于在链路聚合组中的链路之间分配帧的逻辑,该逻辑编码在媒体上并在被执行时可操作用于执行下面的步骤将多个物理端口聚合为链路聚合组;保持多个分配函数,每个分配函数都能够映射用于多个会话的帧以使得来自任何一个给定会话的所有帧映射到所述端口中的特定一个;选择所述分配函数中的一个作为所选择的分配函数;根据所选择的分配函数将所接收的帧在所述端口之间分配;决定调整所选择的分配函数;在决定调整所选择的分配函数之后,禁止在所述端口之间分配帧;选择所述分配函数中不同的一个作为所选择的分配函数;以及在选择所述分配函数中不同的一个作为所选择的分配函数之后,使得能够根据所选择的分配函数在所述端口之间分配所接收的帧。
17.根据权利要求16所述的逻辑,在被执行时还可操作用于执行下面的步骤监视所述链路聚合组的性能,以检测在该链路聚合组中未充分利用一个或多个链路;和响应于所述性能决定调整所选择的分配函数。
18.根据权利要求16所述的逻辑,其中,所选择的分配函数与分配参数相结合来起作用,该逻辑在被执行时还可操作用于识别所述分配参数的值。
19.根据权利要求16所述的逻辑,其中,所述分配函数中的每一个都基于在所述帧中指定的寻址信息而在所述端口之间分配帧。
20.一种网络元件,包括用于将多个物理端口聚合为链路聚合组的装置;用于保持多个分配函数的装置,每个分配函数都能够映射用于多个会话的帧以使得来自任何一个给定会话的所有帧映射到所述端口中的特定一个;用于选择所述分配函数中的一个作为所选择的分配函数的装置;用于根据所选择的分配函数将所接收的帧在所述端口之间分配的装置;用于决定调整所选择的分配函数的装置;用于在决定调整所选择的分配函数之后,禁止在所述端口之间分配帧的装置;用于选择所述分配函数中不同的一个作为所选择的分配函数的装置;以及用于在选择所述分配函数中不同的一个作为所选择的分配函数之后,使得能够根据所选择的分配函数在所述端口之间分配所接收的帧的装置。
全文摘要
用于链路聚合组管理的分配调整机制。在聚合了网络元件的多个端口的链路聚合组中,所述网络元件可以使用根据所接收的帧中的信息而起作用的分配函数在所述端口之间分配帧。所述网络元件可以应用数个不同分配函数中的一个,并在适当的时间改变所选择的分配函数以在所述端口当中进行帧的不同分配。
文档编号H04L12/24GK1848769SQ200610072130
公开日2006年10月18日 申请日期2006年4月12日 优先权日2005年4月12日
发明者中川幸洋, 清水刚 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1