專利名稱:一種實(shí)現(xiàn)網(wǎng)絡(luò)網(wǎng)絡(luò)接口連接的同步和恢復(fù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能光網(wǎng)絡(luò)領(lǐng)域,更確切地說是涉及一種實(shí)現(xiàn)智能光網(wǎng)絡(luò)中網(wǎng)絡(luò)網(wǎng)絡(luò)接口(NNI,Network Network Interface)連接的同步和恢復(fù)方法。
背景技術(shù):
在智能光網(wǎng)絡(luò)中,控制平面控制數(shù)據(jù)平面中的連接,但是控制平面的失效不能影響數(shù)據(jù)平面業(yè)務(wù)的傳輸,而且控制平面從故障中恢復(fù)后,還需要將數(shù)據(jù)平面存在的連接進(jìn)行連接狀態(tài)的同步和恢復(fù),以對數(shù)據(jù)平面的連接繼續(xù)進(jìn)行控制。
現(xiàn)有的光互聯(lián)網(wǎng)絡(luò)論壇(OIF)、因特網(wǎng)工程任務(wù)組(IETF)有關(guān)智能光網(wǎng)絡(luò)的標(biāo)準(zhǔn)、草案給出了相關(guān)的技術(shù)方案,以下為具體的技術(shù)方案。
在OIF的用戶網(wǎng)絡(luò)接口(UNI,User Network Interface)1.0標(biāo)準(zhǔn)中給出了在UNI接口使用標(biāo)記分發(fā)協(xié)議(LDP)進(jìn)行連接失敗檢測和恢復(fù)的需求因?yàn)榭刂破矫娴氖〔荒苡绊憯?shù)據(jù)平面上數(shù)據(jù)的傳輸,所以需要采用一種機(jī)制來檢測信令通信的失敗,并在信令通信恢復(fù)后利用同步過程來保證用戶節(jié)點(diǎn)(UNI-C)和網(wǎng)絡(luò)邊緣節(jié)點(diǎn)(UNI-N)上連接狀態(tài)的一致性。UNI1.0針對這一需求給出了相關(guān)的解決方案,其解決方案即為在UNI-N上保存已建立成功的連接的配置和狀態(tài)等信息;通過LDP?;?LDP Keepalive)機(jī)制來檢測控制平面信令通信的失??;如果失敗發(fā)生,則將數(shù)據(jù)平面中正在建立的連接刪除,并保存已經(jīng)建立好的連接;如果控制平面的信令通信恢復(fù),則UNI-N不發(fā)起連接狀態(tài)的同步過程,而由UNI-C發(fā)起同步過程,其同步過程根據(jù)UNI-C的不同情況分為以下幾種a.控制平面的信令通信失敗期間,UNI-C和UNI-N都保存了連接狀態(tài)信息,則由UNI-C向UNI-N發(fā)送概要狀態(tài)查詢信息進(jìn)行同步;b.控制平面的信令通信失敗期間,UNI-C丟失了所有連接的信息,則UNI-C可以向UNI-N發(fā)送詳細(xì)狀態(tài)查詢消息進(jìn)行同步,也可以決定刪除數(shù)據(jù)平面中所有相關(guān)的連接。
只有在所有連接的同步均完成之后才可以建立新的連接。
OIF的NNI需求文檔(OIF2001.535.02)也提出了連接狀態(tài)的同步和恢復(fù)的需求,但是還沒有給出具體的實(shí)現(xiàn)方案。
IETF的相關(guān)文檔也提出了類似的需求,其中的draft-ietf-mpls-ldp-ft-02中提到了標(biāo)記交換路由器必須能夠通過容錯(cuò)(FT,fault tolerance)過程從本地的硬件或軟件故障中恢復(fù)。該文檔針對這一需求給出了具體的解決方案和時(shí)序圖,并擴(kuò)展了與LDP會話有關(guān)的消息。
在以上的幾種現(xiàn)有方案中,OIF提出的方案僅適合于智能光網(wǎng)絡(luò)的UNI接口,而智能光網(wǎng)絡(luò)內(nèi)部的接口為NNI接口,并不存在UNI-C和UNI-N之分,因此OIF所提出的方案不能在智能光網(wǎng)絡(luò)的NNI接口中使用,而且該方案不能解決多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)生故障的問題;IETF提出的方案中的FT是針對傳統(tǒng)的標(biāo)記交換路徑的,而智能光網(wǎng)絡(luò)是以物理時(shí)隙作為標(biāo)記的,因此IETF所提出的方案也不能在智能光網(wǎng)絡(luò)中使用;OIF2001.535.02中只提出了NNI接口連接狀態(tài)的同步和恢復(fù)的需求,并沒有給出具體的實(shí)現(xiàn)方案。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的是提供一種實(shí)現(xiàn)NNI接口連接的同步和恢復(fù)方法,以實(shí)現(xiàn)在智能光網(wǎng)絡(luò)的NNI接口中進(jìn)行連接的同步和恢復(fù)。
為達(dá)到以上目的,本發(fā)明的方案具體是這樣實(shí)現(xiàn)的一種實(shí)現(xiàn)網(wǎng)絡(luò)網(wǎng)絡(luò)接口連接的同步和恢復(fù)方法,適用于智能光網(wǎng)絡(luò)中,其特征在于,在每個(gè)連接成功建立后將該連接的相關(guān)信息保存在網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)中,將該連接的全部配置與狀態(tài)信息保存在網(wǎng)絡(luò)邊緣節(jié)點(diǎn)中,當(dāng)檢測到控制平面信令通信失敗時(shí),利用網(wǎng)絡(luò)節(jié)點(diǎn)所保存的連接信息完成連接的同步與恢復(fù),該同步與恢復(fù)過程進(jìn)一步包括以下步驟a.通過標(biāo)記分發(fā)協(xié)議(LDP)檢測控制平面上信令通信失敗的原因,如果是鏈路出現(xiàn)故障,進(jìn)入步驟b,如果是節(jié)點(diǎn)出現(xiàn)故障,則進(jìn)入步驟c;b.在鏈路出現(xiàn)故障后鏈路兩端的節(jié)點(diǎn)保留原有的連接信息,在鏈路恢復(fù)后鏈路兩端的節(jié)點(diǎn)分別向?qū)Χ斯?jié)點(diǎn)發(fā)起連接的同步和恢復(fù)過程,之后結(jié)束本流程;c.故障節(jié)點(diǎn)恢復(fù)后先進(jìn)行本節(jié)點(diǎn)的同步,然后分別建立該故障節(jié)點(diǎn)與對應(yīng)每條連接的相鄰節(jié)點(diǎn)間的同步,從相鄰節(jié)點(diǎn)恢復(fù)故障節(jié)點(diǎn)上每條連接的配置和狀態(tài)信息,再根據(jù)獲得的信息恢復(fù)或刪除該故障節(jié)點(diǎn)與每個(gè)相鄰節(jié)點(diǎn)間的連接。
已經(jīng)建立的連接的標(biāo)記交換路徑標(biāo)識、連接的上游節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識、連接的下游節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識、連接的上游標(biāo)記請求標(biāo)識和連接的下游標(biāo)記請求標(biāo)識作為連接的相關(guān)信息保存在網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)中。
所述步驟b中,鏈路兩端節(jié)點(diǎn)分別向?qū)Χ斯?jié)點(diǎn)發(fā)起的連接同步和恢復(fù)過程具體包括以下步驟b1.鏈路兩端的節(jié)點(diǎn)根據(jù)自身所保存的連接信息分別向?qū)Χ斯?jié)點(diǎn)發(fā)送概要狀態(tài)查詢消息;b2.如果所查詢的連接在對端節(jié)點(diǎn)存在,則向發(fā)端節(jié)點(diǎn)發(fā)送包含狀態(tài)碼為連接處于激活態(tài)(Connection Active)的概要狀態(tài)響應(yīng)消息,否則,發(fā)送包含狀態(tài)碼為連接不可用(Connection Unavailable)的概要狀態(tài)響應(yīng)消息;b3.發(fā)端節(jié)點(diǎn)收到的概要狀態(tài)響應(yīng)消息中包含的狀態(tài)碼如果是ConnectionActive,則在收到該消息后該發(fā)端節(jié)點(diǎn)恢復(fù)對應(yīng)的連接,如果是ConnectionUnavailable,則在收到該消息后該發(fā)端節(jié)點(diǎn)刪除對應(yīng)的連接。
所述步驟a檢測到的節(jié)點(diǎn)出現(xiàn)故障為單節(jié)點(diǎn)出現(xiàn)故障,且故障節(jié)點(diǎn)為網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)時(shí),所述步驟c進(jìn)一步包括以下步驟c11.該故障節(jié)點(diǎn)恢復(fù)后從自身數(shù)據(jù)庫中讀取故障前所保存的連接信息,并根據(jù)該連接信息與數(shù)據(jù)平面的連接進(jìn)行同步,刪除與數(shù)據(jù)平面上不存在的連接的相關(guān)信息;
c12.該故障節(jié)點(diǎn)發(fā)起LDP的會話建立過程,會話建立成功后根據(jù)本節(jié)點(diǎn)保存的連接信息建立連接控制塊與LDP會話的對應(yīng)關(guān)系;c13.該故障節(jié)點(diǎn)分別向每條連接對應(yīng)的上游和下游節(jié)點(diǎn)發(fā)送詳細(xì)狀態(tài)查詢消息,反饋回的詳細(xì)狀態(tài)響應(yīng)消息中如果包含的狀態(tài)碼為Connection Active,則根據(jù)消息中的信息恢復(fù)對應(yīng)的連接,如果包含的狀態(tài)碼為ConnectionUnavailable,則刪除對應(yīng)的連接。
所述的步驟c13進(jìn)一步包括故障節(jié)點(diǎn)在發(fā)送詳細(xì)狀態(tài)查詢消息的同時(shí)針對每條連接啟動(dòng)定時(shí)器,定時(shí)器超時(shí)且沒有收到反饋消息時(shí)則刪除對應(yīng)的連接。
所述步驟a檢測到的節(jié)點(diǎn)出現(xiàn)故障為單節(jié)點(diǎn)出現(xiàn)故障,且故障節(jié)點(diǎn)是網(wǎng)絡(luò)邊緣節(jié)點(diǎn)時(shí),該網(wǎng)絡(luò)邊緣節(jié)點(diǎn)恢復(fù)后直接從數(shù)據(jù)庫中恢復(fù)所有連接的全部信息。
所述步驟a檢測到的節(jié)點(diǎn)出現(xiàn)故障是多節(jié)點(diǎn)失敗,所述步驟c進(jìn)一步包括以下步驟c14.故障節(jié)點(diǎn)中的網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)分別進(jìn)行步驟c11到c12的本節(jié)點(diǎn)連接同步恢復(fù)過程,網(wǎng)絡(luò)邊緣節(jié)點(diǎn)恢復(fù)后直接從數(shù)據(jù)庫中恢復(fù)所有連接的全部信息;c15.故障節(jié)點(diǎn)中的網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)等到其相鄰節(jié)點(diǎn)恢復(fù)后,向其相鄰節(jié)點(diǎn)發(fā)送詳細(xì)狀態(tài)查詢消息,如果相鄰節(jié)點(diǎn)恢復(fù)后沒有連接的全部信息,則相鄰節(jié)點(diǎn)反饋狀態(tài)碼為連接被掛起(Connection Pending)的概要狀態(tài)響應(yīng)消息給該故障節(jié)點(diǎn),如果相鄰節(jié)點(diǎn)同步后恢復(fù)了連接的全部信息,則再向其相鄰節(jié)點(diǎn)發(fā)送狀態(tài)碼為Connection Active的詳細(xì)狀態(tài)響應(yīng)消息,如果相鄰節(jié)點(diǎn)同步后沒有恢復(fù)連接的全部信息,則向其相鄰節(jié)點(diǎn)發(fā)送狀態(tài)碼為Connection Unavailable的詳細(xì)狀態(tài)響應(yīng)消息,c16.故障節(jié)點(diǎn)如果接收到狀態(tài)碼為Connection Pending的概要狀態(tài)響應(yīng)消息,則保存對應(yīng)連接的相關(guān)信息,并等待該故障節(jié)點(diǎn)的相鄰節(jié)點(diǎn)恢復(fù)連接,如果相鄰節(jié)點(diǎn)恢復(fù)后反饋給故障節(jié)點(diǎn)的響應(yīng)消息的狀態(tài)碼為Connection Active,則故障節(jié)點(diǎn)恢復(fù)對應(yīng)的連接,如果狀態(tài)碼為Connection Unavailable,則故障節(jié)點(diǎn)刪除對應(yīng)的連接。
所述步驟c15進(jìn)一步包括每個(gè)故障節(jié)點(diǎn)針對每個(gè)連接設(shè)置定時(shí)器,定時(shí)器超時(shí)且故障節(jié)點(diǎn)沒有收到反饋消息,則刪除對應(yīng)的連接。
該方法還可進(jìn)一步包括,故障節(jié)點(diǎn)在恢復(fù)時(shí)從數(shù)據(jù)平面查詢獲得標(biāo)記信息。
本發(fā)明方法在UNI-N上保存連接的全部信息,在網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)中只保存連接的部分相關(guān)信息,節(jié)省了數(shù)據(jù)庫的存儲空間。本發(fā)明使用LDP進(jìn)行連接的同步和恢復(fù),當(dāng)控制平面從故障中恢復(fù)后,能夠?qū)?shù)據(jù)平面中仍然存在的連接繼續(xù)進(jìn)行控制,從而在后續(xù)過程中可以對連接進(jìn)行查詢和刪除,本發(fā)明還實(shí)現(xiàn)了對于多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)失敗這種情況下連接的同步和恢復(fù)。
圖1為本發(fā)明方法實(shí)現(xiàn)的流程圖;圖2為本發(fā)明實(shí)施例中多節(jié)點(diǎn)出現(xiàn)故障的示意圖。
具體實(shí)施例方式
下面結(jié)合附圖及具體實(shí)施例對本發(fā)明方法作進(jìn)一步詳細(xì)的說明。
本發(fā)明方法基于LDP協(xié)議建立,其具體實(shí)現(xiàn)步驟參見圖1。
將建立成功的所有連接的全部配置和狀態(tài)信息保存在網(wǎng)絡(luò)邊緣節(jié)點(diǎn)(UNI-N)中,而只將與網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)相關(guān)的連接信息保存到網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)中,以節(jié)省數(shù)據(jù)庫的存儲空間,該相關(guān)的連接信息包括標(biāo)記交換路徑標(biāo)識(LSP-ID)、連接的上游節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(NodeID)、連接的下游節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(NodeID)、連接的上游標(biāo)記請求標(biāo)識(Label Request ID)和連接的下游標(biāo)記請求標(biāo)識(Label Request ID)。
控制平面信令通信的失敗包括三種情況,一種是鏈路出現(xiàn)故障,一種是單節(jié)點(diǎn)出現(xiàn)故障,另一種是多節(jié)點(diǎn)出現(xiàn)故障。LDP通過Keepalive消息對控制平面進(jìn)行檢測,根據(jù)檢測到出現(xiàn)故障的情況采用以下不同的處理方法。
如果檢測到是鏈路出現(xiàn)故障,則采用鏈路出現(xiàn)故障的處理方案,以下為該處理方案的具體實(shí)現(xiàn)步驟
A.保留該鏈路兩端節(jié)點(diǎn)連接控制塊中所保存的與連接相關(guān)的信息。
B.如果LDP檢測到該鏈路恢復(fù),則該鏈路兩端的節(jié)點(diǎn)針對其所保存的連接信息分別向?qū)Χ斯?jié)點(diǎn)發(fā)送概要狀態(tài)查詢消息。
因?yàn)楣?jié)點(diǎn)中保存的信息沒有丟失,所以只需要發(fā)送概要狀態(tài)查詢消息查詢該連接在對端節(jié)點(diǎn)是否存在即可。
C.收到對端節(jié)點(diǎn)的概要狀態(tài)查詢消息后,如果所查詢的連接在本節(jié)點(diǎn)存在,則向?qū)Χ斯?jié)點(diǎn)發(fā)送包含狀態(tài)碼“連接處于激活態(tài)(Connection Active)”的概要狀態(tài)響應(yīng)消息,否則,向?qū)Χ斯?jié)點(diǎn)發(fā)送包含狀態(tài)碼“連接不可用(Connection Unavailable)”的概要狀態(tài)響應(yīng)消息。
D.節(jié)點(diǎn)收到的概要狀態(tài)響應(yīng)消息中包含的狀態(tài)碼如果是“ConnectionActive”,則在收到該消息后對應(yīng)的連接被恢復(fù),控制平面可以對該連接繼續(xù)進(jìn)行控制,如果是“Connection Unavailable”,則說明對應(yīng)連接的恢復(fù)失敗,本節(jié)點(diǎn)應(yīng)發(fā)起連接刪除來刪除數(shù)據(jù)平面中這個(gè)已經(jīng)失效的連接。
對于節(jié)點(diǎn)來說,可能只有單個(gè)節(jié)點(diǎn)出現(xiàn)故障,也可能會有多個(gè)節(jié)點(diǎn)同時(shí)出現(xiàn)故障,如果檢測到是單個(gè)節(jié)點(diǎn)出現(xiàn)故障,則采用單個(gè)節(jié)點(diǎn)出現(xiàn)故障的處理方案。而節(jié)點(diǎn)又可以分為網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)和UNI-N,由于其內(nèi)部存儲信息不同,所以同步和恢復(fù)連接的方法也不同。下面首先將單個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí)同步和恢復(fù)連接的方法作詳細(xì)說明。
A.如果LDP通過Keepalive消息檢測到某個(gè)故障節(jié)點(diǎn)恢復(fù),則進(jìn)一步檢測該故障節(jié)點(diǎn)是網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)還是UNI-N,如果該故障節(jié)點(diǎn)是UNI-N,則進(jìn)入下一步,如果是網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn),則進(jìn)入步驟E。
B.由于其內(nèi)部已經(jīng)保存了所有連接的全部配置和狀態(tài)信息,所以在該UNI-N恢復(fù)后從數(shù)據(jù)庫中恢復(fù)所有連接的全部信息。
C.故障節(jié)點(diǎn)首先進(jìn)行節(jié)點(diǎn)自身的同步,其同步的具體步驟是先從數(shù)據(jù)庫中讀取出故障前所保存的連接信息,然后與數(shù)據(jù)平面中的連接進(jìn)行同步,將故障節(jié)點(diǎn)中保存的與數(shù)據(jù)平面中已經(jīng)不存在的連接相關(guān)信息刪除。
D.該故障節(jié)點(diǎn)自身的同步完畢后,開始發(fā)起LDP的會話建立過程,會話建立成功后,根據(jù)該故障節(jié)點(diǎn)所保存的與連接對應(yīng)的相鄰節(jié)點(diǎn)的信息建立連接控制塊與LDP會話的對應(yīng)關(guān)系。相鄰節(jié)點(diǎn)包括上游節(jié)點(diǎn)和下游節(jié)點(diǎn)。
E.該故障節(jié)點(diǎn)針對每條連接分別向與該連接對應(yīng)的上游和下游節(jié)點(diǎn)發(fā)送詳細(xì)狀態(tài)查詢消息,并針對每條連接啟動(dòng)一個(gè)定時(shí)器,如果定時(shí)器超時(shí)后仍然沒有收到上游和下游節(jié)點(diǎn)反饋的響應(yīng)消息,則將對應(yīng)的連接刪除。
由于節(jié)點(diǎn)所保存的信息會因?yàn)楣?jié)點(diǎn)出現(xiàn)故障而部分或全部丟失,而對于網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)來說,其中只保存了一些必要的連接相關(guān)信息,無法自身進(jìn)行恢復(fù),因此需要向相鄰節(jié)點(diǎn)發(fā)送詳細(xì)狀態(tài)查詢消息進(jìn)行信息的查詢,以從相鄰節(jié)點(diǎn)恢復(fù)該節(jié)點(diǎn)的配置和狀態(tài)信息。
由于相鄰節(jié)點(diǎn)沒有失效,只是在故障期間與失效節(jié)點(diǎn)的通信中斷,所以相鄰節(jié)點(diǎn)在該故障節(jié)點(diǎn)恢復(fù)后執(zhí)行的是“鏈路出現(xiàn)故障”后的同步和恢復(fù)過程。上游和下游節(jié)點(diǎn)根據(jù)接收到的詳細(xì)狀態(tài)查詢消息對自身保存的信息進(jìn)行查詢,如果有該故障節(jié)點(diǎn)所需要的信息,則反饋包含狀態(tài)碼“ConnectionActive”的詳細(xì)狀態(tài)響應(yīng)消息,否則,反饋包含狀態(tài)碼“ConnectionUnavailable”的詳細(xì)狀態(tài)響應(yīng)消息。
F.該故障節(jié)點(diǎn)所接收到的上游和下游節(jié)點(diǎn)反饋的詳細(xì)狀態(tài)響應(yīng)消息中如果包含狀態(tài)碼“Connection Active”,則該故障節(jié)點(diǎn)可以從反饋消息中得到相關(guān)信息,因此該消息所對應(yīng)的連接能夠被恢復(fù),即控制平面可以對該連接繼續(xù)進(jìn)行控制,如果該詳細(xì)狀態(tài)響應(yīng)消息中包含狀態(tài)碼“ConnectionUnavailable”,則說明相鄰節(jié)點(diǎn)中沒有該故障節(jié)點(diǎn)所需要的信息,該消息對應(yīng)連接的恢復(fù)失敗,所以該故障節(jié)點(diǎn)發(fā)起連接刪除來刪除數(shù)據(jù)平面中這條已經(jīng)失效的連接。
執(zhí)行以上操作即可完成單個(gè)節(jié)點(diǎn)出現(xiàn)故障后連接的同步和恢復(fù)。下面對多個(gè)節(jié)點(diǎn)出現(xiàn)故障后同步和恢復(fù)連接的方法作詳細(xì)說明。
如果多個(gè)節(jié)點(diǎn)同時(shí)發(fā)生故障,每個(gè)故障節(jié)點(diǎn)恢復(fù)后獨(dú)立執(zhí)行“單節(jié)點(diǎn)失效后連接的同步和恢復(fù)”過程,即執(zhí)行步驟A至步驟F。但由于網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)沒有保存連接的全部信息,而其相鄰節(jié)點(diǎn)可能還沒有恢復(fù),所以需要做一些特殊處理如果相鄰節(jié)點(diǎn)沒有恢復(fù),則等到其恢復(fù)后再與其建立同步,如果恢復(fù)后的相鄰節(jié)點(diǎn)沒有連接的全部信息,則該相鄰節(jié)點(diǎn)先反饋包含狀態(tài)碼“連接被掛起(Connection Pending)”的概要狀態(tài)響應(yīng)消息給該網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn);如果某個(gè)故障節(jié)點(diǎn)恢復(fù)了該連接的全部信息,且檢測到該故障節(jié)點(diǎn)曾經(jīng)向其相鄰節(jié)點(diǎn)發(fā)送包含狀態(tài)碼“Connection Pending”的概要狀態(tài)響應(yīng)消息,則該故障節(jié)點(diǎn)再向該相鄰節(jié)點(diǎn)發(fā)送包含狀態(tài)碼“Connection Active”的詳細(xì)狀態(tài)響應(yīng)消息,以使其得到連接的全部信息,從而恢復(fù)連接,如果這個(gè)故障節(jié)點(diǎn)沒有恢復(fù)該連接的信息,且檢測到該故障節(jié)點(diǎn)曾經(jīng)向其相鄰節(jié)點(diǎn)發(fā)送包含狀態(tài)碼“Connection Pending”的概要狀態(tài)響應(yīng)消息,則該故障節(jié)點(diǎn)再向該相鄰節(jié)點(diǎn)發(fā)送包含狀態(tài)碼“Connection Unavailable”的詳細(xì)狀態(tài)響應(yīng)消息,以通知相鄰節(jié)點(diǎn)刪除該連接。
對于多個(gè)節(jié)點(diǎn)失敗的情況,同樣需要針對同步的連接設(shè)置定時(shí)器。以上所有步驟均應(yīng)在連接對應(yīng)的定時(shí)器所設(shè)定的時(shí)間內(nèi)完成,如果超時(shí),則刪除該連接。
下面以具體實(shí)施例對多節(jié)點(diǎn)同步與恢復(fù)的方法進(jìn)行舉例說明參見圖2,有節(jié)點(diǎn)A、B、C、D、E、F,依次為一條連接上的六個(gè)節(jié)點(diǎn),其中A為UNI-N,該節(jié)點(diǎn)保存了該連接的全部配置和狀態(tài)信息,而B、C、D、E、F均為網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn),只保存了該連接的部分信息。
假設(shè)B、C、D、E同時(shí)出現(xiàn)了故障,如果一段時(shí)間后C節(jié)點(diǎn)恢復(fù),則C節(jié)點(diǎn)首先會進(jìn)行本節(jié)點(diǎn)同步,但由于其相鄰節(jié)點(diǎn)B和D都沒有恢復(fù),所以沒有建立LDP會話,因此沒有啟動(dòng)節(jié)點(diǎn)間同步過程。又過了一段時(shí)間后,D節(jié)點(diǎn)恢復(fù),這時(shí)C和D之間建立了LDP會話并進(jìn)行節(jié)點(diǎn)間同步過程,互發(fā)詳細(xì)狀態(tài)查詢消息,但由于雙方都沒有該連接的全部信息,所以只能向?qū)Ψ桨l(fā)送包含狀態(tài)碼“Connection Pending”的概要狀態(tài)響應(yīng)消息,收到這個(gè)消息后,節(jié)點(diǎn)不會刪除該連接,但也沒有完全恢復(fù)成功。
如果過了一段時(shí)間后B節(jié)點(diǎn)恢復(fù)了,那么在B節(jié)點(diǎn)自身同步完成后,B-A、B-C之間將建立LDP會話,其中B-C之間的同步和恢復(fù)過程和結(jié)果與C-D相同。對于B-A,由于A節(jié)點(diǎn)保存了該連接的全部信息,所以B節(jié)點(diǎn)能夠通過B-A之間的同步和恢復(fù)過程獲得該連接的全部信息,并成功恢復(fù)該連接。B節(jié)點(diǎn)在恢復(fù)后發(fā)現(xiàn)以前曾向C節(jié)點(diǎn)發(fā)送過包含狀態(tài)碼“ConnectionPending”的概要狀態(tài)響應(yīng)消息,則向C節(jié)點(diǎn)發(fā)送包含狀態(tài)碼“ConnectionActive”的詳細(xì)狀態(tài)響應(yīng)消息,C節(jié)點(diǎn)收到該消息后即可獲得該連接的全部信息,其所對應(yīng)的連接也就成功恢復(fù)。同樣,D節(jié)點(diǎn)也作如是處理,這樣經(jīng)過一點(diǎn)時(shí)間,總能使全部出現(xiàn)故障的節(jié)點(diǎn)都成功恢復(fù)。
在多個(gè)節(jié)點(diǎn)出現(xiàn)故障的情況下,節(jié)點(diǎn)的標(biāo)記信息需要從數(shù)據(jù)平面查詢得到。因?yàn)槊總€(gè)節(jié)點(diǎn)只在內(nèi)存中保存其自身的出接口和入接口標(biāo)記信息,如果有多個(gè)節(jié)點(diǎn)出現(xiàn)故障,則可能無法從相鄰節(jié)點(diǎn)獲取標(biāo)記信息,而從數(shù)據(jù)平面可以快速、直接地查詢到該信息。比如上例中,A節(jié)點(diǎn)只包含了其出接口標(biāo)記信息,該標(biāo)記信息同時(shí)也是B節(jié)點(diǎn)的入接口標(biāo)記信息,B節(jié)點(diǎn)可以從A節(jié)點(diǎn)中獲取入接口標(biāo)記信息,但是B節(jié)點(diǎn)的出接口標(biāo)記信息與C節(jié)點(diǎn)的出接口和入接口標(biāo)記信息都無法從相鄰節(jié)點(diǎn)獲得,所以規(guī)定節(jié)點(diǎn)的標(biāo)記信息從數(shù)據(jù)平面查詢。
需要注意的是,如果作為UNI-N的A節(jié)點(diǎn)也失效了,那么該節(jié)點(diǎn)恢復(fù)后首先從數(shù)據(jù)庫中恢復(fù)所有連接的全部信息,這樣就仍然可以通過UNI-N來恢復(fù)其他節(jié)點(diǎn)。
采用本發(fā)明方法實(shí)現(xiàn)節(jié)點(diǎn)連接的同步和恢復(fù),同時(shí)節(jié)省了數(shù)據(jù)庫的存儲空間。當(dāng)控制平面從故障中恢復(fù)后,能夠?qū)?shù)據(jù)平面中仍然存在的連接繼續(xù)進(jìn)行控制,從而在后續(xù)過程中可以對連接進(jìn)行查詢和刪除,本發(fā)明還實(shí)現(xiàn)了對于多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)失敗這種情況下連接的同步和恢復(fù)。
權(quán)利要求
1.一種實(shí)現(xiàn)網(wǎng)絡(luò)網(wǎng)絡(luò)接口連接的同步和恢復(fù)方法,適用于智能光網(wǎng)絡(luò)中,其特征在于,在每個(gè)連接成功建立后將該連接的相關(guān)信息保存在網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)中,將該連接的全部配置與狀態(tài)信息保存在網(wǎng)絡(luò)邊緣節(jié)點(diǎn)中,當(dāng)檢測到控制平面信令通信失敗時(shí),利用網(wǎng)絡(luò)節(jié)點(diǎn)所保存的連接信息完成連接的同步與恢復(fù),該同步與恢復(fù)過程進(jìn)一步包括以下步驟a.通過標(biāo)記分發(fā)協(xié)議(LDP)檢測控制平面上信令通信失敗的原因,如果是鏈路出現(xiàn)故障,進(jìn)入步驟b,如果是節(jié)點(diǎn)出現(xiàn)故障,則進(jìn)入步驟c;b.在鏈路出現(xiàn)故障后鏈路兩端的節(jié)點(diǎn)保留原有的連接信息,在鏈路恢復(fù)后鏈路兩端的節(jié)點(diǎn)分別向?qū)Χ斯?jié)點(diǎn)發(fā)起連接的同步和恢復(fù)過程,之后結(jié)束本流程;c.故障節(jié)點(diǎn)恢復(fù)后先進(jìn)行本節(jié)點(diǎn)的同步,然后分別建立該故障節(jié)點(diǎn)與對應(yīng)每條連接的相鄰節(jié)點(diǎn)間的同步,從相鄰節(jié)點(diǎn)恢復(fù)故障節(jié)點(diǎn)上每條連接的配置和狀態(tài)信息,再根據(jù)獲得的信息恢復(fù)或刪除該故障節(jié)點(diǎn)與每個(gè)相鄰節(jié)點(diǎn)間的連接。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,已經(jīng)建立的連接的標(biāo)記交換路徑標(biāo)識、連接的上游節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識、連接的下游節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識、連接的上游標(biāo)記請求標(biāo)識和連接的下游標(biāo)記請求標(biāo)識作為連接的相關(guān)信息保存在網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)中。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟b中,鏈路兩端節(jié)點(diǎn)分別向?qū)Χ斯?jié)點(diǎn)發(fā)起的連接同步和恢復(fù)過程具體包括以下步驟b1.鏈路兩端的節(jié)點(diǎn)根據(jù)自身所保存的連接信息分別向?qū)Χ斯?jié)點(diǎn)發(fā)送概要狀態(tài)查詢消息;b2.如果所查詢的連接在對端節(jié)點(diǎn)存在,則向發(fā)端節(jié)點(diǎn)發(fā)送包含狀態(tài)碼為連接處于激活態(tài)(Connection Active)的概要狀態(tài)響應(yīng)消息,否則,發(fā)送包含狀態(tài)碼為連接不可用(Connection Unavailable)的概要狀態(tài)響應(yīng)消息;b3.發(fā)端節(jié)點(diǎn)收到的概要狀態(tài)響應(yīng)消息中包含的狀態(tài)碼如果是ConnectionActive,則在收到該消息后該發(fā)端節(jié)點(diǎn)恢復(fù)對應(yīng)的連接,如果是ConnectionUnavailable,則在收到該消息后該發(fā)端節(jié)點(diǎn)刪除對應(yīng)的連接。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟a檢測到的節(jié)點(diǎn)出現(xiàn)故障為單節(jié)點(diǎn)出現(xiàn)故障,且故障節(jié)點(diǎn)為網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)時(shí),所述步驟c進(jìn)一步包括以下步驟c11.該故障節(jié)點(diǎn)恢復(fù)后從自身數(shù)據(jù)庫中讀取故障前所保存的連接信息,并根據(jù)該連接信息與數(shù)據(jù)平面的連接進(jìn)行同步,刪除與數(shù)據(jù)平面上不存在的連接的相關(guān)信息;c12.該故障節(jié)點(diǎn)發(fā)起LDP的會話建立過程,會話建立成功后根據(jù)本節(jié)點(diǎn)保存的連接信息建立連接控制塊與LDP會話的對應(yīng)關(guān)系;c13.該故障節(jié)點(diǎn)分別向每條連接對應(yīng)的上游和下游節(jié)點(diǎn)發(fā)送詳細(xì)狀態(tài)查詢消息,反饋回的詳細(xì)狀態(tài)響應(yīng)消息中如果包含的狀態(tài)碼為Connection Active,則根據(jù)消息中的信息恢復(fù)對應(yīng)的連接,如果包含的狀態(tài)碼為ConnectionUnavailable,則刪除對應(yīng)的連接。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于所述的步驟c13進(jìn)一步包括故障節(jié)點(diǎn)在發(fā)送詳細(xì)狀態(tài)查詢消息的同時(shí)針對每條連接啟動(dòng)定時(shí)器,定時(shí)器超時(shí)且沒有收到反饋消息時(shí)則刪除對應(yīng)的連接。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟a檢測到的節(jié)點(diǎn)出現(xiàn)故障為單節(jié)點(diǎn)出現(xiàn)故障,且故障節(jié)點(diǎn)是網(wǎng)絡(luò)邊緣節(jié)點(diǎn)時(shí),該網(wǎng)絡(luò)邊緣節(jié)點(diǎn)恢復(fù)后直接從數(shù)據(jù)庫中恢復(fù)所有連接的全部信息。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述步驟a檢測到的節(jié)點(diǎn)出現(xiàn)故障是多節(jié)點(diǎn)失敗,所述步驟c進(jìn)一步包括以下步驟c14.故障節(jié)點(diǎn)中的網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)分別進(jìn)行步驟c11到c12的本節(jié)點(diǎn)連接同步恢復(fù)過程,網(wǎng)絡(luò)邊緣節(jié)點(diǎn)恢復(fù)后直接從數(shù)據(jù)庫中恢復(fù)所有連接的全部信息;c15.故障節(jié)點(diǎn)中的網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)等到其相鄰節(jié)點(diǎn)恢復(fù)后,向其相鄰節(jié)點(diǎn)發(fā)送詳細(xì)狀態(tài)查詢消息,如果相鄰節(jié)點(diǎn)恢復(fù)后沒有連接的全部信息,則相鄰節(jié)點(diǎn)反饋狀態(tài)碼為連接被掛起(Connection Pending)的概要狀態(tài)響應(yīng)消息給該故障節(jié)點(diǎn),如果相鄰節(jié)點(diǎn)同步后恢復(fù)了連接的全部信息,則再向其相鄰節(jié)點(diǎn)發(fā)送狀態(tài)碼為Connection Active的詳細(xì)狀態(tài)響應(yīng)消息,如果相鄰節(jié)點(diǎn)同步后沒有恢復(fù)連接的全部信息,則向其相鄰節(jié)點(diǎn)發(fā)送狀態(tài)碼為Connection Unavailable的詳細(xì)狀態(tài)響應(yīng)消息,c16.故障節(jié)點(diǎn)如果接收到狀態(tài)碼為Connection Pending的概要狀態(tài)響應(yīng)消息,則保存對應(yīng)連接的相關(guān)信息,并等待該故障節(jié)點(diǎn)的相鄰節(jié)點(diǎn)恢復(fù)連接,如果相鄰節(jié)點(diǎn)恢復(fù)后反饋給故障節(jié)點(diǎn)的響應(yīng)消息的狀態(tài)碼為Connection Active,則故障節(jié)點(diǎn)恢復(fù)對應(yīng)的連接,如果狀態(tài)碼為Connection Unavailable,則故障節(jié)點(diǎn)刪除對應(yīng)的連接。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于所述步驟c15進(jìn)一步包括每個(gè)故障節(jié)點(diǎn)針對每個(gè)連接設(shè)置定時(shí)器,定時(shí)器超時(shí)且故障節(jié)點(diǎn)沒有收到反饋消息,則刪除對應(yīng)的連接。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于該方法進(jìn)一步包括,故障節(jié)點(diǎn)在恢復(fù)時(shí)從數(shù)據(jù)平面查詢獲得標(biāo)記信息。
全文摘要
本發(fā)明公開了智能光網(wǎng)絡(luò)中的一種實(shí)現(xiàn)網(wǎng)絡(luò)網(wǎng)絡(luò)接口(NNI)連接的同步和恢復(fù)方法,通過標(biāo)記分發(fā)協(xié)議(LDP)檢測控制平面上信令通信失敗的原因,如果是鏈路出現(xiàn)故障,則鏈路出現(xiàn)故障后鏈路兩端的節(jié)點(diǎn)保留原有的連接信息,在鏈路恢復(fù)后鏈路兩端的節(jié)點(diǎn)分別向?qū)Χ斯?jié)點(diǎn)發(fā)起連接的同步和恢復(fù)過程,之后結(jié)束本流程;如果是節(jié)點(diǎn)出現(xiàn)故障,則故障節(jié)點(diǎn)恢復(fù)后先進(jìn)行本節(jié)點(diǎn)的同步,然后建立其與相鄰節(jié)點(diǎn)間的同步和恢復(fù),從相鄰節(jié)點(diǎn)恢復(fù)故障節(jié)點(diǎn)上連接的配置和狀態(tài)信息。本發(fā)明解決了原來沒有針對NNI中連接的同步和恢復(fù)的方案的問題,使用本發(fā)明方法進(jìn)行連接的同步和恢復(fù),使得控制平面從故障中恢復(fù)后,能夠?qū)?shù)據(jù)平面中仍然存在的連接繼續(xù)進(jìn)行控制。
文檔編號H04L12/28GK1503516SQ0215331
公開日2004年6月9日 申請日期2002年11月27日 優(yōu)先權(quán)日2002年11月27日
發(fā)明者孫俊柏, 宋輝, 蔡軍州, 陳勇, 石興華 申請人:華為技術(shù)有限公司