链路聚合组上的固定和保护的制作方法

文档序号:7941207阅读:199来源:国知局
专利名称:链路聚合组上的固定和保护的制作方法
链路聚合组上的固定和保护
背景技术
链路聚合(例如,在IEEE 802. 3ad中所阐述的)是一个计算机联网术语,它描述使用多个链路(例如,以太网电缆和/或并行端口)作为一个逻辑端口来使链路速度增加 至超过任何一个单个链路的极限和/或提供两个网络元件之间的链路冗余。用于链路聚合 的其它术语可以包括链路绑定、链路捆绑、和/或链路聚合组(LAG)。LAG在下文中将用来 表示链路聚合。可以本地地或虚拟地在一对网络元件之间提供LAG。网络元件中的LAG可 以跨越同一分组处理线路卡中的端口或跨越分组处理线路卡,提供针对处理线路卡故障的 保护。LAG允许由该LAG互连的两个网络元件同时通过该LAG中的所有成员链路进行通 信。可以基于本地规则跨越该LAG中的成员链路而动态地分发网络数据报,使得可以用该 LAG自动地考虑什么数据报实际上流经给定端口的管理。如IEEE 802. 3ad中所阐述的LAG允许将一个或多个链路聚合在一起以形成LAG。 一旦被实现,可以在没有帧的复制或再现(rendering)的风险情况下以最小的分组损失快 速且自动地配置和重新配置LAG。LAG可以用来提供跨越两个网络设备之间的多个并行链路的负载均衡。目前使用 的一种负载均衡方法是基于网际协议(IP)头部(header)源和目的地地址。可以用于在以 太网帧中载送的非IP协议的另一种方法是基于媒体接入控制(MAC)源和目的地地址。在典 型网络中,在LAG的链路之间负载可能不是被平分。跨越典型哈希算法所使用的参数(例 如,IP地址)的业务分布统计性质可能导致LAG中的某些链路过载,同时LAG中的其它链 路利用不足。LAG可以提供本地链路保护。如果在LAG中使用的多个成员链路中的一个出现故 障,则可以使网络业务(例如,数据报)动态地重新定向以流经LAG中的其余继续存在的链 路。LAG可以基于哈希算法使业务重新定向至继续存在的链路。然而,不存在对通过哪个链 路使业务重新定向的预先预测,并且LAG中的哪个链路可能出现故障是不可预测的。在使 用虚拟局域网(VLAN)标识符(ID)来识别两个边缘以太网交换机之间的连接的点对点以太 网应用中,可以对VLAN和/或其它以太网头部和/或有效负载信息(例如,如果以太网有 效负载包含IP分组,则为IP头部信息)执行哈希算法。这可能使得难以预测LAG中的给 定链路上的负载,且可能使得难以高效且可预测地设计为点对点服务提供分组损失和带宽 服务等级协议(SLA)保证的以太网。称为ELine(以太网专用线路(EPL)或以太网虚拟专 用线路(EVPL))的点对点服务可能是在SLA方面最严格的服务。


图1是可以实现本文描述的系统和方法的网络的示例性视图;图2是图1的示例性网络设备的视图;图3是示出图2的网络设备的示例性服务类别(CoS)队列的视图;图4是图示图2的网络设备的示例性VLAN分配器的视图5是示出图2的网络设备的示例性VLAN业务转发器和MAC目的地地址数据库 的视图;以及图6-8图示了根据本文描述的实现的图1的网络和/或网络设备的示例性过程的 流程图。
具体实施例方式以下详细说明参考附图。不同图中的相同附图标记可以标识相同或类似元件。而 且,以下详细说明不限制本发明。本文所述的系统和方法可以在链路聚合组(LAG)上存在多点服务的情况下保证 点对点服务的SLA。在一种实现中,所述系统和方法可以保证点对点服务可与多点业务共享 LAG,同时仍保证点对点服务具有可预测性能。在其它实现中,所述系统和方法可以经由管 理机制和/或经由信令向LAG的链路上的队列分配相应的点对点连接。例如,期望的是能 够出于保护的目的以保证链路满足VLAN带宽要求的方式在链路和冗余链路上可预测地放 置VLAN。除保证满足VLAN带宽之外,还保证来自同一 VLAN的业务可以遵循VLAN活动性检 查所期望的同一路径。图1是图示可以实现本文描述的系统和方法的示例性网络100的图示。网络100 可以包括例如局域网(LAN)、专用网络(例如,公司内部网)、广域网(WAN)、城域网(MAN)、 或另一类型的网络。在一种实现中,网络100可以包括提供点对点和多点服务的交换网络、 能够使用VLAN的网络等等。如图1所示,网络100可以包括通过链路120-0.....120-N(统称为链路120)互
连的网络设备110-0、110-1和110-2(统称为网络设备110)。虽然在图1中示出了三个网 络设备110和八个链路120,但在其它实现中可以使用更多或更少的网络设备110和/或链 路 120。网络设备110可以包括多种设备。例如,网络设备110可以包括计算机、路由器、 交换机、网络接口卡(NIC)、集线器、桥接器等等。链路120可以包括允许网络设备110之间 的通信的路径,诸如有线连接、输入端口、输出端口等。例如,网络设备110-0可以包括端口 PORT。、PORT” . . .、P0RTn,网络设备 110-1 可以包括端 口 PORT。、PORT” P0RT2、P0RT3,且网络 设备110-2可以包括端口 PORT。、P0RI\、. . .、P0RT7。可以将网络设备110的端口视为相应 链路120的一部分且网络设备110的端口可以是输入端口、输出端口、或输入和输出端口的 组合。虽然在图1中示出了用于网络设备110-0的八个端口、用于网络设备110-1的四个 端口、以及用于网络设备110-2的八个端口,但在其它实现中可以使用更多或更少的端口。在示例性实现中,网络设备110可以提供用于网络100中的数据报(例如,业务)
的进入点和/或退出点。网络设备110-0的端口 (例如,PORT。.....和P0RTn)可以发送和
/或接收数据报。网络设备110-1的端口 (例如,PORT。、PORT” P0RT2、和P0RT3)和网络设 备110-2的端口 (例如,PORT。.....和P0RT7)可以同样地发送和/或接收数据报。在一种实现中,可以在网络设备110-0与110-1之间建立LAG。例如,可以将网络设 备 110-0 的端口 PORT。、.、禾口 P0RT3—起分组成为经由链路 120-0、120-1、120-2、和 120-3 与网络设备110-1的端口 P0RVP0RVP0RL、和P0RT3双向通信的LAG11(1_Q。可以在网络设 备110-0的端口 (例如,PORT。、PORT” P0RT2、和P0RT3)与网络设备110—1的端口 (例如,
6PORVPORTpPORl、和PORT3)之间动态地分发数据报,使得可以由LAG1icki来自动地操纵什 么数据报实际上流经给定链路(例如,链路120-0.....和120-3)的管理。
在另一种实现中,可以在网络设备110-0与110-2之间建立LAG。例如,可以将 网络设备110-0的端口 P0RTn_3、· · ·、和PORTn —起分组成为经由链路120-N-3、120-N-2、 120-N-1、和120-N与网络设备110-2的端口 PORT。、PORT” PORT2、和PORT3进行双向通信的 lag11q_2。可以将网络设备 110-2 的端口 port。、Pori^Port2、和 Port3 —起分组成为 lag11(1_2。 LAGl 10-2可以允许网络设备110-0的端口 P0RTN_3、· · ·、和PORTn与网络设备110-2的端 口 PORT。、PORT1、PORT2、和PORT3进行双向通信。可以在网络设备110-0的端口(例如, PORV3> ...、和 PORTn)与网络设备 110-2 的端口(例如,PORT。、PORT” PORT2、和 PORT3)之 间动态地分发数据报,使得可以由LAG1ich2来自动地操纵什么数据报实际上流经给定链路
(例如,链路120-N-3.....和120-N)的管理。用此类布置,网络设备110可以在由网络设
备110建立的LAG内的所有链路上同时发送和接收数据报。虽然图1示出了网络100的示例性组件,但在其它实现中,网络100可以包含比图 1所图示的更少、不同、或附加的组件。在其它实现中,网络100的一个或多个组件可以执行 由网络100的一个或多个其它组件执行的任务。图2是可以对应于图1的网络设备110中的一个的设备的示例性视图。如图所示, 网络设备110可以包括输入端口 210、进入分组处理块220、切换机制230、外出分组处理块 240、输出端口 250、以及控制单元260。在一种实现中,进入分组处理块220和外出分组处 理块240可以在同一线路卡上。输入端口 210可以是用于物理链路(例如,链路120)(未示出)的附着点,并且可 以是用于传入数据报的进入点。进入分组处理块220可以存储转发表格,并且可以执行转 发表格查找以确定可以向其转发数据报的外出分组处理和/或输出端口。切换机制220可 以将进入分组处理块220和外出分组处理块240、以及相关联的输入端口 210和输出端口 250互连。外出分组处理块240可以存储数据报,并且可以调度用于输出链路(例如,链路 120)(未示出)上的服务的数据报。输出端口 250可以是用于物理链路(例如,链路120) (未示出)的附着点,并且可以是用于数据报的退出点。控制单元260可以运行路由协议和 以太网控制协议,建立转发表格并将它们下载到进入分组处理块220和/或外出分组处理 块240等。进入分组处理块220可以执行数据链路层封装和解封装。为了提供服务质量 (QoS)保证,进入分组处理块220可以将数据报分类成预定义服务类别。输入端口 210可以 运行数据链路级协议。在其它实现中,输入端口 210可以发送(例如,可以是退出点)和/ 或接收(例如,可以是进入点)数据报。切换机制230可以使用许多不同技术来实现。例如,切换机制230可以包括总线、 交叉开关、和/或共享存储器。最简单的切换机制230可以是链接输入端口 210和输出端口 250的总线。交叉开关可以通过切换机制230来提供多个同时数据路径。在共享存储器切 换机制230中,可以将传入数据报存储在共享存储器中,并且可以切换指向数据报的指针。外出分组处理块240可以在输出链路(例如,链路120)上发送数据报之前存储数 据报。外出分组处理块240可以包括支持优先级和保证的调度算法。外出分组处理块240 可以支持数据链路层封装和解封装、和/或多种更高级协议。在其它实现中,输出端口 230可以发送(例如,可以是退出点)和/或接收(例如,可以是进入点)数据报。控制单元260可以与输入端口 210、进入分组处理块220、切换机制230、外出分组处理块240、以及输出端口 250互连。控制单元260可以计算转发表格、实现路由协议、和/ 或运行软件以配置并管理网络设备110。在一种实现中,控制单元260可以包括总线260-1, 总线260-1可以包括允许处理器260-2、存储器260-3、以及通信接口 260-4之间的通信的 路径。处理器260-2可以包括可以解译并执行指令的微处理器或处理逻辑。存储器260-3 可以包括随机存取存储器(RAM)、只读存储器(ROM)设备、磁和/或光记录介质及其相应驱 动器、和/或可以存储用于由处理器260-2执行的信息和指令的另一类型的静态和/或动 态存储设备。通信接口 260-3可以包括任何类似收发器的机制,该机制使得控制单元260 能够与其它设备和/或系统通信。网络设备110可以执行如本文所述的某些操作。网络设备110可以响应于处理器 260-2执行包含在诸如存储器260-3的计算机可读介质中的软件指令而执行这些操作。计 算机可读介质可以被定义为物理或逻辑存储设备。可以经由通信接口 260-4将软件指令从诸如数据存储设备的另一计算机可读介 质、或从另一设备读入存储器260-3中。包含在存储器260-3中的软件指令可以使处理器 260-2执行稍后将描述的处理。替代地,可以取代软件指令或与软件指令相结合地使用硬连 线电路来实现本文所述的处理。因此,本文所述的实现不限于硬件电路和软件的任何特定组合。虽然图2示出了网络设备110的示例性组件,但在其它实现中,网络设备110可以 包括比图2所图示的更少、不同、或附加的组件。在其它实现中,网络设备110的一个或多 个组件可以执行由网络设备110的一个或多个其它组件执行的任务。图3是示出网络设备110的示例性服务类别(CoS)队列的视图。为简单起见,可 以假设网络设备110可以定义用于点对点服务的CoS,并且可以定义用于多点服务的另一 CoS。在其它实现中,存在用于点对点服务和/或多点服务的不止一个CoS。如图3所示, 网络设备110可以包括用于网络设备110的每个链路的一个或多个CoS队列。例如,链路 120-0可以与一个或多个CoS排队系统310-0相关联,链路120-1可以与一个或多个CoS排 队系统310-1相关联,并且链路120-2可以与一个或多个CoS排队系统310-2相关联。CoS 排队系统310-0、310-1、和310-2 (统称为CoS排队系统310)中的每一个可以包括为每个网 络服务、或与网络服务相对应的每个CoS分配给相应链路的单独分组队列。例如,CoS排队 系统310-0可以包括为点对点服务分配给链路120-0的CoSpps分组队列320-0、以及为多点 服务分配给链路120-0的COSmps分组队列330-0。CoS排队系统310-1可以包括为点对点服 务分配给链路120-1的CoSpps分组队列320-1、以及为多点服务分配给链路120-1的COSmps 分组队列330-1。CoS排队系统310-2可以包括为点对点服务分配给链路120-2的CoSpps分 组队列320-2、以及为多点服务分配给链路120-2的COSmps分组队列330-2。可以在(例如,由链路120-0、120-1、和120-2定义的)LAG 300上为CoSpps分组 缓冲队列320-0、320-1、和320-2 (统称为CoSpps分组缓冲队列320)分配带宽,使得点对点 服务可以具有最小保证带宽。可以在LAG 300上为COSmps分组缓冲队列330-0、330-1、和 330-2 (统称为COSmps分组缓冲队列330)分配带宽,使得多点服务可以具有最小保证带宽。在一种实现中,可以由头部中的VLAN值来识别点对点连接,这可以允许通过本地以太网进行操作。在其它实现中,可以用任何类型的连接标识符(例如,通用多协议标记交 换(MPLS)标记)来识别点对点连接。虽然图3示出了网络设备110的示例性组件,但在其它实现中,网络设备110可以 包含比图3所图示的更少、不同、或附加的组件。在其它实现中,网络设备110的一个或多 个组件可以执行由网络设备110的一个或多个其它组件执行的任务。图4是图示网络设备110的示例性VLAN分配器400的视图。在一种实现中,可以 在LAG(例如,LAG 300)上向一个或多个链路(例如,链路120)分配VLAN。典型设备不允 许此类分配,而是向LAG分配VLAN,并且不向LAG中的特定链路分配VLAN。如图4所示,出 于冗余的目的,VLAN分配器400可以向LAG中的一个或多个链路分配VLAN。例如,VLAN分 配器400可以经由CoS排队系统310-0和PORT。向链 路120-0分配VLAN 410,并且也可以 经由CoS排队系统310-1和P0RI\向链路120-1分配VLAN 410。可以在分配了 VLAN的LAG 中的链路(例如,链路120-0和120-1)上发送来自给定VLAN(例如,VLAN 410)的业务。虽 然图4示出了 VLAN 410被分配给所图示的三个链路120中的两个,但在其它实现中,可以 向一个或多个链路120分配VLAN 410。如果VLAN分配器400向LAG分配VLAN (例如,具有预定带宽的LAG),则可以准许 VLAN进入LAG上的相应队列,使得分配给该队列的活动VLAN的带宽的总和可以不超过为该 队列分配的带宽乘以过量预订因数。虽然图4示出了网络设备110的示例性组件,但在其它实现中,网络设备110可以 包含比图4所图示的更少、不同、或附加的组件。在其它实现中,网络设备110的一个或多 个组件可以执行由网络设备110的一个或多个其它组件执行的任务。图5是示出网络设备110的示例性VLAN业务转发器500和MAC目的地地址/VLAN 数据库510的视图。VLAN业务转发器500可以将在VLAN(未示出)上到达的业务520定向 到LAG (例如,LAG 300)中的一个或多个链路(例如,链路120)。在一种实现中,VLAN业务 转发器500可以使用转发结构来确定哪些链路将发送业务520,它包括以下数据结构VLAN_type =(例如,对于点对点VLAN而言为“0”,并且对多点VLAN而言为“ 1,,)Outgoing_Link_List_Pointer连接ID。传出链路列表可以包括以下数据结构Outgoing_Link_List{Number_0utgoing_Links ;Link_List = (Link0_identifier, Linkl_indentifier,…,Link_n_ identifier)}.MAC目的地地址/VLAN数据库510可以包括可以存储与以太网MAC目的地地址和 /或相应VLAN值及相关联的转发实体有关的信息和指令的静态和/或动态存储设备(例 如,存储器260-3)。对于允许跨越端口而重新使用VLAN标识符的点对点服务,每个输入端 口 210可以存在一个数据库。在一种实现中,MAC目的地地址/VLAN数据库510可以包括 三元内容可寻址存储器(CAM)(也称为关联存储器、关联存储、和/或关联阵列),它包含以用于以太网MAC目的地地址和/或相应VLAN值的通配符编成的转发条目。在其它实现中, MAC目的地地址/VLAN数据库510可以包括识别MAC目的地地址和/或相应VLAN值的其它 类型的转发条目。进一步如图5所示,如果业务520 (例如,以太网帧)到达网络设备110 (例如,在 网络设备110的输入端口 210上),VLAN业务转发器500可以向MAC目的地地址/VLAN数 据库510提供查找请求530,以便确定用于业务520的传出接口。查找请求530可以用来 确定VLAN可以是重要部分的匹配(例如,在MAC目的地地址/VLAN数据库510中)。MAC 目的地地址/VLAN数据库510可以提供与所确定的匹配相关联的转发数据结构,并且VLAN 业务转发器500可以接收转发数据结构。在一个示例性实现中,VLAN业务转发器500可以 基于转发数据结构(诸如上述数据结构)来确定要发送业务520的一个或多个LAG链路。 在另一实现中,可以(由VLAN业务转发器500)将到达具有VLAN值的网络设备110的业务 520转发到与转发数据结构540相关联的链路,该VLAN值与跟转发数据结构540相关联的 相应VLAN值相匹配。与VLAN相关联的转发数据结构可以包括多种信息,诸如上述数据结构。例如,对 于点对点VLAN,可以适当地设置用于转发数据结构的VLAN_type (例如,设置成“0”值)。可 以使用Outgoing_Link-List_Pointer来检索用于与业务520相关联的VLAN的0utgoing_ Link_List。VLAN业务转发器500可以使用哈希函数来确定哪些链路将发送业务520。在一 个示例中,可以由 Link_Number =模数(Hashing_parameter、Number_Outgoing_Links)来 给出哈希函数。Number_Outgoing_Links可以是从上述Outgoing_Link_List数据结构检索 到的值。在一种实现中,可以基于用于业务520的有效负载中的IP分组的IP头部信息来 计算哈希参数(即Hashing—parameter)(例如,IP源地址+IP目的地地址)。如果链路可 操作,则VLAN_type可以使得能够在同一链路上发送来自同一 VLAN的业务。Link_Number 可以受到Outgoing_Link_LiSt的尺寸的限制,并且可以用作Link_List中的索引。在一种实现中,可以通过Link_List中的索引来检索选择的链路标识符,并且可 以由在转发数据结构中提供的数据结构(例如,Outg0ing_Sl0t_Number和/或Link_ID_ 0n_0utgoing_Slot)的两个组件来确定。标识符的第一部分(即,Outgoing_Slot_Number) 可以确定向(例如,网络设备110的)哪个槽口(slot)发送分组,并且标识符的第二部分 (即,Link_ID_0n_0utgOing_Slot)可以确定可以在上面发送业务520的特定链路。可以将 业务520连同标识符的第二部分(即,Link_ID_0n_0utgOing_Slot) —起发送到传出槽口。 可以在传出槽口上提供(例如,网络设备110的)外出分组处理块,并且外出分组处理块可 以使用标识符的第二部分向正确的链路发送业务520。指定上述转发结构中的0utgOing_ Link_List_Pointer而不是Link_List可以允许多个转发条目共享同一 Link_List。如果 将不在可以在上面固定(to pin) VLAN的多个链路上对同一 VLAN上的业务进行负载均衡, 则Link_List可以包括可以在转发结构而不是Link_List_Pointer中提供的一个值。如图5进一步所示,在一种实现中和/或出于冗余目的,可以将同一 VLAN上的业 务520分配给LAG300的一个或多个链路120。例如,可以将同一 VLAN上的业务520分 配给两个链路(例如,链路120-0和120-1)。如果链路120-0和120-1两者均可操作,则 Number_0f_0utgoing_Links可以是“2”,并且Link_List可以包含两个元素。如果链路 120-0和120-1两者均可操作,则根据上述哈希参数,可以在链路120-0和/或链路120-1上发送同一 VLAN上的业务520。如果LAG 300中的链路(例如,链路120-1)出现故障(如附 图标记550所指示的),则可以不在链路120-1上发送同一 VLAN上的业务520,并且可以通 过从LAG 300中去除链路120-1并通过将链路的数目减少一个来修改受影响的Outg0ing_ Links_List参数。可以向控制单元260提供链路120-1的链路故障的指示560,控制单元 260进而可以修改在图5所示的MAC目的地地址/VLAN数据库510中的受影响数据结构作 为数据库510中的故障指示。这些实现可以包括故障通知和/或转发数据库更新的各种方 法。在其它实现中,可以提供一种机制,该机制通过在一个主链路可操作时将VLAN业 务固定到该链路并在该主链路出现故障的情况下将VLAN业务固定到冗余链路而在链路出 现故障时更新转发结构并减少分组损失量。在一个主链路和一个冗余链路的示例性情况 下,可以如下设计Outgoing_Link_List Outgoing_Link_List{ Active_Bit_Indication = [Primary_Active_Bit, Redundant_Active_ Bit]Primary_Link_Identif iierRedundant_Link_Identifier}.如果主链路是活动的,则可以将Primary_Link_Bit设置成值“ 1”,并且可以将 Redundant_Active_Bit设置成值“0”。如果主链路出现故障且冗余链路仍然可操作,则可 以将 Primary_Active_Bit 设置成值 “0”,并且可以将 Redundant_Active_Bit 设置成 “1”。 可以将此链路的状态变化转换成此类两位设置。如果上述转发结构被不止一个VLAN共享, 则所述两位设置可以使来自此类VLAN的业务在出现故障的链路周围重新路由。如果主链 路是活动的,则可以在主链路上转发VLAN的业务。如果主链路出现故障,则可以在冗余链 路上转发VLAN的业务。Link_Identifier可以包括上述相同方案,并且如果识别到传出链 路,则转发程序可以与上述相同。在其它实现中,如果期望更多冗余,则根据可以期望的利用不足带宽的量,可以扩 展主链路/冗余链路方案,虽然可以通过使用过量预订来补偿利用不足的带宽。此外,如果 主VLAN路径和冗余VLAN路径在不同的LAG上,则可以应用上述转发结构(例如,如果在网 络设备上的主路径和冗余路径通向不同的相邻网络设备,则提供链路和网络设备保护)。虽然图5示出了网络设备110的示例性组件,但在其它实现中,网络设备110可以 包含比图5所描绘的更少、不同、或附加的组件。在其它实现中,网络设备110的一个或多个 组件可以执行由网络设备110的一个或多个其它组件执行的任务。在进一步的实现中,网 络设备110可以包括在与本申请同日提交的题为“BANDWIDTH ADMISSI0NC0NTR0L ON LINK AGGREGATION GROUPS”的共同待决申请No. 11/949,249 (律师档案号No. 20070419)中阐述 的特征,该申请的公开整体地通过引用结合到本文中。图6-8图示了用于网络(例如,网络100)和/或网络设备(例如,网络设备110) 的示例性过程的流程图。在一种实现中,图6-8的处理可以由网络设备的硬件和/或软件组 件来执行,或者可以由在网络外部但与网络通信的设备的硬件和/或软件组件来执行。在其它实现中,图6-8的处理可以由网络设备110 (例如,由控制单元260)和/或网络100中 的一个或多个设备的硬件和/或软件组件来执行。图6图示了用于向用于点对点服务的分组缓冲队列和向用于多点服务的另一分 组缓冲队列分配LAG链路的示例性过程600的流程图。如图6所示,过程600可以通过定义 用于点对点服务的服务类别(框610)并定义用于多点服务的服务类别(框620)而开始。 例如,在上文结合图3所述的一种实现中,网络设备110可以定义用于点对点服务的服务类 别(CoS),并且可以定义用于多点服务的另一 CoS。
如图6进一步所示,可以将LAG中的链路分配给用于点对点服务的第一分组缓冲 队列(框630)。例如,在上文结合图3所述的一种实现中,CoS排队系统310-0可以包括为 点对点服务向链路120-0分配的COSpps分组缓冲队列320-0,CoS排队系统310-1可以包括 为点对点服务向链路120-1分配的CoSpps分组缓冲队列320-1,并且CoS排队系统310-2可 以包括为点对点服务向链路120-2分配的CoSpps分组缓冲队列320-2。对于多点服务,可以向第二分组缓冲队列分配LAG链路(框640)。例如,在上文结 合图3所述的一种实现中,CoS排队系统310-0可以包括为多点服务向链路120-0分配的 COSmps分组缓冲队列330-0,CoS排队系统310-1可以包括为多点服务向链路120-1分配的 COSmps分组缓冲队列330-1,并且CoS排队系统310-2可以包括为多点服务向链路120-2分 配的COSmps分组缓冲队列330-2。如图6进一步所示,可以向第一和第二分组缓冲队列分配带宽,使得点对点和多 点服务具有最小保证带宽(框)650。例如,在上文结合图3所述的一种实现中,可以在LAG 300(例如由链路120-0、120-1、和120-2定义的)上为CoSpps分组缓冲队列320-0、320_1、 和320-2分配带宽,使得点对点服务可以具有最小保证带宽。可以在LAG 300上为COSmps分 组缓冲队列330-0、330-1、和330-2分配带宽,使得多点服务可以具有最小保证带宽。图7图示了用于向LAG的一个或多个链路分配VLAN的示例性过程700的流程图。 如图7所示,过程700可以通过向LAG中的一个或多个特定链路分配VLAN而开始(框710)。 例如,在上文结合图4所述的一种实现中,VLAN分配器400可以出于冗余的目的向LAG中的 一个或多个链路分配VLAN。在一个示例中,VLAN分配器400可以经由CoS排队系统310-0 和PORTtl向链路120-0分配VLAN 410,并且也可以经由CoS排队系统310-1和PORT1向链 路 120-1 分配 VLAN410。如图7进一步所示,如果VLAN带宽不超过队列的带宽,则可以准许VLAN进入与所 分配的一个或多个LAG链路相对应的队列(框720)。例如,在如上文结合图4所述的一种 实现中,如果VLAN分配器400向具有预定带宽的LAG分配VLAN,则可以准许VLAN进入LAG 上的相应队列,使得分配给该队列的活动VLAN的带宽的总和可以不超过队列带宽乘以过 量预订因数。可以在所分配的一个或多个LAG链路上从VLAN发送业务(框730)。例如,在上 文结合图4所述的一种实现中,可以在分配了 VLAN的LAG中的链路(例如,链路120-0和 120-1)上发送来自给定VLAN(例如,VLAN 410)的业务。在其它实现中,在可能需要在一 个链路上从同一 VLAN发送业务的情况下,可以在分配了 VLAN的LAG中的链路(例如,链路 120-0或120-1)上发送来自给定VLAN(例如,VLAN 410)的业务,其中一个链路可以是活动 的(例如,链路120-0),并且另一链路可以是备用的(例如,链路120-1)。
图8图示了用于基于转发数据结构在LAG的一个或多个链路上转发业务的示例性过程800的流程图。如图8所示,过程800可以通过接收业务(框810)并查找MAC目的地 地址和相应的VLAN值以确定VLAN是重要部分的匹配(框820)而开始。例如,在上文结合 图5所述的一种实现中,VLAN业务转发器500可以将到达VLAN(未示出)上的业务520定 向到LAG (例如,LAG 300)中的一个或多个链路(例如,链路120)。VLAN业务转发器500可
以向MAC目的地地址/VLAN数据库510提供查找请求530,以便确定用于业务520的传出接□。 如图8进一步所示,可以检索与该匹配相关联的转发数据结构(框830),并且可以 基于转发数据结构来确定要发送业务的一个或多个LAG链路(框840)。例如,在上文结合 图5所述的一种实现中,在MAC目的地地址/VLAN数据库510中的查找可以提供与所确定 的匹配相关联的转发数据结构(例如,转发数据结构540),并且VLAN业务转发器500可以 接收转发数据结构。VLAN业务转发器500可以基于转发数据结构(即,转发数据结构540) 来确定要发送业务520的一个或多个LAG链路。如果在LAG中未发生链路故障(框850-否),则可以在所确定的一个或多个LAG 链路上发送业务(框860)。例如,在上文结合图5所述的一种实现中,可以将同一 VLAN上 的业务520分配给LAG 300的一个或多个链路120。在一个示例中,可以将同一 VLAN上的 业务520分配给两个链路(例如,链路120-0和120-1)。如果两个链路120-0和120-1均 可操作,则可以在链路120-0和/或链路120-1上发送同一 VLAN上的业务520。在另一示 例中,可以(由VLAN业务转发器500)将到达具有VLAN值的网络设备110的业务520转发 至IJ与转发数据结构540相关联的链路,该VLAN值与跟转发数据结构540相关联的相应VLAN 值相匹配。如图8进一步所示,如果在LAG中发生链路故障(框850-是),则可以从LAG中去 除出现故障的链路(框870),并且可以在其余LAG链路上发送业务(框880)。例如,在上文 结合图5所述的一种实现中,如果LAG 300中的链路(例如,链路120-1)出现故障(如附 图标记550所指示的),则可以不在链路120-1上发送同一 VLAN上的业务520,而且可以通 过从LAG 300中去除链路120-1并通过将链路的数目减少一个来修改受影响的0utgOing_ LinkS_List参数。可以出于更新的目的将链路120-1的链路故障的指示560提供给MAC目 的地地址/VLAN数据库510。对于遵循同一链路的同一 VLAN上的业务,hashing_parameter 可以仅包括VLAN ID。在其它实现中,为了确保VLAN业务在不使链路过载的情况下遵循同 一链路,则可以准许VLAN进入LAG中的链路上的队列和LAG中的冗余链路上的队列,一个 链路是主链路且另一链路是备用链路。上文描述了使得能够实现此类实现的数据结构。本文所述的系统和方法可以在LAG上存在多点服务的情况下保证用于点对点服 务的LAG。在一种实现中,所述系统和方法可以确保点对点服务可与多点业务共享LAG,同 时仍保证点对点服务具有可预测性能。在其它实现中,所述系统和方法可以经由管理机制 和/或经由信令向LAG的链路上的队列分配相应的点对点连接。前述说明提供图示和说明,但并不意在穷举或使本发明局限于所公开的精确形式。修改和变更鉴于以上教导是可以的,或可以从本发明的实施中获取。例如,点对点VLAN 可以载送来自多个服务类别的业务。可以准许VLAN进入LAG链路上的相应CoS队列。如 果来自用于所有CoS的VLAN的业务将遵循同一链路,则约束可以包括准许VLAN进入用于该VLAN载送的将被分配给链路的所有CoS的同一链路。此外,虽然已经相对于图6-8的流程图描述了一系列动作,但在其它实现中动作 的顺序可以不同。进一步地,可以并行地执行非从属动作。将显而易见的是,如本文所述,实施例可以在附图中图示的实现中的许多不同形 式的软件、固件、以及硬件中实现。用来实现本文所述实施例的实际软件代码或专用控制 硬件没有限制本发明。因此,在没有参照特定软件代码的情况下描述了实施例的操 作和性 能——应当理解的是将能够基于本文中的说明来设计软件并控制硬件实现实施例。进一步地,可以将本发明的某些部分实现为执行一个或多个功能的“逻辑”。此逻 辑可以包括诸如专用集成电路或现场可编程门阵列的硬件、软件、或软件与硬件的组合。即使在权利要求中引用和/或在本说明书中公开了特征的特定组合,但这些组合 并不意在限制本发明。实际上,可以以权利要求中未具体引用和/或本说明书中未公开的 方式来组合许多这些特征。在本申请中使用的元件、动作、或指令不应当被视为对于本发明而言是关键的或 必要的,除非明确地这样说明。而且,不加数量词限定的项目意在包括一个或多个项目。在 仅意在表示一个项目的情况下,使用术语“一个”或类似语言。进一步地,除非明确地说明, 短语“基于”意在指的是“至少部分地基于”。
权利要求
一种方法,包括使链路聚合组(LAG)中的链路与用于点对点服务的第一分组缓冲队列相关联;使所述LAG链路与用于多点服务的第二分组缓冲队列相关联;以及向所述第一和第二分组缓冲队列分配带宽。
2.根据权利要求1所述的方法,进一步包括 定义用于所述点对点服务的服务类别。
3.根据权利要求1所述的方法,进一步包括 定义用于所述多点服务的服务类别。
4.根据权利要求1所述的方法,进一步包括向所述LAG中的一个或多个特定链路分配虚拟局域网(VLAN);以及 在所分配的一个或多个特定LAG链路上发送来自所述VLAN的业务。
5.根据权利要求4所述的方法,进一步包括如果所述VLAN的带宽不超过与所分配的一个或多个特定LAG链路相对应的队列的带 宽,则准许所述VLAN进入所述队列。
6.根据权利要求4所述的方法,进一步包括查找媒体接入控制(MAC)地址目的地和相应(VLAN)值以确定匹配; 检索与所述匹配相关联的转发数据结构;以及基于所述转发数据结构来确定在所述LAG中的能够接收业务的一个或多个链路。
7.根据权利要求6所述的方法,进一步包括 接收所述业务;以及在所确定的一个或多个LAG链路上发送所述业务。
8.根据权利要求6所述的方法,进一步包括 接收所述业务;检测在所述LAG中的链路故障;从所述LAG中去除已出现故障的链路;以及在其余的所确定的一个或多个LAG链路上发送所述业务。
9.一种方法,包括向在链路聚合组(LAG)中的一个或多个特定链路分配虚拟局域网(VLAN);以及 在所分配的一个或多个特定LAG链路上发送来自所述VLAN的业务。
10.根据权利要求9所述的方法,进一步包括如果所述VLAN的带宽不超过与所分配的一个或多个特定LAG链路相对应的队列的带 宽,则准许所述VLAN进入所述队列。
11.根据权利要求9所述的方法,进一步包括查找媒体接入控制(MAC)地址目的地和相应(VLAN)值以确定匹配; 检索与所述匹配相关联的转发数据结构;以及基于所述转发数据结构来确定在所述LAG中的能够接收业务的一个或多个链路。
12.根据权利要求11所述的方法,进一步包括 接收所述业务;以及在所确定的一个或多个LAG链路上发送所述业务。
13.根据权利要求11所述的方法,进一步包括 接收所述业务;检测在所述LAG中的链路故障;从所述LAG中去除已出现故障的链路;以及在其余的所确定的一个或多个LAG链路上发送所述业务。
14.一种设备,包括 处理逻辑,用于使在链路聚合组(LAG)中的链路与用于点对点服务的第一分组缓冲队列相关联, 使所述LAG链路与用于多点服务的第二分组缓冲队列相关联,以及 向所述第一和第二分组缓冲队列分配带宽。
15.根据权利要求14所述的设备,其中,所述处理逻辑进一步被配置成 定义用于所述点对点服务的服务类别;以及定义用于所述多点服务的服务类别。
16.根据权利要求14所述的设备,其中,所述处理逻辑进一步被配置成 向所述LAG链路分配虚拟局域网(VLAN);以及在所述LAG链路上发送来自所述VLAN的业务。
17.根据权利要求16所述的设备,其中,所述处理逻辑进一步被配置成如果所述VLAN的带宽不超过与所分配的一个或多个特定LAG链路相对应的队列的带 宽,则准许所述VLAN进入所述队列。
18.根据权利要求16所述的设备,其中,所述处理逻辑进一步被配置成查找媒体接入控制(MAC)地址目的地和相应的虚拟局域网(VLAN)值以确定匹配; 检索与所述匹配相关联的转发数据结构;以及 基于所述转发数据结构来确定能够接收业务的一个或多个LAG链路。
19.根据权利要求18所述的设备,其中,所述处理逻辑进一步被配置成 在所确定的一个或多个LAG链路上发送所述业务。
20.根据权利要求18所述的设备,其中,所述处理逻辑进一步被配置成 检测在所述LAG中的链路故障;从所述LAG中去除已出现故障的链路;以及 在其余的所确定的一个或多个LAG链路上发送所述业务。
21.—种系统,包括用于使在链路聚合组(LAG)中的链路与用于点对点服务的第一分组缓冲队列相关联 的装置;用于使所述LAG链路与用于多点服务的第二分组缓冲队列相关联的装置;以及 用于向所述第一和第二分组缓冲队列分配带宽的装置。
22.—种方法,包括从虚拟局域网(VLAN))接收业务;以及基于包括所述VLAN的哈希参数,当链路聚合组(LAG)中的一个链路是活动的时候,在 所述链路上发送来自所述VLAN的业务。
23.根据权利要求22所述的方法,其中,所述哈希参数进一步包括所述VLAN和用于基于点对点服务的业务的输入端口。
24.一种方法,包括将虚拟局域网(VLAN)固定至链路聚合组(LAG)中的主链路和冗余链路; 在所述主链路是活动的时候,在所述主链路上转发来自同一 VLAN的业务;以及 当所述主链路出现故障且所述冗余链路是活动的时候,在所述冗余链路上转发来自同 一 VLAN的业务。
25.根据权利要求24所述的方法,其中,固定虚拟局域网(VLAN)是基于用于一服务类 别的所述VLAN带宽到相应队列的带宽准许控制。
全文摘要
一种设备可以向链路聚合组(LAG)中的一个或多个特定链路分配虚拟局域网(VLAN),并在所分配的一个或多个特定LAV链路上发送来自VLAN的业务。可以通过选择哈希准则或通过将VLAN固定于LAG中的主链路和用于冗余目的的另一链路而在LAG中的一个链路上发送来自同一VLAN的业务。
文档编号H04L12/28GK101843045SQ200880114229
公开日2010年9月22日 申请日期2008年11月21日 优先权日2007年12月3日
发明者纳比尔·N·比塔尔 申请人:维里逊专利及许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1