專利名稱:通過監(jiān)控鏈路狀態(tài)重新啟用端口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體上涉及用于自動啟用交換和/或路由設(shè)備中的媒體接口或端口的技術(shù)。特別地,本發(fā)明涉及用于在交換和/或路由設(shè)備內(nèi)部提供鏈路狀態(tài)監(jiān)控系統(tǒng)并使用這樣的鏈路狀態(tài)來自動啟用一個由于包括安全違規(guī)在內(nèi)的各種違規(guī)而先前被禁用或被阻塞的端口的系統(tǒng)和方法。
背景技術(shù):
當(dāng)今,可以獲得許多向網(wǎng)絡(luò)管理員提供禁用或阻塞物理端口的能力的交換機。禁用或關(guān)閉端口通常意味著阻塞在那些端口上的所有網(wǎng)絡(luò)通信。這樣做來防止網(wǎng)絡(luò)因為由于從那些端口進來的安全或策略違規(guī)所引起的不必要數(shù)據(jù)業(yè)務(wù)而服務(wù)中斷。這些違規(guī)可以包括病毒攻擊、過度的ping請求、具有未與特定端口子網(wǎng)關(guān)聯(lián)的一個因特網(wǎng)協(xié)議(IP)地址的過量的傳入分組、指定到另一交換或路由設(shè)備的地址解析協(xié)議(ARP)數(shù)據(jù)單元、以及超過帶寬限制或者其它網(wǎng)絡(luò)門限的協(xié)議數(shù)據(jù)單元(PDU)。
然而,這些被禁用的端口不是永久被禁用的。如果違規(guī)或規(guī)定這些端口禁用的標(biāo)準(zhǔn)被糾正或者不再存在,則啟用這些端口并將其用于網(wǎng)絡(luò)入口和出口業(yè)務(wù)。
然而,為了啟用這些被禁用的端口,網(wǎng)絡(luò)管理員必須識別每個被禁用端口的端口標(biāo)識號碼以及這些端口每一個的特定交換/路由設(shè)備。此外,管理員必須手動發(fā)出一組命令給交換/路由設(shè)備以便啟用這些端口。這個過程非常麻煩、勞動強度大,并且耗費時間,特別是當(dāng)管理員是管理一個大型網(wǎng)絡(luò)的時候。
因此需要一種避免需要手動啟用端口并從而為管理員減輕負擔(dān)的機制。本發(fā)明解決了此需要。
發(fā)明內(nèi)容
本發(fā)明特征是通過監(jiān)控物理層接口的鏈路狀態(tài)來自動重新啟用一個被禁用的端口或物理媒體接口的實施例。鏈路狀態(tài)中的任何變化都自動重新啟用一個先前被禁用的端口,從而允許通過先前被禁用端口進來的數(shù)據(jù)被接納進入交換機并自動地轉(zhuǎn)發(fā)或者路由/交換,而不必網(wǎng)絡(luò)管理員手動發(fā)出任何命令來手動地重新啟用該端口。
在第一實施例中,本發(fā)明提供一個轉(zhuǎn)發(fā)設(shè)備,它包括一個或多個物理層接口、一個或多個數(shù)據(jù)鏈路層控制器以及一個交換/路由模塊。這些物理層接口接收來自通信網(wǎng)的數(shù)據(jù)。數(shù)據(jù)鏈路層控制器包括一個或多個媒體接入控制器(MAC)端口、端口指示符和至少一個MAC處理器。數(shù)據(jù)鏈路層控制器根據(jù)包含在端口指示符中的數(shù)值丟棄或者接納基于物理層接口確定的鏈路狀態(tài)的數(shù)據(jù)。另一方面,交換/路由模塊適于轉(zhuǎn)發(fā)被數(shù)據(jù)鏈路層控制器轉(zhuǎn)發(fā)的這些數(shù)據(jù)單元。
在另一個實施例中,本發(fā)明提供了一種對轉(zhuǎn)發(fā)設(shè)備中的一個先前被阻塞端口自動解除阻塞的方法。被阻塞端口與一個指示被阻塞端口是否被阻塞的阻塞端口指示符相關(guān)聯(lián)。該方法包括如下步驟經(jīng)由與被阻塞端口關(guān)聯(lián)的一個物理層接口接收數(shù)據(jù)單元;監(jiān)控物理層接口的鏈路狀態(tài);當(dāng)在被監(jiān)控的鏈路狀態(tài)中發(fā)生變化時,自動重新設(shè)置阻塞端口指示符;以及當(dāng)阻塞端口指示符指示解除阻塞時,接納傳入數(shù)據(jù)單元。這個方法還可以包括以下附加步驟接收在網(wǎng)絡(luò)內(nèi)部執(zhí)行的一個或多個網(wǎng)絡(luò)策略;設(shè)置阻塞端口指示符;以及當(dāng)阻塞端口指示符指示阻塞時丟棄數(shù)據(jù)單元。
在另一個實施例中,本發(fā)明提供了一種轉(zhuǎn)發(fā)設(shè)備,包括一個或多個物理層接口,適于接收來自通信網(wǎng)的一個或多個數(shù)據(jù)單元;一個或多個數(shù)據(jù)鏈路層控制器;以及可操作地耦合到一個或多個數(shù)據(jù)鏈路層控制器的轉(zhuǎn)發(fā)模塊。每個數(shù)據(jù)鏈路層控制器包括一個或多個媒體接入控制器(MAC)端口,每個MAC端口適于可操作地耦合到一個或多個物理層接口;一個或多個端口指示符,其中每個端口指示符與MAC端口之一相關(guān)聯(lián),并且每個端口指示符適于指示關(guān)聯(lián)的MAC端口是被阻塞的還是解除阻塞的;以及至少一個MAC處理器,可操作地耦合到一個或多個MAC端口,適于讀取一個或多個端口指示符并且適于基于該一個或多個端口指示符選擇丟棄或接納由一個或多個物理層接口接收到的一個或多個數(shù)據(jù)單元。轉(zhuǎn)發(fā)模塊適于接收被一個或多個數(shù)據(jù)鏈路層控制器接納的一個或多個數(shù)據(jù)單元,并且適于轉(zhuǎn)發(fā)從數(shù)據(jù)鏈路層控制器中接收到的一個或多個數(shù)據(jù)單元。
在附圖中以示例但不局限的方式示出了本發(fā)明,其中圖1是根據(jù)本發(fā)明實施例的一個端口的高級狀態(tài)轉(zhuǎn)移圖;圖2是示出根據(jù)本發(fā)明實施例的一個解除阻塞端口和兩個被阻塞端口的高級框圖;圖3是根據(jù)本發(fā)明實施例的一個轉(zhuǎn)發(fā)設(shè)備的高級示意圖;圖4是示出根據(jù)本發(fā)明實施例的一個被阻塞端口的操作的高級流程圖;圖5是示出根據(jù)本發(fā)明實施例的當(dāng)鏈路狀態(tài)變化發(fā)生時的操作的高級流程圖;圖6是根據(jù)本發(fā)明實施例的一個交換/路由設(shè)備的框圖,示出了該設(shè)備如何處理各種協(xié)議數(shù)據(jù)單元;圖7是示出根據(jù)本發(fā)明實施例的標(biāo)志或指示符的數(shù)值的圖表,其中該標(biāo)志或指示符指示一個特定端口是否應(yīng)被阻塞以及示出當(dāng)鏈路狀態(tài)改變發(fā)生時如何修改這樣的數(shù)值;圖8是根據(jù)本發(fā)明實施例的一個適于執(zhí)行鏈路狀態(tài)監(jiān)控和端口重新啟用操作的多層交換/路由或者轉(zhuǎn)發(fā)設(shè)備的功能框圖;圖9是根據(jù)本發(fā)明優(yōu)選實施例的一個層1和層2處理機或模塊的高級示意圖;以及圖10是示出根據(jù)本發(fā)明實施例的各個模塊和部件的相互作用的高級功能框圖。
具體實施例方式
以下的詳細描述以一種清楚地使得本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)并使用本發(fā)明的方式通過示例而并非對本發(fā)明原理進行限制來說明了本發(fā)明,并且描述了本發(fā)明的多個實施例、修改、變形、可選方案以及用途,包括目前被認為是實現(xiàn)本發(fā)明的最佳的模式。
為了更好地理解附圖,不同附圖以及描述中類似的已編號附圖標(biāo)記用于在以下描述中來指代相同或者類似的結(jié)構(gòu)、動作、操作或者流程步驟。另外,一百系列內(nèi)的附圖標(biāo)記,例如102和104,最初在圖1中引入,二百系列的附圖標(biāo)記,例如222和224,最初在圖2中引入,如此等等。因此,九百系列的附圖標(biāo)記,例如920和940,最初在圖9中引入。
總的來說,本發(fā)明的一個實施例包括確定一個特定端口是否存在某些端口禁用條件。如果任何這樣的條件存在,則端口被自動或手動禁用,從而防止進一步接納進入交換設(shè)備并且從交換或轉(zhuǎn)發(fā)設(shè)備向外轉(zhuǎn)發(fā)或發(fā)送接收數(shù)據(jù)單元??墒侨绻@個特定端口的鏈路狀態(tài)從鏈路運行(linkup)改變?yōu)殒溌逢P(guān)閉(link down),則只要沒有禁用條件存在,這個端口就自動啟用,從而能夠進行接收數(shù)據(jù)單元的傳輸。從而,鏈路狀態(tài)的切換觸發(fā)端口的重新啟用,而不必另外的網(wǎng)絡(luò)管理員介入。網(wǎng)絡(luò)管理員從而不需要確定哪一端口是阻塞的或者哪一設(shè)備包含被阻塞端口,甚至不需要發(fā)出命令以便再激活先前被禁用的端口。
圖1是示出根據(jù)本發(fā)明實施例的一個端口的各個狀態(tài)的高級狀態(tài)圖。在初始狀態(tài)中,通常在系統(tǒng)啟動期間,端口被啟用或者被解除阻塞102。但是如果任何端口阻塞條件104存在,則端口被禁用或阻塞106。每當(dāng)存在一個鏈路狀態(tài)改變或者切換108——尤其是從鏈路運行到鏈路關(guān)閉或者從鏈路關(guān)閉到鏈路運行時,將一個被阻塞端口106變成解除阻塞或者再次被啟用110。每當(dāng)任何端口阻塞條件出現(xiàn)112時,然后將未阻塞的端口110變?yōu)楸蛔枞幕蚪玫?06。
圖2是根據(jù)本發(fā)明實施例的一個優(yōu)選雙工端口的高級框圖。在優(yōu)選實施例中,雙工端口有兩個部件一一接收部分被稱為入口端口部件而傳出部分被稱為出口端口部件。在該優(yōu)選實施例中,一個解除阻塞端口200具有處于解除阻塞狀態(tài)的入口部件,在此被稱為解除阻塞入口部件202、和處于解除阻塞狀況的出口部件,在此被稱為解除阻塞出口部件204。
另一方面,第一被阻塞端口210具有處于被阻塞或禁用狀態(tài)的入口部件,在此被稱為被阻塞入口部件212。此實施例進行操作以使被發(fā)送到被阻塞入口端口部件的協(xié)議數(shù)據(jù)單元(PDU)被物理接口層或?qū)右?PHY)接收但是不進一步被接納進入交換設(shè)備中。在此討論的層次是指開放式系統(tǒng)互連(OSI)參考模型的七個層次。如果一個出口端口部件214被阻塞,它可以不被用來轉(zhuǎn)發(fā)傳出PDU。但是,如果它被解除阻塞或啟用,則它可用來進一步轉(zhuǎn)發(fā)傳出PDU。
在優(yōu)選實施例中,第二被阻塞端口220具有被阻塞入口部件222和解除阻塞出口部件224。在另一個實施例中,第一被阻塞端口210具有被配置來阻塞數(shù)據(jù)的入口部件212和出口部件214。在另一個實施例中,端口是一個非雙工端口,因此,一個接收或傳入端口被完全阻塞或者完全解除阻塞。還有本發(fā)明的另一實施例也是可行的,其中入口端口部件被解除阻塞同時出口端口部件被阻塞。
圖3是根據(jù)本發(fā)明實施例的具有一個被阻塞端口的轉(zhuǎn)發(fā)設(shè)備300的高級示意圖。在該優(yōu)選實施例中,被阻塞端口只使其入口端口部件被阻塞——出口部件解除阻塞,由此允許傳出業(yè)務(wù)。即使入口端口部件被阻塞,也經(jīng)由物理層接口/層一(PHY)330接收傳入或入站數(shù)據(jù)單元302。
本發(fā)明的轉(zhuǎn)發(fā)設(shè)備300包括任何交換機、路由器或者任何優(yōu)選地在OSI模型的多個層中進行操作(包括層2中的交換和層3中的路由)的轉(zhuǎn)發(fā)設(shè)備。此外,本發(fā)明的每個交換或轉(zhuǎn)發(fā)設(shè)備300,優(yōu)選地包含多個物理端口330,這些物理端口優(yōu)選地以雙工模式運行。
在一些實施例中,PHY接口330被具體實現(xiàn)在一個合并一個或多個網(wǎng)絡(luò)端口的集成電路芯片中,例如專用集成電路(ASIC),每個端口可操作地耦合到一個網(wǎng)絡(luò)鏈路。優(yōu)選地,PHY接口330適于監(jiān)控關(guān)聯(lián)的鏈路狀態(tài),并且當(dāng)鏈路為非運作的時通知網(wǎng)絡(luò)管理員。對于PHY芯片,如果PHY 330被關(guān)閉,則物理鏈路狀態(tài)通常不可能被監(jiān)控。因此,在本發(fā)明的優(yōu)選實施例中,根據(jù)本發(fā)明的實施例,即使端口被阻塞,PHY層330不被禁用或關(guān)閉。相反,優(yōu)選地,在媒體接入控制器(MAC)/層2級340處阻塞端口上的入口網(wǎng)絡(luò)業(yè)務(wù),而同時允許物理鏈路PHY 330保持活動,以啟用本發(fā)明的實施例來監(jiān)控鏈路狀態(tài)。因此,傳入數(shù)據(jù)單元302在層2或MAC層340處被丟棄,并且由此不進一步將其進一步接納進入轉(zhuǎn)發(fā)設(shè)備300。
可是在本發(fā)明的優(yōu)選實施例中,即使入口部件處于被阻塞狀態(tài),傳出數(shù)據(jù)單元304也可能仍然經(jīng)由具有處于解除阻塞狀態(tài)中的出口部件的一個端口從轉(zhuǎn)發(fā)設(shè)備進行轉(zhuǎn)發(fā)或發(fā)送。傳出數(shù)據(jù)單元304使用端口的解除阻塞出口部件發(fā)送出PHY 330。因此,本發(fā)明的這個優(yōu)選實施例使PDU或數(shù)據(jù)單元能夠被PHY層處的入口端口部件接收,但是不由該轉(zhuǎn)發(fā)設(shè)備進行轉(zhuǎn)發(fā),同一端口的出口端口部件仍然可以被利用來轉(zhuǎn)發(fā)可能已經(jīng)從其它端口(未示出)中接收到的傳出PDU。
本發(fā)明的轉(zhuǎn)發(fā)設(shè)備300優(yōu)選地還包括一組程序指令或程序模塊310,如果其由處理器(優(yōu)選地,計算機處理器)執(zhí)行,則對網(wǎng)絡(luò)層3部件350、MAC層340和PHY層330進行控制。例如,程序模塊310控制MAC層306丟棄傳入數(shù)據(jù)單元,并監(jiān)控308PHY層330的鏈路狀態(tài)。在一個實施例中,程序模塊以軟件的形式具體實現(xiàn)。
圖4是示出禁用或阻塞一個端口的邏輯操作的高級流程圖。在第一操作450中,識別端口阻塞條件組。這些阻塞條件與生效的和有效的網(wǎng)絡(luò)利用相關(guān),并且可以取決于數(shù)據(jù)業(yè)務(wù)門限值、病毒攻擊、服務(wù)拒絕、廣播風(fēng)暴、安全問題以及可能消極影響網(wǎng)絡(luò)的其它活動。
在一個實施例中,在轉(zhuǎn)發(fā)或交換設(shè)備300內(nèi)預(yù)定義阻塞條件。但是,可以對這些預(yù)定義條件進行修改。附加的阻塞條件也可以被網(wǎng)絡(luò)管理員,優(yōu)選地通過一個設(shè)備配置管理器,手動定義并引入到設(shè)備中。
在識別端口阻塞條件組之后(步驟450),判斷入口數(shù)據(jù)單元或入口業(yè)務(wù)是否已經(jīng)滿足一個或多個阻塞條件,以及傳入PDU是否應(yīng)該被丟棄(檢驗452)。如果PDU要被接納進入到交換設(shè)備中或者從交換設(shè)備中被轉(zhuǎn)發(fā)——意思是說它們不符合阻塞條件,則交換設(shè)備相應(yīng)地處理這些PDU或數(shù)據(jù)單元,并且由此如果適合,則從那個設(shè)備對它們進行轉(zhuǎn)發(fā)(步驟454)。
如果傳入PDU要被阻塞,則通過使用一個布爾值標(biāo)志、一個寄存器或者任何類似的數(shù)值指示符禁用入口端口部件(步驟456)。入口阻塞標(biāo)志被設(shè)置為一個指示該端口應(yīng)該被阻塞的數(shù)值,例如值“真”或“1”。一旦設(shè)置了入口阻塞標(biāo)志(步驟456),則阻塞傳入PDU,意思是說經(jīng)由被禁用入口端口部件被交換設(shè)備接收到的PDU不從該交換設(shè)備中進行轉(zhuǎn)發(fā)——將它們丟棄(步驟458)。在優(yōu)選實施例中,出口端口部件不被禁用并且因此可以將其用于傳出PDU,并且因此,對于出口端口部件的標(biāo)志是不需要的。標(biāo)志、標(biāo)志組、或者其它數(shù)值指示符也可以用于單工(非雙工)端口。
圖5說明了一個高級流程圖,示出了一個鏈路狀態(tài)或鏈路狀態(tài)改變?nèi)绾伪挥脕碜詣拥貑⒂靡粋€被禁用/被阻塞端口。使用根據(jù)OSI模型的層1(PHY)的一個端口接口以及通過中斷,可以獲得每個端口的鏈路狀態(tài)信息。優(yōu)選地,還對鏈路狀態(tài)信息進行連續(xù)地監(jiān)控。圖5利用一個優(yōu)選的被阻塞端口來說明,即入口端口部件被阻塞而出口端口部件被解除阻塞。
在第一操作(步驟530)中,檢測端口的鏈路狀態(tài)/狀況。如果鏈路狀態(tài)中沒有發(fā)生改變(檢驗532),那么再次監(jiān)控鏈路狀態(tài)(步驟530)。但是如果那個端口的鏈路狀態(tài)(從鏈路運行到鏈路關(guān)閉或者從鏈路關(guān)閉到鏈路運行)發(fā)生改變,那么確定入口端口部件是否被禁用(檢驗534)。這個可以通過查看入口阻塞標(biāo)志或者任何類似的指示符的數(shù)值來確定。優(yōu)選地,連續(xù)地監(jiān)控每個端口的鏈路狀態(tài)。
如果入口端口部件通過在入口阻塞標(biāo)志中得到例如一個“真”值已被禁用(檢驗534),則通過將入口阻塞標(biāo)志重新設(shè)置為,例如,“假”來自動地重新啟用那個入口端口部件(步驟536)。這個操作意味著,經(jīng)由那個入口端口部件,現(xiàn)在不再阻塞傳入PDU,并且因此交換設(shè)備應(yīng)該將其接納并處理以用于進一步轉(zhuǎn)發(fā)。
根據(jù)現(xiàn)有技術(shù)的轉(zhuǎn)發(fā)設(shè)備,鏈路狀態(tài)的變化也發(fā)起涉及一個或多個功能和職責(zé)的狀況變化過程(步驟538),其功能和職責(zé)例如包括發(fā)送一則消息給IP地址,聲明那個特定端口的鏈路被關(guān)閉并且發(fā)送一個陷阱(trap)給一個簡單網(wǎng)絡(luò)協(xié)議管理器。
圖6是示出在本發(fā)明的轉(zhuǎn)發(fā)設(shè)備600中如何處理各種PDU的框圖。在第一示例中,第一入站PDU 602通過一個雙工端口經(jīng)由PHY被接收,雙工端口具有入口620B和出口620A端口部件。入口端口部件620B和出口端口部件620A被解除阻塞/被啟用。因為入口端口部件620B被解除阻塞,所以傳入的第一入口PDU 602由設(shè)備600進行處理然后通過同一端口或其它端口的出口端口部件620A轉(zhuǎn)發(fā)出PDU 604。
在另一示例中,一個雙工端口具有一個被禁用/被阻塞入口端口部件624B和一個啟用/解除阻塞出口端口部件624A。使用被阻塞入口端口部件624B的第二入站PDU 606通過這個端口的物理層被接收。但是,交換機600丟棄該第二入站PDU 608,意思是說PDU 608不再被接納進入交換機并且不從交換機600中進行轉(zhuǎn)發(fā)。
在另一示例中,第三PDU 628由設(shè)備使用其被啟用端口部件之一接收。它能夠經(jīng)由解除阻塞入口端口部件620B或者任何其它解除阻塞端口部件(未示出)而被接收。可以經(jīng)由解除阻塞出口端口部件620A、624A或者通過任何被啟用/解除阻塞出口端口部件將該第三PDU 628轉(zhuǎn)發(fā)634出交換機600外。但是,如果一個出口端口部件被阻塞或被禁用——圖中未示出,則可以不使用這個被阻塞出口端口部件來轉(zhuǎn)發(fā)傳出PDU。
圖7說明了本發(fā)明實施例中的兩個示例性端口阻塞狀態(tài)表702、708和標(biāo)志704、710的示例性數(shù)值。在這個示例中,只有雙工端口#999的入口端口部件被禁用——出口端口部件被啟用。
包括策略(包括安全策略)、控制網(wǎng)絡(luò)在內(nèi)的若干應(yīng)用可以在轉(zhuǎn)發(fā)設(shè)備600、300內(nèi)實現(xiàn)。一個網(wǎng)絡(luò)門限值準(zhǔn)則例如可以被識別為應(yīng)用或策略ID(標(biāo)識)“0001”。在本發(fā)明的一個實施例中,使用一個策略或應(yīng)用ID在交換機600內(nèi)識別每個應(yīng)用或策略,每個策略/應(yīng)用具有其自己的標(biāo)志,指示包括其入口、出口或兩個端口部件在內(nèi)的一個特定端口是否應(yīng)該被禁用。雖然圖中未示出,但是也存在指示阻塞標(biāo)記涉及或表示哪一端口的方式。
根據(jù)本發(fā)明的實施例,交換機600中的每個端口可以具有其自己的標(biāo)記,指示那個特定端口是應(yīng)該被啟用還是被禁用,并且如果適合,是否剛好入口、出口或兩個端口部件都被阻塞或解除阻塞——例如,端口#999入口被禁用/被阻塞,出口被啟用/解除阻塞;以及端口#888入口被禁用/阻塞,被禁用/阻塞。在優(yōu)選實施例中,這個端口阻塞標(biāo)志是層2中的一個或多個寄存器。本領(lǐng)域普通技術(shù)人員應(yīng)該了解有許多方式指示這樣的數(shù)值,例如通過位操作、通過“真”和“假”值、以及通過“0”或“1”值。例如經(jīng)由不同的數(shù)據(jù)或目標(biāo)結(jié)構(gòu)與寄存器陣列,可以應(yīng)用實現(xiàn)這個特性的其它方式。
在交換機600內(nèi)實現(xiàn)的策略在任何給定時間可以具有不同值是可能的。根據(jù)某些條件以及在不同的時間,每個策略或應(yīng)用可以把它的請求從端口被阻塞改變?yōu)榻獬枞?,反之亦然。第一個表格702指示策略“001”請求端口#999被阻塞——通過“真”來指示。另一方面,策略“0002”和“0003”請求端口#999解除阻塞——通過“假”來指示。只要存在一個請求端口被阻塞/被禁用的策略,則本發(fā)明實施例優(yōu)選地為所有的應(yīng)用和策略阻塞或禁用那個端口的入口端口部件。這是通過把端口阻塞標(biāo)志(在這種情況下端口是#999)設(shè)置為“真”來完成的704。這也意味著,通過這個入口端口部件進來的PDU應(yīng)該被丟棄并且不從交換設(shè)備中進行轉(zhuǎn)發(fā)。
通常連續(xù)地監(jiān)控每個端口的鏈路狀態(tài),從而鏈路狀態(tài)的變化,特別是從鏈路運行到關(guān)閉的變化,觸發(fā)標(biāo)志值的改變,即標(biāo)志被重新設(shè)置710以使先前被禁用的端口現(xiàn)在被啟用。持有對于那個特定端口的標(biāo)記的所有應(yīng)用或策略也如示例性表708中所示被重新設(shè)置。本發(fā)明的一個實施例使用鏈路狀態(tài)中的這個變化來自動地重新啟用一個先前被禁用/被阻塞的端口,并且因此,現(xiàn)在會處理接收到的呼入PDU以使它可以由轉(zhuǎn)發(fā)設(shè)備進行轉(zhuǎn)發(fā)。
以下,在表I中示出了表示圖7的高級邏輯的示例性偽代碼。
表I
圖8是一個適于執(zhí)行本發(fā)明的鏈路狀態(tài)監(jiān)控和端口管理的多層交換機800的功能框圖。一個實施例的交換機800包括一個或多個OSI層1和層2處理機(L1&2處理機)804、一個或多個交換模塊806和一個管理模塊820,其中所有的模塊合作以便經(jīng)由每一個物理端口802接收入口數(shù)據(jù)業(yè)務(wù)以及發(fā)送出口數(shù)據(jù)業(yè)務(wù)。為了此實施例的目的,從另一網(wǎng)絡(luò)節(jié)點流入交換機800的數(shù)據(jù)在此被稱為入口數(shù)據(jù)單元或協(xié)議數(shù)據(jù)單元(PDU)。相反,在內(nèi)部傳播到一個物理端口802用于發(fā)送到另一網(wǎng)絡(luò)節(jié)點的解除阻塞數(shù)據(jù)被稱為出口數(shù)據(jù)或者傳出PDU或數(shù)據(jù)單元。
在一個實施例中,入口或傳入PDU借助于一個或多個入口數(shù)據(jù)總線805A從L1&2處理機804中被傳送到交換模塊806。類似地,如果需要進一步將入口PDU從交換機800中發(fā)送出去,則對它們進行處理以使它們已準(zhǔn)備好經(jīng)由一個或多個出口數(shù)據(jù)總線805B從交換模塊506發(fā)送到多個L1&2處理機504。
管理模塊820通常包括一個用于保持并實現(xiàn)網(wǎng)絡(luò)業(yè)務(wù)策略的策略管理器824、一個配置管理器822、一個鏈路監(jiān)控器862和一個端口管理器828。優(yōu)選地,策略管理器824實現(xiàn)的策略或應(yīng)用部分地基于從源學(xué)習(xí)操作中導(dǎo)出的層2和/或?qū)?尋址信息、從其它路由設(shè)備中接收的路由信息、以及從使用例如簡單網(wǎng)管協(xié)議(SNMP)消息826經(jīng)由配置管理器822被網(wǎng)絡(luò)管理員上載的過濾規(guī)則。使從源學(xué)習(xí)、其它網(wǎng)絡(luò)節(jié)點以及管理員中獲得的業(yè)務(wù)/網(wǎng)絡(luò)策略對路由引擎830可用并且由轉(zhuǎn)發(fā)表854共同表示。
優(yōu)選地,鏈路監(jiān)控器862連續(xù)地監(jiān)控每一L1&2處理機804的鏈路狀態(tài),并且優(yōu)選地是管理模塊820的一部分。在本發(fā)明的一個實施例中,鏈路監(jiān)控器562被合并到端口管理器528中。
有許多方法改變一個端口的鏈路狀態(tài)。舉例來說,微軟(TM)基于窗口的個人計算機(PC)連接到一個端口,例如端口#999。通過只是從網(wǎng)絡(luò)墻壁插座或者從PC機的網(wǎng)絡(luò)接口卡上的連接器上拔開網(wǎng)絡(luò)電纜就能夠改變鏈路狀況。只是重新啟動PC機或者再一次斷電或開啟就把鏈路狀態(tài)從鏈路運行切換到鏈路關(guān)閉,或者從鏈路關(guān)閉切換到鏈路運行。如果鏈路狀況被改變/切換——鏈路運行狀態(tài)到鏈路關(guān)閉狀態(tài)或者鏈路關(guān)閉狀態(tài)到鏈路運行狀態(tài),則鏈路監(jiān)控器862檢測這樣的改變,并且相應(yīng)地通知端口管理器828啟用與那個鏈路關(guān)聯(lián)的那個特定端口。通過利用鏈路狀態(tài)的變化,能夠很容易重新啟用一個端口。例如,用戶只須重新啟動他們的系統(tǒng)或者只須拔開他們的網(wǎng)絡(luò)電纜并將其重新插回到它們的網(wǎng)絡(luò)連接中就可以重新啟用他們的端口。從而減輕了網(wǎng)絡(luò)管理干預(yù)。
這個鏈路監(jiān)控器862與端口管理器828通信,端口管理器828相應(yīng)地識別并把適當(dāng)?shù)亩丝?,?yōu)選地雙工端口(入口、出口或者兩個端口部件)設(shè)置為被啟用的/解除阻塞的或者被禁用的/被阻塞的。端口管理器828還重新設(shè)置應(yīng)用或策略阻塞標(biāo)志,或者把這個信息傳送給策略管理器824,策略管理器824繼而又重新設(shè)置適當(dāng)?shù)膽?yīng)用或策略。在優(yōu)選實施例中,端口管理器828與L1&2處理機進行通信并且設(shè)置/重新設(shè)置適當(dāng)?shù)目刂萍拇嫫?Rx和Tx),其指示包括相應(yīng)的入口和出口端口部件在內(nèi)的一個端口是否應(yīng)該被阻塞。因此,在L1&2處理機中處理所選的傳入數(shù)據(jù)單元的丟棄。
優(yōu)選地,交換機800包括能夠但是不限制為進行層2(數(shù)據(jù)鏈路)和層3(網(wǎng)絡(luò))交換操作的至少一個交換模塊806。用于把端口802可操作地耦合到有線和/或無線通信鏈路的可能的層2協(xié)議組包括電氣和電子工程師學(xué)會(IEEE)802.3和IEEE 802.11標(biāo)準(zhǔn),而可能的層3協(xié)議組包括互聯(lián)網(wǎng)工程任務(wù)組(IETF)征求意見資料(RFC)791中定義的互聯(lián)網(wǎng)協(xié)議(IP)版本4和IETF RFC 1883中定義的IP版本6。
優(yōu)選地,交換模塊806包括一個路由引擎830、一個轉(zhuǎn)發(fā)表854和一個隊列管理器840。路由引擎830依次包括一個分類器832,它接收來自數(shù)據(jù)總線805A的入口PDU,檢查PDU的一個或多個字段,并且使用按內(nèi)容尋址的存儲器833把PDU分類成為多個流中的一個流。在一個實施例中,管理模塊820,尤其是對于端口管理器828,命令交換模塊806或者與交換模塊806配合來實現(xiàn)本發(fā)明的阻塞和丟棄特性。在本實施例中,路由引擎830丟棄來自一個被阻塞端口的傳入數(shù)據(jù)單元。但是,如果PDU不是要被丟棄——被接納,則路由引擎830還從保持在高速存儲器中的轉(zhuǎn)發(fā)表854中獲取轉(zhuǎn)發(fā)信息。從轉(zhuǎn)發(fā)表854中獲取的轉(zhuǎn)發(fā)信息優(yōu)選地包括,但是不限制于,例如一個流標(biāo)識符,用于指定準(zhǔn)備出口的特定適當(dāng)?shù)腜DU所需要的那些轉(zhuǎn)發(fā)操作。
轉(zhuǎn)發(fā)處理器834接收被解除阻塞入口PDU與關(guān)聯(lián)的轉(zhuǎn)發(fā)信息并且在發(fā)送到適當(dāng)?shù)某隹诙丝诓考皥?zhí)行一個或多個轉(zhuǎn)發(fā)操作。在另一個實施例中,在這個處理器834中處理通過一個被禁用端口而來的被阻塞入口數(shù)據(jù)單元的丟棄。
對于要被發(fā)送的那些出口數(shù)據(jù)單元,轉(zhuǎn)發(fā)操作優(yōu)選地包括,但是不限制于用于重新封裝數(shù)據(jù)的報頭轉(zhuǎn)換,用于把一個或多個VLAN標(biāo)記附加到PDU上的VLAN標(biāo)記推入,用于從PDU中刪除一個或多個VLAN標(biāo)記的VLAN標(biāo)記彈出,用于預(yù)留網(wǎng)絡(luò)資源的服務(wù)質(zhì)量(QoS),用于監(jiān)控客戶業(yè)務(wù)的計費和記帳,用于選擇性過濾PDU的驗證,接入控制,包括地址解析協(xié)議(ARP)控制的較高層學(xué)習(xí),源學(xué)習(xí),以及用于確定PDU被分配交換機資源的相對優(yōu)先級的服務(wù)類別(CoS)。
在轉(zhuǎn)發(fā)處理器834之后,PDU被傳到并存儲在隊列管理器840中直到帶寬為可用以把PDU發(fā)送到適當(dāng)?shù)某隹诙丝诓考橹?。特別地,出口PDU被緩存在緩存器842中的一個或多個優(yōu)先級隊列中直到它們被調(diào)度器844經(jīng)由輸出數(shù)據(jù)總線805B發(fā)送到適當(dāng)?shù)某隹诙丝诓考?02為止。
圖9是本發(fā)明的一個優(yōu)選的L1&2處理機804的功能框圖。在這個優(yōu)選實施例中,一個L1&2處理機804通常包括適于經(jīng)由網(wǎng)絡(luò)通信鏈路交換PDU(例如以太網(wǎng)幀)的多個物理層接口(PHY)940和媒體接入控制(MAC)接口。優(yōu)選地,L1&2處理機還包括至少一個數(shù)據(jù)鏈路層控制器900。在物理層運行的每一個PHY 940執(zhí)行包括PDU(比如以太網(wǎng)符號流)的接收和發(fā)送在內(nèi)的傳統(tǒng)網(wǎng)絡(luò)接口功能。
當(dāng)接收到來自關(guān)聯(lián)的通信鏈路中的一個入口PDU 902時,來自通信鏈路中的電或光信號被PHY 940轉(zhuǎn)換成為一個字節(jié)流,其然后被發(fā)送到一個關(guān)聯(lián)的MAC媒體接口/端口910。在發(fā)送模式中,PHY 940把來自一個關(guān)聯(lián)的MAC端口910的一個字節(jié)流轉(zhuǎn)換成為適于該介質(zhì)的電或光信號。PHY 940對于它所連接的介質(zhì)類型是特定的。
優(yōu)選實施例中的數(shù)據(jù)鏈路層控制器900包括一個或多個MAC端口/接口910。優(yōu)選地,多個端口910的每一個是適于接收入口數(shù)據(jù)和發(fā)送出口數(shù)據(jù)的雙工端口。在層二處運行的MAC端口910執(zhí)行包括以太幀的接收和發(fā)送在內(nèi)的傳統(tǒng)網(wǎng)絡(luò)接口功能。在接收模式中,優(yōu)選地,MAC端口910執(zhí)行各種功能,這些功能包括,但是不限制于(a)MAC幀解析,用于例如從以太網(wǎng)類型/長度字段中提取被封裝的協(xié)議類型、幀優(yōu)先級、VLAN被標(biāo)記幀的用戶優(yōu)先級和具有優(yōu)先或DiffServ映射的IP幀的TOS字節(jié);(b)使用接收數(shù)據(jù)以及分組解封裝的幀校驗序列(FCS)值的差錯檢查;和(c)非對稱的和對稱的流控制,包括例如接受流控制幀以由網(wǎng)絡(luò)鄰居停止幀傳輸或中止幀傳輸。來自MAC端口910的幀然后在MAC處理器920處進行本地處理。根據(jù)本發(fā)明的特征,優(yōu)選地,通過一個被阻塞端口952接收到的入口PDU的丟棄由MAC處理器920完成。
與傳統(tǒng)媒體接入控制器一致,MAC端口910執(zhí)行各種功能,例如包括(a)沖突處理,(b)根據(jù)CSMA/CD傳輸協(xié)議對通信介質(zhì)進行的接入控制,(c)幀檢驗序列(FCS)值的生成,(d)封裝,和(e)發(fā)送遲延。在優(yōu)選實施例中,MAC端口910適于使用接口中簡化的十比特接口(RTBI)或者簡化的千兆比特媒體獨立接口(RGMII)類型獨立地支持10、100或者1000兆比特/秒的吞吐量。
圖10是一個高級功能框圖,說明一般可以如何處理本發(fā)明的特性。這個圖還更詳細地示出了數(shù)據(jù)鏈路層控制器900,雖然只是它的某些部分。優(yōu)選實施例的一個MAC端口910包含兩個控制寄存器或者與兩個控制寄存器關(guān)聯(lián)接收(Rx)控制寄存器1010和發(fā)送(Tx)控制寄存器1020。Rx控制寄存器1010和Tx控制寄存器1020是指示入口和出口端口部件分別是否應(yīng)該被阻塞的標(biāo)志。這些寄存器優(yōu)選地由端口管理器828設(shè)置和重新設(shè)置。
策略管理器824與端口管理器828進行通信,從而向端口管理器828提供在本發(fā)明的轉(zhuǎn)發(fā)設(shè)備中實現(xiàn)的各種應(yīng)用或策略1040。上述應(yīng)用或策略標(biāo)志可以被存儲在策略管理器中,但是優(yōu)選地被端口管理器828存儲并保持。
鏈路管理器862與端口管理器828進行通信,向端口管理器828提供每一個PHY 940的鏈路信息1030。在一個示例中,PHY是一個千兆比特接口轉(zhuǎn)換器(GBIC)。鏈路管理器862還向端口管理器提供它的信息以便判斷是設(shè)置還是重新設(shè)置層2/Mac端口910中的控制寄存器1010、1020。
在優(yōu)選實施例中,MAC處理器920讀取包含在控制寄存器——Rx控制寄存器1010和Tx控制寄存器1020中的一個或多個值952。如果該一個或多個值指示端口的入口端口部件應(yīng)該被阻塞,則MAC處理器920丟棄或者不接納出自那個端口910的傳入/入口數(shù)據(jù)單元,即不處理傳入數(shù)據(jù)單元,以進一步從轉(zhuǎn)發(fā)設(shè)備進行發(fā)送。另一方面,如果該數(shù)值指示通過那個端口910進來的傳入數(shù)據(jù)單元應(yīng)該被處理,則MAC處理器920處理數(shù)據(jù)單元以便進一步進行發(fā)送。如上所述,根據(jù)本發(fā)明,如果出口端口部件未被阻塞,則其入口端口部件被禁用了的MAC端口910仍然可以從它的出口端口部件進行發(fā)送。
MAC層或?qū)?因此與PHY或?qū)?進行通信。MAC層/層2繼而又與層3或網(wǎng)絡(luò)層進行通信。包括策略管理器、端口管理器和鏈路管理器在內(nèi)的管理模塊可以是層3的一部分或者是OSI模型的較高層之一的一部分。
本發(fā)明已經(jīng)在上面依據(jù)一個目前優(yōu)選實施例進行了描述,以便可以傳達對本發(fā)明的一個理解。但是,本發(fā)明的交換機、轉(zhuǎn)發(fā)設(shè)備、鏈路監(jiān)控器模塊、端口管理器模塊、端口阻塞標(biāo)志和策略標(biāo)記的許多配置在此未特別描述,但是本發(fā)明利用這些配置是可應(yīng)用的。不應(yīng)該將本發(fā)明因此視為限制于在此所述的特定實施例,而是應(yīng)該理解本發(fā)明相對于,例如,交換機、鏈路監(jiān)控模塊、端口管理器和標(biāo)志通常具有廣泛的適用性。例如,可以以在此未明確討論的其它方式實現(xiàn)端口部件、入口和出口、在交換機內(nèi)如何被識別為被禁用或是被啟用。例如,它們的數(shù)值可以不在管理模塊本身中被存儲或者處理,而是在交換機模塊本身內(nèi)被存儲或者處理。另一變形是鏈路管理器的功能以一個軟件程序的形式被合并為端口管理器的一部分,優(yōu)選地,被存儲在計算機可讀介質(zhì)中并且可由計算機執(zhí)行來執(zhí)行本發(fā)明的發(fā)明步驟。本發(fā)明的這些特征也可以以硬件、軟件或二者結(jié)合(固件)的形式實現(xiàn)。如所示的對于在哪里丟棄入口數(shù)據(jù)的變形可以在另一層,例如層3中完成。還可以使用無線端口。
因此,在所附權(quán)利要求范圍內(nèi)的所有修改、變形或等同設(shè)置和實施應(yīng)該認為是在本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.一個用于經(jīng)由一個或多個鏈路可操作地耦合到通信網(wǎng)的轉(zhuǎn)發(fā)設(shè)備,該轉(zhuǎn)發(fā)設(shè)備包括至少一個具有關(guān)聯(lián)端口狀態(tài)的接口,其中該至少一個接口適于可操作地耦合到該一個或多個鏈路中的一個關(guān)聯(lián)鏈路;如果該端口狀態(tài)為解除阻塞,則經(jīng)由該關(guān)聯(lián)的鏈路接收入站數(shù)據(jù)單元,以及如果該端口狀態(tài)為阻塞,則丟棄來自該關(guān)聯(lián)鏈路的入站數(shù)據(jù)單元;以及鏈路監(jiān)控器,適于檢測該一個或多個鏈路中的每一個鏈路的鏈路狀態(tài)的變化;以及端口管理器,適于響應(yīng)于檢測到的該關(guān)聯(lián)鏈路的鏈路狀態(tài)中的變化,把至少一個端口的端口狀態(tài)從阻塞自動地更改為解除阻塞。
2.如權(quán)利要求1的轉(zhuǎn)發(fā)設(shè)備,其中該關(guān)聯(lián)的端口狀態(tài)還包括入口端口狀態(tài)和出口端口狀態(tài)。
3.如權(quán)利要求1的轉(zhuǎn)發(fā)設(shè)備,還包括策略管理器,適于實現(xiàn)該通信網(wǎng)的一個或多個策略并且可操作地耦合到該端口管理器;其中該端口管理器還適于響應(yīng)于該通信網(wǎng)的一個或多個策略,把至少一個端口的端口狀態(tài)從解除阻塞更改為阻塞。
4.如權(quán)利要求2的轉(zhuǎn)發(fā)設(shè)備,其中該至少一個接口還適于如果該出口端口狀態(tài)為解除阻塞,則經(jīng)由該關(guān)聯(lián)的鏈路轉(zhuǎn)發(fā)數(shù)據(jù)單元。
5.一種對轉(zhuǎn)發(fā)設(shè)備中的被阻塞端口自動解除阻塞的方法,該轉(zhuǎn)發(fā)設(shè)備用于可操作地耦合到通信網(wǎng),該被阻塞端口與一個阻塞端口指示符關(guān)聯(lián),該阻塞端口指示符適于指示該被阻塞端口是被阻塞還是被解除阻塞,該方法包括如下步驟從與被阻塞端口關(guān)聯(lián)的一個接口中接收一個或多個數(shù)據(jù)單元;監(jiān)控該接口的鏈路狀態(tài);當(dāng)在該被監(jiān)控的鏈路狀態(tài)中發(fā)生變化時,重新設(shè)置阻塞端口指示符以指示解除阻塞;以及當(dāng)該關(guān)聯(lián)的阻塞端口指示符指示解除阻塞時,接納從該接口中接收到的一個或多個數(shù)據(jù)單元。
6.如權(quán)利要求5的方法,還包括如下步驟接收該通信網(wǎng)的一個或多個策略;基于該接收到的一個或多個策略設(shè)置阻塞端口指示符以指示被阻塞端口;以及當(dāng)該阻塞端口指示符指示一個被阻塞端口時,丟棄從該接口中接收到的一個或多個數(shù)據(jù)單元。
7.一種用于可操作地耦合到通信網(wǎng)的轉(zhuǎn)發(fā)設(shè)備,該設(shè)備包括一個或多個物理層接口,適于接收來自該通信網(wǎng)的一個或多個數(shù)據(jù)單元;一個或多個數(shù)據(jù)鏈路層控制器,其中每個數(shù)據(jù)鏈路層控制器包括一個或多個媒體接入控制器(MAC)端口,每個MAC端口適于可操作地耦合到該一個或多個物理層接口中的一個;一個或多個端口指示符,其中每個端口指示符與MAC端口之一相關(guān)聯(lián),并且每個端口指示符適于指示該關(guān)聯(lián)的MAC端口是阻塞的還是解除阻塞的;以及至少一個MAC處理器,可操作地耦合到該一個或多個MAC端口,適于讀取該一個或多個端口指示符,并且適于基于該一個或多個端口指示符來選擇丟棄和接納由該一個或多個物理層接口中接收到的一個或多個數(shù)據(jù)單元;以及轉(zhuǎn)發(fā)模塊,可操作地耦合到該一個或多個數(shù)據(jù)鏈路層控制器,適于接收被該一個或多個數(shù)據(jù)鏈路層控制器接納的該一個或多個數(shù)據(jù)單元,以及適于轉(zhuǎn)發(fā)從該數(shù)據(jù)鏈路層控制器中接收到的該一個或多個數(shù)據(jù)單元。
8.如權(quán)利要求7的設(shè)備,其中該一個或多個MAC端口的每一個還包括入口端口部件以及出口端口部件。
9.權(quán)利要求8的設(shè)備,其中該一個或多個端口指示符的每一個還包括與該入口端口部件關(guān)聯(lián)的入口端口部件指示符,該入口端口指示符適于指示該入口端口部件是阻塞的還是被解除阻塞的;以及與該出口端口部件關(guān)聯(lián)的出口端口部件指示符,該出口端口指示符適于指示該出口端口部件是阻塞的還是被解除阻塞的。
10.如權(quán)利要求9的設(shè)備,還包括鏈路監(jiān)控器,可操作地耦合到多個物理接口,適于監(jiān)控多個物理接口的鏈路狀態(tài);以及端口管理器,可操作地耦合到鏈路監(jiān)控器,適于基于該監(jiān)控的鏈路狀態(tài)把該一個或多個端口指示符交替地設(shè)置以及重新設(shè)置為阻塞指示和解除阻塞的指示。
全文摘要
本發(fā)明特征是通過監(jiān)控物理層接口的鏈路狀態(tài)來自動重新啟用一個被禁用的端口或物理媒體接口的實施例。鏈路狀態(tài)中的任何變化都自動重新啟用一個先前被禁用的端口,從而允許通過先前被禁用端口進來的數(shù)據(jù)被接納進入交換機并自動地轉(zhuǎn)發(fā)或者路由/交換,而不必網(wǎng)絡(luò)管理員手動發(fā)出任何命令來手動地重新啟用該端口。
文檔編號H04L12/56GK1819548SQ20051011713
公開日2006年8月16日 申請日期2005年11月1日 優(yōu)先權(quán)日2004年11月1日
發(fā)明者蒂莫西·希克斯, 菲爾·加安格, 杰格吉特·巴蒂亞 申請人:阿爾卡特公司