在包括多个交换机的集群交换机中设置抽象层的利记博彩app

文档序号:7940671阅读:182来源:国知局
专利名称:在包括多个交换机的集群交换机中设置抽象层的利记博彩app
技术领域
本发明一般涉及提供抽象层(abstraction layer)以提供具有多个交换机的集群 交换机(cluster switch)。
背景技术
在许多企业(例如,公司、政府机构、教育或研究机构等)中,将通信网络实现为能 够在用户和设备之间传输信息。这种网络的示例包括局域网(LAN)、广域网、因特网等。通 信网络通常包括交换节点(例如以太网交换机),交换节点能够接收分组、读取每个所接收 分组的目标地址,并且将每个分组转发到与目标网络段相关联的适当端口。多链路干道(multilink trunking)或聚合技术常常用来使得能够将多组并行物 理链路束集为聚合逻辑链路。使得能够将物理链路束集成聚合逻辑干道的技术的示例包括 多链路干道(例如由北电网络公司所开发的分路多链路干道体系结构)或由电气和电子工 程师协会(IEEE) 802. 3定义的链路聚合技术。SMLT由于交换机冗余而允许聚合的网络干道 在不同物理交换机之间分路,以提供更健壮的网络解决方案。当前的多链路干道或链路聚合技术是依赖于硬件的,并且涉及下部协议层(使能 多链路干道或链路聚合)与上部协议层之间的繁重的互连。这种上下协议层之间的互连意 味着对上部协议层的支持必须响应于对下部协议层的实现的修改而被修改。结果,使得针 对上部协议层的软件的产品开发更加复杂。

发明内容
一般地,根据一个实施例,一种在通信网络中使用的方法包括在具有多个个体交 换机的虚拟集群交换机中设置抽象层。此外,该方法包括通过集群交换机的个体交换机之 间的虚拟隧道来传输控制流量和数据流量,其中,每个虚拟隧道具有一活动信道以及至少 一个备用信道。抽象层向集群交换机中的上层逻辑呈现具有一组端口的接口,其中,该组端 口包括个体交换机的端口的集合。将从下面的描述、附图和权利要求中清楚其它或替代特征。


图1A-1C图示出了根据实施例的集群交换机。图2是示出了集群交换机的个体交换机中的数据平面和控制平面的示例布置的 框图。图3是根据实施例的个体交换机内的组件的框图。图4是图示出根据实施例的通过集群交换机传输分组的框图。图5是根据实施例的由集群交换机提供的虚拟端口组的框图,其中,集群交换机 的每个个体交换机具有该组端口中的一子集。图6是根据实施例的集群交换机中的个体交换机的控制平面中的层的框图。
图7是根据实施例由集群交换机执行的过程的流程图。图8是示例集群交换机的框图。
具体实施例方式在下面的描述中,阐述了许多细节以提供对一些实施例的理解。然而,本领域技术 人员将明白,可以不用这些细节来实施一些实施例,并且可以根据所描述的实施例作出各 种变体或修改。根据本发明的一些实施例,提供了包括多个物理交换机(“个体交换机”)的逻辑 “集群交换机”或“虚拟集群交换机”。实际上,虚拟集群交换机是由多个个体交换机组成的 逻辑交换机。这里使用的术语“交换机”可以指第2层交换机或第3层路由器。集群交换 机包括提供了公共控制基础设施的抽象层,公共控制基础设施管理集群交换机中的个体交 换机。抽象层的使用使得下层的物理基础设施相对于上部协议层的逻辑而被隐藏,以使得 网络的管理被简化并且针对上部协议层的软件的开发可以更容易地完成。在抽象层中,出现在集群交换机中的到上部协议层的逻辑的接口包括一组端口, 其是个体交换机的端口的虚拟集合。因此,上部协议层的逻辑(例如,各种软件模块)能够 访问集群交换机的端口组中的任何端口。通信网络可以包括耦合到客户端的多个集群交换机。在一种实现方式中,客户端 可以是耦合到各自的终端站(例如客户端设备(CPE))的边缘交换机。边缘交换机位于网 络的边缘处,并且终端站直接地或间接地(例如,通过集线器或另一交换机)连接到边缘交 换机。如图IA所示,集群交换机100包括多个个体交换机102、104、106和108 (称为个 体交换机A、B、C和D)。个体交换机102、104、106和108的示例包括以太网交换机。然而, 个体交换机还可以包括IP(因特网协议)路由器以进一步执行IP路由和其它任务。此外,如图IA所示,虚拟隧道110、112、114、116、118、120用来互连集群交换机100 的个体交换机。图IA的互连布置是全网状(full-mesh)互连布置,其中,每个个体交换机 与每个其它个体交换机互连。每个个体交换机通过三条活动隧道耦合到集群交换机100中 的各个其它个体交换机。因此,例如,个体交换机A通过隧道110、112和114分别耦合到个 体交换机B、C和D。类似地,交换机B通过隧道110、116和118分别耦合到交换机A、D和 C,交换机C通过隧道118、112和120分别耦合到交换机B、A和D,并且交换机D通过隧道 114、116和120分别耦合到交换机A、B和C。隧道是双向的,以允许相应的个体交换机对之间的双向通信。每条虚拟隧道包括 多条信道,这多条信道包括一个活动信道以及一个或多个备用信道。仅通过活动信道而不 通过一个或多个备用信道来传输控制和数据流量。实际上,虚拟隧道是活动的逻辑信道。隧道中的每条信道具有预定义优先级,并且信道按预定义的优先级顺序被激活。 然而,在给定时间处仅可以激活隧道中的一条信道,其余的(一个或多个)信道处于备用模 式。根据预定义优先级顺序,较低优先级的信道只有在所有(一个或多个)较高优先级信 道出故障时才可以是活动的。此外,当较高优先级的信道恢复(从故障状态到可使用状态) 时,该恢复的较高优先级信道优先于较低优先级的信道;换言之,恢复的较高优先级信道变 成活动信道,而先前活动的较低优先级信道被设置为备用信道。
根据一个实施例,从集群交换机100中的每个个体交换机的角度看,个体交换机是以星型拓扑相连的。例如,如图IC所示,交换机A通过隧道114、112和110以星型拓扑 分别连接到交换机D、C和B。此外,如图IC所示,每条隧道具有一个活动信道(用实线双 向箭头表示),以及备用信道(用虚线双向箭头表示)。因此,在交换机A和D之间的隧道 114中,定义了主信道dl,并且定义了备用信道d2。类似地,在交换机A和C之间的隧道112 中,定义了主信道cl和备用信道c2。在交换机A和B之间的隧道110中,定义了主信道bl 和备用信道b2。图IB图示出了图IC所示的各个主信道和备用信道的实际物理路径。注意,交换 机A、B、C和D通过物理链路122、124、126和128互连。每条物理链路可以是相应端点的两 个端口之间的链路、聚合链路(例如由IEEE 802. 3定义的多条链路的聚合)、多链路干道 (如由IEEE 802. 3定义的MLT),或者任何其它类型的链路。MLT包括连接两个交换机的多 条并行点到点链路。因此,逻辑信道通过物理端口或聚合链路或多链路干道来连接两个端 点ο虚拟隧道的主信道和备用信道是可以定义在一条或多条物理链路上的逻辑信道。 因此,例如,在交换机A和C之间定义的信道不会在交换机A和C之间的直接物理链路上, 而是将经过中间交换机B。如图IB所示,备用信道c2经过交换机A和C之间的交换机B。 换言之,备用信道c2被定义在两条物理链路122和124上。类似地,主信道cl经过交换机 A和C之间的中间交换机D(主信道cl被定义在物理链路128和126上)。交换机A和B之间的主信道为bl,其被定义在交换机A和B之间的一条物理链路 122上。然而,关联的备用信道b2经过两个中间交换机C和D以互连交换机A和B (备用 信道b2被定义在三条物理链路128、126和124上)。在该示例中,由于与信道b2相比,信 道bl是交换机A和B之间的较短路径,因此,信道bl将被指派比信道b2高的优先级。换 言之,对于交换机A和B之间的隧道110,如果信道bl和b2都可使用(未处于故障状态), 则由于信道bl具有较高优先级,因此信道bl将被设为活动信道,而信道b2将被设为备用 信道。注意,在图IB中仅示出了将交换机A互连到其它三个交换机的信道。将交换机B、 C和D彼此互连的信道未在图IB中示出,换言之,隧道116、118和120 (图1)的信道未在图 IB中示出。根据一些实施例,注意,每条逻辑信道的路由(包括(一条或多条)相对应的物理 链路)是预定义的并且是静态的而不会改变。通过不使用路由可以改变的动态路由协议, 增强了虚拟集群交换机的稳定性。通过利用信道保活(ke印-alive)机制来维持集群交换机100中的每条信道的完 整性。如下面将进一步讨论的,每条信道运行其自己的完整性检查(由每个各自的个体交 换机执行)。在通过隧道完整性检查检测到故障的情况中,每个个体交换机根据预定义优先 级顺序来选择另一逻辑信道作为活动信道。每个个体交换机独立于其它个体交换机来选择 活动逻辑信道。选择机制完全是分布式的(换言之,活动信道的选择由个体交换机独立地 执行),以增强整体系统的可靠性和弹性,并避免单点故障。活动信道的选择可以在转换阶段(transition phase)中以异步方式来完成。转换 阶段响应于(信道的)故障检测而出现,并且涉及个体交换机转换到不同的活动信道。在转换阶段期间,一个体交换机可以使用一个方向上的一个活动信道,而对等个体交换机可 以选择另一方向上的另一活动信道。然而,它们两个使用同一虚拟隧道。异步地选择在对 等交换机之间使用的信道的能力增强了转变阶段期间整体系统的鲁棒性。此外,如图1A-1C所示,提供了管理整个虚拟集群交换机100的主模块130。注意, 集群交换机100中的每个个体交换机102、104、106和108具有连接到客户端(未在图1A-1C 中示出)的多个端口。例如,每个个体交换机102、104、106和108可以包括N个端口(其 中,N>1)。如图1A-1C所示,主模块130被设置在交换机A中。然而,注意,在其它实现方 式中,主模块130可以在任何其它交换机中实现。个体交换机的端口被组合以提供由主模块130管理的较大组的端口。因此,从通 过集群交换机100相连的外部节点(例如,客户端或其它集群交换机)的角度来看,这些 外部节点观察到一组扩展的端口,其是个体交换机102、104、106和108的端口的组合(集 合)。在集群交换机100中,控制平面流量流经主模块130。
实际上,主模块130提供了隐藏与集群交换机100相关联的下层协议基础设施的 抽象层。下层协议基础设施是提供虚拟隧道以及通过个体交换机之间的虚拟隧道提供消息 传输接口的基础设施。主模块130与集群交换机100中的第3层和更高层逻辑交互。集 群交换机100中的第3层和更高层逻辑的示例包括以下逻辑用于实现生成树协议的逻辑 (其是提供路径冗余同时防止网络中不希望的环路的链路管理协议,生成树协议定义了将 跨越扩展网络中的所有交换机的树,如IEEE 802. ID所定义的);使得网络元件能够监视网 络设备的状况以使得网络管理员可以被告知的简单网络管理协议(SNMP)(如1990年5月 题为“A Simple Network ManagementProtocol (SNMP) ” 的 RFC 1157 所定义的);在物理网 络中创建独立逻辑网络的针对虚拟局域网(VLAN)的逻辑;用于在仅得知主机的网络层地 址时找出主机的硬件地址的地址解析协议(ARP)逻辑(如1982年11月题为“An Ethernet Address Resolution Protocol”的RFC 826所定义的);通过传输关于每个路由器可以到 达哪些网络以及这些网络有多远的信息来帮助路由器动态地适应网络连接的改变的路由 信息协议(RIP)逻辑(如1998年11月题为“RIP Version 2”的RFC 2453所描述的);用 于为了网络路由的目的来计算最短路径树的开放最短路径优先(OSPF)协议逻辑(在1998 年 4 月题为 “0SPF Version 2” 的 RFC 2328 中以及在 1999 年 12 月题为 “0SPF for IPv6” 的RFC 2740中描述的);和/或其它上部协议层逻辑。抽象层(由主模块130提供)通过模拟具有总共T个端口的逻辑集群交换机来提 供到上部协议层的逻辑端口接口,其中,T等于集群交换机中的相对应个体交换机的N个端 口之和。因此,例如,如果集群交换机中存在四个个体交换机,则T = 4*N。通过利用主模块 130来提供抽象层,即使在物理上可能必须通过两条或更多条物理链路到达特定端口,上部 协议层逻辑也将逻辑的T个端口中的每个端口看作仅一跳远。通过在主模块130中提供抽象层,上部协议层逻辑不必关注集群交换机的下层的 下部协议层基础设施。相反,上部协议层逻辑与主模块130交互,以使得上部协议层逻辑不 必关心下部协议层基础设施的细节。图2示出了集群交换机100的交换机A、B、C和D中的控制平面和数据平面。如图 所示,控制平面和数据平面流量通过各自的个体交换机对之间的隧道传输。每个个体交换 机具有单个控制平面(标为“CP”)和三个数据平面(标为“DP1”、“DP2”和“DP3”)。三个数据平面DP1、DP2和DP3用于通过相对应的隧道与各个交换机进行的数据通信。虽然在每 个个体交换机中示出了三个数据平面,然而,注意,在替代实现方式中,仅一个数据平面被 提供用于通过多个隧道的通信。图3示出了作为特定个体交换机200中的保活机制的一部分的组件,个体交换机 200可以是图1A-1C和图2所示的交换机A、B、C和D中的任一个。交换机200具有控制平 面202和数据平面204。数据平面204具有输入/输出(I/O)中央处理单元(CPU) 206以及 分组处理器208。分组处理器208用于处理在交换机200与集群交换机中的其它个体交换 机之间传输的分组。I/O CPU 206针对交换机200与集群交换机中的另一个体交换机之间 的或者交换机与外部节点之间的通信执行普通I/O管理任务。在替代实现方式中,I/O CPU 206和分组处理器208可以组合成为单个处理器。控制平面202包括控制处理器203,并且存储了两个表类型1成员关系表210和 类型2成员关系表212。类型1成员关系表210维护与交换机200相连的可使用活动信道 列表,而类型2成员关系表212维护与交换机200相连的故障信道列表。I/O CPU 206和/或分组处理器208能够生成两种类型的保活分组指示特定信 道可使用的类型1分组;以及指示特定信道出故障的类型2分组。交换机200在每一保活 间隔生成这两种类型的分组。
利用数据平面204中的硬件复制逻辑(图3中的214、216),一个类型1保活分 组和两个类型2保活分组通过信道被发送。在图3的示例中,示出了三个信道218、220和 222。在本示例中,由于交换机200在某一预定义超时设定时段内未接收到来自对等交换机 的保活分组,因此认为信道220和222是故障信道。由于交换机200通过信道218从对等 交换机接收到了保活分组,因此,认为信道218为可使用信道。为了指示信道220、222的故 障,交换机200通过这些信道向其对等交换机发送类型2保活分组,以便实际上告知对等 交换机“我不能听见你”(即,交换机200在超时设定时段内未从对等交换机接收到保活分 组)。另一方面,类型1保活分组通过可使用信道218被发送以告知对等交换机“我可以听 见你”(即,交换机200已成功地从对等交换机接收到保活分组)。在交换机200与集群交换机中的每个其它对等交换机之间通过信道执行这样的 相同过程。通过故障信道发送类型2保活分组使得对等交换机能够意识到双向信道状态 (让对等交换机知道特定信道在第一方向出了故障,即使对等交换机通过该特定信道在相 反方向上成功地接收到了分组)。硬件复制逻辑214、216被设置来减小控制平面202中的软件的负荷。硬件复制逻 辑214、216能够在适当的时间发送适当的保活分组。如果任何特定分组的状态应当改变(从可使用变为故障或者反之亦然),则更新 224从数据平面202被发送给控制平面204以更新类型1和类型2成员关系表210、212。I/ 0 CPU 206和/或分组处理器208监视信道的状态,并且响应于检测到信道状态改变,而将 更新消息发送给控制平面202以修改信道状态。图4示出了连接到三个客户端300、302和304的集群交换机100。客户端300、302 和304是边缘交换机(边缘交换机X、边缘交换机Y和边缘交换机Z)。边缘交换机300、302 和304中的每个通过各自的聚合链路306、308、310 (或多链路干道)连接到集群交换机100 的个体交换机。每个聚合链路306、308、310因此在两个个体交换机之间分路。将边缘交换机X互连到集群交换机100的聚合链路306包括连接到交换机A的一链路构件306A,以及连接到交换机B的另一链路构件306B。类似地,将边缘交换机Y互连到集群交换机100的 聚合链路308包括连接到交换机C的一链路构件308A以及连接到交换机D的另一链路构 件308B。将边缘交换机Z互连到集群交换机100的聚合链路310包括连接到交换机B的一 链路构件310A以及连接到交换机C的另一链路构件310B。每条聚合链路306、308、310的 分路链路在集群交换机中的一条链路构件或个体交换机出故障的情况中被提供用于冗余。此外,如图4所示,广播分组310由边缘交换机X接收以用于广播到连接到集群交 换机100的其它客户端。虚线312、214、316、318、320和322表示广播分组310从边缘交换 机X经由集群交换机100到达边缘交换机Y和Z所采取的路径。如图4所示,广播分组310 被有效地洪泛到集群交换机100的每个个体交换机A-D,以确保广播分组310到达预期的接 收方。聚合链路306、308或310的每个链路构件具有链路ID (标识符)。因此,在聚合 链路306中,链路构件306A具有IDl,并且链路构件306B具有ID2。类似地,聚合链路308 具有被指派有IDl的链路构件308A以及被指派有ID2的链路构件308B ;并且聚合链路310 具有被指派有IDl的链路构件310A以及被指派有ID2的链路构件310B。当广播分组310穿越边缘交换机X和交换机A、B、C、D时,在每个交换机处执行分 组查找(利用查找表),以确定要采取相对应聚合链路中的哪个链路构件。可以以各种不同 方式中的一种来组织查找表。例如,查找表可以将MAC(媒体访问控制)地址或MAC地址的 某部分映射到链路构件ID。或者,查找表可以将所接收分组中的IP地址的至少一部分映射 到链路构件ID。在图4所示的示例中,分组查找结果是具有ID2的链路构件通过每个交换机来传 输广播分组310。因此,在接收到广播分组310时,边缘交换机X执行分组查找以确定广播 分组310将沿着链路构件306B被转发至集群交换机100。广播分组310由集群交换机100 中的交换机B接收到。交换机B随后执行分组查找(在324处)以确定具有ID2的链路构 件将用于转发广播分组310。交换机B所执行的另一任务是将广播分组310转发至集群交换机100中的每个其 它个体交换机通过路径314转发至交换机A,通过路径316转发至交换机C,并且通过路径 318转发至交换机D。注意,图4所示的路径314、316和318是用来发送相对应的广播分组 310的虚拟信道。由于没有客户端(除了源发边缘交换机X以外)连接到交换机A,因此, 由交换机A接收到的广播分组310被丢弃。换言之,交换机A不向另一客户端转发广播分 组 310。由交换机D通过路径318接收到的广播分组310通过在交换机D中执行另外的分 组查找而被处理。该分组查找指示广播分组310将通过链路构件308B (具有ID2)被转发 至边缘交换机Y (图4中的路径320)。类似地,交换机C也利用交换机C中的查找表来执行 分组查找,其指示广播分组310将沿着链路构件310B被转发至边缘交换机Z (图4中的路 径 322)。为了避免环路,集群交换机100的个体交换机对分组的转发遵循下面的规则。首 先,通过虚拟隧道接收到的流量不被转发至“双归属(dual-homed)”链路。双归属链路是 将多个个体交换机互连到共同客户端(例如将交换机A和B互连到客户端300的链路构件306A、306B)的链路。因此,例如,在图4中,由交换机A通过虚拟信道从交换机B接收到的 广播分组不会被交换机A转发至链路构件306A,链路构件306A被认为是与用来接收原始广 播分组310的链路构件306B相对应的双归属链路。换言之,交换机A抑制通过双归属链路 转发分组。第二规则是对于通过虚拟隧道接收到的流量,个体交换机不通过任何其它虚拟隧 道来转发该流量。因此,例如,在图4中,由交换机C接收到的广播分组不会被交换机C通 过虚拟隧道转发至交换机A或交换机D。类似地,交换机D不会将从交换机B接收到的广播 分组通过虚拟隧道转发至其它交换机(A和C)。类似地,交换机A也不会将接收到的广播分 组通过虚拟隧道转发至交换机C和D。图5示出了集群交换机100的端口。在图5的示例中,交换机A包括主控制平面 400 (其对应于图1A-1C中的主模块130)。如图5所示,总共T个端口与集群交换机100相 关联,其中,这T个端口被平分在四个交换机A、B、C和D间。端口 I-N与交换机A相关联, 端口 N+1至M(其中,M等于2*N)与交换机B相关联,端口 M+1至S (其中S等于3*N)与交 换机C相关联,并且端口 S+1至T (其中,T等于4*N)与交换机D相关联。此外,如图5所示,逻辑接口索引被定义用于集群交换机100,其中,逻辑接口索引 包括标识了集群交换机100的T个端口的索引号1-T。逻辑接口索引由主控制平面400提 供给上层协议以模仿具有总共T个端口的逻辑集群交换机。与上层协议的逻辑相关联的状态机在所有T个端口中的最大编号的端口上执行。 因此,例如,如果所有端口都是生成树组的成员,则生成树逻辑可以在所有T个端口上操作。集群交换机100中的所有交换机的操作受到主控制平面400的控制。控制平面分 组通过上述的虚拟信道在集群成员(交换机A-D)之间传输。图6图示出了交换机A、B、C和D各自的控制平面500、502、504和506的示例布 置。交换机A的控制平面500是主控制平面,而交换机B中的控制平面502是备援控制平 面,如果主控制平面500因任何原因出现故障,则其可以接替主控制平面500的功能。如图6所示,主控制平面500包括用于上层协议的逻辑508。可以利用可在交换机 A的一个或多个处理器上执行的各种软件模块来实现该逻辑。主控制平面500还包括高可用性基础设施510,其通过消息传输/虚拟隧道基础 设施512与备援控制平面502中的消息传输/虚拟隧道基础设施516和高可用性基础设施 514通信。高可用性基础设施510和514被设计为使得能够检测交换机A中的主控制平面 500的故障,响应于检测到该故障,备援控制平面502可以接替作为主控制平面。如图6中的双向虚线箭头所示的,特定交换机的控制平面中的每个消息传输/虚 拟隧道基础设施能够与对等交换机的相对应消息传输/虚拟隧道基础设施通信。
主控制平面500的上部协议层逻辑还包括平台基础设施509,其包括用于管理交 换机A的逻辑。每个其它交换机也包括相对应的平台基础设施。然而,注意,控制平面504 和506不包括作为主控制平面500和备援控制平面502的一部分的其它上层协议逻辑。这 是由于如下事实到上部协议层逻辑的控制接口由主控制平面500来呈现(或者如果控制 平面500出故障则由控制平面512呈现)。每个控制平面还包括执行对流量的传输进行调度的调度基础设施。每个控制平面还包括操作系统。图6所示的层是为了示例的目的而提供的。在其它实现方式中,可以提供其它的
或替代层。图7图示出了由集群交换机执行的过程的流程图。在集群交换机的启动期间,根 据特定配置来定义信道(在602处)。该配置提供了对信道的静态定义,以使得信道的特定 路由在集群交换机的操作期间不改变。接下来,在每个虚 拟隧道中,根据每个虚拟隧道中的 信道的预定义优先级顺序来选择活动信道(在604处)。在操作期间,执行完整性检查过程(在606处)以判断虚拟隧道中的一条或多条 信道是否出现了故障。注意,完整性检查由每个个体交换机独立地执行。响应于检测到故障信道,个体交换机再次根据针对相应虚拟隧道的信道的预定义 优先级顺序来选择替代信道作为活动信道(在608处)。在以后的某个时间点处,交换机可 能检测到先前出故障的信道已恢复为可使用状态。响应于检测到已恢复的信道,根据预定 义优先级顺序将虚拟隧道中的较高优先级的信道(其可以是已恢复的信道)选为活动信道 (在610处)。在一些实现方式中,故障恢复之后的复原信道不立即被激活,而是在一宽缓 时段(grace period)之后被激活以允许集群交换机中的反弹抑制(de-bounce)。这避免了 如下情形其中,先前出故障的信道被暂时恢复,结果很快再次出现故障。在一宽缓时段之 后才执行恢复增强了集群交换机的效率并提高了稳定性。根据一些实施例,在个体交换机之间通过隧道传输的分组可以使用MAC中的 MAC(MAC-in-MAC)头部格式。这种分组称为MAC_in_MAC分组。MAC表示媒体访问控制。为 内部MAC源地址和目的地地址以及外部MAC源地址和目的地地址提供的MAC-in-MAC的使 用允许将不同域的MAC地址彼此隔离。针对每个交换机的转发平面(或端口)指派一个MAC目的地地址。此外,针对每 个服务质量(QoS)、每个控制平面CPU (例如,图3中的控制处理器203)指派一个MAC目的 地地址。不同控制平面分组基于QoS可以使用不同的MAC目的地地址。还可以存在针对每 个控制平面消息总线(其用于系统中的应用到应用消息传输)而指派的不同MAC目的地地址。参考图8,下面描述各种类型的数据/控制通信的示例。在图8中示出了集群交换 机的三个交换机800、802和804。在第一示例中,控制/例外分组(exception packet)由 交换机800 (入口交换机)接收(806处)。控制/例外分组被封装在MAC-in-MAC分组中, 该MAC-in-MAC分组将通过中间交换机802被隧道传输到交换机804中的目的地,其中,该 目的地是交换机804中的控制平面CPU 808。控制/例外分组806由入口交换机800中的入口端口 810接收,其将控制/例外 分组806转发至交换机800中的交换结构812。由交换结构812接收到的控制/例外分组 具有将交换机804中的远程控制平面CPU 808标识为目的地的外部MAC目的地地址。控制 /例外分组还具有作为入口交换机800中的本地数据平面端口的外部MAC源地址。交换结 构812将控制/例外分组转发至出口隧道814,出口隧道814将分组转发至中间交换机802 中的入口隧道816。基于外部MAC目的地地址,入口隧道816使得控制/例外分组通过中间 交换机802的交换结构818和出口隧道820被转发至目的地交换机804。控制/例外分组经由目的地交换机804的入口隧道822被接收到,其检测到外部MAC目的地地址与交换机804中的MAC地址相匹配。入口隧道822随后通过交换机804的 交换结构824来转发该控制/例外分组以供控制平面CPU 808接收。在另一示例中,图示出了数据分组转发。在此示例中,数据分组由入口交换机800 的入口端口 810接收(826处)。入口端口 810将数据分组转发至交换结构812。数据分组 也是MAC-in-MAC分组,其具有作为交换机804处的远程数据平面端口的地址的外部MAC目 的地地址,以及作为本地数据平面端口的地址的外部MAC源地址。数据分组由交换结构812 通过与控制/例外分组相同的路径转发到交换机804。在交换机804处,入口隧道822检测 到外部MAC目的地地址在交换机804外面。结果,入口隧道822从分组中剥掉外部MAC地址,并且将修改后的数据分组转发到交换结构824以供转发至交换机804的出口端口 828, 以使得该数据分组可以被发送到适当的远程目的地。又一示例涉及交换机间消息转发,其中,交换机800中的CPU 830发送意欲为另一 交换机(在本示例中为交换机804)所用的消息。交换机间消息也是MAC-in-MAC分组。交 换机间消息通过交换机800中的机架区域网络(CAN,chassis area network)832被转发, CAN 832将交换机间消息转发到交换结构812以供通过与上述相同的路径传输到目的地交 换机804。在目的地交换机804处,入口隧道822判定交换机间消息要被转发至交换机804 的CAN 834。CAN 834将交换机间消息转发至交换机804中的目的地CPU 836。根据一些实施例,在每个交换机内,可以执行两层目的地查找,其中,两层目的地 查找是在本地与远程目的地之间。相对于远程目的地,集群交换机更喜欢本地目的地。如 果分组被路由到远程目的地,则该分组被转发到远程交换机,其中,远程交换机可以将该分 组路由到远程交换机的本地目的地。这避免了使远程交换机寻找远程位置的可能的循环。对于被路由的单播分组,入口交换机对分组执行路由,并且出口交换机为分组执 行桥接。例如,入口交换机可以在分组通过隧道被发送之前执行对MAC源地址和MAC目的 地地址和/或生存时间(TTL)字段的改变。对于被路由的多播分组,入口交换机执行桥接,而出口交换机针对出口交换机上 的接收端口执行路由。跨越隧道被发送的内部多播分组不变。对MAC源地址或TTL字段的 任何改变在出口交换机中执行。在执行两层目的地查找时,交换机检查分组的目的地地址以查看是否指定了本地 目的地。如果是,则修改分组的头部以用于路由到本地端口。另一方面,如果未能找到本地 目的地,则交换机选择远程位置,并且修改头部以使得分组通过隧道被路由到集群交换机 中的另一交换机。在一些实施例中,可以提供三种类型的心跳机制(heartbeatmechanism)。第一类 型的心跳机制在上面结合跨越隧道被交换以指示隧道的信道是否为活动的保活消息进行 了描述。另外,另一心跳机制包括内部交换结构心跳机制,其监视交换机内的内部端口以 指示交换结构中的哪些端口是可使用的哪些是不可使用的。另一类型的心跳机制是外部心跳机制,其通过交换机的外部端口被发送以判断哪 些外部端口是可使用的哪些是不可使用的。内部交换结构的内部端口的状态以及交换机的外部端口的状态可以通过集群交 换机的隧道被传输,以使得其它交换机可以得知这些状态。维护这种状态信息使得能够进行更快速的故障恢复。各个软件模块(例如,控制平面和/或数据平面的上层逻辑和其它层)的指令被载入以供在相应的处理器上执行。处理器包括微处理器、微控制器、处理器模块或子系统 (包括一个或多个微处理器或微控制器),或者其它控制或计算设备。“处理器”可以指单个 组件或多个组件。(软件的)数据和指令存储在各个存储设备中,各个存储设备被实现为一个或多 个机器可读或计算机可读存储介质。存储介质包括不同形式的存储器,包括半导体存储设 备,例如动态或静态随机存取存储器(DRAM或SRAM),可擦除可编程只读存储器(EPROM)、电 可擦除可编程只读存储器(EEPROM)以及闪存;诸如固定盘、软盘和可移除盘之类的磁盘; 包括磁带在内的其它磁介质;以及诸如光盘(CD)或数字视频盘(DVD)之类的光介质。虽然相对于有限数目的实施例公开了一些实施例,然而,本领域技术人员将会理 解根据这些实施例的多种修改和变体。当这些修改和变体落在本发明的真实精神和范围内 时,意图使所附权利要求覆盖这些修改和变体。
权利要求
一种在通信网络中使用的方法,包括在具有多个个体交换机的虚拟集群交换机中设置抽象层;通过所述集群交换机的个体交换机之间的虚拟隧道来传输控制流量和数据流量,其中,每个虚拟隧道具有一活动信道以及至少一个备用信道;以及由所述抽象层来向所述集群交换机中的上层逻辑呈现具有一组端口的接口,其中,所述一组端口包括个体交换机的端口的集合。
2.如权利要求1所述的方法,其中,通过每个虚拟信道传输控制流量和数据流量发生 在相对应的活动信道上而非相对应的至少一个备用信道上。
3.如权利要求1所述的方法,还包括对所述虚拟隧道中的一个特定虚拟隧道的活动信道执行完整性检查,以检测所述活动 信道的故障;以及响应于检测到该特定虚拟隧道中的活动信道的故障,执行在该特定虚拟隧道的至少一 个备用信道上的控制流量和数据流量的进一步传输。
4.如权利要求1所述的方法,还包括为每个虚拟隧道中的信道定义预定义优先级顺序。
5.如权利要求4所述的方法,还包括根据所述预定义优先级顺序选择所述虚拟隧道 之中的一个特定虚拟隧道中的信道中的第一信道作为所述活动信道。
6.如权利要求5所述的方法,还包括响应于检测到所述第一信道的故障,根据所述预定义优先级顺序来选择所述特定虚拟 隧道中的信道中的第二信道作为所述活动信道。
7.如权利要求6所述的方法,还包括检测所述第一信道的恢复;以及响应于检测到恢复,重新选择所述第一信道作为所述活动信道,并且将所述第二信道 指定为备用信道。
8.如权利要求1所述的方法,其中,设置抽象层包括在所述个体交换机中的一个个体 交换机中设置主模块,所述主模块管理所述集群交换机中的多个个体交换机。
9.如权利要求1所述的方法,还包括通过各个聚合链路将所述集群交换机连接到多 个客户端,其中,每个聚合链路包括连接到所述集群交换机的不同个体交换机的至少两个 链路构件。
10.如权利要求9所述的方法,还包括在所述集群交换机中的个体交换机之中的第一个体交换机处接收来自客户端之中的 第一客户端的流量;以及将所述流量从所述第一个体交换机转发到所述集群交换机中的每个其它个体交换机。
11.如权利要求9所述的方法,还包括在所述集群交换机中的个体交换机之中的一个特定个体交换机处接收来自客户端之 中的第一客户端的流量;在所述特定个体交换机处判断所述特定个体交换机是否被耦合到目标客户端;以及响应于判定所述特定交换机耦合到所述目标客户端,所述特定个体交换机执行表查 找,以识别是否通过将所述特定个体交换机耦合到所述目标客户端的聚合链路中的链路构件来转发接收到的流量。
12.如权利要求1所述的方法,还包括通过所述虚拟隧道传输MAC-in-MAC分组。
13.如权利要求1所述的方法,还包括在每个所述个体交换机中执行两层目的地查找。
14.如权利要求1所述的方法,还包括通过所述虚拟隧道传输内部交换结构端口状态和外部端口状态中的至少一者。
15.一种第一交换机,包括控制平面,所述控制平面是用于包括多个个体交换机的集群交换机的主控制平面,所 述多个个体交换机包括所述第一交换机;一个或多个数据平面,所述一个或多个数据平面连接到各自的虚拟隧道以使所述集群 交换机中的个体交换机对等,其中,每个虚拟隧道具有用来传输流量的一活动信道,以及不 用来传输流量的至少一个备用信道,其中,所述主控制平面定义了一组端口,这组端口包括所述个体交换机的端口的集合。
16.如权利要求15所述的第一交换机,其中,所述主控制平面为作为所述个体交换机 的端口的组合的所述一组端口定义索引,其中,所述第一交换机还包括上部协议层逻辑,所述索引被呈现给所述上部协议层逻辑以允许所述上部协议层逻辑 访问所述一组端口。
17.如权利要求16所述的第一交换机,其中,包括用于所述虚拟隧道的基础设施的所 述第一交换机的下部协议层基础设施是对所述上部协议层逻辑隐藏的。
18.如权利要求15所述的第一交换机,其中,所述集群交换机的个体交换机通过物理 链路互连,并且其中,所述虚拟隧道之中的一个特定虚拟隧道具有被定义在第一数目的物 理链路上的第一信道,以及被定义在第二不同数目的物理链路上的第二信道。
19.一种包含至少一个计算机可读存储介质的制品,所述至少一个计算机可读存储介 质包含指令,当所述指令被执行时使得集群交换机中的至少一个处理器通过将所述集群交换机的个体交换机互连的虚拟隧道来传输流量,其中,每个虚拟隧 道具有一活动信道以及至少一个备用信道;在所述个体交换机之中的一个个体交换机中定义主控制平面,以管理所述集群交换机 中的每个个体交换机;以及检测所述虚拟隧道中的信道的故障,以使得能够响应于检测到的故障来选择替代信道。
20.如权利要求19所述的制品,其中,当所述指令被执行时使得所述主控制平面的至 少一个处理器向上部协议层逻辑呈现一组端口,其中,所述一组端口是所述个体交换机的 端口的集合。
全文摘要
在通信网络中,提供了集群交换机,其中,该集群交换机具有多个个体交换机。在该集群交换机中设置了抽象层,以使得具有一组端口的接口被提供给集群交换机中的上层逻辑。该组端口包括个体交换机的端口的集合。控制流量和数据流量通过集群交换机的个体交换机之间的虚拟隧道传输,其中,每个虚拟隧道具有一活动信道和至少一个备用信道。
文档编号H04L12/56GK101822006SQ200880110447
公开日2010年9月1日 申请日期2008年7月24日 优先权日2007年10月3日
发明者汉密第·阿萨珀尔, 罗伯特·拉里维尔, 罗格·勒普, 莫尼诗·俄纽姆拉, 马丁·L·怀特 申请人:阿瓦雅公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1