專利名稱:平滑重啟方法及鄰居設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,具體涉及平滑重啟方法和鄰居設(shè)備。
背景技術(shù):
平滑重啟(GR,Graceful Restart)指的是在協(xié)議重啟時(shí)保證數(shù)據(jù)轉(zhuǎn)發(fā)正常進(jìn)行,保證關(guān)鍵業(yè)務(wù)不中斷。GR技術(shù)屬于高可靠性技術(shù)的一種。GR是一種冗余容錯(cuò)技術(shù),目前已被廣泛使用在主備切換和系統(tǒng)升級(jí)方面,以保證關(guān)鍵業(yè)務(wù)的不間斷轉(zhuǎn)發(fā)。
目前,支持GR的多協(xié)議標(biāo)簽交換(MPLS)協(xié)議包括標(biāo)簽分發(fā)協(xié)議(LDP)和資源預(yù)留協(xié)議(RSVP)。該兩協(xié)議在支持GR時(shí),在協(xié)議的初始化消息中增加與GR相關(guān)的參數(shù),這些參數(shù)在路由器之間建立會(huì)話時(shí)交互,用于幫助GR的進(jìn)行。
以LDP為例,對(duì)現(xiàn)有的LDP GR過程進(jìn)行說明,如圖1所示,其具體步驟如下步驟101設(shè)備A發(fā)生主備切換即要從主用板切換到備用板,與鄰居設(shè)備B的LDP會(huì)話斷開。
步驟102鄰居設(shè)備B檢測(cè)到與設(shè)備A的LDP會(huì)話斷開,確定設(shè)備A重啟,鄰居設(shè)備B進(jìn)入GR狀態(tài),同時(shí)啟動(dòng)重連接(Reconnect)定時(shí)器。
每個(gè)設(shè)備會(huì)定時(shí)向周圍的鄰居設(shè)備發(fā)送hello消息和KeepAlive消息,若鄰居設(shè)備B在預(yù)定時(shí)長(zhǎng)內(nèi)未收到設(shè)備A發(fā)來的hello消息或KeepAlive消息,則可確定與設(shè)備A的LDP會(huì)話斷開。
Reconnect定時(shí)器的定時(shí)時(shí)長(zhǎng)為設(shè)備A發(fā)生主備倒換前,與鄰居設(shè)備B建立LDP會(huì)話時(shí),設(shè)備A發(fā)送給鄰居設(shè)備B的初始化消息中攜帶的Reconnect Timeout和本地Neighbor Liveness Timeout中的較小者。
從啟動(dòng)Reconnect定時(shí)器到收到設(shè)備A的初始化消息之間的時(shí)長(zhǎng)與本地Neighbor Liveness Timeout中的較小者。
步驟103鄰居設(shè)備B在自身的控制平面查找設(shè)備A的標(biāo)簽轉(zhuǎn)發(fā)等價(jià)類(FEC,F(xiàn)orwarding Equivalence Class)綁定關(guān)系,并在該標(biāo)簽FEC綁定關(guān)系上作老化標(biāo)記。
控制平面上的標(biāo)簽FEC綁定關(guān)系與轉(zhuǎn)發(fā)平面上的MPLS轉(zhuǎn)發(fā)表項(xiàng)之間成映射關(guān)系。鄰居設(shè)備B在設(shè)備A的標(biāo)簽FEC綁定關(guān)系上作老化標(biāo)記后,可繼續(xù)使用轉(zhuǎn)發(fā)平面上與該標(biāo)簽FEC綁定關(guān)系對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng)轉(zhuǎn)發(fā)流量。
在設(shè)備A發(fā)生主備切換前,鄰居設(shè)備B和設(shè)備A在建立會(huì)話時(shí),會(huì)交互標(biāo)簽FEC綁定關(guān)系。
步驟104設(shè)備A完成主備切換即從主用板切換到了備用板,啟動(dòng)MPLS Forwarding State Holding定時(shí)器,并將自身轉(zhuǎn)發(fā)平面上的所有MPLS轉(zhuǎn)發(fā)表項(xiàng)都標(biāo)記為老化。
步驟105設(shè)備A通過Hello消息發(fā)現(xiàn)鄰居設(shè)備B,與鄰居設(shè)備B建立傳輸控制協(xié)議(TCP,Transfer Control Protocol)連接,建立完畢,向鄰居設(shè)備B發(fā)送帶有FT Session TLV的初始化消息,該消息攜帶恢復(fù)時(shí)長(zhǎng)(Recovery timeout)。
步驟106鄰居設(shè)備B在Reconnect定時(shí)器超時(shí)前,收到設(shè)備A發(fā)來的初始化消息,確定與設(shè)備A的會(huì)話建立,停止Reconnect定時(shí)器,并啟動(dòng)恢復(fù)(Recovery)定時(shí)器,Recovery定時(shí)器的定時(shí)時(shí)長(zhǎng)為Recovery Timeout。
若鄰居設(shè)備B在Reconnect定時(shí)器超時(shí)時(shí)未收到設(shè)備A發(fā)來的初始化消息,則刪除自身控制平面上已作老化標(biāo)記的標(biāo)簽FEC綁定關(guān)系,同時(shí)刪除轉(zhuǎn)發(fā)平面上與所述標(biāo)簽FEC綁定關(guān)系對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng),并退出GR狀態(tài),本流程結(jié)束。
步驟107鄰居設(shè)備B將所述已作老化標(biāo)記的標(biāo)簽FEC綁定關(guān)系攜帶在標(biāo)簽映射消息中發(fā)送給設(shè)備A;同時(shí),設(shè)備A根據(jù)已作老化標(biāo)記的且自身為出口標(biāo)簽交換路由器(LSR,Label Switch Router)的、與鄰居設(shè)備B對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng)生成標(biāo)簽FEC綁定關(guān)系,將該標(biāo)簽FEC綁定關(guān)系攜帶在標(biāo)簽映射消息中發(fā)送給鄰居設(shè)備B。
步驟108設(shè)備A收到鄰居設(shè)備B發(fā)來的標(biāo)簽映射消息,將該消息中攜帶的標(biāo)簽FEC綁定關(guān)系保存到控制平面,同時(shí)根據(jù)該標(biāo)簽FEC綁定關(guān)系生成MPLS轉(zhuǎn)發(fā)表項(xiàng),在轉(zhuǎn)發(fā)平面中查找該生成的MPLS轉(zhuǎn)發(fā)表項(xiàng),若查找到,則將轉(zhuǎn)發(fā)平面上的該MPLS轉(zhuǎn)發(fā)表項(xiàng)上的老化標(biāo)記刪除;若未查找到,則將該生成的MPLS轉(zhuǎn)發(fā)表項(xiàng)保存到轉(zhuǎn)發(fā)平面上。
步驟109鄰居設(shè)備B收到設(shè)備A發(fā)來的標(biāo)簽映射消息,在控制平面上查找該消息攜帶的標(biāo)簽FEC綁定關(guān)系,若查找到,則將控制平面上的該標(biāo)簽FEC綁定關(guān)系上的老化標(biāo)記刪除;若未查找到,則將該標(biāo)簽FEC綁定關(guān)系保存到控制平面上,并根據(jù)該標(biāo)簽FEC綁定關(guān)系生成MPLS轉(zhuǎn)發(fā)表項(xiàng),將該生成的MPLS轉(zhuǎn)發(fā)表項(xiàng)保存到轉(zhuǎn)發(fā)平面上。
當(dāng)MPLS Forwarding State Holding定時(shí)器超時(shí)時(shí),設(shè)備A會(huì)將仍標(biāo)記為老化的MPLS轉(zhuǎn)發(fā)表項(xiàng)刪除。當(dāng)Recovery定時(shí)器超時(shí)時(shí),鄰居設(shè)備B會(huì)將仍標(biāo)記為老化的標(biāo)簽FEC綁定關(guān)系刪除,同時(shí)刪除轉(zhuǎn)發(fā)平面上與該標(biāo)簽FEC綁定關(guān)系對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng)。
從圖1所示流程可以看出,LDP GR時(shí)段,對(duì)重啟設(shè)備A來說,是MPLSForwarding State Holding定時(shí)器的定時(shí)時(shí)長(zhǎng);對(duì)鄰居設(shè)備B來說,是Reconnect定時(shí)器定時(shí)時(shí)長(zhǎng)+Recovery定時(shí)器定時(shí)時(shí)長(zhǎng)。且,將Reconnect定時(shí)器的結(jié)束點(diǎn)和Recovery定時(shí)器的啟動(dòng)點(diǎn)設(shè)置在首個(gè)初始化消息處,重啟設(shè)備A發(fā)送初始化消息時(shí),將FT Session TLV中的Recovery timeout設(shè)為當(dāng)前MPLS Forwarding State Holding定時(shí)器的剩余超時(shí)時(shí)間,這樣,鄰居設(shè)備B在收到初始化消息時(shí),就知道重啟設(shè)備B何時(shí)會(huì)結(jié)束LDP GR過程,便于保持兩設(shè)備的LDP GR過程一致。
上述以初始化消息作為Reconnect定時(shí)器的結(jié)束點(diǎn)和Recovery定時(shí)器的啟動(dòng)點(diǎn)的處理方式,在理想的網(wǎng)絡(luò)狀態(tài)下可以保證流量不中斷,這里的理想網(wǎng)絡(luò)狀態(tài)指的是收到首個(gè)初始化消息后,LDP會(huì)話能按照RFC3036中描述的會(huì)話狀態(tài)轉(zhuǎn)移圖正常到達(dá)Operational狀態(tài)。
圖2給出了RFC3036中定義的會(huì)話狀態(tài)轉(zhuǎn)移圖,從圖2中可以明確看到,從初始化(Initialized)狀態(tài)到運(yùn)行(Operational)狀態(tài)的遷移過程中,有可能回退到不存在(Non Existent)狀態(tài)。如果鄰居設(shè)備B在收到首個(gè)初始化消息后,在會(huì)話到達(dá)Operational狀態(tài)前,因某種原因,回退到NonExistent狀態(tài)。則此時(shí),Recovery定時(shí)器已啟動(dòng),而Recovery定時(shí)器只有超時(shí)才能停止。在這種情況下,鄰居設(shè)備B如果認(rèn)為網(wǎng)絡(luò)異常不保留MPLS轉(zhuǎn)發(fā)表項(xiàng),則流量就會(huì)中斷,這樣就降低GR的有效性;而如果鄰居設(shè)備B繼續(xù)保留MPLS轉(zhuǎn)發(fā)表項(xiàng),那么,在會(huì)話重建過程中應(yīng)該啟用Reconnect定時(shí)器,在收到初始化消息后,再啟用Recovery定時(shí)器,而前一次會(huì)話重建的Recovery定時(shí)器也已啟動(dòng),同時(shí)存在兩個(gè)Recovery定時(shí)器,會(huì)造成LDPGR過程混亂,此時(shí)若根據(jù)前一次會(huì)話重建的Recovery定時(shí)器來確定GR過程的持續(xù)時(shí)間,則會(huì)造成GR過程提前結(jié)束,可能會(huì)造成轉(zhuǎn)發(fā)表項(xiàng)被誤刪除,從而降低GR的有效性。
發(fā)明內(nèi)容
本發(fā)明提供一種GR方法及一種鄰居設(shè)備,以提高GR的有效性。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種GR方法,包括鄰居設(shè)備檢測(cè)到與重啟設(shè)備的會(huì)話斷開,啟動(dòng)Reconnect定時(shí)器;鄰居設(shè)備檢測(cè)到自身進(jìn)入Operational狀態(tài)且Reconnect定時(shí)器未超時(shí),則關(guān)閉Reconnect定時(shí)器,并啟動(dòng)Recovery定時(shí)器,鄰居設(shè)備和重啟設(shè)備進(jìn)行用于保持流量的轉(zhuǎn)發(fā)表項(xiàng)的恢復(fù)。
所述鄰居設(shè)備啟動(dòng)Reconnect定時(shí)器之后進(jìn)一步包括鄰居設(shè)備收到重啟設(shè)備發(fā)來的初始化消息,開始計(jì)時(shí),并記錄該消息攜帶的Recovery timeout;
且,鄰居設(shè)備檢測(cè)到自身進(jìn)入Operational狀態(tài)且Reconnect定時(shí)器未超時(shí)的同時(shí)進(jìn)一步包括鄰居設(shè)備計(jì)算所述Recovery timeout與當(dāng)前計(jì)時(shí)值的差值,將該差值作為Recovery定時(shí)器的定時(shí)時(shí)長(zhǎng)。
所述鄰居設(shè)備啟動(dòng)Reconnect定時(shí)器之后進(jìn)一步包括鄰居設(shè)備檢測(cè)到Reconnect定時(shí)器超時(shí)且自身未進(jìn)入Operational狀態(tài),則刪除自身保存的與重啟設(shè)備對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng)。
一種鄰居設(shè)備,包括會(huì)話檢測(cè)模塊,檢測(cè)到與重啟設(shè)備的會(huì)話斷開,啟動(dòng)Reconnect定時(shí)器;表項(xiàng)維護(hù)模塊,當(dāng)檢測(cè)到本設(shè)備進(jìn)入Operational狀態(tài)且Reconnect定時(shí)器未超時(shí),關(guān)閉Reconnect定時(shí)器,并啟動(dòng)Recovery定時(shí)器,向表項(xiàng)恢復(fù)模塊發(fā)送恢復(fù)指示;表項(xiàng)恢復(fù)模塊,接收到恢復(fù)指示,開始與重啟設(shè)備進(jìn)行轉(zhuǎn)發(fā)表項(xiàng)恢復(fù)過程。
該鄰居設(shè)備進(jìn)一步包括會(huì)話建立模塊,收到重啟設(shè)備發(fā)來的初始化消息,將該消息攜帶的Recoverytimeout發(fā)送給表項(xiàng)維護(hù)模塊;且,所述表項(xiàng)恢復(fù)模塊在收到所述Recovery timeout時(shí),開始計(jì)時(shí),并在檢測(cè)到本設(shè)備進(jìn)入Operational狀態(tài)且Reconnect定時(shí)器未超時(shí),計(jì)算所述Recovery timeout與當(dāng)前計(jì)時(shí)值的差值,將該差值作為Recovery定時(shí)器的定時(shí)時(shí)長(zhǎng)。
該鄰居設(shè)備進(jìn)一步包括表項(xiàng)刪除模塊,接收到刪除指示,刪除本設(shè)備上與重啟設(shè)備對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng),且,所述表項(xiàng)維護(hù)模塊檢測(cè)到Reconnect定時(shí)器超時(shí)且本設(shè)備未進(jìn)入Operational狀態(tài),則向表項(xiàng)刪除模塊發(fā)送所述刪除指示。
與現(xiàn)有技術(shù)相比,本發(fā)明在鄰居設(shè)備檢測(cè)到與重啟設(shè)備的會(huì)話斷開時(shí),啟動(dòng)Reconnect定時(shí)器;在鄰居設(shè)備檢測(cè)到自身進(jìn)入Operational狀態(tài)且Reconnect定時(shí)器未超時(shí),關(guān)閉Reconnect定時(shí)器,并啟動(dòng)Recovery定時(shí)器。本發(fā)明兼顧了網(wǎng)絡(luò)正常狀態(tài)和異常狀態(tài)下的處理,消除了現(xiàn)有技術(shù)在網(wǎng)絡(luò)異常狀態(tài)下的處理盲點(diǎn),避免了GR過程中流量中斷情形的發(fā)生,也避免了同時(shí)存在多個(gè)Recovery定時(shí)器的情形,避免了GR過程混亂所引起的轉(zhuǎn)發(fā)表項(xiàng)被誤刪除的情形,提高了GR的有效性。
圖1為現(xiàn)有的進(jìn)行LDR GR的流程圖;圖2為RFC3036中定義的會(huì)話狀態(tài)轉(zhuǎn)移圖;圖3為本發(fā)明實(shí)施例提供的進(jìn)行LDP GR的流程圖;圖4為本發(fā)明實(shí)施例提供的進(jìn)行LDP GR的鄰居設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。
圖3是本發(fā)明實(shí)施例提供的進(jìn)行LDP GR的流程圖,如圖3所示,其具體步驟如下步驟301設(shè)備A發(fā)生主備切換即要從主用板切換到備用板,與鄰居設(shè)備B的LDP會(huì)話斷開。
步驟302鄰居設(shè)備B檢測(cè)到與設(shè)備A的LDP會(huì)話斷開,確定設(shè)備A重啟,鄰居設(shè)備B進(jìn)入GR狀態(tài),同時(shí)啟動(dòng)Reconnect定時(shí)器。
Reconnect定時(shí)器的定時(shí)時(shí)長(zhǎng)為設(shè)備A發(fā)生主備倒換前,與鄰居設(shè)備B建立LDP會(huì)話時(shí),設(shè)備A發(fā)送給鄰居設(shè)備B的初始化消息中攜帶的Reconnect Timeout和本地Neighbor Liveness Timeout中的較小者。
步驟303鄰居設(shè)備B在自身的控制平面查找設(shè)備A的標(biāo)簽FEC綁定關(guān)系,并在該標(biāo)簽FEC綁定關(guān)系上作老化標(biāo)記。
步驟304設(shè)備A完成主備切換即從主用板切換到了備用板,啟動(dòng)MPLS Forwarding State Holding定時(shí)器,并將自身轉(zhuǎn)發(fā)平面上的所有MPLS轉(zhuǎn)發(fā)表項(xiàng)都標(biāo)記為老化。
步驟305設(shè)備A通過Hello消息發(fā)現(xiàn)鄰居設(shè)備B,與鄰居設(shè)備B建立TCP連接,建立完畢,向鄰居設(shè)備B發(fā)送初始化消息,該消息攜帶Recoverytimeout。
在會(huì)話建立過程中,主動(dòng)方會(huì)向?qū)Ψ皆O(shè)備發(fā)送首個(gè)初始化消息,本步驟中,設(shè)定設(shè)備A為主動(dòng)方。若鄰居設(shè)備B為主動(dòng)方,則鄰居設(shè)備B會(huì)向設(shè)備A發(fā)送首個(gè)初始化消息,設(shè)備A收到該初始化消息后,向鄰居設(shè)備B發(fā)送初始化消息。
步驟306鄰居設(shè)備B收到設(shè)備A發(fā)來的初始化消息,保存該消息攜帶的Recovery timeout,并啟動(dòng)計(jì)時(shí)器。
步驟307鄰居設(shè)備B檢測(cè)到自身進(jìn)入Operational狀態(tài)且Reconnect定時(shí)器未超時(shí),則關(guān)閉Reconnect定時(shí)器,啟動(dòng)Recovery定時(shí)器,Recovery定時(shí)器的定時(shí)時(shí)長(zhǎng)等于Recovery Timeout與計(jì)時(shí)器的計(jì)時(shí)值的差值。
對(duì)于鄰居設(shè)備來說,在Reconnect定時(shí)器未超時(shí)時(shí),若鄰居設(shè)備發(fā)生了從Initialized狀態(tài)回退到Non Existent狀態(tài)的異常狀況,則仍然允許重啟設(shè)備和鄰居設(shè)備之間進(jìn)行會(huì)話重建,同時(shí),鄰居設(shè)備也不會(huì)刪除轉(zhuǎn)發(fā)平面上與設(shè)備A對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng),從而流量不會(huì)中斷。
若鄰居設(shè)備B在Reconnect定時(shí)器超時(shí)時(shí)仍未進(jìn)入Operational狀態(tài),則刪除自身控制平面上所述已作老化標(biāo)記的標(biāo)簽FEC綁定關(guān)系,并刪除轉(zhuǎn)發(fā)平面上與所述標(biāo)簽FEC綁定關(guān)系對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng),并退出GR狀態(tài),本流程結(jié)束。
步驟308鄰居設(shè)備B將自身已作老化標(biāo)記的標(biāo)簽FEC綁定關(guān)系攜帶在標(biāo)簽映射消息中發(fā)送給設(shè)備A;同時(shí),設(shè)備A根據(jù)自身已作老化標(biāo)記的且自身為出口LSR的、且與鄰居設(shè)備B對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng)生成標(biāo)簽FEC綁定關(guān)系,將該標(biāo)簽FEC綁定關(guān)系攜帶在標(biāo)簽映射消息中發(fā)送給鄰居設(shè)備B。
步驟309設(shè)備A收到鄰居設(shè)備B發(fā)來的標(biāo)簽映射消息,將該消息中攜帶的標(biāo)簽FEC綁定關(guān)系保存到控制平面,同時(shí)根據(jù)該標(biāo)簽FEC綁定關(guān)系生成MPLS轉(zhuǎn)發(fā)表項(xiàng),在轉(zhuǎn)發(fā)平面中查找與該生成的MPLS轉(zhuǎn)發(fā)表項(xiàng)相同的MPLS轉(zhuǎn)發(fā)表項(xiàng),若查找到,則將轉(zhuǎn)發(fā)平面上的該MPLS轉(zhuǎn)發(fā)表項(xiàng)上的老化標(biāo)記刪除;若未查找到,則將該生成的MPLS轉(zhuǎn)發(fā)表項(xiàng)保存到轉(zhuǎn)發(fā)平面上。
步驟310鄰居設(shè)備B收到設(shè)備A發(fā)來的標(biāo)簽映射消息,在控制平面上查找該消息攜帶的標(biāo)簽FEC綁定關(guān)系,若查找到,則將控制平面上的該標(biāo)簽FEC綁定關(guān)系上的老化標(biāo)記刪除;若未查找到,則將該標(biāo)簽FEC綁定關(guān)系保存到控制平面上,并根據(jù)該標(biāo)簽FEC綁定關(guān)系生成MPLS轉(zhuǎn)發(fā)表項(xiàng),將該生成的MPLS轉(zhuǎn)發(fā)表項(xiàng)保存到轉(zhuǎn)發(fā)平面上。
當(dāng)MPLS Forwarding State Holding定時(shí)器超時(shí)時(shí),設(shè)備A會(huì)將仍標(biāo)記為老化的MPLS轉(zhuǎn)發(fā)表項(xiàng)刪除。當(dāng)Recovery定時(shí)器超時(shí)時(shí),鄰居設(shè)備B會(huì)將仍標(biāo)記為老化的標(biāo)簽FEC綁定關(guān)系刪除,同時(shí)刪除轉(zhuǎn)發(fā)平面上與該標(biāo)簽FEC綁定關(guān)系對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng)。
從圖3所示流程可以看出,只有在鄰居設(shè)備B進(jìn)入Operational狀態(tài)時(shí),才關(guān)閉Reconnect定時(shí)器并啟動(dòng)Recovery定時(shí)器,這樣,若在Reconnect定時(shí)器超時(shí)前,鄰居設(shè)備B發(fā)生了從Initialized狀態(tài)回退到Non Existent狀態(tài)的異常狀況,則由于Recovery定時(shí)器未啟動(dòng),鄰居設(shè)備就不會(huì)認(rèn)為網(wǎng)絡(luò)異常,MPLS轉(zhuǎn)發(fā)表項(xiàng)也不會(huì)被誤刪除,流量不會(huì)中斷;同時(shí),由于鄰居設(shè)備只會(huì)進(jìn)入Operational狀態(tài)一次,因此也不會(huì)產(chǎn)生存在兩個(gè)Recovery定時(shí)器同時(shí)啟用的情況,從而MPLS轉(zhuǎn)發(fā)表項(xiàng)也不會(huì)被誤刪除。
圖4為本發(fā)明實(shí)施例提供的進(jìn)行LDP GR的鄰居設(shè)備的結(jié)構(gòu)示意圖,如圖4所示,其主要包括會(huì)話檢測(cè)模塊41、會(huì)話建立模塊42、表項(xiàng)維護(hù)模塊43、表項(xiàng)恢復(fù)模塊44、表項(xiàng)刪除模塊45、Reconnect定時(shí)器46和Recovery定時(shí)器47,其中會(huì)話檢測(cè)模塊41檢測(cè)到本設(shè)備與重啟設(shè)備A的LDP會(huì)話斷開,在本設(shè)備保存的與重啟設(shè)備A對(duì)應(yīng)的標(biāo)簽FEC綁定關(guān)系上作老化標(biāo)記,并啟動(dòng)Reconnect定時(shí)器46。
會(huì)話建立模塊42接收到重啟設(shè)備A發(fā)來的初始化消息,將該消息攜帶的Recovery Timeout發(fā)送給表項(xiàng)維護(hù)模塊43。
表項(xiàng)維護(hù)模塊43接收到會(huì)話建立模塊42發(fā)來的Recovery Timeout,保存該Recovery Timeout并開始計(jì)時(shí),若檢測(cè)到本設(shè)備進(jìn)入Operational狀態(tài)且Reconnect定時(shí)器46未超時(shí),則計(jì)算Recovery Timeout與計(jì)時(shí)器的計(jì)時(shí)值的差值,將該差值作為Recovery定時(shí)器47的定時(shí)時(shí)長(zhǎng),啟動(dòng)Recovery定時(shí)器47,并向表項(xiàng)恢復(fù)模塊44發(fā)送恢復(fù)指示;若檢測(cè)到Reconnect定時(shí)器46超時(shí)且本設(shè)備未進(jìn)入Operational狀態(tài),則向表項(xiàng)刪除模塊45發(fā)送刪除指示。
表項(xiàng)恢復(fù)模塊44接收到表項(xiàng)維護(hù)模塊43發(fā)來的恢復(fù)指示,將本設(shè)備保存的已作老化標(biāo)記的標(biāo)簽FEC綁定關(guān)系攜帶在標(biāo)簽映射消息中發(fā)送給重啟設(shè)備A;接收到重啟設(shè)備A發(fā)來的標(biāo)簽映射消息,在本設(shè)備的控制平面上查找該消息攜帶的標(biāo)簽FEC綁定關(guān)系,若查找到,則刪除控制平面上該標(biāo)簽FEC綁定關(guān)系上的老化標(biāo)記;否則,將該標(biāo)簽FEC綁定關(guān)系保存到本設(shè)備的控制平面上。
表項(xiàng)刪除模塊45接收到表項(xiàng)維護(hù)模塊43發(fā)來的刪除指示,將本設(shè)備控制平面上已作老化標(biāo)記的與重啟設(shè)備A對(duì)應(yīng)的所有標(biāo)簽FEC綁定關(guān)系刪除,并刪除本設(shè)備轉(zhuǎn)發(fā)平面上與所述標(biāo)簽FEC綁定關(guān)系對(duì)應(yīng)的MPLS轉(zhuǎn)發(fā)表項(xiàng)。
以上所述僅為本發(fā)明的過程及方法實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種平滑重啟GR方法,其特征在于,包括鄰居設(shè)備檢測(cè)到與重啟設(shè)備的會(huì)話斷開,啟動(dòng)重連接定時(shí)器;鄰居設(shè)備檢測(cè)到自身進(jìn)入運(yùn)行狀態(tài)且重連接定時(shí)器未超時(shí),則關(guān)閉重連接定時(shí)器,并啟動(dòng)恢復(fù)定時(shí)器,鄰居設(shè)備和重啟設(shè)備進(jìn)行用于保持流量的轉(zhuǎn)發(fā)表項(xiàng)的恢復(fù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述鄰居設(shè)備啟動(dòng)重連接定時(shí)器之后進(jìn)一步包括鄰居設(shè)備收到重啟設(shè)備發(fā)來的初始化消息,開始計(jì)時(shí),并記錄該消息攜帶的恢復(fù)時(shí)長(zhǎng);且,鄰居設(shè)備檢測(cè)到自身進(jìn)入運(yùn)行狀態(tài)且重連接定時(shí)器未超時(shí)的同時(shí)進(jìn)一步包括鄰居設(shè)備計(jì)算所述恢復(fù)時(shí)長(zhǎng)與當(dāng)前計(jì)時(shí)值的差值,將該差值作為恢復(fù)定時(shí)器的定時(shí)時(shí)長(zhǎng)。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述鄰居設(shè)備啟動(dòng)重連接定時(shí)器之后進(jìn)一步包括鄰居設(shè)備檢測(cè)到重連接定時(shí)器超時(shí)且自身未進(jìn)入運(yùn)行狀態(tài),則刪除自身保存的與重啟設(shè)備對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng)。
4.一種鄰居設(shè)備,其特征在于,包括會(huì)話檢測(cè)模塊,檢測(cè)到與重啟設(shè)備的會(huì)話斷開,啟動(dòng)重連接定時(shí)器;表項(xiàng)維護(hù)模塊,當(dāng)檢測(cè)到本設(shè)備進(jìn)入運(yùn)行狀態(tài)且重連接定時(shí)器未超時(shí),關(guān)閉重連接定時(shí)器,并啟動(dòng)恢復(fù)定時(shí)器,向表項(xiàng)恢復(fù)模塊發(fā)送恢復(fù)指示;表項(xiàng)恢復(fù)模塊,接收到恢復(fù)指示,開始與重啟設(shè)備進(jìn)行轉(zhuǎn)發(fā)表項(xiàng)恢復(fù)過程。
5.如權(quán)利要求4所述的鄰居設(shè)備,其特征在于,該鄰居設(shè)備進(jìn)一步包括會(huì)話建立模塊,收到重啟設(shè)備發(fā)來的初始化消息,將該消息攜帶的恢復(fù)時(shí)長(zhǎng)發(fā)送給表項(xiàng)維護(hù)模塊;且,所述表項(xiàng)恢復(fù)模塊在收到所述恢復(fù)時(shí)長(zhǎng)時(shí),開始計(jì)時(shí),并在檢測(cè)到本設(shè)備進(jìn)入運(yùn)行狀態(tài)且重連接定時(shí)器未超時(shí),計(jì)算所述恢復(fù)時(shí)長(zhǎng)與當(dāng)前計(jì)時(shí)值的差值,將該差值作為恢復(fù)定時(shí)器的定時(shí)時(shí)長(zhǎng)。
6.如權(quán)利要求4或5所述的鄰居設(shè)備,其特征在于,該鄰居設(shè)備進(jìn)一步包括表項(xiàng)刪除模塊,接收到刪除指示,刪除本設(shè)備上與重啟設(shè)備對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng),且,所述表項(xiàng)維護(hù)模塊檢測(cè)到重連接定時(shí)器超時(shí)且本設(shè)備未進(jìn)入運(yùn)行狀態(tài),則向表項(xiàng)刪除模塊發(fā)送所述刪除指示。
全文摘要
本發(fā)明公開了平滑重啟(GR)方法和鄰居設(shè)備。當(dāng)鄰居設(shè)備檢測(cè)到與重啟設(shè)備的會(huì)話斷開時(shí),啟動(dòng)重連接定時(shí)器;鄰居設(shè)備檢測(cè)到自身進(jìn)入Operational狀態(tài)且重連接定時(shí)器未超時(shí),則關(guān)閉重連接定時(shí)器,并啟動(dòng)恢復(fù)定時(shí)器,鄰居設(shè)備和重啟設(shè)備開始進(jìn)行用于保持流量的轉(zhuǎn)發(fā)表項(xiàng)的恢復(fù)。本發(fā)明避免了GR過程中流量中斷情形的發(fā)生,也避免了同時(shí)存在多個(gè)Recovery定時(shí)器的情形,提高了GR的有效性。
文檔編號(hào)H04L29/06GK101094049SQ200710119219
公開日2007年12月26日 申請(qǐng)日期2007年7月18日 優(yōu)先權(quán)日2007年7月18日
發(fā)明者楊霞, 雷昭燕, 劉小龍 申請(qǐng)人:杭州華三通信技術(shù)有限公司