專利名稱:一種多路徑網絡的制作方法
技術領域:
本發明涉及一種適于管理網絡中發生故障的多路徑網絡和一種通過這種網絡傳 輸數據的方法。所述多路徑網絡和方法適用于,但不限定于,多處理器網絡例如存儲網絡, 數據中心和高性能運算。特別的,本發明適用于網橋、交換機、路由器、集線器和類似設備包 括適配于IEEE802標準的數據幀分布或符合未來以太網標準的以太網設備。
背景技術:
協議層概念上,為了區分功能以太網絡分為多個虛擬層。最常用和正式的標準化模型是 開放系統互連(OSI)參考模型。詳細描述該OSI參考模型的文章是HubertZimmermarm撰 寫的《0SI參考模型-構建開放系統互聯的ISO模型》(“OSIReference Model-The ISO Model of Architecture for Open Systems”),IEEE 通訊匯刊 com-28 卷 1980 年第 4 期 (IEEE Transactions on Communications, Vol. C0M-28, NO. 4, April 1980)。 OSI ## 模型包括網絡系統功能不同的七層,如下1.物理層,負責物理信道連接。由那些涉及發送和接收信號的元件,典型的線路驅 動器和線路接收器,信號編碼/解碼器和時鐘組成。2.數據鏈路層,提供服務允許終端站設備之間通過底層物理介質直接通訊。該層 提供組幀,為物理層將設備信息分離成離散的傳輸或幀,封裝更高層的包傳輸協議。給識別 源和目的裝置提供尋址。提供錯誤偵測以保證數據損壞不會傳往更高層。3.網絡層,負責網際通信,通過網絡在終端站之間路由信息包。其必須適應多重數 據鏈路技術和拓撲使用各種協議,最常見的是網際協議(IP)。4.傳輸層,負責端到端通信,防護傳輸時產生的問題影響上面各層,例如中斷的數 據、錯誤和由低層介質導致的亂序。該層為應用提供無錯、有序的、可靠的信息傳遞服務,管 理終端站之間的數據處理傳遞過程。傳輸控制協議(TCP)和用戶數據報協議(UDP)是最常 見的傳輸層協議。5.會話層,負責建立應用之間的通信會話,處理認證和連接控制。6.表示層,保證機器的不同數據表示得到解析。7.應用層,提供通用功能允許用戶應用通過網絡通信。為本申請的目的我們并不需要考慮傳輸層以上各層根據此處描述的方法應該的 操作,如果執行良好,就能屏蔽更高層由其轄域及下層出的問題。大型數據網絡能通過成千上萬的組件構建并且一些級別的故障不可避免。雖然網 絡協議設計為能容忍故障,產生錯誤的組件能夠很容易地破壞網絡的性能即使所述故障組 件僅占整個網絡硬件的很小一部分。破碎的焊接點或破損的連接通常能極大增加網絡連接 的錯誤率即使不完全破壞網絡連接。某些方面這些具有極高錯誤率的連接比完全斷開的連 接更差由于其僅表現斷斷續續的問題當一個網絡拓撲被賦值或當診斷程序運行并且工程 資源對修復網絡可用時這不明顯。
傳輸層網絡協議,例如TCP,引入穩定性至本來不穩定的網絡基礎構架。這些協議 通過校驗碼例如循環冗余檢驗(CRC)、超時和重試達成其穩健性。然而,偵測一個錯誤并隨 后通過一個請求重發數據響應的開銷非常大并且當傳輸介質的帶寬增加時變得更大。如果 錯誤發生在重發數據時則性能損失可能極大。很偶然的錯誤可被接受提供的錯誤率足夠低以使得重發的開銷很低。已偵測網絡 內的一個錯誤將可能防止該錯誤再次發生。時常的一個斷點或部分工作的連接反復地一遍 又一遍地引入相同錯誤導致成千上萬的重發其中僅一個應該發生。大多數網絡系統具有錯誤監控。這通常包括一個控制管理處理器或巡檢或被網絡 硬件中斷和隨后標注網絡一個部分中的一個錯誤已經被偵測。網絡的一個新的一套路由隨 后被計算出來作為一個整體來路由通信量在損壞的網絡連接周圍直到其能被修復。對于以太網絡路由經由IEEE802. ID標準定義的一個附加協議計算。快速生成樹 協議(RSTP)和其取代的生成樹協議(STP),運行在數據鏈路層。其擴展目的是移除網絡站 之間的多個活動路徑,避免循環,其導致許多問題。如果在一個鏈路上一個錯誤或一系列錯誤被偵測到則一個管理代理程序可以決 定指派與使用鏈路相關的一個非常高的使用率。使用率功能的改變可以重新調用該RSTP 和該非常高使用率值將阻止由RSTP包含的鏈路。可選擇地,所述管理代理程序可以禁用所 述鏈路,再次調用所述RSTP并且這次防止包含所述鏈路進該新路由中。使用RSTP會有一些問題。RSTP重新調用網絡將占用許多毫秒。對于一個非常大 的網絡將會是幾十或上百個毫秒。同時當網絡重構數據包時可能亂序抵達,被網絡重復或 丟失。再次,對于一個非常大的網絡,這將會極具破壞性導致不同會話的許多重發。在數據鏈路層及其上執行網絡服務的裝置叫做站。物理層因為不能通過協議尋址 而排除在該定義之外。通常有兩種形式的站1、終端站,是穿過網絡的網絡數據通信的最終源或目的地。
2、中間站,轉發由終端站產生的位于源和目的之間的網絡數據。位于數據鏈路層完成轉發的中間站通常叫做網橋;位于網絡層轉發的站通常叫做 路由器。網絡數據切分成由協議定義的片段。這聯合,層特有的協議數據單元(PDU),其大 體上由一個報頭和包含有效載荷數據的報文組成,然后向下傳過協議堆棧。在以太網物理 層PDU常稱為流;在以太網數據鏈路層PDU通常稱為幀;在以太網網絡層PDU通常稱為數據 包;在傳輸層PDU通常稱為數據段或報文。PDU在物理以太網硬件傳輸之前被封裝。每一封裝包含對一特定OSI層的信息,以 太網數據流封裝成幀其依次封裝成數據包其封裝成報文等等。這些封裝,包含了報頭和有 效載荷,最后傳過網絡構架并路由至目的地。一些網絡使用自適應路由其為一種有效提高繁忙網絡整體吞吐量的方法。自適應 路由在網絡從入站端口至出站端口之間存在多個路由時占有優勢。具有多個路由允許數據 避開擁塞熱點傳過網絡。多路徑同樣增加網絡容錯性,允許一個內部網絡構架鏈路禁用同 時仍然提供從入站端口至出站端口的連接。圖1示意性地示出了一個簡單的傳統多路徑網絡。左邊和右邊的方形分別代表了 入站和出站端口 2。圓圈代表了網絡交叉開關1并且線條代表交互互聯鏈路,PDU將通過該鏈路傳過網絡。在這個例子中每個網絡交叉開關1只有三個輸入端口和三個輸出端口 2。 典型網絡交叉開關具有比這個例子更多的端口并且這一機制在更多數量交叉開關上一樣 運行良好。圖2示出了傳統網絡交叉開關1的一個例子。在圖示的例子中,一個簡單的自適應路由方法可以是在第一交換階段沒有被另一 個通信量流使用的鏈路中隨機選擇路由。這形成的自適應路由通常為飽和網絡通信量部分 提高期望的整體吞吐量但不會受控并且仍可能導致在第二和第三交換狀態之間的一些空 閑鏈路和一些過繁忙鏈路。相關技術說明在US2007/022183中描述了一種在一個容錯網絡上管理節點的方法。該方法要求 一個交換在網絡信道上至最終通信量和一個網絡管理以在一個不同的信道上重新路由該 通信量。此處描述的由該網絡管理程序的重新路由,特別是當該網絡具有大量節點和鏈路 時,將經歷與之前描述相同問題經歷根據由該管理程序重新評價網絡的過程中可預見的延 遲。本發明尋求克服傳統多路徑網絡遇到的問題并特別尋求提供一種容錯網絡。
發明內容
本發明提供一種用于網橋、交換機、路由器、集線器或類似裝置的多路徑網絡,該 多路徑網絡包括大量網絡端口 ;大量網絡元件;和大量網絡鏈路交互互聯所述網絡元件和 所述網絡端口以傳輸數據包,每個網絡元件包括一個故障監測器以偵測網絡元件連接的網 絡鏈路上的故障,大量動態可選擇輸出端口和輸出端口選擇機制并且每個網絡元件適于經 由能避開所述故障網絡鏈路的那些網絡元件通信故障存在返回至一個或多個其它網絡元 件,并且當所述故障存在通信被接收時每個網絡元件適于更新所述輸出端口選擇機制這樣 只有避開了所述故障鏈路的輸出端口動態可選擇。在一個具體實施例中每個網絡元件的所述故障檢測器適于偵測輸入網絡元件的 數據包內容中的損壞并且該網絡元件適于通信由損壞數據包觸發的故障存在信號沿該數 據包先前傳過網絡至其損壞點的路徑返回。當通信該故障存在信號時,網絡元件可以適于簽發一個故障通信其包括識別僅一 個其它網絡元件,在該先前數據包至其損壞點路由中,其要求更新各自的輸出端口選擇機 制以為了繞開故障網絡鏈路。替代地,當通信該故障存在信號時,該網絡元件可以適于簽發一個故障通信其包 括識別該簽發故障通信的網絡元件,并且該網絡元件可以適于基于該簽發故障通訊的網絡 元件決定其各自輸出端口選擇機制是否需要更新。在任一實施例中,一個算法分析可被用于識別一個必須更新其輸出端口選擇機制 的其它網絡元件以確保該故障網絡鏈路在以后被繞過。進一步,在一個具體實施例中該網絡元件可以適于通過包括一個錯誤警告的傳輸 認證通信一個故障存在每當一個損壞數據包抵達時。理想地,該輸出端口選擇機制包括一個端口選擇寄存器在其中存儲對于動態選擇 可用的與網絡端口目的地相關的輸出端口和,接收與該故障存在相關通信的響應,該網絡 元件可適于從端口選擇寄存器取消由該損壞數據包使用的先前輸出端口。
每個網絡元件可以包括大量端口選擇寄存器在其中網絡端口目的地分布在端口 選擇寄存器中,這樣,響應一個關于故障存在通信的接收,由損壞數據包使用的先前輸出端 口僅在端口選擇寄存器中取消其中該輸出端口與損壞數據包的網絡端口目的地相關。在另一個具體實施例中每個網絡元件具有大量輸入端口并且每個輸入端口分配 有各自的一個或多個端口選擇寄存器。對于每個網絡元件還希望適于在一個預定時間段以后重新啟用在端口選擇寄存 器中的先前取消的一個輸出端口。本發明另一不同目的是提供一種在多路徑網絡中管理故障的方法,該網絡具有大 量網絡端口,大量網絡元件,該網絡元件具有大量動態可選擇輸出端口和輸出端口選擇機 制;和大量網絡鏈路監護互聯該網絡元件和該網絡端口以傳輸數據包,所述方法包括步驟 監測網絡鏈路上的故障;從偵測到故障的網絡元件通信故障存在返回至一個或多個其它網 絡元件經由能避開該故障的網絡鏈路;和更新所述一個或多個其它網絡元件的交換端口選 擇機制這樣僅保證能繞開該故障網絡鏈路的交換端口動態可選擇。優選的,監測故障的步驟包括檢查輸入網絡元件的數據包內容的損壞和由損壞數 據包出發的故障存在通信沿數據包先前傳過網絡至其損壞點的路徑返回。當故障存在被通信,一個故障通信可以被簽發其包括識別僅一個其它網絡元件, 在該數據包先前傳至其損壞點的路徑中,其要求更新各自輸出端口選擇機制以為了避開該 故障網絡鏈路。可選地,當故障存在被通信,一個故障通信可被簽發其包括識別該簽發所述故障 通信的網絡元件,這樣其它網絡元件要求更新其輸出端口選擇機制基于該簽發了故障通信 的網絡元件識別其自身。理想地,一個算法分析用于識別一個必須更新其輸出端口選擇機制的其它網絡元 件以確保該故障網絡鏈路在以后被繞過。在一個具體實施例中通過包括一個錯誤警告的傳輸認證通信一個故障存在每當 一個損壞數據包抵達時。該輸出端口選擇機制可包括一個端口選擇寄存器在其中存儲對于動態選擇可用 的與網絡端口目的地相關的輸出端口這樣,響應接收與該故障存在相關通信,由該損壞數 據包使用的先前輸出端口可從該端口選擇寄存器取消。優選地,每個網絡元件包括大量端口選擇寄存器在其中網絡端口目的地分布在端 口選擇寄存器中,這樣,響應一個關于故障存在通信的接收,由損壞數據包使用的先前輸出 端口僅在端口選擇寄存器中取消其中該輸出端口與損壞數據包的網絡端口目的地相關每個網絡元件可具有大量輸入端口和位于每個輸入端口的一個或多個端口寄存 器副本。同時,在一個預定時間段之后一個先前取消的在該端口選擇寄存器內的輸出端口
可以重新啟用。因此本發明提供一個網絡具有間發故障容錯并使得鏈路最大化使用同時僅發生 微小錯誤率同時在同一時間從剩余無錯誤網絡中最大達可用帶寬。此外,本發明避免需要一個超級管理程序,與網絡中單個網絡元件分離,并避免整 個網絡在任何發現故障的時候需要重新評價。替代地,故障存在直接從發現故障的網絡元件僅通信至經由該故障網絡鏈路最近發送數據包的網絡元件。前述和其它目的、方面和優點將接合附圖通過以下本發明的一具體實施例的詳細 描述得到更好的理解,附圖中
圖1示出了一個傳統多路徑網絡;圖2示出了圖1中的一個傳統的交叉開關;圖3示意性地示出了一個包括根據本發明的多路徑網絡的以太網橋;圖4是圖3中根據本發明的多路徑網絡的示意圖;圖5是圖4中的多路徑網絡示出了一條穿過網絡遭遇故障的路由的示意圖;圖6是通過一個網絡鏈路交互互聯的兩個網絡元件的邊緣的示意圖,根據本發明圖7示也是根據本發明的一個大型多路徑網絡的示意圖;圖8是圖6中多路徑網絡的示意圖示出了傳過網絡遭遇故障的一個路由;和圖9是圖6中多路徑網絡但是具有不同故障的示意圖。
具體實施例方式此處描述的在多路徑網絡中管理故障的方法可應用于任何從源或入站端口至目 的地或出站端口具有多個路由的網絡允許動態路由PDU傳過網絡。此外,以下給出的所有 例子為了增加示意圖的清楚性示出的單向鏈路但是該機制對于全雙工鏈路同樣有效。一個非常大的多端口,多階段網橋構架交換可具有上千網絡鏈路并且任一個所述 鏈路是錯誤的潛在源。此處描述的方法可以允許非常偶然的錯誤損壞路由傳過網絡的PDU 的數據,提供有通過CRC偵測該錯誤,但是所述方法防止鏈路在錯誤發生于許多分開的PDU 之后持續產生錯誤。下面描述的以太網網橋或路由器引入一個附加的協議層,此處指的是“封裝 層”(Encapsulation Layer),其處于標準OSI模型的物理層和數據鏈路層之間能夠封裝網 絡層和數據鏈路層的協議數據單元。在本申請文本內容中中間站的定義延伸至包括能夠轉發附加協議層此處所指的 封裝層封裝的數據包的站。此處提到的這種類型的站是網橋構架或網絡構架。一個多端口 網橋構架可通過一系列通過網橋構架交換鏈接(BFSLs)交互互聯的網橋構架交換(BFSs) 來實現。完成封裝進一個PDU中,也是英國專利申請號0807937. 8共同的未決問題,此處弓| 入該專利文獻全文內容作為參考,并且此處其提及為“構架協議數據單元”(FPDU),避免了 修改下層PDU數據幀報頭或報尾的需求,從而移出了重新計算循環冗余碼校驗(CRC)或其 它基于數據幀內容的傳遞信息的花銷。FPDU用來實現數據傳輸,認證和流控制機制。FPDU 進一步用來對于大型,高性能,可升級的以太網絡提供許多其它吸引人的特性。圖3示出的以太網橋或路由器1可以連接至大量的分離的以太網站2并執行封裝 網絡層和數據鏈路層的PDU進FPDU。所述以太網橋1大體上包括連接有大量以太網端口 3(圖中為了清楚只示出了其中一個)的一多路徑網絡10其中每一端口單獨連接至一以太 網站2。所述以太網端口 3按傳統設計并且每個包括與以太網站建立數據連接的手段、一接收手段或輸入4以實現以太網接收功能和一傳輸裝置或輸出5以實現以太網傳輸功能。所述以太網端口 3連接至提供傳統功能例如數據包緩沖6的一網絡界面7。然而, 所述網絡界面7還包括一以太網PDU封裝器8,該封裝器連接上述網絡界面7至網絡10的 入站端口(圖中未示出)并且一以太網PDU解封裝器9連接至網絡10的出站端口(圖中 未示出)返回至上述以太網端口 3。所述以太網PDU封裝器8執行封裝層協議從而產生上 述FPDU。理想的所述以太網橋1的每個端口 3均分別具有各自的網絡界面7各自的以太網 PDU封裝器8和各自的以太網PDU解封裝器9。所述網絡10,是專有的多路徑網絡,包括大量交互互聯的網絡元件18此處為網 橋構架交換(BFSs)通過網絡鏈路17按網橋構架交換鏈接(BFSLs)形式交互互聯。每個 BFSL17為優選的雙向(全雙工)連接。沿每一方向傳遞的數據和認證以及沿一方向的數 據流控制狀態數據可以和BFSL反向傳遞的數據多路復用。如之前提及,圖4中示出的所述 多路徑網絡10僅由九個BF&18組成。當然,在大型網絡中將具有更多的BFk并且一個數 據包傳過網絡10在抵達網絡10的出口之前將經過許多BF&18和BFSLsl7。此處網絡數 據包傳輸通過網絡構架是指作為構架協議數據單元(FPDU)并且這些相當于封裝的以太網 P而S。圖4中的方形A至I代表入站端口 2方形R至Z代表出站端口。每一個圓形1至9 是一個BFS18并且箭頭線是單向BFSLsl7。該網絡中每個BFS只有三個輸入端口和三個輸 出端口其給定數量僅為三個。實際網絡通常由具有更多數量或許16個或更多的BF^構建 而成。示出的網絡分配較少數量的BF^是為了圖示清楚。雖然每個BFS具有數量為三個,圖4中示出的所述多路徑網絡10仍具有足夠豐富 度以允許自修復發生。每個入站端口 2具有三個至任一出站端口可能的連接。因此,一個 FPDU從任一入站端口移動至任一出站端口能經過三個BF&4、5或6中的任意一個。如果任 何一個中間BFSLs故障,則兩個其它路由存在以運送FP而s傳過整個網橋。此處描述的多路徑網絡假定存在一個反向認證控制流。這是一個很小量的控制信 息用于指示在轉發方向成功傳輸批量數據。這種控制信息可以通過使用附加旁帶信號提供 或通過從全雙工BFSL17的反向偷用很小量的帶寬來實現。多路徑網絡10的BF&18適于 確保每個控制認證自動路由沿其認證的FPDU使用的路徑返回。所述控制認證用于在返回 或認證路徑確認FPDU經由那個BFS路徑傳輸更新每個BFS狀態。通過發送FP而s傳輸信號至其出站端口,在其它情況下動態路由的多路徑網絡中 所述反向認證控制流用于提供控制數據包次序。如果一個數據流不得不改變以緩解擁塞, 例如,則新FP而s不會在一個新路由的鏈路上釋放直到所有與數據沿舊路由傳輸相關的認 證被網絡將改變路由發生的點接收。附加地,所述反向認證其自身提供為通信重新路由信 息返回至網絡中較早階段或者啟用一個數據流重定位至較少擁塞鏈路或者避開故障鏈路 的手段。參看圖4可以發現具有三個交換階段標記為第一、第二和第三。第二和第三階段 將FP而s指向預期出站端口。第一階段可以用于動態路由FP而s至任一第二交換階段的 BF&。如果一個錯誤或一系列錯誤發生在位于第一和第二交換階段的任一 BFSLs上則該錯 誤將會由連接至位于第二交換階段BFSL的BFS通過傳統的CRC手段偵測到。位于第一交換 階段連接至該BFSL的產生錯誤的BFS則通過一個附加于傳統認證的錯誤類別以指示問題 的手段使用反向認證控制流通知該問題。發生故障的BFSL則能從由位于第一交換階段所述BFS的合理選擇使用作為將來從第一交換階段至第二交換階段的動態路由選擇中排除。 如果一個錯誤發生在第二和第三交換階段則通過改變初始動態交換階段也能避免。圖5示出了圖4中從入站端口 A至出站端口 W的一個傳過網絡的路徑其中錯誤發 生在BFS6和BFS8之間的BFSL上。如果沒有發現錯誤則從A至W的正常FPOTs流將,也 就是說,產生一個認證流從W返回至A。然而,在圖5示出的例子中一些從BFS6至BFS8的 FPDUs被損壞。這由BFS8偵測到當其接收FPDUs由于從FPDU報文產生的CRC與接收的附 加至結尾FPDU的CRC不相匹配。已識別錯誤,則BFS8簽發一個錯誤認證經由涉及轉發現 已損壞的FPDU路由上的每個BFk返回至入站端口 A。因此,BFSl將可見這一錯誤認證并 動作以將BFS6從至出站端口 W抵達合理連接中移除。參看圖5能發現如果連接經過BFS6則從入站端口 A、B或C至出站端口 U、V或W 的任何連接均會遇到問題。事實上這是真的對于任一入站端口經由BFS6試圖連接出站端 口 U、V 或 W。簡單的解決位于BFS6和BFS8之間的BFSL上錯誤的方案是避免發送任何數據至 BFS6。然而由于從BFS6向BFS7和BFS9發送數據仍然可行所以這種方式是低效的。最復 雜的解決方案是允許從第一交換級別提供的最終出站端口不包括出站端口 U、V或W的FPDU 傳輸至BFS6。僅具有九個出站端口的網絡這是一個比較復雜的解決方案識別精確的出站端 口以避免BFS6和BFS8之間的BFSL還是可以預期的。但是,當網絡具有上千出站端口的狀 態需要識別精確的出站端口以避免所有具有斷開BFSL的BFS就變得過量了。另一方面,該 簡單解決方案僅避免發送任何數據指向可能使用斷開BFSL將阻止比合理更多的整體網絡 帶寬。在一個非常大的網絡中將具有許多入口至出口不頻繁發生的連接。由于認證控制 流僅為那些位于原始FPDU的路徑上的BFk攜帶錯誤信息,則有些BFk不會被通知問題并 且將經由應該避免的BFSL動態路由FPDU,直到它們也接收到一個錯誤認證。在圖5中,例 如,如果入站端口 D、E和F不恰巧需要發送任何FP而s至任何端口 U、V和W則BFS2將不會 從BFS6接收任何錯誤認證并且結果將不會觸發以將BFS6從動態路由的合理選擇中排除。 因此,所有至其它出站端口的連接將繼續合理使用BFS6。為最小化動態路由的限制同時確保網絡故障鏈路能可靠避開,每個網絡輸入端口 賦予其自己的為動態路由選擇可接受的輸出端口掩碼。則如果輸入端口 D,例如,具有與任 一出站端口 U、V或W的會話并且因此發現BFS6需要被排除,網絡入站端口 E和F仍然不知 道錯誤仍允許使用BFs6因為它們沒有從位于BFS6和BFS8之間的BFSL發送FPDUs。如圖6所示,動態路由掩碼優選以一個或多個寄存器12的形式執行,入站端口緩 沖21之外,在每個BFS上。每個寄存器12識別與一個活多個自適應選擇交換輸出端口相 關的一組網絡端口目的地。在寄存器設置一個位禁用或取消為那個網絡端口組的交換輸出 端口的動態選擇。理想地,路由表對于BFS的每個輸入端口可復制以為了簡化BFS設計中 間計時。根據此處描述的故障管理方法大量動態路由掩碼可以簽發至每個輸入端口伴隨 每個動態路由掩碼對一個特定范圍的出站端口敏感。通過使用多個獨立掩碼禁用一個自適 應BFSLs直接與涉及的掩碼數量相關的影響進一步降低。例如,如果每個輸入分配八個掩 碼則僅當該指向FP而s至出站端口的輸入在包括故障鏈路范圍內時輸出端口的BFS中的一個禁用。因此輸出端口的改變禁用通過因子8減少。之前的例子示出了具有兩級目的地交換和一級自適應交換的多路徑網絡。此處描 述的多路徑網絡在更多級別交換時也能運行良好。圖7示出了一個具有三級目的地交換 (BFS9至20)和兩級自適應交換(BFS1至8)。然而,為了圖示清楚這些交換的數量被減少。參看圖7能發現圖示的網絡是對稱的。對稱不是此處描述的多路徑網絡的必要因 素但是對稱能簡化該容錯方法的執行。這種對稱能用于識別網絡中一個交換必須改變以避 免故障的地點。一個內部故障可能發生在任何交換階段之間的任何BFSLs上。如果故障 BFSL連接至一個自適應BFS的輸出則該自適應BFS能簡單地在該BFSL上不轉發任何數據。 這通過從該BFS的任何動態路由連接中可用的BFS端口輸出中排除該BFSL來實現。參看 圖7自適應交換為第一和第二交換階段(BFS1至8)。這樣位于第一和第二交換階段的故障 在第一層BFk上避開并且位于第二和第三交換階段的故障在第二交換階段避開。圖8也是示出了位于第三和第四交換層的從入站端口 D至出站端口 T的連接上的 故障。在圖8中很清楚正確位置以調整動態路由選擇以確保避開BFS6上該斷開的或故障 的BFSL。在這個例子中這將導致從端口 D移向T的FP而s經過BFSlO而替代BFS12。在圖9中示出了位于第四和第五交換層之間從入站端口 D至出站端口 T的一個 連接的BFSL上的故障。在這個例子中該故障僅能通過強制FP而s從BFS13進入BFS17來 避開。因此改變BFS6的輸出端口沒有作用。唯一強迫數據抵達正確鏈路的方式是改變至 BFS2的其它輸出端口。這些示出的簡單算法方案的例子能用于識別自適應BFS當不得不做出改變以避 免故障。如果網絡具有圖7中示出的對稱性則當在接近出站端口的交換階段上一個故障被 偵測到則在接近入站端口的交換階段上的自適應掩碼必須調整。如果故障位于第二 BFS至 出站則位于第二接近BFS至入站的自適應掩碼必須改變。如果網絡具有更多階段則這一規 則能繼續使用但是具有第三接近或第四接近等等。這些規則對于具有不同數量階段、不同 對稱性、不同數量端口和不同關聯度的網絡同樣適用。即使當網絡具有完全不同的拓撲,相 似規則,在拓撲中反映不同,也能識別以找到適當的BFk當路由改變必須做出通過調整相 關動態路由掩碼時。在替代方案中,當然對于每個BFS包括能識別BFS的相關在動態路由掩碼中將禁 用的輸出端口的多路徑網絡映射是可能的。因此包括錯誤類型的認證也攜帶一個參數值。該參數值用于識別自適應交換級別 其能對認證的錯誤做出適當反應并調整其動態路由掩碼以反應網絡故障。偵測故障的BFS 用其自身在網絡中位置為錯誤認證產生一個合適參數值。該認證傳過網絡返回并且,不同 于其通常認證功能,被所有其經過的非自適應BFS忽略。該具有錯誤類型和參數值的認證 還被不匹配參數值的自適應BFk忽略。最后該認證在具有匹配參數值或網絡級別的自適 應交換處被接收。與該認證相關的自適應交換通過禁用動態選擇與避開的BFSL相關的該 BFS的輸出端口。這是FPDU輸出的端口也是認證被接收的端口。輸出端口通過在自適應交 換的FPDU接收的入站端口的動態路由掩碼中設置相關數據位禁用。當使用大量動態選擇掩碼的地方,禁用該端口的動態選擇僅用在特定于該被故障 鏈路影響的端口的一個掩碼或路由表中。當該錯誤認證被接收,FPDU數據流停止直到所有FPDU的認證被接收。一些或所有先前發送數據的最后一個認證信號將或者從出站端口發出或者在故障BFSL上完全丟失。 從出站端口發送的一些數據可能被該故障BFSL損壞。期望的是這一數據將可能被OSI參考 模型堆棧的更高層請求重發。由于傳統方法的重新發送損壞或丟失P而s可以實施此處對 這點沒有詳細描述。一旦最后的認證被接收一個新的自適應選擇能為新的FP而s做出,使 用新的掩碼值,并且這些新FP而s將在一個不同的輸出端口發送將不再抵達該故障BFSL。由數量為2的BFS構建的網絡上的故障的影響非常高伴隨從丟失的交換階段一半 的帶寬。通常由BFS構建的網絡具有更多數量可能是8或16。此處從相應的BFS對于帶寬 故障的影響從1/2減小至1/8或1/16。此處描述的方法自動從動態路由選擇掩蓋輸出交換端口。這確保非常少的數據損 壞并且一旦故障被發現該斷開的BFSL被所有新網絡通信量從傳過該故障鏈路的具有先前 發送通信量的BFk中忽略。故障可能由許多原因發生。一些故障持續直到硬件被替換。一些故障由電纜沒有 插上產生并可能重新插好。偶然地一次性難追蹤的軟件故障將產生。在具有的錯誤率處 于足夠低比率不會影響整體系統性能的大型網絡中非常低的錯誤率是可接受的。當響應 具有錯誤類型的認證時,BFS自動在動態路由掩碼中設置數據位以重新路由FPDU避開故障 BFSL。這些數據位能通過相關的控制管理處理器清除或以一個非常低的頻率以重新啟用該 故障BFSLs形成該BFS的一部分,例如每隔30秒。如果該故障持久則該數據位將簡單地重 新設置雖然這可能花費一些時間由于網絡通信量模式可能改變這樣從該自適應BFS至故 障BFSL的會話不再發生。如果該故障時暫時的則該BFSL將僅僅重新啟用并且其帶寬對整 個構架帶寬做貢獻。此處描述的故障管理方法為傳統靜態禁用網絡鏈路最小化網絡上的故障對帶寬 丟失的影響提供一個極大的改進。如之前提及,如果所述多路徑網絡由全雙工BFSL構建則一個方向的錯誤偵測能 在其它方向報告。這能通過在返回路徑上返回指示偵測錯誤存在的認證來實現。如果錯誤 率足夠高,整個鏈路可能被接收錯誤的最后鏈路禁用。若干傳統協議存在以允許全雙工鏈 路的最后一個協定一個合適的備用級別。發現一個故障該鏈路可能降低并且通常鏈路提高 初始的協定進程。如果另一錯誤發生則如果該錯誤持續整個進程可能無限期重復。優選地, 如果在一個方向偵測到錯誤一個故障BFSL被認定每個方向均斷開。由于可能接收到非常 偶然的錯誤,在一個故障管理方法的具體實施例中若干連續的錯誤必須在BFSL被認為不 可用之前接收。此外,將定該BFSL總是接收有效數據或控制令牌因此如果情況并非如此一 個BFSL應該也被認為斷開。根據此處描述的執行動態路由的多路徑網絡,提供了 FP而s通過網絡傳輸保持數 據包次序的手段。此處描述的適于在具有此處描述的多路徑網絡中執行網絡中數據包排序 的一個適于實施的例子可以在英國專利申請號0808862. 7中找到,其內容此處合并作為參考。此處描述的多路徑網絡真實可擴展的提供從256個或稍微少些的端口至48000個 端口或更多。一個使用此處描述方法和裝置的單獨以太網橋或路由器與傳統網橋相比能夠 提供極大增強的可連接性。例如,目前最大的10吉位((ibe)以太網橋(結構模塊化的)僅 提供288個端口。根據本發明的網絡,一個能運行在10(ibe或更高的單獨以太網橋能提供,例如,48000個端口。雖然此處對以太網橋或路由器做出參考它將,當然,顯而易見的本發明可用于任 何在網絡的輸入和輸出之間傳輸數據包的多路徑網絡。同時,雖然該多路徑網絡被描述為 全雙工鏈路,所述鏈路可替代為包括具有旁帶以允許認證令牌和標簽沿相反方向傳輸的半 雙工鏈路。雖然本發明被描述為具有特定的多路徑網絡,它將,當然,顯而易見地本發明能用 于任何執行動態路由的多路徑網絡,例如自適應路由。此外,本發明能等同用于網絡拓撲結 構與此處圖示不同涉及不同數量網絡元件和不同度和不同交互互聯布置。同時本發明不限 制于在通過網絡傳輸數據包時使用封裝的網絡構架。可理解的,由此,對本領域技術人員來說對本發明具體實施例以及本發明的基本 原則和此處描述的特征進行各種各樣的修改是顯而易見的。因此,本發明并不限于示出的 具體實施例并且上述修改和變體仍落入隨附的權利要求的精神和范圍之內。
權利要求
1.一種用于網橋、交換機、路由器、集線器或類似設備的多路徑網絡,所述多路徑網絡 包括大量網絡端口 ;大量網絡元件;和大量網絡鏈路交互互聯所述網絡元件和所述網絡端 口以傳輸數據包,每個網絡元件包括一個故障監視器以偵測該網絡元件連接的網絡鏈路上 的故障,大量動態可選擇輸出端口和輸出端口選擇機制并且每個網絡元件適于經由那些繞 過該故障網絡鏈路的網絡元件通信故障存在返回至一個或多個其它網絡元件,并且當通信 故障存在被接收時每個網絡元件適于更新輸出端口選擇機制這樣僅確保故障網絡鏈路被 繞過的輸出端口動態可選擇。
2.如權利要求1所述的多路徑網絡,其中每個網絡元件的所述故障監視器適于偵測輸 入至所述網絡元件的數據包內容的損壞并且其中所述網絡元件適于沿所述數據包先前傳 過網絡至其損壞點的路徑反向通信由數據包損壞觸發的故障存在。
3.如權利要求2所述的多路徑網絡,其中當通信故障存在時,所述網絡元件適于簽發 一個包括標識僅一個其他網絡元件的故障通信,在所屬數據包先前傳輸至其損壞點的路徑 中,其要求更新各自輸出端口選擇機制以為了繞開所述故障網絡鏈路。
4.如權利要求2所述的多路徑網絡,其中,當通信故障存在時,網絡元件適于簽發一個 包括標識該簽發所述故障通信的網絡元件的故障通信,并且其中所述網絡元件適于基于該 簽發 了故障通信的網絡元件決定各自輸出端口選擇及時是否要求更新。
5.如權利要求3或4所述的多路徑網絡,其中使用一個算法分析所述網絡元件適于識 別必須更新其自身輸出端口選擇機制以確保故障網絡連接在未來被繞過的所述一個其他 網絡元件。
6.如權利要2-5任一所述的多路徑網絡,其中網絡元件適于通過每當一個損壞數據包 被接收時包括一個錯誤警告進一個傳輸認證來通信故障存在。
7.如權利要求2-6任一所述的多路徑網絡,其中所述輸出端口選擇機制包括一個端口 寄存器在其中存儲由對于動態選擇可用的與網絡端口目的地相關的輸出端口并且其中,響 應接收與故障存在相關通信,所述網絡元件適于從選擇寄存器中取消損壞數據包先前使用 的輸出端口。
8.如權利要求7所述的多路徑網絡,其中每個網絡元件包括大量端口選擇寄存器其中 網絡端口目的地分布在端口選擇寄存器中,并且其中,響應接收關于故障存在的通信,損壞 數據包先前使用的輸出端口僅從與輸出端口與損壞數據包的網絡端口目的地相關的端口 選擇寄存器中取消。
9.如權利要求7或8所述的多路徑網絡,其中每個網絡元件具有大量輸入端口并且每 個輸入端口分配有各自的一個或多個端口選擇寄存器。
10.如權利要求7-9任一所述的多路徑網絡,其中每個網絡元件適于在一個預定時間 段之后重新啟用端口選擇寄存器中一個先前取消的輸出端口。
11.一種在多路徑網絡中管理故障的方法,所述多路徑網絡具有大量網絡端口,大量網 絡元件,所述網絡元件具有大量動態可選擇的輸出端口和輸出端口選擇機制;和大量網絡 網絡鏈路交互互聯所述網絡元件和所述網絡端口以傳輸數據包,該方法包括步驟在網絡鏈路上監測故障;從一個偵測到故障的網絡元件通信故障存在經由能繞開該故障網絡鏈路返回至一個 或多個其它網絡元件;和更新所述一個或多個其它網絡元件的交換選擇機制這樣僅確保能繞開該故障網絡鏈 路的交換端口動態可選擇。
12.如權利要求11所述的故障管理方法,其中所述監測故障的步驟包括在輸入值網絡 元件的數據包的內容中檢查損壞并且其中由損壞數據包觸發的故障存在沿該數據包先前 傳過網絡至其損壞點的路徑通信返回。
13.如權利要求12所述的故障管理方法,其中,當故障存在已通信,一個包括標識僅一 個其它網絡元件的故障通信信號被簽發,在所述數據包先前傳至其損壞點的路徑中,其要 求更新各自的輸出端口選擇機制以為了繞開該故障網絡鏈路。
14.如權利要求12所述的故障管理方法,其中,當故障存在已通信,一個包括標識該簽 發故障通信信號的網絡元件的故障通信信號被簽發,并且其中要求更新其輸出端口選擇機 制的所述其它網絡元件基于該簽發了故障通信信號的網絡元件標識其自身。
15.如權利要求13或14所述的故障管理方法,其中一個算法分析用來識別必須更新其 輸出端口選擇機制以確保該故障網絡鏈路在未來被繞開的所述一個其它網絡元件。
16.如權利要求12-15任一所述的故障管理方法,其中每當接收到一個損壞數據包時 故障存在通過包括一個錯誤警告進一個傳輸認證來通信。
17.如權利要求12-16任一所述的故障管理方法,其中所述輸出端口選擇機制包括一 個端口選擇寄存器其中存儲對于動態選擇可用的與網絡段偶目的地相關的輸出端口并且 其中,響應接收與故障存在相關的通信,一個由損壞數據包先前使用的輸出端口從所述端 口選擇寄存器取消。
18.如權利要求17所述的故障管理方法,其中每個網絡元件包括大量端口選擇寄存器 其中網絡端口目的地分布在端口選擇寄存器中,并且其中,響應接收與故障存在相關的通 信,損壞數據包先前使用的輸出端口僅從輸出端口與損壞數據包的網絡端口目的地相關的 端口寄存器中取消。
19.如權利要求17或18所述的故障管理方法,其中每個網絡元件具有大量輸入端口并 且一個或多個端口選擇寄存器在每個輸入端口復制。
20.如權利要求17-19任一所述的故障管理方法,其中在一個預定時間段之后一個先 前從端口選擇寄存器取消的輸出端口重新啟用。
21.一種以太網橋包括如權利要求1-10任一所述的多路徑網絡。
全文摘要
本發明提供一種用于網橋、交換機、路由器、集線器或類似裝置的多路徑網絡,該多路徑網絡包括大量網絡端口;大量網絡元件;和大量網絡鏈路交互互聯網絡元件和網絡端口以傳輸數據包,每個網絡元件包括故障監測器以偵測網絡元件連接的網絡鏈路上的故障,大量動態可選擇輸出端口和輸出端口選擇機制并且每個網絡元件適于經由能避開所述故障網絡鏈路的那些網絡元件通信故障存在返回至一個或多個其它網絡元件,并且當所述故障存在通信被接收時每個網絡元件適于更新所述輸出端口選擇機制這樣只有避開了所述故障鏈路的輸出端口動態可選擇。同時提供一種多路徑網絡中管理故障的方法。
文檔編號H04L12/56GK102119510SQ200980131203
公開日2011年7月6日 申請日期2009年8月5日 優先權日2008年8月14日
發明者A·邁克爾·福特, D·C·休森, 喬恩·比克羅夫特 申請人:格諾多有限公司