专利名称:在以太网交换机系统中协商堆栈链路速度的系统和方法
技术领域:
本发明一般地涉及一种通信网络。更具体地,但不作为任何的限 制,本发明针对一种用于在可堆栈以太网交换机中协商堆栈链路速度 的系统和方法。
背景技术:
在基于以太网技术的数据通信网络中,为了在许多节点之间传送 信息的分组,使用包括多层交换机和路由器的分组交换机来有效地耦 合这些节点。不依靠共享底板而可以独立的交换机具有多个端口和用 于将在入口端口处接收的入站分组导向合适的出口端口的内部交换 架构。在现有技术的一些实现中,通过将交换机的所选端口 (即,堆 栈端口 )有效地链接在一起而将多个独立交换机链接,从而创建可作为单个交换实体而工作的可堆栈交换机系统,由此提高交换容量。这 种系统有时被称作堆栈交换机系统,其在用户驻地,例如企业,通常 一起使用。
在典型的实现中,多个堆栈交换机经由在每个交换机(也称作元 件)上存在的一对指定的堆栈端口而有效地互连。堆栈交换机的系统 通常经由堆栈链路而串行耦合,并且该系统的拓朴通常特征在于称作环的闭合环路,或这里称作链的交换机的开放链(strand)。通过使 用有助于分组的有效传送和交换的堆栈交换机标识符,经由堆栈端口 将这些分组传送到适当的堆栈交换机元件,每个堆栈交换机都适于在 其自身的数据端口与其它堆栈交换机的数据端口之间执行交换。
除了具有只支持一个速度的容量的元件之外,某些堆栈体系结构 还会涉及可以支持双堆栈速度的可堆栈交换机元件。当将这两种类型 的交换机元件结合起来时,有必要对元件进行适当配置,以确保不出 现公知的"stack split (堆栈分离)"的状况。而且,在堆栈系统中,在 逐段的基础上使堆栈链路速度最大化时,适当的配置是绝对必要的。
发明内容
本公开的实施例针对一种系统、方法和相关的计算机可读介质, 用于对在第一堆栈交换机元件(SSE)的堆栈端口和第二 SSE的堆栈 端口之间所部署的堆栈链路的速度进行协商,其中该第一和第二 SSE 在可堆栈以太网交换机(SES)中紧邻。在一个实施例中,对各个SSE 提供适当逻辑和/或处理结构,用于在SES初始化期间自动协商堆栈 链路的速度,由此当确定第一和第二 SSE的堆栈端口能够支持所选带 宽速率时,可以将堆栈链路的速度增加到大于默认速率的所选带宽速 率。
一个实施例针对一种用于对在第一 SSE的堆栈端口和第二 SSE 的堆栈端口之间所部署的堆栈链路的速度进行协商的方法,该第一 SSE和第二 SSE在具有至少两个SSE的SES中紧邻。所要求保护的 该方法包括通过第一 SSE的堆栈端口检测与该堆栈链路相关联的上行链路状态;当确定第一 SSE的堆栈端口可在所选带宽速率下"l喿作 时,将所选带宽速率告知给第二SSE的堆栈端口;当确定第二SSE 的堆栈端口可在所选带宽速率下操作时,对第一 SSE的堆栈端口生成 确认;以及响应该确认,第一SSE的堆栈端口和第二SSE的堆栈端 口转变到可与所选带宽速率兼容的操作模式中,用于在它们之间所部 署的堆栈链路上传送业务。
另一实施例针对一种用于对在第一 SSE的堆栈端口和第二 SSE 的堆栈端口之间所部署的堆栈链路的速度进行协商的系统,该第一 SSE和第二SSE在至少具有两个SSE的SES中紧邻。所要求保护的 该系统包括用于确定第一 SSE的堆栈端口可在所选带宽速率下操作 的装置;用于将所选带宽速率告知给第二SSE的堆栈端口的装置;用 于确定第二 SSE的堆栈端口可在所选带宽速率下操作并用于对第一 SSE的堆栈端口生成确认的装置;以及响应该确认用于分别将第一 SSE和第二 SSE的堆栈端口转变到与所选带宽速率兼容的操作模式 中以在它们之间所部署的堆栈链路上传送业务的装置。明显地,这里 所公开的各种装置可以以硬件、软件、固件或它们的任何组合来具体 实施。
又一实施例针对一种可堆栈以太网交换4几或SES,包括具有堆 栈端口的第一SSE;具有堆栈端口的第二 SSE,该第一和第二SSE紧 邻,使得第一和第二SSE经由在堆栈端口之间所部署的堆栈链路而耦合;以及,用于在SES初始化期间对堆栈链路的速度进行自动协商的装置:由此当确定第一和第二 SSE的堆栈端口能够^持所选带宽速率 时,可以将堆栈链路的速度增加到大于默认速率的所选带宽速率。
在又一实施例中,本公开针对具有指令组的计算机可读介质,当 在与SES相关联的处理器环境中执行指令组时该指令组进行以下处 理确定SES的第一 SSE的堆栈端口可在所选带宽速率下操作;将 所选带宽速率告知给SES的第二 SSE的堆栈端口 ,该第一和第二 SSE 紧邻,使得第 一和第二 SSE经由在堆栈端口之间所部署的堆栈链路而 耦合;确定第二 SSE的堆栈端口可在所选带宽速率下操作并对第一SSE的堆栈端口生成确i人;以及响应该确i^,分别将第一SSE和第二 SSE的堆栈端口转变到与所选带宽速率兼容的操作模式中,用于在它 们之间所部署的堆栈链路上传送业务。
通过结合附图考虑以下详细描述,可以更完整地理解本发明,其中
图1A是具有可堆栈以太网交换机(SES)的一般以太网环境;
图1B是具有拥有双速容量的堆栈元件的示例性SES,其中可以实施本发明的实施例;
图2是根据 一 个实施例的可用于协商堆栈链接速度的以太网插槽
/元件的框图3是根据一个实施例的涉及用于在SES中的两个堆栈元件之间 协商堆栈链接速度的方案的流程图4是根据本公开的一个实施例的涉及单速堆栈元件/端口的状 态流程图;以及
图5A-5D描绘了根据本公开的一个实施例的涉及双速堆栈元件/ 端口的各种状态流程图,用于协商与之相关联的堆栈链路的速度。
具体实施例方式
现在将参考如何可以最好地进行和利用实施例的各种例子来描 述本发明的实施例。在说明书和附图中使用相同的参考标号标识相同 或相应的部分,其中各种元件不一定按比例绘出。现在具体参考图 1A,图中示出其中可以实施本发明的具有可堆栈以太网交换机(SES ) 102的一般示例性以太网环境100。首先,应认识到该以太网环境100 是任何已知或迄今未知的以太网实施的示例,其中将一个或多个以太 网节点在通信网络中互连在一起,这些节点具有熟知的根据开放系统 互连(OSI)模型的层2或层2/3功能,或是任何其它高层功能。因 而,例如,以太网环境100可以是作为企业级网络而操作的局域网(LAN),用户马主地网等等。作为进一步的i兌明,网络环境100可以 具体实施为双宿主(dual-home)或多宿主(multi-home)应用。在又 一实施例中,以太网环境IOO可以包括城域以太网或接入网实现。
多个以太网交换机元件106-1至106-N(此后也可不同地称作"插 槽"、"堆栈交换机"或"堆栈交换机元件")形成SES 102,该SES102 作为耦合到以太网环境100的核心交换机104上的可扩展网络节点而 操作。就配置而言,插槽106-1至106-N可以组成具有例如链形拓朴 或环形拓朴的任一合适拓朴的"堆栈",其中间利用堆栈链路105互连。 每个插槽或交换机元件可以支持多个以太网端口 ,以促进插槽与其它 网络节点和/或设备以及核心交换机104之间的网络连通性,在一种实 现中核心交换机104可以是另一以太网交换机。因而,为了说明本公 开,可以将堆栈交换机元件的以太网端口分成三类(i)一个或多个 核心交换机("CS")端口,可用于经由各个核心交换机连接将每个堆 栈交换机元件耦合到核心交换机104; (ii) —个或多个堆栈端口, 可用于实现经由多个插槽间堆栈链路段互连多个交换机元件106-1至 106-N的堆栈链路105;以及(iii) 一个或多个端口,可用于支持对 与其它网络元件、节点和/或设备的连通性。如图1A中所示,参考标 号110-1至IIO-N指分别对应N个交换机元件的CS端口 ,由此多个 交换机元件106-1至106-N经由核心交换机连接107-1至107-N而耦 合到核心交换机104。关于就每个交换机元件示出一对堆栈端口,例 如用于交换机元件106-1的端口 108-A(l)和108-B(1),用于交换机元 件106-2的端口 108-A(2)和108-B(2)等,以耦合到可以双绞线缆或光 纤线缆配置实现的各个堆栈链路。如以下将详细描述的那样,交换机 元件的堆栈端口可以提供有多速容量,即,可为了数据传送和/或接收 而在可变带宽速率下操作的能力,这引起了以下情况SES可以包括 具有单速堆栈端口的交换机元件以及具有双速或多速堆栈端口的交 换才几元件。
此外,每个交换机元件还提供有大量网络端口 ,例如用于交换机 元件106-1的端口 112-K(1),用于交换机元件106-2的端口 112-K(2)
等。本领域技术人员将认识到,尽管将每个交换机元件示例为具有相 同数目的端口,但并非在任何具体实现中都需要这样。另外,单个交 换机元件的堆栈端口可以具有不同容量,即, 一个堆栈端口是单速端 口而另 一堆栈端口是双速端口 。
如以上间接提到的那样,在优选实施例中,堆栈交换机元件106-1 至106-N可操作为多层交换机,其适于在0SI参考模型所定义的层2 (数据链路层)和层3 (网络层),利用协议数据单元(PDU),优 选为利用帧和分组,来执行交换和路由操作,尽管它们可能还执行层 4-7的交换操作。此外,每个交换机元件通常能够起到独立网桥、交 换机或路由器的作用。然而在提供有集成堆栈管理协议(ISMP)的 情况下,堆栈交换机元件106-1至106-N协作来仿真单个交换节点比 仅集合独立操作下的单独的交换机元件更有利。所产生的SES节点 102优选地适于提供具有增强的的误差容限和用户便利的可扩展网络 容量。特别地,SES 102可以动态地扩展以合并附加的堆栈交换4几元 件,检测非操作堆栈交换机以及堆栈链路,动态地在非操作堆栈交换 机周围路由(在一些情况下,通过非操作堆栈交换机路由),以及自 动配置堆栈交换机元件以产生非冗余标识方案以便于堆栈交换机间 的转发操作。
图1B描绘了其中可以实施本发明实施例的具有拥有双速容量的 堆栈元件的更为具体的示例性SES 150。特别地,图示了五个插槽 插槽1 152-1至插槽5 152-5,其中两个插槽提供有单速堆栈端口以及 三个插槽提供有双速堆栈端口。每个插槽在一个方向上经由部署在该 插槽与其紧邻之间的堆栈链路耦合到该紧邻,并在另 一方向上经由部 署在该插槽与其紧邻之间的堆栈链路耦合到该紧邻。在所示的五插槽 SES150中,相应地形成五个堆栈链路在插槽1和插槽2之间部署 的堆栈链路154-1,在插槽2和插槽3之间部署的堆栈链路154-2,在 插槽3和插槽4之间部署的堆栈链路154-3,在插槽4和插槽5之间 部署的堆栈链路154-4,以及在插槽5和插槽1之间部署的堆栈链路 154-5。根据堆栈端口容量,可以在较高速度下驱动在一对堆栈交换机元件(SSE)之间的具体链路,由此在SES150中,可以在逐段的 基础上使传输带宽最大化。
举例来说,插槽2和插槽5均提供有一对单速堆栈端口 Pl和P2, 例如可以每秒10吉比特(Gbps)操作,而插槽1、插槽3和插槽4 均提供有一对双速堆栈端口 Pl和P2,例如可以每秒10 Gbps或 12Gbps操作。因而,只有堆栈链路154-3可以在12Gbps的较高带宽 速率下操作,因为插槽/SSE3 152-3的Pl和插槽/SSE4 152-4的P2 能够支持较高带宽速率。另一方面,其余的四个堆栈链路可以在 10Gbps的较低速率下操作。如以下将要详细描述的那样,为每个SSE 提供适当的逻辑和/或处理结构,用于在诸如SES 150之类的混合元件 的可堆栈交换机的初始化配置期间,针对与该SSE相关联的两个堆栈 链路来协商可应用的堆栈链路速度。
图2描绘了根据 一 个实施例可用于协商堆栈链路速度的以太网插 槽/SSE 200的框图。本领域技术人员将认识到SSE 200是上面参照 SES实施例102和150所述的插槽/SSE的示例。SSE 200优选地包括 一个或多个网络接口模块(NIM) 204 (i)、 一个或多个交换控制器 (即,网络处理器)206、和管理模块220,优选地它们一起协作以经 由多个以太网端口 202 (i) , i=l, 2, 3, ....., M来接收入口数据业 务以及传送出口数据业务。出于本实施例的目的,多个端口 202 (i) 中的每个端口可以被视为适于接收入口数据和传送出口数据的双工 端口。此外,端口 202 (i)是以上参考图1所描述的包括堆栈端口以 及CS端口的三种类型的以太网端口的示例。因而,可以想象,如果 特定端口 202 (i)可作为堆栈端口来操作,则该端口既可以传输用户 数据业务又可以传输控制管理业务,并且在一些实现中,SSE200可 以支持多于两个的堆栈端口。
NIM元件204 (i)优选地包括一个或多个物理层接口和媒体接 入控制(MAC)接口,其适于经由合适的有线或无线网络通信链路(未 示出)来交换例如以太网帧和IP分组的PDU。与可作为堆栈端口来 才喿作的端口相关联的NIM是,例如,标准以太网NIM,适于与各种可兼容节点交换PDU、常规数据业务以及依赖于堆栈配置模式与其它
堆栈交换机进行堆栈间通信。入口 PDU借助于一个或多个入口数据
总线205A从多个NIM递送到网络处理器/控制器206。类似地,出口 PDU经由一个或多个出口数据总线205B从控制器206传送到多个 NIM。
在一种实现中,管理模块220 —般包括用于保持和实施业务策略 的策略管理器224。优选地,由策略管理器224所实施的策略部分地 基于例如得自源学习操作的层2和/或层3寻址信息、从其它路由设备 所接收的路由信息以及通过由网络管理者使用例如简单网络管理协 议(SNMP)消息226经由配置管理器222所上载的过滤规则。可以 使得自源学习、其它网络节点和管理者的业务策略被网络处理器206 所执行的路由引擎230所使用,并通过转发表254来共同表示。
另外,管理模块220包括控制模块210,用于实现以下更为详细 描述的堆栈端口速度管理和自动速度协商功能。控制模块210优选地 包括端口状态监视模块212,其适于使用例如Keep-Alive (保持激活) 信号的控制业务信号来监视堆栈端口的操作状态,并识别耦合到交换 机元件200的堆栈端口的相邻堆栈交换机的存在。在优选实施例中的 控制模块210还可以包括堆栈协议管理器214,其适于参与对于确定
每个堆栈交换机的管理责任、处理用于监视其它交换机元件状态的管 理消息以及在必要时用作初级主交换机(PMS)或次级主交换机 (SMS )的选择,其中该初级主交换机(PMS )或次级主交换机(SMS )
的责任可包括向一个或多个堆栈交换机分配唯一元件标识符和向它 的网络处理器分配处理器标识符。另外,堆栈管理器214适于确定堆 栈交换机拓朴并处理在SES的堆栈交换机元件之间所交换的与拓朴 相关的消息。特别地,堆栈管理器214传送SES拓朴请求,将已知的 SES拓朴信息传送给其它堆栈交换机,并维护一个或多个本地拓朴 表。在某些实施例中,端口状态监视器212和堆栈管理器214的功能 还可以包括检测元件的缺失,附加元件的插入(造成陷阱或异常的生 成),元件从堆栈的移除,以及确定控制模块的内部操作状态。
同样,在优选实施例中的堆栈管理器214维护并更新一个或多个 堆栈交换机邻接表218,其优选为一个与每个堆栈端口相关联的表。 邻接表218是通过相关联的堆栈端口可到达的那些堆栈交换机的列 表。在一种实现中,在首先列出与端口紧邻的交换机元件的情况下, 顺次列举相邻的堆栈交换机。如前所述,每个元件可以提供有两个堆 栈端口。因而,交换机元件200的每个堆栈端口保持有单独的邻接表 218,其列出通过该堆栈端口可到达的所有相邻堆栈交换机。作为结 果,如果SES 102的拓朴是环形配置,则两个邻接表218具有相同的 相邻堆栈交换机列表,但顺序相反。
继续参考图2,网络处理器206能够但不限于如OSI参考模型中 所定义的层2和层3的交换操作。用于可操作地将端口 202 ( 1 )至 202 (M)耦合到各个有线和/或无线通信链路的层2协议的例子包括 电气与电子工程师学会(IEEE) 8013和IEEE 802.11标准。类似地, 层3的协议的例子包括在因特网工程任务组(IETF)请求注解(RFC) 791中所定义的网际协议(IP)版本4和在IETF RFC 1883中所定义 的IP版本6。
网络处理器206优选地包括路由引擎230和队列管理器240。在 一种示例性实现中,路由引擎230包括分类器232,其接收来自数据 总线205A的入口 PDU,检查PDU的一个或多个字段,使用内容可 寻址存储器(CAM) 233将PDU分类到多个流的一个中,并从在存 储器中所存储的转发表254中检索转发信息。从转发表254所检索的 转发信息优选地包括但不限于用于指定为准备用于出口的特定PDU 所需的那些转发操作的流标识符,其中该流标识符可以包括下一跳地 址和业务等级(CoS)或业务质量(QoS)规定。转发处理器234接 收具有相关联的转发信息的入口 PDU并在传送到合适的一个或多个 出口端口前执行一个或多个转发操作。转发操作优选地包括但不限 于用于对数据进行重新封装的报头(header)转换,用于将一个或 多个VLAN标记附加到PDU的VLAN标记压入(push ),用于从PDU 移除一个或多个VLAN标记的VLAN标记弹出(pop),用于保留网
络资源的QoS管理,用于监视用户业务的记帐和结帐,多协议标签交 换(MPLS)管理,PDU的选择性过滤,接入控制,包括地址解析协 议(ARP)控制的高层学习等。
在由转发处理器234处理后,将PDU传递并存储在队列管理器 240中,直到带宽可用以将PDU传送到合适的出口端口。特别地,出 口 PDU緩冲在緩冲器242的一个或多个优先级队列中,直到由调度 器244将它们经由数据总线205B传送到出口端口 。关于SSE 200实 施例的其它细节可以在以下以Ignatius D. Santoso, Roberto Henrique Jacob Da Silva, Timothy Hicks和Vincent Magret的名义提交的、题为 "STACK MANAGER PROTOCOL WITH AUTOMATIC SETUP MECHANISM (具有自动建立机制的堆栈管理协议)"、阿尔卡特档 案号为134196的共同拥有共同未决的专利申请中找到,在上文中通 过参考将其引入。
具体参考其中涉及双速堆栈端口的堆栈端口速度管理和自动速度协商功能,SSE200的负责逻辑和处理结构优选地可以包括与具体 的双速或多速堆栈端口 202 (i)相关联的适当硬件、软件和/或固件, 用于自动地协商在系统初始化期间所耦合到的堆栈链路的速度。 一般 地,对SES中紧邻的第一 SSE的堆栈端口和第二 SSE的堆栈端口之 间所部署的堆栈链路的速度进行协商涉及以下功能通过例如第一 SSE的多个SSE中之一的堆栈端口来检测与堆栈链路相关联的上行 链路状态;在确定第一 SSE的堆栈端口可在所选带宽速率下操作时, 将所选带宽速率告知给第二 SSE的堆栈端口 ;在确定第二 SSE的堆 栈端口可在所选带宽速率下操作时,对第一 SSE的堆栈端口生成确 认;以及响应该确认,第一 SSE和第二 SSE的堆栈端口转变到可与 所选带宽速率兼容的操作模式中,用于在它们之间所部署的堆栈链路 上传送和/或接收业务。如下面将描述的那样,在初始系统配置期间优 选地引入基于任何两个SSE之间的确认握手的故障-安全自动速度协 商协议,以便根据以上所述的 一般处理流程来在它们之间选择可应用 的带宽。
图3是根据一个实施例的涉及用于在SES中的两个堆栈元件之间 协商堆栈链路速度的方案300的流程图。依据在通电时的初始配置, 在两个堆栈元件之间的堆栈链路达到具有默认速度的上行链路状态。 如前面间接提到的,连接到堆栈链路的堆栈端口中的一个端口检测上 行链路状态,因此与检测堆栈端口相关联的适当逻辑/处理功能开始自 动速度协商过程(框302)。尽管存在两个堆栈端口可以同时检测到 上行链路状态的数学几率,但由于两个硬件事件一般是相互随机的, 所以对于所有的实际应用而言这并非代表性情况。然而在一个实施例 中,通过具有双速容量的堆栈端口的检测可以被预配置为具有优先 级。通过检测堆栈端口的逻辑,可以对它可在两个或更多带宽速率下 操作进行确定,其中上述带宽速率包括优选大于默认速率的所选带宽 速率(框304)。当识别出所选带宽速率时,检测堆栈端口经由适当 控制消息传送将所选带宽速率信息告知给相邻堆栈端口,即,经由堆 栈链路所耦合到的第二SSE的堆栈端口 (框306)。响应于所告知的 带宽信息,与第二 SSE的堆栈端口相关联的合适逻辑/处理功能可操 作为确定其是否能够在所告知的带宽速率下操作(框308)。如果可 以,则在第一和第二 SSE的堆栈端口之间应用(engage)基于确认和 /或计时器的握手协议(框310)。此后,第一和第二 SSE的堆栈端口 转变到指示可与所选带宽速率兼容的操作模式的状态中(框312)。 随后向两个SSE的各个堆栈管理器通知用于对连接两个元件的堆栈 链路进行操作的所协商的带宽速率(框316)。
另 一方面,如果确定第二 SSE的堆栈端口不能操作在所选带宽速 率下,则对第一 SSE的堆栈端口生成否定确认,因而两个堆栈端口都 保持在指示可与默认速度兼容的操作模式的状态中(框314)。此后, 堆栈端口将默认带宽状态通知给在正常过程中的各个堆栈管理器(框316)。
因而,在前述实施例的一种实现中,尽管堆栈链路在堆栈元件上 达到了默认速度(例如,10Gbps),但向包括各个堆栈管理器的堆栈 系统通知链路状态可以延迟到完成带宽协商过程为止。两个堆栈元件之间的成功协商(即,两个堆栈端口可将它们的速度提高到所选带宽速率,例如12Gbps)带来成功的上行链路状态,这将被通知给堆栈 系统。另一方面,协商失败和/或协商没有带来速度增加则使堆栈端口 回到默认速度,随后这被通知给堆栈管理器。
本领域技术人员根据此处的参考将认识到,可以通过在不同阶f: 利用计时器机制在鲁棒实现中实施前述协议,使得(i)在超时之前 只进行了预定数目的速度协商尝试(也称作速度轮换尝试);以及(ii) 在堆栈链路的两端之间的计时握手将确保这两端(即堆栈端口)在切 换到所协商带宽状态前以锁步的方式移动。这些过程可以借助于状态 流程图来解释为,堆栈端口 (单速或双速)在适当状态间转变以实现对较高速度的协调切换。
现在参考图4,其中描绘的是根据本公开的一个实施例的涉及单 速堆栈端口的状态流程处理400。如图所示,单速堆栈端口最初设置 在端口模式(PortMode) INIT状态402。关于从其所耦合的堆栈链路 接收可以是下行链路或上行链路消息的链路状态改变 (LinkStatusChange)(框404 ),单速堆栈端口相应地转变到适当状 态中。在下行链路消息的情况下,链路状态(LinkStatus)消息被转 发到堆栈协议管理器(框406),且随后单速堆栈端口返回到端口模 式INIT状态(框402)。在上行链路消息的情况下,堆栈端口也可操 作为将适当的链路状态消息传送给堆栈协议(框410)。此外,当单 速堆栈端口乂人其相邻元件接收到START消息时(框408),由于其 不能支持除默认速度以外的带宽,所以向其相邻元件发送否定确认或 NACK(框412)。此后,单速堆栈端口返回到此前的端口模式INIT 状态(框402)。
图5A-5D描绘了根据本公开一个实施例的涉及双速堆栈端口的 用于协商与之相关联的堆栈链路速度的各种嵌套状态流程处理。状态 流程处理500A表示第一阶段的处理,其引起双速堆栈端口从初始端 口模式INIT状态502转变到端口模式START状态514。在一种实现 中,双速端口的带宽可以由用户进行配置,例如在手动的基础上进行
配置。因而,当确定已经配置了端口速度时(框504),双速堆栈端口可操作为从所耦合的堆栈链路接收链路状态改变消息。响应于接收 合适的链路状态改变消息,将链路状态消息转发到堆栈协议管理器(框508 )。随后,双速堆栈端口返回到端口模式INIT状态(框502 )。
如果在用户还没有配置端口速度时双速堆栈端口接收到链路状 态改变消息(框510),则发生另一组状态转变。响应于接收到由判 决框512所确定的下行链路消息,双速堆栈端口将链路状态发送到堆 栈协议管理器并将链路速度设置在默认速率(例如,10Gbps)(框 516)。此后,双速堆栈端口返回到端口模式INIT状态(框502)。 另一方面,响应于接收到上行链路消息,双速堆栈端口转变到端口模 式START状态(框514)。
图5B中所描述的状态流程处理500B表示了第二阶段的处理, 其涉及关于端口模式START状态(框514)的转变。如果此时从堆 栈链路接收到下行链路消息,则双速堆栈端口可操作为返回到端口模 式INIT状态(框502)。如果从相邻堆栈端口接收到START消息(框 518),则双速堆栈端口可才喿作为通过传送确认或ACKSTART进行响 应(框520)。此后,双速堆栈端口回到端口才莫式START,直到发生 进一步的事件(框514)。在另一转变路径中,双速堆栈端口可操作 为独自从端口模式START状态(框502)启动握手过程。当向相邻 端口发送START消息时(框524),启动计时器机制(框526 ),因 而可以得到三条流程路径。如果从其相邻元件接收到否定确认(NACK)(框534),则停止计时器(框536)并将链路状态消息传 送给堆栈协议管理器(框538 )。此后,双速堆栈端口回到端口模式 INIT,直到发生进一步的事件(框502)。从启动计时器开始的第二 流程路径涉及确定计时器已到期(即,超时)(框540)且端口模式 没有变化,即START (框542 ),由此保持START状态(框514 )。 在第三流程路径中,双速堆栈端口可操作为从相邻元件接收肯定确认 或ACKSTART (框528 ),由此停止计时器(框530 )并将该端口转 变到端口模式ACKSTART状态(框532)。
图5C中所描述的状态流程处理500C表示第三阶段的处理,其 涉及关于端口模式ACKSTART状态(框532)的转变,其中示例了 三个可选的流程路径。如前面那样,如果此时从堆栈链路接收到下行 链路消息,则双速堆栈端口简单地回到端口才莫式INIT状态(框502 )。 当/^相邻堆栈端口 (即,远程端口 )接收到START消息时(框518), 双速堆栈端口通过传送确认或ACKSTART进行响应(框520 ),指 示两个端口都能够操作在所选带宽速率下。此后,双速堆栈端口回到 端口模式START,直到发生进一步的事件(框514)。
当确定相邻端口处在端口模式ACKSTART状态中时(框544 ), 双速堆栈端口将ACK消息发送到相邻元件(框546),优选地以约 10-500ms的等待周期以便传播最新的消息。此后,双速堆栈端口转变 到端口才莫式ACK状态(才匡548)。如果远程端口 (即,相邻端口) 不处在端口模式ACKSTART状态(框544 ),则双速堆栈端口将 ACKSTART消息发送到相邻元件(框550),并启动计时器(框552 )。 如果从相邻元件接收到ACK (框554 ),则停止计数器(框556 )且 随后双速堆栈端口进入端口才莫式ACK状态(框548 )。否则,当计 时器到期时(框558 ),将端口模式设置在如框560和532所示的 ACKSTART 。
图5D中所描述的状态流程处理500D表示第四阶段的处理,其 涉及切换到所协商的带宽速率,其中示例了关于端口模式ACK状态 (框548 )的各种转变。首先,将链路速度改变到所选带宽速率(优 选地,大于默认速度的一个速度)(框562)。此后以预定到期周期 来启动计时器机制(框564和566)。如果计时器没有到期,则当从 堆栈链路接收到上行链路消息时(框568 )(以确保在两个相邻元件 之间的物理连接没有丢失或其它损害(compromise)),将链路状态 消息传送给堆栈协议管理器(框570)。然后停止计时器(框572) 且使双速堆栈端口转变到端口模式INIT,准备以所协商的带宽速率与 其相邻元件进行通信(框502 )。
如果计时器已到期,则将链路速度改变到默认速率(即,10Gbps)(框574),由此监视第二计时周期(框576)。如果第二计时器也
到期,则停止该计时器(框578和580)且双速堆栈端口回到端口模
式INIT状态(框502),指示堆栈链路可能已丢失或其它损害。另一
方面,如果第二计时器没有到期(框578 )并相应地从堆栈链路接收
到上行链路状态(框582),则将链路状态消息传送给堆栈协议管理
器(框584)。然后,停止计时器(框586)且使双速堆栈端口转变
到端口模式INIT状态(框502 ),因此堆栈端口可操作用于以默认速 率与其相邻元件进行通信。
基于以上讨论,应认识到本公开的实施例有利地允许将支持不同 速度的堆栈交换机元件进行混合。在可以得到较高速度的堆栈链路的 情况下,在这种堆栈链路上操作的用户设备可以最大化其吞吐量。此 外,由于不需要人为干预来手动地配置各个元件上的速度,所以减少 了不正确配置具体元件的几率。
相信通过上述详细描述,本发明的操作和构造将显而易见。尽管 所示出和所描述的本发明的示例性实施例特征为优选,但应容易理解 到,在不脱离以下权利要求书中所阐明的本发明的范围的情况下,可 对本发明进行各种改变和修改。
权利要求
1.一种用于对在第一堆栈交换机元件(SSE)的堆栈端口和第二SSE的堆栈端口之间所部署的堆栈链路的速度进行协商的方法,所述第一SSE和第二SSE在具有至少两个SSE的可堆栈以太网交换机(SES)中紧邻,所述方法包括通过所述第一SSE的所述堆栈端口检测与所述堆栈链路相关联的上行链路状态;当确定所述第一SSE的所述堆栈端口可在所选带宽速率下操作时,将所述所选带宽速率告知给所述第二SSE的所述堆栈端口;当确定所述第二SSE的所述堆栈端口可在所述所选带宽速率下操作时,对所述第一SSE的所述堆栈端口生成确认;以及响应于所述确认,所述第一SSE的所述堆栈端口和所述第二SSE的所述堆栈端口转变到可与所述所选带宽速率兼容的操作模式中,用于在它们之间所部署的所述堆栈链路上传送业务。
2. 如权利要求1所述的方法,其中所述所选带宽速率大于与所 述堆栈链路相关联的默认速度。
3. 如权利要求1所述的方法,进一步包括如果确定所述第二 SSE的所述堆栈端口不能在所述所选带宽速率下操作,则向所述第一 SSE的所述堆栈端口生成否定确认。
4. 如权利要求3所述的方法,进一步包括响应于所述否定确 认,所述第一和第二 SSE的所述堆栈端口转变到可与和所述堆栈链路 相关联的默认速度兼容的操作模式中。
5. 如权利要求4所述的方法,其中所述默认速度低于所述所选 带宽速率。
6. 如权利要求5所述的方法,其中所述所选带宽速率包括每秒 12吉比特(Gbps)且所述默认速度包括lOGbps。
7. 如权利要求1所述的方法,进一步包括响应于生成所述确 认,所述第一和第二SSE的所述堆栈端口应用握手协议。
8. —种具有指令组的计算才几可读介质,当在与可堆栈以太网交 换机(SES)相关联的处理器环境中执行所述指令组时该指令组进行 以下处理确定所述SES的第一堆栈交换机元件(SSE)的堆栈端口可在所 选带宽速率下操作;将所述所选带宽速率告知给所述SES的第二 SSE的堆栈端口 ,所 述第一和第二 SSE紧邻,使得所述第一和第二 SSE经由在所述堆栈 端口之间所部署的堆栈链路而耦合;确定所述第二 SSE的所述堆栈端口可在所述所选带宽速率下操作 并向所述第一 SSE的所述堆栈端口生成确认;以及响应于所述确认,将所述第一 SSE的所述堆栈端口和所述第二 SSE的所述堆栈端口分别转变到可与所述所选带宽速率兼容的操作 模式中,用于在它们之间所部署的所述堆栈链路上传送业务。
9. 如权利要求8所述的计算机可读介质,进一步包括用于当 确定所述第二 SSE的所述堆栈端口不能在所述所选带宽速率下操作 时,向所述第一 SSE的所述堆栈端口生成否定确认的指令。
10. 如权利要求9所述的计算机可读介质,进一步包括用于响 应于所述否定确认而将所述第一和第二 SSE的所述堆栈端口转变到 可与和所述堆栈链路相关联的默认速度兼容的操作模式中的指令。
全文摘要
一种用于对在第一堆栈交换机元件(SSE)的堆栈端口和第二SSE的堆栈端口之间所部署的堆栈链路的速度进行协商的系统和方法,其中该第一和第二SSE在可堆栈以太网交换机(SES)中紧邻。在一个实施例中,为各个SSE提供适当逻辑和/或处理结构,用于在SES初始化期间自动地协商堆栈链路的速度,由此当确定第一和第二SSE的堆栈端口能够支持所选带宽速率时,可以将堆栈链路的速度增加到大于默认速率的所选带宽速率。
文档编号H04L12/56GK101202695SQ20061014225
公开日2008年6月18日 申请日期2006年10月10日 优先权日2005年10月11日
发明者文森特·马格雷特, 萨巴什·博拉 申请人:阿尔卡特公司