摘要:以太網在局域網中取得了巨大的成功,但是在城域網應用領域中仍需要解決網絡環路的相關問題。根據不同的以太網應用領域,文章分析了幾種環路檢測的解決方案,包括生成樹協議(STP)、以太網環路保護切換協議(ERPS)、環回檢測和成環點定位技術。其中,成環點定位技術新穎實用,非常適合各種以太網局域網和城域網,對于以太網的運行和維護都有很大的意義。目前,全球的標準組織均正在積極對以太網環路檢測技術進行標準化,隨著標準的不斷成熟,以太網的環路檢測技術將逐步降低以太網的環路風險,提高以太網的可靠性,便于網絡的管理。
關鍵詞:以太網;環路;檢測;可靠性
1 以太網和網絡環路
在城域網和局域網中廣泛采用的是以太網組網技術,網絡中90%以上的接人數量也都由以太網承載。以太網的突出優勢是可以封裝任何協議數據、易于使用、成本低、靈活性好、兼容性強、標準化成熟,對于用戶而言可以做到即插即用,網絡的管理和維護都非常簡單。然而,以太網本質上是一種局域網技術,對可靠性要求不高的微型局域網是非常適用的,但當網絡規模擴大時,以太網本身存在的一些局限性會給網絡帶來致命的故障,其中網絡環路就很容易導致以太網區域內的所有網絡的癱瘓。
根據以太網的原理,當以太網交換機節點收到一個廣播幀或未知單播幀時,會向其他所有端口泛洪該幀。在局域網中,以太網的這種轉發方式非常簡單實用,交換機節點通過泛洪的方式,很容易將廣播幀或未知單播幀轉發給目的主機。但是當網絡中有環路存在時,廣播幀會在環路中的各個交換機節點上依次進行泛洪和轉發,最終回到源交換機節點,而源交換機節點收到該廣播幀后,并不會丟棄,而是繼續按照廣播幀的轉發方式進行泛洪,因此廣播幀會永無休止地在環路的各個交換機節點上進行轉發,最終流量越來越大,耗盡帶寬。以太網交換機節點還會將廣播幀向環路之外的端口泛洪,發送給局域網中的主機,隨著泛洪流量的增大,主機將難以承受收到的泛洪流量,從而導致整個局域網及其主機癱瘓,造成嚴重的網絡故障,這種場景也稱為“網絡風暴”。
在無環路的網絡中,新連接的一條鏈路如果導致了環路,則稱這條鏈路為成環點。在局域網中,通常網絡中以太網交換機節點數量較少,網絡結構簡單,不易形成環路,即使新增加鏈路形成環路,也很容易定位出成環點,造成網絡故障范圍較小,維護難度不大。但是當網絡范圍擴大時,特別是在城域網中,通常有數十臺以太網交換機,承載著成千上萬的用戶,網絡拓撲非常復雜,一旦新增加鏈路形成環路,則很難定位到成環點,而且故障的影響范圍都是非常大的。因此隨著以太網應用范圍越來越大,各種以太網的環路探測技術應運而生。

2 基于STP的以太網環路檢測技術
生成樹協議(STP)是在IEEE802.1D標準中定義的一種提供路徑冗余和環路切換的技術,其主要目的是在任何以太網拓撲中。自動發現一個樹狀無環路的邏輯拓撲。其主要原理是:在網絡的各個以太網交換機節點上運行STP,首先所有節點的端口都為阻塞狀態,節點周期(默認為2s)通過網橋協議數據單元(BPDU)幀和其他節點之間協商,再比較節點的優先級從而選出根節點,其余的非根節點則根據路徑花費選擇一個通向根節點的最優端口(又稱為“根端口”);然后在每個網段選擇一個指派端口,將非指派端口設置為阻塞狀態,其他端口設置為轉發狀態;按照STP的算法,最終在以太網中建立一個樹狀的邏輯拓撲。當以太網中有環路存在時,由于STP阻塞了其中的非指派端口,數據幀則不能從阻塞端口通過,節點之間的數據幀傳輸路徑為樹狀拓撲,網絡中任何兩個以太網交換機節點之間只有唯一的數據幀傳輸路徑,因此不會形成所謂的“網絡風暴”。
此外,當網絡中鏈路發生故障時,STP還能檢測故障,并重新進行運算,建立新的樹狀邏輯拓撲,節點之間的數據幀能夠通過新的路徑進行傳輸,起到了鏈路保護的作用。
圖1為STP的環路檢測示意圖,在圖1(a)所示的存在環路的以太網中,通過STP的算法,阻塞冗余端口(如圖中節點3端口2),最終將網絡收斂為樹狀無環路的邏輯拓撲;當網絡中發生鏈路故障時,如圖1(b)中節點3和4之間的鏈路發生故障,STP則會重新運算出新的樹狀邏輯拓撲,打開原先阻塞的節點3端口2,提高了網絡的可靠性。
但是STP的算法比較復雜,而且收斂時間非常長,并隨著網絡的增加收斂時間越來越大。例如對于以太網交換機節點在5個左右的網絡,STP的收斂時間通常在30 s以上,雖然快速生成樹協議(RsTP)對STP進行了優化,但是收斂時間通常也要3s以上。當網絡規模擴大、可靠性要求增加后,STP變得非常復雜,而且收斂時間也變得很長。此外,STP的阻塞端口的選擇是基于路徑花費值,而在無環路的網絡中,當新增加一條鏈路導致環路時,該新加鏈路的路徑花費值可以和其他鏈路相同,也可以和它們不同。從路徑花費上并不能識別出成環點的位置,因而STP選擇的阻塞端口并不一定是成環點,STP無法實現成環點的定位。因此STP主要適用于對可靠性要求不高、節點數量比較少的以太網局域網絡。
3 基于ERPS的以太網環路檢測技術
以太網環路保護切換協議(ERPS)是在國際電信聯盟電信標準化部(ITU-T)G.8032標準中定義的一種以太網環路保護切換技術。其主要目的是對環路的以太網絡進行保護,主要原理是:在網絡正常時,阻塞一個端口防止環路,該端口稱為環保護鏈路(RPL)端口。在網絡出現故障時,打開RPL端口可以使得數據幀能夠通過,從而實現網絡的保護。ERPS最大的一個優點是保護切換時間小于50ms,滿足電信級的高可靠性要求,而且與環路中節點數量無關。此外,由于ERPS的網絡拓撲本身就是環路,存在冗余鏈路,ERPS通過阻塞RPL端口的方式,不僅僅在邏輯上將環路解除,防止了數據幀形成“網絡風暴”,而且還設置了備份鏈路。因此當網絡出現故障時,ERPS可以啟用阻塞的RPL端口對網絡進行保護。圖2為ERPS在網絡鏈路正常狀態和發生故障時的環路保護切換示意圖。在圖2(a)中,節點1為RPL節點,在網絡正常時阻塞RPL端口2,防止網絡出現環路;當網絡中出現鏈路故障時,如圖2(b)所示,節點3和4之間出現鏈路故障,故障鏈路相鄰節點向環上發送故障協議幀,RPL節點收到故障協議幀后則會打開RPL端口,數據幀能夠通過RPL端口傳輸,網絡重新連通。

ERPS本質上是一種環路保護切換技術,對于已知的以太網環路拓撲是非常適用的,而且能夠運用環路中的冗余路徑進行保護切換,提高網絡的可靠性。但是對于非環路拓撲,只能針對特定的、可能的成環點進行預先設置。當網絡沒有形成環路時,相當于EPRS的鏈路處于故障狀態,ERPS的RPL端口為轉發狀態,節點之間的數據幀能夠通過RPL端口進行正常傳輸;當網絡形成環路時,相當于ERPS的鏈路處于正常狀態,ERPS的RPL端口被阻塞,節點之間的數據幀無法通過RPL端口進行轉發,因此在邏輯上解除了環路。不會形成“網絡風暴”。但是在成環點不能預先獲知的情況下,ERPS也無法進行設置,難以進行保護。因此ERPS主要適用于用環路進行保護或者成環點能夠預先判斷的以太網絡。
4 基于環回檢測的以太網環路檢測技術
環回檢測也是一種應用比較廣泛的以太網環路檢測技術,其主要目的是發現以太網中的環路,并對環路進行隔離。它的主要原理是:在以太網節點周期的從端口發送一個帶有自身地址的檢測協議幀,節點在接收到檢測協議幀后,將協議幀中包含的地址和自身地址進行比較,如果兩者相同,則說明該節點接收到了自身發出的檢測協議幀,接收端口外存在環路,需要將端口阻塞;如果節點在N(例如N為3.5)倍發送周期內沒有收到帶有自身地址的檢測協議幀,則說明環路解除,并需要將阻塞端口打開,這個N倍發送周期稱為成環消失時間。圖3為環回檢測的環路檢測示意圖。在圖3(a)中,網絡中無環路,節點1收不到自身發出的檢測協議幀;在圖3(b)中,當網絡中出現環路時,接點1收到自身發出的檢測協議幀,將端口2阻塞,防止了環路。環回檢測的機制比較簡單,可靠性也很高,而且發現環路的時間非常快,通常如果1s發送一個檢測協議幀,那么發現環路的時間則會在2s以內,而且如果加快檢測協議幀的發送頻率,就能夠進一步地減少發現環路的時間。

當網絡中出現環路時,環回檢測能夠很好地發現環路并通過阻塞端口的方式將環路解除,但是只能提供網絡中存在環路的信息,而無法獲知具體的成環點位置。在規模較大的網絡中,僅僅獲知網絡出現環路是不夠的,只有確切得到成環點的位置,才能對網絡進行維護,徹底解除網絡隱患。因此環回檢測主要適用于規模比較小、易維護性要求相對不高的以太網絡。
5 基于成環點定位的以太網環路檢測技術
成環點定位技術是由中國通信標準化協會(CCSA)最新定義的一種新型以太網環路檢測及定位技術,其主要目的是發現以太網中的環路,并能快速定位到成環點的具體位置。成環點定位技術在環回檢測的原理上進行了進一步的擴展和創新,主要原理為:當節點檢測到端口的狀態由不通轉變為通時,會增大節點的成環消失時問,并且在成環消失時間到達后,進行一個隨機的延時,最后再打開阻塞端口。如果網絡由于新增鏈路而導致環路出現,則新增鏈路兩端節點會檢測到端口的狀態由不通到通的轉變,因此將節點的成環消失時間增大;在出現環路后,各個節點都能檢測到環路已將端口阻塞,從而使得網絡的環路解除;環路中多個端口被阻塞,各個節點都不能收到自身發出的環回檢測協議幀,接著成環消失時間小的節點先打開阻塞端口;由于成環點相鄰節點的成環消失時間最長,在其他節點都打開端口后,只有成環點相鄰節點仍然為阻塞狀態,并且能夠收到自身發出的環回檢測協議幀,因此仍然需要繼續保持端口為阻塞狀態,既解除了環路,又能定位到成環點位置。
在網絡中,當新增加一條鏈路導致兩個節點連通時,這兩個節點通過連通性檢測技術(例如端口物理狀態、操作、管理、維護(0AM)檢測等)能夠發現端口的狀態由不通轉變為通。運用該特性,當節點檢測到端口的狀態由不通轉變為通時,則會增大節點成環消失時間,例如會將節點成環消失時間增大到6.5倍發送周期,而其他節點的成環消失時間仍然保持為3.5倍發送周期。如果該新增鏈路導致了環路,即這條鏈路為成環點,則根據環回檢測原理,環路上的各個節點都能檢測到環路,并將端口阻塞。如圖4(a)所示,節點3和4之間新增加了一條鏈路從而導致環路,在形成環路后各個節點都能收到一身發出的環回檢測協議幀,因此將端口阻塞。其中節點3和4的成環消失時間增大為6.5倍發送周期,其他節點仍然保持為3.5倍發送周期。由于各個節點阻塞了端口,因此環路得到了解除,在環路解除后,各個節點都不能收到自身發出的檢測協議幀。由于非成環點相鄰節點的成環消失時間較小,在成環消失時間到達后,會首先打開阻塞端口,只有成環點相鄰兩個節點會繼續保持阻塞端口。在成環點相鄰兩個節點的成環消失時間到達后。由于兩者都會隨機延時一段時間后再打開端口,因此其中一個會先打開端口,這樣另外一個節點會繼續收到自己發出的檢測協議幀,從而保持端口為阻塞狀態。如圖4(a)所示,在各個節點阻塞端口后,各個節點都不能收到自身發出的環回檢測協議幀,在成環消失時間到達后,會打開阻塞端口;節點1和2的成環消失時間較小,他們會首先打開端口,待節點3和4的成環消失時間到達后,兩個節點會在隨機延時后再打開端口,由于兩個節點的隨機延時時間不一樣,延時時間短的節點會先打開端口,延時時間長的節點會繼續保持端口阻塞。如圖49(b)所示,最終只有節點4阻塞了端口,由于其他節點都打開了端口,節點4能夠重新收到自身發出的環回檢測協議幀,因此繼續保持端口為阻塞狀態。根據環路中的阻塞端口,很容易定位出成環點的位置,非常便于維護。
成環點定位的以太網環路檢測技術,同時設置非常簡單,針對的網絡拓撲也非常靈活,而且并不會隨著網絡節點數量增加而提高復雜度,為以太網提供了一種簡單高效的環路避免和成環點定位方法,非常適合各種以太網局域網和城域網,是一種創新性的以太網環路檢測技術。CCSA也正在對該技術進行標準化,為該技術的規模應用奠定了標準的基礎。
6 結束語
以太網在應用領域擴大的過程中遇到了網絡環路、易維護性等方面的局限性,STP、ERPS、環回檢測和成環點定位等技術針對以太網的各種應用領域提供了環路檢測的解決方案,根據網絡范圍、承載業務的可靠性、維護性要求等方面的不同可以選擇使用不同的技術。全球的標準組織也正在積極對以太網環路檢測技術進行標準化。隨著標準的不斷成熟,以太網的環路檢測技術將得到規模的應用,并且可以徹底解除以太網的環路風險。
