專利名稱:用于針對多個生成樹選項高效管理帶寬注冊的技術的制作方法
技術領域:
本發(fā)明涉及計算機網(wǎng)絡,更具體而言涉及在計算機網(wǎng)絡中針對多個生 成樹選項高效管理帶寬(BW)注冊。
背景技術:
包括企業(yè)、政府和教育機構在內(nèi)的許多組織利用計算機網(wǎng)絡,以便員 工和他人可以共享和交換信息和/或資源。計算機網(wǎng)絡一般包括利用一個或 多個通信介質互連的多個實體。實體可以由通過通信介質"源發(fā)"(即, 發(fā)送)或者"吸收"(即,接收)數(shù)據(jù)幀的任何設備(例如計算機)構
成。常見類型的計算機網(wǎng)絡是局域網(wǎng)("LAN" ) , LAN—般指的是單個 建筑物或校園內(nèi)的私有網(wǎng)絡。LAN—般使用定義了由通信體系結構(即, 協(xié)議棧)的數(shù)據(jù)鏈路和物理層執(zhí)行的功能的數(shù)據(jù)通信協(xié)議(LAN標準) (例如以太網(wǎng))或者無線協(xié)議。
一個或多個中間網(wǎng)絡設備經(jīng)常用于將LAN耦合到一起,并且允許相 應的實體交換信息。例如,網(wǎng)橋可用于在兩個或更多個LAN或末端站之 間提供"切換"功能。 一般來說,網(wǎng)橋是一個計算機,并且包括經(jīng)由LAN 耦合到其他網(wǎng)橋或者耦合到諸如路由器或主機計算機之類的末端站的多個 端口。用于將網(wǎng)橋彼此耦合起來的端口一般被稱為干線端口,而用于將網(wǎng) 橋耦合到末端站的端口一般被稱為接入端口。橋接功能包括在源端口處接 收來自發(fā)送方實體的數(shù)據(jù)并將該數(shù)據(jù)傳送到至少一個目的地端口以便轉發(fā) 到一個或多個接收方實體。
生成樹算法
大多數(shù)計算機網(wǎng)絡包括冗余通信路徑,以便任何給定鏈路的故障不會 使網(wǎng)絡的任何部分孤立起來。這種網(wǎng)絡一般被稱為網(wǎng)狀網(wǎng)絡(meshed network)或部分網(wǎng)狀網(wǎng)絡。但是,冗余鏈路的存在可能導致在網(wǎng)絡內(nèi)形成迂回的路徑或者"環(huán)路"。非常不希望出現(xiàn)環(huán)路,因為數(shù)據(jù)幀可能無限期 地往返于環(huán)路。
另外,諸如網(wǎng)橋或交換機之類的一些設備對目的地未知的幀進行復 制,從而導致環(huán)路上數(shù)據(jù)幀的激增。所造成的流量可能淹沒網(wǎng)絡。諸如路 由器之類的在協(xié)議棧內(nèi)的更高層(例如傳輸控制協(xié)議/因特網(wǎng)協(xié)議 ("TCP/IP")參考模型的互聯(lián)網(wǎng)絡層)工作的其他中間設備以與大多數(shù) 網(wǎng)橋或交換機不同的方式遞送數(shù)據(jù)幀并獲知網(wǎng)絡上的實體的地址,因而路 由器一般不易受到持續(xù)的環(huán)路形成問題的影響。
為了避免環(huán)路的形成,大多數(shù)網(wǎng)橋和交換機執(zhí)行生成樹協(xié)議,這種協(xié) 議允許它們計算無環(huán)路的活動網(wǎng)絡拓撲(即,樹)并仍連接網(wǎng)絡內(nèi)的每對
LAN (即,該樹是生成性的)。IEEE發(fā)布了一種標準(IEEE Std. 802.1 D -1998 ),這種標準定義了將由802.1D兼容設備執(zhí)行的生成樹協(xié)議。一 般來說,通過執(zhí)行802.1D生成樹協(xié)議,網(wǎng)橋將橋接的網(wǎng)絡內(nèi)的單個網(wǎng)橋 選擇為"根網(wǎng)橋"。802.1D標準通過規(guī)定根網(wǎng)橋為具有最低網(wǎng)橋ID的網(wǎng) 橋,從而利用了每個網(wǎng)橋具有唯一的數(shù)值標識符(網(wǎng)橋ID)這一事實。此 外,對于耦合到任何網(wǎng)橋的每個LAN,選擇一個網(wǎng)橋("指定網(wǎng)橋")上 的恰好一個端口 ("指定端口")。指定網(wǎng)橋一般是最接近根網(wǎng)橋的網(wǎng) 橋。根網(wǎng)橋上的所有端口都是指定端口,并且根網(wǎng)橋是所有下述LAN上 的指定網(wǎng)橋根網(wǎng)橋具有到所述LAN的端口。
每個非根網(wǎng)橋也從其非指定端口中選擇一個端口 (其"根端口"), 該端口給出去往根網(wǎng)橋的最低成本路徑。根端口和指定端口被選擇來包括 在活動拓撲中,并且被置于奔:發(fā)(/oruw^'"g)狀態(tài)中,從而數(shù)據(jù)幀可以 被轉發(fā)到和轉發(fā)自這些端口,并因而轉發(fā)到對網(wǎng)絡的網(wǎng)橋和末端站進行互 連的LAN上。未包括在活動拓撲內(nèi)的端口被置于殿iZ: 狀態(tài) 中。當端口處于阻止狀態(tài)中時,不會向該端口轉發(fā)數(shù)據(jù)幀,也不會從該端 口接收數(shù)據(jù)幀。網(wǎng)絡管理員還可以通過將端口置于^^ (&"WW)狀態(tài)中 來將其排除在生成樹之外。
為了獲得運行生成樹協(xié)議所必需的信息,網(wǎng)橋交換特殊的消息,這種 特殊的消息被稱為紀置廚橋鈔議教薪卓元(BPDU)消息或者簡稱為BPDU。 BPDU攜帶著用于計算活動拓撲的信息,例如假定的根和最低根
路徑成本。更具體而言,在啟動后,每個網(wǎng)橋最初假定其自身為根網(wǎng)橋,
并相應地發(fā)送BPDU。在接收到來自相鄰網(wǎng)橋的BPDU后,其內(nèi)容被檢查 并被與接收方網(wǎng)橋存儲在存儲器中的類似信息(例如,假定的根和最低根 路徑成本)相比較。如果來自接收到的BPDU的信息比存儲的信息"更 好",則網(wǎng)橋采用該更好的信息并且將該信息用在它從它的除了接收到該 "更好"信息的端口之外的端口發(fā)送(在把與接收端口相關聯(lián)的成本添加 到根路徑成本的情況下)的BPDU中。雖然BPDU不被網(wǎng)橋轉發(fā),但是根 網(wǎng)橋的標識符如上所述最終被傳播到所有網(wǎng)橋并被所有網(wǎng)橋所采用,從而 使得它們可以選擇其根端口和任何(一個或多個)指定端口。
為了使活動拓撲適應于變化和故障,根網(wǎng)橋周期性地(例如每 發(fā)送BPDU。響應于在其根端口上接收到BPDU,網(wǎng)橋從其指定端 口 (如果有的話)發(fā)送其自己的BPDU。這樣,BPDU被周期性地在整個 橋接的網(wǎng)絡中傳播,從而確認活動拓撲。隨著BPDU信息被更新和/或淘汰 并且活動拓撲被重新計算,端口可以從阻止狀態(tài)轉變到轉發(fā)狀態(tài),反之亦 然。也就是說,由于新的BPDU信息,先前被阻止的端口可能獲知它應當 處于轉發(fā)狀態(tài)中(例如,它現(xiàn)在是根端口或指定端口)。
虛擬局域網(wǎng)
計算機網(wǎng)絡還可以被分割成一系列邏輯網(wǎng)絡。例如,1995年2月28 日授權給Ross的美國專利No. 5,394,402 ( ",402專利")公開了一種將 交換機的任何端口與任何特定的網(wǎng)段關聯(lián)起來的布置。具體而言,根 據(jù)'402專利,通過利用將端口與特定的虛擬局域網(wǎng)(VLAN)指定 (VLAN designation) ^^教邀關聯(lián)起來的VLAN布置,可以將特定交換機
的任何數(shù)目的物理端口與該交換機內(nèi)的任何數(shù)目的群組關聯(lián)起來。更具體 而言,交換機或集線器將VLAN指定與其端口關聯(lián)起來,并且還將這些 VLAN指定與從該VLAN指定所被指派的任何端口發(fā)送的消息關聯(lián)起來。
每個端口的VLAN指定被存儲在交換機的存儲器部分中,從而每當在 給定的接入端口上接收到消息時,該端口的VLAN指定就與該消息關聯(lián)起 來。關聯(lián)是由一個流處理元件完成的,該流處理元件基于用來接收消息的特定接入端口在存儲器部分中査找VLAN指定。在許多情況下,可能希望
互連多個這樣的交換機,以便擴展網(wǎng)絡中的端口的VLAN關聯(lián)。具有相同 VLAN指定的那些實體就好像它們都是同一 VLAN的一部分那樣工作。 VLAN配置的網(wǎng)橋被具體配置為防止網(wǎng)絡的具有不同VLAN指定的部分之 間的消息交換,以便保持每個VLAN的邊界。然而,在L2上工作的中間 網(wǎng)絡設備(例如路由器)可以在不同VLAN段之間傳遞消息。
除了,402專利之外,IEEE發(fā)布了用于虛擬橋接局域網(wǎng)的802.1Q規(guī)范 標準。為了保持在VLAN知曉網(wǎng)絡中的干線或鏈路上傳輸?shù)南⒌腣LAN 關聯(lián),Ross和IEEE Std. 802.1Q-2005規(guī)范標準都公開了將VLAN標識符
(VID)字段附加到相應的幀。此外,與本申請屬于同一申請人的Edsall 等人的美國專利No. 5,742,604 ( "'604專利")公開了一種交換機間鏈路
(ISL)封裝機制,用于在交換機之間高效地傳輸分組或幀(包括經(jīng) VLAN修改的幀),同時維持幀的VLAN關聯(lián)。具體地,可以利用快速以 太網(wǎng)標準的ISL鏈路連接在每個交換機處部署的ISL接口電路。發(fā)送方 ISL電路將所傳輸?shù)膸庋b在ISL頭部和ISL差錯檢測信息中,而ISL接 收方電路則剝除該信息并恢復原始幀。 多生成樹協(xié)議
在IEEE Std. 802.1Q-2005內(nèi),IEEE還包括了針對特別設計來結合支持 VLAN的網(wǎng)絡使用的生成樹協(xié)議的規(guī)范標準。在IEEE Std. 802.1Q-2005中 描述的多生成樹協(xié)議(MSTP)將橋接的網(wǎng)絡組織成區(qū)域。在每個區(qū)域 內(nèi),MSTP建立內(nèi)部生成樹(1ST),該內(nèi)部生成樹提供與各個區(qū)域內(nèi)的所 有網(wǎng)橋的連通性以及與其他區(qū)域內(nèi)建立的1ST的連通性。在每個MSTP區(qū) 域內(nèi)建立的IST還提供與由運行STP或RSTP的IEEE Std. 802.1Q-2005兼 容網(wǎng)橋在MSTP區(qū)域外建立的一個公共生成樹(CST)的連通性。給定 MST區(qū)域的1ST接收并發(fā)送BPDU到CST。相應地,橋接網(wǎng)絡的所有網(wǎng) 橋被單個公共和內(nèi)部生成樹(CIST)所連接。另外,從遺留網(wǎng)橋或者 IEEE Std. 802.1Q-2005網(wǎng)橋的角度來看,每個MST區(qū)域看起來是CST上 的單個虛擬網(wǎng)橋。
在每個MST區(qū)域內(nèi),MSTP兼容網(wǎng)橋建立多個活動拓撲,每個活動拓
8撲被稱為多生成樹實例(MSTI) 。 MSTP網(wǎng)橋還將每個VLAN指派或映 射到一個(且僅一個)MSTI。因為VLAN可被指派給不同的MSTI,所以 與不同VLAN相關聯(lián)的幀可以采取不同的路徑經(jīng)過MSTP區(qū)域。網(wǎng)橋可以 (但一般不)為每一個VLAN計算一個單獨的拓撲,從而節(jié)約處理器和存 儲器資源。每個MSTI基本是一個僅存在于各個區(qū)域內(nèi)的簡單RSTP實 例,并且MSTI不與區(qū)域外界交互。
與其他生成樹協(xié)議一樣,MSTP使用BPDU來建立1ST和MSTI,以 及定義不同MSTP區(qū)域的邊界。網(wǎng)橋不為每個MSTI發(fā)送單獨的BPDU。 相反,每個MSTP BPDU攜帶為各個區(qū)域內(nèi)定義的所有MSTI計算活動拓 撲所需的信息。另外,每個MSTI具有相應的標識符(ID),并且MSTI ID被編碼到網(wǎng)橋ID中。也就是說,每個網(wǎng)橋如上所述具有唯一的ID,并 且該ID是由固定部分和可設置部分構成的。對于MSTP,網(wǎng)橋的ID的可 設置部分被進一步組織為包括可設置優(yōu)先級成分和系統(tǒng)ID擴展。系統(tǒng)ID 擴展對應于MSTI ID之一或者CIST。給定區(qū)域內(nèi)的MSTP兼容網(wǎng)橋從而 將針對CIST和每個MSTI具有一個不同的網(wǎng)橋ID。對于給定的MSTI, 針對該實例具有最低網(wǎng)橋ID的網(wǎng)橋被選擇為根。因此,在給定的MSTP 區(qū)域內(nèi),MSTP兼容網(wǎng)橋可以是一個MSTI的根,但不是另一個MSTI的 根。
運行MSTP的每個網(wǎng)橋還具有由三個屬性構成的單個MST配置標識 符(ID):文字數(shù)字配置名稱、修訂級別以及將可能的4096個VLAN中 的每一個關聯(lián)到相應的MSTI的VLAN映射表。另外,每個網(wǎng)橋將其MST 配置ID加載到該網(wǎng)橋所源發(fā)的BPDU中。因為網(wǎng)橋只需要知道它們是否 處于相同的MST區(qū)域中,因此它們在其BPDU中不傳播實際的VLAN到 MSTI表。作為替換,MST BPDU只攜帶VLAN至U MSTI表或映射的摘 要。該摘要是通過向VLAN到MSTI表應用公知的MD-5算法來生成的。 當網(wǎng)橋接收到MST BPDU時,它提取其中包含的包括該摘要的MST配置 ID,并將其與其自己的MST配置ID相比較,以判定它是否與發(fā)送MST BPDU的網(wǎng)橋處于同一 MST區(qū)域中。如果兩個MST配置ID相同,則兩個 網(wǎng)橋處于同一 MST區(qū)域中。但是,如果兩個MST配置ID具有至少一個不匹配的屬性,g卩,配置名稱不同、修訂級別不同和/或計算出的摘要不
同,那么接收到BPDU的網(wǎng)橋斷定它與源發(fā)BPDU的網(wǎng)橋處于不同的 MST區(qū)域中。另外,如果指定網(wǎng)橋處于不同的MST區(qū)域中或者如果端口 接收到遺留BPDU,則MST網(wǎng)橋的端口被認為處于MST區(qū)域的邊界處。 注冊協(xié)議
IEEE Std. 802.1p (現(xiàn)在并入到了 IEEE 802.1D-2004內(nèi))概述了通用屬 性注冊協(xié)議(GARP)的實現(xiàn)方式和相關的GARP應用,其允許了末端站 和網(wǎng)橋以通用方式交換成員資格信息。具體地,IEEE 802.lp所定義的 GARP "提供了通用屬性散布能力,該能力被GARP應用中的參與者
(GARP參與者)用來向橋接的LAN內(nèi)的其他GARP參與者注冊和解除 注冊屬性值"。IEEE 802.1p中定義的GARP的一個應用是GARP多播注 冊協(xié)議(GMRP),該協(xié)議允許了 GARP參與者加入和離開多播MAC
(媒體訪問控制)地址群組。希望加入特定群組的參與者(例如末端站) 向接受注冊的另一個GARP參與者(例如網(wǎng)橋)注冊。該GARP參與者
(網(wǎng)橋)隨后代表原始參與者(末端站)申請成員資格,該成員資格被在 整個網(wǎng)絡中傳播。GMRP所傳播的信息一般包括多播MAC地址。IEEE 802.1p中定義的另一個GARP應用是GARP VLAN注冊協(xié)議(GVRP)。 GVRP允許參與者以與GMRP相類似的方式加入和離開特定VLAN,但是 涉及IEEE 802.1Q中定義的VLAN成員資格信息,例如VLAN ID
(VID)。
一般來說,GARP參與者負責處理GARP狀態(tài)機和BPDU分發(fā)。接收 針對端口上的特定屬性的注冊的多端口設備(例如網(wǎng)橋/交換機)中的參與 者通過申請者在參與GARP的所有其他端口上聲明(通告)該屬性。用于 將該信息從一個GARP參與者傳播到同一設備內(nèi)的另一 GARP參與者的機 制被稱為GARP信息傳播(GIP) 。 GIP上下文指的是屬于GIP的GARP 參與者的群組。對于每個GIP上下文,對于在該端口上啟用的每個GARP 應用存在一個GARP參與者(例如,對于GMRP中該端口上的每個 VLAN存在一個參與者,并且對于GVRP中的每個端口存在一個參與 者)。每個GARP參與者可以既具有特定于應用的行為,又具有GARP信息聲明(GID)組件,該組件可以包括一個或多個屬性值,等等。屬性是
GARP所傳播的特定于應用的信息,例如GMRP的群組MAC地址和服務 要求、GVRP的VID,等等。
值得注意的是,除了 GARP應用協(xié)議之外,IEEE 802.1p還說明了如 何利用標記方案來允許幀被標記以優(yōu)先級信息和可選的VID。優(yōu)先級區(qū)分 工作于流量的MAC層,并且將流量分類(分組)成不同的流量類。IEEE 802.1p定義了八個類,這些類將由網(wǎng)絡管理員手工配置(IEEE已進行了廣 泛的推薦)并且在整個網(wǎng)絡中注冊。作為示例,最高的優(yōu)先級是7,該優(yōu) 先級例如可以被指派給網(wǎng)絡關鍵流量,例如路由信息協(xié)議(RIP)和開放 最短路徑優(yōu)先(OSPF)更新。值5和6可以用于對延遲敏感的應用,例如 交互式視頻和語音,而數(shù)據(jù)類4至1則歸類于從受控負載應用(例如流式 傳輸多媒體和業(yè)務關鍵流量)下至"可丟失"流量。0值用作盡力而為默 認,在其他值沒有被設置時該值可以被自動調(diào)用。
新的IEEE項目P802.1ak (草案5.1)確定了結合注冊使用的多重注冊 協(xié)議(MRP)(正式名稱為"Standard for Local and Metropolitan Area Networks Virtual Bridged Local Area Networks - Amendment 07: Multiple Registration Protocol")。作為對GARP的更新(或替換),MRP允許了 MRP應用中的參與者向橋接的LAN中的其他參與者注冊屬性。多重 VLAN注冊協(xié)議(MVRP)在IEEE P802.1ak中被定義為獨立于支持 VLAN的生成樹為每個VLAN傳輸拓撲變化(例如,對GVRP的更新)。 這使得多個VLAN可以使用單個生成樹,并且在拓撲變化沒有改變用于到 達接收針對給定VLAN的幀的末端站的網(wǎng)橋端口時,無需網(wǎng)橋重新獲知該 VLAN的地址,本領域的技術人員也將明白這一點。還定義了以類似方式 更新GMRP的多重多播注冊協(xié)議(MMRP)。本領域的技術人員將會明 白,MRP更新能夠實現(xiàn)由于很大的網(wǎng)絡中的一小部分的拓撲變化引起的該 網(wǎng)絡中的故障恢復時間(收斂時間)的減少和流量中斷的減少。
服務帶寬考慮
客戶(用戶)經(jīng)常希望通過提供商網(wǎng)絡(例如橋接網(wǎng)絡)向其他客戶 發(fā)送流量。流量或數(shù)據(jù)"流"從源客戶進入提供商網(wǎng)絡,例如在"入口網(wǎng)橋"的用戶-客戶接口 (UNI)處進入提供商網(wǎng)絡,并且穿越提供商網(wǎng)絡的 節(jié)點(例如網(wǎng)橋),以到達該流的目的地客戶,例如到達遠程UNI (以及 "出口網(wǎng)橋")。值得注意的是,如果一個提供商網(wǎng)絡被附接到另一個提
供商網(wǎng)絡,則這些網(wǎng)絡可以通過網(wǎng)絡節(jié)點接口 (NNI)來附接。這些客戶 到客戶或者說"點到點"(P2P)傳輸(服務)可能要求使用一定量的帶 寬(BW)來傳輸數(shù)據(jù)。另一方面,"多點到多點"(MP2MP)服務是這
樣的服務其中,任何數(shù)目的多個點(例如客戶)可以通過網(wǎng)絡向任何數(shù)
目的其他多個點(即,多于兩個UNI)發(fā)送數(shù)據(jù)流并從其接收數(shù)據(jù)流。
在一些情況下,希望例如根據(jù)特定的生成樹來保證或預留沿著點之間 的數(shù)據(jù)流(會話)的路徑的傳輸所需的BW,以確保在點之間流動的流量 具有足夠的BW。否則,流量可能由于路徑上的過多流量而被丟棄或暫 停,例如由于其他流或會話而被丟棄或暫停。例如,"音頻-視頻橋接"
(AVB)用于描述與將諸如機頂盒、收音機等等之類的視頻和音頻組件連 接到橋接網(wǎng)絡(例如以太網(wǎng))相關聯(lián)的技術。AVB中的數(shù)據(jù)流(或者"流
(stream)")可能要求一定的服務質量(QoS)以便有效地工作,例如 要求一定量的BW用于該流(stream),以及對等待時間、抖動等等的要 求。運行AVB服務的應用可以請求在網(wǎng)絡上(即,從源到目的地)為特 定服務預留(注冊)BW,以便保證傳輸正常進行(即具有足夠的 BW)。
如上所述以及如本領域的技術人員將會明白的,生成樹的使用具有許 多有用的應用。但是,許多客戶設備(例如,執(zhí)行AVB服務的客戶設 備)經(jīng)常具有與網(wǎng)絡的多個連接。例如,冗余連接可以將單個設備互連到 網(wǎng)絡,多個應用實例(例如, 一個用于音頻, 一個用于視頻, 一個用于數(shù) 據(jù),等等)可以位于單個客戶設備上,等等。通過利用單個生成樹來將源 客戶連接到一個或多個目的地客戶,在每個端點之間只存在一條路徑。這 樣,來自源客戶的所有數(shù)據(jù)流都利用單條生成樹路徑,這可能導致關鍵鏈 路被流量所充滿。這進而又可能增大滿足服務的BW要求的難度,以及限 制客戶可以使用的應用服務的數(shù)目或質量。
可以通過除了正EE Std. 802.1D-2004或802.1Q-2005中描述的方法之外的方法來創(chuàng)建生成樹。本領域的技術人員通常認可用于計算用來轉發(fā)數(shù) 據(jù)分組的路徑的兩種主要種類的算法鏈路狀態(tài)算法以及距離向量算法。
示例性的鏈路狀態(tài)算法例如包括在1998年4月的題為"OXPF Fera》"2" 的請求注釋(RFC) 2328中描述的開放最短路徑優(yōu)先(OSPF)協(xié)議,以 及在1990年12月的題為"t/se o/OSiVS-ZS/or rowriwg & rOV/尸am/ D,/ 五m^owmewte"的RFC 1195中描述的中間系統(tǒng)到中間系統(tǒng)(IS-IS)協(xié)議, 這兩個RFC都通過引用并入在此。另外,示例性的距離向量算法例如包括 在1994年11月的題為"/ /P 2"的RFC 1723中描述的路由信息協(xié)
議(RIP),以及MSTP (IEEE Std. 802.1Q-2005)。如以上并入的屬于同 一申請人的共同未決的題為"METHODS AND DEVICES FOR IMPROVING THE MULTIPLE SPANNING TREE PROTOCOL"的美國申 請No. 11/182,564 以及題為 "SYSTEM AND METHOD FOR GENERATING SYMMETRICAL SPANNING TREES "的美國申請No. 11/228,162中所述,也可以利用鏈路狀態(tài)算法來計算通常利用MSTP計算 的生成樹。這里使用的這種技術被稱為"最優(yōu)橋接"。
在兩類算法中,網(wǎng)橋利用更新分組(或BPDU)在彼此之間發(fā)送和接 收信息,以便創(chuàng)建生成樹。不同于距離向量算法,鏈路狀態(tài)算法向每個網(wǎng) 橋提供該網(wǎng)橋計算網(wǎng)絡的當前拓撲的模型所需的信息,所述模型包括每一 個網(wǎng)橋和每一個LAN。
在許多情況下,連接源端點和目的地端點的網(wǎng)絡在其間可以具有多條 路徑,這多條路徑可能連接到客戶設備的多個連接。但是,即使在這多條 路徑中的一些具有可用資源(例如BW)的情況下,由于單生成樹配置, 它們一般也不可供客戶使用。于是,這意味著如果入口網(wǎng)橋為客戶設備使 用的單個生成樹不具有可用資源,則客戶設備就無法滿足其QoS要求(例 如BW),而不論是否存在通過網(wǎng)絡去往(一個或多個)目的地的另一條 路徑。
因此,需要一種針對網(wǎng)絡上的多條路徑高效管理BW注冊的技術。具 體地,希望網(wǎng)絡的網(wǎng)橋最優(yōu)地利用網(wǎng)絡的可用資源,而不論可用資源是否 處于該網(wǎng)橋所使用的單個(主)生成樹上。但是,同時應當維持傳統(tǒng)的生成樹技術,以便實現(xiàn)生成樹的益處(例如,無環(huán)路環(huán)境,等等)。
發(fā)明內(nèi)容
本發(fā)明涉及一種用于針對計算機網(wǎng)絡中的多個生成樹選項來高效管理 帶寬(BW)注冊的技術。根據(jù)該新穎技術,入口網(wǎng)橋確定去往網(wǎng)絡的其 他網(wǎng)橋的多條生成樹路徑(即,以網(wǎng)絡的一個或多個網(wǎng)橋為根的一個或多 個可用生成樹),并且確定這些路徑中的每一條上已利用(注冊)的
BW。在例如從應用源端點接收到為去往目的地端點的數(shù)據(jù)流發(fā)起B(yǎng)W注
冊的請求后,入口網(wǎng)橋選擇生成樹路徑之一來用于該數(shù)據(jù)流。從多條可用
路徑中對生成樹路徑的選擇例如可以按順序基于(i)路徑的可用帶寬, (ii)最短路徑,以及(iii)路徑的網(wǎng)橋根的最低網(wǎng)橋標識符ID。
入口網(wǎng)橋沿著所選擇的生成樹路徑朝著目的地端點為數(shù)據(jù)流發(fā)送注冊 消息。如果注冊成功,則數(shù)據(jù)流被通過所選擇的路徑傳輸。具體而言,入
口網(wǎng)橋或者可以例如利用虛擬局域網(wǎng)(VLAN)標識符(VID)來告知源 端點使用哪個生成樹,或者可以檢測數(shù)據(jù)流并自己通過所選擇的生成樹來 引導流量。值得注意的是,如果所選擇的生成樹路徑不是以入口網(wǎng)橋為根 的,即不是在主生成樹上而是在備用生成樹上,則沿著該路徑的網(wǎng)橋(例 如,從入口網(wǎng)橋直到出口網(wǎng)橋)可以為該流量使用特殊轉發(fā)(即,與傳統(tǒng) 轉發(fā)相分離并且不同),該特殊轉發(fā)例如利用VID來指示主生成樹或備用 生成樹。另一方面,如果注冊失敗,則入口網(wǎng)橋例如可以嘗試在下一最佳 備用生成樹上注冊該數(shù)據(jù)流,直到注冊成功為止或者直到確定不存在更多 的備用生成樹為止。
有利地,該新穎技術針對計算機網(wǎng)絡中的多個生成樹選項高效地管理 BW注冊。通過監(jiān)視多條生成樹路徑的BW利用(注冊),該新穎技術允 許了入口網(wǎng)橋確定在發(fā)送數(shù)據(jù)流時要利用的最佳生成樹。具體地,通過允 許入口網(wǎng)橋基于BW利用情況選擇可用的多個生成樹中的任何一個,在以 入口網(wǎng)橋為根的主生成樹擁塞或由于其他原因不可用的情況下,本發(fā)明向 入口網(wǎng)橋提供了更多的為數(shù)據(jù)流注冊BW的機會。另外,該新穎技術的動 態(tài)性質減輕了對繁重的手工配置的需要,并且不需要主網(wǎng)絡BW分配設
14施。
通過結合附圖參考以下描述將更好地理解本發(fā)明的以上和其他優(yōu)點, 附圖中相似的標號指示相同或功能上相似的元件,其中-
圖1是根據(jù)本發(fā)明的計算機網(wǎng)絡的概略示意圖2是根據(jù)本發(fā)明可以使用的示例性網(wǎng)橋的部分框圖3是根據(jù)本發(fā)明可以使用的網(wǎng)橋的另一個概略示意部分框圖4是根據(jù)本發(fā)明可以使用的傳統(tǒng)注冊PDU消息的示意框圖5是根據(jù)本發(fā)明可以使用的示例性數(shù)據(jù)流幀的示意框圖6A和6B是如圖l所示的計算機網(wǎng)絡的概略示意圖示,其中示出了
根據(jù)本發(fā)明的備用生成樹路徑;并且
圖7是示出根據(jù)本發(fā)明用于針對多個生成樹選項高效管理BW注冊的
過程的流程圖。
具體實施例方式
圖1是根據(jù)本發(fā)明的計算機網(wǎng)絡100的概略示意圖。網(wǎng)絡100包括具 有多個互連的中間網(wǎng)絡設備104的提供商網(wǎng)絡120,所述中間網(wǎng)絡設備 104例如是網(wǎng)橋(例如,網(wǎng)橋A-F)。網(wǎng)橋通過多個局域網(wǎng)(LAN) 106/108附接到彼此,并且附接到末端站102 (例如102A和102F)。網(wǎng)橋 104通過多個LAN 106/108互連,所述LAN 106/108可以包括共享介質或 點到點鏈路/網(wǎng)段。
每個網(wǎng)橋104具有多個端口 110 (和111),用于通過網(wǎng)絡100接收 和轉發(fā)消息。另外,每個網(wǎng)橋104的端口可以通過端口號來標識,例如端 口 0 (PO)、端口 1 (Pl)、端口 2 (P2)等等,從而各個網(wǎng)橋能夠到達 的實體可以與用來到達它們的特定端口相關聯(lián)。與僅連接到末端站而不連 接到其他網(wǎng)橋的LAN相耦合的網(wǎng)橋端口 111被稱為"接入端口"或者用 戶網(wǎng)絡接口 (UNI)端口。具有UNI端口 111的網(wǎng)橋在這里被稱為為客戶 提供進入網(wǎng)絡的入口或離開網(wǎng)絡的出口的"入口網(wǎng)橋"或者"出口網(wǎng)橋"。經(jīng)由LAN 106/108連接到另一中間網(wǎng)絡設備(例如,連接到相鄰網(wǎng) 橋)的網(wǎng)橋端口 110被稱為"干線端口"。
應當明白,圖1的網(wǎng)絡100只是用于示例目的,本發(fā)明可以結合具有 更簡單或者可能復雜得多的拓撲的其他網(wǎng)絡工作。
如圖所示,網(wǎng)絡100包括多個環(huán)路。對諸如IEEE Std. 802.1D-2004中 定義的生成樹協(xié)議(STP)之類的生成樹協(xié)議的執(zhí)行通過在橋接網(wǎng)絡100 中定義無環(huán)路拓撲(即,活動拓撲),從而防止了環(huán)路。例如,正如本領 域的技術人員將會明白的,標識為粗線(106)的LAN (網(wǎng)段)是網(wǎng)橋A 用來到達網(wǎng)橋F的示例性生成樹路徑(沿著活動拓撲),而其他線條 (108)是不在去往網(wǎng)橋F的路徑上的LAN。傳統(tǒng)上,網(wǎng)絡100具有由網(wǎng) 絡的所有網(wǎng)橋104所共享的單個生成樹。但是,在網(wǎng)絡100中對多個生成 樹的使用,例如IEEE Std. 802.1Q-2005中描述的多生成樹協(xié)議(MSTP) 描述了將多個生成樹用于網(wǎng)絡內(nèi)。具體地,根據(jù)本發(fā)明的優(yōu)化的MSTP ("最優(yōu)橋接")在下文中更詳細描述。
圖2是示例性網(wǎng)橋104的部分框圖。如上所述,網(wǎng)橋具有多個端口 110/111,每個端口優(yōu)選地由一個號碼(例如P0-P2)來標識??偟貥俗?202的一個或多個幀發(fā)送和接收對象與端口 110/111相關聯(lián),從而在給定 端口 (例如Pl)處接收的包括數(shù)據(jù)幀的網(wǎng)絡消息可以被捕捉,并且網(wǎng)橋 104要發(fā)送的幀可以被遞送到給定的端口 (例如P2)。幀接收和發(fā)送對象 202優(yōu)選是消息存儲結構的,例如優(yōu)先級隊列。
網(wǎng)橋104還包括至少一個協(xié)議實體204,該至少一個協(xié)議實體204與 幀發(fā)送和接收對象202處于通信關系,并且包括多個組件。具體地,協(xié)議 實體204包括至少一個生成樹協(xié)議(STP)引擎206以及一個或多個轉發(fā) 引擎208。 STP引擎206優(yōu)選地包括多個子組件,例如端口角色選擇狀態(tài) 機210、端口轉變狀態(tài)機212和STP控制消息生成器214,等等。STP引 擎206構造一組生成樹實例,其中對于網(wǎng)絡中的每個網(wǎng)橋有一個所述生成 樹實例。這些生成樹實例是以與通過引用全部并入在此的IEEE Std. 802.1Q-2005中相似的方式創(chuàng)建的,只不過使用了鏈路狀態(tài)信息而不是距 離向量信息,這在以上并入的屬于同一申請人的共同未決的題為"METHODS AND DEVICES FOR IMPROVING THE MULTIPLE SPANNING TREE PROTOCOL"的美國申請No. 11/182,564以及題為
"SYSTEM AND METHOD FOR GENERATING SYMMETRICAL SPANNING TREES"的美國申請No. 11/228,162中有所描述。STP引擎 206包括存儲器218或與存儲器218處于通信關系,該存儲器218可以是 易失性和/或非易失性隨機訪問存儲器(RAM)或某種其他存儲器設備。 存儲器218優(yōu)選地被組織為包括多個記錄或單元(未示出),用于存儲與 生成樹相關的信息或參數(shù),例如網(wǎng)橋的數(shù)值網(wǎng)橋標識符(ID)、每個端口 P0-P2的注冊值,等等。
一個或多個轉發(fā)引擎208優(yōu)選地耦合到一個或多個過濾數(shù)據(jù)庫220, 該一個或多個過濾數(shù)據(jù)庫220存儲與網(wǎng)絡100 (圖1)的實體相對應的地 址信息。每個過濾數(shù)據(jù)庫優(yōu)選地具有多個記錄(未示出),每個記錄包含 多個單元,其中包括目的地地址單元、目的地端口單元和相應的定時器單 元。過濾數(shù)據(jù)庫220中的每個記錄優(yōu)選地對應于一個特定的網(wǎng)絡實體。
轉發(fā)引擎208被配置為依據(jù)適當?shù)倪^濾數(shù)據(jù)庫220中包含的信息并且 還依據(jù)由STP引擎206管理的各個端口 110的生成樹端口狀態(tài),來將來自 源端口 110的消息(例如分組和/或幀)切換或橋接到一個或多個目的地端 口 110。轉發(fā)引擎208也與STP引擎206處于通信關系,并且可以向其轉 發(fā)在端口 110處接收到的諸如注冊(例如GARP)協(xié)議數(shù)據(jù)單元(PDU) 消息之類的消息。
在圖示實施例中,網(wǎng)橋104包括發(fā)送和接收電路,其中包括建立端口 以便交換網(wǎng)絡消息的一個或多個線路卡和/或網(wǎng)絡接口卡(NIC)、具有中 央處理單元(CPU)和/或微處理器和相關聯(lián)的存儲器設備以便執(zhí)行計算以 及存儲計算結果的一個或多個監(jiān)督卡,以及一個或多個總線結構。圖3是 網(wǎng)橋104的另一個概略示意部分框圖,該圖中示出了這種組件。如圖3所 示,網(wǎng)橋104包括多個線路卡302和304以及監(jiān)督卡306???02、 304和 306通過通信總線308與彼此處于通信關系。線路卡302和304中的每一 個包括微處理器(;xP) 310和至少一個存儲器312。監(jiān)督卡306也包括/xP 314,以及非易失性(N-V)存儲器316和易失性存儲器318,例如RAM。
再次參考圖2,本領域的技術人員將會明白,STP引擎206和轉發(fā)引 擎208可以各自包括被配置和布置為產(chǎn)生順序邏輯電路的寄存器和組合邏 輯。在圖示實施例中,引擎206和208優(yōu)選是包含與這里描述的方法有關 并且可由網(wǎng)橋104的一個或多個處理元件(例如微處理器310和/或314 (圖3))執(zhí)行的程序指令的軟件模塊或者庫。其他計算機可讀介質也可 用于存儲和執(zhí)行這些程序指令。然而,本領域的技術人員將會認識到可以 使用軟件和硬件的各種組合(包括固件)來實現(xiàn)本發(fā)明。
結合本發(fā)明使用的適當?shù)闹虚g網(wǎng)絡設備平臺包括但不限于可從San Jose, California的Cisco System, Inc.購得的一系列交換機,例如Catalyst 6500、 7600、 3500和GRS。
如上所述,IEEE在IEEE Std. 802.1D 1998版中開發(fā)了通用屬性注冊協(xié) 議(GARP)。顧名思義,GARP提供了允許參與者作出和撤消對通用屬 性的聲明的框架。響應于GARP聲明,其他網(wǎng)絡參與者在接收到聲明的端 口處注冊規(guī)定屬性的(一個或多個)參數(shù)值。GARP參與者還傳播聲明, 以便網(wǎng)絡中的其他參與者可以進行適當?shù)淖?。參與者還可以撤銷其先前 的聲明。響應于撤消,其他參與者解除對(一個或多個)特定參數(shù)值的注 冊。
GARP參與者包括GARP應用組件和GARP信息聲明(GID)組件。 GID組件包括一組狀態(tài)機,該組狀態(tài)機定義了所有屬性值的當前注冊和聲 明狀態(tài)。對于每個GARP應用, 一般為每個端口建立一個GARP參與者。 因而,對于經(jīng)常具有多個端口的中間設備,建立了多個GARP參與者
(230,圖2)。為了作出或撤消聲明,GARP參與者生成并發(fā)送被稱為 GARP協(xié)議數(shù)據(jù)單元(GARP PDU)消息的特殊消息。圖4是傳統(tǒng)的 GARP PDU消息400的示意框圖。本領域的技術人員將會明白,雖然示出 了 GARP PDU消息400,但是其他注冊消息(例如多重注冊協(xié)議、MRP PDU消息)也可用于本發(fā)明。示例性的注冊消息400 —般包括介質訪問協(xié) 議(MAC)頭部402 (其包括目的地和源地址字段,等等),協(xié)議標識符
(ID)字段404、多個消息字段(例如,消息字段406、 408和410)以及
18結束標記字段412。另外,每個消息字段包括屬性類型字段414和屬性列 表字段416。屬性列表字段416進而包括一個或多個屬性字段(例如,屬 性字段418、 420和422),以及結束標記字段424。每個屬性字段(例如 字段418)包括1字節(jié)的屬性長度字段426、 1字節(jié)的屬性事件字段428以 及可變長度的屬性值字段430。
為了在布置于給定中間設備內(nèi)的GARP參與者之間交換信息,使用一 個單獨的組件,該組件被稱為GARP信息傳播(GIP)組件(240,圖 2) 。 GIP組件工作在GIP上下文上,該GIP上下文是在中間設備處建立 的并且定義了給定上下文中將要包括的端口。也就是說,雖然注冊可能發(fā) 生在任何端口處,但是該注冊的傳播只遵循相關聯(lián)的GIP上下文。例如, GIP上下文可以包括屬于活動拓撲的端口 (即,處于轉發(fā)生成樹狀態(tài)中的 所有端口)。因為被阻止的端口不是GIP上下文的一部分,因此在被阻止 的端口上接收到的聲明不被傳播到任何其他端口,雖然它仍在被阻止的端 口處被注冊。與之不同的是,在處于轉發(fā)生成樹狀態(tài)中的端口處接收的聲 明既在該端口處被注冊又在整個GIP上下文中被傳播(即,被傳播到所有 處于轉發(fā)狀態(tài)中的其他端口)。
作為注冊屬性傳播的一個示例,為了限制與給定VID相關聯(lián)的廣播、 多播和單播洪泛的發(fā)送,IEEE規(guī)定基于GARP的應用在計算機網(wǎng)絡上散 布VLAN成員資格信息。被IEEE標準化的這個應用被稱為GARP VLAN 注冊協(xié)議(GVRP)。參見IEEE Std. 802.1Q-2005規(guī)范標準。根據(jù) GVRP,網(wǎng)橋從指派給其接入端口的VLAN的列表開始。與這些列出的 VLAN相關聯(lián)的所有廣播、多播和洪泛的單播都需要在該網(wǎng)橋處被接收。 GVRP為網(wǎng)橋提供了將其列表發(fā)送到其他網(wǎng)橋以便在其他網(wǎng)橋的干線端口 處注冊這些VLAN的機制。具體而言,網(wǎng)橋為網(wǎng)橋的VLAN列表中的每 個VLAN生成GARP PDU消息400,該GARP PDU消息400具有屬性結 構,即,字段426、 428禾n 430。網(wǎng)橋從其每個干線端口發(fā)送GARP PDU 消息400。 GARP PDU消息400在相鄰網(wǎng)橋的干線端口上被接收。假定 GARP PDU消息400在處于轉發(fā)生成樹端口狀態(tài)的端口上被接收,則接收 方網(wǎng)橋在其所有其他也處于轉發(fā)狀態(tài)的端口處注冊GARP PDU中包含的VLAN的列表,而不是只在接收到GARP PDU消息400的端口上注冊 GARP PDU中包含的VLAN的列表。相鄰網(wǎng)橋隨后生成和發(fā)送其自己的 GARP PDU消息400,其自己的GARP PDU消息400不僅列出了與相鄰網(wǎng) 橋的接入端口相關聯(lián)的VLAN,而且列出了由于接收到來自原網(wǎng)橋的 GARP PDU消息而注冊的VLAN。如果GARP PDU消息是在處于阻止生 成樹端口狀態(tài)的端口處被接收到的,貝IJ GARP PDU消息中包含的VLAN 在該被阻止的端口處被注冊,但是它們不在任何其他網(wǎng)橋端口處被注冊, 也不被用于網(wǎng)橋發(fā)送的GARP PDU消息中。值得注意的是,正如本領域的 技術人員將會明白并且被示例性地應用到這里描述的本發(fā)明的,可以通過 與VLAN注冊相似的方式在整個網(wǎng)絡中分發(fā)其他注冊的屬性。
與一個或多個應用相關聯(lián)的數(shù)據(jù)流或"流(stream)"(例如視頻、 音頻、數(shù)據(jù)等等)從源端點(或者末端站)(例如,102A)穿越網(wǎng)絡到達 目的地端點(例如,102F)。圖5是根據(jù)本發(fā)明可以使用的示例性數(shù)據(jù)流 幀500的示意框圖。作為示例,數(shù)據(jù)流幀500被實現(xiàn)為TCP/IP數(shù)據(jù)分組, 但是本領域的技術人員將會明白,根據(jù)本發(fā)明也可使用其他適當?shù)木W(wǎng)絡傳 輸格式(例如,ATM幀等等)。幀500包括一個或多個頭部510 (例如, 第2層、第3層、IP/ATM頭部等等,這是本領域的技術人員將會明白 的)以及數(shù)據(jù)字段520。頭部510內(nèi)的源地址514 (例如,MAC地址)和 目的地地址516 (例如, 一個或多個MAC地址)分別是發(fā)送方設備 (102A)和(一個或多個)接收方設備(102F)的網(wǎng)絡地址。根據(jù)這里描 述的本發(fā)明,VID字段512 (例如,Q標簽中的VID字段,這是本領域的 技術人員將會明白的)包含表示在轉發(fā)幀500時將要使用的VLAN (生成 樹實例)的值。幀的數(shù)據(jù)字段520的數(shù)據(jù)內(nèi)容一般是專有的事項,因為發(fā) 送方設備將數(shù)據(jù)發(fā)送到被配置為根據(jù)一個或多個應用(例如,視頻、音頻 等等)來解釋特定數(shù)據(jù)的接收方設備。
本發(fā)明涉及一種用于在計算機網(wǎng)絡中針對多個生成樹選項來高效管理 帶寬(BW)注冊的技術。根據(jù)該新穎技術,入口網(wǎng)橋確定去往網(wǎng)絡的其 他網(wǎng)橋的多條生成樹路徑(即,以網(wǎng)絡的一個或多個網(wǎng)橋為根的一個或多 個可用生成樹),并且確定這些路徑中的每一條上已利用(注冊)的BW。在例如從應用源端點接收到為去往目的地端點的數(shù)據(jù)流發(fā)起B(yǎng)W注 冊的請求后,入口網(wǎng)橋選擇生成樹路徑之一來用于該數(shù)據(jù)流。從多條可用 路徑中對生成樹路徑的選擇例如可以按順序基于(i)路徑的可用帶寬, (ii)最短路徑,以及(iii)路徑的網(wǎng)橋根的最低網(wǎng)橋標識符ID。
入口網(wǎng)橋沿著所選擇的生成樹路徑朝著目的地端點為數(shù)據(jù)流發(fā)送注冊 消息。如果注冊成功,則數(shù)據(jù)流被通過所選擇的路徑傳輸。具體而言,入 口網(wǎng)橋或者可以例如利用VID來告知源端點使用哪個生成樹,或者可以檢 測數(shù)據(jù)流并自己通過所選擇的生成樹來引導流量。值得注意的是,如果所 選擇的生成樹路徑不是以入口網(wǎng)橋為根的,即不是在主生成樹上而是在備 用生成樹上,則沿著該路徑的網(wǎng)橋(例如,從入口網(wǎng)橋直到出口網(wǎng)橋)可 以為該流量使用特殊轉發(fā)(即,與傳統(tǒng)轉發(fā)相分離并且不同),該特殊轉
發(fā)例如利用VID來指示主生成樹或備用生成樹。另一方面,如果注冊失
敗,則入口網(wǎng)橋例如可以嘗試在下一最佳備用生成樹上注冊該數(shù)據(jù)流,直 到注冊成功為止或者直到確定不存在更多的備用生成樹為止。
根據(jù)本發(fā)明,入口網(wǎng)橋(例如,網(wǎng)橋A)確定去往網(wǎng)絡的其他網(wǎng)橋 (例如,去往出口網(wǎng)橋F)的多條生成樹路徑。具體地,可以利用以上并 入的屬于同一申請人的共同未決的題為"METHODS AND DEVICES FOR IMPROVING THE MULTIPLE SPANNING TREE PROTOCOL"的美國申 請No. 11/182,564 以及題為 "SYSTEM AND METHOD FOR GENERATING SYMMETRICAL SPANNING TREES "的美國申請No. 11/228,162中詳細描述的技術來創(chuàng)建多條生成樹路徑。簡言之,這里描述 的技術(例如,"最優(yōu)橋接")定義了一種創(chuàng)建多個生成樹的手段,其中 網(wǎng)絡的每個網(wǎng)橋是其自己的多生成樹實例(MSTI)的根,并且每個網(wǎng)橋標 識符(ID)被用作該生成樹的VID。多個生成樹中的每一個在網(wǎng)絡的網(wǎng)橋 之間是對稱的,即,從第一網(wǎng)橋(網(wǎng)橋A)到第二網(wǎng)橋(例如,網(wǎng)橋F) 的生成樹路徑與從第二網(wǎng)橋到第一網(wǎng)橋的生成樹路徑相同(方向相反)。
再次參考圖1,假定每個網(wǎng)橋ID是網(wǎng)橋104內(nèi)的字母(例如,A-F),并且因而與每個生成樹實例相對應的VID是A-F。正如本領域的技 術人員將會明白的,位于網(wǎng)橋104的端口 110附近的較小的圓圈對應于"被阻止"的生成樹,或者該端口上的被阻止的VID。例如,從網(wǎng)橋A,
在"A的生成樹"(網(wǎng)橋A為根的生成樹)上,可以看到A可以直接到達 網(wǎng)橋B、 C和D,即在網(wǎng)橋之間不存在阻止A的生成樹的端口。另外,可 以經(jīng)由網(wǎng)橋B到達網(wǎng)橋F,并且可以經(jīng)由網(wǎng)橋D到達網(wǎng)橋E。 一旦任何數(shù) 據(jù)被發(fā)送到超出網(wǎng)橋C和E,網(wǎng)橋F的端口 (在圓圈中有"A")就阻止 對被標記以A的VID的數(shù)據(jù)的接收。另外, 一旦數(shù)據(jù)到達網(wǎng)橋F (即,從 網(wǎng)橋B),數(shù)據(jù)不會返回任何其他網(wǎng)橋(B、 C或E),從而根據(jù)生成樹協(xié) 議防止了環(huán)路。值得注意的是,網(wǎng)橋A的生成樹與網(wǎng)橋F的生成樹是"對 稱"的,從而網(wǎng)橋A和F都通過網(wǎng)橋B到達彼此(實線,106)。其余的 網(wǎng)橋104也具有其自己的最優(yōu)生成樹(即,以每個網(wǎng)橋作為其自己的生成 樹的根),并且本領域的技術人員通過查看圖1可以明白每個樹是對稱并 且相應地是無環(huán)路的,如圖所示。
根據(jù)本發(fā)明,入口網(wǎng)橋(網(wǎng)橋A)確定生成樹的每個LAN (網(wǎng)段)上 的已利用(已注冊)BW。例如,各種鏈路狀態(tài)協(xié)議可用于獲知LAN (鏈 路/網(wǎng)段)的能力,例如LAN的最大BW,等等??山Y合本發(fā)明使用的示 例性的鏈路狀態(tài)協(xié)議包括開放最短路徑優(yōu)先(OSPF)協(xié)議、中間系統(tǒng)到中 間系統(tǒng)(IS-IS)協(xié)議等等,這是本領域的技術人員將會明白的。作為示 例,正如這里所使用的,鏈路狀態(tài)協(xié)議可以通告"網(wǎng)橋到VID"指派,從 而指定對于多個生成樹VID值中的每一個要使用的網(wǎng)橋ID。由于網(wǎng)絡100 的網(wǎng)橋A-F中的每一個從每個其他網(wǎng)橋接收注冊消息400,因此每個網(wǎng)橋 可以知曉網(wǎng)絡內(nèi)的所有當前注冊。例如,如這里所述,在某一網(wǎng)橋(例如 入口網(wǎng)橋)處可以從網(wǎng)絡中的其他網(wǎng)橋接收資源(例如BW)注冊。在這 些注冊被接收到時,入口網(wǎng)橋可以確定它們的值和注冊的位置并將其存儲 在例如存儲器218中。由于具有關于鏈路狀態(tài)信息(例如,LAN的最大 BW)以及注冊的信息(例如,LAN的已預留/已注冊帶寬)的知識,網(wǎng)絡 的每個網(wǎng)橋可以相應地確定網(wǎng)絡內(nèi)的每個位置處可用的(未預留的)資源 的量。
在例如從應用源端點102A接收到為去往目的地端點的數(shù)據(jù)流發(fā)起 BW注冊的請求后,入口網(wǎng)橋(網(wǎng)橋A)選擇一條生成樹路徑來用于該數(shù)據(jù)流。具體地,源端點102A可以生成資源預留協(xié)議(RSVP)消息來請求
所預留的資源,這是本領域的技術人員將會明白的。入口網(wǎng)橋(A)可以 通過檢查在UNI端口 111上接收到的消息來檢測RSVP消息,并且作為響 應,可以開始這里描述的注冊過程。值得注意的是,應用源端點102A還 可以被配置為明確地向入口網(wǎng)橋請求注冊;但是,本發(fā)明的一個益處(正 如本領域的技術人員將會明白的)在于"即插即用"能力,即無需將源端 點配置為以與傳統(tǒng)操作不同的方式操作。
值得注意的是,本發(fā)明利用了以每個網(wǎng)橋為根的MSTI以及基于特定 VID (即,特定的生成樹)的數(shù)據(jù)(例如,數(shù)據(jù)流幀500和注冊消息 400)的轉發(fā)。本發(fā)明的一個方面因此在于下述附加能力基于以網(wǎng)絡中 的另一網(wǎng)橋為根的生成樹(即,不一定是以入口網(wǎng)橋為根的生成樹),在 入口網(wǎng)橋處將來自源地址的幀轉發(fā)到目的地地址。與"源路由"類似,本 發(fā)明支持到達目的地端點(120F)的"備用生成樹路徑"(或"選 項"),而仍維持了生成樹協(xié)議的優(yōu)點。
為了進行說明,圖6A和6B是如圖l所示的計算機網(wǎng)絡IOO的概略示 意圖示,其中示出了根據(jù)本發(fā)明的備用生成樹路徑。例如,傳統(tǒng)上,網(wǎng)橋 A (源120A的入口網(wǎng)橋)將只能利用A的生成樹("主生成樹")到達 網(wǎng)橋F (目的地120F的出口網(wǎng)橋)。但是,如圖6A所示,如果網(wǎng)橋A基 于網(wǎng)橋C的生成樹來轉發(fā)幀,那么從網(wǎng)橋A到C再到F的"備用生成 樹"就可供網(wǎng)橋A使用。換言之,網(wǎng)橋F在互連到網(wǎng)橋C的端口上通常將 會阻止來自網(wǎng)橋A的數(shù)據(jù),g卩,基于數(shù)據(jù)消息中A的生成樹的VID。但 是,現(xiàn)在網(wǎng)橋A能夠將網(wǎng)橋C的生成樹VID插入到數(shù)據(jù)消息中(例如, 插入到VID字段512中),則網(wǎng)橋F不會再阻止該數(shù)據(jù),因為網(wǎng)橋C在網(wǎng) 橋F的端口上未被阻止。圖6B示出了供網(wǎng)橋A到達網(wǎng)橋F的另一備用生 成樹,即通過利用網(wǎng)橋D (或者E)的生成樹。
為了確定使用哪個生成樹(例如,主生成樹或備用生成樹),入口網(wǎng) 橋(A)可以首先確定去往目的地(出口網(wǎng)橋)的具有可用于注冊的資源 的那組生成樹路徑。例如,假定來自源端點102A的RSVP消息請求 10Mb/s。因此,入口網(wǎng)橋檢査存儲器218中由鏈路狀態(tài)協(xié)議提供的信息的內(nèi)容(例如,在鏈路狀態(tài)數(shù)據(jù)庫LSDB (未示出)中),以確定網(wǎng)絡的每
個LAN (鏈路/網(wǎng)段)上原本可用的BW的量。然后,通過檢查所存儲的 關于接收到的BW注冊的信息(例如,如這里所述),入口網(wǎng)橋可以確定 在去往目的地的每條可能的生成樹路徑的每個LAN處的剩余可用BW。如 果沿著某一路徑的任何LAN (鏈路/網(wǎng)段)不符合資源要求(例如,包括 RSVP消息中所請求的等待時間、丟失、延遲等等),則該特定生成樹路 徑不被選擇。
在確定哪些生成樹路徑可供選擇之后,入口網(wǎng)橋例如基于一個或多個 度量來確定哪個可用生成樹路徑是最佳選項。注意,在基于資源要求只有 單條生成樹路徑可用的情況下,該生成樹被選擇。否則,具有最低成本或 距離(或者系統(tǒng)管理員所配置的任何其他度量)的生成樹可以是關于哪條 生成樹路徑是到達目的地(出口網(wǎng)橋)的最佳(例如,最短)生成樹路徑 的決定因素。在多條生成樹路徑共享最佳度量(例如,"平局")的情況 下,入口網(wǎng)橋可以利用任何方法來選擇生成樹路徑之一,例如,作為示 例,選擇以最低網(wǎng)橋ID (因此是最低VID)作為根的生成樹路徑。
在所選擇的生成樹路徑不以入口網(wǎng)橋為根的情況下,即不是在主生成 樹上而是備用生成樹上的情況下,沿著該路徑的網(wǎng)橋可以利用特殊的轉 發(fā),即與傳統(tǒng)轉發(fā)相分離并且不同。具體而言,本領域的技術人員將會明 白,通過對消息(例如注冊消息400或數(shù)據(jù)流幀500)進行轉發(fā),網(wǎng)絡 100的網(wǎng)橋104可能不正確地獲知源和目的地MAC地址流量的轉發(fā)
("MAC地址獲知")。例如,根據(jù)主生成樹轉發(fā),網(wǎng)橋F已經(jīng)獲知了 來自網(wǎng)橋A的流量將會從同一端口 IIO到達并離開前往網(wǎng)橋B。但是,如 果網(wǎng)橋F經(jīng)由網(wǎng)橋C (例如,網(wǎng)橋C的生成樹)接收到來自網(wǎng)橋A的流量
(即,針對端點102A的源MAC地址),那么網(wǎng)橋F可以為通過C的生 成樹以及A的生成樹(或者取代A的生成樹)轉發(fā)的MAC地址創(chuàng)建兩個 分離的轉發(fā)實例。于是,根據(jù)本發(fā)明為備用(對稱)生成樹利用單獨的
("特殊")的轉發(fā)將會是有利的。
為了向網(wǎng)絡100的網(wǎng)橋104指示出所選擇的生成樹VID是備用生成樹
而不是主生成樹,可以使用各種技術。例如,可以為該流量使用一定的優(yōu)
24先級,可以定義群組/個體比特的特殊使用,或者可以利用CEI/DEI比特用 途(例如,新的以太類型)來將備用生成樹流量與主生成樹流量分離開 來。但是,每個所述技術都可能需要對網(wǎng)絡100進行配置改變。因此,本
發(fā)明示例性地利用了 VID本身。例如,本發(fā)明可以通過設置或消除VID 的高位(例如,12位中的高位)來指示主生成樹路徑或備用生成樹路徑。 低位(例如,剩余的11位)可用于具體標識作為特定生成樹的根的網(wǎng)橋 ID。網(wǎng)絡的每個網(wǎng)橋104可以被指派兩個VID, 一個從值1至2047 (例 如,針對11個比特),第二個是第一值加上2048 (即,設置高位)。以 這種方式,遇到較低的VID的網(wǎng)橋104可以被配置為利用傳統(tǒng)的轉發(fā)(例 如,正如將會明白的,在公用FDB 220中查找和獲知MAC地址),而當 遇到較高的VID時,網(wǎng)橋104可以被配置為利用這里描述的特殊轉發(fā)。
這里使用的特殊轉發(fā)基于在與流量的特定VID相對應的特定的(例 如,單獨的)FDB 220中的進行查找操作來轉發(fā)流量(注冊流量和/或數(shù)據(jù) 流流量)。在本發(fā)明的一個實施例中,對于所有特殊轉發(fā)VID上的數(shù)據(jù)流 流量(如下所述)可以禁用MAC地址獲知。此實施例中的MAC地址獲 知只在注冊消息400的傳輸期間才發(fā)生。在注冊被接收到時,特定FDB 220被填充以與特定VID相對應的所獲知的MAC地址(例如,對于每個 VID有一個單獨的FDB)。
在本發(fā)明的替換實施例中,并不禁用根據(jù)數(shù)據(jù)流流量的MAC地址獲 知,而是為這種獲知定義特定的情況(例如,針對根據(jù)本發(fā)明非預留流量 可以有利地利用備用生成樹的情形)。例如,可以經(jīng)由注冊消息400提供 多播MAC地址FDB條目(MAC地址獲知)。(值得注意的是,本領域 的技術人員將會明白,這也可以充當GMRP、 MGRP、 IGMP注冊)。另 外,單播MAC地址獲知可以發(fā)生在注冊期間(即,針對預留流量,例如 AVB),或者發(fā)生在數(shù)據(jù)流幀500流量期間(即,針對預留或非預留流 量)。值得注意的是,在針對預留流量的單向單播流(沒有返回流量)的 情況下,為了避免持續(xù)地在整個所選擇的生成樹上洪泛流量,MAC地址 獲知應當發(fā)生在注冊消息400分發(fā)期間(即,這至少需要臨時的雙向通信 來選擇"活動端口",如下所述)。另外,出于同樣的原因(洪泛),以及因為不存在網(wǎng)橋可從中獲知適當?shù)霓D發(fā)的相關聯(lián)的注冊消息400,應當 避免本發(fā)明中的利用備用生成樹路徑的單向非預留流量。
本領域的技術人員將會明白,防止預留流量沿著生成樹的每一個LAN
的持續(xù)洪泛(即,不是只沿著端點102之間的生成樹路徑)是尤其有利
的。這種洪泛將會妨礙注冊監(jiān)視的高效操作,因為來自持續(xù)洪泛的過量
BW可能危及對網(wǎng)絡的不沿著該路徑因而不為入口網(wǎng)橋所知的LAN (108)的實際利用,從而導致正在進行的注冊流量的中斷以及阻礙這里 描述的路徑選擇技術的操作。因此,MAC地址獲知應當可用于這里描述 的備用路徑流量。
值得注意的是,在本發(fā)明的示例性實施例中,所有注冊流量(例如, 所有AVB流量)都利用備用生成樹路徑VID, g卩,包括利用入口網(wǎng)橋的 主生成樹的流量。這樣,任何將要利用主生成樹路徑(例如,從網(wǎng)橋A經(jīng) 由網(wǎng)橋B到網(wǎng)橋F)的注冊流量都將會利用(網(wǎng)橋A的第二VID的)"備 用生成樹路徑",該"備用生成樹路徑"是同一物理路徑(即,經(jīng)由網(wǎng)橋 B)。
一旦特定的生成樹路徑被選擇,入口網(wǎng)橋就例如利用所選擇的生成樹 的VID來沿著所選擇的生成樹路徑朝著目的地端點為數(shù)據(jù)流發(fā)送注冊消息 400。作為示例,網(wǎng)絡100的網(wǎng)橋104之間的帶寬注冊(預留)在以上并 入的屬于同一申請人的共同未決的美國專利申請No. 11/431,429中有詳細 描述。根據(jù)這里描述的技術,給定服務所需的BW的量是以動態(tài)方式(例 如"動態(tài)帶寬控制"技術)針對提供商網(wǎng)絡的每個端口確定的。某一服務 的具有UNI端口 111的每個網(wǎng)橋104 (例如,入口網(wǎng)橋A)響應于從客戶 102A接收到注冊請求(例如,利用RSVP,如上所述)而生成注冊,該注 冊利用注冊消息400 (例如,GARP、 MRP等等)攜帶該服務的最大BW 值。例如,根據(jù)所請求的預留和/或服務級別協(xié)定(SLA),該注冊在以上 圖4的相應屬性字段中攜帶每個端口方向的最大BW值。注冊400被在整 個網(wǎng)絡中的相鄰網(wǎng)橋之間向服務的其他UNI端口 111通告(分發(fā))(并且
值得注意的是,它不被進一步通告(分發(fā)))。值得注意的是,從兩個方 向上接收注冊的任何網(wǎng)橋端口 110 (即,已利用的生成樹路徑上的端口)是"活動端口",因而相應地為特定的服務數(shù)據(jù)流分配(預留)BW (例 如,與所請求的服務的RSVP "流規(guī)格"相同的流)。否則,正如本領域 的技術人員將會明白的,端口只是在一個方向上接收或通告注冊,而不是
在任何端點(102A禾D 102F)之間的直接路徑(活動生成樹LAN 106)上 接收或通告注冊。
沿著注冊消息400的路徑檢測到的任何故障都在轉發(fā)方向上被通知。 換言之,注冊消息400在確定故障的網(wǎng)橋處被標記以"故障"指示(例 如, 一個比特或標志),并且注冊在網(wǎng)橋間繼續(xù)。但是,本領域的技術人 員將會明白,因為本發(fā)明示例性地基于對成功的指示(例如,根據(jù)鏈路狀 態(tài)協(xié)議和注冊監(jiān)視)通過生成樹路徑發(fā)送注冊,因此拓撲變化或請求沖突 (即,在兩個入口網(wǎng)橋同時嘗試注冊可用BW的情況下)可能導致更多的 故障。值得注意的是,"連通性優(yōu)先級"(也在美國專利申請No. 11/431,429中描述)可用于確定哪個發(fā)生沖突的請求應當被準予注冊。例 如,網(wǎng)橋(例如,AVG網(wǎng)橋)可以具有與網(wǎng)絡的其他網(wǎng)橋時鐘相同步的內(nèi) 部時鐘。因此,將入口網(wǎng)橋處的注冊生成時間用于連通性優(yōu)先級可以幫助 確定哪個網(wǎng)橋首先請求資源,并且因此應當被準予所請求的資源。正如本 領域的技術人員將會明白的,根據(jù)本發(fā)明可以使用其他基于優(yōu)先級的方 案。另外,在所請求的資源不可用的情況下(例如,誤通告的能力、對資 源的其他未知利用,等等),所嘗試的注冊也可能失敗。當網(wǎng)橋接收到失 敗的注冊時,它以與成功注冊相同的方式傳播該注冊,但是該注冊具有失 敗指示,并且它不為相應的數(shù)據(jù)流分配資源。當網(wǎng)橋接收到與該接收方網(wǎng) 橋所發(fā)起的注冊相對應(在另一方向上)的失敗注冊時,該網(wǎng)橋撤消其注 冊。
當入口網(wǎng)橋(網(wǎng)橋A)從相應的出口網(wǎng)橋(網(wǎng)橋F)中的每一個接收 到返回的注冊消息400時,注冊成功。相反,如果任何其他出口網(wǎng)橋返回 失敗的注冊消息400,則注冊失敗,并且該注冊相應地被入口網(wǎng)橋撤消。
如果注冊成功,則相應地在所選擇的生成樹路徑上傳輸數(shù)據(jù)流(即, 基于特定FDB 220中的VID實例,如上所述)。例如,入口網(wǎng)橋(網(wǎng)橋 A)可以例如利用特定VID來告知/指示源端點102A使用哪個生成樹。這樣,源可以將VID包括在數(shù)據(jù)流幀500中的VID字段512中?;蛘?,入口 網(wǎng)橋可以不告知源端點利用哪個生成樹,而是可以檢測特定數(shù)據(jù)流并且自 己將流量置于所選擇的生成樹上。也就是說,入口網(wǎng)橋(A)可以利用 VLAN選擇協(xié)議(例如,像現(xiàn)在并入了 IEEE 802.1D-2004內(nèi)的IEEE 802.lv中那樣),來響應于目的地MAC地址等等向從源端點102A接收的 數(shù)據(jù)流應用適當?shù)腣ID (以及優(yōu)先級,等等),這是本領域的技術人員將 會明白的。通過將VID插入到數(shù)據(jù)流幀500的VID字段512中,本發(fā)明在 網(wǎng)絡的邊緣處保持了流標識,從而減輕了從網(wǎng)絡內(nèi)部進行此操作的要求 (例如,因此,每個網(wǎng)橋不必基于流執(zhí)行VID查找操作以確定利用哪個生 成樹)。
根據(jù)本發(fā)明,在完成應用服務數(shù)據(jù)流后,入口網(wǎng)橋可以撤消注冊,并 因而解除對資源(例如,BW)的預留,從而使得資源可用于未來的數(shù)據(jù) 流。在注冊失敗的情況下,入口網(wǎng)橋(網(wǎng)橋A)以與上述相同的方式選擇 下一最佳生成樹路徑(只不過不能以失敗的生成樹路徑作為選項)。例 如,假設有充分的資源的話,入口網(wǎng)橋A可以不使用網(wǎng)橋C的生成樹,而 是使用網(wǎng)橋D (或者E)的生成樹。入口網(wǎng)橋可以按這種方式繼續(xù)嘗試下 一最佳備用生成樹路徑,直到為數(shù)據(jù)流進行了成功注冊為止,或者直到不 存在具有用于注冊的充足資源的剩余備用生成樹路徑為止。在此情況下, 入口網(wǎng)橋可被配置為向源端點(102A)返回指示出這一點的差錯消息。
圖7是示出根據(jù)本發(fā)明用于針對多個生成樹選項來高效管理BW注冊 的過程的流程圖。過程700開始于步驟705,并且繼續(xù)到步驟710,在該 步驟中入口網(wǎng)橋(例如,網(wǎng)橋A)根據(jù)上述技術確定去往網(wǎng)絡的其他網(wǎng)橋 (例如,網(wǎng)橋B-F)的多條生成樹路徑。例如,在計算機網(wǎng)絡100內(nèi),每 個網(wǎng)橋被配置為入口網(wǎng)橋(A)所知曉的一個生成樹的根。在步驟715, 入口網(wǎng)橋例如通過存儲接收到的注冊并使用鏈路狀態(tài)協(xié)議來確定每條生成 樹路徑的已利用(已注冊)BW,如上所述。在步驟720中,入口網(wǎng)橋接 收為從源端點(例如,源102A)到目的地端點(例如,目的地102F)的 數(shù)據(jù)流發(fā)起B(yǎng)W注冊的請求。如上所述,發(fā)起注冊的請求可以是明確的請 求,或者例如是對從源發(fā)送的RSVP預留請求消息的檢測。作為響應,入口網(wǎng)橋在步驟725中選擇為該數(shù)據(jù)流使用哪條生成樹路徑。具體地,入口 網(wǎng)橋確定具有充足帶寬用于該數(shù)據(jù)流的最佳生成樹路徑(例如,最短), 并且在相等度量生成樹路徑選項的情況下,可以選擇具有最低網(wǎng)橋ID的 生成樹。
入口網(wǎng)橋朝著目的地102F (即,朝著出口網(wǎng)橋F)為數(shù)據(jù)流發(fā)送注冊 消息400。如上所述,沿著所選擇的路徑的每個網(wǎng)橋接收注冊,并且例如 可以響應于備用生成樹路徑的特定VID而獲知要使用的MAC地址和特定 端口。如果在步驟735中注冊不成功(即,返回被設置的失敗標志),則 在步驟740中注冊被撤消,并且入口網(wǎng)橋在步驟745中判定是否有滿足數(shù) 據(jù)流的QoS (例如,BW)約束的備用生成樹路徑可用。如果沒有,則過 程700在步驟780中結束。但是,如果在步驟745中確實存在備用生成樹 路徑,則入口網(wǎng)橋在步驟750中選擇該備用路徑,并且過程700返回到步 驟730,以沿著新選擇的路徑發(fā)送注冊消息400。
如果在步驟735中注冊成功(即,未返回被設置的失敗標志)(例 如,由于所選擇的第一個路徑注冊或備用路徑的后續(xù)注冊),在步驟755 中入口網(wǎng)橋則在所選擇的生成樹路徑上為數(shù)據(jù)流發(fā)送所接收的數(shù)據(jù)。值得 注意的是,沿著所選擇的路徑的每個其他網(wǎng)橋也相應地在所選擇的路徑上 發(fā)送所接收的數(shù)據(jù)。如上所述,入口網(wǎng)橋可以被源端點102A明確告知所 選擇的路徑(即,根據(jù)入口網(wǎng)橋最初的指示),或者入口網(wǎng)橋可以掃描數(shù) 據(jù)流量以確定數(shù)據(jù)流,并且將流量置于去往目的地(例如102F)的相應生 成樹路徑上。如果在步驟760中所選擇的生成樹不以入口網(wǎng)橋為根(即, 是備用生成樹,而不是主生成樹),那么入口網(wǎng)橋(以及網(wǎng)絡的后續(xù)網(wǎng) 橋)在步驟750中為數(shù)據(jù)流使用特殊轉發(fā),以便與傳統(tǒng)的轉發(fā)保持分離, 如上所述(例如,利用備用生成樹的VID比特指示)。(值得注意的是, 與上述替換示例中一樣,所有預留數(shù)據(jù)流都可以利用特殊轉發(fā),即,只使 用備用生成樹)。不論是使用主生成樹還是使用備用生成樹,數(shù)據(jù)都可以 繼續(xù)相應地流動,直到在步驟770中服務完成,此時入口網(wǎng)橋可以在步驟 775中撤消對服務的注冊,并且過程在步驟780中結束。
有利地,該新穎技術針對計算機網(wǎng)絡中的多個生成樹選項高效地管理
29BW注冊。通過監(jiān)視多條生成樹路徑的BW利用(注冊),該新穎技術允 許了入口網(wǎng)橋確定在發(fā)送數(shù)據(jù)流時要利用的最佳生成樹。具體地,通過允 許入口網(wǎng)橋基于BW利用情況選擇可用的多個生成樹中的任何一個,在以 入口網(wǎng)橋為根的主生成樹擁塞或由于其他原因不可用的情況下,本發(fā)明向
入口網(wǎng)橋提供了更多的為數(shù)據(jù)流注冊BW的機會。另外,該新穎技術的動 態(tài)性質減輕了對繁重的手工配置的需要,并且不需要主網(wǎng)絡BW分配設施。
雖然已經(jīng)示出和描述了針對計算機網(wǎng)絡中的多個生成樹選項高效管理
BW注冊的示例性實施例,但是應當明白,在本發(fā)明的精神和范圍內(nèi)可以 進行各種其他適應性改變和修改。例如,在這里利用例示IEEE網(wǎng)絡的網(wǎng) 橋或交換機來示出和描述了本發(fā)明,但是,本發(fā)明在其更廣泛的意義上并 不受此限制,而是實際上可以結合其他以太網(wǎng)或城域網(wǎng)(MAN)使用,這 是本領域的技術人員將會明白的。另外,雖然該新穎技術已被示例性地描 述為結合音頻-視頻橋接使用,但是利用預留的BW的任何數(shù)據(jù)流也可以利 用這里闡述的創(chuàng)造性技術。另外,雖然以上描述記載了利用各種注冊協(xié)議 (GARP、 MRP等等)來執(zhí)行該技術,但是本發(fā)明同樣可以利用任何適當 的注冊協(xié)議,這是本領域的技術人員將會明白的。
以上描述涉及本發(fā)明的特定實施例。但是,很明顯,可以對所描述的 實施例進行其他變化和修改,并獲得其優(yōu)點中的一些或全部。例如,明確 設想本發(fā)明的教導可以實現(xiàn)為軟件(包括具有在計算機上執(zhí)行的指令的計 算機可讀介質)、硬件、固件,或者其組合。另外,可以生成電磁信號, 以通過例如無線數(shù)據(jù)鏈路或數(shù)據(jù)網(wǎng)絡(例如因特網(wǎng))來傳送實現(xiàn)本發(fā)明的 技術方案的計算機可執(zhí)行指令。因此,本說明書應當被理解為僅僅是示例 性的,而不是在其他方面限制本發(fā)明的范圍。因此,所附權利要求的目的 是覆蓋落在本發(fā)明的真實精神和范圍內(nèi)的所有變化和修改。
權利要求
1. 一種在入口網(wǎng)橋處用于針對計算機網(wǎng)絡中的多個生成樹選項高效管理帶寬(BW)注冊的方法,該方法包括確定去往所述網(wǎng)絡的一個或多個其他網(wǎng)橋的多條生成樹路徑;確定所述生成樹路徑中的每一個上的已注冊BW;接收為從源端點到目的地端點的數(shù)據(jù)流發(fā)起B(yǎng)W注冊的請求;以及,作為響應基于所述生成樹路徑中的每一個上的已注冊BW來選擇所述多條生成樹路徑之一以用于所述數(shù)據(jù)流。
2. 如權利要求1所述的方法,其中確定多條生成樹路徑的步驟還包括確定以所述網(wǎng)絡的一個或多個其他網(wǎng)橋中的每一個為根的生成樹。
3. 如權利要求1所述的方法,其中選擇所述多條生成樹路徑之一的步驟還包括基于所述生成樹路徑的剩余可用帶寬以及所述生成樹路徑的度量來確 定利用哪條生成樹路徑。
4. 如權利要求3所述的方法,還包括確定兩條或更多條生成樹路徑對于所述數(shù)據(jù)流具有充足的剩余可用帶 寬,并且所述兩條或更多條生成樹路徑具有相等的度量;以及基于具有相等度量的所述兩條或更多條生成樹路徑的網(wǎng)橋根的網(wǎng)橋標 識符(ID),來選擇所述多條生成樹路徑之一以用于所述數(shù)據(jù)流。
5. 如權利要求3所述的方法,其中所述成本是所述生成樹路徑的長度。
6. 如權利要求1所述的方法,還包括沿著所選擇的生成樹路徑朝著所述目的地端點為所述數(shù)據(jù)流發(fā)送注冊 消息。
7. 如權利要求6所述的方法,還包括 確定所述注冊成功;以及在所選擇的生成樹路徑上傳輸所述數(shù)據(jù)流。
8. 如權利要求7所述的方法,還包括將用于所述數(shù)據(jù)流的所選擇的生成樹告知給所述源端點。
9. 如權利要求7所述的方法,還包括 檢測所述數(shù)據(jù)流;以及將所述數(shù)據(jù)流的流量置于所選擇的生成樹上。
10. 如權利要求6所述的方法,還包括 確定所述注冊不成功;并且,作為響應判定所述多條生成樹路徑的備用生成樹路徑是否可用于所述數(shù)據(jù)流; 并且,如果是,沿著所選擇的備用生成樹路徑朝著所述目的地端點為所述數(shù)據(jù)流發(fā)送 注冊消息。
11. 如權利要求IO所述的方法,還包括 確定沿著所選擇的備用生成樹路徑的注冊成功;以及 在所選擇的備用生成樹路徑上傳輸所述數(shù)據(jù)流。
12. 如權利要求10所述的方法,還包括執(zhí)行如權利要求10所述的方法的步驟,直到注冊成功或者確定不存 在更多備用生成樹為止。
13. 如權利要求1所述的方法,還包括利用虛擬局域網(wǎng)(VLAN)標識符(VID)來指示利用哪個所選擇的 生成樹路徑。
14. 如權利要求1所述的方法,還包括確定所選擇的生成樹路徑不以所述入口網(wǎng)橋為根;以及 利用與以所述入口網(wǎng)橋為根的生成樹路徑的傳統(tǒng)轉發(fā)保持分離的特殊 轉發(fā)。
15. —種用于針對計算機網(wǎng)絡中的多個生成樹選項高效管理帶寬(BW)注冊的網(wǎng)橋,該網(wǎng)橋包括兩個或更多個網(wǎng)絡端口;耦合到所述兩個或更多個端口并且適合于執(zhí)行軟件進程的處理器;以及適合于存儲可由所述處理器執(zhí)行的BW管理進程的存儲器,該BW管 理進程被配置為0確定去往所述網(wǎng)絡的一個或多個其他網(wǎng)橋的多條生成 樹路徑,ii)確定所述生成樹路徑中的每一個上的已注冊BW, iii)接收為從源端點到目的地端點的數(shù)據(jù)流發(fā)起B(yǎng)W注冊的請求,以及iv)作為響 應,基于所述生成樹路徑中的每一個上的已注冊BW來選擇所述多條生成 樹路徑之一 以用于所述數(shù)據(jù)流。
16. —種在入口網(wǎng)橋處用于針對計算機網(wǎng)絡中的多個生成樹選項高效管理帶寬(BW)注冊的裝置,該裝置包括用于確定去往所述網(wǎng)絡的一個或多個其他網(wǎng)橋的多條生成樹路徑的裝置;用于確定所述生成樹路徑中的每一個上的已注冊BW的裝置;用于接收為從源端點到目的地端點的數(shù)據(jù)流發(fā)起B(yǎng)W注冊的請求的裝 置;以及,作為響應用于基于所述生成樹路徑中的每一個上的已注冊BW來選擇所述多條 生成樹路徑之一 以用于所述數(shù)據(jù)流的裝置。
17. —種計算機可讀介質,包含用于針對計算機網(wǎng)絡中的多個生成樹 選項高效管理帶寬(BW)注冊的可執(zhí)行程序指令,該計算機可讀介質適 合于在所述網(wǎng)絡的入口網(wǎng)橋上運行,該可執(zhí)行程序指令包括用于執(zhí)行以下 步驟的程序指令確定去往所述網(wǎng)絡的一個或多個其他網(wǎng)橋的多條生成樹路徑; 確定所述生成樹路徑中的每一個上的已注冊BW;接收為從源端點到目的地端點的數(shù)據(jù)流發(fā)起B(yǎng)W注冊的請求;以及,作為響應基于所述生成樹路徑中的每一個上的已注冊BW來選擇所述多條生成 樹路徑之一 以用于所述數(shù)據(jù)流。
全文摘要
一種技術針對計算機網(wǎng)絡中的多個生成樹選項來高效管理帶寬(BW)注冊。根據(jù)該新穎技術,入口網(wǎng)橋確定去往網(wǎng)絡的其他網(wǎng)橋的多條生成樹路徑(即,以網(wǎng)絡的一個或多個網(wǎng)橋為根的一個或多個可用生成樹),并且確定這些路徑中的每一條上已利用(注冊)的BW。在例如從應用源端點接收到為去往目的地端點的數(shù)據(jù)流發(fā)起B(yǎng)W注冊的請求后,入口網(wǎng)橋選擇生成樹路徑之一來用于該數(shù)據(jù)流。從多條可用路徑中對生成樹路徑的選擇例如可以基于(i)路徑的可用帶寬,(ii)最短路徑,以及(iii)路徑的網(wǎng)橋根的最低網(wǎng)橋標識符ID。入口網(wǎng)橋沿著所選擇的生成樹路徑朝著目的地端點為數(shù)據(jù)流發(fā)送注冊消息。如果成功,則數(shù)據(jù)流在所選擇的路徑上傳輸。否則,入口網(wǎng)橋嘗試在下一最佳備用生成樹上注冊該數(shù)據(jù)流,直到注冊成功為止或者確定不存在更多的備用生成樹為止。
文檔編號H04L12/40GK101444045SQ200780016883
公開日2009年5月27日 申請日期2007年5月8日 優(yōu)先權日2006年5月10日
發(fā)明者諾曼·W·芬恩 申請人:思科技術公司