CN101202695A - 在以太网交换机系统中协商堆栈链路速度的系统和方法 - Google Patents
在以太网交换机系统中协商堆栈链路速度的系统和方法 Download PDFInfo
- Publication number
- CN101202695A CN101202695A CNA2006101422523A CN200610142252A CN101202695A CN 101202695 A CN101202695 A CN 101202695A CN A2006101422523 A CNA2006101422523 A CN A2006101422523A CN 200610142252 A CN200610142252 A CN 200610142252A CN 101202695 A CN101202695 A CN 101202695A
- Authority
- CN
- China
- Prior art keywords
- stack
- port
- sse
- selected bandwidth
- bandwidth rates
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于对在第一堆栈交换机元件(SSE)的堆栈端口和第二SSE的堆栈端口之间所部署的堆栈链路的速度进行协商的系统和方法,其中该第一和第二SSE在可堆栈以太网交换机(SES)中紧邻。在一个实施例中,为各个SSE提供适当逻辑和/或处理结构,用于在SES初始化期间自动地协商堆栈链路的速度,由此当确定第一和第二SSE的堆栈端口能够支持所选带宽速率时,可以将堆栈链路的速度增加到大于默认速率的所选带宽速率。
Description
相关申请的交叉引用
该非临时申请要求基于2005年10月11日以Subash Bohra和Vincent Magret的名义提交的、题为“AUTO DUAL-SPEEDSTACKING SYSTEM(自动双速堆栈系统)”、申请号为60/725,449的在先美国临时专利申请的优先权,据此将其通过参考引入。
本申请公开的主题涉及在以下共同拥有共同未决的专利申请中所公开的主题:(i)以Ignatius D.Santoso,Roberto Henrique Jacob DaSilva,Timothy Hicks和Vincent Magret的名义提交,题为“STACKMANAGER PROTOCOL WITH AUTOMATIC SETUP MECHANISM(具有自动建立机制的堆栈管理协议)”,阿尔卡特档案号为134196,据此将其通过参考引入。
技术领域
本发明一般地涉及一种通信网络。更具体地,但不作为任何的限制,本发明针对一种用于在可堆栈以太网交换机中协商堆栈链路速度的系统和方法。
背景技术
在基于以太网技术的数据通信网络中,为了在许多节点之间传送信息的分组,使用包括多层交换机和路由器的分组交换机来有效地耦合这些节点。不依靠共享底板而可以独立的交换机具有多个端口和用于将在入口端口处接收的入站分组导向合适的出口端口的内部交换架构。在现有技术的一些实现中,通过将交换机的所选端口(即,堆栈端口)有效地链接在一起而将多个独立交换机链接,从而创建可作为单个交换实体而工作的可堆栈交换机系统,由此提高交换容量。这种系统有时被称作堆栈交换机系统,其在用户驻地,例如企业,通常一起使用。
在典型的实现中,多个堆栈交换机经由在每个交换机(也称作元件)上存在的一对指定的堆栈端口而有效地互连。堆栈交换机的系统通常经由堆栈链路而串行耦合,并且该系统的拓扑通常特征在于称作环的闭合环路,或这里称作链的交换机的开放链(strand)。通过使用有助于分组的有效传送和交换的堆栈交换机标识符,经由堆栈端口将这些分组传送到适当的堆栈交换机元件,每个堆栈交换机都适于在其自身的数据端口与其它堆栈交换机的数据端口之间执行交换。
除了具有只支持一个速度的容量的元件之外,某些堆栈体系结构还会涉及可以支持双堆栈速度的可堆栈交换机元件。当将这两种类型的交换机元件结合起来时,有必要对元件进行适当配置,以确保不出现公知的“stack split(堆栈分离)”的状况。而且,在堆栈系统中,在逐段的基础上使堆栈链路速度最大化时,适当的配置是绝对必要的。
发明内容
本公开的实施例针对一种系统、方法和相关的计算机可读介质,用于对在第一堆栈交换机元件(SSE)的堆栈端口和第二SSE的堆栈端口之间所部署的堆栈链路的速度进行协商,其中该第一和第二SSE在可堆栈以太网交换机(SES)中紧邻。在一个实施例中,对各个SSE提供适当逻辑和/或处理结构,用于在SES初始化期间自动协商堆栈链路的速度,由此当确定第一和第二SSE的堆栈端口能够支持所选带宽速率时,可以将堆栈链路的速度增加到大于默认速率的所选带宽速率。
一个实施例针对一种用于对在第一SSE的堆栈端口和第二SSE的堆栈端口之间所部署的堆栈链路的速度进行协商的方法,该第一SSE和第二SSE在具有至少两个SSE的SES中紧邻。所要求保护的该方法包括:通过第一SSE的堆栈端口检测与该堆栈链路相关联的上行链路状态;当确定第一SSE的堆栈端口可在所选带宽速率下操作时,将所选带宽速率告知给第二SSE的堆栈端口;当确定第二SSE的堆栈端口可在所选带宽速率下操作时,对第一SSE的堆栈端口生成确认;以及响应该确认,第一SSE的堆栈端口和第二SSE的堆栈端口转变到可与所选带宽速率兼容的操作模式中,用于在它们之间所部署的堆栈链路上传送业务。
另一实施例针对一种用于对在第一SSE的堆栈端口和第二SSE的堆栈端口之间所部署的堆栈链路的速度进行协商的系统,该第一SSE和第二SSE在至少具有两个SSE的SES中紧邻。所要求保护的该系统包括:用于确定第一SSE的堆栈端口可在所选带宽速率下操作的装置;用于将所选带宽速率告知给第二SSE的堆栈端口的装置;用于确定第二SSE的堆栈端口可在所选带宽速率下操作并用于对第一SSE的堆栈端口生成确认的装置;以及响应该确认用于分别将第一SSE和第二SSE的堆栈端口转变到与所选带宽速率兼容的操作模式中以在它们之间所部署的堆栈链路上传送业务的装置。明显地,这里所公开的各种装置可以以硬件、软件、固件或它们的任何组合来具体实施。
又一实施例针对一种可堆栈以太网交换机或SES,包括:具有堆栈端口的第一SSE;具有堆栈端口的第二SSE,该第一和第二SSE紧邻,使得第一和第二SSE经由在堆栈端口之间所部署的堆栈链路而耦合;以及,用于在SES初始化期间对堆栈链路的速度进行自动协商的装置,由此当确定第一和第二SSE的堆栈端口能够支持所选带宽速率时,可以将堆栈链路的速度增加到大于默认速率的所选带宽速率。
在又一实施例中,本公开针对具有指令组的计算机可读介质,当在与SES相关联的处理器环境中执行指令组时该指令组进行以下处理:确定SES的第一SSE的堆栈端口可在所选带宽速率下操作;将所选带宽速率告知给SES的第二SSE的堆栈端口,该第一和第二SSE紧邻,使得第一和第二SSE经由在堆栈端口之间所部署的堆栈链路而耦合;确定第二SSE的堆栈端口可在所选带宽速率下操作并对第一SSE的堆栈端口生成确认;以及响应该确认,分别将第一SSE和第二SSE的堆栈端口转变到与所选带宽速率兼容的操作模式中,用于在它们之间所部署的堆栈链路上传送业务。
附图说明
通过结合附图考虑以下详细描述,可以更完整地理解本发明,其中:
图1A是具有可堆栈以太网交换机(SES)的一般以太网环境;
图1B是具有拥有双速容量的堆栈元件的示例性SES,其中可以实施本发明的实施例;
图2是根据一个实施例的可用于协商堆栈链接速度的以太网插槽/元件的框图;
图3是根据一个实施例的涉及用于在SES中的两个堆栈元件之间协商堆栈链接速度的方案的流程图;
图4是根据本公开的一个实施例的涉及单速堆栈元件/端口的状态流程图;以及
图5A-5D描绘了根据本公开的一个实施例的涉及双速堆栈元件/端口的各种状态流程图,用于协商与之相关联的堆栈链路的速度。
具体实施方式
现在将参考如何可以最好地进行和利用实施例的各种例子来描述本发明的实施例。在说明书和附图中使用相同的参考标号标识相同或相应的部分,其中各种元件不一定按比例绘出。现在具体参考图1A,图中示出其中可以实施本发明的具有可堆栈以太网交换机(SES)102的一般示例性以太网环境100。首先,应认识到该以太网环境100是任何已知或迄今未知的以太网实施的示例,其中将一个或多个以太网节点在通信网络中互连在一起,这些节点具有熟知的根据开放系统互连(OSI)模型的层2或层2/3功能,或是任何其它高层功能。因而,例如,以太网环境100可以是作为企业级网络而操作的局域网(LAN),用户驻地网等等。作为进一步的说明,网络环境100可以具体实施为双宿主(dual-home)或多宿主(multi-home)应用。在又一实施例中,以太网环境100可以包括城域以太网或接入网实现。
多个以太网交换机元件106-1至106-N(此后也可不同地称作“插槽”、“堆栈交换机”或“堆栈交换机元件”)形成SES 102,该SES 102作为耦合到以太网环境100的核心交换机104上的可扩展网络节点而操作。就配置而言,插槽106-1至106-N可以组成具有例如链形拓扑或环形拓扑的任一合适拓扑的“堆栈”,其中间利用堆栈链路105互连。每个插槽或交换机元件可以支持多个以太网端口,以促进插槽与其它网络节点和/或设备以及核心交换机104之间的网络连通性,在一种实现中核心交换机104可以是另一以太网交换机。因而,为了说明本公开,可以将堆栈交换机元件的以太网端口分成三类:(i)一个或多个核心交换机(“CS”)端口,可用于经由各个核心交换机连接将每个堆栈交换机元件耦合到核心交换机104;(ii)一个或多个堆栈端口,可用于实现经由多个插槽间堆栈链路段互连多个交换机元件106-1至106-N的堆栈链路105;以及(iii)一个或多个端口,可用于支持对与其它网络元件、节点和/或设备的连通性。如图1A中所示,参考标号110-1至110-N指分别对应N个交换机元件的CS端口,由此多个交换机元件106-1至106-N经由核心交换机连接107-1至107-N而耦合到核心交换机104。关于就每个交换机元件示出一对堆栈端口,例如用于交换机元件106-1的端口108-A(1)和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可操作为多层交换机,其适于在OSI参考模型所定义的层2(数据链路层)和层3(网络层),利用协议数据单元(PDU),优选为利用帧和分组,来执行交换和路由操作,尽管它们可能还执行层4-7的交换操作。此外,每个交换机元件通常能够起到独立网桥、交换机或路由器的作用。然而在提供有集成堆栈管理协议(ISMP)的情况下,堆栈交换机元件106-1至106-N协作来仿真单个交换节点比仅集合独立操作下的单独的交换机元件更有利。所产生的SES节点102优选地适于提供具有增强的的误差容限和用户便利的可扩展网络容量。特别地,SES 102可以动态地扩展以合并附加的堆栈交换机元件,检测非操作堆栈交换机以及堆栈链路,动态地在非操作堆栈交换机周围路由(在一些情况下,通过非操作堆栈交换机路由),以及自动配置堆栈交换机元件以产生非冗余标识方案以便于堆栈交换机间的转发操作。
图1B描绘了其中可以实施本发明实施例的具有拥有双速容量的堆栈元件的更为具体的示例性SES 150。特别地,图示了五个插槽:插槽1152-1至插槽5152-5,其中两个插槽提供有单速堆栈端口以及三个插槽提供有双速堆栈端口。每个插槽在一个方向上经由部署在该插槽与其紧邻之间的堆栈链路耦合到该紧邻,并在另一方向上经由部署在该插槽与其紧邻之间的堆栈链路耦合到该紧邻。在所示的五插槽SES 150中,相应地形成五个堆栈链路:在插槽1和插槽2之间部署的堆栈链路154-1,在插槽2和插槽3之间部署的堆栈链路154-2,在插槽3和插槽4之间部署的堆栈链路154-3,在插槽4和插槽5之间部署的堆栈链路154-4,以及在插槽5和插槽1之间部署的堆栈链路154-5。根据堆栈端口容量,可以在较高速度下驱动在一对堆栈交换机元件(SSE)之间的具体链路,由此在SES 150中,可以在逐段的基础上使传输带宽最大化。
举例来说,插槽2和插槽5均提供有一对单速堆栈端口P1和P2,例如可以每秒10吉比特(Gbps)操作,而插槽1、插槽3和插槽4均提供有一对双速堆栈端口P1和P2,例如可以每秒10Gbps或12Gbps操作。因而,只有堆栈链路154-3可以在12Gbps的较高带宽速率下操作,因为插槽/SSE 3 152-3的P1和插槽/SSE 4 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=1,2,3,.....,M来接收入口数据业务以及传送出口数据业务。出于本实施例的目的,多个端口202(i)中的每个端口可以被视为适于接收入口数据和传送出口数据的双工端口。此外,端口202(i)是以上参考图1所描述的包括堆栈端口以及CS端口的三种类型的以太网端口的示例。因而,可以想象,如果特定端口202(i)可作为堆栈端口来操作,则该端口既可以传输用户数据业务又可以传输控制管理业务,并且在一些实现中,SSE 200可以支持多于两个的堆栈端口。
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)802.3和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 HenriqueJacob Da Silva,Timothy Hicks和Vincent Magret的名义提交的、题为“STACK MANAGER PROTOCOL WITH AUTOMATIC SETUPMECHANISM(具有自动建立机制的堆栈管理协议)”、阿尔卡特档案号为134196的共同拥有共同未决的专利申请中找到,在上文中通过参考将其引入。
具体参考其中涉及双速堆栈端口的堆栈端口速度管理和自动速度协商功能,SSE 200的负责逻辑和处理结构优选地可以包括与具体的双速或多速堆栈端口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)带来成功的上行链路状态,这将被通知给堆栈系统。另一方面,协商失败和/或协商没有带来速度增加则使堆栈端口回到默认速度,随后这被通知给堆栈管理器。
本领域技术人员根据此处的参考将认识到,可以通过在不同阶段利用计时器机制在鲁棒实现中实施前述协议,使得:(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),因此堆栈端口可操作用于以默认速率与其相邻元件进行通信。
基于以上讨论,应认识到本公开的实施例有利地允许将支持不同速度的堆栈交换机元件进行混合。在可以得到较高速度的堆栈链路的情况下,在这种堆栈链路上操作的用户设备可以最大化其吞吐量。此外,由于不需要人为干预来手动地配置各个元件上的速度,所以减少了不正确配置具体元件的几率。
相信通过上述详细描述,本发明的操作和构造将显而易见。尽管所示出和所描述的本发明的示例性实施例特征为优选,但应容易理解到,在不脱离以下权利要求书中所阐明的本发明的范围的情况下,可对本发明进行各种改变和修改。
Claims (10)
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)且所述默认速度包括10Gbps。
7.如权利要求1所述的方法,进一步包括:响应于生成所述确认,所述第一和第二SSE的所述堆栈端口应用握手协议。
8.一种具有指令组的计算机可读介质,当在与可堆栈以太网交换机(SES)相关联的处理器环境中执行所述指令组时该指令组进行以下处理:
确定所述SES的第一堆栈交换机元件(SSE)的堆栈端口可在所选带宽速率下操作;
将所述所选带宽速率告知给所述SES的第二SSE的堆栈端口,所述第一和第二SSE紧邻,使得所述第一和第二SSE经由在所述堆栈端口之间所部署的堆栈链路而耦合;
确定所述第二SSE的所述堆栈端口可在所述所选带宽速率下操作并向所述第一SSE的所述堆栈端口生成确认;以及
响应于所述确认,将所述第一SSE的所述堆栈端口和所述第二SSE的所述堆栈端口分别转变到可与所述所选带宽速率兼容的操作模式中,用于在它们之间所部署的所述堆栈链路上传送业务。
9.如权利要求8所述的计算机可读介质,进一步包括:用于当确定所述第二SSE的所述堆栈端口不能在所述所选带宽速率下操作时,向所述第一SSE的所述堆栈端口生成否定确认的指令。
10.如权利要求9所述的计算机可读介质,进一步包括:用于响应于所述否定确认而将所述第一和第二SSE的所述堆栈端口转变到可与和所述堆栈链路相关联的默认速度兼容的操作模式中的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72544905P | 2005-10-11 | 2005-10-11 | |
US60/725,449 | 2005-10-11 | ||
US11/530,099 | 2006-09-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101202695A true CN101202695A (zh) | 2008-06-18 |
Family
ID=39517669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101422523A Pending CN101202695A (zh) | 2005-10-11 | 2006-10-10 | 在以太网交换机系统中协商堆栈链路速度的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101202695A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104856A (zh) * | 2017-05-08 | 2017-08-29 | 北京北信源软件股份有限公司 | 一种hub设备识别方法及装置 |
-
2006
- 2006-10-10 CN CNA2006101422523A patent/CN101202695A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107104856A (zh) * | 2017-05-08 | 2017-08-29 | 北京北信源软件股份有限公司 | 一种hub设备识别方法及装置 |
CN107104856B (zh) * | 2017-05-08 | 2019-07-30 | 北京北信源软件股份有限公司 | 一种hub设备识别方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1775894A1 (en) | System and method for negotiating stack link speed in a stackable ethernet switch system | |
US7672227B2 (en) | Loop prevention system and method in a stackable ethernet switch system | |
US6856591B1 (en) | Method and system for high reliability cluster management | |
EP1655906B1 (en) | Stack switch manager protocol with temporary suspension of supervision | |
EP1677468B1 (en) | Retention of a stack address during primary master failover | |
EP1655904A1 (en) | Stack switch manager protocol with pass-through mode | |
EP1655905A1 (en) | Stack switch manager protocol with automatic assignment of stack switch identifiers | |
US7864818B2 (en) | Multinode symmetric load sharing | |
CN102577277A (zh) | 提供合并多点链路的逻辑聚合点对点数据链路 | |
CN102377666A (zh) | 具有平均速率和突发速率控制的基于泛洪的路由协议 | |
JP5302559B2 (ja) | 転送切替型ネットワーク装置及びフレーム転送方法 | |
JP2006295938A (ja) | ネットワーク型ルーティング機構 | |
US6697872B1 (en) | Distributed packet processing using encapsulation and decapsulation chains | |
WO2014127629A1 (zh) | 报文转发系统、方法及装置 | |
WO2013141191A1 (ja) | 制御装置、通信システム、ノード制御方法及びプログラム | |
WO2009089714A1 (fr) | Procédé et dispositif pour une interface multiréseau construisant un réseau automatiquement | |
CA2310907C (en) | Creating a spanning tree of a network including clusters | |
JP2002354001A (ja) | 通信装置及び通信システム並びに通信制御方法 | |
CN101202695A (zh) | 在以太网交换机系统中协商堆栈链路速度的系统和方法 | |
JP5931842B2 (ja) | スイッチ装置及びスイッチ装置制御方法 | |
Cisco | Bridging and IBM Networking Command Reference Cisco IOS Release 11.3 | |
Cisco | Configuring STUN and BSTUN | |
Cisco | Configuring STUN and BSTUN | |
Cisco | Configuring STUN and BSTUN | |
Cisco | Configuring STUN and BSTUN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080618 |