国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      平滑重啟流量中斷處理方法及裝置與流程

      文檔序號(hào):11657323閱讀:281來源:國知局
      平滑重啟流量中斷處理方法及裝置與流程

      本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種平滑重啟流量中斷處理方法及裝置。



      背景技術(shù):

      平滑重啟(gracefulrestart,簡稱gr)是一種在路由協(xié)議重啟的時(shí)候保證數(shù)據(jù)轉(zhuǎn)發(fā)層面功能正常,以保證關(guān)鍵業(yè)務(wù)不中斷的技術(shù),目前已經(jīng)被廣泛使用于主備切換和系統(tǒng)升級(jí)等方面,從而保證關(guān)鍵業(yè)務(wù)不間斷轉(zhuǎn)發(fā)。

      傳統(tǒng)路由器中控制和轉(zhuǎn)發(fā)都是由同一個(gè)處理器完成的,這個(gè)處理器既通過路由協(xié)議發(fā)現(xiàn)并維護(hù)鄰居,同時(shí)也維護(hù)路由表和轉(zhuǎn)發(fā)表。隨著網(wǎng)絡(luò)設(shè)備普遍采用控制和轉(zhuǎn)發(fā)分離技術(shù),目前中高端路由器設(shè)備普遍采用多處理器的結(jié)構(gòu)。負(fù)責(zé)路由協(xié)議等控制模塊的處理器一般位于主控板,負(fù)責(zé)數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)的處理器則位于線卡,以盡可能保障主控板上的處理器重啟時(shí)線卡上的數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)不受影響。gr技術(shù)可以有效避免主備切換、系統(tǒng)升級(jí)等情況下帶來的短時(shí)間內(nèi)的流量轉(zhuǎn)發(fā)中斷,避免全網(wǎng)中路由震蕩的原理可以歸結(jié)于此。

      開放式最短路徑優(yōu)先(openshortestpathfirst,簡稱ospf)協(xié)議是國際互聯(lián)網(wǎng)工程任務(wù)組提出的一種路由協(xié)議。它以鏈路狀態(tài)為基礎(chǔ),需要每個(gè)路由器都向同一管理區(qū)域的所有其他路由器發(fā)送鏈路狀態(tài)廣播信息。ospf協(xié)議中平滑重啟路由器(grrestarter,簡稱重啟路由器)平滑重啟時(shí),與平滑重啟輔助路由器(grhelper,簡稱輔助路由器)建立鄰居關(guān)系,獲得整個(gè)鏈路狀態(tài)數(shù)據(jù)庫(linkstatedatabase,簡稱lsdb)數(shù)據(jù),從而保證轉(zhuǎn)發(fā)業(yè)務(wù)不中斷。具體而言,重啟路由器與輔助路由器發(fā)送各自的數(shù)據(jù)庫摘要描述報(bào)文,重啟路由器接收輔助路由器發(fā)來的數(shù)據(jù)庫描述報(bào)文,發(fā)現(xiàn)本地?cái)?shù)據(jù)庫中沒有對(duì)應(yīng)的鏈路狀態(tài)通告(linkstateadvertisement,簡稱lsa)或比本地更新的lsa,向輔助路由器索要相應(yīng)的lsa,輔助路由器收到請(qǐng)求報(bào)文后便會(huì)發(fā)送相應(yīng)的lsa給重啟路由器,以輔助重啟路由器快速獲取整個(gè)鏈路狀態(tài)數(shù)據(jù)庫。經(jīng)重啟路由器確認(rèn),輔助路由器會(huì)將已發(fā)送的lsa頭部文件從鄰居數(shù)據(jù)庫摘要列表中刪除。數(shù)據(jù)庫摘要描述報(bào)文為lsa頭部文件,用以描述整個(gè)鏈路狀態(tài)數(shù)據(jù)庫的內(nèi)容。值得一提的是,在ospf協(xié)議中輔助路由器與重啟路由器建立鄰居關(guān)系,互為鄰居路由器。

      當(dāng)重啟路由器主備倒換后,標(biāo)識(shí)號(hào)(又稱id號(hào))較大的路由器控制整個(gè)鏈路狀態(tài)數(shù)據(jù)庫交互過程,為主方(也稱master方),相應(yīng)的id較小的路由器為整個(gè)交互過程的從屬方(也稱slave方)。兩臺(tái)路由器在鄰接關(guān)系初始化時(shí),用數(shù)據(jù)庫描述報(bào)文(databasedescriptionpacket,簡稱dd報(bào)文)來描述自己的lsdb,進(jìn)行數(shù)據(jù)庫的同步。在數(shù)據(jù)庫摘要交互過程中,處于slave方的路由器不會(huì)主動(dòng)發(fā)送dd報(bào)文,只有接收到master方路由器發(fā)來的dd報(bào)文才會(huì)發(fā)送相應(yīng)的dd報(bào)文。

      現(xiàn)有技術(shù)中,dd報(bào)文more標(biāo)志位為0表示鄰居路由器數(shù)據(jù)庫摘要信息列表為空,已經(jīng)將數(shù)據(jù)庫摘要信息發(fā)送完畢。當(dāng)身為master方的路由器接收到more標(biāo)志位為0的dd報(bào)文,且本端路由器中鄰居數(shù)據(jù)庫摘要列表已經(jīng)為空,為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫摘要交互完成(exchangedone)事件。當(dāng)身為slave方的路由器接收到more標(biāo)志位為0的dd報(bào)文且本端路由器即將發(fā)送出去的dd報(bào)文more標(biāo)志位也為0,為鄰居狀態(tài)機(jī)產(chǎn)生exchangedone事件。鄰居狀態(tài)機(jī)是指鄰居路由器從一個(gè)狀態(tài)跳轉(zhuǎn)到不同的狀態(tài)。

      此時(shí),當(dāng)鄰居請(qǐng)求列表為空,則路由器鄰居狀態(tài)被置于完全鄰接(又稱full)狀態(tài),表明鄰居路由器與本端路由器lsdb達(dá)到同步,本端不能再從鄰居路由器處獲取數(shù)據(jù)報(bào)文;當(dāng)鄰居請(qǐng)求列表不為空,路由器鄰居狀態(tài)被置于裝載(又稱loading)狀態(tài),表明本端路由器需要從鄰居路由器處獲得lsa,同步鏈路狀態(tài)數(shù)據(jù)庫。當(dāng)一個(gè)路由器收到本地缺失或比本地更新的lsa摘要描述后,會(huì)發(fā)送請(qǐng)求要求獲取相應(yīng)的lsa,此時(shí)該路由器處于摘要交互(又稱exchange)或loading狀態(tài),并在同步結(jié)束后,切換到full狀態(tài)。

      然而,現(xiàn)有的平滑重啟技術(shù)還存在一些問題,輔助路由器在重啟路由器產(chǎn)生exchangedone事件之后尚處于exchange或loading狀態(tài),導(dǎo)致通過該輔助路由器轉(zhuǎn)發(fā)到該重啟路由器的所有流量中斷。

      針對(duì)相關(guān)技術(shù)中平滑重啟過程中流量中斷的問題,還未提出有效的解決方案。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明提供了一種平滑重啟流量中斷處理方法及裝置,以解決相關(guān)技術(shù)中平滑重啟過程中流量中斷的問題。

      根據(jù)本發(fā)明的一個(gè)方面,提供了一種平滑重啟流量中斷處理方法,包括:

      輔助路由器接收到重啟路由器發(fā)送的指示消息,其中,該指示消息為該重啟路由器指示該輔助路由器為該重啟路由器產(chǎn)生摘要交互完成事件的消息;

      該輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件;

      該輔助路由器根據(jù)該摘要交互完成事件調(diào)整該輔助路由器的鄰居狀態(tài)為完全鄰接full,并指示該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件。

      進(jìn)一步地,該指示消息包括標(biāo)記的數(shù)據(jù)庫描述dd報(bào)文,該輔助路由器通過發(fā)送標(biāo)記的dd報(bào)文指示該重啟路由器為輔助路由器產(chǎn)生摘要交互完成事件。其中,可以通過設(shè)置more標(biāo)志位為0標(biāo)記該dd報(bào)文。

      進(jìn)一步地,在該輔助路由器根據(jù)該摘要交互完成事件調(diào)整該重啟路由器鄰居狀態(tài)為full之前,該方法還包括:在未接收到該重啟路由器標(biāo)記的該dd報(bào)文的情況下,該輔助路由器拒絕指示該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件。

      進(jìn)一步地,在該輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件之前,該方法還包括:該輔助路由器判斷鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表是否都為空;在判斷結(jié)果為是的情況下,該輔助路由器設(shè)置more標(biāo)志位為0;接收到該重啟路由器發(fā)送的more標(biāo)志位為0的該dd報(bào)文。

      進(jìn)一步地,在該輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件之前,該方法還包括:在該輔助路由器的id號(hào)小于重啟路由器的id號(hào)的情況下,判斷該鄰居數(shù)據(jù)庫摘要列表中所有l(wèi)sa是否都已經(jīng)添加到dd報(bào)文中;該輔助路由器確定鄰居請(qǐng)求列表為空;在判斷結(jié)果為是的情況下,該輔助路由器設(shè)置more標(biāo)志位為0;接收到該重啟路由器發(fā)送的more標(biāo)志位為0的該dd報(bào)文。

      進(jìn)一步地,在該輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件之前,該方法還包括:該輔助路由器確定鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表都為空;該輔助路由器接收到該重啟路由器more標(biāo)志位為0的dd報(bào)文;該輔助路由器設(shè)置more標(biāo)志位為0。

      進(jìn)一步地,在該輔助路由器的id號(hào)大于重啟路由器的id號(hào)的情況下,該輔助路由器設(shè)置定時(shí)器,確定該重啟路由器接收到more標(biāo)志位為0的dd報(bào)文。

      根據(jù)本發(fā)明的另一個(gè)方面,提供了一種平滑重啟流量中斷處理方法,包括:

      重啟路由器向輔助路由器發(fā)送指示消息,其中,該指示消息為該重啟路由器指示該輔助路由器為該重啟路由器產(chǎn)生摘要交互完成事件的消息;

      該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件,其中,該摘要交互完成事件是該輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件,并根據(jù)該摘要交互完成事件調(diào)整該輔助路由器的鄰居狀態(tài)為完全鄰接full的情況下指示該重啟路由器產(chǎn)生的。

      根據(jù)本發(fā)明的一個(gè)方面,提供了一種平滑重啟流量中斷處理裝置,應(yīng)用于輔助路由器,包括:

      接收模塊,用于接收重啟路由器發(fā)送的指示消息,其中,該指示消息為該重啟路由器指示該輔助路由器為該重啟路由器產(chǎn)生摘要交互完成事件的消息;

      第一產(chǎn)生模塊,用于根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件;

      調(diào)整模塊,用于根據(jù)該摘要交互完成事件調(diào)整該輔助路由器的鄰居狀態(tài)為完全鄰接full,并指示該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件。

      根據(jù)本發(fā)明的另一個(gè)方面,提供了一種平滑重啟流量中斷處理裝置,應(yīng)用于重啟路由器,包括:

      發(fā)送模塊,用于向輔助路由器發(fā)送指示消息,其中,該指示消息為該重啟路由器指示該輔助路由器為該重啟路由器產(chǎn)生摘要交互完成事件的消息;

      第二產(chǎn)生模塊,用于為該輔助路由器產(chǎn)生摘要交互完成事件,其中,該摘要交互完成事件是該輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件,并根據(jù)該摘要交互完成事件調(diào)整該輔助路由器的鄰居狀態(tài)為完全鄰接full的情況下指示該重啟路由器產(chǎn)生的。

      通過本發(fā)明,采用輔助路由器為重啟路由器產(chǎn)生摘要交互完成事件,將該輔助路由器的鄰居狀態(tài)調(diào)整為完全鄰接full,并指示該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件。解決了相關(guān)技術(shù)中平滑重啟過程中流量中斷的問題,進(jìn)而避免了平滑重啟過程中發(fā)生流量中斷。

      附圖說明

      此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:

      圖1是根據(jù)本發(fā)明實(shí)施例的平滑重啟流量中斷處理方法的流程圖(一);

      圖2是根據(jù)本發(fā)明實(shí)施例的平滑重啟流量中斷處理方法的流程圖(二);

      圖3是根據(jù)本發(fā)明實(shí)施例的平滑重啟流量中斷處理裝置的結(jié)構(gòu)框圖(一);

      圖4是根據(jù)本發(fā)明實(shí)施例的平滑重啟流量中斷處理裝置的結(jié)構(gòu)框圖(二);

      圖5是根據(jù)相關(guān)技術(shù)中輔助路由器id號(hào)大于重啟路由器id號(hào)的情況下平滑重啟流量中斷的示意圖;

      圖6是根據(jù)本發(fā)明實(shí)施例的輔助路由器id號(hào)小于重啟路由器id號(hào)的情況下平滑重啟的流程圖;

      圖7是根據(jù)本發(fā)明實(shí)施例的輔助路由器id號(hào)大于重啟路由器id號(hào)的情況下平滑重啟的流程圖;

      圖8是根據(jù)本發(fā)明實(shí)施例的輔助路由器id號(hào)大于重啟路由器id號(hào)的情況下平滑重啟重傳定時(shí)的流程圖。

      具體實(shí)施方式

      下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。

      在本實(shí)施例中提供了一種平滑重啟流量中斷處理方法,圖1是根據(jù)本發(fā)明實(shí)施例的平滑重啟流量中斷處理方法的流程圖(一),如圖1所示,該流程包括如下步驟:

      步驟s102,輔助路由器接收到重啟路由器發(fā)送的指示消息,其中,該指示消息為該重啟路由器指示該輔助路由器為該重啟路由器產(chǎn)生摘要交互完成事件的消息;

      步驟s104,輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件;

      步驟s106,輔助路由器根據(jù)該摘要交互完成事件調(diào)整該輔助路由器的鄰居狀態(tài)為完全鄰接full,并指示該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件。

      通過上述步驟,輔助路由器為重啟路由器產(chǎn)生摘要交互完成事件,將該輔助路由器的鄰居狀態(tài)調(diào)整為完全鄰接full,并指示該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件。解決了相關(guān)技術(shù)中平滑重啟過程中流量中斷的問題,進(jìn)而避免了平滑重啟過程中發(fā)生 流量中斷。

      上述的指示消息可以為標(biāo)記的數(shù)據(jù)庫描述dd報(bào)文,從而可以通過設(shè)置more標(biāo)志位為0標(biāo)記該重啟路由器的dd報(bào)文。同理,該輔助路由器可以通過發(fā)送標(biāo)記的dd報(bào)文指示該重啟路由器為輔助路由器產(chǎn)生摘要交互完成事件。更進(jìn)一步,可以通過設(shè)置more標(biāo)志位為0標(biāo)記該輔助路由器的dd報(bào)文。

      進(jìn)一步,在該輔助路由器的鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表都為空的情況下,設(shè)置該輔助路由器more標(biāo)志位為0。當(dāng)該輔助路由器more標(biāo)志位為0且接收到該重啟路由器發(fā)送的more標(biāo)志位為0的該dd報(bào)文,輔助路由器為重啟路由器產(chǎn)生摘要交互完成事件,將其鄰居狀態(tài)位調(diào)整為full。

      一種可替代的方式為,該輔助路由器的鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表都為空且接收到該重啟路由器發(fā)送的more標(biāo)志位為0的該dd報(bào)文的情況下,設(shè)置該輔助路由器more標(biāo)志位為0,輔助路由器為重啟路由器產(chǎn)生摘要交互完成事件,將其鄰居狀態(tài)位調(diào)整為full。

      在一種可選的實(shí)施例中,當(dāng)輔助路由器的id號(hào)小于重啟路由器的id號(hào)的情況下,也即重啟路由器為主方控制整個(gè)鏈路狀態(tài)數(shù)據(jù)庫摘要交互過程的情況下,采取該輔助路由器的鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表都為空設(shè)置該輔助路由器more標(biāo)志位為0的方案。由于主方的數(shù)據(jù)庫摘要交互要大于從屬方,因而重啟路由器more標(biāo)志位置0發(fā)生在輔助路由器more標(biāo)志位置0之后,可節(jié)約平滑重啟的時(shí)間。

      更優(yōu)選的,當(dāng)輔助路由器的id號(hào)小于重啟路由器的id號(hào)的情況下,該鄰居數(shù)據(jù)庫摘要列表中所有l(wèi)sa都已經(jīng)添加到dd報(bào)文中且該輔助路由器確定鄰居請(qǐng)求列表為空,設(shè)置該輔助路由器more標(biāo)志位為0;接收到該重啟路由器發(fā)送的more標(biāo)志位為0的該dd報(bào)文以進(jìn)一步節(jié)約平滑重啟的時(shí)間。

      在另一種可選的實(shí)施例中,當(dāng)輔助路由器的id號(hào)大于重啟路由器的id號(hào)的情況下,也即輔助路由器為主方控制整個(gè)鏈路狀態(tài)數(shù)據(jù)庫摘要交互過程的情況下,在該輔助路由器通過發(fā)送more標(biāo)志位為0的dd報(bào)文指示該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件之后,該輔助路由器設(shè)置定時(shí)器,確定該重啟路由器接收到more標(biāo)志位為0的該dd報(bào)文。

      圖2是根據(jù)本發(fā)明實(shí)施例的平滑重啟流量中斷處理方法的流程圖(二),如圖2所示, 該流程包括如下步驟:

      s202,重啟路由器向輔助路由器發(fā)送指示消息,其中,該指示消息為該重啟路由器指示該輔助路由器為該重啟路由器產(chǎn)生摘要交互完成事件的消息;

      s204,該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件,其中,該摘要交互完成事件是該輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件,并根據(jù)該摘要交互完成事件調(diào)整該輔助路由器的鄰居狀態(tài)為完全鄰接full的情況下指示該重啟路由器產(chǎn)生的。

      圖3是根據(jù)本發(fā)明實(shí)施例的平滑重啟流量中斷處理裝置的結(jié)構(gòu)框圖(一),如圖3所示,該結(jié)構(gòu)框圖包括接收模塊32、第一產(chǎn)生模塊34和調(diào)整模塊36,下面對(duì)各個(gè)模塊進(jìn)行簡要說明。

      接收模塊32,用于接收重啟路由器發(fā)送的的指示消息,其中,該指示消息為該重啟路由器指示該輔助路由器為該重啟路由器產(chǎn)生摘要交互完成事件的消息;

      第一產(chǎn)生模塊34,用于根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件;

      調(diào)整模塊36,用于根據(jù)該摘要交互完成事件調(diào)整該輔助路由器的鄰居狀態(tài)為完全鄰接full,并指示該重啟路由器為該輔助路由器產(chǎn)生摘要交互完成事件。

      圖4是根據(jù)本發(fā)明實(shí)施例的平滑重啟流量中斷處理裝置的結(jié)構(gòu)框圖(二),如圖4所示,該結(jié)構(gòu)框圖包括發(fā)送模塊42和第二產(chǎn)生模塊44,下面對(duì)各個(gè)模塊進(jìn)行簡要說明。

      發(fā)送模塊42,用于向輔助路由器發(fā)送指示消息,其中,該指示消息為該重啟路由器指示該輔助路由器為該重啟路由器產(chǎn)生的摘要交互完成事件的消息;

      第二產(chǎn)生模塊44,用于為該輔助路由器產(chǎn)生摘要交互完成事件,其中,該摘要交互完成事件是該輔助路由器根據(jù)該指示消息為該重啟路由器產(chǎn)生摘要交互完成事件,并根據(jù)該摘要交互完成事件調(diào)整該輔助路由器的鄰居狀態(tài)為完全鄰接full的情況下指示該重啟路由器產(chǎn)生的。

      下面結(jié)合具體實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步說明。

      圖5是根據(jù)相關(guān)技術(shù)中輔助路由器id號(hào)大于重啟路由器id號(hào)的情況下平滑重啟流量中斷的示意圖,如圖5所示。

      步驟s502,在輔助路由器為master方的情況下,重啟路由器與輔助路由器進(jìn)行摘要交互。摘要交互包括重啟路由器向輔助路由器傳輸lsa頭部文件和輔助路由器向重啟路由器傳輸lsa頭部文件。

      步驟s504,重啟路由器收到輔助路由器發(fā)來的more標(biāo)志位為0的dd報(bào)文,判斷其即將發(fā)送出去的dd報(bào)文more標(biāo)志位也為0,為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫摘要交互完成exchangedone事件,退出exchange狀態(tài),并將最后一個(gè)dd報(bào)文發(fā)送給輔助路由器;然而由于鏈路傳輸問題導(dǎo)致該輔助路由器沒有接收到該重啟路由器發(fā)送的more標(biāo)志位為0的dd報(bào)文,該輔助路由器不會(huì)為鄰居狀態(tài)機(jī)產(chǎn)生exchangedone事件。此時(shí),該重啟路由器的鄰居請(qǐng)求列表為空,表明重啟路由器沒有向輔助路由器請(qǐng)求lsa,重啟路由器的鄰居狀態(tài)會(huì)切換到full狀態(tài)。

      步驟s506,重啟路由器向輔助路由器發(fā)送最大年齡maxage平滑重啟lsa,通知該輔助路由器退出平滑重啟輔助過程。

      步驟s508,該輔助路由器收到該重啟路由器發(fā)送來的輔助平滑重啟結(jié)束的信號(hào),會(huì)立即退出平滑重啟協(xié)助,產(chǎn)生新的路由器lsa。然而,由于未能接收到該重啟路由器more標(biāo)志位為0的dd報(bào)文,該輔助路由器不能為鄰居狀態(tài)機(jī)產(chǎn)生exchangedone事件,鄰居狀態(tài)將一直處于exchange狀態(tài)。重新產(chǎn)生的路由器lsa沒有指向該重啟路由器,導(dǎo)致通過該輔助路由器轉(zhuǎn)發(fā)到該重啟路由器的所有流量中斷。

      類似的,當(dāng)輔助路由器需要向重啟路由器請(qǐng)求更多鏈路狀態(tài)數(shù)據(jù)庫lsa的情況下,會(huì)出現(xiàn)重啟路由器鄰居狀態(tài)到達(dá)full狀態(tài),輔助路由器鄰居狀態(tài)處于loading狀態(tài)而導(dǎo)致通過該輔助路由器轉(zhuǎn)發(fā)到該重啟路由器的所有流量中斷。

      當(dāng)主備路由器倒換后,重啟路由器的數(shù)據(jù)庫清空,發(fā)送平滑重啟鏈路狀態(tài)通告主要是用來告知輔助路由器該重啟路由器正在平滑重啟,請(qǐng)求輔助路由器來協(xié)助其完成平滑重啟。輔助路由器收到重啟路由器的輔助平滑重啟請(qǐng)求后,輔助重啟路由器平滑重啟。

      重啟路由器發(fā)送完平滑重啟鏈路狀態(tài)通告后,開始發(fā)送hello報(bào)文用來與輔助路由器重新建立鄰居關(guān)系。在ospf協(xié)議中,重啟路由器與建立了鄰居關(guān)系的輔助路由器互為彼此的鄰居路由器。當(dāng)重啟路由器的鄰居狀態(tài)上升至exchange狀態(tài),開始進(jìn)行數(shù)據(jù)庫摘要的交互。所謂路由器的鄰居狀態(tài)是指鄰居路由器相對(duì)于該路由器的狀態(tài)。舉例說明,輔助路由器的鄰居狀態(tài)為exchange,表示重啟路由器可向該輔助路由器傳輸數(shù)據(jù)報(bào)文。調(diào)整輔 助路由器設(shè)置發(fā)送出去dd報(bào)文中more標(biāo)志位,以使得輔助路由器先于重啟路由器為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫摘要交互完成exchangedone事件。根據(jù)路由器id號(hào)的大小,數(shù)據(jù)庫摘要交互過程中有能控制整個(gè)數(shù)據(jù)交互過程的主方(master),和從屬方(slave)的區(qū)別。下面對(duì)輔助路由器為master方相應(yīng)的重啟路由器為slave方,以及輔助路由器為slave方相應(yīng)的重啟路由器為master方這兩種情況分別展開描述;

      重啟路由器id號(hào)大于輔助路由器id號(hào)的情況下,數(shù)據(jù)庫摘要交互過程中輔助路由器為slave,重啟路由器為master。

      當(dāng)需要發(fā)送新的dd報(bào)文時(shí),判斷輔助路由器鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表是否為空,如果輔助路由器鄰居數(shù)據(jù)庫摘要列表為空或者鄰居數(shù)據(jù)庫摘要列表中的所有l(wèi)sa頭部文件都已經(jīng)添加到dd報(bào)文中,并且輔助路由器的鄰居請(qǐng)求列表也為空時(shí),設(shè)置dd報(bào)文中的more標(biāo)志位為0,用來通告重啟路由器相應(yīng)的輔助路由器已經(jīng)將鄰居數(shù)據(jù)庫摘要列表中所有l(wèi)sa發(fā)送完畢,其余情況下設(shè)置dd報(bào)文中的more標(biāo)志位為1,用來通告重啟路由器相應(yīng)的輔助路由器鄰居數(shù)據(jù)庫摘要列表中還有未發(fā)送完的lsa頭部文件。

      當(dāng)輔助路由器dd位已置0并且已經(jīng)接收到重啟路由器發(fā)來的more標(biāo)志位為0的dd報(bào)文時(shí),為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫摘要交互完成exchangedone事件,鄰居狀態(tài)切換為full狀態(tài)。重啟路由器接收到more標(biāo)志位為0的dd報(bào)文,判斷本身鄰居數(shù)據(jù)庫摘要列表為空,完成數(shù)據(jù)庫同步,鄰居狀態(tài)上升至full狀態(tài),表示數(shù)據(jù)庫同步完成,已經(jīng)獲取到本端缺少的所有l(wèi)sa,退出gr并且通知輔助路由器也退出gr協(xié)助過程。

      輔助路由器收到的重啟路由器發(fā)來的退出gr協(xié)助過程信號(hào)時(shí),會(huì)立刻退出gr協(xié)助過程;輔助路由器收到的重啟路由器發(fā)來的退出gr協(xié)助過程信號(hào)時(shí),會(huì)立刻退出gr協(xié)助過程;該退出該gr協(xié)助信號(hào)可以為最大年齡maxage的grlsa。下面結(jié)合附圖6具體說明輔助路由器為slave方時(shí)平滑重啟協(xié)助流程,圖6是根據(jù)本發(fā)明實(shí)施例的重啟路由器id號(hào)大于輔助路由器id號(hào)的情況下平滑重啟流程圖,如圖6所示,包括以下步驟:

      步驟s602,在輔助路由器在數(shù)據(jù)庫摘要交互過程中處于slave方的情況下,輔助路由器發(fā)送新dd報(bào)文;

      步驟s604,判斷鄰居數(shù)據(jù)庫摘要列表是否為空;判斷結(jié)果為是,跳轉(zhuǎn)到步驟s610,判斷結(jié)果為否,執(zhí)行步驟s606;

      步驟s606,將鄰居數(shù)據(jù)庫摘要列表中l(wèi)sa添加到dd報(bào)文中;

      步驟s608,判斷鄰居數(shù)據(jù)庫摘要列表所有l(wèi)sa是否都添加到dd報(bào)文中,判斷結(jié)果為否,跳轉(zhuǎn)到步驟s618;判斷結(jié)果為是,執(zhí)行步驟s610;

      步驟s610,判斷鄰居請(qǐng)求列表是否為空,判斷結(jié)果為是,執(zhí)行步驟s612,判斷結(jié)果為否,跳轉(zhuǎn)到步驟s618;

      步驟s612,設(shè)置dd報(bào)文中more標(biāo)志位為0;

      步驟s614,判斷是否接收到鄰居發(fā)來的more標(biāo)志位為0的dd報(bào)文。判斷結(jié)果為是,執(zhí)行步驟s616,判斷結(jié)果為否,跳轉(zhuǎn)到步驟s620;

      步驟s616,為鄰居狀態(tài)機(jī)產(chǎn)生摘要交互完成事件,鄰居狀態(tài)到達(dá)完全鄰接,跳轉(zhuǎn)到步驟s620;

      步驟s618,設(shè)置dd報(bào)文more標(biāo)志位為1;

      步驟s620,將dd報(bào)文發(fā)送出去,結(jié)束平滑重啟。

      當(dāng)輔助路由器在數(shù)據(jù)庫摘要交互過程中處于slave方時(shí),不會(huì)主動(dòng)發(fā)送dd報(bào)文,只有接收到重啟路由器發(fā)來的dd報(bào)文才會(huì)發(fā)送相應(yīng)的dd報(bào)文。在數(shù)據(jù)庫交互協(xié)商完成時(shí),會(huì)將本地?cái)?shù)據(jù)庫所有l(wèi)sa頭部文件添加到鄰居數(shù)據(jù)庫摘要列表中,鄰居數(shù)據(jù)庫摘要交互過程中,會(huì)將數(shù)據(jù)庫摘要列表中所有l(wèi)sa頭部文件發(fā)送給鄰居路由器,讓鄰居路由器知道本端路由器數(shù)據(jù)庫的詳細(xì)信息。鄰居路由器缺少或者沒有本地lsa新,會(huì)向本端路由器請(qǐng)求對(duì)應(yīng)lsa,如果收到鄰居路由器發(fā)來了先前發(fā)送dd報(bào)文的確認(rèn),會(huì)將已發(fā)送地與之對(duì)應(yīng)的lsa頭部文件從鄰居數(shù)據(jù)庫摘要列表中刪除。

      發(fā)送dd報(bào)文時(shí),輔助路由器判斷鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表是否為空,如果鄰居數(shù)據(jù)庫摘要列表為空或者鄰居數(shù)據(jù)庫摘要列表中的所有l(wèi)sa頭部文件都已經(jīng)添加到dd報(bào)文中,并且鄰居請(qǐng)求列表為空,輔助路由器設(shè)置dd報(bào)文中的more標(biāo)志位為0,用來通告重啟路由器該輔助路由器已經(jīng)將鏈路狀態(tài)數(shù)據(jù)庫所有l(wèi)sa發(fā)送完畢,其余情況下設(shè)置dd報(bào)文中的more標(biāo)志位為1,用來通告重啟路由器該輔助路由器鄰居數(shù)據(jù)庫摘要列表中還有未發(fā)送完的lsa。

      當(dāng)從屬方輔助路由器即將發(fā)送的dd報(bào)文中的more標(biāo)志位設(shè)置為0并且已經(jīng)接收到重啟路由器發(fā)來的more標(biāo)志位為0的dd報(bào)文時(shí),輔助路由器為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫摘要交互完成exchangedone事件,鄰居狀態(tài)切換到full。重啟路由器接收到輔助路由器發(fā)送 的more標(biāo)志位為0的dd報(bào)文,為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫交互完成exchangedone事件。這樣就保證了輔助路由器端的鄰居狀態(tài)先于重啟路由器端鄰居狀態(tài)到達(dá)full,從而也就避免了先前重啟路由器鄰居狀態(tài)優(yōu)先切換到full狀態(tài)進(jìn)而通知輔助路由器退出gr協(xié)助過程,輔助路由器產(chǎn)生新的沒有指向重啟路由器連接的路由器lsa,進(jìn)而導(dǎo)致流量中斷的問題。

      圖7是根據(jù)本發(fā)明實(shí)施例的輔助路由器id號(hào)大于重啟路由器id號(hào)的情況下平滑重啟流程圖,如圖7所示,當(dāng)輔助路由器的id更大的情況下,數(shù)據(jù)庫摘要交互過程中輔助路由器為master方時(shí),輔助路由器控制整個(gè)鏈路狀態(tài)數(shù)據(jù)庫摘要交互過程包括以下步驟:

      步驟s702,在輔助路由器為master的情況下,輔助路由器發(fā)送新dd報(bào)文;

      步驟s704,判斷鄰居數(shù)據(jù)庫摘要列表是否為空,判斷結(jié)果為是,跳轉(zhuǎn)到步驟s708,判斷結(jié)果為否,執(zhí)行步驟s706;

      步驟s706,將鄰居數(shù)據(jù)庫摘要列表中l(wèi)sa添加到dd報(bào)文中,跳轉(zhuǎn)到步驟s718;

      步驟s708,判斷鄰居請(qǐng)求列表是否為空,判斷結(jié)果為是,執(zhí)行步驟s710,判斷結(jié)果為否,跳轉(zhuǎn)到步驟s718;

      步驟s710,判斷是否接收到鄰居發(fā)來的more標(biāo)志位為0的dd報(bào)文,判斷結(jié)果為是,執(zhí)行步驟s712,判斷結(jié)果為否,跳轉(zhuǎn)到步驟s718;

      步驟s712,設(shè)置dd報(bào)文中的more標(biāo)志位為0;

      步驟s714,為鄰居狀態(tài)機(jī)產(chǎn)生摘要交互完成事件,鄰居狀態(tài)到達(dá)完全鄰接;

      步驟s716,打開該dd報(bào)文重傳定時(shí)器,跳轉(zhuǎn)到步驟s720;

      步驟s718,設(shè)置該dd報(bào)文中的more標(biāo)志位為1;

      步驟s720,將該dd報(bào)文發(fā)送出去。

      當(dāng)需要發(fā)送新的dd報(bào)文時(shí),輔助路由器判斷鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表是否都為空,如果鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表都為空,并且已經(jīng)接收到重啟路由器發(fā)來more標(biāo)志位為0的dd報(bào)文,設(shè)置more標(biāo)志位為0的空dd報(bào)文,為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫摘要交互完成exchangedone事件,將重啟路由器的狀態(tài)切換到full,打開該dd報(bào)文的重傳定時(shí)器將其發(fā)送給重啟路由器;其余情況下設(shè)置dd報(bào)文中的more標(biāo)志位為1。 該重傳定時(shí)器在一段時(shí)間內(nèi)沒有接收到重啟路由器對(duì)dd報(bào)文確認(rèn),會(huì)重傳該dd報(bào)文。

      當(dāng)重啟路由器切換到full時(shí),如果接收到重啟路由器發(fā)來的相應(yīng)dd報(bào)文確認(rèn),刪除dd報(bào)文的重傳定時(shí)器;如果一定間隔內(nèi)沒有接收到重啟路由器發(fā)來的dd報(bào)文確認(rèn),將重傳最后一個(gè)more標(biāo)志位為0的空dd報(bào)文。

      當(dāng)輔助路由器需要發(fā)送新的dd報(bào)文時(shí),判斷該輔助路由器鄰居數(shù)據(jù)庫摘要列表和鄰居請(qǐng)求列表是否都為空,如果鄰居數(shù)據(jù)庫摘要列表和鄰居的請(qǐng)求列表都為空時(shí),并且已經(jīng)接收到重啟路由器發(fā)來的more標(biāo)志位為0的dd報(bào)文,設(shè)置輔助路由器dd報(bào)文中的more標(biāo)志位為0,為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫摘要交互完成exchangedone事件,鄰居狀態(tài)切換到full,并向重啟路由器發(fā)送more標(biāo)志位為0的dd報(bào)文。重啟路由器接收到輔助路由器more標(biāo)志位為0的dd報(bào)文后,為輔助路由器產(chǎn)生數(shù)據(jù)庫摘要交互完成exchangedone事件,保證輔助路由器鄰居狀態(tài)先于重啟路由器鄰居狀態(tài)切換至full。

      由于輔助路由器最后發(fā)送出去的more標(biāo)志位為0的dd報(bào)文可能出現(xiàn)丟失,打開該dd報(bào)文的重傳定時(shí)器。如果一段時(shí)間內(nèi)沒有接收到相應(yīng)的dd報(bào)文確認(rèn),該重傳定時(shí)器會(huì)重傳該dd報(bào)文。

      由于輔助路由器發(fā)送more標(biāo)志位為0的dd報(bào)文不會(huì)早于其將自身的鄰居狀態(tài)轉(zhuǎn)化為full,而重啟路由器在沒有接收到more標(biāo)志位為0的dd報(bào)文時(shí),不會(huì)為鄰居狀態(tài)機(jī)產(chǎn)生數(shù)據(jù)庫摘要交互完成exchangedone事件,從而保證了重啟路由器端的鄰居狀態(tài)晚于輔助路由器端鄰居狀態(tài)到達(dá)full,避免了先前重啟路由器鄰居狀態(tài)優(yōu)先切換到full狀態(tài)進(jìn)而通知鄰居路由器退出gr協(xié)助過程,鄰居路由器產(chǎn)生新的沒有指向重啟路由器連接的路由器lsa而導(dǎo)致流量中斷的問題。

      圖8是根據(jù)本發(fā)明實(shí)施例的輔助路由器id號(hào)大于重啟路由器id號(hào)的情況下平滑重啟重傳定時(shí)流程圖,如圖8所示,輔助路由器為master方時(shí)重傳dd報(bào)文處理流程包括以下步驟:

      步驟s802,如果一定間隔內(nèi)沒有接收到重啟路由器發(fā)來的dd報(bào)文確認(rèn),將重置重傳定時(shí)器,重傳最后一個(gè)more標(biāo)志位為0的空dd報(bào)文。

      步驟s804,如果接收到鄰居重啟路由器發(fā)來的相應(yīng)dd報(bào)文,確認(rèn)接收到該最后一個(gè)dd報(bào)文,刪除dd報(bào)文的重傳定時(shí)器,結(jié)束整個(gè)平滑重啟協(xié)助過程。

      通過上述步驟,輔助路由器會(huì)為最后一個(gè)dd報(bào)文打開重傳定時(shí)器,以確保重啟路由 器接收到輔助路由器發(fā)送的more標(biāo)志位為0的報(bào)文。

      顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1