一種快速切換鄰居邏輯鏈路的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種快速切換鄰居邏輯鏈路的方法和設(shè)備,具體為:本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,所述第一邏輯鏈路接口為第一邏輯鏈路對應(yīng)的接口;本地SPB設(shè)備在第一邏輯鏈路上發(fā)送鄰居保持時間為0的第一Hello報文給對端SPB鄰居設(shè)備,以使對端SPB設(shè)備更新第一邏輯鏈路對應(yīng)的鄰居保持時間,并在鄰居保持時間超時后刪除第一邏輯鏈路上建立的鄰居關(guān)系;本地SPB設(shè)備在其他邏輯鏈路上發(fā)送鄰居保持時間不為0的第二Hello報文給對端SPB設(shè)備,以在所述其他邏輯鏈路中的一條邏輯鏈路上,重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述其他邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的除第一邏輯鏈路之外的邏輯鏈路。
【專利說明】一種快速切換鄰居邏輯鏈路的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信傳輸【技術(shù)領(lǐng)域】,特別是一種快速切換鄰居邏輯鏈路的方法和設(shè)備。
【背景技術(shù)】
[0002]中間系統(tǒng)到中間系統(tǒng)最短路徑橋(ISIS-SPB, Intermediate System toIntermediate System-Shortest Path Bridging)是最短路徑橋(SPB, Shortest PathBridging)網(wǎng)絡(luò)各個SPB節(jié)點間共享信息的途徑,在骨干鏈路上交互ISIS-SPB協(xié)議報文,根據(jù)比較嚴格的規(guī)則建立ISIS鄰居,進行鏈路狀態(tài)信息的同步。中間系統(tǒng)到中間系統(tǒng)(ISIS,Intermediate System to Intermediate System)同步之后的每個節(jié)點擁有整個網(wǎng)絡(luò)中所有節(jié)點信息和鏈路信息,形成公共信息數(shù)據(jù)庫,并隨時保證這些信息及時更新。每個節(jié)點基于這些信息,使用一致的算法來計算出相同的結(jié)果,計算的結(jié)果是每個節(jié)點的轉(zhuǎn)發(fā)表的集合,最后將計算結(jié)果寫入數(shù)據(jù)平面指導(dǎo)流量轉(zhuǎn)發(fā)。
[0003]兩個SPB設(shè)備間可能存在多個物理鏈路,而ISIS-SPB僅支持在每個多拓撲標識符MTID (Multi Topology Identifier)建立單個鄰居關(guān)系。因此在ISIS-SPB的鄰居關(guān)系建立時,如果兩個SPB設(shè)備間存在多個物理鏈路,則需要根據(jù)標準選擇一條物理鏈路建立鄰居關(guān)系。標準中要求該鏈路對應(yīng)較優(yōu)SPB設(shè)備(SPB設(shè)備的系統(tǒng)標識System ID較小)上電路標識Circuit ID較小的鏈路。假設(shè)對于圖1中鏈路I為符合標準定義的優(yōu)選鏈路,稱之為較優(yōu)鏈路,鏈路2則為次優(yōu)鏈路。
[0004]當(dāng)鄰居關(guān)系建立之后,鄰居SPB設(shè)備根據(jù)用戶配置的Hello報文發(fā)送時間間隔周期性的發(fā)送Hello報文,用來發(fā)現(xiàn)和維持鄰居關(guān)系。鄰居保持時間超時后將邏輯鏈路老化(鄰居保持時間等于用戶配置的Hello報文失效時間與Hello報文發(fā)送時間間隔的乘積)。
[0005]如果本地SPB設(shè)備由于用戶操作導(dǎo)致建立的鄰居關(guān)系失效,而且對端SPB鄰居設(shè)備無法感知,例如在本地SPB設(shè)備上對建立鄰居關(guān)系的鄰居邏輯鏈路的接口去使能ISIS-SPB,那么由于對端SPB鄰居設(shè)備無法感知該操作,因此只有等待鄰居保持時間超時后才能將該鄰居老化。由于較優(yōu)鏈路上的鄰居關(guān)系在此期間一直存在,故無法在次優(yōu)鏈路上建立鄰居關(guān)系。鄰居保持時間從幾秒至幾千秒不等,這將導(dǎo)致這段時間內(nèi)兩臺SPB設(shè)備間鏈路不能使用。
[0006]現(xiàn)有技術(shù)無法快速感知本地SPB設(shè)備去使能等操作引起的鄰居關(guān)系失效,只能依賴于鄰居保持時間超時后將邏輯鏈路老化。而該保持時間則是來自于本地SPB設(shè)備較早前發(fā)送的Hello報文。如果用戶配置的鄰居保持時間較長,將導(dǎo)致次優(yōu)鏈路在較長時間內(nèi)不能建立鄰居關(guān)系,進而影響拓撲的快速收斂。雖然用戶可以通過更改配置修改抑制時間,但是這將導(dǎo)致用戶操作復(fù)雜度提升,易用性降低。
【發(fā)明內(nèi)容】
[0007]有鑒于此,本發(fā)明提供了一種快速切換鄰居邏輯鏈路的方法和設(shè)備,本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件后,本地SPB設(shè)備在第一邏輯鏈路發(fā)送一個鄰居保持時間為O的第一 Hello報文來更新對端SPB鄰居設(shè)備的鄰居保持時間,從而使鄰居保持時間提前超時,刪除原有鄰居關(guān)系,在其他邏輯鏈路上重新建立鄰居關(guān)系,實現(xiàn)鄰居邏輯鏈路的快速切換與拓撲的快速收斂。本發(fā)明提出的技術(shù)方案是
[0008]一種快速切換鄰居邏輯鏈路的方法,應(yīng)用于本地最短路徑橋SPB設(shè)備與對端SPB設(shè)備之間,所述本地SPB設(shè)備與對端SPB設(shè)備之間在第一邏輯鏈路上建立有鄰居關(guān)系,該方法包括以下步驟:
[0009]本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,所述第一邏輯鏈路接口為第一邏輯鏈路對應(yīng)的接口;
[0010]本地SPB設(shè)備在第一邏輯鏈路上發(fā)送鄰居保持時間為O的第一 Hello報文給對端SPB設(shè)備,以使對端SPB設(shè)備更新第一邏輯鏈路對應(yīng)的鄰居保持時間,并在鄰居保持時間超時后刪除第一邏輯鏈路上建立的鄰居關(guān)系;
[0011]本地SPB設(shè)備在其他邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述其他邏輯鏈路中的一條邏輯鏈路上,重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述其他邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的除第一邏輯鏈路之外的邏輯鏈路。
[0012]上述方案中,所述第一邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的較優(yōu)鏈路時,該方法進一步包括:
[0013]本地SPB設(shè)備在次優(yōu)鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述次優(yōu)鏈路上重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述較優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID較小的鏈路,所述次優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID僅次于較優(yōu)鏈路的鏈路。
[0014]上述方案中,所述本地SPB設(shè)備與對端SPB設(shè)備之間存在兩條以上的物理鏈路,所述較優(yōu)鏈路和所述次優(yōu)鏈路建立在不同物理鏈路上。
[0015]上述方案中,所述本地SPB設(shè)備與對端SPB設(shè)備之間僅存在唯一一條物理鏈路時,該方法進一步包括:
[0016]所述第一邏輯鏈路與其他邏輯鏈路,先后建立在SPB設(shè)備間唯一物理鏈路上。
[0017]上述方案中,所述第一 Hello報文和第二 Hello報文均攜帶有對應(yīng)邏輯鏈路的Circuit ID0
[0018]一種本地最短路徑橋SPB設(shè)備,所述本地SPB設(shè)備與對端SPB設(shè)備之間在第一邏輯鏈路上建立有鄰居關(guān)系,該設(shè)備包括:
[0019]檢測模塊,用于本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,所述第一鄰居邏輯鏈路接口為第一鄰居邏輯鏈路對應(yīng)的接口 ;
[0020]收發(fā)模塊,用于本地SPB設(shè)備在第一邏輯鏈路上發(fā)送鄰居保持時間為O的第一Hello報文給對端SPB鄰居設(shè)備,以使對端SPB設(shè)備更新第一邏輯鏈路對應(yīng)的鄰居保持時間,并在鄰居保持時間超時后刪除第一邏輯鏈路上建立的鄰居關(guān)系;還用于本地SPB設(shè)備在其他邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述其他邏輯鏈路中的一條邏輯鏈路上,重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述其他邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的除第一邏輯鏈路之外的邏輯鏈路。
[0021]上述方案中,所述第一邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的較優(yōu)鏈路時,收發(fā)模塊進一步用于:
[0022]在次優(yōu)鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述次優(yōu)鏈路上重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述較優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID較小的鏈路,所述次優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID僅次于較優(yōu)鏈路的鏈路。
[0023]上述方案中,所述本地SPB設(shè)備與對端SPB設(shè)備之間存在兩條以上的物理鏈路,所述較優(yōu)鏈路和所述次優(yōu)鏈路建立在不同物理鏈路上。
[0024]上述方案中,所述本地SPB設(shè)備與對端SPB設(shè)備之間僅存在唯一一條物理鏈路時,所述第一邏輯鏈路與其他邏輯鏈路,先后建立在SPB設(shè)備間唯一物理鏈路上。
[0025]上述方案中,所述第一 Hello報文和第二 Hello報文均攜帶有對應(yīng)邏輯鏈路的Circuit ID。
[0026]綜上所述,本發(fā)明提出的技術(shù)方案能夠快速刪除失效的鄰居邏輯鏈路,從而實現(xiàn)次優(yōu)鏈路上鄰居邏輯鏈路的建立,進而實現(xiàn)拓撲的快速收斂,使得流量能夠通過次優(yōu)鏈路進行轉(zhuǎn)發(fā)。
【專利附圖】
【附圖說明】
[0027]圖1為第一邏輯鏈路為較優(yōu)鏈路組網(wǎng)結(jié)構(gòu)示意圖。
[0028]圖2為第一邏輯鏈路建立在SPB設(shè)備間的唯一物理鏈路上的組網(wǎng)結(jié)構(gòu)示意圖。
[0029]圖3為實施例一的流程圖。
[0030]圖4為實施例二的流程圖。
[0031]圖5為實現(xiàn)本發(fā)明方案的SPB設(shè)備的結(jié)構(gòu)示意圖
【具體實施方式】
[0032]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點表達的更加清楚明白,下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。
[0033]本發(fā)明的技術(shù)方案是:本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,所述第一邏輯鏈路接口為第一邏輯鏈路對應(yīng)的接口 ;
[0034]本地SPB設(shè)備在第一邏輯鏈路上發(fā)送鄰居保持時間為O的第一 Hello報文給對端SPB設(shè)備,以使對端SPB設(shè)備更新第一邏輯鏈路對應(yīng)的鄰居保持時間,并在鄰居保持時間超時后刪除第一邏輯鏈路上建立的鄰居關(guān)系;
[0035]本地SPB設(shè)備在其他邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述其他邏輯鏈路中的一條邏輯鏈路上,重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述其他邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的除第一邏輯鏈路之外的邏輯鏈路。
[0036]本【技術(shù)領(lǐng)域】中,由于本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,第一邏輯鏈路上建立的鄰居關(guān)系失效,本地SPB設(shè)備可以刪除第一邏輯鏈路上建立的鄰居關(guān)系,但是對端SPB鄰居設(shè)備無法獲得鄰居關(guān)系已經(jīng)失效的消息,只能依靠鄰居保持時間超時來結(jié)束第一邏輯鏈路上的鄰居關(guān)系。因此,本發(fā)明通過本地SPB設(shè)備在第一邏輯鏈路上發(fā)送鄰居保持時間為O的第一 Hello報文給對端SPB鄰居設(shè)備,以使對端SPB設(shè)備更新第一邏輯鏈路對應(yīng)的鄰居保持時間,并在鄰居保持時間超時后刪除第一邏輯鏈路上建立的鄰居關(guān)系,這樣避免了對端SPB鄰居設(shè)備等待原來的鄰居保持時間超時,實現(xiàn)了快速刪除失效的鄰居邏輯鏈路上建立的鄰居關(guān)系;然后本地SPB設(shè)備在其他邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述其他邏輯鏈路中的一條邏輯鏈路上,重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述其他邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的除第一邏輯鏈路之外的邏輯鏈路,從而實現(xiàn)新的鄰居關(guān)系的建立,進而實現(xiàn)拓撲的快速收斂,使得流量能夠通過次優(yōu)鏈路進行轉(zhuǎn)發(fā)。
[0037]當(dāng)鄰居關(guān)系建立之后,本地SPB設(shè)備根據(jù)用戶配置的Hello報文發(fā)送時間間隔周期性的發(fā)送Hello報文,用來發(fā)現(xiàn)和維持鄰居關(guān)系,所述Hello報文攜帶有多個字段,主要字段解釋如下:
[0038]ID Length =System ID的長度,當(dāng)該字段取O時,ID長度為6。
[0039]Hold Time:鄰居保持時間。若在該時間內(nèi)沒有接受到對端Hello報文,鄰居關(guān)系將關(guān)閉。
[0040]Local Circuit ID:本地電路標識,與鄰居邏輯鏈路--對應(yīng),建立鄰居關(guān)系的
兩個SPB設(shè)備,對端SPB設(shè)備僅處理其收到的來自本地SPB設(shè)備的攜帶有與建有鄰居關(guān)系的邏輯鏈路對應(yīng)的Circuit ID的Hello報文,如果對端SPB設(shè)備收到Circuit ID變大的Hello報文,將其丟棄。
[0041]為了更好地說明本發(fā) 明技術(shù)方案,下面用實施例分別從鄰居SPB設(shè)備間存在不同數(shù)量的物理鏈路來對其進行詳細描述。
[0042]方法實施例一
[0043]兩個鄰居SPB設(shè)備間存在兩條以上物理鏈路,每條物理鏈路都存在建立鄰居關(guān)系的可能。假設(shè)第一邏輯鏈路為較優(yōu)(邏輯)鏈路,建立在其中一條物理鏈路上,在該第一邏輯鏈路上建立SPB鄰居關(guān)系。另外還有至少一條次優(yōu)鏈路,建立在其他的物理鏈路上,本實施例中可以稱為第二邏輯鏈路。以圖1所示的第一邏輯鏈路為較優(yōu)鏈路的組網(wǎng)結(jié)構(gòu)示意圖為例進行說明。
[0044]SPBl和SPB2為鄰居設(shè)備,兩者之間存在兩條物理鏈路A和B,每條物理鏈路上都存在建立鄰居關(guān)系的可能,每個SPB設(shè)備分別有兩個接口 a和b,鏈路A通過接口 a連接,鏈路B通過接口 b連接。兩個SPB設(shè)備的接口 a和b均使能ISIS-SPB。由于ISIS-SPB僅支持在每個MTID建立單個鄰居關(guān)系,因此在ISIS-SPB的鄰居關(guān)系建立時,需要根據(jù)標準選擇一條邏輯鏈路建立鄰居關(guān)系。標準中要求該鏈路對應(yīng)較優(yōu)SPB設(shè)備(SPB設(shè)備的系統(tǒng)標識System ID較小)上電路標識Circuit ID較小的邏輯鏈路。假設(shè)鏈路A上建立的第一邏輯鏈路為符合標準定義的優(yōu)選鏈路,稱之為較優(yōu)鏈路,鏈路B上建立的第二邏輯鏈路則為次優(yōu)鏈路。
[0045]當(dāng)本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,導(dǎo)致本地SPB設(shè)備不再周期性的發(fā)送Hello報文給對端SPB鄰居設(shè)備,較優(yōu)鏈路上的鄰居關(guān)系失效,進而實現(xiàn)較優(yōu)鏈路向次優(yōu)鏈路的切換。本發(fā)明公開了一種快速收斂機制,可加速次優(yōu)鏈路上建立鄰居關(guān)系,使得流量能夠通過次優(yōu)鏈路進行轉(zhuǎn)發(fā)。[0046]圖3為本實施例的流程圖,以第一邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的較優(yōu)鏈路為例對本發(fā)明技術(shù)方案進行詳細說明,如圖3所示,本實施例包括以下步驟:
[0047]步驟301:用戶在SPBl設(shè)備的接口 a觸發(fā)鄰居關(guān)系失效事件。
[0048]本步驟中,SPBl與SPB2在第一邏輯鏈路(建立在鏈路A上)建立了鄰居關(guān)系,SPBl檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,此事件在實際應(yīng)用中可以是用戶在SPBl接口 a去使能ISIS-SPB,或者將SPBl接口 a由二層以太口切換到三層以太口等,上述事件發(fā)生后,SPBl與SPB2之間的鄰居關(guān)系失效,將會導(dǎo)致SPBl的接口 a不再周期性的發(fā)送Hello報文給SPB2,此時,鏈路A不再可能建立鄰居關(guān)系,新的鄰居關(guān)系將會在次優(yōu)鏈路上建立。
[0049]步驟302 =SPBl在第一邏輯鏈路上發(fā)送鄰居保持時間為O的第一 Hello報文給SPB2。
[0050]本步驟中,SPBl在第一邏輯鏈路上發(fā)送一個鄰居保持時間為O的第一 Hello報文給SPB2,所述Hello報文攜帶的電路標識Circuit ID為第一邏輯鏈路對應(yīng)的Circuit ID。
[0051]步驟303:SPB2更新自身鄰居保持時間。
[0052]本步驟中,SPB2接收到SPBl發(fā)送的第一 Hello報文,所述第一 Hello報文攜帶的鄰居保持時間為0,SPB2將自身保存的鄰居保持時間更新為接收到的第一 Hello報文攜帶的鄰居保持時間,即更新后的SPB2的鄰居保持時間為O。
[0053]步驟304:鄰居保持時間超時,SPB2刪除第一邏輯鏈路上建立的鄰居關(guān)系。
[0054]在步驟303中,SPB2中保存的鄰居保持時間已更新為0,因此SPB2中的鄰居保持時間會立即超時,此時,SPB2刪除第一邏輯鏈路上與SPBl建立的鄰居關(guān)系,SPBl與SPB2之間在第一邏輯鏈路上建立的鄰居關(guān)系結(jié)束。
[0055]步驟305 =SPBl查詢與SPB2之間存在作為次優(yōu)鏈路的第二邏輯鏈路。
[0056]在步驟304中,SPBl與SPB2在第一邏輯鏈路上建立的鄰居關(guān)系被刪除。本步驟中,SPBl查詢到其與SPB2之間還存在一條次優(yōu)鏈路,因為此時第一邏輯鏈路已經(jīng)不再可能成為鄰居邏輯鏈路,SPBl與SPB2之間的鄰居關(guān)系可以建立在次優(yōu)鏈路上。
[0057]步驟306 =SPBl在第二邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給SPB2。
[0058]本步驟中,SPBl在第二邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給SPB2,所述第二 Hello報文攜帶的Circuit ID為第二邏輯鏈路對應(yīng)的Circuit ID,所述第二 Hello報文攜帶的鄰居保持時間為用戶配置的鄰居保持時間,由于建立新的鄰居關(guān)系是為了進行鏈路狀態(tài)信息的同步,因此該鄰居保持時間不為零。
[0059]步驟307,SPB2在第二邏輯鏈路上建立鄰居關(guān)系。
[0060]本步驟中,SPB2接收到第二邏輯鏈路上SPBl發(fā)送來的第二 Hello報文,所述第二 Hello報文攜帶的Circuit ID為第二邏輯鏈路對應(yīng)的Circuit ID, SPB2在第二邏輯鏈路上創(chuàng)建與SPBl之間的鄰居關(guān)系,并開啟鄰居保持時間定時器,鄰居保持時間為所述第二Hello報文攜帶的鄰居保持時間。
[0061]應(yīng)用本發(fā)明方案,SPB設(shè)備能夠快速刪除已失效的鄰居關(guān)系,進而在次優(yōu)鏈路上快速建立新的鄰居關(guān)系,實現(xiàn)了從較優(yōu)鏈路向次優(yōu)鏈路的快速切換,使得流量能夠通過次優(yōu)鏈路進行轉(zhuǎn)發(fā)。[0062]方法實施例二
[0063]方法實施例一介紹了第一邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的較優(yōu)鏈路的情況,本實施例則以第一邏輯鏈路建立在SPB設(shè)備間唯一一條物理鏈路上為例進行說明。
[0064]相應(yīng)物理鏈路在鄰居關(guān)系失效后仍然可以建立鄰居關(guān)系,即兩個鄰居SPB設(shè)備間僅存在一條物理鏈路,鄰居SPB設(shè)備間的鄰居關(guān)系只能在這一條物理鏈路上建立,但可以先后在該物理鏈路上建立不同的邏輯鏈路。以圖2所示的第一邏輯鏈路建立在SPB設(shè)備間唯一一條物理鏈路上為例進行說明。
[0065]SPBl和SPB2為鄰居設(shè)備,兩者之間僅有一條物理鏈路C,物理鏈路C上建立鄰居關(guān)系,每個SPB設(shè)備僅有一個接口 C,物理鏈路C通過接口 c連接。兩個SPB設(shè)備的接口 c均使能ISIS-SPB,在該物理鏈路C上建立有第一邏輯鏈路,SPBl和SPB2在該第一邏輯鏈路上建立有SPB鄰居關(guān)系。
[0066]當(dāng)用戶在本地SPBl設(shè)備的接口 c執(zhí)行導(dǎo)致接口 c對應(yīng)的Circuit ID變大的操作時,本地SPBl設(shè)備發(fā)送給SPB2設(shè)備的Hello報文攜帶的Circuit ID就會變大,而SPB2設(shè)備收到所述Circuit ID變大的Hello報文時不會對其進行處理直接丟棄,這就意味著SPBl與SPB2之間建立的鄰居關(guān)系失效,為了盡快恢復(fù)正常通信則需要快速刪除原來建立的鄰居關(guān)系,在新的Circuit ID對應(yīng)的邏輯鏈路(稱為第二邏輯鏈路)上建立鄰居關(guān)系。本發(fā)明公開了一種快速收斂機制,可加速建立新的鄰居關(guān)系,使得流量能夠通過新的鄰居邏輯鏈路進行轉(zhuǎn)發(fā)。
[0067]圖4為本實施例的流程圖,以第一邏輯鏈路建立在SPB設(shè)備間唯一一條物理鏈路上為例對本發(fā)明技術(shù)方案進行詳細說明,如圖4所示,本實施例包括以下步驟:
[0068]步驟401:用戶在SPBl的接口 c觸發(fā)鄰居關(guān)系失效事件,使得接口 c對應(yīng)的Circuit ID 變大。
[0069]本步驟中,SPBl與SPB2在鏈路C上建立了鄰居關(guān)系,在SPBl的接口 c觸發(fā)鄰居關(guān)系失效事件,例如將SPBl接口 c從access 口切換為trunk 口,此操作導(dǎo)致接口 c對應(yīng)的Circuit ID變大,本地SPBl設(shè)備發(fā)送給SPB2設(shè)備的Hello報文攜帶的Circuit ID就會變大,而SPB2設(shè)備收到所述Circuit ID變大的Hello報文時不會對其進行處理直接丟棄,這就意味著SPBl與SPB2之間建立的鄰居關(guān)系失效,無法繼續(xù)進行正常通信。
[0070]步驟402 =SPBl在鏈路C上發(fā)送鄰居保持時間為O的第一 Hello報文給SPB2。[0071 ] 本步驟中,SPBl在鏈路C上發(fā)送一個鄰居保持時間為O的第一 Hello報文給SPB2,所述第一 Hello報文攜帶的電路標識Circuit ID為接口 c原來對應(yīng)的Circuit ID,即第一邏輯鏈路對應(yīng)的Circuit ID。
[0072]步驟403:SPB2更新自身鄰居保持時間。
[0073]本步驟中,SPB2接收到SPBl發(fā)送的第一 Hello報文,所述第一 Hello報文攜帶的鄰居保持時間為0,SPB2將自身保存的鄰居保持時間更新為接收到的Hello報文攜帶的鄰居保持時間,即更新后的SPB2的鄰居保持時間為O。
[0074]步驟404:鄰居保持時間超時,SPB2刪除第一邏輯鏈路上建立的鄰居關(guān)系。
[0075]在步驟403中,SPB2中保存的鄰居保持時間已更新為0,因此SPB2中的鄰居保持時間會立即超時,此時,SPB2刪除鏈路C (第一邏輯鏈路)上與SPBl建立的鄰居關(guān)系,SPBl與SPB2之間在第一邏輯鏈路上建立的鄰居關(guān)系結(jié)束。
[0076]步驟405 =SPBl在第二邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給SPB2。
[0077]本步驟中,SPBl在第二邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給SPB2,該Hel 1報文實際上依然是通過物理鏈路C發(fā)送至對端SPB2設(shè)備。所述第二 Hel 1報文攜帶的Circuit ID為接口 c對應(yīng)的新的Circuit ID,即對應(yīng)于第二邏輯鏈路的CircuitID,所述第二 Hello報文攜帶的鄰居保持時間為用戶配置的鄰居保持時間,由于建立新的鄰居關(guān)系是為了進行鏈路狀態(tài)信息的同步,因此該鄰居保持時間不為零。
[0078]步驟406:SPB2在第二邏輯鏈路上建立鄰居關(guān)系。
[0079]本步驟中,SPB2接收到鏈路C上SPBl發(fā)送來的第二 Hello報文,所述第二 Hello報文攜帶的Circuit ID為接口 c對應(yīng)的新的Circuit ID, SPB2在第二邏輯鏈路上創(chuàng)建與SPBl之間的鄰居關(guān)系,并開啟鄰居保持時間定時器,鄰居保持時間為所述Hello報文攜帶的鄰居保持時間。
[0080]應(yīng)用本實施例方案,當(dāng)需要在新的Circuit ID對應(yīng)的邏輯鏈路上建立鄰居關(guān)系時,可實現(xiàn)快速刪除同一條物理鏈路上已建立的鄰居關(guān)系,進而在新的Circuit ID對應(yīng)的鄰居邏輯鏈路上快速建立新的鄰居關(guān)系,使得流量能夠通過新的鄰居邏輯鏈路進行轉(zhuǎn)發(fā)。
[0081]針對上述方法,本發(fā)明還公開一種本地最短路徑橋SPB設(shè)備。本發(fā)明公開的設(shè)備如圖5所示,包括:
[0082]檢測模塊501,用于本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,所述第一邏輯鏈路接口為第一邏輯鏈路對應(yīng)的接口 ;
[0083]收發(fā)模塊502,用于本地SPB設(shè)備在第一邏輯鏈路上發(fā)送鄰居保持時間為O的第一 Hello報文給對端SPB鄰居設(shè)備,以使對端SPB設(shè)備更新第一邏輯鏈路對應(yīng)的鄰居保持時間,并在鄰居保持時間超時后刪除第一邏輯鏈路上建立的鄰居關(guān)系;還用于本地SPB設(shè)備在其他邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述其他邏輯鏈路中的一條邏輯鏈路上,重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述其他邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的除第一邏輯鏈路之外的邏輯鏈路;
[0084]所述第一邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的較優(yōu)鏈路時,進一步用于,在次優(yōu)鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述次優(yōu)鏈路上重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述較優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID較小的鏈路,所述次優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID僅次于較優(yōu)鏈路的鏈路,所述本地SPB設(shè)備與對端SPB設(shè)備之間存在兩條以上的物理鏈路,所述較優(yōu)鏈路和所述次優(yōu)鏈路建立在不同物理鏈路上;所述第一 Hello報文和第二 Hello報文均攜帶有對應(yīng)邏輯鏈路的Circuit ID。
[0085]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
【權(quán)利要求】
1.一種快速切換鄰居邏輯鏈路的方法,應(yīng)用于本地最短路徑橋SPB設(shè)備與對端SPB設(shè)備之間,所述本地SPB設(shè)備與對端SPB設(shè)備之間在第一邏輯鏈路上建立有鄰居關(guān)系,其特征在于,該方法包括: 本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,所述第一邏輯鏈路接口為第一邏輯鏈路對應(yīng)的接口; 本地SPB設(shè)備在第一邏輯鏈路上發(fā)送鄰居保持時間為O的第一 Hello報文給對端SPB設(shè)備,以使對端SPB設(shè)備更新第一邏輯鏈路對應(yīng)的鄰居保持時間,并在鄰居保持時間超時后刪除第一邏輯鏈路上建立的鄰居關(guān)系; 本地SPB設(shè)備在其他邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述其他邏輯鏈路中的一條邏輯鏈路上,重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述其他邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的除第一邏輯鏈路之外的邏輯鏈路。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的較優(yōu)鏈路時,該方法進一步包括: 本地SPB設(shè)備在次優(yōu)鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述次優(yōu)鏈路上重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述較優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID較小的鏈路,所述次優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID僅次于較優(yōu)鏈路的鏈路。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述本地SPB設(shè)備與對端SPB設(shè)備之間存在兩條以上的物理鏈路,.所述較優(yōu)鏈路和所述次優(yōu)鏈路建立在不同物理鏈路上。
4.根據(jù)權(quán)利要求1所述的方法,所述本地SPB設(shè)備與對端SPB設(shè)備之間僅存在唯一一條物理鏈路時,該方法進一步包括: 所述第一邏輯鏈路與其他邏輯鏈路,先后建立在SPB設(shè)備間唯一物理鏈路上。
5.根據(jù)權(quán)利要求1?3任一項所述的方法,其特征在于:所述第一Hello報文和第二Hello報文均攜帶有對應(yīng)邏輯鏈路的Circuit ID。
6.一種本地最短路徑橋SPB設(shè)備,所述本地SPB設(shè)備與對端SPB設(shè)備之間在第一邏輯鏈路上建立有鄰居關(guān)系,其特征在于,該設(shè)備包括: 檢測模塊,用于本地SPB設(shè)備檢測到自身的第一邏輯鏈路接口發(fā)生鄰居關(guān)系失效事件,所述第一鄰居邏輯鏈路接口為第一鄰居邏輯鏈路對應(yīng)的接口 ; 收發(fā)模塊,用于本地SPB設(shè)備在第一邏輯鏈路上發(fā)送鄰居保持時間為O的第一 Hello報文給對端SPB鄰居設(shè)備,以使對端SPB設(shè)備更新第一邏輯鏈路對應(yīng)的鄰居保持時間,并在鄰居保持時間超時后刪除第一邏輯鏈路上建立的鄰居關(guān)系;還用于本地SPB設(shè)備在其他邏輯鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述其他邏輯鏈路中的一條邏輯鏈路上,重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述其他邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的除第一邏輯鏈路之外的邏輯鏈路。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述第一邏輯鏈路為本地SPB設(shè)備與對端SPB設(shè)備之間的較優(yōu)鏈路時,收發(fā)模塊進一步用于: 在次優(yōu)鏈路上發(fā)送鄰居保持時間不為O的第二 Hello報文給對端SPB設(shè)備,以在所述次優(yōu)鏈路上重新建立與對端SPB設(shè)備之間的鄰居關(guān)系,其中,所述較優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID較小的鏈路,所述次優(yōu)鏈路對應(yīng)為系統(tǒng)標識System ID較小的SPB設(shè)備上電路標識Circuit ID僅次于較優(yōu)鏈路的鏈路。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述本地SPB設(shè)備與對端SPB設(shè)備之間存在兩條以上的物理鏈路,所述較優(yōu)鏈路和所述次優(yōu)鏈路建立在不同物理鏈路上。
9.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述本地SPB設(shè)備與對端SPB設(shè)備之間僅存在唯一一條物理鏈路時,所述第一邏輯鏈路與其他邏輯鏈路,先后建立在SPB設(shè)備間唯一物理鏈路上。
10.根據(jù)權(quán)利要求6?8任一項所述的設(shè)備,其特征在于:所述第一Hello報文和第二Hello報文均攜帶有對應(yīng)邏輯 鏈路的Circuit ID。
【文檔編號】H04L12/707GK103441928SQ201310372666
【公開日】2013年12月11日 申請日期:2013年8月23日 優(yōu)先權(quán)日:2013年8月23日
【發(fā)明者】楊裕斌, 張海生, 周萬 申請人:杭州華三通信技術(shù)有限公司