專利名稱:具備自動建立機制的堆疊管理器協(xié)議的制作方法
技術領域:
本發(fā)明總體上涉及在一個數(shù)據(jù)通信網(wǎng)中的堆疊交換機系統(tǒng)的管理。更具體地說,本發(fā)明涉及一種容錯堆疊交換機系統(tǒng),它適于檢測、處理交換機故障并從交換機故障中恢復。
背景技術:
在一個分組交換網(wǎng)中的堆疊交換機系統(tǒng)中,各個交換機經(jīng)由在每個交換機上存在的一對指定堆疊端口操作性地互連。堆疊交換機系統(tǒng)一般依次連接,系統(tǒng)拓撲的特征一般是一個閉合回路,稱為環(huán),或者是一個開交換機串,這里稱為鏈。每個堆疊交換機適于在它自己的數(shù)據(jù)端口以及其他堆疊交換機的數(shù)據(jù)端口之間通過利用堆疊交換機標識符經(jīng)由堆疊端口傳送分組而進行交換,其中堆疊交換機標識符的使用有助于將這些分組有效的傳輸和交換到適當?shù)亩询B交換機。目前,可以例如通過用戶手工配置給堆疊交換機分配交換機標識符。但同時仍有需要堆疊交換機適于自動地和確定性地并依次地,也就是說,根據(jù)交換機在環(huán)或鏈中的次序,分配標識符給參與的交換機。
目前,堆疊交換機系統(tǒng)還易于出現(xiàn)標識符指派重復的情況,其中當組合來自不同系統(tǒng)的兩個堆疊交換機,或者一個用戶被錯誤地兩次指派了同一個標識符時就會出現(xiàn)上述情況。在當前系統(tǒng)中,堆疊交換機自動地關機,這不幸地可以切斷系統(tǒng)的連通性,形成了堆疊交換機孤島。存在一種需要,要求堆疊交換機適于保持兩個相鄰交換機間的通信鏈路,并且具有重復標識符的交換機不能在堆疊交換機系統(tǒng)中轉發(fā)分組。這種情況下,還需要(1)定義選舉哪個交換機會成功,并且能夠將活躍但不工作的交換機保持在某種狀態(tài)的標準,在前述狀態(tài)下該交換機還能接收管理命令;以及(2)解決沖突而不需要人工介入。
目前,堆疊交換機系統(tǒng)也采用在第一主堆疊交換機和被管堆疊交換機之間進行消息交換來確定各自的工作狀態(tài)。然而,在某些情況下,第一主機可能沒有計算資源來立即響應一個狀態(tài)檢查,這種情況下被管設備可能錯誤地推斷出第一主機發(fā)生故障,并且開始選舉一個新的第一主機。結果,堆疊交換機系統(tǒng)可能會有兩個第一主機,從而導致整個系統(tǒng)出現(xiàn)故障。因此,需要堆疊交換機適于處理間歇性的中斷,而不會過早啟動系統(tǒng)管理的改變。
發(fā)明內(nèi)容
本發(fā)明的優(yōu)選實施方式特征在于一種交換設備,用來在一個包括多個堆疊交換機的堆疊交換機系統(tǒng)中執(zhí)行通透轉發(fā)操作。該交換設備最好包括多個端口和一個路由引擎,用來在端口之間轉發(fā)分組。該多個端口包括多個數(shù)據(jù)端口和多個堆疊端口,也就是第一堆疊端口和第二堆疊端口,用于將交換機連接到其他堆疊交換機。該路由引擎適于實現(xiàn)這里所稱的通透模式。如果通透模式被禁止,路由引擎例如根據(jù)與分組關聯(lián)的目的地址信息,在多個端口之間轉發(fā)分組。然而,如果通透模式被選通,路由引擎自動地將在第一堆疊端口上接收的分組轉發(fā)給第二堆疊端口,并自動地將在第二堆疊端口上接收的分組轉發(fā)給第一堆疊端口。在數(shù)據(jù)端口上接收的分組一般被丟棄。這樣,交換機可以維持堆疊交換機系統(tǒng)的最小連通性,而不需要完全地運作或者完全地集成到堆疊交換機系統(tǒng)中。例如在兩個堆疊交換機擁有相同標識符時,可以采用通透模式。
本發(fā)明的優(yōu)選實施方式還特征在于一種交換設備,用于自動地分配堆疊交換機標識符。多個堆疊交換機中的每一個--包括一個負責分配的第一主堆疊交換機和適于承擔第一主機的職責的所有被管堆疊交換機--包括兩個堆疊端口和一個堆疊管理器,后者適于識別一個需要工作堆疊交換機標識符的堆疊交換機,并自動地向所述一個或多個堆疊交換機的每一個分配一個工作堆疊交換機標識符集合中的一個標識符。該工作堆疊交換機標識符集合最好包括有序整數(shù),盡管本領域的技術人員會理解,因為一些標識符以前分配給一個或多個堆疊交換機,所以這個序列中可能會出現(xiàn)間隔。隨后按照所述一個或多個堆疊交換機在一個序列的有序位置分配有序整數(shù)。假定所有堆疊交換機都沒有以前存在的標識符,那么得到的交換機可能以升序依次編號,例如從第一主機為“1”開始。如果堆疊交換機有一個環(huán)拓撲,假定第一主機已經(jīng)分配了標識符,從該標識符集合,分配最小的可用標識符給它第一堆疊端口上的相鄰堆疊交換機,分配最大的可用標識符給它第二堆疊端口上的相鄰堆疊交換機。如果在一個鏈拓撲中,最小的可用標識符一般會分配給第一主機,或者能夠通過第一主機的一個堆疊端口到達的交換機,并且可用標識符在需要時依次分配給各個交換機,就像堆疊交換機呈環(huán)形連接。這樣得到的標識符分配更好地反映了堆疊交換機的有序位置,從感覺上來講,比目前采用的現(xiàn)有技術的分配方案要更為用戶友好。
本發(fā)明的優(yōu)選實施方式還特征在于一種交換設備,用于自動地和臨時地禁止由堆疊交換機交換的以監(jiān)視堆疊系統(tǒng)的狀態(tài)和檢測拓撲變化的監(jiān)管消息。該系統(tǒng)一般包括一個或多個被管堆疊交換機和用于管理這些設備的一個第一主堆疊交換機。被管堆疊交換機適于發(fā)送監(jiān)管消息給多個堆疊交換機中的一個或多個,包括第一主機。第一主機則在可能的情況下,適于對監(jiān)管消息做出反應,或者發(fā)送一個監(jiān)管暫停消息以臨時地阻止多個被管堆疊交換機中的一個或多個發(fā)送監(jiān)管消息。第一主機也可以解除監(jiān)管暫停消息來恢復標準操作。在某些實施方式中,如果第一主機無法返回到正常工作狀態(tài),被管設備也可以在一個預定時間段之后,自動地恢復監(jiān)管消息的定期發(fā)送。
本發(fā)明的優(yōu)選實施方式還特征在于一種用于在系統(tǒng)初始化,或者指定的第一主機變得不工作時,從多個堆疊交換機中選舉一個第一主堆疊交換機的方法。該方法包括以下步驟為多個堆疊交換機中的每一個產(chǎn)生一個選舉鍵,在多個堆疊交換機之間交換每個堆疊交換機的選舉鍵;將具有最小選舉鍵的堆疊交換機指定為臨時第一堆疊交換機。交換機的選舉鍵包括相關堆疊交換機的啟動時間--也就是例如日期、小時、分鐘和秒--交換機在啟動之后到達預定工作狀態(tài)所需的時間。在優(yōu)選實施方式中,啟動時間與交換機適于對包括存在其他堆疊交換機的網(wǎng)絡拓撲開始進行初步評估的時間相關聯(lián)。
本發(fā)明通過例子來說明,但并不局限于附圖,在附圖中圖1是一種按照本發(fā)明優(yōu)選實施方式的集成堆疊交換機系統(tǒng)(ISS)的功能框圖;圖2是一種按照本發(fā)明優(yōu)選實施方式的在ISS系統(tǒng)中采用的堆疊交換機的功能框圖;圖3是一個按照本發(fā)明優(yōu)選實施方式的代表起動過程中堆疊交換機各階段的狀態(tài)圖;圖4是一個按照本發(fā)明優(yōu)選實施方式的對應于圖3的可堆疊性確定狀態(tài)的流程圖;圖5是一個按照本發(fā)明優(yōu)選實施方式的對應于圖3的發(fā)現(xiàn)狀態(tài)的流程圖;圖6A和6B一起是按照本發(fā)明優(yōu)選實施方式的對應于圖3的選舉狀態(tài)的流程圖;圖7A和7B一起是按照本發(fā)明優(yōu)選實施方式的對應于圖3的單元號碼指派狀態(tài)的流程圖;圖8A和8B是按照本發(fā)明優(yōu)選實施方式的分別對應于單元號碼分配前后的ISS示例系統(tǒng);圖9A和9B是按照本發(fā)明優(yōu)選實施方式的分別對應于單元號碼分配前后的ISS示例系統(tǒng);圖10A和10B是按照本發(fā)明優(yōu)選實施方式的分別對應于單元號碼分配前后的ISS示例系統(tǒng);圖11是一個按照本發(fā)明優(yōu)選實施方式的代表性的堆疊選舉消息;以及圖12是一個按照本發(fā)明優(yōu)選實施方式的代表性的堆疊監(jiān)管消息。
具體實施例方式
在圖1中示出了在一個數(shù)據(jù)通信網(wǎng)中的一種集成堆疊交換機(ISS)系統(tǒng)的功能框圖。網(wǎng)絡120包括多個堆疊交換機100-103,它們操作性地依次連接,借助于堆疊鏈路110-113,例如雙絞線或光纖電纜,形成例如一個鏈或環(huán)拓撲。交換設備100-103最好是可堆疊交換機,可通過一個或多個本領域技術人員將其稱為堆疊端口的特定用途端口相互連接。多個堆疊交換機100-103,這里也稱為堆疊單元和單元,適于在ISS 120的其他交換機以及通過例如一個或多個局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)或者互聯(lián)網(wǎng)連接到ISS的一個或多個端點站或其他可尋址實體之間傳送分組化的數(shù)據(jù)。
在優(yōu)選實施方式中,堆疊交換機100-103是適于在由開放系統(tǒng)互連(OSI)參考模型定義的第二層(數(shù)據(jù)鏈路層)和第三層(網(wǎng)絡層)處執(zhí)行協(xié)議數(shù)據(jù)單元(PDU),最好是幀和分組,的交換和路由操作的多層交換機,盡管它們也可以完成4-7層交換操作。堆疊交換機100-103的每個一般能夠充當一個獨立的網(wǎng)橋、交換機或路由器。但是,通過優(yōu)選實施方式的集成堆疊管理器協(xié)議(ISMP),堆疊交換機100-103互相協(xié)作以模擬一個比對獨立操作的各個交換機100-103僅進行簡單綜合功能要強得多的單個交換設備。得到的ISS120適于提供具有增強的容錯性和用戶方便性的可擴展的網(wǎng)絡能力。具體來說,優(yōu)選實施方式的ISS 120可以動態(tài)地擴展以包括另外的堆疊交換機,檢測不工作的堆疊交換機和堆疊鏈接,動態(tài)地環(huán)繞--在某些情況下通過--不工作的堆疊交換機進行路由,并且自動地配置堆疊交換機100-103以產(chǎn)生一個非冗余的識別方案以有利于堆疊交換機間轉發(fā)操作。
圖2示出了一個在優(yōu)選實施方式的ISS系統(tǒng)中采用的堆疊交換機的功能框圖。該堆疊交換機包括一個或多個網(wǎng)絡接口模塊(NIM)204、一個或多個交換控制器(網(wǎng)絡處理器)206,以及一個管理模塊220,所有這些最好互相協(xié)作,以經(jīng)由外部端口202中的每一個接收入數(shù)據(jù)業(yè)務量并發(fā)送出數(shù)據(jù)業(yè)務量。對于本實施方式,從另一網(wǎng)絡節(jié)點流入交換機200的數(shù)據(jù)稱為入數(shù)據(jù),它包括入?yún)f(xié)議數(shù)據(jù)單元。相反,從內(nèi)部傳送到外部端口202,用以發(fā)送給另一網(wǎng)絡節(jié)點的數(shù)據(jù)稱為出數(shù)據(jù),它包括出PDU。多個外部端口202的每一個都是雙工端口,適于接收入數(shù)據(jù)并發(fā)送出數(shù)據(jù)。
NIM 204和204S最好包括適于經(jīng)由網(wǎng)絡通信鏈路(未示出)交換例如以太網(wǎng)幀和IP分組等之類的PDU的一個或多個物理層接口和媒質(zhì)訪問控制(MAC)接口。在多個外部端口202中,兩個示例性的堆疊端口202S用于將該特定堆疊交換機200集成到ISS 120中。與兩個堆疊端口202S相關聯(lián)的NIM 204S例如是標準以太網(wǎng)端口,適于根據(jù)堆疊配置模式與其它堆疊交換機進行堆疊間通信以及與各種兼容節(jié)點交換傳統(tǒng)數(shù)據(jù)業(yè)務量PDU。入PDU借助于一個或多個入數(shù)據(jù)總線205A,從多個NIM 204和204S被傳送給交換控制器206。類似地,出PDU經(jīng)由一個或多個出數(shù)據(jù)總線205B從交換控制器206被發(fā)送給多個NIM 204和204S。
管理模塊220一般包括一個策略管理器224,用于保持和實現(xiàn)業(yè)務量策略。由策略管理器224所實現(xiàn)的策略最好部分基于來自源學習操作的第二層和/或第三層尋址信息,從其它路由設備接收的路由信息,以及由網(wǎng)絡管理員利用例如簡單網(wǎng)絡管理協(xié)議(SNMP)消息226通過一個配置管理器222上載的過濾規(guī)則。在轉發(fā)表254中集中表示從源學習、其他網(wǎng)絡節(jié)點和管理員得到的業(yè)務量策略,路由引擎230可利用它們。
除了業(yè)務量策略之外,管理模塊220還包括一個中央管理模塊(CMM)210,用以實現(xiàn)下面詳細討論的ISS堆疊交換功能。優(yōu)選實施方式的CMM 210包括一個端口狀態(tài)模塊212和一個堆疊管理器214。端口狀態(tài)模塊212適于利用例如保持活躍信號,監(jiān)視堆疊端口202S的工作狀態(tài),識別連接到堆疊端口202S的相鄰堆疊交換機的存在。
優(yōu)選實施方式中的CMM 210還包括一個堆疊管理器214,適于參與確定每個堆疊交換機管理責任的選舉,處理用以監(jiān)控其他交換機的狀態(tài)的監(jiān)管消息,以及如果需要,還充當其責任可以包括分配唯一單元標識符給一個或多個堆疊交換機100-103以及分配處理器標識符給堆疊交換機100-103的網(wǎng)絡處理器的第一主交換機(PMS)或第二主交換機(SMS)。在優(yōu)選實施方式中,堆疊管理器214具有能夠基于僅與相鄰鄰居的消息交換來完全工作的通信協(xié)議。這是因為運行在堆疊交換機100-103上的堆疊管理器214實例必須能夠甚至在知道交換機堆疊ISS的拓撲之前,與運行在遠端交換機上的其他實例通信。
此外,堆疊管理器214適于確定ISS堆疊交換機拓撲,處理ISS120堆疊交換機之間交換的拓撲相關的消息。具體來說,堆疊管理器214發(fā)送ISS拓撲請求,發(fā)送已知的ISS拓撲信息給其他堆疊交換機,維護一個或多個本地拓撲表。在一些實施方式中,堆疊管理器214還負責檢測一個單元的丟失,一個另外單元的插入(從而產(chǎn)生一個阱),從堆疊中移走一個單元,以及確定相關CMM 210的工作狀態(tài)。
優(yōu)選實施方式中的堆疊管理器214保持并更新一個或多個堆疊交換機鄰居表218,最好是一個與每個堆疊端口202S相關聯(lián)的表。鄰居表218是一個可以通過相關聯(lián)的堆疊端口202S到達的堆疊交換機的列表。在優(yōu)選實施方式中,鄰居堆疊交換機按順序排列,其中與該端口直接相鄰的單元排在第一。兩個堆疊端口的每一個都維護一個列出了通過該堆疊端口可以到達的所有相鄰堆疊交換機的鄰居表218。如果ISS 120的拓撲是環(huán)形配置,那么這兩張鄰居表218有著相同的相鄰堆疊交換機列表,但次序相反。
交換機200最好包括至少一個網(wǎng)絡處理器206,其能夠進行但不局限于開放系統(tǒng)互連(OSI)參考模型中所定義的第二層(數(shù)據(jù)鏈路)和第三層(網(wǎng)絡)的交換操作。用以將外部端口202連接到一個有線和/或無線通信鏈路的可能的第二層協(xié)議集合包括電子電氣工程師協(xié)會(IEEE)802.3和IEEE 802.11標準,而可能的第三層協(xié)議集合包括互聯(lián)網(wǎng)工程師任務組(IETF)請求評論(RFC)791所定義的互聯(lián)網(wǎng)協(xié)議(IP)版本4和IETF RFC 1883所定義的IP版本6。
網(wǎng)絡處理器206最好包括一個路由引擎230和一個隊列管理器240。路由引擎230包括一個分類器232,它從數(shù)據(jù)總線205A接收入PDU,檢查該PDU的一個或多個字段,利用內(nèi)容可尋址存儲器233將該PDU分類到多個流中的一個,以及從在高速存儲器中保持的轉發(fā)表254中檢索出轉發(fā)信息。從轉發(fā)表254中檢索出的轉發(fā)信息最好包括但不局限于一個流標識符,用于指定為準備出該特定PDU所必需的那些轉發(fā)操作,其中該流標識符可以包括下一跳地址,以及服務類別(COS)或服務質(zhì)量(QOS)規(guī)定。
轉發(fā)處理器234接收到帶有相關轉發(fā)信息的入PDU,并且在發(fā)送到適當?shù)某龆丝谥埃瑘?zhí)行一個或多個轉發(fā)操作。這些轉發(fā)操作最好包括但不限于重新封裝數(shù)據(jù)的頭變換,將一個或多個VLAN標記追加到一個PDU的VLAN標記推操作,從一個PDU中去除一個或多個VLAN標記的VLAN標記出操作,保留網(wǎng)絡資源的服務質(zhì)量(QoS),監(jiān)控客戶業(yè)務量的計費和記賬,多協(xié)議標簽交換(MPLS)管理,選擇性地過濾PDU的鑒權,接入控制,包括地址解析協(xié)議(ARP)控制的高層學習,用于再生和重定向PDU用于業(yè)務量分析的端口鏡像,源學習,用于確定相對優(yōu)先級的服務類別(CoS),其中通過該相對優(yōu)先級分配交換機資源給PDU,用于制定策略和業(yè)務量整形的顏色標記,以及用于例如在ISS 120的交換機100-103之間有效地分發(fā)PDU的堆疊交換機間標記管理。
在轉發(fā)處理器234之后,PDU被送到并存儲在隊列管理器240中,直至有帶寬可用于發(fā)送PDU給適當?shù)某龆丝凇>唧w而言,出PDU緩存在緩沖器242中的多個優(yōu)先級隊列的一個或多個中,直至由調(diào)度器244經(jīng)由輸出數(shù)據(jù)總線205B將它們發(fā)送給外部端口202。
網(wǎng)絡處理器206可以配備有一個內(nèi)部交換結構(未示出),可以將交換機的每個外部端口202連接到該交換機上的每個其它端口。在優(yōu)選實施方式中,該內(nèi)部交換結構可以配置成將來自兩個堆疊端口202S的每一個的入業(yè)務量通過信道傳送到其他堆疊端口,旁路了分類器232和轉發(fā)處理器234,以實現(xiàn)下面將詳細討論的通透模式。
圖3示出了一個狀態(tài)圖,其表示由一個ISS堆疊交換機從啟動到完全工作模式所采用的自動建立機制的各個階段。在初始化之后,堆疊交換機200進入可堆疊性確定狀態(tài)302,在其中該交換機確定它是被配置成充當一個獨立交換機,還是一個堆疊交換機。可以根據(jù)堆疊端口202S的物理和工作存在來確定可堆疊性。在本發(fā)明的某種實施方式中,在一個交換機中也可以沒有堆疊端口。如果該交換機被配置成進行獨立操作304,堆疊管理器214被禁止,該交換機根據(jù)具有所有數(shù)據(jù)端口202的多層交換機工作。然而,當被配置成作為一個堆疊交換機時,端口狀態(tài)模塊212監(jiān)控堆疊端口,看是否有保持活躍消息或指示相鄰單元存在的其他消息。在沒有相鄰堆疊交換機的情況下,該交換機確定它是一個堆疊306,并進入到轉發(fā)狀態(tài)308,在該狀態(tài)它在標準數(shù)據(jù)端口202上接收并發(fā)送數(shù)據(jù)業(yè)務量,同時監(jiān)控堆疊端口202S,以引入一個或多個另外的堆疊單元。
而在可堆疊性確定狀態(tài)302中如果在堆疊端口202S上檢測出了一個或多個交換機,交換機200進入到發(fā)現(xiàn)狀態(tài)310,以確定ISS 120的拓撲。堆疊交換機200隨后可以進入到選舉狀態(tài)312,在該狀態(tài)ISS 120的堆疊交換機執(zhí)行職責確定處理,用以識別哪些單元充當?shù)谝恢鹘粨Q機(PMS)和第二主交換機,這里也分別稱作第一主機和第二主機。
第一主機負責ISS管理功能,包括例如單元標識符的分配和分發(fā),ISS中的所有堆疊交換機通過單元標識符相互尋址,以及所有的命令行接口輸入的處理和同步映像--也就是說,同步堆疊交換機上的不同軟件版本。第二主機指定為是該第一主機的接任者,如果第一主機故障或者變得不工作,它承擔第一主機的職責。盡管支持優(yōu)選實施方式的ISMP協(xié)議的堆疊交換機的每一個都可以承擔第一和第二主機的工作,但剩余的堆疊交換機聽從主交換機,直至其中的任何一個后來按照下面詳細討論的層次選舉處理被選為主機。
第一主機從選舉狀態(tài)312進入到單元號碼指派狀態(tài)314,而每一個其他堆疊交換機進入到轉發(fā)狀態(tài)308。在單元號碼指派狀態(tài)314中,選出的第一主機分配一個工作單元標識符(OEID)給每個尚未分配給一個單元標識符的堆疊交換機。如果有效,將OEID設置成等于在交換機永久存儲器中保存的單元標識符(SEID)。雖然堆疊交換機使用OEID在其他堆疊交換機之間收發(fā)消息,但OEID只在堆疊交換機生命周期內(nèi)有效,也就是說直至重啟。如果一個堆疊交換機在啟動時有一個有效的SEID,OEID被設置成等于SEID。否則,由第一主機通過單元號碼分配機制分配給堆疊交換機一個OEID,此時將SEID設置成等于OEID。
工作在轉發(fā)狀態(tài)308時,交換機200適于轉入到監(jiān)管狀態(tài)316和通透(PT)狀態(tài)320并從監(jiān)管狀態(tài)316和通透(PT)狀態(tài)320轉回。在監(jiān)管狀態(tài)316中,交換機200發(fā)送監(jiān)管消息給它的兩個相鄰鄰居以進行監(jiān)管,類似于用于交換保持活躍消息的保持活躍機制。例如,在一個新堆疊交換機被插入ISS 120或者移走一個已有的交換機時,交換機200自動地和其他堆疊交換機交換拓撲信息,并且更新其堆疊交換機鄰居表。如果第一和第二主機同時出現(xiàn)故障,其余的堆疊交換機--其很可能在轉發(fā)狀態(tài)308中--進入到選舉狀態(tài)312,以選出一個新的主機。如果第二主機發(fā)生故障,并沒有選舉,而是第一主機選擇空閑單元的一個擔任第二主機的職責。一旦選定了該單元,第一主機將新的指派通過一個被授予最高權限的選舉指示消息告知整個堆疊。如果第一主機發(fā)生故障,并沒有真正的選舉,而是第二主機將自己提升到成為新的第一主機,并選擇空閑單元的一個成為新的第二主機。一旦選定了該單元,新的第一主機將新的指派通過一個被授予最高權限的選舉指示消息告知整個堆疊。
在通透(PT)狀態(tài)320中,堆疊交換機的數(shù)據(jù)端口202完全被禁止,以及路由引擎230被配置成將來自它兩個堆疊端口202S中任意一個的數(shù)據(jù)業(yè)務量傳送到相反的堆疊端口。在PT狀態(tài)320中,路由引擎230有效地模擬了在兩個相鄰堆疊交換機的堆疊端口之間的一個固定有線連接,這樣,防止了堆疊交換機系統(tǒng)120的連續(xù)性否則將有一個中斷。通透可以用于保持,而不是關閉與一個公共單元相鄰的堆疊交換機間的連續(xù)性,從而維護了ISS 120,否則,其中沒有實現(xiàn)示例性實施方式的堆疊交換機系統(tǒng)將會切斷它們的環(huán)拓撲,或者生成兩個獨立的鏈。
在優(yōu)選實施方式中,一個單元可以回到該通透模式,其中例如兩個單元擁有相同的OEID。多個堆疊交換機最初可以擁有相同的OEID,它們配置了例如相同的廠商設置的缺省EID或者保持在永久存儲器中的相同的用戶定義的SEID。在兩個或多個單元擁有相同的OEID時,除了兩個或多個堆疊交換機中的一個之外,所有堆疊交換機都轉移到PT狀態(tài)320,直至第一主機分配給每個堆疊交換機一個新的唯一OEID,并且此時,它們可以返回到轉發(fā)狀態(tài)308。具體而言,第一主機采用一個全局單元標識符(GID),向在通透狀態(tài)320中的單元發(fā)送一個它的新OEID,以及重新配置該單元以及使它返回到轉發(fā)狀態(tài)308必要的其他管理命令。全局單元標識符(GID)包括OEID和一個或多個附加標識符,例如堆疊交換機的媒質(zhì)訪問控制(MAC)地址,或者例如交換機的系列號,從而即使兩個交換機的OEID相同,也能唯一地識別每個堆疊交換機。
如所示,一個堆疊交換機可以在發(fā)現(xiàn)狀態(tài)310和監(jiān)管狀態(tài)316之間的任一方向上轉移,因為監(jiān)管是需要的,并且早在其中一個堆疊交換機檢測到一個鄰居的發(fā)現(xiàn)狀態(tài)310執(zhí)行,所以,必須執(zhí)行下面詳細描述的監(jiān)管任務。
A.可堆疊性確定狀態(tài)圖4示出了一個對應于圖3的可堆疊性確定狀態(tài)的流程圖。在堆疊單元初始化之后,端口狀態(tài)模塊212確定該交換機是否被網(wǎng)絡管理員配置成作為一個可堆疊交換機工作。如果不是,堆疊端口狀態(tài)決定框402的答案是否定的,交換機作為一個獨立交換機進行標準的轉發(fā)操作,而不具備采用ISMP的集成堆疊交換機系統(tǒng)的優(yōu)勢。如果該交換機被配置成作為一個堆疊交換機工作,中央管理模塊210和堆疊管理器214特別地啟動(步驟404)一個模式定時器,該定時器定義了分配給交換機的,用以確定到一個或多個另外堆疊交換機的連通性的時間。為了檢測出這些如果存在的堆疊交換機,堆疊管理器214在堆疊端口202S上監(jiān)聽是否存在保持活躍消息或者指示堆疊鏈路是工作著的其它類型信號。其他檢測機制可以監(jiān)控由堆疊交換機所產(chǎn)生的電信號,或者可以交換相互關聯(lián)的保持活躍消息,它們采用消息序列號來與發(fā)送的在前保持活躍消息建立關系,從而確保雙向通信。在證實了一個相鄰堆疊交換機之后,堆疊鏈路工作測試(步驟408)的答案是肯定的,交換機200進入到發(fā)現(xiàn)狀態(tài)310。在沒有一個相鄰堆疊交換機,并且模式檢測時間到期的情況下,模式定時器消逝測試410的答案是肯定的,堆疊交換機200初始化成一個堆疊(狀態(tài)306),從而使網(wǎng)絡管理員能夠以后連接一個或多個堆疊交換機到堆疊端口202S,以構造一個ISS 120。
B.發(fā)現(xiàn)狀態(tài)圖5是一個對應于圖3的發(fā)現(xiàn)狀態(tài)(狀態(tài)310)的流程圖。在進入發(fā)現(xiàn)狀態(tài)310之后,堆疊交換機200啟動初步監(jiān)管行動501,并且確定ISS 120的多個堆疊交換機的拓撲。初步監(jiān)管行動501包括一個監(jiān)管定時器的開始和保持活躍消息的初始發(fā)送。盡可能早在啟動處理中從堆疊交換機發(fā)送出保持活躍消息,以增加一個相鄰堆疊交換機在斷定不存在通過相關堆疊端口可到達的交換機之前,檢測出特定堆疊交換機的概率。在某些實施方式中,一個堆疊交換機還將在接收的保持活躍消息中的信息與本地數(shù)據(jù)相比較,以初步確定職責指派中的改變和拓撲,也就是是否改變了第一或第二主機。
學習拓撲所能花的時間由發(fā)現(xiàn)時間周期定義,它始于(步驟502)進入發(fā)現(xiàn)狀態(tài)310。請求已知堆疊交換機身份的拓撲請求消息隨后從檢測到一個相鄰堆疊的堆疊端口202S的每一個發(fā)出(步驟504)。類似地,交換機200也監(jiān)控(步驟506)它的堆疊端口202S,看是否從相鄰堆疊交換機發(fā)來拓撲相關消息,直至發(fā)現(xiàn)時間間隔已經(jīng)過去。
如果在任一堆疊端口202S上檢測到一個拓撲請求,接收到拓撲請求測試514的答案是肯定的,并且單元200以一個拓撲指示消息應答(步驟516)。拓撲指示消息包括它所知道的ISS 120的一個或多個堆疊交換機的列表,也就是與相反堆疊端口相關聯(lián)的堆疊鄰居表218中所列的單元。當檢測到拓撲指示,接收拓撲指示測試512的回答是肯定的,并且該交換機200將(步驟518)已知堆疊交換機的拓撲與接收的該堆疊交換機列表的拓撲相比較。如果拓撲不同,并且如果由每個堆疊交換機所提供的堆疊交換機標識符在ISS 120內(nèi)是唯一的(測試522),堆疊交換機200更新(步驟524)它的鄰居表218中的一個--也就是與在其上接收到拓撲指示消息的堆疊端口相關聯(lián)的那個--更新內(nèi)容為新近學習的堆疊交換機的身份,最好包括OEID、SEID、MAC地址、交換機硬件類型和啟動時間。在優(yōu)選實施方式中,如果相鄰堆疊交換機存在,堆疊交換機自動地發(fā)送(步驟526)一個具有從兩個堆疊端口202S中的另一個新近學習的拓撲的更新拓撲指示給該相鄰堆疊交換機。
如果由與第一堆疊端口相關聯(lián)的堆疊鄰居表,稱為第一堆疊鄰居表,所給出的拓撲和由與堆疊端口202S對中的第二堆疊端口相關聯(lián)的堆疊鄰居表,稱為第二堆疊鄰居表,所給出的拓撲相同和相反,則環(huán)路檢測測試528的答案是肯定的,并且交換機200進入到選舉階段312。然而,如果一個堆疊交換機檢測到它使用的工作單元標識符與另一交換機的相同--例如,這可能發(fā)生在其中多個堆疊交換機擁有相同的缺省值或者用戶定義的堆疊交換機標識符時--具有低優(yōu)先級標識符的交換機立即轉移到通透(PT)狀態(tài)320,以防止出現(xiàn)尋址不確定。
假定在ISS 120中沒有檢測到環(huán)路,發(fā)現(xiàn)時間將消逝,在沒有發(fā)現(xiàn)相鄰堆疊交換機的情況下,堆疊交換機200進入到轉發(fā)狀態(tài)308,或者如果在ISS 120中檢測到一個或多個相鄰堆疊交換機(測試530),則轉移到選舉狀態(tài)312。
在完成了發(fā)現(xiàn)狀態(tài)310之后,所有堆疊交換機最好交換了拓撲指示消息和學習了在ISS 120中存在的所有其它堆疊交換機的OEID。在優(yōu)選實施方式中,堆疊交換機還傳播每個堆疊交換機的啟動時間和MAC地址,它們和OEID一起,構成了一個選舉鍵,用于按照下面描述的過程,輔助進行堆疊選舉。
C.選舉狀態(tài)圖6A和6B一起給出了對應于圖3的選舉狀態(tài)的流程圖。在進入選舉狀態(tài)312之后,堆疊交換機200確定堆疊交換機的管理職責,也就是該交換機充當?shù)谝欢询B交換機、第二堆疊交換機還是一個空閑堆疊交換機。第一主機,其根據(jù)定義包括主CMM,是負責分配工作單元標識符的交換機,而第二堆疊交換機與第一主機同步,在第一主機變得不工作時,準備承擔第一主機的職責。
如果識別了第一主機,第一主機已知測試602的答案是肯定的。如果堆疊交換機200本身是第一主機(測試604),如果第二主機尚未識別(測試610),該交換機進入確定(步驟612)第二主機。在優(yōu)選實施方式中,選擇的第二主機是具有僅次于第一主機的最低選舉鍵的堆疊交換機。在優(yōu)選實施方式中,將自己視為第一主機的堆疊交換機發(fā)送(步驟614)一個選舉指示,向在ISS 120中的所有其它交換機宣稱它自己是第一主機。如果第一主機已知,但不同于當前堆疊交換機200,該交換機進入到轉發(fā)狀態(tài)308,并聽從第一主機進行必要的ISS 120管理操作,包括例如下面將詳細討論的新堆疊交換機標識符的指派。
在沒有已知第一主機的情況下,堆疊交換機200確定(步驟606)第二主機是否已知。如果交換機200自身是第二堆疊交換機,該交換機將自己升級為第一主機,并在轉移到單元號碼指派狀態(tài)314之前發(fā)送(步驟614)選舉指示消息。如果當前堆疊交換機知道第二主機不是它自己,該堆疊交換機認為自己承擔空閑職責,進入到轉發(fā)狀態(tài)308。
在不知道第一和第二主機的情況下,堆疊交換機200按照圖6B給出的過程,嘗試確定,也就是選舉ISS 120的一個單元。具體來說,多個堆疊交換機最好遵從一個層次編號方案來識別具有最小選舉鍵(以下定義)的單元,盡管本領域技術人員已知的各種其它優(yōu)先級方案也可能適用。該選舉鍵最好包括交換機的啟動時間、OEID和MAC地址。啟動時間代表了交換機加電并進入可堆疊性確定步驟302的時間。OEID最好是一個8比特號碼,用以從ISS 120的所有其它堆疊交換機中唯一地識別每個堆疊交換機。OEID一般由第一主機自動地指派,盡管網(wǎng)絡管理員也可以定義一個或更多。
發(fā)現(xiàn)了所有堆疊交換機,并且將每個交換機的選舉鍵傳播給ISS120中的所有其它交換機之后,當前堆疊交換機200首先通過比較(步驟620)它的選舉鍵和所有堆疊交換機的選舉鍵,本地確定它是否應該承擔第一主機的職責。如果當前交換機200確定它具有一個較低優(yōu)先級的選舉鍵,競選成功者測試(步驟622)的答案是否定的,該交換機轉移到轉發(fā)狀態(tài)308。然而,如果當前交換機200確定它具有優(yōu)先級最高的選舉鍵,并且因此是競選成功者,那么該交換機臨時承擔第一主機的職責,啟動(步驟624)一個規(guī)定了分配給交換機完成選舉并匯聚到下一狀態(tài)的時間周期的選舉定時器,最好是三秒。優(yōu)選實施方式中的堆疊交換機200還分發(fā)一個或多個選舉請求消息(步驟626),以通知ISS中的其他單元它臨時承擔第一主機的職責。
本領域中普通技術人員會理解,選舉請求消息和選舉定時器的一個目的是防止兩個或多個單元無意間災難性地把自己升級為同一ISS 120中的PMS。如果例如在發(fā)現(xiàn)階段(狀態(tài)310)期間一個堆疊單元或堆疊鏈路出現(xiàn)故障或者一個新單元在發(fā)現(xiàn)階段完成之后立即加電,這樣臨時將ISS 120劃分成兩個或多個分離的部分,每個部分選出一個不同的第一主機,那么ISS 120中的一個或多個堆疊交換機相信它是第一主機。為了防止這種情況導致ISS 120癱瘓,確定它自己是第一主機的優(yōu)選實施方式的每個堆疊交換機分發(fā)(步驟626)一個或多個選舉請求消息,最好是三個,給臨時承擔第一主機的職責的所有其它堆疊交換機,這樣,提供給競爭交換機一個示例性的機制,用以通過通知和鍵比較來輔助第一主機的仲裁。
如上所述,如果在選舉定時器消逝(測試632)之前,交換機200檢測出(測試636)另一個選舉請求,該交換機比較(步驟644)它的選舉鍵和臨時以第一主機工作的其它堆疊交換機的選舉鍵。基于最高優(yōu)先級選舉鍵選擇勝出的交換機通過重發(fā)(步驟648)它的選舉請求來重新表明它自己是第一主機,而失敗的交換機則進入到轉發(fā)狀態(tài)308。勝出的第一主機分發(fā)(步驟642)選舉指示消息給所有的堆疊單元,以告知它們新的第一和第二主機的身份。除了第二主機之外,其它目前沒有指定職責的單元在接收到該消息之后,都承擔空閑職責。
在選舉時間消逝之前,接收到一個選舉指示(測試634)的堆疊交換機通過進入到轉發(fā)狀態(tài)308而不發(fā)送任何進一步的選舉請求消息,來實施該消息。一般而言,接收到選舉指示消息的各個單元必須總是聽從該消息,除非另一單元已經(jīng)承擔了第一主機的職責。這種例外是需要的,以協(xié)調(diào)因為堆疊合并情況,或者環(huán)上出現(xiàn)兩個故障而導致多個第一主機出現(xiàn)在同一堆疊的情況。
在沒有其他堆疊交換機試圖充當?shù)谝恢鳈C的情況下,選舉定時器消逝(測試632),堆疊交換機200指派(步驟640)一個第二主機,發(fā)送一個選舉指示(步驟642);并進入到單元號碼指派狀態(tài)314。
如上所討論,在優(yōu)選實施方式中,選舉狀態(tài)312采用兩類選舉消息,也就是(a)由單元用來請求第一主機職責或者請求當前主機的身份的選舉請求消息,以及(b)由第一主機用來向其他堆疊成員廣播它的身份,以及第二主機的身份的選舉指示消息。圖11給出了一個優(yōu)選實施方式中采用的代表性的堆疊選舉消息格式。堆疊選舉消息1100包括一個消息類型字段1102,用以區(qū)分一個選舉請求和一個選舉指示;一個始發(fā)者身份鍵1104,包括一個OEID和MAC地址對,它最好唯一標識該單元,將其與ISS 120中所有其它單元區(qū)分開,而不管兩個單元是否擁有相同的OEID;一個跳計數(shù)字段1106,用以跟蹤在到達目的堆疊交換機時,該消息傳播所經(jīng)過的單元數(shù)目;一個第一選舉鍵字段1108,包括由發(fā)起單元所識別的第一堆疊交換機的啟動時間、OEID和MAC地址;以及一個第二選舉鍵字段1110,包括由發(fā)起單元所識別的第二堆疊交換機的啟動時間、OEID和MAC地址。跳計數(shù)字段1106最初由發(fā)出該消息的堆疊交換機根據(jù)一個預定的數(shù)定義。在經(jīng)由它們的堆疊端口從單元到單元發(fā)送消息的過程中,跳計數(shù)在每個中間堆疊交換機處減量,直至跳計數(shù)為0,此時刪除該消息。
D.單元號碼指派狀態(tài)圖7A和7B一起給出了對應于圖3的單元號碼指派狀態(tài)的流程圖。在進入單元號碼指派狀態(tài)314之后,ISS 120的第一堆疊交換機確定那些還沒有一個唯一插槽編號或者具有一個未指定的插槽編號,例如一個制造商定義的缺省值的單元的OEID。如前所述,OEID用于在堆疊交換機之間尋址PDU和控制消息。在可能的情況下,第一主機最好嘗試以開始于1或者最小的可用整數(shù)值的有順序的分配OEID給連續(xù)的交換機。
如第一堆疊交換機(PSS)OEID測試702所示,PSS評估它自己的工作單元標識符,在需要時,(步驟704)給它自己指派最小的可用OEID。為了方便網(wǎng)絡管理員,第一主機最好指派了單元標識符1,如果其以前沒有指派給另一單元,那么它應該可用。第一主機依次對每一個通過與第一堆疊端口鄰居表相關聯(lián)的索引_A,以及與第二堆疊端口鄰居表相關聯(lián)的索引_B與兩個堆疊端口202S相關聯(lián)的鄰居表218中給出的每一個堆疊交換機進行相應的操作。如上所述,索引_A被初始化(步驟706)為1,對應于第一鄰居表中給出的第一單元,之后增量(步驟714)索引_A。如果第一鄰居表中給出了一個或多個相鄰堆疊交換機,鄰居_A測試708的答案是肯定的,并且為每一個具有未指定OEID(710)的鄰居指派(步驟712)一個從最小的可用單元標號開始的OEID。一個單元在第一次啟動或者它的配置信息被清除時通常不會有OEID。如果該單元以前啟動過,并且分配有一個OEID,那么該單元通常會有一個OEID,它以SEID的形式保留在永久存儲器中。每一個端口_A鄰居堆疊交換機,也就是由數(shù)量_鄰居_A所給出的總數(shù),在需要時指派一個OEID,此時索引_A大于數(shù)量_鄰居_A,以及鄰居_A測試708的答案是否定的。如果ISS 120的特征是例如一個環(huán)路拓撲,每個堆疊交換機能夠從第一堆疊端口訪問,因此,在圖7A中所給出的過程下指派一個OEID。這種情況下,圖7B的環(huán)路測試720的答案是肯定的,以及指派的OEID被傳送到每個可應用單元。
參看圖7B,在完成可從第一堆疊端口訪問的單元的OEID指派過程后,第一主機為從第二堆疊端口可訪問的單元指派OEID。在優(yōu)選實施方式中,進行指派的順序取決于ISS 120的拓撲,以及從各個堆疊端口可以訪問的單元的數(shù)量。如果ISS 120拓撲的特征是一個鏈,并且有從兩個堆疊端口202S都可以訪問的單元,則從最遠的單元開始,以升序向離開第二堆疊端口的單元指派OEID。該OEID指派方案因此指派OEID給在一個鏈中的單元的時候,就像這些單元在一個環(huán)中連接一樣,從而提供了一種便于網(wǎng)絡管理員使用的直觀編號方案。具體來說,如果有單元可以通過第一堆疊端口到達--也就是說,數(shù)量_鄰居_A測試722是否定的--離端口_B最遠的相鄰堆疊交換機--由鄰居表中索引_B=數(shù)量_鄰居_B給出--指派(步驟732)最小可用單元標號,如果該單元還沒有指派(測試730)OEID。如減量步驟734表明,減小索引_B,根據(jù)需要指派OEID給下一個最近的堆疊交換機,直至處理完離開該第二堆疊端口的相鄰堆疊交換機。在每個單元都指派了OEID之后,索引_B測試726的答案是肯定的,單元標識符以OEID指派消息的形式,傳送(步驟728)給它們各自的堆疊交換機,并且第一主機進入到轉發(fā)狀態(tài)308。
與上面的描述相反,在沒有相鄰堆疊交換機可以從第一堆疊端口訪問時--也就是數(shù)量_鄰居_A等于0,以及測試722是肯定的--開始于鄰居_B表中首先列出的單元所給出的相鄰鄰居,OEID指派一般從最小可用OEID開始。具體來說,鄰居_B表中索引_B所指位置處的堆疊交換機--也就是鄰居_B[索引_B]--指派(步驟746)了最小可用OEID,直至需要OEID的各個單元都指派了OEID(步驟744),并且遍歷了整個鄰居_B表,這發(fā)生在索引_B大于數(shù)量_鄰居_B,并且鄰居測試步驟742的回答是否定時。
圖8A和8B分別給出了在指派單元號碼給左邊之前,以及指派單元號碼給右邊之后,ISS系統(tǒng)800的例子。在這些例子中,ISS 800包括四個堆疊交換機801-804,以環(huán)路或環(huán)的形式連接。在單元號碼指派狀態(tài)314之前,每個單元都有一個未指定的OEID,并且第三交換機803擔當?shù)谝恢鳈C的職責。按照本發(fā)明,第三交換機803給自己指派了最小的可用OEID,也就是一(1),并且以依次遞增的方式指派可以從第一堆疊端口,也就是端口_A,訪問的單元。如圖8B所示,與PSS 803端口_A相鄰的堆疊交換機804指派了OEID二(2),下一最近的堆疊交換機801指派了OEID三(3),離第一主機803端口_A最遠的堆疊交換機802指派了OEID四(4)。在從第一主機接收到廣播所有單元的OEID的消息后,各個堆疊交換機801-804在易失存儲器中存儲它自己的新OEID指派,將它自己的SEID設置成與它的新OEID相等,將它自己的SEID存儲到永久存儲器中。從來自第一主機的廣播OEID的消息還包括與各個OEID相關聯(lián)的MAC地址。
圖9A和9B分別給出了在指派單元號碼給左邊之前,以及指派單元號碼給右邊之后,ISS系統(tǒng)900的例子。在這些例子中,ISS 900包括四個堆疊交換機901-904,以鏈的形式連接。在單元號碼指派狀態(tài)314之前,每個單元都有一個未指定的OEID,并且第三交換機903擔當?shù)谝恢鳈C的職責。按照本發(fā)明,第三交換機903給自己指派了最小的可用OEID,也就是一(1),并且以依次遞增的方式指派可以從第一堆疊端口,也就是端口_A,訪問的單元。如圖9B所示,與第一主機903端口_A相鄰的堆疊交換機904指派了OEID二(2)。由于存在一個或多個堆疊交換機與第一主機903的堆疊端口_A相鄰,第一主機從離端口_B最遠的堆疊交換機開始,以升序指派OEID。具體而言,第一主機903指派下一最小可用的單元編號,也就是OEID三(3)給遠端堆疊交換機901,而在第一主機方向中下一堆疊交換機902則指派了OEID四(4)。這樣,由PSS 903的自動單元號碼指派導致了一個單元號碼的依次上升序列,堆疊交換機鏈好像是一個環(huán),從而為網(wǎng)絡管理員自動地提供了一種方便且直觀的編號協(xié)定。
圖10A和10B分別給出了在指派單元號碼之前,以及指派單元號碼之后,ISS系統(tǒng)1000的例子。在這些例子中,ISS 1000包括四個堆疊交換機1001-1014,以環(huán)的形式連接。在單元號碼指派狀態(tài)314之前,一些但不是全部單元有以前指定的單元編號,也就是第一單元有OEID二(2),第三單元有OEID一(1)。和前面一樣,第三交換機1103擔當?shù)谝恢鳈C的職責。按照本發(fā)明,與第一主機1003端口_A相鄰的堆疊交換機1004被指派了最小的可用單元編號,也就是OEID三(3)。繼續(xù)到通過第一主機1003端口_A可以到達的下一堆疊交換機,第一主機以升序的形式指派可用OEID。具體來說,第一主機1003指派下一最小可用單元編號四(4)給堆疊交換機1002。
E.轉發(fā)狀態(tài)再次參看圖3,在單元號碼指派狀態(tài)314之后,ISS的堆疊交換機適于轉移到轉發(fā)狀態(tài)308,在其中各個交換機100-103適于發(fā)送數(shù)據(jù)業(yè)務量給所有其它交換機。在優(yōu)選實施方式中,堆疊交換機之間的通信可以采用一個交換機間標簽,用于有效地轉發(fā)PDU經(jīng)過ISS120,而各個接收單元不執(zhí)行獨立的分類和轉發(fā)操作,這些操作非常消耗資源并且有時候是不必要的,其中假定堆疊交換機彼此依次連接。優(yōu)選實施方式中采用的交換機間標簽包括一個協(xié)議標識符,源單元的OEID,目的單元的OEID,它們前綴到經(jīng)過ISS傳送的PDU。在源和目的單元之間的堆疊交換機接收到PDU后,該中間單元檢查協(xié)議標識符標簽,確定自己不是目的單元,將PDU轉發(fā)到與接收到該PDU的端口相反的端口。目的單元在接收之后,從PDU中移去標簽,將該PDU轉發(fā)給數(shù)據(jù)端口202,從而通往在該PDU中所指定的最終目的節(jié)點。
F.通透狀態(tài)如圖3所示,優(yōu)選實施方式的一個或多個堆疊交換機適于從一個或多個其它狀態(tài),包括轉發(fā)狀態(tài)308,轉移到通透狀態(tài)320。通透(PT)狀態(tài)320提供了一種機制,在禁止一個單元的交換功能時,它能夠防止數(shù)據(jù)業(yè)務量在ISS 120上中斷,同時仍允許網(wǎng)絡管理員監(jiān)控并發(fā)送配置命令給禁止的單元。具體而言,例如禁止執(zhí)行交換和路由選擇操作的單元轉移到通透狀態(tài)320,其中從一個堆疊端口202S接收的業(yè)務量轉發(fā)給相反的堆疊端口。數(shù)據(jù)端口202則相反,在一種禁止業(yè)務量收發(fā)的阻塞模式下。本領域技術人員會理解,即使一個特定單元不能執(zhí)行第二層交換和第三層路由選擇,PT狀態(tài)320仍能維護ISS上的傳輸連續(xù)性。
在優(yōu)選實施方式中,一個單元在以下情況中的一條或多條下,進入PT狀態(tài)320交換控制器標識符(SCID)不夠;堆疊中單元太多;相同的OEID,也就是同一OEID被兩個或多個單元使用;以及通過管理命令的用戶請求。在優(yōu)選實施方式中,第一主機被禁止工作在PT狀態(tài)320。只有職責為第二主機、空閑或未指派的堆疊交換機才能在該狀態(tài)下工作。在PT狀態(tài)320中的單元可以承擔第二主機或者空閑的職責,而不需要重啟。
在優(yōu)選實施方式中,在PT狀態(tài)320中的單元由一個特殊范圍的通透單元標識符(PTID)來唯一標識。PTID與OEID相似,只是PTID是一個運行時間值,用以讓該堆疊中所有軟件應用程序都能識別在通透狀態(tài)中的單元,而OEID是所有其它狀態(tài),包括例如轉發(fā)狀態(tài)308使用的主要單元標識符。PTID的范圍最好與OEID范圍同延,并具有數(shù)字偏移量。如果,例如單元數(shù)量在1和100之間變化,PTID的范圍可以從101到200,也就是單元的最大數(shù)量加100。PTID由第一主機利用通透指派消息來指派,該通透指派消息包括一個或多個單元的列表--由MAC地址和OEID識別--這些是進入PT狀態(tài)320以及改變的原因。
在進入PT狀態(tài)320之前,進入通透模式的交換機的堆疊管理器214必須將狀態(tài)變化通知給感興趣的軟件應用程序,通知應用程序該單元不再作為標準堆疊單元工作,并允許交換機禁止所有的網(wǎng)絡用戶端口202。此外,堆疊管理器214還通知ISS 120中的所有單元該交換機轉入PT狀態(tài)320,并且提供進入該狀態(tài)的理由,以及連同交換機的原OEID。一個單元最好產(chǎn)生適當?shù)娜罩疽约肮芾碲?,以將該事件告警給網(wǎng)絡管理員。
當一個單元轉移到PT狀態(tài)320時,由第一主機指派一個PTID,該PTID被發(fā)送給該單元,并且在任何消息交互中使用PTID,而不是以前的OEID。在PT狀態(tài)320中的單元一般只通過堆疊管理器協(xié)議傳輸與管理應用程序進行通信。
從拓撲角度看,為了確定跳計數(shù),將PT狀態(tài)320中的單元看作是一個跳。例如,在由1-101-4-5-6給出的一個堆疊交換機序列中,其中與101相關聯(lián)的單元是在通透模式,單元4與單元1相差兩跳。因此,在通透狀態(tài)下的單元的堆疊管理器214在進行傳輸之前,負責對接收的消息中的跳計數(shù)字段進行相減操作。在內(nèi)部傳播機制的變化中,其中沒有采用跳計數(shù)字段,該單元總是將接收的消息轉發(fā)給相反的堆疊端口202S。
在通透狀態(tài)320中的一個單元適于在堆疊端口之間發(fā)送數(shù)據(jù)業(yè)務量,并接收由第一主機發(fā)往PTID的ISS管理消息。在優(yōu)選實施方式中,通透單元接收并處理以下接收的堆疊協(xié)議消息監(jiān)管消息、拓撲請求、拓撲指示消息、選舉指示消息、SCID標識符指派和重載請求,也就是重啟一個單元的請求。通透單元最好還適于產(chǎn)生并發(fā)送以下堆疊協(xié)議消息監(jiān)管消息、拓撲請求消息以及拓撲指示消息。在通透狀態(tài)中的一個單元一般不作為一個候選者參與選舉處理。然而,它最好能訪問第一和第二主機單元的身份。它最好也參與識別重復主機、重復OEID以及甚至重復PTID的處理,在兩個堆疊合并,以及每個堆疊有一個具有相同PTID的PT單元時,上述情況可能發(fā)生。
以下段落總結了一個單元如何響應SCID被過度消耗的情況,堆疊交換機多得ISS無法支持的情況,有重復OEID的情況,以及用戶通過管理命令間接地請求通透狀態(tài)的情況,到達通透操作模式??偨Y段落中的編號是為了分類各個例子,并不反映示例性步驟的獨特順序排列。
SCID的過度消耗1.將一個單元放入PT狀態(tài)320的決定由第一主機作出。第一主機分發(fā)一個具有被指令進入PT狀態(tài)的單元列表以及各個單元的原因的通透指派消息。為需要進入PT狀態(tài)320的各個單元分配一個PTID。
2.在接收到一個PT指派消息后,一個單元檢查它是否被指令轉移到通透狀態(tài)。如果是,該單元將它的OEID改變?yōu)樵谠撓⒅兄付ǖ腜TID,并記下進入通透模式的原因。該單元隨后3.清除與SCID請求消息相關聯(lián)的一個標記比特,以停止請求一個SCID;4.更新它的職責為通透;5.通知感興趣的應用程序;以及6.對它的網(wǎng)絡處理器206的交換結構(未示出)進行編程,使得從堆疊端口_A接收到的傳統(tǒng)用戶業(yè)務量從堆疊端口_B發(fā)出,或者相反。
堆疊中單元過多1.將一個單元放入PT狀態(tài)320的決定由第一主機作出。第一主機分發(fā)一個具有被指令進入PT狀態(tài)的單元列表以及各個單元的原因的通透指派消息。為需要進入PT狀態(tài)320的各個單元分配一個PTID。
2.在接收到一個PT指派消息后,一個單元檢查它是否被指令轉移到通透狀態(tài)。如果是,該單元將它的OEID改變?yōu)樵谠撓⒅兄付ǖ腜TID,并記下進入通透模式的原因。該單元隨后3.更新它的職責為通透;4.通知感興趣的應用程序;以及5.對它的網(wǎng)絡處理器206的交換結構(未示出)進行編程,使得從堆疊端口_A接收到的傳統(tǒng)用戶業(yè)務量從堆疊端口_B發(fā)出,或者相反。
重復OEID1.進入PT狀態(tài)320的決定首先由本地堆疊單元發(fā)起。當一個單元知道另一堆疊單元具有相同OEID時,它比較它的選舉鍵和遠端重復單元的選舉鍵。如果它的選舉鍵比該另一個單元的選舉鍵優(yōu)先級低,則該本地單元放棄該OEID。
2.該單元將其OEID改變成一個專用(特殊)值,這里稱為堆疊重復單元標識符,例如值254,它是一個臨時ID,在收到PTID之前使用。
3.當?shù)谝恢鳈C通過例如拓撲或監(jiān)管消息,檢測到有一個單元的PTID等于該堆疊重復單元標識符時,它分配一個唯一的PTID給該單元,并通過一個其中的字段原因設置為指示重復OEID的PT指派消息將該新的PTID分發(fā)給該單元。為需要進入通透模式的各個單元分配一個新的PTID。
4.在接收到一個PT指派消息后,一個單元檢查它是否被指令轉移到PT狀態(tài)320。如果是,該單元將它的OEID改變成在該消息中指定的PTID,并記下進入通透模式的原因。該單元隨后5.更新它的職責為通透;6.通知感興趣的應用程序;以及7.對它的網(wǎng)絡處理器206的交換結構(未示出)進行編程,使得從堆疊端口_A接收到的傳統(tǒng)用戶業(yè)務量從堆疊端口_B發(fā)出,或者相反。
在通過管理命令用戶請求時在一些情況下,即使沒有出現(xiàn)沖突或者缺少資源情況,PT狀態(tài)320仍可能有用。本發(fā)明的實施方式提供了一種管理命令,網(wǎng)絡管理員可以通過它來“清除”SEID,也就是在永久存儲器中存儲的單元編號。盡管不必采用PT狀態(tài)320來更新保留的單元標識符,當單元數(shù)量達到最大時,將一個單元放入通透狀態(tài)可以有助于對堆疊進行重新編號。例如,假定堆疊單元的最大數(shù)量是4,允許的OEID的范圍是[1..4],各個單元最初配置成一個1-4-3-2環(huán),這些單元需要重新編號,使得最終配置是1-2-3-4。
如果該實現(xiàn)需要重啟用以使保存在永久存儲器中的新的單元標識符成為工作單元標識符,那么一般不分割該堆疊而達到這一點的唯一方法最好是通過重啟整個堆疊??梢圆捎靡韵逻^程a)堆疊清除OEID=2為通透狀態(tài),從而導致工作拓撲OEID為1-4-3-101,SEID為1-4-3-0;b)堆疊為具有OEID=4的單元設置SEID=2OEID為1-4-3-101,SEID為1-2-3-0;c)重載單元OEID=4,從而在重啟之后,OEID為1-2-3-101,SEID為1-2-3-0;d)重載單元PTID=101,從而在重啟之后,OEID為1-2-3-4,SEID為1-2-3-4;通過這種方式,實際上只是重啟了需要重新編號的單元。
用戶請求轉移到通透狀態(tài)的事件序列如下1.進入通透模式的決定首先由第一主機作出。第一主機分發(fā)一個具有被指令進入PT狀態(tài)的單元列表以及其中字段原因被設置為管理清除插槽的通透指派消息。為需要進入PT狀態(tài)的各個單元分配一個PTID。
2.在接收到一個PT指派消息后,一個單元檢查它是否被指令轉移到通透狀態(tài)320。如果是,該單元將它的OEID改變?yōu)樵谠撓⒅兄付ǖ腜TID,并記下進入通透模式的原因。該單元隨后3.從永久存儲器中清除該SEID;4.更新它的職責為通透;5.通知感興趣的應用程序;以及6.對它的網(wǎng)絡處理器206的交換結構(未示出)進行編程,使得從堆疊端口_A接收到的傳統(tǒng)用戶業(yè)務量從堆疊端口_B發(fā)出,或者相反。
G.監(jiān)管狀態(tài)再次參看圖3,優(yōu)選實施方式的所有堆疊交換機都適于產(chǎn)生定期的監(jiān)管消息,并把它們發(fā)送到與它們的相鄰鄰居。通過這種方式,每個堆疊交換機能夠監(jiān)控網(wǎng)絡拓撲的變化。具體來說,監(jiān)管消息的交換使得單元能夠檢測出何時一個相鄰鄰居插入到堆疊中,檢測出何時通往相鄰鄰居的物理連接被改變,檢測出與一個鄰居的通信是否已經(jīng)丟失,即使與該鄰居之間的物理鏈路仍然工作。在優(yōu)選實施方式中,ISS 120的各個堆疊交換機定期地從一個或多個其它狀態(tài),包括發(fā)現(xiàn)狀態(tài)310、選舉狀態(tài)312、單元號碼指派狀態(tài)314、轉發(fā)狀態(tài)308以及通透狀態(tài)320,轉移到監(jiān)管狀態(tài)316。然而,本領域技術人員會理解,拓撲監(jiān)管狀態(tài)316和轉發(fā)狀態(tài)308可以同時工作,因此能夠合并成單個狀態(tài)。
圖12給出了按照優(yōu)選實施方式的堆疊監(jiān)管消息的內(nèi)容。該監(jiān)管消息包括一個消息類型1202,它將該消息識別為一個監(jiān)管消息;一個始發(fā)方信息字段1204,包括發(fā)送單元的OEID、MAC地址、始發(fā)堆疊端口和單元硬件類型;一個第一識別鍵字段1206,包括由發(fā)送單元所識別的第一主機的OEID和MAC地址;一個第二識別鍵字段1208,包括由發(fā)送單元所識別的第二主機的OEID和MAC地址;一個單獨標記字段1210,其被設置時表明發(fā)送單元在相反的堆疊端口上沒有相鄰堆疊交換機;一個SCID請求矩陣字段1212,提供了一個其處理器ID,例如交換控制器ID未知或未指派的堆疊單元的列表。
根據(jù)在進入發(fā)現(xiàn)狀態(tài)310后被初始化501的監(jiān)管定時器從堆疊端口202S發(fā)送監(jiān)管消息。在優(yōu)選實施方式中,監(jiān)管消息每秒定期地發(fā)送,盡管時間可以根據(jù)例如拓撲改變。如下面詳細描述,例如,可以采用監(jiān)管消息交換(1)作為一種保持活躍機制;(2)在ISS120中檢測出(a)拓撲改變,(b)具有重復OEID的單元,(c)ISS中的重復第一或第二主機;(3)激活驗證堆疊完整性的處理;以及(4)如果需要,采取行動以糾正并更新堆疊拓撲和堆疊單元信息。
在優(yōu)選實施方式中,堆疊交換機200適于監(jiān)控堆疊鏈路狀態(tài),以確定到一個鄰居的物理堆疊鏈路何時工作或不工作。當一個堆疊鏈路開始工作時,該單元發(fā)送一個拓撲請求消息給該新近檢測出來的鄰居。當一個堆疊鏈路停止工作時,該單元進行(a)重置對應于停止工作的堆疊鏈路的鄰居列表;(b)從相反堆疊端口發(fā)送一個拓撲指示消息,以將拓撲變化傳播給其他鄰居;(c)處理職責改變,包括選擇一個新的第二主機,如果已知第一主機已經(jīng)發(fā)生故障接管第一主機的職責,如果ISS 120上不再有第一或第二主機,請求第一主機的職責。
如上所述,監(jiān)管消息由各個堆疊單元定期地發(fā)送給它兩邊的相鄰鄰居。這種交換使得各個堆疊交換機能夠很快地(a)檢測出何時一個相鄰鄰居被插入到ISS 120;(b)檢測出何時修改了與一個相鄰鄰居的物理連接,例如何時調(diào)換了一個堆疊鏈路電纜;(c)證實一個已有鄰居仍然活躍;以及(d)檢測--基于預期具有一個或多個連續(xù)監(jiān)管消息,但沒有從一個鄰居收到--何時即使與一個鄰居之間的物理鏈路仍然工作,但與該鄰居的通信已經(jīng)丟失。如果沒有收到一個或多個連續(xù)監(jiān)管消息,則堆疊交換機200假定該鄰居不再工作,并且在已知第二主機發(fā)生故障的情況下,激活職責改變處理,以選擇一個新的第二主機,在已知第一主機發(fā)生故障的情況下接管該第一主機的職責,或者如果在堆疊上不再有第一或第二主機時,請求第一主機的職責。
由堆疊交換機200所采取的行動取決于特定類型的拓撲改變。如果收到一個監(jiān)管消息,并且檢測出任何ISS拓撲改變,堆疊交換機200生成一個拓撲指示消息,然后將它發(fā)送到相反的堆疊鏈路。如果收到一個監(jiān)管消息,并檢測到一個新的鄰居,堆疊交換機200針對相反的堆疊鏈路,發(fā)送給該新的鄰居已知的ISS拓撲,也就是在與相反堆疊端口相關聯(lián)的鄰居表中列出的堆疊交換機鄰居。如果收到一個設置了一個單獨標記的監(jiān)管消息,堆疊交換機200通過移去通過發(fā)送該監(jiān)管消息的單元能夠到達的任何鄰居來更新相關聯(lián)的鄰居表。如果收到了一個沒有設置單獨標記的監(jiān)管消息,并且與該堆疊端口相關聯(lián)的鄰居表表明存在一個單個鄰居,堆疊交換機200發(fā)送一個拓撲請求消息給該監(jiān)管消息的始發(fā)方。如果收到一個監(jiān)管消息,并且堆疊鏈路的電纜線路改變了,堆疊交換機200重置或否則清除與接收該消息的堆疊鏈路相關聯(lián)的鄰居表,并且通過一個拓撲指示發(fā)送已知拓撲給該鄰居。在執(zhí)行了適當?shù)捻憫?,堆疊交換機200轉移回進入監(jiān)管狀態(tài)316之前的狀態(tài)。
本領域一般技術人員會明白,監(jiān)管消息交換具有許多優(yōu)點。具體來說,由于鄰居監(jiān)控特征可以快速地檢測出鄰居故障,以及當一個堆疊鏈路停止工作時,或者一個相鄰鄰居沒有對多個連續(xù)監(jiān)管消息做出反應時,立即處理職責變化得到的快速接管。此外,某些實施方式中的堆疊交換機可以臨時地禁止監(jiān)管狀態(tài)316,也就是例如防止監(jiān)管消息的傳輸。如果例如發(fā)生了故障,并且第一主機預見到關機和重啟,正在準備一個事后的調(diào)查分析文件時,第一主機可以分發(fā)一個監(jiān)管暫停消息給所有堆疊單元。作為對該監(jiān)管暫停消息的響應,ISS 120的單元停止監(jiān)管消息的發(fā)送,它如果沒有得到響應,會導致堆疊交換機錯誤地假定已失去了第一主機,并轉向第二主機,從而在原第一主機完成事后的調(diào)查分析文件的準備之后,導致出現(xiàn)了兩個第一主機。在第一主機完成事后的調(diào)查分析文件的準備之后,可以由它自動地重新選通監(jiān)管狀態(tài)。在某些實施方式中,在由超時參數(shù)所定義的預定時間段之后,由單元自己自動地重新選通監(jiān)管狀態(tài)316,以處理其中監(jiān)管狀態(tài)沒有被第一主機重新選通的情況。該超時參數(shù)應當足夠得長,使得第一主機能夠完成事后的調(diào)查分析文件的準備。
在某些實施方式中,在接收到一個監(jiān)管消息之后,一個單元還檢查它本地的SCID矩陣。如果一個單元請求SCID,該單元檢查它本地SCID矩陣的本地拷貝,看看它是否知道該特定單元的SCID指派。如果是的,它通過內(nèi)部傳播機制,發(fā)送一個SCID指派消息給所有堆疊成員。如果監(jiān)管消息的接收方不知道SCID指派,它將設置一個對應于在全局SCID矩陣中的請求方單元的標記,并且將更新后的矩陣傳送給相反的鄰居單元。
盡管以上描述包含了很多規(guī)定,但這些規(guī)定不應當被理解成限制本發(fā)明的范圍,而是僅提供了對本發(fā)明一些當前優(yōu)選實施方式的說明。
因此,本發(fā)明通過例子來公開,但不局限于這些例子,應當參考所附的權利要求書來確定本發(fā)明的范圍。
權利要求
1.一種在一個包括多個可操作地連接成系列的堆疊交換機的堆疊交換機系統(tǒng)中的交換設備,該交換設備包括兩個堆疊端口,至少一個所述堆疊端口可操作地連接到所述多個堆疊交換機中的一個;以及一個堆疊管理器,適于在沒有一個工作堆疊交換機標識符的情況下,識別所述多個堆疊交換機中的一個或多個;為所述一個或多個堆疊交換機中的每一個自動地指派一個工作堆疊交換機標識符集合中的一個;其中該工作堆疊交換機標識符的集合包括有序整數(shù),以及其中所述有序工作堆疊交換機標識符是按照所述系列中的所述一個或多個堆疊交換機的有序位置指派的。
2.根據(jù)權利要求1的交換設備,其中將該工作堆疊交換機標識符集合的最小整數(shù)指派給一個在該堆疊交換機系統(tǒng)中具有最小MAC地址的堆疊交換機。
3.根據(jù)權利要求1的交換設備,其中該工作堆疊交換機標識符集合包括連續(xù)整數(shù)。
4.根據(jù)權利要求3的交換設備,其中該連續(xù)整數(shù)集合以升序形式指派。
5.根據(jù)權利要求4的交換設備,其中該連續(xù)整數(shù)集合的第一整數(shù)的值為1。
6.根據(jù)權利要求3的交換設備,其中該連續(xù)整數(shù)集合的第一整數(shù)被指派給一個在該堆疊交換機系統(tǒng)中具有最小MAC地址的堆疊交換機。
7.根據(jù)權利要求2的交換設備,其中該工作堆疊交換機標識符集合在該堆疊交換機系統(tǒng)內(nèi)是唯一單元標識符。
8.根據(jù)權利要求4的交換設備,其中該連續(xù)整數(shù)集合被指派給從所述多個堆疊端口的一個第一堆疊端口能夠到達的堆疊交換機。
9.根據(jù)權利要求8的交換設備,其中所述堆疊交換機系統(tǒng)具有一個環(huán)拓撲。
10.根據(jù)權利要求1的交換設備,其中該有序整數(shù)集合被指派給可從所述多個堆疊端口的第一堆疊端口和所述多個堆疊端口的第二堆疊端口到達的堆疊交換機,其中所述有序整數(shù)按照開始于該鏈的一個極端的該系列中的所述一個或多個堆疊交換機的有序位置指派。
全文摘要
本發(fā)明公開了一種堆疊交換機,用于執(zhí)行通透轉發(fā)操作,分配堆疊交換機標識符給多個堆疊交換機,臨時性地禁止由堆疊交換機所交換的監(jiān)管消息,以及選舉一個第一主堆疊交換機。在通透模式下,堆疊交換機自動地在堆疊端口之間轉發(fā)分組,而與它們的目的地址無關,以在禁止傳統(tǒng)橋接以及路由尋址操作的同時維持相鄰堆疊交換機之間的連通性。有序標識符也最好按照各個堆疊交換機的有序位置分配,以更好地反映這些交換機的拓撲。該交換機也最好適于臨時地禁止監(jiān)管消息在堆疊交換機之間的傳輸,以防止在交換機資源較少時對網(wǎng)管功能的重新指派。該交換機也可以基于該交換機開始工作的時間,執(zhí)行一個堆疊交換機標識符編號方案。
文檔編號H04L12/04GK1770738SQ20051011702
公開日2006年5月10日 申請日期2005年10月28日 優(yōu)先權日2004年10月28日
發(fā)明者伊格內(nèi)修斯·桑托索, 羅伯特·亨里克·雅各布·達·席爾瓦, 蒂莫西·希克斯, 文森特·馬格雷特 申請人:阿爾卡特公司