專利名稱:一種從中繼組中選擇故障轉(zhuǎn)移端口的網(wǎng)絡(luò)設(shè)備及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備,更具體地說,涉及一種在網(wǎng)絡(luò)設(shè)備中實現(xiàn)端口故障轉(zhuǎn)移(failover)機制的系統(tǒng)和方法。
背景技術(shù):
分組交換網(wǎng)絡(luò)可以包括一個或一個以上的網(wǎng)絡(luò)設(shè)備,例如以太網(wǎng)交換機,每個網(wǎng)絡(luò)設(shè)備都包括幾個模塊,用來處理通過該設(shè)備所傳輸?shù)男畔?。具體地,所述設(shè)備包括入站模塊,存儲器管理單元(MMU)以及出站模塊。所述入站模塊包括用于確定數(shù)據(jù)包目標端口的交換功能。所述存儲器管理單元用于存儲數(shù)據(jù)包信息和執(zhí)行資源檢查。所述出站模塊用于執(zhí)行數(shù)據(jù)包修正和用于將數(shù)據(jù)包發(fā)送到至少一個適當?shù)哪繕硕丝?。設(shè)備上有一個端口可以是CPU端口,所述CPU端口使設(shè)備能夠發(fā)送信息到外部交換/路由控制實體或CPU,并能使設(shè)備從外部交換/路由控制實體或CPU接收信息。
目前的網(wǎng)絡(luò)設(shè)備支持物理端口和邏輯/中繼端口,其中,中繼端口是作為單一鏈接層端口的一組物理外部端口。網(wǎng)絡(luò)設(shè)備中的入站端口和目標端口可以是物理外部端口或中繼端口。通過在邏輯上將多個物理端口組合成一個中繼端口,網(wǎng)絡(luò)可以為連接多個設(shè)備提供更多的帶寬。此外,如果中繼端口中的某個端口出現(xiàn)故障,那么仍然可以通過其它活動(active)中繼端口在相互連接的設(shè)備之間發(fā)送信息。這樣,在相互連接的網(wǎng)絡(luò)設(shè)備之間,中繼端口也能夠使得網(wǎng)絡(luò)提供更多的冗余。
通常,每一個進入網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)包可以是單播數(shù)據(jù)包、廣播數(shù)據(jù)包、組播數(shù)據(jù)包或不明目標的(unknown)單播數(shù)據(jù)包。單播數(shù)據(jù)包是傳輸?shù)揭粋€具體的目標地址,這個目標地址能夠被接收信息的網(wǎng)絡(luò)設(shè)備識別。然而,發(fā)送信息的網(wǎng)絡(luò)設(shè)備必須從中繼組中選擇一個端口并在中繼組端口上恰當?shù)胤职l(fā)數(shù)據(jù)包。廣播數(shù)據(jù)包通常是通過入站網(wǎng)絡(luò)設(shè)備(ingress network device)發(fā)送到所有端口,組播數(shù)據(jù)包是通過入站網(wǎng)絡(luò)設(shè)備發(fā)送到多個可識別的端口。為組播或廣播數(shù)據(jù)包,在將數(shù)據(jù)包發(fā)送至入站網(wǎng)絡(luò)設(shè)備之前,先要對數(shù)據(jù)包中的幾個特定比特進行設(shè)置。不明目標的單播數(shù)據(jù)包是指入站網(wǎng)絡(luò)設(shè)備不能識別其目標地址的單播數(shù)據(jù)包。因此,入站網(wǎng)絡(luò)設(shè)備廣播該數(shù)據(jù)包,除了預(yù)期送達但先前不明其目標地址的端口外,其它所有端口都忽視(不接收)該數(shù)據(jù)包。當先前的不明目標端口向入站網(wǎng)絡(luò)設(shè)備發(fā)送響應(yīng)信息時,所有網(wǎng)絡(luò)設(shè)備都“獲知”該相關(guān)的目標地址。此后,發(fā)送到該先前不明目標端口的任何單播數(shù)據(jù)包將按慣例的單播數(shù)據(jù)包方式進行發(fā)送。
網(wǎng)絡(luò)可以包括互相連接和連接到其它網(wǎng)絡(luò)設(shè)備的多個設(shè)備。例如,網(wǎng)絡(luò)可以包括第一設(shè)備,該第一設(shè)備經(jīng)高速鏈路與第二設(shè)備連接。該第一設(shè)備也可以通過具有兩個鏈路的第一中繼連接到第一交換機。第二設(shè)備可以通過在第二中繼的一個鏈路連接到第一交換機和通過在第二中繼中的另一個鏈路連接到第二交換機。
為了從一個網(wǎng)絡(luò)設(shè)備傳送信息到另一網(wǎng)絡(luò)設(shè)備,發(fā)送/入站設(shè)備需確定目標端口是否為中繼端口。如果目標端口是中繼端口,發(fā)送信息的網(wǎng)絡(luò)設(shè)備必須在中繼端口中動態(tài)地選擇一個物理外部成員端口用以傳送數(shù)據(jù)包。動態(tài)選擇必須考慮中繼的成員端口之間的負載均衡(load shareing)問題,以便在中繼上分配將輸出的數(shù)據(jù)包。這樣,正常條件下,通信流量會在基于散列法(hashing)的中繼組成員之間分流。當中繼組的某一成員出現(xiàn)故障,發(fā)向故障成員的所有通信流量必須轉(zhuǎn)移到其余的成員。由于中繼組可以將網(wǎng)絡(luò)設(shè)備與多個設(shè)備相連接,目標端口和故障轉(zhuǎn)移端口可能在不同的設(shè)備上。目前,中繼故障轉(zhuǎn)移可以通過從中繼成員表中刪除故障成員來獲得。然而,這種方法需要CPU的支持,并且處理過程緩慢。因此,為了獲得高速故障轉(zhuǎn)移需要得到硬件的支持。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供一種從中繼組中選擇故障轉(zhuǎn)移端口的網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備包括
至少一個包括多個物理端口的中繼組,其中,所述網(wǎng)絡(luò)設(shè)備通過多個物理端口中的至少一個物理端口與至少一個其它網(wǎng)絡(luò)設(shè)備連接;與多個物理端口之一相關(guān)聯(lián)的中間部件,用于當該端口存在故障時將該端口設(shè)置為預(yù)定模式、用于在端口出現(xiàn)故障之后改變該端口相關(guān)的狀態(tài)、及用于將進入的到相關(guān)故障端口的數(shù)據(jù)包發(fā)送到入站模塊;獲取裝置,用于從表中獲取一組備份端口;散列裝置,用于從該組備份端口中選擇一個備份端口;和處理裝置,用于映射進入的數(shù)據(jù)包、用于標記映射的數(shù)據(jù)包拷貝、及用于將所標記的映射的數(shù)據(jù)包重定向到所選擇的備份端口。
優(yōu)選地,所述散列裝置包括加載均衡裝置,用于將進入的數(shù)據(jù)包分發(fā)到該組備份端口,其中,該組備份端口包括中繼組的其它端口。
優(yōu)選地,所述表包括多個條目(entry),其中,每個條目與一個中繼組相關(guān)聯(lián),并且包括與中繼組里的端口相關(guān)聯(lián)的多個域,其中,每個條目都包括散列域,所述散列域用于從進入的數(shù)據(jù)包的預(yù)定域中選擇位,以獲得用于訪問所述多個域中的一個域的索引位和用于從散列值中選擇預(yù)定位的選擇域。
優(yōu)選地,與所述網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的軟件包括配置裝置,用于動態(tài)地配置所述多個域。
優(yōu)選地,所述入站模塊包括入站管道,其用于在故障轉(zhuǎn)移模式下執(zhí)行操作,其中對來自與故障端口相關(guān)聯(lián)的數(shù)據(jù)包進行映射和標記,并將映射的拷貝發(fā)送至備份端口。
優(yōu)選地,所述入站模塊包括用于在所述入站管道中丟棄已交換的數(shù)據(jù)包拷貝的裝置。
優(yōu)選地,所述網(wǎng)絡(luò)設(shè)備進一步包括設(shè)置裝置,用于將多個端口中的每個端口設(shè)置到無效(disabled)狀態(tài)、發(fā)送(forwarding)狀態(tài)或重定向(redirecting)狀態(tài),其中,當端口處于無效狀態(tài)時,沒有通信流量輸入至該端口或從該端口輸出;當端口處于發(fā)送狀態(tài)時,通信流量傳輸?shù)皆摱丝诤蛷脑摱丝诮邮胀ㄐ帕髁?;當端口的主鏈接不起作用時,端口被置為重定向狀態(tài)。
優(yōu)選地,中間部件包括用于將端口改變?yōu)橹囟ㄏ驙顟B(tài)的裝置,其中,傳送到該端口的通信流量被引導到所選擇的備份端口。
優(yōu)選地,所述網(wǎng)絡(luò)設(shè)備進一步包括當端口變?yōu)檎r,將所述端口從重定向狀態(tài)轉(zhuǎn)變?yōu)榘l(fā)送狀態(tài)的裝置。
優(yōu)選地,所述網(wǎng)絡(luò)設(shè)備進一步包括在軟件初始化后,將所有端口置為發(fā)送狀態(tài)的裝置。
優(yōu)選地,所述網(wǎng)絡(luò)設(shè)備進一步包括當映射的數(shù)據(jù)包拷貝被標記時,在高速報頭中設(shè)置位的裝置。
優(yōu)選地,所述網(wǎng)絡(luò)設(shè)備進一步包括當所述端口處于重定向狀態(tài)時,丟棄進入的已標記的映射的數(shù)據(jù)包拷貝的裝置。
根據(jù)本發(fā)明的一個方面,提供一種從中繼組中選擇故障轉(zhuǎn)移端口的方法,該方法包括以下步驟通過至少一個包括多個物理端口的中繼組,將網(wǎng)絡(luò)設(shè)備連接到至少一個其它的網(wǎng)絡(luò)設(shè)備;當端口存在故障時,將多個物理端口中的至少一個端口設(shè)置為預(yù)定模式并改變相關(guān)端口的狀態(tài);將進入的到該端口的數(shù)據(jù)包發(fā)送至入站模塊;從表中獲取一組備份端口;從該組備份端口中選擇一個備份端口;映射進入的數(shù)據(jù)包和標記映射的數(shù)據(jù)包拷貝;和將所標記的映射的數(shù)據(jù)包重定向到所選擇的備份端口。
優(yōu)選地,該方法進一步包括將進入的數(shù)據(jù)包分發(fā)到該組備份端口,其中,該組備份端口包括中繼組的多個物理端口中的其它端口。
優(yōu)選地,該方法進一步包括將多個條目存儲到表中,其中每個條目與一個中繼組相關(guān)聯(lián)并包括與中繼組里的端口相關(guān)聯(lián)的多個域,且每個條目都包括散列域;利用散列域,從進入的數(shù)據(jù)包的預(yù)定域選擇位以獲得用于訪問所述多個域中的一個域的索引位;和利用選擇域,從散列值中選擇預(yù)定位優(yōu)選地,該方法進一步包括丟棄已映射的數(shù)據(jù)包的交換拷貝。
優(yōu)選地,該方法進一步包括將每個端口設(shè)置位失效狀態(tài)、發(fā)送狀態(tài)或重定向狀態(tài),其中,當端口處于無效狀態(tài)時,沒有通信流量輸入至該端口或從該端口輸出;當端口處于發(fā)送狀態(tài)時,通信流量傳輸?shù)皆摱丝诤蛷脑摱丝诮邮胀ㄐ帕髁?;?yōu)選地,該方法進一步包括當端口的主要鏈接不起作用時,將所述端口轉(zhuǎn)變?yōu)橹囟ㄏ驙顟B(tài)。
優(yōu)選地,該方法進一步包括當端口變?yōu)檎r,將所述端口從重定向狀態(tài)轉(zhuǎn)變?yōu)榘l(fā)送狀態(tài)。
優(yōu)選地,該方法進一步包括在軟件初始化后,將所有端口置為發(fā)送狀態(tài)。
優(yōu)選地,該方法進一步包括當映射的數(shù)據(jù)包拷貝被標記時,在高速報頭中設(shè)置位。
優(yōu)選地,該方法進一步包括當端口處于重定向狀態(tài)時,丟棄進入的已標記的映射的數(shù)據(jù)包拷貝。
根據(jù)本發(fā)明的一個方面,提供一種從中繼組中選擇故障轉(zhuǎn)移端口的裝置,該裝置包括連接裝置,用于通過至少一個包括多個物理端口的中繼組將網(wǎng)絡(luò)設(shè)備連接到至少一個其它的網(wǎng)絡(luò)設(shè)備;設(shè)置裝置,用于當端口存在故障時,將所述多個物理端口中的至少一個端口設(shè)置為預(yù)定模式,及改變該端口相關(guān)的狀態(tài);發(fā)送裝置,用于將進入的到該端口的數(shù)據(jù)包發(fā)送至入站模塊;獲取裝置,用于從表中獲取一組備份端口;選擇裝置,用于從該組備份端口中選擇一個備份端口;映射裝置,用于映射進入的數(shù)據(jù)包和標記映射的數(shù)據(jù)包拷貝;和重定向裝置,用于將所標記的映射的數(shù)據(jù)包重定向到所選擇的備份端口。
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中
圖1是可實施本發(fā)明方法的網(wǎng)絡(luò)設(shè)備的示例圖;圖2是根據(jù)本發(fā)明實施例的集中式入站管道結(jié)構(gòu)的示例圖;圖3是一種網(wǎng)絡(luò)的示例圖,其中,多個網(wǎng)絡(luò)設(shè)備通過中繼連接;圖4是根據(jù)本發(fā)明實施例的中繼組表;圖5是可實施本發(fā)明的故障轉(zhuǎn)移機制的網(wǎng)絡(luò)設(shè)備的示例圖;圖6是根據(jù)本發(fā)明實施例的故障轉(zhuǎn)移表。
具體實施例方式
以下通過本發(fā)明的最佳實施例并結(jié)合附圖對本發(fā)明進行詳細說明。
圖1示出的是網(wǎng)絡(luò)設(shè)備,例如交換機,本發(fā)明的實施例可在其中實施的。設(shè)備100包括入站模塊(ingress module)102,存儲器管理單元(MMU)104和出站模塊(egress module)106。入站模塊102用于對進入的數(shù)據(jù)包執(zhí)行交換功能。MMU 104用于存儲數(shù)據(jù)包和對每一數(shù)據(jù)包執(zhí)行資源檢查(resource check)。出站模塊106用于執(zhí)行數(shù)據(jù)包修正和將數(shù)據(jù)包發(fā)送到適當?shù)哪繕硕丝?。入站模塊102、MMU 104和出站模塊106均包括用于處理由該模塊產(chǎn)生的指令的多個周期(cycles)。設(shè)備100采用管道方式(a pipelined approach)處理進入的數(shù)據(jù)包。根據(jù)本發(fā)明的一實施例,設(shè)備100具有在每一時鐘周期處理一個數(shù)據(jù)包的管道能力。根據(jù)本發(fā)明的一個實施例,設(shè)備100包括133.33MHZ的核心時鐘。這意味著設(shè)備100每秒鐘能夠處理133.33M數(shù)據(jù)包。
設(shè)備100還可以包括一個或多個內(nèi)置高速端口108a-108x(例如HiGigTM)、一個或多個外部以太網(wǎng)端口109a-109x和一個CPU端口110。高速端口108a-108x用于將系統(tǒng)中各個網(wǎng)絡(luò)設(shè)備互相連接起來,并因此形成內(nèi)部交換結(jié)構(gòu),用以在外部源端口與一個或多個外部目標端口之間傳輸數(shù)據(jù)包。因而,在包括多個相互連接的網(wǎng)絡(luò)設(shè)備的系統(tǒng)之外,是看不見高速端口108a-108x的。CPU端口110用于發(fā)送數(shù)據(jù)包到外部交換/路由控制實體或CPU,和從外部交換/路由控制實體或CPU接收數(shù)據(jù)包。根據(jù)本發(fā)明的一個實施例,CPU端口110可以認為是外部以太網(wǎng)端口109a-109x中的一個。設(shè)備100通過CPU處理模塊111(例如CMIC)與外部/片外CPU接口連接(interface with),該CPU處理模塊與PCI總線接口連接,該PCI總線將設(shè)備100連接到外部CPU。
網(wǎng)絡(luò)通信流量通過外部以太網(wǎng)端口109a-109x進入和退出設(shè)備100。具體地,設(shè)備100中的通信流量從外部以太網(wǎng)源端口路由到一個或多個唯一目標以太網(wǎng)端口109a-109x。在本發(fā)明的一個實施例中,設(shè)備100支持物理以太網(wǎng)端口和邏輯(中繼)端口。物理以太網(wǎng)端口是設(shè)備100上的由全球端口標識符進行標識的物理端口。在一個實施例中,全球端口標識碼包括模塊標識和本地端口號碼,用于唯一地標識設(shè)備100和特定的物理端口。中繼端口是一組作為單一鏈接層端口的物理外部以太網(wǎng)端口。每個中繼端口分配有一個全球中繼組標識符(TGID)。根據(jù)一個實施例,設(shè)備100能夠支持多達128個中繼端口及支持多達29個外部物理端口,其中每個中繼端口多達8個成員(members)。在設(shè)備100上的目標端口109a-109x可以是物理外部以太網(wǎng)端口或中繼端口。如果目標端口是中繼端口,設(shè)備100通過使用散列法(hash)選擇成員端口,從而在中繼中動態(tài)地選擇物理外部以太網(wǎng)端口。如以下更詳細的描述,動態(tài)選擇使設(shè)備100能夠顧及在中繼端口之間進行動態(tài)負載均衡。
一旦數(shù)據(jù)包從源端口109a-109x進入設(shè)備100,數(shù)據(jù)包被傳送到入站模塊102進行處理。數(shù)據(jù)包可以從XBOD或GBOD進入設(shè)備100。在一個實施例中,該XBOD是具有10GE/12G MAC的模塊,并支持來自高速端口108a-108x的數(shù)據(jù)包。該GBOD是具有12 10/100/1G MAC的模塊,并支持來自端口109a-109x的數(shù)據(jù)包。
圖2示出的是入站模塊102的集中式入站管道結(jié)構(gòu)200。入站管道200處理進入的數(shù)據(jù)包,主要確定出口位圖,并且在某些情況下,計算數(shù)據(jù)包的哪部分可修正。入站管道200包括數(shù)據(jù)保存寄存器202、模塊報頭保存寄存器204、仲裁器206、配置階段(stage)208、分析階段210、丟棄階段212和交換階段213。入站管道200從XBOD,GBOD或CPU處理模塊111處接收數(shù)據(jù),并將單元數(shù)據(jù)存儲到數(shù)據(jù)保存寄存器202中。仲裁器206負責對來自GBOD,XBOD和CPU的請求進行調(diào)度安排(scheduling)。配置階段208用于設(shè)置全部主要端口-特定域的對照表,以滿足交換的需要。分析階段210分析進入的數(shù)據(jù)包和高速模塊報頭(如果出現(xiàn)),通過第三層通道表查找處理通道化的數(shù)據(jù)包、產(chǎn)生用戶定義域、在外部Ipv4報頭上驗證Internet協(xié)議版本4(Ipv4)的校驗和(checksum)、執(zhí)行地址檢查,以及為下游查找處理程序準備相關(guān)域。丟棄階段212搜索各種早期丟棄條件,并且要么丟棄數(shù)據(jù)包和/或要么防止其通過管道200發(fā)送。交換階段213在入站管道200執(zhí)行所有交換處理,包括地址識別。
根據(jù)本發(fā)明的一個實施例,入站管道包括一個1024位單元數(shù)據(jù)保存寄存器202和用于XBOD或GBOD的一個96位模塊報頭寄存器204。數(shù)據(jù)保存寄存器202在仲裁之前將進入的數(shù)據(jù)累加到一個接近128字節(jié)單元,模塊報頭寄存器204存儲進入的96位的模塊報頭,該模塊報頭隨后用在入站管道200。具體地,保存寄存器202存儲進入的狀態(tài)信息。
入站管道200每6個時鐘周期對來自XBOD和GBOD的請求進行調(diào)度安排,并且當來自XBOD和GBOD的請求被調(diào)度時,發(fā)送信號到每一個XBOD和GBOD以作指示。CPU處理模塊111每次傳輸一個單元到入站模塊102,并在發(fā)送后續(xù)的單元之前,等待入站模塊102已使用該單元的指示。入站管道200對來自XBOD、GBOD的信號進行復用,CPU基于由仲裁器206確定的允許哪個源訪問入站管道200而進行處理。根據(jù)從XBOD或GBOD接收的信號,寄存器緩沖器202計算出源端口,將XBOD或GBOD的連接映射到設(shè)備100上的具體的物理端口成員,寄存器202將涉及調(diào)度單元的信息傳遞到仲裁器206。
當仲裁器206接收到來自寄存器緩沖器202的信息時,仲裁器206可以發(fā)布數(shù)據(jù)包操作代碼、指令操作代碼或FP更新代碼中的至少一個,這取決于資源沖突。根據(jù)一個實施例,仲裁器206包括主仲裁器207和輔助仲裁器209。主仲裁器207是基于時分復用(TDM)的仲裁器,其負責對來自GBOD和XBOD的請求進行調(diào)度,其中,來自主仲裁器207的請求被給予最高優(yōu)先權(quán)。輔助仲裁器209調(diào)度所有非XBOD/GBOD的請求,包括CPU數(shù)據(jù)包訪問請求、CPU存儲器/寄存器讀/寫請求、學習操作(learn operations),時效操作(age operations)、CPU表插入/刪除請求、更新請求以及比率限制(rate-limited)計數(shù)器更新請求。輔助仲裁器209的請求是基于主仲裁器207的可利用時隙來進行調(diào)度安排。
當主仲裁器207賦予XBOD或GBOD時隙,從寄存器202取出單元數(shù)據(jù)并連同來自寄存器202中的其它信息一起發(fā)送到入站管道200。在安排XBOD/GBOD單元之后,主仲裁器207將某些狀態(tài)位轉(zhuǎn)發(fā)至輔助仲裁器209。
輔助仲裁器209也負責執(zhí)行所有資源檢查,在具體周期內(nèi),確保同時發(fā)布的任何操作不能訪問同一資源。例如,輔助仲裁器209能夠調(diào)度每個請求周期的指令操作碼或數(shù)據(jù)包操作碼的最大值。根據(jù)一個實施例,輔助仲裁器209實施資源檢查處理和嚴格的優(yōu)先仲裁方案。資源檢查處理考慮所有可能掛起的請求,以基于其使用的資源確定哪個請求可以發(fā)送。在本發(fā)明的一個實施例中,所實施的嚴格的優(yōu)先仲裁方案要求輔助仲裁器209對CPU的訪問請求給予最高優(yōu)先權(quán)、對CPU數(shù)據(jù)包傳輸請求給予第二優(yōu)先權(quán)、速率更新請求給予第三優(yōu)先權(quán)、CPU存儲器復位操作給予第四優(yōu)先權(quán)和學習和時效(age)操作給予第五優(yōu)先權(quán)。根據(jù)對單元數(shù)據(jù)的處理,輔助仲裁器209傳輸數(shù)據(jù)包信號到配置階段208。
配置階段208包括端口表,用于保存交換所需的所有主端口的具體域,其中一個條目(entry)與每個端口相關(guān)聯(lián)。配置階段208也包括幾個寄存器。當配置階段208從仲裁器206獲得信息,配置階段208在第一周期內(nèi)為端口表設(shè)置輸入,在第二周期為其它端口的具體寄存器復用輸出。在第二周期結(jié)束時,配置階段208將輸出發(fā)送到分析階段210。
當在管道200中查找請求時,分析階段210管理保存有128字節(jié)單元的入站管道緩沖器。當查找請求到達管道200的末端,從入站管道緩沖器取出數(shù)據(jù),并將其發(fā)送至MMU 104。如果在高速端口上接收到數(shù)據(jù),那么通過分析階段210對數(shù)據(jù)包所附帶96位模塊報頭的進行分析。分析過所有域之后,分析階段210將輸入單元數(shù)據(jù)寫到入站管道緩沖器,并將寫指針傳遞到管道。由于數(shù)據(jù)包被寫到入站管道緩沖器中,數(shù)據(jù)包數(shù)據(jù)不必要進一步傳輸,并且已分析過的模塊報頭信息可以丟棄。然后,丟棄階段212查找各種早期丟棄條件,并且如果出現(xiàn)一個或多個這樣的條件,丟棄階段丟棄數(shù)據(jù)包和/或防止其通過芯片進行發(fā)送。
交換階段213執(zhí)行地址識別處理和關(guān)于輸入數(shù)據(jù)包的其它交換處理。根據(jù)本發(fā)明的一個實施例,交換階段213包括第一交換階段214和第二交換階段216。第一交換階段214解決任何丟棄條件,執(zhí)行BPDU處理,檢查第二層源站移動和解決第二、三層的單播數(shù)據(jù)包、第三層組播數(shù)據(jù)包和IP組播數(shù)據(jù)包的大部分目標處理。第一交換階段214通過隨意地(optionally)將不同類型的協(xié)議數(shù)據(jù)包復制到CPU或?qū)⑵鋪G棄,來執(zhí)行協(xié)議數(shù)據(jù)包控制交換。第一交換階段214進一步執(zhí)行所有源地址檢查,并確認是否第二層入口需要獲得學習或重學習站移動情況。第一交換階段214進一步執(zhí)行目標呼叫,以確認如何基于目標交換信息來交換數(shù)據(jù)包。具體地,第一交換階段214計算出單播數(shù)據(jù)包的目標端口或組播數(shù)據(jù)包的端口位圖、計算新的優(yōu)先權(quán)、隨意地(optionally)將數(shù)據(jù)包送到CPU中和丟棄各種錯誤條件的數(shù)據(jù)包。第一交換階段214進一步將高速交換處理與從端口109a-109i的交換處理中分離,并基于階段報頭操作碼交換進入的高速數(shù)據(jù)包。
然后,第二交換階段216執(zhí)行域處理器(FP)操作識別、源端口轉(zhuǎn)移、中繼識別,高速中繼、端口阻塞、CPU優(yōu)先處理,端對端的線端擁塞(HOL)資源檢查、資源檢查,映射和最大傳輸寬度(MTU)檢查,以校驗輸入/輸出數(shù)據(jù)包的大小是否小于最大傳輸寬度。第二交換階段216采用第一交換階段214的交換決策、任何層的路由信息和FP重定向,以產(chǎn)生交換的最終目標。第二交換階段216從目標端口位圖中將源端口刪除,并執(zhí)行中繼識別處理,以解決單播數(shù)據(jù)包到目標端口的中繼、入站映射到端口和出站映射到端口。通過檢查源端口是否為高速中繼組的一部分,并且是否將所有源的高速中繼組端口刪除,第二交換階段216執(zhí)行高速中繼。通過因各種原因執(zhí)行封口(masking)、包括掩蔽(meshing)以及入站封口(masking),第二交換階段216進一步執(zhí)行端口阻塞。
圖3示出的是一個網(wǎng)絡(luò)的具體實施例,其中多個網(wǎng)絡(luò)設(shè)備,如上所述,通過中繼連接。如圖3所示,網(wǎng)絡(luò)300包括通過中繼310-316連接的設(shè)備302-308。設(shè)備302包括中繼組310的端口1和端口2、設(shè)備304包括中繼組310的端口4和端口6、設(shè)備306包括中繼組310的端口10和端口11。每個網(wǎng)絡(luò)設(shè)備302-308都可以接收單播或組播數(shù)據(jù)包,這些數(shù)據(jù)包必須傳輸?shù)竭m當?shù)哪繕硕丝?。如本領(lǐng)域技術(shù)人員所知悉的,在數(shù)據(jù)包單播這種情況下,目標端口是已知的端口。為了將單播數(shù)據(jù)包發(fā)送到目標中繼中的適當端口,每個網(wǎng)絡(luò)設(shè)備302-308均包括圖4示出中繼組表400。
如上面所述,每個設(shè)備302-308都可以支持多達128個中繼端口,每個中繼端口具有多達8個的成員。這樣,表400是一個128條目(entry)的表,其中每一個條目包括8個端口的域(fields)。所以,回到圖3中,對于中繼組310,在表400中相關(guān)的條目是條目0,條目0包括在該中繼組的每一個模塊和端口的域。如此,表400的條目0包括在域402中,模塊ID302和端口ID1;在域404中,模塊ID302和端口ID2;在域406中,模塊ID304和端口ID4;在域408中,模塊ID304和端口ID6;在域410中,模塊ID306和端口ID10;在域412中,模塊ID306和端口ID11。由于中繼組310僅具有6個端口,所以在條目0中的最后兩個域414和416可以包括來自該條目的域402-412的任何冗余的信息。表400在每個條目中都包括R-TAG值。在本發(fā)明的一個實施例中,該RTAG值可以是6個選擇中的一個,其中每個選擇用于標識預(yù)定的域和從每個域中選擇出某些位。之后,來自每個預(yù)定域的所有值是通過異或邏輯運算獲得在0-7之間的一個數(shù)字,其中與所獲得的數(shù)字相關(guān)的端口被從中繼組中選擇出來的,以傳輸數(shù)據(jù)包到目標設(shè)備。不同RTAG用于獲得不同的分發(fā)類型。由于分發(fā)是基于數(shù)據(jù)包,RTAG使設(shè)備能夠?qū)?shù)據(jù)包的分發(fā)分布到給定中繼組的所有端口。
在本發(fā)明的一個實施例中,如果RTAG值設(shè)為1,那么端口的選擇是基于數(shù)據(jù)包的源地址(SA)、虛擬局域網(wǎng)(VLAN)、以太類型、源模塊ID(SRC_MODID)和源端口(SRC_PORT)。如果RTAG值設(shè)為2,那么端口的選擇是基于數(shù)據(jù)包的目標地址(DA)、虛擬局域網(wǎng)(VLAN)、以太類型、源模塊ID和源端口。如果RTAG值設(shè)為3,那么端口的選擇是基于數(shù)據(jù)包的源地址、目標地址、虛擬局域網(wǎng)(VLAN)、以太類型(EtherType)、源模塊ID和源端口。RTAG4、5和6提供第三層報頭選擇。如果RTAG值設(shè)為4,那么端口的選擇是基于源IP地址(SIP)和TCP源端口(TCP_SPORT)。如果RTAG值設(shè)為5,那么端口的選擇是基于目標IP地址(DIP)和TCP目標端口(TDP_DPORT)。如果RTAG值設(shè)為6,那么端口的選擇是基于對RTAG4散列(hash)和RTAG5散列進行異或運算所獲得的值。
具體地,在這個實施例中,由于中繼組表的每個條目包括與中繼組端口相關(guān)聯(lián)的8個域,從RTAG散列的域中的每個字節(jié)選擇三位來表示8位。因此如果RTAG值為1,那么對SA
、SA[8:10]、SA[16:18]、SA[32:34]、SA[40:42]、VLAN
、VLAN[8:10]、以太類型
、以太類型[8:10]、SRC_MODID
和SRC_PORT
取異或獲得用于中繼組表400索引的三位的值。如果RTAG值為2,那么對DA
、DA[8:10]、DA[16:18]、DA[32:34]、SA[40:42]、VLAN
、VLAN[8:10]、以太類型
、以太類型[8:10]、SRC_MODID
和SRC_PORT
取異或獲得用于中繼組表400索引的三位的值。如果RTAG值為3,那么對SA
、SA[8:10]、SA[16:18]、SA[32:34]、SA[40:42]、DA
、DA[8:10]、DA[16:18]、DA[32:34]、DA[40:42]、VLAN
、VLAN[8:10]、以太類型
、以太類型[8:10]、SRC_MODID
和SRC_PORT
取異或獲得用于中繼組表400索引的三位的值。
如果RTAG值為4,那么對SIP
、SIP[8:10]、SIP[16:18]、SIP[32:34]、SIP[40:42]、SIP[48:50]、SIP[56:58]、SIP[66:64]、SIP[72:74]、SIP[80:82]、SIP[88:90]、SIP[96:98]、SIP[104:106]、SIP[112:114]、SIP[120:122]、TCP_SPORT
和TCP_SPORT[8:10]取異或獲得用于中繼組表400索引的三位的值。如果RTAG值為5,那么對DIP
、DIP[8:10]、DIP[16:18]、DIP[32:34]、DIP[40:42]、DIP[48:50]、DIP[56:58]、DIP[66:64]、DIP[72:74]、DIP[80:82]、DIP[88:90]、DIP[96:98]、DIP[104:106]、DIP[112:114]、DIP[120:122]、TCP_DPORT
和TCP_DPORT[8:10]取異或獲得用于中繼組表400索引的三位的值。
圖5示出的是根據(jù)本發(fā)明的實施例,實施故障轉(zhuǎn)移機制的網(wǎng)絡(luò)設(shè)備500的示例圖。根據(jù)圖5,網(wǎng)絡(luò)設(shè)備500包括入站模塊502、出站模塊504和與端口512相關(guān)聯(lián)的MAC部件506。在正常操作期間,數(shù)據(jù)包508通過端口512傳輸?shù)皆O(shè)備500外和數(shù)據(jù)包510經(jīng)過端口512進入設(shè)備500。由于設(shè)備500的一個實施例可以支持多達128個中繼端口,每個中繼端口具有多達8個成員,中繼的每個端口可以使用中繼中其它7個端口中的一個或多個作為備份端口。在那樣的情況下,到故障端口的通信流量就被均衡加載到所有備份端口。因此,當數(shù)據(jù)包傳輸?shù)揭唤M故障轉(zhuǎn)移備份端口時,采用散列法機制從這組物理備份端口中選擇成員。
在一個實施例中,對于每個端口,故障轉(zhuǎn)移表600(如圖6所示)指定一組故障轉(zhuǎn)移備份端口和一個故障轉(zhuǎn)移RTAG。故障轉(zhuǎn)移RTAG用于選擇散列功能,其中散列值是基于已選擇散列功能而計算,且散列值用于從一組故障轉(zhuǎn)移備份端口選擇一個備份端口。故障轉(zhuǎn)移表600包括故障轉(zhuǎn)移RTAG域602,散列選擇域604和多個成員域608-622。故障轉(zhuǎn)移RTAG域602是3位域,用于選擇8個RTAG中的一個并計算目標為故障端口的數(shù)據(jù)包的散列值。該域選擇散列功能,所選擇散列功能的輸出用于選擇備份端口。散列選擇域604用于從20位的散列值中選擇3位。成員域608是帶有一個全球端口標識符的13位域,對應(yīng)與RTAG值為0相關(guān)的這組故障轉(zhuǎn)移備份端口中的成員;成員域610是帶有一個全球端口標識符的13位域,對應(yīng)與RTAG值為1相關(guān)的這組故障轉(zhuǎn)移備份端口中的成員;成員域612是帶有一個全球端口標識符的13位域,對應(yīng)與RTAG值為2相關(guān)的這組故障轉(zhuǎn)移備份端口中的成員;成員域614是帶有一個全球端口標識符的13位域,對應(yīng)與RTAG值為3相關(guān)的這組故障轉(zhuǎn)移備份端口中的成員;成員域616是帶有一個全球端口標識符的13位域,對應(yīng)與RTAG值為4相關(guān)的這組故障轉(zhuǎn)移備份端口中的成員;成員域618是帶有一個全球端口標識符的13位域,對應(yīng)與RTAG值為5相關(guān)的這組故障轉(zhuǎn)移備份端口中的成員;成員域620是帶有一個全球端口標識符的13位域,對應(yīng)與RTAG值為6相關(guān)的這組故障轉(zhuǎn)移備份端口中的成員;成員域622是帶有一個全球端口標識符的13位域,對應(yīng)與RTAG值為7相關(guān)的這組故障轉(zhuǎn)移備份端口中的成員。
在本發(fā)明的一個實施例中,表600是完全由軟件配置的。因此,在一個示例中,在一組故障轉(zhuǎn)移備份端口中僅有一個備份端口,軟件能夠在所有8個條目608-622上編寫全球端口標識符,以便所有通信流量可到達該備份端口。在另一個示例中,如果在一組故障轉(zhuǎn)移備份端口中有備份端口A,B和C,軟件可以編寫成員608-612到端口A,成員614-618到端口B和成員620和622到端口C的程序。這樣,來自故障轉(zhuǎn)移端口的通信流量將以3∶3∶2的比率被分發(fā)。
發(fā)送到給定的端口(例如端口512)的數(shù)據(jù)包能夠“映射(mirrored)”到其它端口。設(shè)備500支持不同映射類型,包括入站映射、出站映射、基于MAC(即基于地址)的映射和快速過濾處理器(FFP)映射。入站映射數(shù)據(jù)包被作為沒有修正的數(shù)據(jù)包傳輸,出站映射數(shù)據(jù)包傳輸?shù)氖蔷哂蠽LAN標志并已修正過的,符合某種限制。如果數(shù)據(jù)包是入站映射的,那么數(shù)據(jù)包的兩份拷貝傳輸?shù)接成涞蕉丝?mirror-to-ports),未修正過的數(shù)據(jù)包到入站映射到端口(mirror-to-ports)和已修正過的數(shù)據(jù)包到出站映射到端口(mirror-to-ports)。
端口和它的一組故障轉(zhuǎn)移備份端口可以連接到不同的網(wǎng)絡(luò)設(shè)備這個事實,意味著不能采用本地鏈路層機制來執(zhí)行故障轉(zhuǎn)移,因為故障轉(zhuǎn)移端口可能在遠程設(shè)備上。然而,對于遠程端口,故障轉(zhuǎn)移不能在入站設(shè)備內(nèi)執(zhí)行,因為入站設(shè)備沒有遠程鏈接的瞬時狀態(tài)。因此,在本發(fā)明的一個實施例中,如圖5所示,如果故障轉(zhuǎn)移發(fā)生在端口512,端口512的MAC506設(shè)置為本地環(huán)回模式514,其中MAC506將出站數(shù)據(jù)包發(fā)送到故障端口512再返回到端口的入站模塊502。故障端口512的入站模塊502在這種模式下進行操作,這種模式是指所有到故障端口512的數(shù)據(jù)包在故障端口512被入站映射,以動態(tài)選擇該組故障轉(zhuǎn)移備份端口的成員,丟棄數(shù)據(jù)包最初交換的拷貝。
因此,當故障轉(zhuǎn)移發(fā)生在端口512時,設(shè)備500設(shè)置MAC506到本地環(huán)回模式514。當數(shù)據(jù)包508傳輸?shù)蕉丝?12時,數(shù)據(jù)包508經(jīng)本地MAC環(huán)回514回到端口512的入站模塊502。對設(shè)備500中的入站管道進行配置,以在故障轉(zhuǎn)移模式下操作,其中來自故障目標端口512的數(shù)據(jù)包508被映射和該映射拷貝516發(fā)送到基于表600的一組故障轉(zhuǎn)移備份端口的一個端口。在數(shù)據(jù)包508的最初交換拷貝上被標記將被丟棄。這樣,重定向數(shù)據(jù)包是入站映射數(shù)據(jù)包,并因此一直也是僅映射的單播數(shù)據(jù)包。
本發(fā)明的一個實施例中,每個端口處于失效(disabled)狀態(tài),發(fā)送(forwarding)狀態(tài)或重定向(redirecting)狀態(tài)中。在失效狀態(tài)中,沒有通信流量傳輸?shù)皆摵蛷脑摱丝诎l(fā)出。一旦某個端口處于發(fā)送狀態(tài),通信流量傳輸?shù)皆摱丝诤蛷脑摱丝诮邮?。如果狀態(tài)鏈接表明端口的主要鏈接不起作用,設(shè)備500中的硬件故障轉(zhuǎn)移機制自動將端口改變?yōu)橹囟ㄏ驙顟B(tài),其中目標為故障端口的通信流量被引導到一組故障轉(zhuǎn)移備份端口中的故障轉(zhuǎn)移端口。當該端口的主要鏈接變?yōu)檎r,通知與硬件相關(guān)聯(lián)的軟件并可以在其后將端口置為發(fā)送狀態(tài)。在本發(fā)明的一個實施例中,在軟件初始化后,設(shè)備500通過默認方式,將所有端口置為正常發(fā)送狀態(tài)。在該示例中,受硬件影響的唯一狀態(tài)轉(zhuǎn)變是從發(fā)送狀態(tài)轉(zhuǎn)變?yōu)橹囟ㄏ驙顟B(tài),該轉(zhuǎn)換由端口主要鏈接的故障所引起。所有其它狀態(tài)轉(zhuǎn)變由軟件執(zhí)行。
如上所述,當某個端口故障時,目標為該故障端口的數(shù)據(jù)包被重定向到備份端口。然而,備份端口也可能出現(xiàn)故障,數(shù)據(jù)包可以再次被重定向到另一端口,因此形成循環(huán)。例如,在中繼中的兩個端口可以相互重定向,如果這兩個端口都有故障,那么數(shù)據(jù)包可能在這兩個端口之間回彈。為防止可能發(fā)生的循環(huán),環(huán)回數(shù)據(jù)包被標記為“重定向”以指示該數(shù)據(jù)包已經(jīng)被重定向,且不應(yīng)該再次重定向到另一端口。在本發(fā)明的一個實施例中,當數(shù)據(jù)包被標記為重定向時,在高速報頭設(shè)置一位。這樣,當某一端口在重定向狀態(tài)下進行操作時,進入該端口的被標志為重定向的任何數(shù)據(jù)包將在隊列期間丟棄。這將防止重定向端口把將要丟棄的數(shù)據(jù)包列入隊列中。當端口進入重定向狀態(tài)時,已標志為重定向的一些數(shù)據(jù)包可能已經(jīng)列入該端口的隊列。為防止這些數(shù)據(jù)包被再次重定向,在出隊列期間對這些數(shù)據(jù)包進行檢查,如果是被標記為重定向的則丟棄。
同樣地,回到圖5,當端口512存在故障時,MAC環(huán)回514被激活。之后,當數(shù)據(jù)包508進入設(shè)備500,如果數(shù)據(jù)包508沒有被標記為重定向,那么數(shù)據(jù)包508被回送。之后,回送的數(shù)據(jù)包508在端口512的入站管道中被標記為入站映射數(shù)據(jù)包和從表600中恢復該組故障轉(zhuǎn)移備份端口。然后,數(shù)據(jù)包508的映射拷貝516被標記為重定向,該數(shù)據(jù)包的已交換拷貝被丟棄。
通過在MAC層506上執(zhí)行重定向,本發(fā)明確保在入站管道排隊的數(shù)據(jù)包被保留,對數(shù)據(jù)包設(shè)置故障轉(zhuǎn)移端口而不是丟棄該數(shù)據(jù)包。由于故障轉(zhuǎn)移拷貝是原始數(shù)據(jù)包的入站映射拷貝,所以當數(shù)據(jù)包指向一組故障轉(zhuǎn)移備份端口時,本發(fā)明也確保故障轉(zhuǎn)移拷貝不會被數(shù)據(jù)包處理邏輯修正。此外,所有數(shù)據(jù)包的修正在故障端口的出口執(zhí)行而不是在該組故障轉(zhuǎn)移備份端口的成員的出口執(zhí)行,因此保留了任何端口的屬性。
在一個優(yōu)選實施例中,通過適當?shù)陌雽w制造技術(shù)和基于上述實施例中的電路布圖,上述本發(fā)明的裝置可在半導體基片(例如硅)上實施,這對本技術(shù)領(lǐng)域的技術(shù)人員是顯而易見的?;谏鲜鏊枋龅慕Y(jié)構(gòu),知悉半導體設(shè)計和制造的本技術(shù)領(lǐng)域人員能夠在單個半導體基片實現(xiàn)本發(fā)明的各種模塊、接口、表、緩沖器等等。采用分立電子元器件來實施本發(fā)明所公開的元件也屬于本發(fā)明的保護范圍,因此,通過采用單個的半導體基片,利用本發(fā)明的功能特征不會最大化其優(yōu)勢,具體到本發(fā)明,網(wǎng)絡(luò)設(shè)備可以是利用網(wǎng)絡(luò)數(shù)據(jù)的任何設(shè)備,可以包括交換機、路由器、網(wǎng)橋、網(wǎng)關(guān)或服務(wù)器。此外,當上述討論特別提及數(shù)據(jù)包處理時,在本申請文件中,數(shù)據(jù)包可以包括任何種類的自帶尋址信息的獨立地從數(shù)據(jù)源行走到終點的數(shù)據(jù)包(datagram)、數(shù)據(jù)包和數(shù)據(jù)單元,或在網(wǎng)絡(luò)設(shè)備之間交換的任何種類的數(shù)據(jù)。
前面所述的涉及本發(fā)明的具體實施例。然而,顯而易見的是,在保留全部或部分上述優(yōu)點的情況下,可以對上述實施例進行其它變型和修改。因此,本發(fā)明的權(quán)利要求的目標就是要覆蓋所有的包含在本發(fā)明的實質(zhì)精神范圍內(nèi)的這些修改和變型。
權(quán)利要求
1.一種從中繼組中選擇故障轉(zhuǎn)移端口的網(wǎng)絡(luò)設(shè)備,該網(wǎng)絡(luò)設(shè)備包括至少一個包括多個物理端口的中繼組,其中,所述網(wǎng)絡(luò)設(shè)備通過多個物理端口中的至少一個物理端口與至少一個其它網(wǎng)絡(luò)設(shè)備連接;與多個物理端口之一相關(guān)聯(lián)的中間部件,用于當該端口存在故障時將該端口設(shè)置為預(yù)定模式、用于在端口出現(xiàn)故障之后改變該端口相關(guān)的狀態(tài)、及用于將進入的到相關(guān)故障端口的數(shù)據(jù)包發(fā)送到入站模塊;獲取裝置,用于從表中獲取一組備份端口;散列裝置,用于從該組備份端口中選擇一個備份端口;和處理裝置,用于映射進入的數(shù)據(jù)包、用于標記映射的數(shù)據(jù)包拷貝、及用于將所標記的映射的數(shù)據(jù)包重定向到所選擇的備份端口。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述散列裝置包括加載均衡裝置,用于將進入的數(shù)據(jù)包分發(fā)到該組備份端口,其中,該組備份端口包括中繼組的其它端口。
3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述表包括多個條目,其中,每個條目與一個中繼組相關(guān)聯(lián),并且包括與中繼組里的端口相關(guān)聯(lián)的多個域,其中,每個條目都包括散列域,所述散列域用于從進入的數(shù)據(jù)包的預(yù)定域中選擇位,以獲得用于訪問所述多個域中的一個域的索引位和用于從散列值中選擇預(yù)定位的選擇域。
4.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,與所述網(wǎng)絡(luò)設(shè)備相關(guān)聯(lián)的軟件包括配置裝置,用于動態(tài)地配置所述多個域。
5.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述入站模塊包括入站管道,其用于在故障轉(zhuǎn)移模式下執(zhí)行操作,其中對來自與故障端口相關(guān)聯(lián)的數(shù)據(jù)包進行映射和標記,并將映射的拷貝發(fā)送至備份端口。
6.根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述入站模塊包括用于在所述入站管道中丟棄已交換的數(shù)據(jù)包拷貝的裝置。
7.一種從中繼組中選擇故障轉(zhuǎn)移端口的方法,該方法包括以下步驟通過至少一個包括多個物理端口的中繼組,將網(wǎng)絡(luò)設(shè)備連接到至少一個其它的網(wǎng)絡(luò)設(shè)備;當端口存在故障時,將多個物理端口中的至少一個端口設(shè)置為預(yù)定模式并改變相關(guān)端口的狀態(tài);將進入的到該端口的數(shù)據(jù)包發(fā)送至入站模塊;從表中獲取一組備份端口;從該組備份端口中選擇一個備份端口;映射進入的數(shù)據(jù)包和標記映射的數(shù)據(jù)包拷貝;和將所標記的映射的數(shù)據(jù)包重定向到所選擇的備份端口。
8.根據(jù)權(quán)利要求7所述的方法,進一步包括將進入的數(shù)據(jù)包分發(fā)到該組備份端口,其中,該組備份端口包括中繼組的多個物理端口中的其它端口。
9.根據(jù)權(quán)利要求7所述的方法,進一步包括將多個條目存儲到表中,其中每個條目與一個中繼組相關(guān)聯(lián)并包括與中繼組里的端口相關(guān)聯(lián)的多個域,且每個條目都包括散列域;利用散列域,從進入的數(shù)據(jù)包的預(yù)定域選擇位以獲得用于訪問所述多個域中的一個域的索引位;和利用選擇域,從散列值中選擇預(yù)定位。
10.一種從中繼組中選擇故障轉(zhuǎn)移端口的裝置,該裝置包括連接裝置,用于通過至少一個包括多個物理端口的中繼組將網(wǎng)絡(luò)設(shè)備連接到至少一個其它的網(wǎng)絡(luò)設(shè)備;設(shè)置裝置,用于當端口存在故障時,將所述多個物理端口中的至少一個端口設(shè)置為預(yù)定模式,及改變該端口相關(guān)的狀態(tài);發(fā)送裝置,用于將進入的到該端口的數(shù)據(jù)包發(fā)送至入站模塊;獲取裝置,用于從表中獲取一組備份端口;選擇裝置,用于從該組備份端口中選擇一個備份端口;映射裝置,用于映射進入的數(shù)據(jù)包和標記映射的數(shù)據(jù)包拷貝;和重定向裝置,用于將所標記的映射的數(shù)據(jù)包重定向到所選擇的備份端口。
全文摘要
本發(fā)明涉及從中繼組中選擇故障轉(zhuǎn)移端口的網(wǎng)絡(luò)設(shè)備和方法。該網(wǎng)絡(luò)設(shè)備包括至少一個包括多個物理端口的中繼組。該網(wǎng)絡(luò)設(shè)備通過多個物理端口中的至少一個端口連接到至少一個其它的網(wǎng)絡(luò)設(shè)備。該網(wǎng)絡(luò)設(shè)備還包括與多個物理端口之一相關(guān)聯(lián)的中間部件,用于當在該端口存在故障時將端口設(shè)置為預(yù)定模式、用于在端口出現(xiàn)故障之后改變該端口相關(guān)的狀態(tài)、及用于將進入的到相關(guān)故障端口的數(shù)據(jù)包發(fā)送到入站模塊。該網(wǎng)絡(luò)設(shè)備進一步包括從表中獲取一組備份端口的裝置、用于從該組備份端口中選擇一個備份端口的散列裝置。該網(wǎng)絡(luò)設(shè)備還包括用于映射進入的數(shù)據(jù)包、用于標記已映射的數(shù)據(jù)包拷貝、及用于將已標記的映射的數(shù)據(jù)包重定向到所選擇的備份端口的裝置。
文檔編號H04L29/06GK1874314SQ200610084600
公開日2006年12月6日 申請日期2006年5月31日 優(yōu)先權(quán)日2005年6月2日
發(fā)明者普尼特·阿加瓦爾, 王崢 申請人:美國博通公司