專利名稱:在以太網(wǎng)交換機系統(tǒng)中協(xié)商堆棧鏈路速度的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及一種通信網(wǎng)絡(luò)。更具體地,但不作為任何的限 制,本發(fā)明針對一種用于在可堆棧以太網(wǎng)交換機中協(xié)商堆棧鏈路速度 的系統(tǒng)和方法。
背景技術(shù):
在基于以太網(wǎng)技術(shù)的數(shù)據(jù)通信網(wǎng)絡(luò)中,為了在許多節(jié)點之間傳送 信息的分組,使用包括多層交換機和路由器的分組交換機來有效地耦 合這些節(jié)點。不依靠共享底板而可以獨立的交換機具有多個端口和用 于將在入口端口處接收的入站分組導(dǎo)向合適的出口端口的內(nèi)部交換 架構(gòu)。在現(xiàn)有技術(shù)的一些實現(xiàn)中,通過將交換機的所選端口 (即,堆 棧端口 )有效地鏈接在一起而將多個獨立交換機鏈接,從而創(chuàng)建可作為單個交換實體而工作的可堆棧交換機系統(tǒng),由此提高交換容量。這 種系統(tǒng)有時被稱作堆棧交換機系統(tǒng),其在用戶駐地,例如企業(yè),通常 一起使用。
在典型的實現(xiàn)中,多個堆棧交換機經(jīng)由在每個交換機(也稱作元 件)上存在的一對指定的堆棧端口而有效地互連。堆棧交換機的系統(tǒng) 通常經(jīng)由堆棧鏈路而串行耦合,并且該系統(tǒng)的拓樸通常特征在于稱作環(huán)的閉合環(huán)路,或這里稱作鏈的交換機的開放鏈(strand)。通過使 用有助于分組的有效傳送和交換的堆棧交換機標識符,經(jīng)由堆棧端口 將這些分組傳送到適當?shù)亩褩=粨Q機元件,每個堆棧交換機都適于在 其自身的數(shù)據(jù)端口與其它堆棧交換機的數(shù)據(jù)端口之間執(zhí)行交換。
除了具有只支持一個速度的容量的元件之外,某些堆棧體系結(jié)構(gòu) 還會涉及可以支持雙堆棧速度的可堆棧交換機元件。當將這兩種類型 的交換機元件結(jié)合起來時,有必要對元件進行適當配置,以確保不出 現(xiàn)公知的"stack split (堆棧分離)"的狀況。而且,在堆棧系統(tǒng)中,在 逐段的基礎(chǔ)上使堆棧鏈路速度最大化時,適當?shù)呐渲檬墙^對必要的。
發(fā)明內(nèi)容
本公開的實施例針對一種系統(tǒng)、方法和相關(guān)的計算機可讀介質(zhì), 用于對在第一堆棧交換機元件(SSE)的堆棧端口和第二 SSE的堆棧 端口之間所部署的堆棧鏈路的速度進行協(xié)商,其中該第一和第二 SSE 在可堆棧以太網(wǎng)交換機(SES)中緊鄰。在一個實施例中,對各個SSE 提供適當邏輯和/或處理結(jié)構(gòu),用于在SES初始化期間自動協(xié)商堆棧 鏈路的速度,由此當確定第一和第二 SSE的堆棧端口能夠支持所選帶 寬速率時,可以將堆棧鏈路的速度增加到大于默認速率的所選帶寬速 率。
一個實施例針對一種用于對在第一 SSE的堆棧端口和第二 SSE 的堆棧端口之間所部署的堆棧鏈路的速度進行協(xié)商的方法,該第一 SSE和第二 SSE在具有至少兩個SSE的SES中緊鄰。所要求保護的 該方法包括通過第一 SSE的堆棧端口檢測與該堆棧鏈路相關(guān)聯(lián)的上行鏈路狀態(tài);當確定第一 SSE的堆棧端口可在所選帶寬速率下"l喿作 時,將所選帶寬速率告知給第二SSE的堆棧端口;當確定第二SSE 的堆棧端口可在所選帶寬速率下操作時,對第一 SSE的堆棧端口生成 確認;以及響應(yīng)該確認,第一SSE的堆棧端口和第二SSE的堆棧端 口轉(zhuǎn)變到可與所選帶寬速率兼容的操作模式中,用于在它們之間所部 署的堆棧鏈路上傳送業(yè)務(wù)。
另一實施例針對一種用于對在第一 SSE的堆棧端口和第二 SSE 的堆棧端口之間所部署的堆棧鏈路的速度進行協(xié)商的系統(tǒng),該第一 SSE和第二SSE在至少具有兩個SSE的SES中緊鄰。所要求保護的 該系統(tǒng)包括用于確定第一 SSE的堆棧端口可在所選帶寬速率下操作 的裝置;用于將所選帶寬速率告知給第二SSE的堆棧端口的裝置;用 于確定第二 SSE的堆棧端口可在所選帶寬速率下操作并用于對第一 SSE的堆棧端口生成確認的裝置;以及響應(yīng)該確認用于分別將第一 SSE和第二 SSE的堆棧端口轉(zhuǎn)變到與所選帶寬速率兼容的操作模式 中以在它們之間所部署的堆棧鏈路上傳送業(yè)務(wù)的裝置。明顯地,這里 所公開的各種裝置可以以硬件、軟件、固件或它們的任何組合來具體 實施。
又一實施例針對一種可堆棧以太網(wǎng)交換4幾或SES,包括具有堆 棧端口的第一SSE;具有堆棧端口的第二 SSE,該第一和第二SSE緊 鄰,使得第一和第二SSE經(jīng)由在堆棧端口之間所部署的堆棧鏈路而耦合;以及,用于在SES初始化期間對堆棧鏈路的速度進行自動協(xié)商的裝置:由此當確定第一和第二 SSE的堆棧端口能夠^持所選帶寬速率 時,可以將堆棧鏈路的速度增加到大于默認速率的所選帶寬速率。
在又一實施例中,本公開針對具有指令組的計算機可讀介質(zhì),當 在與SES相關(guān)聯(lián)的處理器環(huán)境中執(zhí)行指令組時該指令組進行以下處 理確定SES的第一 SSE的堆棧端口可在所選帶寬速率下操作;將 所選帶寬速率告知給SES的第二 SSE的堆棧端口 ,該第一和第二 SSE 緊鄰,使得第 一和第二 SSE經(jīng)由在堆棧端口之間所部署的堆棧鏈路而 耦合;確定第二 SSE的堆棧端口可在所選帶寬速率下操作并對第一SSE的堆棧端口生成確i人;以及響應(yīng)該確i^,分別將第一SSE和第二 SSE的堆棧端口轉(zhuǎn)變到與所選帶寬速率兼容的操作模式中,用于在它 們之間所部署的堆棧鏈路上傳送業(yè)務(wù)。
通過結(jié)合附圖考慮以下詳細描述,可以更完整地理解本發(fā)明,其中
圖1A是具有可堆棧以太網(wǎng)交換機(SES)的一般以太網(wǎng)環(huán)境;
圖1B是具有擁有雙速容量的堆棧元件的示例性SES,其中可以實施本發(fā)明的實施例;
圖2是根據(jù) 一 個實施例的可用于協(xié)商堆棧鏈接速度的以太網(wǎng)插槽
/元件的框圖3是根據(jù)一個實施例的涉及用于在SES中的兩個堆棧元件之間 協(xié)商堆棧鏈接速度的方案的流程圖4是根據(jù)本公開的一個實施例的涉及單速堆棧元件/端口的狀 態(tài)流程圖;以及
圖5A-5D描繪了根據(jù)本公開的一個實施例的涉及雙速堆棧元件/ 端口的各種狀態(tài)流程圖,用于協(xié)商與之相關(guān)聯(lián)的堆棧鏈路的速度。
具體實施例方式
現(xiàn)在將參考如何可以最好地進行和利用實施例的各種例子來描 述本發(fā)明的實施例。在說明書和附圖中使用相同的參考標號標識相同 或相應(yīng)的部分,其中各種元件不一定按比例繪出?,F(xiàn)在具體參考圖 1A,圖中示出其中可以實施本發(fā)明的具有可堆棧以太網(wǎng)交換機(SES ) 102的一般示例性以太網(wǎng)環(huán)境100。首先,應(yīng)認識到該以太網(wǎng)環(huán)境100 是任何已知或迄今未知的以太網(wǎng)實施的示例,其中將一個或多個以太 網(wǎng)節(jié)點在通信網(wǎng)絡(luò)中互連在一起,這些節(jié)點具有熟知的根據(jù)開放系統(tǒng) 互連(OSI)模型的層2或?qū)?/3功能,或是任何其它高層功能。因 而,例如,以太網(wǎng)環(huán)境100可以是作為企業(yè)級網(wǎng)絡(luò)而操作的局域網(wǎng)(LAN),用戶馬主地網(wǎng)等等。作為進一步的i兌明,網(wǎng)絡(luò)環(huán)境100可以 具體實施為雙宿主(dual-home)或多宿主(multi-home)應(yīng)用。在又 一實施例中,以太網(wǎng)環(huán)境IOO可以包括城域以太網(wǎng)或接入網(wǎng)實現(xiàn)。
多個以太網(wǎng)交換機元件106-1至106-N(此后也可不同地稱作"插 槽"、"堆棧交換機"或"堆棧交換機元件")形成SES 102,該SES102 作為耦合到以太網(wǎng)環(huán)境100的核心交換機104上的可擴展網(wǎng)絡(luò)節(jié)點而 操作。就配置而言,插槽106-1至106-N可以組成具有例如鏈形拓樸 或環(huán)形拓樸的任一合適拓樸的"堆棧",其中間利用堆棧鏈路105互連。 每個插槽或交換機元件可以支持多個以太網(wǎng)端口 ,以促進插槽與其它 網(wǎng)絡(luò)節(jié)點和/或設(shè)備以及核心交換機104之間的網(wǎng)絡(luò)連通性,在一種實 現(xiàn)中核心交換機104可以是另一以太網(wǎng)交換機。因而,為了說明本公 開,可以將堆棧交換機元件的以太網(wǎng)端口分成三類(i)一個或多個 核心交換機("CS")端口,可用于經(jīng)由各個核心交換機連接將每個堆 棧交換機元件耦合到核心交換機104; (ii) —個或多個堆棧端口, 可用于實現(xiàn)經(jīng)由多個插槽間堆棧鏈路段互連多個交換機元件106-1至 106-N的堆棧鏈路105;以及(iii) 一個或多個端口,可用于支持對 與其它網(wǎng)絡(luò)元件、節(jié)點和/或設(shè)備的連通性。如圖1A中所示,參考標 號110-1至IIO-N指分別對應(yīng)N個交換機元件的CS端口 ,由此多個 交換機元件106-1至106-N經(jīng)由核心交換機連接107-1至107-N而耦 合到核心交換機104。關(guān)于就每個交換機元件示出一對堆棧端口,例 如用于交換機元件106-1的端口 108-A(l)和108-B(1),用于交換機元 件106-2的端口 108-A(2)和108-B(2)等,以耦合到可以雙絞線纜或光 纖線纜配置實現(xiàn)的各個堆棧鏈路。如以下將詳細描述的那樣,交換機 元件的堆棧端口可以提供有多速容量,即,可為了數(shù)據(jù)傳送和/或接收 而在可變帶寬速率下操作的能力,這引起了以下情況SES可以包括 具有單速堆棧端口的交換機元件以及具有雙速或多速堆棧端口的交 換才幾元件。
此外,每個交換機元件還提供有大量網(wǎng)絡(luò)端口 ,例如用于交換機 元件106-1的端口 112-K(1),用于交換機元件106-2的端口 112-K(2)
等。本領(lǐng)域技術(shù)人員將認識到,盡管將每個交換機元件示例為具有相 同數(shù)目的端口,但并非在任何具體實現(xiàn)中都需要這樣。另外,單個交 換機元件的堆棧端口可以具有不同容量,即, 一個堆棧端口是單速端 口而另 一堆棧端口是雙速端口 。
如以上間接提到的那樣,在優(yōu)選實施例中,堆棧交換機元件106-1 至106-N可操作為多層交換機,其適于在0SI參考模型所定義的層2 (數(shù)據(jù)鏈路層)和層3 (網(wǎng)絡(luò)層),利用協(xié)議數(shù)據(jù)單元(PDU),優(yōu) 選為利用幀和分組,來執(zhí)行交換和路由操作,盡管它們可能還執(zhí)行層 4-7的交換操作。此外,每個交換機元件通常能夠起到獨立網(wǎng)橋、交 換機或路由器的作用。然而在提供有集成堆棧管理協(xié)議(ISMP)的 情況下,堆棧交換機元件106-1至106-N協(xié)作來仿真單個交換節(jié)點比 僅集合獨立操作下的單獨的交換機元件更有利。所產(chǎn)生的SES節(jié)點 102優(yōu)選地適于提供具有增強的的誤差容限和用戶便利的可擴展網(wǎng)絡(luò) 容量。特別地,SES 102可以動態(tài)地擴展以合并附加的堆棧交換4幾元 件,檢測非操作堆棧交換機以及堆棧鏈路,動態(tài)地在非操作堆棧交換 機周圍路由(在一些情況下,通過非操作堆棧交換機路由),以及自 動配置堆棧交換機元件以產(chǎn)生非冗余標識方案以便于堆棧交換機間 的轉(zhuǎn)發(fā)操作。
圖1B描繪了其中可以實施本發(fā)明實施例的具有擁有雙速容量的 堆棧元件的更為具體的示例性SES 150。特別地,圖示了五個插槽 插槽1 152-1至插槽5 152-5,其中兩個插槽提供有單速堆棧端口以及 三個插槽提供有雙速堆棧端口。每個插槽在一個方向上經(jīng)由部署在該 插槽與其緊鄰之間的堆棧鏈路耦合到該緊鄰,并在另 一方向上經(jīng)由部 署在該插槽與其緊鄰之間的堆棧鏈路耦合到該緊鄰。在所示的五插槽 SES150中,相應(yīng)地形成五個堆棧鏈路在插槽1和插槽2之間部署 的堆棧鏈路154-1,在插槽2和插槽3之間部署的堆棧鏈路154-2,在 插槽3和插槽4之間部署的堆棧鏈路154-3,在插槽4和插槽5之間 部署的堆棧鏈路154-4,以及在插槽5和插槽1之間部署的堆棧鏈路 154-5。根據(jù)堆棧端口容量,可以在較高速度下驅(qū)動在一對堆棧交換機元件(SSE)之間的具體鏈路,由此在SES150中,可以在逐段的 基礎(chǔ)上使傳輸帶寬最大化。
舉例來說,插槽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 提供適當?shù)倪壿嫼?或處理結(jié)構(gòu),用于在諸如SES 150之類的混合元件 的可堆棧交換機的初始化配置期間,針對與該SSE相關(guān)聯(lián)的兩個堆棧 鏈路來協(xié)商可應(yīng)用的堆棧鏈路速度。
圖2描繪了根據(jù) 一 個實施例可用于協(xié)商堆棧鏈路速度的以太網(wǎng)插 槽/SSE 200的框圖。本領(lǐng)域技術(shù)人員將認識到SSE 200是上面參照 SES實施例102和150所述的插槽/SSE的示例。SSE 200優(yōu)選地包括 一個或多個網(wǎng)絡(luò)接口模塊(NIM) 204 (i)、 一個或多個交換控制器 (即,網(wǎng)絡(luò)處理器)206、和管理模塊220,優(yōu)選地它們一起協(xié)作以經(jīng) 由多個以太網(wǎng)端口 202 (i) , i=l, 2, 3, ....., M來接收入口數(shù)據(jù)業(yè) 務(wù)以及傳送出口數(shù)據(jù)業(yè)務(wù)。出于本實施例的目的,多個端口 202 (i) 中的每個端口可以被視為適于接收入口數(shù)據(jù)和傳送出口數(shù)據(jù)的雙工 端口。此外,端口 202 (i)是以上參考圖1所描述的包括堆棧端口以 及CS端口的三種類型的以太網(wǎng)端口的示例。因而,可以想象,如果 特定端口 202 (i)可作為堆棧端口來操作,則該端口既可以傳輸用戶 數(shù)據(jù)業(yè)務(wù)又可以傳輸控制管理業(yè)務(wù),并且在一些實現(xiàn)中,SSE200可 以支持多于兩個的堆棧端口。
NIM元件204 (i)優(yōu)選地包括一個或多個物理層接口和媒體接 入控制(MAC)接口,其適于經(jīng)由合適的有線或無線網(wǎng)絡(luò)通信鏈路(未 示出)來交換例如以太網(wǎng)幀和IP分組的PDU。與可作為堆棧端口來 才喿作的端口相關(guān)聯(lián)的NIM是,例如,標準以太網(wǎng)NIM,適于與各種可兼容節(jié)點交換PDU、常規(guī)數(shù)據(jù)業(yè)務(wù)以及依賴于堆棧配置模式與其它
堆棧交換機進行堆棧間通信。入口 PDU借助于一個或多個入口數(shù)據(jù)
總線205A從多個NIM遞送到網(wǎng)絡(luò)處理器/控制器206。類似地,出口 PDU經(jīng)由一個或多個出口數(shù)據(jù)總線205B從控制器206傳送到多個 NIM。
在一種實現(xiàn)中,管理模塊220 —般包括用于保持和實施業(yè)務(wù)策略 的策略管理器224。優(yōu)選地,由策略管理器224所實施的策略部分地 基于例如得自源學(xué)習(xí)操作的層2和/或?qū)?尋址信息、從其它路由設(shè)備 所接收的路由信息以及通過由網(wǎng)絡(luò)管理者使用例如簡單網(wǎng)絡(luò)管理協(xié) 議(SNMP)消息226經(jīng)由配置管理器222所上載的過濾規(guī)則??梢?使得自源學(xué)習(xí)、其它網(wǎng)絡(luò)節(jié)點和管理者的業(yè)務(wù)策略被網(wǎng)絡(luò)處理器206 所執(zhí)行的路由引擎230所使用,并通過轉(zhuǎn)發(fā)表254來共同表示。
另外,管理模塊220包括控制模塊210,用于實現(xiàn)以下更為詳細 描述的堆棧端口速度管理和自動速度協(xié)商功能。控制模塊210優(yōu)選地 包括端口狀態(tài)監(jiān)視模塊212,其適于使用例如Keep-Alive (保持激活) 信號的控制業(yè)務(wù)信號來監(jiān)視堆棧端口的操作狀態(tài),并識別耦合到交換 機元件200的堆棧端口的相鄰堆棧交換機的存在。在優(yōu)選實施例中的 控制模塊210還可以包括堆棧協(xié)議管理器214,其適于參與對于確定
每個堆棧交換機的管理責(zé)任、處理用于監(jiān)視其它交換機元件狀態(tài)的管 理消息以及在必要時用作初級主交換機(PMS)或次級主交換機 (SMS )的選擇,其中該初級主交換機(PMS )或次級主交換機(SMS )
的責(zé)任可包括向一個或多個堆棧交換機分配唯一元件標識符和向它 的網(wǎng)絡(luò)處理器分配處理器標識符。另外,堆棧管理器214適于確定堆 棧交換機拓樸并處理在SES的堆棧交換機元件之間所交換的與拓樸 相關(guān)的消息。特別地,堆棧管理器214傳送SES拓樸請求,將已知的 SES拓樸信息傳送給其它堆棧交換機,并維護一個或多個本地拓樸 表。在某些實施例中,端口狀態(tài)監(jiān)視器212和堆棧管理器214的功能 還可以包括檢測元件的缺失,附加元件的插入(造成陷阱或異常的生 成),元件從堆棧的移除,以及確定控制模塊的內(nèi)部操作狀態(tài)。
同樣,在優(yōu)選實施例中的堆棧管理器214維護并更新一個或多個 堆棧交換機鄰接表218,其優(yōu)選為一個與每個堆棧端口相關(guān)聯(lián)的表。 鄰接表218是通過相關(guān)聯(lián)的堆棧端口可到達的那些堆棧交換機的列 表。在一種實現(xiàn)中,在首先列出與端口緊鄰的交換機元件的情況下, 順次列舉相鄰的堆棧交換機。如前所述,每個元件可以提供有兩個堆 棧端口。因而,交換機元件200的每個堆棧端口保持有單獨的鄰接表 218,其列出通過該堆棧端口可到達的所有相鄰堆棧交換機。作為結(jié) 果,如果SES 102的拓樸是環(huán)形配置,則兩個鄰接表218具有相同的 相鄰堆棧交換機列表,但順序相反。
繼續(xù)參考圖2,網(wǎng)絡(luò)處理器206能夠但不限于如OSI參考模型中 所定義的層2和層3的交換操作。用于可操作地將端口 202 ( 1 )至 202 (M)耦合到各個有線和/或無線通信鏈路的層2協(xié)議的例子包括 電氣與電子工程師學(xué)會(IEEE) 8013和IEEE 802.11標準。類似地, 層3的協(xié)議的例子包括在因特網(wǎng)工程任務(wù)組(IETF)請求注解(RFC) 791中所定義的網(wǎng)際協(xié)議(IP)版本4和在IETF RFC 1883中所定義 的IP版本6。
網(wǎng)絡(luò)處理器206優(yōu)選地包括路由引擎230和隊列管理器240。在 一種示例性實現(xiàn)中,路由引擎230包括分類器232,其接收來自數(shù)據(jù) 總線205A的入口 PDU,檢查PDU的一個或多個字段,使用內(nèi)容可 尋址存儲器(CAM) 233將PDU分類到多個流的一個中,并從在存 儲器中所存儲的轉(zhuǎn)發(fā)表254中檢索轉(zhuǎn)發(fā)信息。從轉(zhuǎn)發(fā)表254所檢索的 轉(zhuǎn)發(fā)信息優(yōu)選地包括但不限于用于指定為準備用于出口的特定PDU 所需的那些轉(zhuǎn)發(fā)操作的流標識符,其中該流標識符可以包括下一跳地 址和業(yè)務(wù)等級(CoS)或業(yè)務(wù)質(zhì)量(QoS)規(guī)定。轉(zhuǎn)發(fā)處理器234接 收具有相關(guān)聯(lián)的轉(zhuǎn)發(fā)信息的入口 PDU并在傳送到合適的一個或多個 出口端口前執(zhí)行一個或多個轉(zhuǎn)發(fā)操作。轉(zhuǎn)發(fā)操作優(yōu)選地包括但不限 于用于對數(shù)據(jù)進行重新封裝的報頭(header)轉(zhuǎn)換,用于將一個或 多個VLAN標記附加到PDU的VLAN標記壓入(push ),用于從PDU 移除一個或多個VLAN標記的VLAN標記彈出(pop),用于保留網(wǎng)
絡(luò)資源的QoS管理,用于監(jiān)視用戶業(yè)務(wù)的記帳和結(jié)帳,多協(xié)議標簽交 換(MPLS)管理,PDU的選擇性過濾,接入控制,包括地址解析協(xié) 議(ARP)控制的高層學(xué)習(xí)等。
在由轉(zhuǎn)發(fā)處理器234處理后,將PDU傳遞并存儲在隊列管理器 240中,直到帶寬可用以將PDU傳送到合適的出口端口。特別地,出 口 PDU緩沖在緩沖器242的一個或多個優(yōu)先級隊列中,直到由調(diào)度 器244將它們經(jīng)由數(shù)據(jù)總線205B傳送到出口端口 。關(guān)于SSE 200實 施例的其它細節(jié)可以在以下以Ignatius D. Santoso, Roberto Henrique Jacob Da Silva, Timothy Hicks和Vincent Magret的名義提交的、題為 "STACK MANAGER PROTOCOL WITH AUTOMATIC SETUP MECHANISM (具有自動建立機制的堆棧管理協(xié)議)"、阿爾卡特檔 案號為134196的共同擁有共同未決的專利申請中找到,在上文中通 過參考將其引入。
具體參考其中涉及雙速堆棧端口的堆棧端口速度管理和自動速度協(xié)商功能,SSE200的負責(zé)邏輯和處理結(jié)構(gòu)優(yōu)選地可以包括與具體 的雙速或多速堆棧端口 202 (i)相關(guān)聯(lián)的適當硬件、軟件和/或固件, 用于自動地協(xié)商在系統(tǒng)初始化期間所耦合到的堆棧鏈路的速度。 一般 地,對SES中緊鄰的第一 SSE的堆棧端口和第二 SSE的堆棧端口之 間所部署的堆棧鏈路的速度進行協(xié)商涉及以下功能通過例如第一 SSE的多個SSE中之一的堆棧端口來檢測與堆棧鏈路相關(guān)聯(lián)的上行 鏈路狀態(tài);在確定第一 SSE的堆棧端口可在所選帶寬速率下操作時, 將所選帶寬速率告知給第二 SSE的堆棧端口 ;在確定第二 SSE的堆 棧端口可在所選帶寬速率下操作時,對第一 SSE的堆棧端口生成確 認;以及響應(yīng)該確認,第一 SSE和第二 SSE的堆棧端口轉(zhuǎn)變到可與 所選帶寬速率兼容的操作模式中,用于在它們之間所部署的堆棧鏈路 上傳送和/或接收業(yè)務(wù)。如下面將描述的那樣,在初始系統(tǒng)配置期間優(yōu) 選地引入基于任何兩個SSE之間的確認握手的故障-安全自動速度協(xié) 商協(xié)議,以便根據(jù)以上所述的 一般處理流程來在它們之間選擇可應(yīng)用 的帶寬。
圖3是根據(jù)一個實施例的涉及用于在SES中的兩個堆棧元件之間 協(xié)商堆棧鏈路速度的方案300的流程圖。依據(jù)在通電時的初始配置, 在兩個堆棧元件之間的堆棧鏈路達到具有默認速度的上行鏈路狀態(tài)。 如前面間接提到的,連接到堆棧鏈路的堆棧端口中的一個端口檢測上 行鏈路狀態(tài),因此與檢測堆棧端口相關(guān)聯(lián)的適當邏輯/處理功能開始自 動速度協(xié)商過程(框302)。盡管存在兩個堆棧端口可以同時檢測到 上行鏈路狀態(tài)的數(shù)學(xué)幾率,但由于兩個硬件事件一般是相互隨機的, 所以對于所有的實際應(yīng)用而言這并非代表性情況。然而在一個實施例 中,通過具有雙速容量的堆棧端口的檢測可以被預(yù)配置為具有優(yōu)先 級。通過檢測堆棧端口的邏輯,可以對它可在兩個或更多帶寬速率下 操作進行確定,其中上述帶寬速率包括優(yōu)選大于默認速率的所選帶寬 速率(框304)。當識別出所選帶寬速率時,檢測堆棧端口經(jīng)由適當 控制消息傳送將所選帶寬速率信息告知給相鄰堆棧端口,即,經(jīng)由堆 棧鏈路所耦合到的第二SSE的堆棧端口 (框306)。響應(yīng)于所告知的 帶寬信息,與第二 SSE的堆棧端口相關(guān)聯(lián)的合適邏輯/處理功能可操 作為確定其是否能夠在所告知的帶寬速率下操作(框308)。如果可 以,則在第一和第二 SSE的堆棧端口之間應(yīng)用(engage)基于確認和 /或計時器的握手協(xié)議(框310)。此后,第一和第二 SSE的堆棧端口 轉(zhuǎn)變到指示可與所選帶寬速率兼容的操作模式的狀態(tài)中(框312)。 隨后向兩個SSE的各個堆棧管理器通知用于對連接兩個元件的堆棧 鏈路進行操作的所協(xié)商的帶寬速率(框316)。
另 一方面,如果確定第二 SSE的堆棧端口不能操作在所選帶寬速 率下,則對第一 SSE的堆棧端口生成否定確認,因而兩個堆棧端口都 保持在指示可與默認速度兼容的操作模式的狀態(tài)中(框314)。此后, 堆棧端口將默認帶寬狀態(tài)通知給在正常過程中的各個堆棧管理器(框316)。
因而,在前述實施例的一種實現(xiàn)中,盡管堆棧鏈路在堆棧元件上 達到了默認速度(例如,10Gbps),但向包括各個堆棧管理器的堆棧 系統(tǒng)通知鏈路狀態(tài)可以延遲到完成帶寬協(xié)商過程為止。兩個堆棧元件之間的成功協(xié)商(即,兩個堆棧端口可將它們的速度提高到所選帶寬速率,例如12Gbps)帶來成功的上行鏈路狀態(tài),這將被通知給堆棧 系統(tǒng)。另一方面,協(xié)商失敗和/或協(xié)商沒有帶來速度增加則使堆棧端口 回到默認速度,隨后這被通知給堆棧管理器。
本領(lǐng)域技術(shù)人員根據(jù)此處的參考將認識到,可以通過在不同階f: 利用計時器機制在魯棒實現(xiàn)中實施前述協(xié)議,使得(i)在超時之前 只進行了預(yù)定數(shù)目的速度協(xié)商嘗試(也稱作速度輪換嘗試);以及(ii) 在堆棧鏈路的兩端之間的計時握手將確保這兩端(即堆棧端口)在切 換到所協(xié)商帶寬狀態(tài)前以鎖步的方式移動。這些過程可以借助于狀態(tài) 流程圖來解釋為,堆棧端口 (單速或雙速)在適當狀態(tài)間轉(zhuǎn)變以實現(xiàn)對較高速度的協(xié)調(diào)切換。
現(xiàn)在參考圖4,其中描繪的是根據(jù)本公開的一個實施例的涉及單 速堆棧端口的狀態(tài)流程處理400。如圖所示,單速堆棧端口最初設(shè)置 在端口模式(PortMode) INIT狀態(tài)402。關(guān)于從其所耦合的堆棧鏈路 接收可以是下行鏈路或上行鏈路消息的鏈路狀態(tài)改變 (LinkStatusChange)(框404 ),單速堆棧端口相應(yīng)地轉(zhuǎn)變到適當狀 態(tài)中。在下行鏈路消息的情況下,鏈路狀態(tài)(LinkStatus)消息被轉(zhuǎn) 發(fā)到堆棧協(xié)議管理器(框406),且隨后單速堆棧端口返回到端口模 式INIT狀態(tài)(框402)。在上行鏈路消息的情況下,堆棧端口也可操 作為將適當?shù)逆溌窢顟B(tài)消息傳送給堆棧協(xié)議(框410)。此外,當單 速堆棧端口乂人其相鄰元件接收到START消息時(框408),由于其 不能支持除默認速度以外的帶寬,所以向其相鄰元件發(fā)送否定確認或 NACK(框412)。此后,單速堆棧端口返回到此前的端口模式INIT 狀態(tài)(框402)。
圖5A-5D描繪了根據(jù)本公開一個實施例的涉及雙速堆棧端口的 用于協(xié)商與之相關(guān)聯(lián)的堆棧鏈路速度的各種嵌套狀態(tài)流程處理。狀態(tài) 流程處理500A表示第一階段的處理,其引起雙速堆棧端口從初始端 口模式INIT狀態(tài)502轉(zhuǎn)變到端口模式START狀態(tài)514。在一種實現(xiàn) 中,雙速端口的帶寬可以由用戶進行配置,例如在手動的基礎(chǔ)上進行
配置。因而,當確定已經(jīng)配置了端口速度時(框504),雙速堆棧端口可操作為從所耦合的堆棧鏈路接收鏈路狀態(tài)改變消息。響應(yīng)于接收 合適的鏈路狀態(tài)改變消息,將鏈路狀態(tài)消息轉(zhuǎn)發(fā)到堆棧協(xié)議管理器(框508 )。隨后,雙速堆棧端口返回到端口模式INIT狀態(tài)(框502 )。
如果在用戶還沒有配置端口速度時雙速堆棧端口接收到鏈路狀 態(tài)改變消息(框510),則發(fā)生另一組狀態(tài)轉(zhuǎn)變。響應(yīng)于接收到由判 決框512所確定的下行鏈路消息,雙速堆棧端口將鏈路狀態(tài)發(fā)送到堆 棧協(xié)議管理器并將鏈路速度設(shè)置在默認速率(例如,10Gbps)(框 516)。此后,雙速堆棧端口返回到端口模式INIT狀態(tài)(框502)。 另一方面,響應(yīng)于接收到上行鏈路消息,雙速堆棧端口轉(zhuǎn)變到端口模 式START狀態(tài)(框514)。
圖5B中所描述的狀態(tài)流程處理500B表示了第二階段的處理, 其涉及關(guān)于端口模式START狀態(tài)(框514)的轉(zhuǎn)變。如果此時從堆 棧鏈路接收到下行鏈路消息,則雙速堆棧端口可操作為返回到端口模 式INIT狀態(tài)(框502)。如果從相鄰堆棧端口接收到START消息(框 518),則雙速堆棧端口可才喿作為通過傳送確認或ACKSTART進行響 應(yīng)(框520)。此后,雙速堆棧端口回到端口才莫式START,直到發(fā)生 進一步的事件(框514)。在另一轉(zhuǎn)變路徑中,雙速堆棧端口可操作 為獨自從端口模式START狀態(tài)(框502)啟動握手過程。當向相鄰 端口發(fā)送START消息時(框524),啟動計時器機制(框526 ),因 而可以得到三條流程路徑。如果從其相鄰元件接收到否定確認(NACK)(框534),則停止計時器(框536)并將鏈路狀態(tài)消息傳 送給堆棧協(xié)議管理器(框538 )。此后,雙速堆棧端口回到端口模式 INIT,直到發(fā)生進一步的事件(框502)。從啟動計時器開始的第二 流程路徑涉及確定計時器已到期(即,超時)(框540)且端口模式 沒有變化,即START (框542 ),由此保持START狀態(tài)(框514 )。 在第三流程路徑中,雙速堆棧端口可操作為從相鄰元件接收肯定確認 或ACKSTART (框528 ),由此停止計時器(框530 )并將該端口轉(zhuǎn) 變到端口模式ACKSTART狀態(tài)(框532)。
圖5C中所描述的狀態(tài)流程處理500C表示第三階段的處理,其 涉及關(guān)于端口模式ACKSTART狀態(tài)(框532)的轉(zhuǎn)變,其中示例了 三個可選的流程路徑。如前面那樣,如果此時從堆棧鏈路接收到下行 鏈路消息,則雙速堆棧端口簡單地回到端口才莫式INIT狀態(tài)(框502 )。 當/^相鄰堆棧端口 (即,遠程端口 )接收到START消息時(框518), 雙速堆棧端口通過傳送確認或ACKSTART進行響應(yīng)(框520 ),指 示兩個端口都能夠操作在所選帶寬速率下。此后,雙速堆棧端口回到 端口模式START,直到發(fā)生進一步的事件(框514)。
當確定相鄰端口處在端口模式ACKSTART狀態(tài)中時(框544 ), 雙速堆棧端口將ACK消息發(fā)送到相鄰元件(框546),優(yōu)選地以約 10-500ms的等待周期以便傳播最新的消息。此后,雙速堆棧端口轉(zhuǎn)變 到端口才莫式ACK狀態(tài)(才匡548)。如果遠程端口 (即,相鄰端口) 不處在端口模式ACKSTART狀態(tài)(框544 ),則雙速堆棧端口將 ACKSTART消息發(fā)送到相鄰元件(框550),并啟動計時器(框552 )。 如果從相鄰元件接收到ACK (框554 ),則停止計數(shù)器(框556 )且 隨后雙速堆棧端口進入端口才莫式ACK狀態(tài)(框548 )。否則,當計 時器到期時(框558 ),將端口模式設(shè)置在如框560和532所示的 ACKSTART 。
圖5D中所描述的狀態(tài)流程處理500D表示第四階段的處理,其 涉及切換到所協(xié)商的帶寬速率,其中示例了關(guān)于端口模式ACK狀態(tài) (框548 )的各種轉(zhuǎn)變。首先,將鏈路速度改變到所選帶寬速率(優(yōu) 選地,大于默認速度的一個速度)(框562)。此后以預(yù)定到期周期 來啟動計時器機制(框564和566)。如果計時器沒有到期,則當從 堆棧鏈路接收到上行鏈路消息時(框568 )(以確保在兩個相鄰元件 之間的物理連接沒有丟失或其它損害(compromise)),將鏈路狀態(tài) 消息傳送給堆棧協(xié)議管理器(框570)。然后停止計時器(框572) 且使雙速堆棧端口轉(zhuǎn)變到端口模式INIT,準備以所協(xié)商的帶寬速率與 其相鄰元件進行通信(框502 )。
如果計時器已到期,則將鏈路速度改變到默認速率(即,10Gbps)(框574),由此監(jiān)視第二計時周期(框576)。如果第二計時器也
到期,則停止該計時器(框578和580)且雙速堆棧端口回到端口模
式INIT狀態(tài)(框502),指示堆棧鏈路可能已丟失或其它損害。另一
方面,如果第二計時器沒有到期(框578 )并相應(yīng)地從堆棧鏈路接收
到上行鏈路狀態(tài)(框582),則將鏈路狀態(tài)消息傳送給堆棧協(xié)議管理
器(框584)。然后,停止計時器(框586)且使雙速堆棧端口轉(zhuǎn)變
到端口模式INIT狀態(tài)(框502 ),因此堆棧端口可操作用于以默認速 率與其相鄰元件進行通信。
基于以上討論,應(yīng)認識到本公開的實施例有利地允許將支持不同 速度的堆棧交換機元件進行混合。在可以得到較高速度的堆棧鏈路的 情況下,在這種堆棧鏈路上操作的用戶設(shè)備可以最大化其吞吐量。此 外,由于不需要人為干預(yù)來手動地配置各個元件上的速度,所以減少 了不正確配置具體元件的幾率。
相信通過上述詳細描述,本發(fā)明的操作和構(gòu)造將顯而易見。盡管 所示出和所描述的本發(fā)明的示例性實施例特征為優(yōu)選,但應(yīng)容易理解 到,在不脫離以下權(quán)利要求書中所闡明的本發(fā)明的范圍的情況下,可 對本發(fā)明進行各種改變和修改。
權(quán)利要求
1.一種用于對在第一堆棧交換機元件(SSE)的堆棧端口和第二SSE的堆棧端口之間所部署的堆棧鏈路的速度進行協(xié)商的方法,所述第一SSE和第二SSE在具有至少兩個SSE的可堆棧以太網(wǎng)交換機(SES)中緊鄰,所述方法包括通過所述第一SSE的所述堆棧端口檢測與所述堆棧鏈路相關(guān)聯(lián)的上行鏈路狀態(tài);當確定所述第一SSE的所述堆棧端口可在所選帶寬速率下操作時,將所述所選帶寬速率告知給所述第二SSE的所述堆棧端口;當確定所述第二SSE的所述堆棧端口可在所述所選帶寬速率下操作時,對所述第一SSE的所述堆棧端口生成確認;以及響應(yīng)于所述確認,所述第一SSE的所述堆棧端口和所述第二SSE的所述堆棧端口轉(zhuǎn)變到可與所述所選帶寬速率兼容的操作模式中,用于在它們之間所部署的所述堆棧鏈路上傳送業(yè)務(wù)。
2. 如權(quán)利要求1所述的方法,其中所述所選帶寬速率大于與所 述堆棧鏈路相關(guān)聯(lián)的默認速度。
3. 如權(quán)利要求1所述的方法,進一步包括如果確定所述第二 SSE的所述堆棧端口不能在所述所選帶寬速率下操作,則向所述第一 SSE的所述堆棧端口生成否定確認。
4. 如權(quán)利要求3所述的方法,進一步包括響應(yīng)于所述否定確 認,所述第一和第二 SSE的所述堆棧端口轉(zhuǎn)變到可與和所述堆棧鏈路 相關(guān)聯(lián)的默認速度兼容的操作模式中。
5. 如權(quán)利要求4所述的方法,其中所述默認速度低于所述所選 帶寬速率。
6. 如權(quán)利要求5所述的方法,其中所述所選帶寬速率包括每秒 12吉比特(Gbps)且所述默認速度包括lOGbps。
7. 如權(quán)利要求1所述的方法,進一步包括響應(yīng)于生成所述確 認,所述第一和第二SSE的所述堆棧端口應(yīng)用握手協(xié)議。
8. —種具有指令組的計算才幾可讀介質(zhì),當在與可堆棧以太網(wǎng)交 換機(SES)相關(guān)聯(lián)的處理器環(huán)境中執(zhí)行所述指令組時該指令組進行 以下處理確定所述SES的第一堆棧交換機元件(SSE)的堆棧端口可在所 選帶寬速率下操作;將所述所選帶寬速率告知給所述SES的第二 SSE的堆棧端口 ,所 述第一和第二 SSE緊鄰,使得所述第一和第二 SSE經(jīng)由在所述堆棧 端口之間所部署的堆棧鏈路而耦合;確定所述第二 SSE的所述堆棧端口可在所述所選帶寬速率下操作 并向所述第一 SSE的所述堆棧端口生成確認;以及響應(yīng)于所述確認,將所述第一 SSE的所述堆棧端口和所述第二 SSE的所述堆棧端口分別轉(zhuǎn)變到可與所述所選帶寬速率兼容的操作 模式中,用于在它們之間所部署的所述堆棧鏈路上傳送業(yè)務(wù)。
9. 如權(quán)利要求8所述的計算機可讀介質(zhì),進一步包括用于當 確定所述第二 SSE的所述堆棧端口不能在所述所選帶寬速率下操作 時,向所述第一 SSE的所述堆棧端口生成否定確認的指令。
10. 如權(quán)利要求9所述的計算機可讀介質(zhì),進一步包括用于響 應(yīng)于所述否定確認而將所述第一和第二 SSE的所述堆棧端口轉(zhuǎn)變到 可與和所述堆棧鏈路相關(guān)聯(lián)的默認速度兼容的操作模式中的指令。
全文摘要
一種用于對在第一堆棧交換機元件(SSE)的堆棧端口和第二SSE的堆棧端口之間所部署的堆棧鏈路的速度進行協(xié)商的系統(tǒng)和方法,其中該第一和第二SSE在可堆棧以太網(wǎng)交換機(SES)中緊鄰。在一個實施例中,為各個SSE提供適當邏輯和/或處理結(jié)構(gòu),用于在SES初始化期間自動地協(xié)商堆棧鏈路的速度,由此當確定第一和第二SSE的堆棧端口能夠支持所選帶寬速率時,可以將堆棧鏈路的速度增加到大于默認速率的所選帶寬速率。
文檔編號H04L12/56GK101202695SQ20061014225
公開日2008年6月18日 申請日期2006年10月10日 優(yōu)先權(quán)日2005年10月11日
發(fā)明者文森特·馬格雷特, 薩巴什·博拉 申請人:阿爾卡特公司