為erps環(huán)動態(tài)調(diào)整阻塞端口的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及網(wǎng)絡(luò)通信技術(shù),特別涉及為以太網(wǎng)環(huán)保護切換(ERPS-Ethernet RingProtect1n Switching)環(huán)動態(tài)調(diào)整阻塞端口的方法和裝置。
【背景技術(shù)】
[0002]為使本申請容易理解,下面簡單描述本申請涉及的技術(shù)術(shù)語:
[0003]ERPS環(huán):一個ERPS環(huán)物理上對應(yīng)一個環(huán)形連接的以太網(wǎng)拓撲,細分為主環(huán)和子環(huán)。
[0004]ERPS域:由彼此相接的多個ERPS環(huán)構(gòu)成,其中一個ERPS環(huán)為主環(huán),剩下的ERPS環(huán)為子環(huán)。
[0005]主(Owner)節(jié)點設(shè)備:每個ERPS環(huán)上只能有一個主節(jié)點設(shè)備。
[0006]鄰居(Neighbor)節(jié)點設(shè)備:主節(jié)點設(shè)備和鄰居節(jié)點設(shè)備之間的鏈路為環(huán)網(wǎng)保護鏈路(RPL:Ring Protect1n Link),在ERPS環(huán)正常時,RPL兩端端口的端口狀態(tài)為阻塞狀態(tài),稱為阻塞端口,用于阻塞數(shù)據(jù)報文傳輸,防止環(huán)路,其它節(jié)點設(shè)備上連接ERPS環(huán)的端口的端口狀態(tài)為轉(zhuǎn)發(fā)狀態(tài);當(dāng)ERPS環(huán)中有設(shè)備故障時,RPL兩端端口的端口狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài),用于傳輸數(shù)據(jù)報文。
[0007]普通(Normal)節(jié)點設(shè)備:ERPS環(huán)上除了上述的主節(jié)點設(shè)備、鄰居節(jié)點設(shè)備之外的節(jié)點設(shè)備。
[0008]互聯(lián)(Interconnect1n)節(jié)點設(shè)備:各個ERPS環(huán)相接的節(jié)點設(shè)備,屬于普通節(jié)點設(shè)備中的一種。
[0009]以上對本申請涉及的技術(shù)術(shù)語進行了簡單描述。
[0010]在ERPS域中,ERPS環(huán)的角色、ERPS環(huán)上各個節(jié)點設(shè)備的類型、以及ERPS環(huán)上的RPL在網(wǎng)絡(luò)部署時已被配置好,當(dāng)ERPS環(huán)上的RPL配置好,也就意味著ERPS環(huán)上的阻塞端口已被固定。比如圖1所示的ERPS域的結(jié)構(gòu),環(huán)I被配置為主環(huán)、環(huán)2被配置為子環(huán),設(shè)備A被配置為環(huán)I的主節(jié)點設(shè)備,設(shè)備B被配置為環(huán)I的鄰居節(jié)點設(shè)備,設(shè)備A和設(shè)備B之間的鏈路為環(huán)I的RPL,設(shè)備A上處于RPL的端口 A和設(shè)備B上處于RPL的端口 B為阻塞端口,設(shè)備E被配置為環(huán)2的主節(jié)點設(shè)備,設(shè)備F被配置為環(huán)2的鄰居節(jié)點設(shè)備,設(shè)備E和設(shè)備F之間的鏈路為環(huán)2的RPL,設(shè)備E上處于RPL的端口 E和設(shè)備F上處于RPL的端口 F為阻塞端口。
[0011 ] 當(dāng)EPRS環(huán)上設(shè)備的端口為阻塞端口時,該阻塞端口就會一直不變,除非EPRS環(huán)中有設(shè)備故障,而阻塞端口一直不變會導(dǎo)致以下問題:隨著ERPS環(huán)上流量的變化,ERPS環(huán)上阻塞端口所在鏈路的鏈路帶寬比較大,但阻塞流量傳輸,而ERPS環(huán)上鏈路帶寬小的鏈路進行流量傳輸,這可能出現(xiàn)流量擁塞甚至導(dǎo)致丟包。
【發(fā)明內(nèi)容】
[0012]本申請?zhí)峁┝藶镋RPS環(huán)動態(tài)調(diào)整阻塞端口的方法和裝置,以通過為ERPS環(huán)動態(tài)調(diào)整阻塞端口實現(xiàn)ERPS環(huán)上阻塞鏈路從鏈路可用帶寬值大的鏈路切換到鏈路可用帶寬值小的鏈路。
[0013]本申請?zhí)峁┑募夹g(shù)方案包括:
[0014]一種為以太網(wǎng)環(huán)保護切換ERPS環(huán)動態(tài)調(diào)整阻塞端口的方法,該方法應(yīng)用于ERPS環(huán)上任一實例內(nèi)的節(jié)點設(shè)備,包括:
[0015]通過本設(shè)備上處于ERPS環(huán)且屬于所述實例的第一端口接收第一類手工切換MS報文,比較第一類MS報文在節(jié)點標(biāo)識字段Node ID攜帶的MAC地址與本設(shè)備的橋MAC地址是否一致,
[0016]如果不一致,判斷第一類MS報文攜帶的鏈路可用帶寬值是否小于或等于本設(shè)備處于ERPS環(huán)且屬于所述實例的第二端口對應(yīng)于所述實例的鏈路可用帶寬值,如果否,通過第二端口轉(zhuǎn)發(fā)第一類MS報文;如果是,停止轉(zhuǎn)發(fā)第一類MS報文,通過第二端口重新發(fā)送一個第一類MS報文,重新發(fā)送的第一類MS報文攜帶第二端口對應(yīng)所述實例的鏈路可用帶寬值且重新發(fā)送的第一類MS報文的Node ID攜帶本設(shè)備的橋MAC地址;
[0017]如果一致,停止轉(zhuǎn)發(fā)接收的第一類MS報文,對第二端口執(zhí)行第一狀態(tài)切換,第一狀態(tài)切換為將端口狀態(tài)從轉(zhuǎn)發(fā)狀態(tài)切換為阻塞狀態(tài),并觸使ERPS環(huán)上其他節(jié)點設(shè)備對滿足條件的端口進行第二狀態(tài)切換,滿足條件的端口為:所述實例對應(yīng)的端口狀態(tài)為阻塞狀態(tài)的端口 ;第二狀態(tài)切換為將端口狀態(tài)從阻塞狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)。
[0018]一種為以太網(wǎng)環(huán)保護切換ERPS環(huán)動態(tài)調(diào)整阻塞端口的裝置,該裝置應(yīng)用于ERPS環(huán)上任一實例內(nèi)的節(jié)點設(shè)備,包括:
[0019]比較單元,用于通過本設(shè)備上處于ERPS環(huán)且屬于所述實例的第一端口接收第一類手工切換MS報文,比較第一類MS報文在節(jié)點標(biāo)識字段Node ID攜帶的MAC地址與本設(shè)備的橋MAC地址是否一致,
[0020]處理單元,用于在所述比較單元的比較結(jié)果為不一致時,判斷第一類MS報文攜帶的鏈路可用帶寬值是否小于或等于本設(shè)備處于ERPS環(huán)且屬于所述實例的第二端口對應(yīng)于所述實例的鏈路可用帶寬值,如果否,通過第二端口轉(zhuǎn)發(fā)第一類MS報文;如果是,停止轉(zhuǎn)發(fā)第一類MS報文,通過第二端口重新發(fā)送一個第一類MS報文,重新發(fā)送的第一類MS報文攜帶第二端口對應(yīng)所述實例的鏈路可用帶寬值且重新發(fā)送的第一類MS報文的Node ID攜帶本設(shè)備的橋MAC地址;以及,
[0021]用于在所述比較單元的比較結(jié)果為一致時,停止轉(zhuǎn)發(fā)接收的第一類MS報文,對第二端口執(zhí)行第一狀態(tài)切換,第一狀態(tài)切換為將端口狀態(tài)從轉(zhuǎn)發(fā)狀態(tài)切換為阻塞狀態(tài),并觸使ERPS環(huán)上其他節(jié)點設(shè)備對滿足條件的端口進行第二狀態(tài)切換,滿足條件的端口為:所述實例對應(yīng)的端口狀態(tài)為阻塞狀態(tài)的端口 ;第二狀態(tài)切換為將端口狀態(tài)從阻塞狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)。
[0022]由以上技術(shù)方案可以看出,本發(fā)明中,根據(jù)實際鏈路帶寬值選擇EPR環(huán)上鏈路可用帶寬值最小的鏈路為阻塞鏈路,打開之前固定的RPL或被阻塞的鏈路,從而使EPR環(huán)上的阻塞鏈路從鏈路可用帶寬值大的鏈路切換到鏈路可用帶寬值小的鏈路,達到充分利用鏈路可用帶寬的目的。
【附圖說明】
[0023]圖1示出了 ERPS域的結(jié)構(gòu)圖;
[0024]圖2為本發(fā)明提供的方法流程圖。
[0025]圖3示出了現(xiàn)有R-APS報文的結(jié)構(gòu)格式圖;
[0026]圖4為本發(fā)明實施例1提供的組網(wǎng)結(jié)構(gòu)圖
[0027]圖5為本發(fā)明實施例2提供的組網(wǎng)結(jié)構(gòu)圖;
[0028]圖6為本發(fā)明提供的裝置結(jié)構(gòu)圖。
【具體實施方式】
[0029]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。
[0030]本發(fā)明提供的方法中,即使EPRS環(huán)上的阻塞端口在初始因為預(yù)先配置RPL而被固定下來,其也會根據(jù)實際鏈路帶寬值選擇EPRS環(huán)上鏈路可用帶寬值最小的鏈路為阻塞鏈路,打開之前固定的RPL或被阻塞的鏈路,從而使EPR環(huán)上的阻塞鏈路從鏈路可用帶寬值大的鏈路切換到鏈路可用帶寬值小的鏈路,達到充分利用鏈路可用帶寬的目的。
[0031]下面通過圖2對本發(fā)明提供的方法進行描述:
[0032]參見圖2,圖2為本發(fā)明提供的方法流程圖。如圖2所示,該流程可應(yīng)用于ERPS環(huán)上任一實例內(nèi)的節(jié)點設(shè)備。在實際應(yīng)用中,一個ERPS環(huán)可僅支持一個實例,也可支持兩個以上實例。本發(fā)明中,不管ERPS環(huán)僅支持一個實例,還是支持兩個以上實例,對于每一個實例,其執(zhí)行原理都是類似的,本發(fā)明僅以第一實例為例描述。
[0033]還有,在圖2所示的流程中,這里的節(jié)點設(shè)備可以為主節(jié)點設(shè)備,也可為鄰居節(jié)點設(shè)備,還可以為普通節(jié)點設(shè)備,為方便描述,將該節(jié)點設(shè)備舉例描述為第一節(jié)點設(shè)備。
[0034]如圖2所示,圖2所示的流程可包括以下步驟:
[0035]步驟201,第一節(jié)點設(shè)備通過本設(shè)備上處于ERPS環(huán)且屬于第一實例的第一端口接收第一類手工切換(MS:Manual Switch)報文。
[0036]這里的第一類MS報文不同于現(xiàn)有EPRS環(huán)應(yīng)用的MS報文,下文進行描述。
[0037]本發(fā)明中,第一節(jié)點設(shè)備接收的第一類MS報文可為第一節(jié)點設(shè)備之前發(fā)送的第一類MS報文,也可為ERPS環(huán)上屬于第一實例的其他節(jié)點設(shè)備發(fā)送的第一類MS報文,下文進行了詳細描述,這里暫不贅述。
[0038]步驟202,第一節(jié)點設(shè)備比較第一類MS報文在節(jié)點標(biāo)識字段(Node ID)攜帶的源MAC地址與本設(shè)備的橋MAC地址是否一致,如果不一致,執(zhí)行步驟203,如果一致,執(zhí)行步驟204。
[0039]步驟203,第一節(jié)點設(shè)備判斷第一類MS報文攜帶的鏈路可用帶寬值是否小于或等于本設(shè)備處于ERPS環(huán)且屬于第一實例的第二端口對應(yīng)第一實例的鏈路可用帶寬值,如果否,通過第二端口轉(zhuǎn)發(fā)第一類MS報文;如果是,停止轉(zhuǎn)發(fā)接收的第一類MS報文,通過第二端口重新發(fā)送一個第一類MS報文,重新發(fā)送的第一類MS報文攜帶第二端口對應(yīng)第一實例的鏈路可用帶寬值且重新發(fā)送的第一類MS報文的Node ID攜帶本設(shè)備的橋MAC地址。
[0040]在步驟203中,第二端口對應(yīng)第一實例的鏈路可用帶寬值依賴于ERPS環(huán)支持的實例數(shù)量。
[0041]其中,當(dāng)ERPS環(huán)僅支持一個實例時,第一節(jié)點設(shè)備可通過以下步驟al確定第二端口對應(yīng)第一實例的鏈路可用帶寬值:
[0042]步驟al,將第二端口的鏈路可用帶寬值確定為第二端口對應(yīng)第一實例的鏈路可用帶寬值。
[0043]這里,第二端口的鏈路可用帶寬值具體為第二端口被配置的鏈路帶寬值與第二端口已使用的鏈路帶寬值之差。在實際使用中,每一端口都會存在一個帶寬計數(shù)器,該帶寬計數(shù)器用于顯示端口已使用的鏈路帶寬值,基于此,步驟al中第二端口已使用的鏈路帶寬值可從第二端口的帶寬計數(shù)器獲取。
[0044]當(dāng)ERPS環(huán)支持兩個以上實例時,第一節(jié)點設(shè)備可通過以下步驟bl至步驟b3確定第二端口對應(yīng)第一實例的鏈路可用帶寬值:
[0045]步驟bl,識別第一實例是否為預(yù)設(shè)實例列表中的第一個實例,如果是,執(zhí)行步驟b2,如果否,執(zhí)行步驟b3。
[0046]本步驟bl中,預(yù)設(shè)實例列表可按照設(shè)定方式對ERPS環(huán)支持的所有實例進行排列。這里的設(shè)定方式可為實例的編號從小至大;或者實例的編號從大至小。
[0047]步驟b2,將第二端口的鏈路可用帶寬值確定為第二端口對應(yīng)第一實例的鏈路可用帶寬值。
[0048]步驟b3,從預(yù)設(shè)實例列表中確定出排在第一實例之前的各個實例,從第二端口的鏈路可用帶寬值中減去該各個實例可占用的鏈路帶寬值,將最后得到的結(jié)果確定為第二端口對應(yīng)第一實例的鏈路可用帶寬值。這里,該各個實例可占用的鏈路帶寬值預(yù)先被配置。下述的實施例2具體描述了 ERPS環(huán)支持兩個以上實例時,第一節(jié)點設(shè)備如何確定第二端口對應(yīng)第一實例的鏈路可用帶寬值。
[0049]步驟b2、步驟b3中第二端口的鏈路可用帶寬值具體確定方式如步驟