專利名稱:一種以太環(huán)網(wǎng)故障切換中的地址更新方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信,具體涉及一種以太環(huán)網(wǎng)故障切換中的地址更新方法。
背景技術(shù):
以太環(huán)網(wǎng)保護技術(shù)中,多個節(jié)點相連構(gòu)成環(huán),環(huán)上有一段鏈路定義為環(huán) 保護鏈路。在環(huán)上各段鏈路狀態(tài)都沒有故障時,環(huán)保護鏈路被阻塞,節(jié)點之 間的業(yè)務(wù)通信數(shù)據(jù)不能通過環(huán)保護鏈路,防止了由于環(huán)路引起的"廣播風 暴",環(huán)上任何兩個節(jié)點之間只有一條可以通信的路徑。
當環(huán)上有鏈路出現(xiàn)故障時,如果該故障鏈路不是環(huán)保護鏈路,則環(huán)保護
鏈路被打開,并且通知環(huán)上節(jié)點更新前向地址表Forwarding Database (簡稱 FDB),節(jié)點之間的業(yè)務(wù)通信數(shù)據(jù)可以通過環(huán)保護鏈路,按照新的路徑傳輸 乂人而重新連通。
例如標準RFC3619,在以太環(huán)網(wǎng)上有一個節(jié)點定義為主節(jié)點MASTER, 其余節(jié)點定義為傳輸節(jié)點TRANSIT,主節(jié)點的兩個環(huán)上端口分別定義為主 端口P和從端口S,當環(huán)上各段鏈路狀態(tài)都沒有故障時,主節(jié)點阻塞了從端 口的業(yè)務(wù)通信數(shù)據(jù)。如圖l-l所示,節(jié)點S2為主節(jié)點MASTER,其余節(jié)點 為傳輸節(jié)點,節(jié)點S2的端口 2為主端口 P,端口 1為從端口 S,當環(huán)上鏈路 狀態(tài)都為完好時,主節(jié)點S2阻塞了從端口 1的業(yè)務(wù)通信數(shù)據(jù),防止了網(wǎng)絡(luò) 中出現(xiàn)環(huán)路,用戶l和用戶2之間只有惟一的通信路徑。當環(huán)上有鏈路出現(xiàn) 故障時,故障鏈路相鄰端口通知主節(jié)點環(huán)上出現(xiàn)了鏈路故障,主節(jié)點打開從 端口,更新FDB,并且通知其他節(jié)點也更新FDB,其他節(jié)點收到通知更新 FDB后,節(jié)點之間的業(yè)務(wù)通信按照新的路徑進行傳輸。如圖1-2所示,節(jié)點 S3和節(jié)點S4之間的鏈路發(fā)生故障,節(jié)點S3和S4通知主節(jié)點S2環(huán)上出現(xiàn) 了鏈路故障,主節(jié)點打開從端口,更新FDB,并且發(fā)送鏈路故障通知幀F(xiàn)lush-Down通知其他節(jié)點更新FDB,節(jié)點更新FDB后,按照新的路徑進行 傳輸,用戶1和用戶2之間的業(yè)務(wù)數(shù)據(jù)重新連通。
以太環(huán)網(wǎng)保護系統(tǒng)進行故障切換時,原有的路徑改變,節(jié)點的FDB中 有錯誤的MAC地址出端口信息,需要更新FDB,業(yè)務(wù)數(shù)據(jù)才能按照新的路 徑進行傳輸。在節(jié)點更新FDB之前,F(xiàn)DB中有錯誤表項,數(shù)據(jù)幀如果通過 節(jié)點FDB找到的出端口是錯誤的,則不能到達目的節(jié)點,數(shù)據(jù)幀丟失;在 節(jié)點更新FDB過程中,數(shù)據(jù)幀找不到目的MAC地址對應(yīng)的出端口 ,向各 個端口進行廣播,到達目的節(jié)點;當節(jié)點收到數(shù)據(jù)幀時,學(xué)習(xí)幀中的MAC 地址,建立新的FDB。通常節(jié)點更新FDB比4交耗時,而且在新的FDB建立 前數(shù)據(jù)幀廣播很容易造成鏈路擁塞使得業(yè)務(wù)數(shù)據(jù)通信中斷時間較長,以及節(jié) 點收到大量的無關(guān)幀導(dǎo)致整個系統(tǒng)在瞬間負擔過重。
發(fā)明內(nèi)容
本發(fā)明需要解決的技術(shù)問題是如何提供一種以太環(huán)網(wǎng)故障切換中的地 址更新方法,能夠減少以太環(huán)網(wǎng)保護系統(tǒng)切換時更新FDB所需的時間,從 而使得系統(tǒng)切換時收斂速度加快。
本發(fā)明的上述技術(shù)問題這樣解決,提供一種以太環(huán)網(wǎng)故障切換中的地址 更新方法,包括以下步驟
1.1) 根據(jù)故障切換事件通知各節(jié)點更新各自前向地址表FDB;
1.2) 收到所述通知的節(jié)點僅更新自身前向地址表FDB內(nèi)含有錯誤表項 的一個端口的表項。
這樣,當以太環(huán)網(wǎng)保護系統(tǒng)進行故障切換、節(jié)點更新FDB時,只更新 存在錯誤MAC地址的端口上的FDB表項,縮減FDB表項更新條數(shù),使得 更新節(jié)點的FDB所需時間減小,減少更新FDB導(dǎo)致的廣播幀,加快環(huán)網(wǎng)保 護系統(tǒng)的故障切換。
這樣,以太環(huán)網(wǎng)保護系統(tǒng)進行故障切換時,節(jié)點的FDB并不完全刪除, 一個節(jié)點只會有一個端口上的FDB表項需要更新,該端口是節(jié)點上可以通 過環(huán)上鏈路但是不包括環(huán)保護鏈路到達故障點的端口 。只更新節(jié)點上需要更新FDB端口的表項,而不與傳統(tǒng)方式一樣更新(包括先刪除再寫入)節(jié)點 上所有的FDB,可以加快環(huán)網(wǎng)保護故障收斂速度,減少鏈路切換時的廣播 幀數(shù)量。
按照本發(fā)明提供的更新方法,本發(fā)明可以適應(yīng)二種系統(tǒng),其中 (一)RFC3619的環(huán)網(wǎng)保護系統(tǒng)
所述步驟l.l)具體是首先主節(jié)點得到通知,打開從端口,再通知各傳 輸節(jié)點,這樣
所述主節(jié)點得到的通知是鏈路故障告警幀Link-down,所述通知各傳輸 節(jié)點的通知是鏈路故障通知幀F(xiàn)lush-down。
步驟1.2)中收到所述鏈路故障通知幀F(xiàn)lush-down的傳輸節(jié)點僅更新自 身前向地址表FDB內(nèi)收到鏈路故障通知幀的端口的環(huán)上對端端口的表項,該 環(huán)是發(fā)生所述故障切換事件的環(huán);收到鏈路故障告警幀Link-down的主節(jié)點 僅更新自身前向地址表FDB內(nèi)主端口的表項。
t)另外一種環(huán)網(wǎng)保護系統(tǒng)(這種系統(tǒng)還在制訂標準,目前還處于草案中, 可以稱為以太環(huán)保護系統(tǒng),即ERP , Ethernet Ring Rrotection):
所述步驟l.l)具體是檢測到鏈路故障的對應(yīng)該故障鏈路兩端的節(jié)點通 知其他節(jié)點,這樣
所述其他節(jié)點是環(huán)保護鏈路相鄰節(jié)點時,所述步驟1.2)還包括打開環(huán)保 護鏈路。
所述通知其他節(jié)點的通知是故障幀F(xiàn)ail。
步驟1.2)中收到所述故障幀F(xiàn)ail的其他節(jié)點根據(jù)故障幀F(xiàn)ail的入端口和 故障幀F(xiàn)ail中的特征信息判斷并僅更新自身前向地址表FDB內(nèi)該節(jié)點需要 更新端口的表項;檢測到鏈路故障的對應(yīng)該故障鏈路兩端的節(jié)點僅更新自身 前向地址表FDB內(nèi)故障鏈路對應(yīng)端口的表項。
本發(fā)明提供的 一 種以太環(huán)網(wǎng)故障切換中的地址更新方法,節(jié)點只需要更 新一個端口對應(yīng)的FDB表項,而不是更新所有的FDB表項,減少了耗時的 地址更新時間,同時環(huán)網(wǎng)在切換時產(chǎn)生的廣播幀數(shù)量也大為降低,環(huán)網(wǎng)收斂 速度和質(zhì)量都有較大提高。
下面結(jié)合附圖和具體實施例進一步對本發(fā)明進行詳細說明。
圖1-1為RFC3619環(huán)上鏈路沒有故障時的拓樸圖; 圖1-2為RFC3619環(huán)上鏈路出現(xiàn)故障時的拓樸圖; 圖2-1為以太環(huán)網(wǎng)保護系統(tǒng)在環(huán)上鏈路沒有故障時的各個節(jié)點的FDB示 意圖2-2為以太環(huán)網(wǎng)保護系統(tǒng)在環(huán)上鏈路出現(xiàn)故障時的各個節(jié)點的FDB示 意圖3為本發(fā)明具體實施流程圖4-l、 4-2、 4-3為本發(fā)明在RFC3619的環(huán)網(wǎng)保護技術(shù)中的具體應(yīng)用; 圖5-1、 5-2為本發(fā)明在另外一種環(huán)網(wǎng)保護技術(shù)中的具體應(yīng)用。
具體實施例方式
如圖2-l所示,環(huán)保護鏈路為節(jié)點S2和S4之間的鏈路,當環(huán)上鏈路都 為完好時,環(huán)保護鏈路被阻塞,用戶之間只有一條可以通信的路徑,各個節(jié) 點的FDB表記錄了目的MAC地址的出端口,當用戶之間通信時,可以通 過查找節(jié)點的FDB尋找數(shù)據(jù)幀的出端口,當找不到出端口時,向各個端口 廣播數(shù)據(jù)。當環(huán)上一段鏈路發(fā)生故障時,如圖2-2所示,當節(jié)點S1和S3之 間的鏈路發(fā)生故障時,通知環(huán)保護鏈路相鄰節(jié)點將環(huán)保護鏈路打開,各個節(jié) 點更新FDB,用戶之間按照新的傳輸路徑通信。節(jié)點在更新FDB時,并不 需要更新所有的FDB表項,只有當該節(jié)點的某個端口上的FDB表項存在錯 誤時,才需要更新該端口上的FDB表項。比較圖2-l和圖2-2的FDB表項, 節(jié)點Sl只有端口 2上的FDB表項需要更新,端口 1上的FDB表項不需要 更新;節(jié)點S2只有端口 2上的FDB表項需要更新,端口 1上的FDB表項 不需要更新;節(jié)點S3只有端口 1上的FDB表項需要更新,端口 2上的FDB 表項不需要更新;節(jié)點S4只有端口 1上的FDB表項需要更新,端口 2上的 FDB表項不需要更新。
如圖3所示,本發(fā)明方法主要包括以下步驟
7301) 根據(jù)故障切換事件通知各節(jié)點更新各自前向地址表FDB;
302) 收到所述通知的節(jié)點僅更新自身前向地址表FDB內(nèi)含有錯誤表項 的一個端口的表項。
進一步,以本發(fā)明在兩種具體系統(tǒng)中的應(yīng)用具體說明
(-)RFC3619的環(huán)網(wǎng)保護系統(tǒng)
如圖4-l所示,節(jié)點S3為主節(jié)點,其余節(jié)點為傳輸節(jié)點,節(jié)點S3的端 口2為主端口,端口 l為從端口,當環(huán)上鏈路狀態(tài)都為完好時,主節(jié)點S3 阻塞了從端口 1的業(yè)務(wù)通信數(shù)據(jù),防止了網(wǎng)絡(luò)中出現(xiàn)環(huán)路。當節(jié)點S1和S4 之間的鏈路發(fā)生故障時,如圖4-2所示,節(jié)點Sl和S4檢測到鏈路故障后, 發(fā)送鏈路故障告警幀Link-down給主節(jié)點,主節(jié)點收到Link-down幀后,打 開從端口。如圖4-3所示,接著主節(jié)點發(fā)送鏈路故障通知幀(Flush-down) 通知其他節(jié)點更新FDB,主節(jié)點自身也要更新FDB,根據(jù)本發(fā)明的方法, 主節(jié)點只需要更新主端口上的FDB表項,而不需要更新所有的FDB,其他 節(jié)點收到Flush-down后,根據(jù)本發(fā)明的方法,節(jié)點更新收到Flush-down幀 的環(huán)上對端端口的FDB表項,如節(jié)點Sl只需要更新端口 2對應(yīng)的FDB表 項,節(jié)點S2只需要更新端口 2對應(yīng)的FDB表項,節(jié)點S4只需要更新端口 1對應(yīng)的FDB表項,節(jié)點S5只需要更新端口 1的FDB表項,節(jié)點S6只需 要更新端口 1對應(yīng)的FDB表項。在切換期間,很多數(shù)據(jù)流量可以不受切換 影響正常通信,如用戶1發(fā)給用戶3的數(shù)據(jù)仍然可以在FDB中找到正確的 出端口,通過節(jié)點S1》S2々S3到達用戶3,不受環(huán)網(wǎng)切換的影響。
(二)另外一種環(huán)網(wǎng)保護系統(tǒng)(這種系統(tǒng)還在制訂標準,目前還處于草案中, 可以稱為以太環(huán)保護系統(tǒng),即ERP, Ethernet Ring Rrotection)
如圖5-l所示,節(jié)點S3和節(jié)點S6之間的鏈路為環(huán)保護鏈路,當環(huán)上鏈 路狀態(tài)都為完好時,環(huán)保護鏈路被阻塞,防止了網(wǎng)絡(luò)中出現(xiàn)環(huán)路。當節(jié)點 Sl和S4之間的鏈路發(fā)生故障時,如圖5-2所示,節(jié)點S1和S4檢測到鏈路 故障后,發(fā)送故障幀F(xiàn)ail給其他節(jié)點,節(jié)點S1和S4自身更新FDB。其他 節(jié)點收到故障幀F(xiàn)ail后,更新FDB,如果收到故障幀F(xiàn)ail的節(jié)點是環(huán)保護 鏈路相鄰節(jié)點,還要先把環(huán)保護鏈路打開使得數(shù)據(jù)可以從環(huán)保護鏈路通過。 根據(jù)本發(fā)明的方法,節(jié)點Sl和S4只需要更新故障鏈路對應(yīng)端口上的FDB表項,而不需要更新所有的FDB;其他節(jié)點收到故障幀F(xiàn)ail后,才艮據(jù)收到 Fail幀的端口和Fail幀中的特征信息判斷更新哪個端口的FDB表項,從而 只需要更新一個端口而不是所有端口的FDB表項。
綜上所述,本發(fā)明提供了一種以太環(huán)網(wǎng)故障切換時地址更新的方法。該 方法使得環(huán)網(wǎng)保護在故障切換時只需要更新一個端口對應(yīng)的地址表項,減少 地址更新操作,提高收斂數(shù)據(jù)和質(zhì)量,可以應(yīng)用于包括但不限制于上述兩種 環(huán)網(wǎng)系統(tǒng)在內(nèi)的多種環(huán)網(wǎng)保護4支術(shù)中。
權(quán)利要求
1、一種以太環(huán)網(wǎng)故障切換中的地址更新方法,其特征在于,包括以下步驟1. 1)根據(jù)故障切換事件通知各節(jié)點更新各自前向地址表;1. 2)收到所述通知的節(jié)點僅更新自身前向地址表內(nèi)含有錯誤表項的一個端口的表項。
2、 根據(jù)權(quán)利要求1所述更新方法,其特征在于,所述步驟l.l)具體 是首先主節(jié)點得到通知,打開從端口,再通知各傳輸節(jié)點。
3、 根據(jù)權(quán)利要求2所述更新方法,其特征在于,所述主節(jié)點得到的 通知是鏈路故障告警幀,所述通知各傳輸節(jié)點的通知是鏈路故障通知幀。
4、 根據(jù)權(quán)利要求3所述更新方法,其特征在于,步驟1.2)中收到所 述鏈路故障通知幀的傳輸節(jié)點僅更新自身前向地址表內(nèi)收到鏈路故障通知 幀的端口的環(huán)上對端端口的表項,該環(huán)是發(fā)生所述故障切換事件的環(huán)。
5、 根據(jù)權(quán)利要求3所述更新方法,其特征在于,步驟1.2)中收到鏈 路故障告警幀的主節(jié)點僅更新自身前向地址表內(nèi)主端口的表項。
6、 根據(jù)權(quán)利要求1所述更新方法,其特征在于,所述步驟l.l)具體 是檢測到鏈路故障的對應(yīng)該故障鏈路兩端的節(jié)點通知其他節(jié)點。
7、 根據(jù)權(quán)利要求6所述更新方法,其特征在于,所述其他節(jié)點是環(huán) 保護鏈路相鄰節(jié)點時,所述步驟1.2)還包括打開環(huán)保護鏈路。
8、 根據(jù)權(quán)利要求6所述更新方法,其特征在于,所述通知其他節(jié)點 的通知是故障幀。
9、 才艮據(jù)權(quán)利要求8所述更新方法,其特征在于,步驟1.2)中收到所 述故障幀的其他節(jié)點根據(jù)故障幀的入端口和故障幀中的特征信息判斷并僅 更新自身前向地址表內(nèi)該節(jié)點需要更新端口的表項。
10、 根據(jù)權(quán)利要求8所述更新方法,其特征在于,步驟1.2)中檢測到鏈路故障的對應(yīng)該故障鏈路兩端的節(jié)點僅更新自身前向地址表內(nèi)故障鏈路 對應(yīng)端口的表項。
全文摘要
本發(fā)明涉及一種以太環(huán)網(wǎng)故障切換中的地址更新方法,包括根據(jù)故障切換事件通知各節(jié)點更新各自前向地址表FDB;收到所述通知的節(jié)點僅更新自身前向地址表FDB內(nèi)含有錯誤表項的一個端口的表項。這種方法代替更新所有的FDB表項而僅更新一個端口對應(yīng)的FDB表項,減少了耗時的地址更新時間,同時環(huán)網(wǎng)在切換時產(chǎn)生的廣播幀數(shù)量也大為降低,環(huán)網(wǎng)收斂速度和質(zhì)量都有較大提高。
文檔編號H04L12/56GK101442465SQ20071019372
公開日2009年5月27日 申請日期2007年11月23日 優(yōu)先權(quán)日2007年11月23日
發(fā)明者通 冷, 吳少勇, 宏 邵 申請人:中興通訊股份有限公司