国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于提供快速重新路由的方法和轉(zhuǎn)發(fā)數(shù)據(jù)單元的制作方法

      文檔序號(hào):7749394閱讀:182來(lái)源:國(guó)知局
      專利名稱:用于提供快速重新路由的方法和轉(zhuǎn)發(fā)數(shù)據(jù)單元的制作方法
      用于提供快速重新路由的方法和轉(zhuǎn)發(fā)數(shù)據(jù)單元與相關(guān)申請(qǐng)的交叉引用本申請(qǐng)要求提交于2009年5月13日的美國(guó)臨時(shí)專利申請(qǐng)No. 61/178,011的優(yōu)先 權(quán),通過(guò)引用將其完整結(jié)合在此。本申請(qǐng)還涉及與本申請(qǐng)同日提交的代理卷號(hào)為AVA10-17、 題目為“用于保持網(wǎng)絡(luò)元件的轉(zhuǎn)發(fā)平面內(nèi)的端口狀態(tài)表的方法和裝置”的申請(qǐng)。通過(guò)引用 將上面指出的每個(gè)申請(qǐng)的教導(dǎo)和公開(kāi)完整結(jié)合在此。
      背景技術(shù)
      數(shù)據(jù)通信網(wǎng)絡(luò)可以包括各種計(jì)算機(jī)、服務(wù)器、節(jié)點(diǎn)、路由器、交換機(jī)、集線器和代理 服務(wù)器,以及被連接為并且被配置為彼此傳遞數(shù)據(jù)的其它設(shè)備。此處這些設(shè)備被稱為“網(wǎng)絡(luò) 元件”,并且可以在網(wǎng)絡(luò)上提供各種網(wǎng)絡(luò)資源。通過(guò)在網(wǎng)絡(luò)上通過(guò)通信鏈路在網(wǎng)絡(luò)元件之間 傳遞協(xié)議數(shù)據(jù)單元(諸如,分組、信元、幀或段),通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)傳遞數(shù)據(jù)。特定協(xié)議的 數(shù)據(jù)單元可被多個(gè)網(wǎng)絡(luò)元件處理,并且當(dāng)它在網(wǎng)絡(luò)上在它的源和它的目的地之間傳播時(shí)跨 越多個(gè)通信鏈路。諸如計(jì)算機(jī)、電話、蜂窩電話、個(gè)人數(shù)字助理和其它類型的消費(fèi)電子設(shè)備 的主機(jī)連接到通信網(wǎng)絡(luò),并且通過(guò)通信網(wǎng)絡(luò)傳輸/接收數(shù)據(jù),并且因此,是由通信網(wǎng)絡(luò)提供 的通信服務(wù)的用戶。網(wǎng)絡(luò)元件通常被實(shí)現(xiàn)為具有控制網(wǎng)絡(luò)元件的操作的控制平面以及處理流過(guò)網(wǎng)絡(luò) 的通信量的數(shù)據(jù)平面。數(shù)據(jù)平面通常具有線卡集合,所述線卡具有連接到網(wǎng)絡(luò)上的鏈路的 端口。數(shù)據(jù)被在特定端口處接收、被在數(shù)據(jù)平面內(nèi)交換,并且被在一個(gè)或多個(gè)其它端口處輸 出到網(wǎng)絡(luò)的其它鏈路上。為了能夠迅速地處理數(shù)據(jù),通常以硬件實(shí)現(xiàn)數(shù)據(jù)平面,從而使用硬 件查找等執(zhí)行關(guān)于如何處理數(shù)據(jù)的所有決策。端口可能出于許多原因而失效,包括線卡故障、連接到端口的鏈路的故障(例如, 線路中斷)、遠(yuǎn)端線卡故障等。術(shù)語(yǔ)多鏈路中繼線路(trunk) (MLT)、鏈路聚合組(LAG)和邏 輯端口是同義詞,并且這些術(shù)語(yǔ)被互換地使用。類似地,網(wǎng)絡(luò)元件內(nèi)的內(nèi)部轉(zhuǎn)發(fā)數(shù)據(jù)路徑可 能失效,這可能導(dǎo)致一個(gè)端口或一組端口表現(xiàn)出失效,或者沿著到端口的外部對(duì)等端點(diǎn)的 邏輯/虛擬連接可能存在某些其它故障。存在端口可能失效的多種原因。在端口失效的情況下,去往該端口的通信量應(yīng)當(dāng)被轉(zhuǎn)向?yàn)閺奶鎿Q端口流出,以便 能夠通過(guò)網(wǎng)絡(luò)恢復(fù)連接。為了最小化對(duì)該網(wǎng)絡(luò)元件所處理的通信量的影響,例如,為了最小 化停機(jī)時(shí)間(down time)和分組丟失,通信量重新路由越快發(fā)生越好。優(yōu)選地,能夠使得通 信量在10毫秒(ms)內(nèi)失效恢復(fù)到替換端口是有利的。優(yōu)選地,在LAG或MLT的情況下,通 信量應(yīng)當(dāng)散布在其余端口上,而不是從失效端口全部移到特定的指定替換端口,以便防止 指定的替換端口的通信量過(guò)載。

      發(fā)明內(nèi)容
      諸如上面解釋的那些常規(guī)機(jī)制具有各種缺點(diǎn)。一個(gè)這種缺點(diǎn)是常規(guī)網(wǎng)絡(luò)元件從故 障中恢復(fù)所花費(fèi)的時(shí)間的數(shù)量?;謴?fù)花費(fèi)的時(shí)間的數(shù)量越長(zhǎng),性能延遲(包括更多的丟棄 分組)以及其它端口克服失效端口的加載越長(zhǎng)。
      本發(fā)明的實(shí)施例顯著地克服了這些缺點(diǎn),并且提供了提供網(wǎng)絡(luò)元件內(nèi)的多播分組 到與多鏈路中繼線路相關(guān)聯(lián)的可用端口的快速重新路由的機(jī)制和技術(shù)。在一個(gè)特定實(shí)施例 中,該方法包括由網(wǎng)絡(luò)元件的數(shù)據(jù)平面內(nèi)的FDU接收分組,并且確定該分組是多播分組。該 方法還包括將分組轉(zhuǎn)發(fā)到具有與所述多播分組的至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口 的所有外出FDU。附加地,該方法包括由每個(gè)外出FDU在同步的本地端口狀態(tài)數(shù)據(jù)庫(kù)內(nèi)執(zhí)行 查找,以便發(fā)現(xiàn)每個(gè)接收方的處于UP狀態(tài)的端口。其它實(shí)施例包括其上具有計(jì)算機(jī)可讀代碼的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀代 碼用于提供網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián)的可用端口的快速重新路 由。所述計(jì)算機(jī)可讀介質(zhì)包括用于由網(wǎng)絡(luò)元件的數(shù)據(jù)平面內(nèi)的FDU接收分組,并且確定該 分組是多播分組的指令。該計(jì)算機(jī)可讀介質(zhì)還包括用于將分組轉(zhuǎn)發(fā)到具有與所述多播分組 的至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的所有外出FDU的指令。附加地,該計(jì)算機(jī)可讀 介質(zhì)包括用于由每個(gè)外出FDU在同步的本地端口狀態(tài)數(shù)據(jù)庫(kù)內(nèi)執(zhí)行查找,以便發(fā)現(xiàn)每個(gè)接 收方的處于UP狀態(tài)的端口的指令。其它實(shí)施例包括一種計(jì)算機(jī)化設(shè)備,其配置為處理此處作為本發(fā)明的實(shí)施例所公 開(kāi)的所有方法操作。在這些實(shí)施例中,該計(jì)算機(jī)化設(shè)備包括存儲(chǔ)器系統(tǒng)、處理器、連接這些 組件的互連機(jī)制中的通信接口。所述存儲(chǔ)器系統(tǒng)被編碼有一種處理,該處理如此處所解釋 的提供網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián)的可用端口的快速重新路由,當(dāng) 被在處理器上實(shí)施時(shí)(例如,當(dāng)執(zhí)行時(shí)),該處理在所述計(jì)算機(jī)化設(shè)備內(nèi)按照此處的解釋操 作,以便執(zhí)行此處作為本發(fā)明的實(shí)施例所解釋的所有方法實(shí)施例和操作。因此,執(zhí)行或被編 程為執(zhí)行此處解釋的處理的任意計(jì)算機(jī)化設(shè)備是本發(fā)明的實(shí)施例。此處公開(kāi)的本發(fā)明的其它布置包括執(zhí)行上面概述和下面詳細(xì)公開(kāi)的方法實(shí)施例 的步驟和操作的軟件程序。更具體地,計(jì)算機(jī)程序產(chǎn)品是具有計(jì)算機(jī)可讀介質(zhì)的實(shí)施例,所 述計(jì)算機(jī)可讀介質(zhì)包括編碼在其上的計(jì)算機(jī)程序邏輯,當(dāng)被在計(jì)算機(jī)化設(shè)備內(nèi)執(zhí)行時(shí),提 供相關(guān)聯(lián)的操作,用于提供此處解釋的網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián) 的可用端口的快速重新路由。當(dāng)被在具有計(jì)算系統(tǒng)的至少一個(gè)處理器上執(zhí)行時(shí),所述計(jì)算 機(jī)程序邏輯使得所述處理器執(zhí)行此處作為本發(fā)明的實(shí)施例指出的操作(例如,方法)。本發(fā) 明的這些布置通常被作為布置或編碼在計(jì)算機(jī)可讀介質(zhì)上的軟件、代碼和/或其它數(shù)據(jù)結(jié) 構(gòu)提供,所述計(jì)算機(jī)可讀介質(zhì)諸如是光學(xué)介質(zhì)(例如,CD-ROM)、軟盤(pán)或硬盤(pán)或其它介質(zhì),諸 如一個(gè)或多個(gè)ROM或RAM或PROM芯片內(nèi)的固件或微代碼,或作為專用集成電路(ASIC),或 作為一個(gè)或多個(gè)模塊中的可下載的軟件映像、共享庫(kù)等。軟件或固件或其它這些配置可被 安裝在計(jì)算機(jī)化設(shè)備上,以便使得計(jì)算機(jī)化設(shè)備內(nèi)的一個(gè)或多個(gè)處理器執(zhí)行此處作為本發(fā) 明的實(shí)施例解釋的技術(shù)。在計(jì)算機(jī)化設(shè)備的集合中,諸如,在一組數(shù)據(jù)通信設(shè)備或其它實(shí)體 內(nèi)操作的軟件處理也可以提供本發(fā)明的系統(tǒng)。本發(fā)明的系統(tǒng)可被分布在若干(數(shù)個(gè))數(shù)據(jù) 通信設(shè)備上的許多軟件處理內(nèi),或所有處理可以在一組少數(shù)的專用計(jì)算機(jī)上或單獨(dú)在一個(gè) 計(jì)算機(jī)上運(yùn)行。應(yīng)當(dāng)理解,本發(fā)明的實(shí)施例可被嚴(yán)格地表達(dá)(實(shí)施)為,諸如,數(shù)據(jù)通信設(shè)備內(nèi)的 軟件程序、軟件和硬件、或是僅為硬件和/或電路。如此處解釋的,本發(fā)明的特征可被用于 數(shù)據(jù)通信設(shè)備和/或用于這種設(shè)備的軟件系統(tǒng),所述設(shè)備諸如是由新澤西州林克羅夫特市 的Avaya公司制造的設(shè)備。
      注意,本公開(kāi)中討論的每個(gè)不同特征、技術(shù)、配置等可被獨(dú)立地或組合地執(zhí)行。因 此,本發(fā)明可被以許多不同方式表達(dá)。還要注意,此處的概述部分未指出本公開(kāi)或所提出的發(fā)明的每個(gè)實(shí)施例和/或增 加的新穎方面。而是,該概述僅提供對(duì)不同實(shí)施例和相對(duì)于常規(guī)技術(shù)的相應(yīng)新穎點(diǎn)的初步 討論。對(duì)于本發(fā)明的附加細(xì)節(jié)、元素(element)和/或可能的設(shè)想(改變),讀者需要參考 下面進(jìn)一步討論的本發(fā)明的具體實(shí)施方式
      部分和相應(yīng)附圖。


      如附圖中所示,從下面對(duì)本發(fā)明的優(yōu)選實(shí)施例的更具體的描述中,將明了上面的 內(nèi)容,其中類似的參考字符在所有不同視圖中指示相同部分。這些圖不必是成比例的,而是 重點(diǎn)在于示出本發(fā)明的原理。圖1是示出了組織節(jié)點(diǎn)集群的第一個(gè)例子的功能方框圖;圖2是示出了組織節(jié)點(diǎn)集群的另一個(gè)例子的功能方框圖;圖3是示出了組織節(jié)點(diǎn)集群的另一個(gè)例子的功能方框圖;圖4是示出了組織節(jié)點(diǎn)集群的另一個(gè)例子的功能方框圖;圖5是示出了組織節(jié)點(diǎn)集群的另一個(gè)例子的功能方框圖;圖6是示出了組織節(jié)點(diǎn)集群的另一個(gè)例子的功能方框圖;圖7是示例通信網(wǎng)絡(luò)的功能方框圖;圖8是示例網(wǎng)絡(luò)元件的功能方框圖;圖9是可用于諸如圖8的網(wǎng)絡(luò)元件的網(wǎng)絡(luò)元件的示例線卡的功能方框圖;圖10是可用于諸如圖9的線卡的線卡的示例端口數(shù)據(jù)庫(kù)的功能方框圖;圖11是示例網(wǎng)絡(luò)元件集群的功能方框圖,示出了節(jié)點(diǎn)集群內(nèi)的數(shù)據(jù)路徑組件之 間的端口狀態(tài)信息流動(dòng);圖12示出了根據(jù)本發(fā)明的實(shí)施例操作的網(wǎng)絡(luò)元件的示例計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu);圖13提供了網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián)的可用端口的快 速重新路由;圖14提供了網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián)的本地FDU的可 用MLT組的快速重新路由;圖15提供了網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián)的遠(yuǎn)程FDU的可 用MLT組的快速重新路由。
      具體實(shí)施例方式網(wǎng)絡(luò)元件處理數(shù)據(jù)的方式隨時(shí)間而發(fā)展。例如,兩個(gè)或多個(gè)物理鏈路可以在一組 網(wǎng)絡(luò)元件之間延伸,并且被總地用作MLT或LAG。圖1示出了由多個(gè)鏈路24a-d連接的兩個(gè) 網(wǎng)絡(luò)元件(網(wǎng)絡(luò)元件1和網(wǎng)絡(luò)元件2)的例子,多個(gè)鏈路24a-d被組成一組,從而形成多鏈 路中繼線路22。具體地,MLT22中的每個(gè)鏈路24a-d可被任意一個(gè)網(wǎng)絡(luò)元件用于向另一個(gè) 網(wǎng)絡(luò)元件轉(zhuǎn)發(fā)數(shù)據(jù)。因此,如果網(wǎng)絡(luò)元件1具有要被發(fā)送到網(wǎng)絡(luò)元件2的數(shù)據(jù)(例如,幀/ 分組),網(wǎng)絡(luò)元件1可以從MLT22中選擇一個(gè)鏈路24a-d,并且在該鏈路上向網(wǎng)絡(luò)元件2傳 輸分組。
      圖2示出了可以互連網(wǎng)絡(luò)元件的另一種示例方式。具體地,在這個(gè)例子中,網(wǎng)絡(luò)元 件1和網(wǎng)絡(luò)元件2被以交換機(jī)間中繼線路(1ST) 26互連,IST26可以是單個(gè)鏈路或它自己可 以是多鏈路中繼線路。當(dāng)多鏈路中繼線路的鏈路被物理地連接到兩個(gè)不同的網(wǎng)絡(luò)元件時(shí), MLT被稱為分離的多鏈路中繼線路(SMLT)。每個(gè)網(wǎng)絡(luò)元件1和2可以具有連接到網(wǎng)絡(luò)元件 3的一個(gè)或多個(gè)鏈路,這些鏈路被組成一組從而形成SMLT23。因此,如果網(wǎng)絡(luò)元件1具有要 被發(fā)送到網(wǎng)絡(luò)元件3的數(shù)據(jù)(例如,幀/分組),網(wǎng)絡(luò)元件1可以選擇連接它的SMLT鏈路 之一,或可以在與交換機(jī)間中繼線路26相關(guān)聯(lián)的鏈路之一上傳輸分組,以便使得網(wǎng)絡(luò)元件 2能夠在其與SMLT相關(guān)聯(lián)的鏈路之一上將數(shù)據(jù)轉(zhuǎn)發(fā)到網(wǎng)絡(luò)元件3。圖3示出了另一個(gè)例子,其中網(wǎng)絡(luò)元件1不具有連接到SMLT23的任何鏈路,但是 被IST25和26連接到具有被連接到與SMLT相關(guān)聯(lián)的鏈路的端口的兩個(gè)其它網(wǎng)絡(luò)元件(網(wǎng) 絡(luò)元件2和網(wǎng)絡(luò)元件3)。在這種情況下,如果網(wǎng)絡(luò)元件1具有要被發(fā)送到SMLT的數(shù)據(jù),它 將選擇1ST鏈路之一(注意,每個(gè)1ST鏈路自身可以是SMLT),并且將數(shù)據(jù)轉(zhuǎn)發(fā)到另一個(gè)網(wǎng) 絡(luò)元件2或3。1ST可以是物理的并且在兩個(gè)網(wǎng)絡(luò)元件之間直接延伸,或可以是邏輯的并且 通過(guò)一個(gè)或多個(gè)中間網(wǎng)絡(luò)元件在隧道上延伸。圖4示出了另一個(gè)例子,其中網(wǎng)絡(luò)元件1也參與到SMLT23內(nèi)。在這種情況下,如 果網(wǎng)絡(luò)元件1具有要被發(fā)送的數(shù)據(jù),它可以在其與SMLT23相關(guān)聯(lián)的鏈路之一上轉(zhuǎn)發(fā)數(shù)據(jù), 或可以在與IST25或26中的一個(gè)相關(guān)聯(lián)的鏈路之一上轉(zhuǎn)換數(shù)據(jù),以便使得能夠在SMLT23 上轉(zhuǎn)發(fā)數(shù)據(jù)。圖5和6示出了在正方形SMLT布置中互連網(wǎng)絡(luò)元件的另一種方式。在圖5所示 的布置中,4個(gè)網(wǎng)絡(luò)元件在正方形布置中通過(guò)IST25-28互連,并且在圖6中,4個(gè)網(wǎng)絡(luò)元件 在網(wǎng)狀布置中通過(guò)IST25-28互連。1ST可以是物理的并且在兩個(gè)網(wǎng)絡(luò)元件之間直接延伸, 或可以是邏輯的并且通過(guò)一個(gè)或多個(gè)中間網(wǎng)絡(luò)元件在隧道上延伸。雖然示出了可以互連網(wǎng)絡(luò)設(shè)備的幾種示例方式,還存在互連網(wǎng)絡(luò)元件集群的其它 方法,并且這組示例的互連體系結(jié)構(gòu)不旨在是無(wú)遺漏的。因此,這些例子僅旨在提供互連網(wǎng) 絡(luò)元件的少數(shù)方法的代表性例子。一組網(wǎng)絡(luò)元件在此處被稱為集群。圖7示出了示例的通信網(wǎng)絡(luò)10,其中訂戶12連接到邊緣交換機(jī)14。邊緣交換機(jī) 14連接到核心交換機(jī)16,核心交換機(jī)16通過(guò)網(wǎng)絡(luò)在鏈路18上轉(zhuǎn)發(fā)數(shù)據(jù)。這些交換機(jī)中的 每一個(gè)可以是物理的路由交換機(jī)(rouswitchter)或可以是被連接在一起以便作為集群操 作的多個(gè)設(shè)備。每個(gè)鏈路18可以是MLT,或在路由器/交換機(jī)被實(shí)現(xiàn)為多個(gè)網(wǎng)絡(luò)設(shè)備的情 況下,可以是SMLT。從網(wǎng)絡(luò)路由的角度出發(fā),分組可有多種方式穿過(guò)網(wǎng)絡(luò)。例如,在圖7中, 邊緣交換機(jī)A能夠通過(guò)核心交換機(jī)C和D將分組傳輸?shù)竭吘壗粨Q機(jī)B,或可替換地,可以能 夠通過(guò)核心交換機(jī)E和F傳輸分組??梢允褂镁W(wǎng)絡(luò)層路由協(xié)議確定用于傳輸分組的路徑。如上所述,取決于互連網(wǎng)絡(luò)元件的方式,網(wǎng)絡(luò)元件可以有許多方法轉(zhuǎn)發(fā)幀/分組, 以便使得幀/分組能夠到達(dá)其目的地。如此處使用的,術(shù)語(yǔ)“集群”用于指示在網(wǎng)絡(luò)級(jí)提供 節(jié)點(diǎn)級(jí)彈跳的一個(gè)或多個(gè)節(jié)點(diǎn)。因此,在圖1中,網(wǎng)絡(luò)元件1是一個(gè)集群;在圖2中,網(wǎng)絡(luò)元 件1和2是一個(gè)集群,并且在圖3和4中,網(wǎng)絡(luò)元件1、2和3是一個(gè)集群,并且在圖5和6 中,網(wǎng)絡(luò)元件1-4是一個(gè)集群。如上所述,可以有組織集群中的節(jié)點(diǎn)的其它方式。集群節(jié)點(diǎn)之間的邏輯連接此處被稱為交換機(jī)間中繼線路(1ST)。1ST可以是從一 個(gè)網(wǎng)絡(luò)元件延伸到集群中的相鄰網(wǎng)絡(luò)元件的物理鏈路,或可以是邏輯鏈路,該邏輯鏈路是穿過(guò)集群內(nèi)的一個(gè)或多個(gè)中間網(wǎng)絡(luò)元件的隧道。從非1ST端口接收分組的節(jié)點(diǎn)被稱為本地 節(jié)點(diǎn)。對(duì)于接收到的分組來(lái)說(shuō),集群內(nèi)的所有其它節(jié)點(diǎn)被稱為遠(yuǎn)程節(jié)點(diǎn)。兩個(gè)或多個(gè)鏈路可以組成一組,以便形成多鏈路中繼線路(MLT)。給每個(gè)MLT分配 一個(gè)MLT組ID (MLT-ID),它是集群內(nèi)的全局值,并且在集群節(jié)點(diǎn)中是唯一的。其所有端口成 員僅在一個(gè)節(jié)點(diǎn)上的MLT被稱為常規(guī)MLT組。其端口成員在兩個(gè)或多個(gè)節(jié)點(diǎn)上的MLT組被 稱為分離的MLT或SMLT組。當(dāng)邏輯端口被實(shí)現(xiàn)為MLT或SMLT時(shí),實(shí)際上存在能夠?qū)⒎纸M轉(zhuǎn)發(fā)到其在網(wǎng)絡(luò)上的 下一跳的多個(gè)物理端口。因此,如果MLT/SMLT的端口之一失效,使得分組被轉(zhuǎn)發(fā)到其余端 口之一,從而分組可以穿過(guò)網(wǎng)絡(luò)而不是被丟棄是有利的。類似地,不是為MLT/SMLT中的每 個(gè)端口指定主端口和后備端口,在MLT/SMLT的其余端口上負(fù)載共享分組,從而分組可被分 布在處于UP的其余端口上是有利的。根據(jù)一個(gè)實(shí)施例,這個(gè)處理被以硬件實(shí)現(xiàn),從而快速 通路(數(shù)據(jù)平面)可以自動(dòng)適應(yīng)單個(gè)和多個(gè)端口失效,并且自動(dòng)地以公平的方式在其余端 口上重定向分組通信量。圖8示出了可被用作圖1-6中任意一個(gè)所示的任意網(wǎng)絡(luò)元件的示例網(wǎng)絡(luò)元件20 的功能方框圖。在圖8所示的例子中,網(wǎng)絡(luò)元件包括控制平面31和數(shù)據(jù)平面32??刂破矫?具有一個(gè)或多個(gè)CPU34,并且一般地運(yùn)行控制處理,諸如路由處理、管理處理等??刂破矫鎸?duì) 數(shù)據(jù)平面編程,以便指示數(shù)據(jù)平面如何在網(wǎng)絡(luò)上轉(zhuǎn)發(fā)數(shù)據(jù)??梢允褂迷S多不同的體系結(jié)構(gòu)構(gòu)造數(shù)據(jù)平面32,并且圖8所示的例子僅是一個(gè)這 種體系結(jié)構(gòu)的一個(gè)例子。在圖8所示的例子中,數(shù)據(jù)平面包括多個(gè)線卡36,每個(gè)線卡實(shí)現(xiàn)連 接到網(wǎng)絡(luò)中的鏈路的多個(gè)物理端口。線卡在這個(gè)實(shí)施例中被以交換機(jī)結(jié)構(gòu)40互連,雖然在 其它實(shí)施例中,線卡可以直接互連,并且以分布式方式執(zhí)行交換功能。如圖9所示,每個(gè)線卡36包括物理地連接到網(wǎng)絡(luò)上的鏈路的多個(gè)端口 38。線卡還 包括處理從附接端口接收的分組的一個(gè)或多個(gè)功能單元42。如此處使用的,處理在進(jìn)入和 外出兩個(gè)方向上來(lái)自附接端口的分組的功能單元被稱為轉(zhuǎn)發(fā)數(shù)據(jù)路徑單元或FDU42。線卡 還可以包括CPU44,CPU44與控制平面交互,以便使得控制平面能夠?qū)⒅噶罹幊痰紽DU42內(nèi), 并且可選擇地編程到線卡上的其它組件內(nèi),從而FDU42在網(wǎng)絡(luò)上正確地處理數(shù)據(jù)。CPU44還 周期地檢查FDU42和線卡中的其它組件的狀態(tài),以便檢測(cè)何時(shí)出現(xiàn)故障。每個(gè)FDU42保持端口狀態(tài)數(shù)據(jù)庫(kù)46。這個(gè)端口狀態(tài)數(shù)據(jù)庫(kù)46保持物理鏈路狀態(tài) 和其本地以及所有遠(yuǎn)程端口的連接狀態(tài)。如圖10所示,端口狀態(tài)數(shù)據(jù)庫(kù)46包括兩個(gè)表-本 地端口數(shù)據(jù)表48和遠(yuǎn)程端口數(shù)據(jù)表50。本地端口數(shù)據(jù)表48保持屬于本地節(jié)點(diǎn)的端口狀 態(tài),并且遠(yuǎn)程端口數(shù)據(jù)表50保持屬于集群中的遠(yuǎn)程端口的端口狀態(tài)。在MLT組的情況下, FDU將本地節(jié)點(diǎn)上的MLT端口成員保持在本地表內(nèi),并且將所有其它遠(yuǎn)程節(jié)點(diǎn)上的端口成 員保持在遠(yuǎn)程表內(nèi)。當(dāng)FDU接收到分組時(shí),需要尋找MLT (或SMLT)內(nèi)的處于UP的端口,以便將分組轉(zhuǎn) 發(fā)到其在網(wǎng)絡(luò)上的目的地。如上所述,在MLT上的所有端口都為本地的情況下,F(xiàn)DU必須確 定本地端口中的哪一些處于UP狀態(tài),從而不會(huì)試圖在處于DOWN的端口上轉(zhuǎn)發(fā)分組。類似 地,當(dāng)與MLT相關(guān)聯(lián)的端口不全是本地(例如,SMLT)時(shí),F(xiàn)DU必須選擇與SMLT相關(guān)聯(lián)的分 離的物理網(wǎng)絡(luò)元件上的并且具有UP狀態(tài)的端口。根據(jù)一個(gè)實(shí)施例,每個(gè)FDU保持它用于保持集群內(nèi)的每個(gè)端口的狀態(tài)的端口狀態(tài)數(shù)據(jù)庫(kù)46。該數(shù)據(jù)庫(kù)保持物理鏈路狀態(tài)和其本地以及所有遠(yuǎn)程端口的連接狀態(tài)。該數(shù)據(jù)庫(kù) 包括兩個(gè)表_即,本地表48和遠(yuǎn)程表50。本地表保持屬于本地節(jié)點(diǎn)上的所有FDU的端口狀 態(tài),并且遠(yuǎn)程表保持集群內(nèi)的所有遠(yuǎn)程節(jié)點(diǎn)上的所有端口的端口狀態(tài)。在MLT組的情況下, FDU在本地表內(nèi)保持本地節(jié)點(diǎn)上的MLT端口成員的狀態(tài),并且在遠(yuǎn)程表內(nèi)保持所有其它遠(yuǎn) 程節(jié)點(diǎn)上的MLT端口成員的狀態(tài)。本地表還保持所有1ST端口的狀態(tài)。當(dāng)接收到分組時(shí), FDU使用端口狀態(tài)數(shù)據(jù)庫(kù)確定處于UP的用于該分組的端口,并且將分組轉(zhuǎn)發(fā)到該端口以便 輸出到網(wǎng)絡(luò)上。由于端口狀態(tài)數(shù)據(jù)庫(kù)46被FDU42用于確定轉(zhuǎn)發(fā)決策,保持更新端口狀態(tài)表是重要 的,從而它包含關(guān)于每個(gè)端口的狀態(tài)的當(dāng)前信息。由于每個(gè)線卡具有一個(gè)或多個(gè)FDU,需要 每個(gè)FDU(在每個(gè)線卡內(nèi))與本地網(wǎng)絡(luò)元件內(nèi)的所有其它線卡內(nèi)的FDU以及集群內(nèi)的其它 網(wǎng)絡(luò)元件內(nèi)的所有其它FDU同步。在一個(gè)實(shí)施例中,每個(gè)線卡保持心跳計(jì)時(shí)器。每次一個(gè)特定的心跳計(jì)時(shí)器超時(shí), 心跳引擎54產(chǎn)生一個(gè)心跳分組,并且將該心跳分組發(fā)送到該線卡上的本地FDU42。心跳分 組攜帶有線卡上的所有端口的本地物理鏈路狀態(tài),以便將線卡上的端口的狀態(tài)通知給本地 FDU0該分組指出全局端口 ID(GPID)和網(wǎng)絡(luò)元件ID。FDU使用這個(gè)狀態(tài)更新其本地端口狀 態(tài)數(shù)據(jù)庫(kù)。FDU還將該分組轉(zhuǎn)發(fā)到本地節(jié)點(diǎn)內(nèi)的所有其它FDU以及集群內(nèi)的其它節(jié)點(diǎn)上的 所有其它FDU。每個(gè)FDU使用該分組攜帶的端口狀態(tài)更新其端口狀態(tài)數(shù)據(jù)庫(kù)。除了保持與收集/報(bào)告其自己的端口狀態(tài)信息相關(guān)聯(lián)的計(jì)時(shí)器之外,每個(gè)線卡/ FDU還保持與本地節(jié)點(diǎn)內(nèi)的所有其它FDU以及集群內(nèi)的其它節(jié)點(diǎn)上的所有其它FDU相關(guān)聯(lián) 的一組計(jì)時(shí)器。每個(gè)FDU期望從每個(gè)其它本地和遠(yuǎn)程FDU接收周期心跳分組。因此,為每個(gè) FDU (為本地網(wǎng)絡(luò)元件上的每個(gè)FDU和集群內(nèi)的每個(gè)遠(yuǎn)程網(wǎng)絡(luò)元件上的每個(gè)FDU)保持本地 接收計(jì)時(shí)器。如果相應(yīng)的接收計(jì)時(shí)器超時(shí),則檢測(cè)到FDU故障(本地或遠(yuǎn)程)。在在接收計(jì) 時(shí)器超時(shí)之前未接收到心跳分組的情況下,與該FDU相關(guān)聯(lián)的每個(gè)端口將被設(shè)置為DOWN, 從而不向與該FDU相關(guān)聯(lián)的端口發(fā)送分組,直到它恢復(fù)為止。心跳分組允許FDU彼此傳遞狀態(tài)信息,并且允許每個(gè)FDU 了解數(shù)據(jù)平面內(nèi)的所有 端口的狀態(tài)。如下所述,這允許數(shù)據(jù)平面自動(dòng)地針對(duì)端口故障進(jìn)行調(diào)整,從而數(shù)據(jù)可被重定 向到處于UP的端口并且遠(yuǎn)離處于DOWN的端口。所有這些在沒(méi)有控制平面的干預(yù)的情況 下發(fā)生,并且因此不將特定端口/線卡的故障通知給控制平面。為了使得控制平面能夠得 知數(shù)據(jù)平面故障,管理/控制處理器44周期地向其本地FDU42注入心跳分組或從其本地 FDU42提取心跳分組。每個(gè)注入的心跳分組完整地循環(huán)通過(guò)目標(biāo)FDU和相關(guān)聯(lián)的端口,并且 然后被提取回到處理器。管理心跳分組穿過(guò)進(jìn)入和外出數(shù)據(jù)路徑兩者內(nèi)的所有功能塊。每 次控制處理器注入這種屬性的管理心跳分組,它開(kāi)始相應(yīng)的接收計(jì)時(shí)器。如果接收計(jì)時(shí)器 超時(shí),則控制處理器檢測(cè)到線卡故障。處理器使用這種信息設(shè)置將被傳遞到控制平面30的 系統(tǒng)警報(bào)。因此,控制平面可以得知數(shù)據(jù)平面故障。然而,由于數(shù)據(jù)平面具有自我復(fù)原機(jī)制 以便適應(yīng)端口故障并且從而重定向通信量,重定向通信量不需要涉及控制平面,并且因此 將故障通知控制平面對(duì)于通過(guò)網(wǎng)絡(luò)元件的通信量的恢復(fù)不是至關(guān)重要的。每個(gè)FDU還使用心跳分組確定其端口的狀態(tài),在一個(gè)實(shí)施例中,每個(gè)FDU為配置在 邏輯/虛擬連接內(nèi)的每個(gè)附接端口保持一對(duì)計(jì)時(shí)器。這些計(jì)時(shí)器之一用于產(chǎn)生將被在所述 連接上發(fā)送的心跳分組。另一個(gè)計(jì)時(shí)器(接收計(jì)時(shí)器)用于檢測(cè)連接故障。如果來(lái)自該連接的其它端點(diǎn)的心跳分組未被及時(shí)接收,該計(jì)時(shí)器超時(shí)。FDU以心跳分組的到達(dá)和接收計(jì)時(shí) 器超時(shí)更新其端口狀態(tài)表。每個(gè)線卡上的每個(gè)FDU保持其自己的端口狀態(tài)表46。這個(gè)表保持物理鏈路狀態(tài) 和其本地端口以及集群內(nèi)的所有FDU的所有遠(yuǎn)程端口的連接狀態(tài)。FDU使用接收到的心跳 分組和計(jì)時(shí)器超時(shí)消息(由于連接超時(shí)或遠(yuǎn)程FDU故障)更新該表。該表被劃分為兩個(gè) 部分屬于本地節(jié)點(diǎn)的端口狀態(tài)和屬于遠(yuǎn)程節(jié)點(diǎn)的端口狀態(tài)。該端口狀態(tài)表還保持MLT和 SMLT組信息。轉(zhuǎn)發(fā)邏輯使用該端口狀態(tài)表執(zhí)行下面更詳細(xì)解釋的快速重新路由。圖11示出了 4個(gè)節(jié)點(diǎn)的集群內(nèi)的端口狀態(tài)分組的分發(fā),其中黑色箭頭表示端口狀 態(tài)分組到集群內(nèi)的所有FDU的流動(dòng)。如這個(gè)圖中所示,產(chǎn)生包含與特定FDU相關(guān)聯(lián)的每個(gè) 端口的狀態(tài)的分組1。以左上網(wǎng)絡(luò)元件的左上線卡內(nèi)的參考數(shù)字1示出這個(gè)分組。這個(gè)分 組將被傳遞到FDU,從而FDU可以更新其端口狀態(tài)數(shù)據(jù)庫(kù),以便反映其端口的當(dāng)前狀態(tài)。然 后該分組將被傳遞到本地節(jié)點(diǎn)內(nèi)的每個(gè)其它FDU (箭頭2)。在一個(gè)實(shí)施例中,這可被通過(guò)使 得交換機(jī)結(jié)構(gòu)將該分組廣播到本地節(jié)點(diǎn)內(nèi)的所有其它FDU實(shí)現(xiàn)。該分組還被轉(zhuǎn)發(fā)到集群內(nèi) 的其它節(jié)點(diǎn)(箭頭3),從而端口狀態(tài)可被分發(fā)(箭頭4)到與集群內(nèi)的每個(gè)節(jié)點(diǎn)相關(guān)聯(lián)的每 個(gè)FDU。當(dāng)FDU接收到包含端口狀態(tài)信息的分組時(shí),它使用該信息更新其自己的端口狀態(tài)數(shù) 據(jù)庫(kù)。這使得能夠同步所有FDU的端口狀態(tài)數(shù)據(jù)庫(kù)。集群中可以存在若干網(wǎng)絡(luò)元件,一個(gè)網(wǎng)絡(luò)元件中的多個(gè)FDU和由每個(gè)FDU支持的 多個(gè)端口。為了使得每個(gè)端口能夠保持追蹤哪個(gè)FDU已提供了狀態(tài)分組,并且將特定端口 狀態(tài)分組與特定FDU相關(guān)聯(lián),可以實(shí)現(xiàn)編號(hào)方案。優(yōu)選地,在集群范圍內(nèi)唯一地實(shí)現(xiàn)編號(hào)方 案,從而可以唯一地標(biāo)識(shí)集群內(nèi)的每個(gè)FDU。在一個(gè)實(shí)施例中,端口狀態(tài)分組攜帶關(guān)于其每 個(gè)端口的信息。該分組將指出源節(jié)點(diǎn)ID和全局端口 ID(GPID)。全局端口 ID是使得可以在 端口數(shù)據(jù)庫(kù)內(nèi)唯一地標(biāo)識(shí)端口的全局唯一標(biāo)識(shí)符(節(jié)點(diǎn)內(nèi)全局唯一的)。前面的消息描述FDU如何交換消息以便使得能夠在數(shù)據(jù)路徑內(nèi)的端口之間同步 端口狀態(tài)。在操作中,這種端口狀態(tài)信息將使得FDU能夠?yàn)樘囟ǖ臄?shù)據(jù)分組選擇可用端口, 并且確信所選擇的端口處于UP。當(dāng)端口成為DOWN時(shí),集群中的FDU停止選擇這些端口, 而是選擇與下行(down)端口相關(guān)聯(lián)的MLT/SMLT內(nèi)的替換端口,以便用于處理該分組。因 此,數(shù)據(jù)路徑能夠自動(dòng)地適應(yīng)端口故障、線卡故障等,以便將分組重新路由到可用的替換端 口而不涉及控制平面。因此,可以在網(wǎng)絡(luò)元件內(nèi)和在網(wǎng)絡(luò)元件的集群之間迅速地進(jìn)行少于 IOms的分組重新路由。當(dāng)FDU接收到數(shù)據(jù)分組時(shí),它將讀取端口 ID、MLT_ID和散列函數(shù),并且將這些值傳 遞到端口狀態(tài)數(shù)據(jù)庫(kù)。端口狀態(tài)數(shù)據(jù)庫(kù)將首先搜索與MLT-ID相關(guān)聯(lián)的并且處于UP的本地 端口,并且然后搜索與該MLT相關(guān)聯(lián)并且處于UP的遠(yuǎn)程端口。在一個(gè)實(shí)施例中,端口狀態(tài) 表被設(shè)計(jì)為卸載來(lái)自該FDU的端口選擇處理。在這個(gè)實(shí)施例中,F(xiàn)DU將對(duì)端口的請(qǐng)求傳遞 到端口狀態(tài)表,并且端口狀態(tài)表智能地實(shí)現(xiàn)該請(qǐng)求,以便返回保證處于UP的作為MLT/SMLT 的一部分的端口,并且相對(duì)于遠(yuǎn)程端口優(yōu)先使用本地端口。另外,在端口在遠(yuǎn)程節(jié)點(diǎn)上的情 況下,端口狀態(tài)表檢查以便尋找處于UP的1ST端口,F(xiàn)DU可以在該端口上將分組轉(zhuǎn)發(fā)到遠(yuǎn) 程節(jié)點(diǎn),從而遠(yuǎn)程節(jié)點(diǎn)可以在遠(yuǎn)程節(jié)點(diǎn)上轉(zhuǎn)發(fā)分組。因此,端口狀態(tài)表不僅確定是否存在可 用的遠(yuǎn)程端口,而且還確定是否存在可用的1ST端口,F(xiàn)DU可以使用該1ST端口將分組傳遞 到遠(yuǎn)程節(jié)點(diǎn),以便在遠(yuǎn)程端口上進(jìn)行轉(zhuǎn)發(fā)。
      圖10示出了可用于卸載來(lái)自FDU的端口選擇的實(shí)施例。在圖10的實(shí)施例中,端 口數(shù)據(jù)庫(kù)包括數(shù)據(jù)庫(kù)控制邏輯56,數(shù)據(jù)庫(kù)控制邏輯56配置為從FDU接收端口選擇請(qǐng)求,并 且如果存在一個(gè)可用端口,返回可用端口。端口數(shù)據(jù)庫(kù)可能需要對(duì)本地和遠(yuǎn)程端口表進(jìn)行 多個(gè)數(shù)據(jù)庫(kù)訪問(wèn)操作/調(diào)用,以便確定將響應(yīng)端口選擇請(qǐng)求返回哪個(gè)端口。數(shù)據(jù)庫(kù)控制邏 輯,可選擇地在FDU的控制下,控制這個(gè)處理的執(zhí)行,以便自動(dòng)執(zhí)行選擇端口的處理。數(shù)據(jù)庫(kù)控制邏輯可被以硬件實(shí)現(xiàn),并且在也被以硬件實(shí)現(xiàn)的本地和遠(yuǎn)程表內(nèi)執(zhí)行 數(shù)據(jù)訪問(wèn)。當(dāng)端口失效時(shí),該端口的狀態(tài)(UP/DOWN)將被反映在端口狀態(tài)表內(nèi)。當(dāng)FDB查 找返回作為MLT/SMLT組的一部分的一個(gè)目的地時(shí),F(xiàn)DU將通過(guò)數(shù)據(jù)庫(kù)控制邏輯向端口狀態(tài) 表內(nèi)執(zhí)行端口訪問(wèn)操作。因此,不是由FDU從FDB(以控制面平面更新,并且因此,相對(duì)慢) 確定端口,F(xiàn)DU使用FDB確定接收方,并且然后使用以硬件實(shí)現(xiàn)的端口數(shù)據(jù)庫(kù)單獨(dú)確定用于 到達(dá)該接收方的端口。這使得能夠基于端口的當(dāng)前狀態(tài)和MLT組ID動(dòng)態(tài)地確定端口,從而 可以為分組從相關(guān)聯(lián)的(MLT)端口組中選擇可用端口。這使得網(wǎng)絡(luò)設(shè)備能夠適應(yīng)多個(gè)故障 (多個(gè)端口 /鏈路故障),并且通過(guò)將分組從下行端口重新路由到MLT內(nèi)的保證處于UP的 端口快速地進(jìn)行適應(yīng)調(diào)整。由于端口故障通知跨越集群內(nèi)的多個(gè)網(wǎng)絡(luò)設(shè)備,F(xiàn)DU可以將分 組轉(zhuǎn)發(fā)到不同節(jié)點(diǎn)上的另一個(gè)端口,從而可以用類似的方式執(zhí)行網(wǎng)絡(luò)設(shè)備內(nèi)和之間的端口 選擇。這使得不僅能夠從僅具有本地端口的MLT內(nèi)進(jìn)行端口選擇,而且使得能夠在實(shí)現(xiàn)在 集群內(nèi)的不同節(jié)點(diǎn)上的端口之間執(zhí)行端口選擇,從而可以動(dòng)態(tài)地執(zhí)行SMLT內(nèi)的端口選擇。 另外,由于節(jié)點(diǎn)能夠從與MLT/SMLT相關(guān)聯(lián)的所有其它端口中進(jìn)行選擇,來(lái)自下行端口的通 信量可被散布/分布在MLT/SMLT的其余端口上,而不是被完全轉(zhuǎn)移到特定的替換端口。類 似地,可以適應(yīng)多個(gè)端口故障和端口故障組合,而不中斷節(jié)點(diǎn)集群中的分組轉(zhuǎn)發(fā),這是由于 當(dāng)接收到分組時(shí),端口狀態(tài)數(shù)據(jù)庫(kù)能夠查找處于UP的任何可用端口,并且返回任何可用端 口的值以便由FDU使用。圖12是示出了計(jì)算機(jī)系統(tǒng)(FDU)IlO的示例體系結(jié)構(gòu)的方框圖,計(jì)算機(jī)系統(tǒng) (FDU) 110執(zhí)行、運(yùn)行、解釋、操作或?qū)嵤┛焖僦匦侣酚刹僮鲬?yīng)用140-1和適用于解釋此處公 開(kāi)的示例配置的快速重新路由操作處理140-2。如這個(gè)例子中所示,計(jì)算機(jī)系統(tǒng)110包括互 連機(jī)制111,諸如連接存儲(chǔ)器系統(tǒng)112、處理器113、輸入/輸出接口 114和通信接口 115的 數(shù)據(jù)總線或其它電路。通信接口 115使得計(jì)算機(jī)系統(tǒng)110能夠與網(wǎng)絡(luò)(未示出)上的其它 設(shè)備(即,其它計(jì)算機(jī))通信。存儲(chǔ)器系統(tǒng)112是任意類型的計(jì)算機(jī)可讀介質(zhì),并且在這個(gè)例子中,被編碼有此 處解釋的快速重新路由操作應(yīng)用140-1。快速重新路由操作應(yīng)用140-1可被表達(dá)(實(shí)施)為 軟件代碼,諸如支持根據(jù)此處描述的不同實(shí)施例的處理功能的數(shù)據(jù)和/或邏輯指令(例如, 存儲(chǔ)在存儲(chǔ)器內(nèi)或另一計(jì)算機(jī)可讀介質(zhì)諸如可移動(dòng)盤(pán)上的代碼)。在計(jì)算機(jī)系統(tǒng)110的操 作過(guò)程中,處理器113通過(guò)互連111訪問(wèn)存儲(chǔ)器系統(tǒng)112,以便啟動(dòng)、運(yùn)行、執(zhí)行、解釋或?qū)嵤?快速重新路由操作應(yīng)用140-1的邏輯指令。以這種方式執(zhí)行快速重新路由操作應(yīng)用140-1 產(chǎn)生快速重新路由操作處理140-2中的處理功能。換言之,快速重新路由操作處理140-2 表示運(yùn)行時(shí)在計(jì)算機(jī)化設(shè)備110內(nèi)的處理器113之內(nèi)或之上執(zhí)行或?qū)嵤┑目焖僦匦侣酚刹?作應(yīng)用140-1的一個(gè)或多個(gè)部分或運(yùn)行時(shí)實(shí)例(或整個(gè)快速重新路由操作應(yīng)用140-1)。注意,此處公開(kāi)的示例配置包括快速重新路由操作應(yīng)用140-1自身(即,為非執(zhí)行 或非運(yùn)行邏輯指令和/或數(shù)據(jù)的形式)??焖僦匦侣酚刹僮鲬?yīng)用140-1可被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)(諸如軟盤(pán))、硬盤(pán)、電子的、磁的、光學(xué)的或其它計(jì)算機(jī)可讀介質(zhì)上。快速重新路 由操作應(yīng)用140-1還可被存儲(chǔ)在存儲(chǔ)器系統(tǒng)112內(nèi),諸如在固件、只讀存儲(chǔ)器(ROM)內(nèi),或 在這個(gè)例子中,作為可執(zhí)行代碼存儲(chǔ)在,例如,隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)內(nèi)。除了這些實(shí)施例, 還應(yīng)當(dāng)注意,此處的其它實(shí)施例包括快速重新路由操作應(yīng)用140-1作為快速重新路由操作 處理140-2在處理器113中的執(zhí)行。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,計(jì)算機(jī)系統(tǒng)110可以包 括其它處理和/或軟件和硬件組件,諸如這個(gè)例子中未示出的操作系統(tǒng)。在操作過(guò)程中,計(jì)算機(jī)系統(tǒng)100的處理器113通過(guò)互連111訪問(wèn)存儲(chǔ)器系統(tǒng)112, 以便啟動(dòng)、運(yùn)行、實(shí)施、解釋或執(zhí)行快速重新路由操作應(yīng)用140-1的邏輯指令。執(zhí)行快速重 新路由操作應(yīng)用140-1產(chǎn)生快速重新路由操作處理140-2中的處理功能。換言之,快速重 新路由操作處理140-2表示計(jì)算機(jī)系統(tǒng)100內(nèi)的處理器113之內(nèi)或之上執(zhí)行的快速重新路 由操作應(yīng)用140-1的一個(gè)或多個(gè)部分(或整個(gè)應(yīng)用)。應(yīng)當(dāng)注意,除了快速重新路由操作處理140-2之外,此處的實(shí)施例包括快速重新 路由操作應(yīng)用140-1自身(即,非執(zhí)行或非運(yùn)行邏輯指令和/或數(shù)據(jù))??焖僦匦侣酚刹僮?應(yīng)用140-1可被存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì),諸如軟盤(pán)、硬盤(pán)或光學(xué)介質(zhì)上??焖僦匦侣酚刹僮?應(yīng)用140-1還可被存儲(chǔ)在存儲(chǔ)器類型的系統(tǒng)內(nèi),諸如在固件、只讀存儲(chǔ)器(ROM)內(nèi),或在這 個(gè)例子中,作為可執(zhí)行代碼存儲(chǔ)在存儲(chǔ)器系統(tǒng)112內(nèi)(例如,在隨機(jī)訪問(wèn)存儲(chǔ)器或RAM內(nèi))。除了這些實(shí)施例,還應(yīng)當(dāng)注意,此處的其它實(shí)施例包括快速重新路由操作應(yīng)用 140-1作為快速重新路由操作處理140-2在處理器113中的執(zhí)行。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng) 理解,計(jì)算機(jī)系統(tǒng)100可以包括其它處理和/或軟件和硬件組件,諸如控制與計(jì)算機(jī)系統(tǒng) 100相關(guān)聯(lián)的硬件資源的分配和使用的操作系統(tǒng)?,F(xiàn)在參考圖13,示出了用于執(zhí)行網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān) 聯(lián)的可用端口的快速重新路由的方法200的特定實(shí)施例的流程圖。方法200以處理塊202 開(kāi)始,處理塊202公開(kāi)了以網(wǎng)絡(luò)元件的數(shù)據(jù)平面內(nèi)的所述FDU接收分組。處理塊204說(shuō)明確定分組是多播分組。多播(和廣播)這樣操作,其中分組需要 被節(jié)點(diǎn)復(fù)制,從而可以向多個(gè)不同的接收方發(fā)出分組的多個(gè)拷貝。當(dāng)FDU接收到多播分組 時(shí),它從FDB得到多播組ID。使用多播,由于網(wǎng)絡(luò)元件可能需要將分組轉(zhuǎn)發(fā)到多個(gè)接收方, 進(jìn)入FDU不執(zhí)行端口選擇,而是僅僅將分組轉(zhuǎn)發(fā)到交換機(jī)結(jié)構(gòu)。處理塊206說(shuō)明將分組轉(zhuǎn)發(fā)到具有與所述多播分組的至少一個(gè)接收方相關(guān)聯(lián)的 至少一個(gè)端口的所有外出FDlL交換機(jī)結(jié)構(gòu)使用多播組ID,以便使得分組拷貝在多播時(shí)到 達(dá)支持與至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的所有FDU。在線卡被直接連接的實(shí)施例 中,F(xiàn)DU將分組的拷貝轉(zhuǎn)發(fā)到支持與至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的每個(gè)其它線 卡。在這個(gè)例子中,如處理塊208所示,做出接收方端口是獨(dú)立端口的確定。如果特定接收 方是獨(dú)立端口,交換機(jī)結(jié)構(gòu)將分組的拷貝轉(zhuǎn)發(fā)到支持該獨(dú)立端口的FDU。處理塊210公開(kāi)了由每個(gè)外出FDU在同步的本地端口狀態(tài)數(shù)據(jù)庫(kù)中執(zhí)行查找,以 便尋找每個(gè)接收方的處于UP狀態(tài)的端口。然后,F(xiàn)DU訪問(wèn)數(shù)據(jù)庫(kù)控制邏輯,以便確定該獨(dú) 立端口處于UP還是DOWN。處理塊212說(shuō)明當(dāng)所述端口處于UP狀態(tài)時(shí)將所述分組從所述端 口轉(zhuǎn)發(fā)到接收方,并且當(dāng)所述端口處于DOWN狀態(tài)時(shí),丟棄所述分組?,F(xiàn)在參考圖14,示出了用于執(zhí)行網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān) 聯(lián)的本地FDU的可用MLT組的快速重新路由的方法250的特定實(shí)施例的流程圖。方法250以處理塊252開(kāi)始,處理塊252公開(kāi)了以網(wǎng)絡(luò)元件的數(shù)據(jù)平面內(nèi)的所述FDU接收分組。處理塊254說(shuō)明確定分組是多播分組。當(dāng)FDU接收到多播分組時(shí),它從FDB得到 多播組ID。使用多播,由于網(wǎng)絡(luò)元件可能需要將分組轉(zhuǎn)發(fā)到多個(gè)接收方,所以進(jìn)入FDU不執(zhí) 行端口選擇,而是僅僅將分組轉(zhuǎn)發(fā)到交換機(jī)結(jié)構(gòu)。處理塊256說(shuō)明將分組轉(zhuǎn)發(fā)到具有與所述多播分組的至少一個(gè)接收方相關(guān)聯(lián)的 至少一個(gè)端口的所有外出FDlL交換機(jī)結(jié)構(gòu)使用多播組ID,以便使得分組拷貝在多播時(shí)到 達(dá)支持與至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的所有FDlL在線卡被直接連接的實(shí)施例 中,F(xiàn)DU將分組的拷貝轉(zhuǎn)發(fā)到支持與至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的每個(gè)其它線 卡。在這個(gè)例子中,如處理塊258所示,做出接收方端口是獨(dú)立端口的確定。在這個(gè)例子中, 如處理塊258所示,做出接收方端口是本地FDU的MLT組的確定。處理塊260公開(kāi)了由每個(gè)外出FDU在同步的本地端口狀態(tài)數(shù)據(jù)庫(kù)中執(zhí)行查找,以 便尋找每個(gè)接收方的處于UP狀態(tài)的端口。在能夠通過(guò)MLT組到達(dá)接收方的情況下,交換機(jī) 結(jié)構(gòu)將分組的拷貝轉(zhuǎn)發(fā)到與作為該MLT組的一部分的端口相關(guān)聯(lián)的每個(gè)FDU。在接收方是 SMLT組的一部分的情況下,交換機(jī)結(jié)構(gòu)還將分組拷貝復(fù)制到與到支持遠(yuǎn)程端口的遠(yuǎn)程節(jié)點(diǎn) 的1ST相關(guān)聯(lián)的每個(gè)FDU。在給定的FDU支持與特定接收方相關(guān)聯(lián)的多于一個(gè)端口,或支持 與多于一個(gè)接收方相關(guān)聯(lián)的多于一個(gè)端口的情況下,僅將一個(gè)分組拷貝轉(zhuǎn)發(fā)到該FDU。僅 有一個(gè)拷貝被在1ST上發(fā)送,并且遠(yuǎn)程節(jié)點(diǎn)將為每個(gè)端口成員形成拷貝。如處理塊262進(jìn) 一步所示,使用MLT標(biāo)識(shí)符(ID)和散列值在所述本地端口狀態(tài)數(shù)據(jù)庫(kù)內(nèi)執(zhí)行所述查找。接 收到復(fù)制分組拷貝的每個(gè)本地FDU通過(guò)向端口數(shù)據(jù)庫(kù)傳遞該分組中的所選擇的字段的散 列和MLT-ID訪問(wèn)端口表。端口數(shù)據(jù)庫(kù)使用MLT ID和該散列值查找處于UP的本地端口成 員。每個(gè)本地FDU使用相同的MLT-ID、散列值和同步的端口數(shù)據(jù)庫(kù)執(zhí)行這個(gè)相同的處理。 因此,每個(gè)端口數(shù)據(jù)庫(kù)將返回相同的本地端口 ID(如果可以獲得本地端口 ID,S卩,處于UP)。 支持所選擇的端口的任意FDU將從所選擇的端口傳輸該分組。不支持所選擇的端口的任意 FDU將丟棄該分組。如果沒(méi)有可獲得的本地端口,所有本地FDU丟棄該分組。換言之,由于 在交換機(jī)結(jié)構(gòu)的外出點(diǎn)執(zhí)行選擇端口的處理,在MLT跨越多個(gè)線卡和節(jié)點(diǎn)的情況下,該處 理將被為與到所述接收方的MLT/SMLT相關(guān)聯(lián)的一個(gè)或多個(gè)端口服務(wù)的每個(gè)FDU并行地執(zhí) 行。還可以由用于與廣播或多播相關(guān)聯(lián)的每個(gè)接收方的FDU/FDU集合執(zhí)行該處理。每個(gè)FDU(與特定接收方相關(guān)聯(lián))將基于該分組頭部中所選擇的字段創(chuàng)建散列函 數(shù),并且將該散列函數(shù)和MLT-ID傳遞到其本地端口數(shù)據(jù)庫(kù)。由于每個(gè)FDU具有同步的端口 數(shù)據(jù)庫(kù),并且將相同請(qǐng)求(散列函數(shù)和MLT-ID)傳遞到其本地端口數(shù)據(jù)庫(kù),每個(gè)端口數(shù)據(jù)庫(kù) 將返回用于向接收方轉(zhuǎn)發(fā)分組的一致的輸出端口。處理塊264說(shuō)明將所述分組從處于UP狀態(tài)的所述端口轉(zhuǎn)發(fā)出去,并且所有遠(yuǎn)程 FDU丟棄所述分組。當(dāng)FDU從其本地端口數(shù)據(jù)庫(kù)接收到響應(yīng)時(shí),它確定它支持所選擇的端口 還是另一個(gè)FDU支持所選擇的端口。除了支持所選擇的端口的FDU之外的所有FDU將丟棄 該分組,從而可以將該分組的單個(gè)拷貝轉(zhuǎn)發(fā)到接收方?,F(xiàn)在參考圖15,示出了用于提供網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān) 聯(lián)的遠(yuǎn)程FDU的可用MLT組的快速重新路由的方法300的特定實(shí)施例的流程圖。方法300 以處理塊302開(kāi)始,處理塊302說(shuō)明以網(wǎng)絡(luò)元件的數(shù)據(jù)平面內(nèi)的所述FDU接收分組。處理塊304公開(kāi)了確定分組是多播分組。當(dāng)FDU接收到多播分組時(shí),它從FDB得到多播組ID。使用多播,由于網(wǎng)絡(luò)元件可能需要將分組轉(zhuǎn)發(fā)到多個(gè)接收方,所以進(jìn)入FDU不 執(zhí)行端口選擇,而是僅僅將分組轉(zhuǎn)發(fā)到交換機(jī)結(jié)構(gòu)。處理塊306說(shuō)明將分組轉(zhuǎn)發(fā)到具有與所述多播分組的至少一個(gè)接收方相關(guān)聯(lián)的 至少一個(gè)端口的所有外出FDlL交換機(jī)結(jié)構(gòu)使用多播組ID,以便使得分組拷貝在多播時(shí)到 達(dá)支持與至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的所有FDlL在線卡被直接連接的實(shí)施例 中,F(xiàn)DU將分組的拷貝轉(zhuǎn)發(fā)到支持與至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的每個(gè)其它線 卡。在這個(gè)例子中,如處理塊308所示,做出接收方端口是遠(yuǎn)程FDU的MLT組的確定。在 SMLT上下文中,如果與特定接收方相關(guān)聯(lián)的一個(gè)或多個(gè)端口在遠(yuǎn)程節(jié)點(diǎn)上,分組的拷貝將 被轉(zhuǎn)發(fā)到1ST上的該遠(yuǎn)程節(jié)點(diǎn)。當(dāng)遠(yuǎn)程節(jié)點(diǎn)上的適當(dāng)?shù)腇DU接收到該分組時(shí),它檢查其端 口數(shù)據(jù)庫(kù),以便確定是否需要在與該SMLT相關(guān)聯(lián)的鏈路之一上轉(zhuǎn)發(fā)該分組的拷貝。處理塊310公開(kāi)了由每個(gè)外出FDU在同步的本地端口狀態(tài)數(shù)據(jù)庫(kù)中執(zhí)行查找,以 便尋找每個(gè)接收方的處于UP狀態(tài)的端口。如處理塊312進(jìn)一步所示,使用MLT標(biāo)識(shí)符(ID) 和散列值在所述遠(yuǎn)程端口狀態(tài)數(shù)據(jù)庫(kù)內(nèi)執(zhí)行所述查找。為了這樣做,每個(gè)遠(yuǎn)程FDU首先進(jìn) 行檢查以便查看起始節(jié)點(diǎn)上是否有與該SMLT相關(guān)聯(lián)的任意端口處于UP。處理塊314說(shuō)明檢查遠(yuǎn)程端口表,以便確定起始網(wǎng)絡(luò)元件上是否有任意MLT端口 處于UP狀態(tài)。處理塊316說(shuō)明當(dāng)起始網(wǎng)絡(luò)元件上的一個(gè)MLT端口處于UP狀態(tài)時(shí),那么所 述遠(yuǎn)程FDU丟棄所述分組。注意,對(duì)此而言,優(yōu)選地該分組將被從首先接收到該分組的本地 節(jié)點(diǎn)上的端口傳出。因此,如果首先接收到該分組的本地節(jié)點(diǎn)上的一個(gè)或多個(gè)SMLT端口處 于UP,遠(yuǎn)程節(jié)點(diǎn)可以安全地丟棄該分組。 處理塊318公開(kāi)當(dāng)起始節(jié)點(diǎn)上的所有MLT端口都處于DOWN時(shí),那么選擇一個(gè)遠(yuǎn)程 端口傳輸所述分組,并且所有其它遠(yuǎn)程端口丟棄所述分組。如果首先接收到該分組的本地 節(jié)點(diǎn)上的所有SMLT端口都處于DOWN,遠(yuǎn)程節(jié)點(diǎn)上的每個(gè)FDU將查詢其端口數(shù)據(jù)庫(kù),以便選 擇用于傳輸該分組的遠(yuǎn)程SMLT端口。遠(yuǎn)程FDU具有同步的端口數(shù)據(jù)庫(kù),并且使用相同的散 列值/MLT-ID查詢其端口數(shù)據(jù)庫(kù),從而每個(gè)FDU從其端口數(shù)據(jù)庫(kù)接收到相同的端口 ID。負(fù) 責(zé)所選擇端口的一個(gè)FDU輸出該分組,從而不論SMLT的可用鏈路的數(shù)目如何,僅有該分組 的一個(gè)拷貝被發(fā)送到接收方。借助于上述方法和裝置,執(zhí)行網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián) 的可用端口的快速重新路由。與處理器(多個(gè))集成在一起的設(shè)備(多個(gè))或計(jì)算機(jī)系統(tǒng)可以包括,例如,個(gè)人 計(jì)算機(jī)(多個(gè))、工作站(多個(gè))(例如,Sim、HP)、個(gè)人數(shù)字助理(多個(gè))(PDA(多個(gè)))、手 持設(shè)備(多個(gè)),諸如蜂窩電話(多個(gè))、膝上計(jì)算機(jī)(多個(gè))、手持計(jì)算機(jī)(多個(gè))或能夠 與處理器(多個(gè))集成在一起的可以按照此處的規(guī)定操作的另一設(shè)備(多個(gè))。因此,此處 提供的設(shè)備不是無(wú)遺漏的,并且被提供用于說(shuō)明而不是作為限制??梢岳斫?,涉及到的“微處理器”和“處理器”或“微處理器”包括可以在獨(dú)立和/ 或分布式環(huán)境(多個(gè))中通信的一個(gè)或多個(gè)微處理器,并且因此被配置為通過(guò)有線或無(wú)線 通信與其它處理器通信,其中這種一個(gè)或多個(gè)處理器可被配置為在可以是類似設(shè)備或不同 設(shè)備的以一個(gè)或多個(gè)處理器控制的設(shè)備上操作。因此,對(duì)這些術(shù)語(yǔ)“微處理器”或“處理器” 的使用可被理解為包括中央處理單元、算數(shù)邏輯單元、專用集成電路(IC)和/或任務(wù)引擎, 提供這些例子用于說(shuō)明而不是作為限制。
      另外,除非另外指明,涉及的存儲(chǔ)器可以包括一個(gè)或多個(gè)處理器可讀和可訪問(wèn)的 存儲(chǔ)器元件和/或組件,它們可以在以處理器控制的設(shè)備之內(nèi),在以處理器控制的設(shè)備之 外,或可被使用各種通信協(xié)議通過(guò)有線或無(wú)線網(wǎng)絡(luò)訪問(wèn),并且除非另外指明,可被安排為包 括外部和內(nèi)部存儲(chǔ)器設(shè)備的組合,其中基于應(yīng)用,這些存儲(chǔ)器可以是鄰近的和/或分開(kāi)的。 因此,可以理解所涉及的數(shù)據(jù)庫(kù)包括一個(gè)或多個(gè)存儲(chǔ)器聯(lián)合體,其中這些涉及可以包括商 業(yè)上可獲得的數(shù)據(jù)庫(kù)產(chǎn)品(例如,SQL、Informix, Oracle)并且還有私有數(shù)據(jù)庫(kù),并且還可 以包括用于關(guān)聯(lián)存儲(chǔ)器的其它結(jié)構(gòu),諸如鏈接、隊(duì)列、圖、樹(shù),提供這些結(jié)構(gòu)用于說(shuō)明而不是 作為限制。除非另外規(guī)定,所涉及的網(wǎng)絡(luò)可以包括一個(gè)或多個(gè)內(nèi)聯(lián)網(wǎng)和/或互聯(lián)網(wǎng)以及虛擬 網(wǎng)絡(luò)。根據(jù)上述內(nèi)容,此處涉及的微處理器指令或微處理器可執(zhí)行指令可被理解為包括可 編程硬件。除非另外說(shuō)明,對(duì)單詞“大體上(基本上),,的使用可被認(rèn)為包括精確的關(guān)系、狀 態(tài)、布置、取向和/或其它特性,以及如本領(lǐng)域的技術(shù)人員所理解的對(duì)它們的偏離,所述偏 離的程度以不會(huì)本質(zhì)上影響公開(kāi)的方法和系統(tǒng)為準(zhǔn)。在本發(fā)明的整個(gè)公開(kāi)中,對(duì)修飾名詞的冠詞(“a”或“an”)的使用可被理解為是 出于方便而使用的,并且除非特別指出,包括一個(gè)或多于一個(gè)所修飾的名詞。除非此處另外規(guī)定,被描述為和/或在圖中被描繪為與其它元件、組件、模塊和/ 或其部分通信、相關(guān)聯(lián)和/或基于其它元件、組件、模塊和/或其部分的元件、組件、模塊和/ 或其部分可被理解為以直接和/或間接的方式與其它元件、組件、模塊和/或其部分通信、 相關(guān)聯(lián)和/或基于其它元件、組件、模塊和/或其部分。雖然已經(jīng)以特定實(shí)施例描述了方法和系統(tǒng),所述方法和系統(tǒng)不限于此。顯然根據(jù) 上述教導(dǎo)可以明了許多修改和變形。本領(lǐng)域的技術(shù)人員可以做出對(duì)此處描述和說(shuō)明的細(xì) 節(jié)、材料和部件布置的許多附加改動(dòng)。已經(jīng)描述了本發(fā)明的優(yōu)選實(shí)施例,本領(lǐng)域的普通技術(shù)人員現(xiàn)在將會(huì)明了可以使用 結(jié)合有這些概念的其它實(shí)施例。另外,被包括為本發(fā)明的一部分的軟件可被實(shí)施在包括計(jì) 算機(jī)可用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品內(nèi)。例如,這種計(jì)算機(jī)可用介質(zhì)可以包括其上存儲(chǔ)有計(jì)算 機(jī)可讀程序代碼的可讀存儲(chǔ)器設(shè)備、諸如硬盤(pán)驅(qū)動(dòng)器、⑶-ROM、DVD-ROM或計(jì)算機(jī)盤(pán)。計(jì)算 機(jī)可讀介質(zhì)還可以包括其上以數(shù)字或模擬信號(hào)承載有程序代碼的光學(xué)的、有線的或無(wú)線的 通信鏈路。因此,本發(fā)明不應(yīng)被局限于描述的實(shí)施例,而是僅由所附權(quán)利要求書(shū)的精神和范 圍限制。
      權(quán)利要求
      一種用于提供網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián)的可用端口的快速重新路由的方法,該方法包括步驟由網(wǎng)絡(luò)元件的數(shù)據(jù)平面內(nèi)的所述FDU接收分組;確定所述分組是多播分組;將所述分組轉(zhuǎn)發(fā)到具有與所述多播分組的至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的所有外出FDU;和由每個(gè)外出FDU在同步的本地端口狀態(tài)數(shù)據(jù)庫(kù)內(nèi)執(zhí)行查找,以便發(fā)現(xiàn)每個(gè)接收方的處于UP狀態(tài)的端口。
      2.如權(quán)利要求1所述的方法,其中所述將所述分組轉(zhuǎn)發(fā)到具有與所述多播分組的至少 一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的所有外出FDU還包括確定接收方端口是否是由獨(dú)立端口組成的組、本地FDU的MLT組、遠(yuǎn)程FDU的MLT組中 的一個(gè)端口 ;和向每個(gè)MLT成員轉(zhuǎn)發(fā)拷貝。
      3.如權(quán)利要求2所述的方法,其中當(dāng)所述接收方端口是獨(dú)立端口時(shí),確定所述獨(dú)立端 口處于UP狀態(tài)還是DOWN狀態(tài),當(dāng)所述端口處于UP狀態(tài)時(shí)將所述分組從所述端口轉(zhuǎn)發(fā)到接 收方,并且當(dāng)所述端口處于DOWN狀態(tài)時(shí)丟棄所述分組。
      4.如權(quán)利要求2所述的方法,其中當(dāng)所述接收方端口是本地FDU的MLT組時(shí),從本地端 口狀態(tài)表中定位處于UP狀態(tài)的本地端口成員。
      5.如權(quán)利要求4所述的方法,還包括從所述處于UP狀態(tài)的端口轉(zhuǎn)發(fā)所述分組,并且所 有遠(yuǎn)程FDU丟棄所述分組。
      6.一種轉(zhuǎn)發(fā)數(shù)據(jù)單元FDU,包括 存儲(chǔ)器;處理器; 通信接口 ;連接所述存儲(chǔ)器、處理器和通信接口的互連機(jī)制;和其中所述存儲(chǔ)器被編碼有一種應(yīng)用,該應(yīng)用提供網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中 繼線路相關(guān)聯(lián)的可用端口的快速重新路由,當(dāng)被在處理器上執(zhí)行時(shí),該應(yīng)用提供了一種使 得FDU執(zhí)行如下操作的用于處理信息的處理由網(wǎng)絡(luò)元件的數(shù)據(jù)平面內(nèi)的所述FDU接收分組; 確定所述分組是多播分組;將所述分組轉(zhuǎn)發(fā)到具有與所述多播分組的至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的 所有外出FDU ;和由每個(gè)外出FDU在同步的本地端口狀態(tài)數(shù)據(jù)庫(kù)內(nèi)執(zhí)行查找,以便發(fā)現(xiàn)每個(gè)接收方的處 于UP狀態(tài)的端口。
      7.如權(quán)利要求6所述的FDU,其中所述將所述分組轉(zhuǎn)發(fā)到具有與所述多播分組的至少 一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的所有外出FDU還包括確定接收方端口是否是由獨(dú)立端口組成的組、本地FDU的MLT組、遠(yuǎn)程FDU的MLT組中 的一個(gè)端口 ;和向每個(gè)MLT成員轉(zhuǎn)發(fā)拷貝。
      8.如權(quán)利要求7所述的FDU,其中當(dāng)所述接收方端口是獨(dú)立端口時(shí),確定所述獨(dú)立端口 處于UP狀態(tài)還是DOWN狀態(tài),當(dāng)所述端口處于UP狀態(tài)時(shí)將所述分組從所述端口轉(zhuǎn)發(fā)到接收 方,并且當(dāng)所述端口處于DOWN狀態(tài)時(shí)丟棄所述分組。
      9.如權(quán)利要求7所述的FDU,其中當(dāng)所述接收方端口是本地FDU的MLT組時(shí),從本地端 口狀態(tài)表中定位處于UP狀態(tài)的本地端口成員。
      10.如權(quán)利要求9所述的FDU,還包括從所述處于UP狀態(tài)的端口轉(zhuǎn)發(fā)所述分組,并且所 有遠(yuǎn)程FDU丟棄所述分組。
      全文摘要
      本發(fā)明涉及用于提供快速重新路由的方法和轉(zhuǎn)發(fā)數(shù)據(jù)單元。給出了用于提供網(wǎng)絡(luò)元件內(nèi)的多播分組到與多鏈路中繼線路相關(guān)聯(lián)的可用端口的快速重新路由的方法、裝置和計(jì)算機(jī)程序產(chǎn)品。由網(wǎng)絡(luò)元件的數(shù)據(jù)平面內(nèi)的轉(zhuǎn)發(fā)數(shù)據(jù)單元(FDU)接收分組,并且確定分組是多播分組。將分組轉(zhuǎn)發(fā)到具有與多播分組的至少一個(gè)接收方相關(guān)聯(lián)的至少一個(gè)端口的所有外出FDU。由每個(gè)外出FDU在同步的本地端口狀態(tài)數(shù)據(jù)庫(kù)內(nèi)執(zhí)行查找,以便發(fā)現(xiàn)每個(gè)接收方的處于UP狀態(tài)的端口。當(dāng)端口處于UP狀態(tài)時(shí)將分組從該端口轉(zhuǎn)發(fā)到接收方,并且當(dāng)端口處于DOWN狀態(tài)時(shí)丟棄分組。
      文檔編號(hào)H04L12/56GK101888332SQ20101017819
      公開(kāi)日2010年11月17日 申請(qǐng)日期2010年5月13日 優(yōu)先權(quán)日2009年5月13日
      發(fā)明者H·阿薩普爾 申請(qǐng)人:阿瓦亞公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1