国产精品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>

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

      文檔序號:11234540閱讀:462來源:國知局
      平滑重啟處理方法及裝置與流程

      本發(fā)明涉及數(shù)據(jù)網(wǎng)絡通信領域,尤其是涉及到平滑重啟處理方法及裝置。



      背景技術:

      平滑重啟(gracefulrestart,簡稱gr)主要實現(xiàn)的功能是在路由協(xié)議重啟的時候保證數(shù)據(jù)轉發(fā)層面功能的正常,以保證關鍵業(yè)務不中斷。平滑重啟技術是術語高可靠性技術的一種,高可靠性技術是一整套綜合技術,主要包括冗余容錯、鏈路保證、節(jié)點故障修復等。平滑重啟是一種冗余容錯技術,目前已經(jīng)被廣泛地使用在主備切換和系統(tǒng)升級等方面,從而保證關鍵業(yè)務不間斷轉發(fā)。在沒有使用gr技術的時候,因為各種原因出現(xiàn)的主備切換,都會造成短時間的流量轉發(fā)中斷,并且在全網(wǎng)中造成路由震蕩。而使用gr技術則可以避免上述一系列的問題,流量轉發(fā)不會發(fā)生中斷。

      開放式最短路徑優(yōu)先(openshortestpathfirst,簡稱ospf)主備倒換后,重啟路由器會與鄰居(又稱helper)路由器進行鏈路狀態(tài)數(shù)據(jù)庫同步,鄰居路由器協(xié)助重啟路由器完成重啟前數(shù)據(jù)庫的同步。當重啟路由器發(fā)現(xiàn)自己重啟前產(chǎn)生的鏈路狀態(tài)通告有指向鄰居路由器的連接但鄰居路由器產(chǎn)生的鏈路狀態(tài)通告卻沒有指向重啟路由器連接時,重啟路由器判斷鄰居路由器沒有協(xié)助自己完成平滑重啟,便會立刻退出平滑重啟過程。在重啟路由器錯誤判斷鄰居路由器重啟前與重啟中的鄰居狀態(tài)發(fā)生變化的情況下,將導致平滑重啟異常退出。

      針對相關技術中平滑重啟異常退出的問題,現(xiàn)有技術還未提出有效的解決方案。



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

      本發(fā)明的目的在于提供了平滑重啟處理方法及裝置,解決了相關技術中 平滑重啟異常退出的問題。

      根據(jù)本發(fā)明的一個方面,提供一種平滑重啟處理方法,包括:重啟路由器獲取平滑重啟前鄰居路由器的第一鄰居狀態(tài)與平滑重啟中鄰居路由器的第二鄰居狀態(tài),其中,該重啟路由器平滑重啟前的鄰居狀態(tài)為完全鄰接(又稱full);該重啟路由器判斷第一鄰居狀態(tài)與第二鄰居狀態(tài)是否相同;在判斷結果為否的情況下,該重啟路由器退出平滑重啟。

      進一步地,該重啟路由器獲取平滑重啟前鄰居路由器的第一鄰居狀態(tài)與平滑重啟中鄰居路由器的第二鄰居狀態(tài)包括:該重啟路由器接收該鄰居路由器發(fā)送的攜帶有該第一鄰居狀態(tài)的多個鏈路狀態(tài)通告(linkstateadvertisement,簡稱lsa),和攜帶有該第二鄰居狀態(tài)的多個鏈路狀態(tài)通告(linkstateadvertisement,簡稱lsa);該重啟路由器從多個lsa中獲取該第一鄰居狀態(tài)和該第二鄰居狀態(tài)。

      進一步地,該lsa為路由器lsa,或者,該lsa為路由器lsa和網(wǎng)絡lsa。

      進一步地,該重啟路由器從多個lsa中獲取該第一鄰居狀態(tài)和該第二鄰居狀態(tài)包括:在該lsa為路由器lsa的情況下,該重啟路由器判斷該鄰居路由器的路由器lsa是否指向該重啟路由器,在判斷結果為是的情況下,獲取到該鄰居路由器的第一鄰居狀態(tài)或第二鄰居狀態(tài)為full;或者,在該lsa為路由器lsa和網(wǎng)絡lsa的情況下,該重啟路由器判斷該路由器lsa是否指向對應的接口網(wǎng)絡的傳輸網(wǎng)絡類型連接且該路由器lsa對應的網(wǎng)絡lsa中是否記載有該重啟路由器信息,在判斷結果都為是的情況下,獲取到該鄰居路由器的第一鄰居狀態(tài)或第二鄰居狀態(tài)為full。

      進一步地,該重啟路由器判斷該鄰居路由器的路由器lsa是否指向該重啟路由器包括:該重啟路由器判斷接口網(wǎng)絡類型是否為廣播網(wǎng)或非廣播多路訪問網(wǎng)絡(non-broadcastmultipleaccess,簡稱nbma網(wǎng)絡);在判斷結果為否的情況下,該重啟路由器判斷該鄰居路由器的路由器lsa是否指向該重啟路由器;或判斷結果為是且該重啟路由器的接口角色為指定路由器的情況下, 該重啟路由器判斷該鄰居路由器的路由器lsa是否指向該重啟路由器。

      進一步地,該重啟路由器判斷該路由器lsa是否指向該路由器lsa對應的接口網(wǎng)絡的傳輸網(wǎng)絡類型連接且對應的網(wǎng)絡lsa中是否記載有該重啟路由器信息包括:該重啟路由器判斷接口網(wǎng)絡類型是否為廣播網(wǎng)或nbma網(wǎng)絡;在判斷結果為是且該重啟路由器的接口角色不為指定路由器的情況下,該重啟路由器判斷該路由器lsa是否指向對應的接口網(wǎng)絡的傳輸網(wǎng)絡類型連接且該路由器lsa對應的網(wǎng)絡lsa中是否記載有該重啟路由器信息。

      進一步地,在判斷結果為否的情況下,該重啟路由器退出平滑重啟包括:在該第一鄰居狀態(tài)為full且該重啟路由器的鄰居狀態(tài)與該第二鄰居狀態(tài)不一致的情況下,該重啟路由器確定該第一鄰居狀態(tài)與該第二鄰居狀態(tài)為不同,退出平滑重啟。

      進一步地,該重啟路由器接收該鄰居路由器發(fā)送的攜帶有該第一鄰居狀態(tài)的多個lsa,和攜帶有該第二鄰居狀態(tài)的多個lsa之前,該平滑重啟處理方法還包括:該重啟路由器請求該鄰居路由器的第一鄰居狀態(tài);在限制的請求次數(shù)和/或預定的請求時間內未接收到該鄰居路由器發(fā)送的第一鄰居狀態(tài)的情況下,該重啟路由器推定該鄰居路由器的第一鄰居狀態(tài)為full。

      根據(jù)本發(fā)明的另一個方面,提供一種平滑重啟處理方法,包括:鄰居路由器向重啟路由器發(fā)送平滑重啟前該鄰居路由器的第一鄰居狀態(tài)與平滑重啟中該鄰居路由器的第二鄰居狀態(tài),其中,該重啟路由器平滑重啟前的鄰居狀態(tài)為full;在該第一鄰居狀態(tài)與該第二鄰居狀態(tài)不相同且該重啟路由器退出平滑重啟的情況下,該鄰居路由器退出平滑重啟協(xié)助。

      根據(jù)本發(fā)明的另一個方面,提供一種平滑重啟處理裝置,包括:獲取模塊,用于獲取平滑重啟前鄰居路由器的第一鄰居狀態(tài)與平滑重啟中鄰居路由器的第二鄰居狀態(tài),其中,該重啟路由器平滑重啟前的鄰居狀態(tài)為full;判斷模塊,用于判斷第一鄰居狀態(tài)與第二鄰居狀態(tài)是否相同;處理模塊,用于在判斷結果為否的情況下,退出平滑重啟。

      通過本發(fā)明,采用獲取平滑重啟前鄰居路由器的鄰居狀態(tài)的技術方案, 解決了相關技術中平滑重啟異常退出的問題,降低平滑重啟中流量中斷的發(fā)生幾率。

      附圖說明

      此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:

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

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

      圖3是根據(jù)本發(fā)明實施例的平滑重啟處理裝置的結構框圖;

      圖4是根據(jù)本發(fā)明實施例的記錄重啟路由器狀態(tài)為full對應的鄰居路由器的流程圖;

      圖5是根據(jù)本發(fā)明實施例的重啟中重啟路由器向記錄的鄰居路由器請求lsa的流程圖;

      圖6是根據(jù)本發(fā)明實施例的重啟路由器接收請求的lsa的流程圖;

      圖7是根據(jù)本發(fā)明實施例的重啟路由器在鄰居路由器重啟前與重啟中鄰居狀態(tài)不一致情況下處理的流程圖。

      具體實施方式

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

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

      步驟s102,重啟路由器獲取平滑重啟前鄰居路由器的第一鄰居狀態(tài)與平 滑重啟中鄰居路由器的第二鄰居狀態(tài),其中,該重啟路由器平滑重啟前的鄰居狀態(tài)為full;

      步驟s104,該重啟路由器判斷第一鄰居狀態(tài)與第二鄰居狀態(tài)是否相同;

      步驟s106,在判斷結果為否的情況下,該重啟路由器退出平滑重啟。

      可選地,上述步驟s106包括:在該第一鄰居狀態(tài)為full且該重啟路由器的鄰居狀態(tài)與該重啟路由器對應的該鄰居路由器的第二鄰居狀態(tài)不一致的情況下,該重啟路由器確定該第一鄰居狀態(tài)與該第二鄰居狀態(tài)為不同,退出平滑重啟。

      可選地,該重啟路由器可以通過下述方法獲取上述第一鄰居狀態(tài)與第二鄰居狀態(tài):該重啟路由器接收該鄰居路由器發(fā)送的攜帶有該第一鄰居狀態(tài)的多個lsa,和攜帶有該第二鄰居狀態(tài)的多個lsa。該重啟路由器從上述的多個lsa中獲取該第一鄰居狀態(tài)和該第二鄰居狀態(tài)。

      優(yōu)選地,在重啟路由器接收該鄰居路由器發(fā)送的攜帶有該第一鄰居狀態(tài)的多個lsa,和攜帶有該第二鄰居狀態(tài)的多個lsa之前,重啟路由器向鄰居路由器請求該鄰居路由器的第一鄰居狀態(tài)。在經(jīng)過限制的請求次數(shù)后仍未收到該鄰居路由器發(fā)送的第一鄰居狀態(tài)的情況下,該重啟路由器推定該鄰居路由器的第一鄰居狀態(tài)為full??蛇x地,重啟路由器可設置預定請求時間,在預定的請求時間后未收到該鄰居路由器發(fā)送的鄰居狀態(tài)的情況下,該重啟路由器推定該鄰居路由器的第一鄰居狀態(tài)為full??蛇x地,重啟路由器可限定請求次數(shù)或預定請求時間,以兩者在后發(fā)生或在前發(fā)生的時間節(jié)點為準,未收到該鄰居路由器發(fā)送的鄰居狀態(tài)的情況下,該重啟路由器推定該鄰居路由器的第一鄰居狀態(tài)為full。

      進一步地,上述攜帶有第一鄰居狀態(tài)或第二鄰居狀態(tài)的lsa為路由器lsa,或路由器lsa和網(wǎng)絡lsa(下面將路由器lsa,或路由器lsa和網(wǎng)絡lsa簡稱為路由器/網(wǎng)絡lsa)。

      更進一步,在該lsa僅為路由器lsa不包括網(wǎng)絡lsa的情況下,該重啟路由器判斷該鄰居路由器的路由器lsa是否指向該重啟路由器,在判斷結果 為是的情況下,獲取該鄰居路由器鄰居狀態(tài)為full;在判斷結果為否的情況下,獲取該鄰居路由器鄰居狀態(tài)不為full,該鄰居狀態(tài)可以為第一鄰居狀態(tài)或第二鄰居狀態(tài)。

      更進一步,在該lsa為路由器lsa和網(wǎng)絡lsa的情況下,該重啟路由器判斷該路由器lsa是否指向對應的接口網(wǎng)絡的傳輸網(wǎng)絡類型連接且該路由器lsa對應的網(wǎng)絡lsa中是否記載有該重啟路由器信息,在判斷結果都為是的情況下,獲取該鄰居路由器鄰居狀態(tài)為full;在判斷結果都為否的情況下,獲取該鄰居路由器鄰居狀態(tài)不為full,該鄰居狀態(tài)可以為第一鄰居狀態(tài)或第二鄰居狀態(tài)。

      值得一提的是,在接口網(wǎng)絡類型不為廣播網(wǎng)或nbma網(wǎng)絡的情況下,該重啟路由器判斷該鄰居路由器的路由器lsa是否指向該重啟路由器。在接口網(wǎng)絡類型為廣播網(wǎng)或nbma網(wǎng)絡且接口角色為指定路由器的情況下,該重啟路由器判斷該鄰居路由器的路由器lsa是否指向該重啟路由器。在接口網(wǎng)絡類型為廣播網(wǎng)或nbma網(wǎng)絡且接口角色不為指定路由器的情況下,判斷該路由器lsa是否指向對應的接口網(wǎng)絡的傳輸網(wǎng)絡類型連接且該路由器lsa對應的網(wǎng)絡lsa中是否記載有該重啟路由器信息。網(wǎng)絡中可能同時存在接口網(wǎng)絡類型為廣播網(wǎng)和nbma網(wǎng)絡的接口。

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

      步驟s202,鄰居路由器向重啟路由器發(fā)送平滑重啟前該鄰居路由器的第一鄰居狀態(tài)與平滑重啟中該鄰居路由器的第二鄰居狀態(tài),其中,該重啟路由器平滑重啟前的鄰居狀態(tài)為full;

      步驟s204,在該第一鄰居狀態(tài)與該第二鄰居狀態(tài)不相同且該重啟路由器退出平滑重啟的情況下,該鄰居路由器退出平滑重啟協(xié)助。

      圖3是根據(jù)本發(fā)明實施例的平滑重啟處理裝置的結構框圖,如圖3所示,該裝置包括:

      獲取模塊32,用于獲取平滑重啟前鄰居路由器的第一鄰居狀態(tài)與平滑重 啟中鄰居路由器的第二鄰居狀態(tài),其中,該重啟路由器平滑重啟前的鄰居狀態(tài)為full;

      判斷模塊34,用于判斷第一鄰居狀態(tài)與第二鄰居狀態(tài)是否相同;

      處理模塊36,用于在判斷結果為否的情況下,退出平滑重啟。

      下面結合具體實施例對本發(fā)明進行進一步說明。

      本發(fā)明實施例提供了一種避免錯誤退出平滑重啟的方法,開放式最短路徑優(yōu)先(openshortestpathfirst,簡稱ospf)主備倒換前,記錄接口下處于full狀態(tài)的鄰居路由器,主備倒換后向記錄的鄰居路由器請求路由器鏈路狀態(tài)通告(linkstateadvertisement,簡稱lsa),或路由器lsa和網(wǎng)絡lsa。如果記錄的鄰居路由器的lsa沒有指向重啟路由器的連接,標記該鄰居路由器的鄰居狀態(tài)不為full。鏈路狀態(tài)數(shù)據(jù)庫同步過程中,在接收到鄰居路由器當前的路由器的lsa的情況下,如果鄰居路由器的lsa沒有指向重啟路由器連接并且重啟路由器lsa有指向鄰居路由器連接,判斷該鄰居路由器的鄰居狀態(tài)是否被標記不為full,若該鄰居路由器的鄰居狀態(tài)被標記不為full,則忽略雙方連接不一致,重啟路由器不退出平滑重啟過程,避免了可能錯誤退出平滑重啟的問題,從而保證平滑重啟過程順利完成。

      該實施例包括以下步驟:

      主備倒換前,重啟路由器記錄接口下狀態(tài)處于full的鄰居路由器。如果接口網(wǎng)絡類型為廣播網(wǎng)或nbma(nonbroadcastmultipleaccess)網(wǎng)絡,并且接口角色不為指定路由器(designatedrouter,簡稱dr),只記錄鄰居狀態(tài)為full的dr鄰居路由器和標記接口角色為非指定路由器;其余情況下,記錄所有狀態(tài)處于full的鄰居路由器;

      重啟路由器主備倒換后,向接口上先前記錄的鄰居路由器請求發(fā)送其對應的路由器lsa/網(wǎng)絡lsa。如果接口網(wǎng)絡類型為廣播網(wǎng)或nbma網(wǎng)絡,并且接口角色不為指定路由器,向接口上記錄的dr鄰居路由器請求發(fā)送路由器lsa和網(wǎng)絡lsa;其余情況下向接口上記錄的鄰居路由器請求發(fā)送路由器lsa;

      重啟路由器接收到鄰居路由器發(fā)來的路由器lsa/網(wǎng)絡lsa,標記重啟前鄰居路由器的lsa連接的真實狀態(tài)。其中,如果接口網(wǎng)絡類型不為廣播網(wǎng)/nbma網(wǎng)絡,或者網(wǎng)絡類型為廣播網(wǎng)/nbma網(wǎng)絡并且接口角色為指定路由器dr,判斷對應的路由器lsa是否有指向重啟路由器的連接,如果對應的路由器lsa沒有指向重啟路由器的連接,說明重啟前鄰居路由器關于重啟路由器的鄰居狀態(tài)還沒到達full,標記接口上該鄰居的狀態(tài)不為full,后續(xù)忽略該鄰居連接不一致的檢查。如果接口網(wǎng)絡類型為廣播網(wǎng)/nbma網(wǎng)絡,并且接口角色不為指定路由器dr,判斷路由器lsa是否有指向對應接口網(wǎng)絡的傳輸網(wǎng)絡類型連接,如果路由器lsa沒有指向對應接口網(wǎng)絡的傳輸網(wǎng)絡類型連接,說明重啟前鄰居路由器關于重啟路由器的鄰居狀態(tài)還沒到達full,標記接口上該鄰居的狀態(tài)不為full,后續(xù)忽略該鄰居連接不一致的檢查;如果路由器lsa有指向對應接口網(wǎng)絡的傳輸網(wǎng)絡類型連接,并且存在路由器lsa通告者dr鄰居路由器產(chǎn)生的網(wǎng)絡lsa,判斷網(wǎng)絡lsa是否有重啟路由器記錄,如果網(wǎng)絡lsa沒有重啟路由器記錄,說明重啟前鄰居路由器關于重啟路由器的鄰居狀態(tài)還沒到達full,標記接口上該鄰居的狀態(tài)不為full,后續(xù)忽略該鄰居連接不一致的檢查;

      重啟路由器發(fā)送平滑重啟grlsa,請求鄰居路由器協(xié)助重啟路由器完成平滑重啟,平滑重啟grlsa發(fā)送完畢后開始和鄰居路由器重新建立鄰居關系,進行數(shù)據(jù)庫同步。

      數(shù)據(jù)庫同步過程中,重啟路由器接收到鄰居路由器發(fā)來的重啟路由器重啟前產(chǎn)生的路由器lsa,或路由器lsa和網(wǎng)絡lsa和鄰居路由器產(chǎn)生的lsa,或路由器lsa和網(wǎng)絡lsa,如果重啟路由器lsa有指向鄰居路由器連接但是鄰居路由器的lsa沒有指向重啟路由器連接時,檢查對應鄰居的狀態(tài)是否標記為不為full,如果鄰居的狀態(tài)標記為不為full,則忽略連接不一致,不退出平滑重啟過程;否則,立刻退出平滑重啟過程。

      附圖4是根據(jù)本發(fā)明實施例的記錄重啟路由器狀態(tài)為full對應的鄰居路由器的流程圖,如圖4所示。

      當重啟路由器的鄰居狀態(tài)到達full時,重啟路由器在產(chǎn)生的路由器,或路由器lsa和網(wǎng)絡lsa中添加指向鄰居路由器的連接。如果接口網(wǎng)絡類型是廣播網(wǎng)/nbma網(wǎng)絡,會添加指向傳輸網(wǎng)絡類型的連接;如果接口網(wǎng)絡類型不是廣播網(wǎng)/nbma網(wǎng)絡,會添加指向路由器點到點類型的連接。

      由于接口網(wǎng)絡類型的差別,每種接口網(wǎng)絡類型產(chǎn)生的路由器lsa的連接類型也不一樣,當接口網(wǎng)絡類型為廣播網(wǎng)/nbma網(wǎng)絡,路由器lsa連接類型為傳輸網(wǎng)絡,鄰居狀態(tài)到達full時,路由器lsa添加指向dr路由器的傳輸網(wǎng)絡類型連接;當接口網(wǎng)絡類型不為廣播網(wǎng)/nbma網(wǎng)絡,路由器lsa連接類型為點到點網(wǎng)絡,鄰居狀態(tài)到達full時,路由器lsa添加指向鄰居路由器的點到點類型連接。

      主備倒換前,重啟路由器需要區(qū)分接口的網(wǎng)絡類型,來記錄接口上狀態(tài)處于full的鄰居路由器。如果接口類型為廣播網(wǎng)/nbma網(wǎng)絡,并且接口角色不為指定路由器dr,只記錄鄰居狀態(tài)為full的dr鄰居路由器和標記接口角色為非指定路由器;其余情況下,記錄所有狀態(tài)處于full的鄰居路由器。

      具體而言,該方法包括如下步驟:

      步驟s402,處理未遍歷到接口;

      步驟s404,判斷接口網(wǎng)絡類型為廣播網(wǎng)/nbma,在判斷結果為是的情況下,跳轉執(zhí)行步驟s414,在判斷結果為否的情況下,執(zhí)行步驟s406;

      步驟s406,遍歷接口下未處理的鄰居;

      步驟s408,判斷鄰居狀態(tài)為full,在判斷結果為是的情況下,執(zhí)行步驟s410,在判斷結果為否的情況下,跳轉執(zhí)行步驟s412;

      步驟s410,記錄鄰居與接口的對應關系;

      步驟s412,判斷接口下還有未處理的鄰居;

      步驟s414,判斷接口為指定路由器,在判斷結果為是的情況下,執(zhí)行步驟s406,在判斷結果為否的情況下,執(zhí)行步驟s416;

      步驟s416,判斷指定路由器鄰居狀態(tài)為full,在判斷結果為是的情況下,執(zhí)行步驟s418,在判斷結果為否的情況下,跳轉執(zhí)行步驟s420;

      步驟s418,記錄鄰居與接口的對應關系和接口角色為非指定路由器;

      步驟s420,判斷所有接口處理完,在判斷結果為是的情況下,結束流程,在判斷結果為否的情況下,執(zhí)行步驟s402。

      附圖5是根據(jù)本發(fā)明實施例的重啟中重啟路由器向記錄的鄰居路由器請求lsa的流程圖,如圖5所示。

      重啟路由器主備倒換后,向接口上先前記錄的鄰居路由器請求發(fā)送其對應的路由器lsa/網(wǎng)絡lsa。如果接口網(wǎng)絡類型為廣播網(wǎng)/nbma網(wǎng)絡,并且接口角色不為指定路由器,向接口上記錄的dr鄰居路由器請求發(fā)送路由器lsa和網(wǎng)絡lsa;其余情況下向接口上記錄的鄰居路由器請求發(fā)送路由器lsa。

      主備倒換過程中,如果鄰居路由器離開網(wǎng)絡,會導致重啟路由器一直得不到該鄰居路由器發(fā)送的路由器lsa/網(wǎng)絡lsa,為避免該問題,限制向鄰居路由器發(fā)送請求路由器lsa/網(wǎng)絡lsa的次數(shù),當設置次數(shù)內還沒接收到鄰居路由器發(fā)送的路由器lsa/網(wǎng)絡lsa,后續(xù)數(shù)據(jù)庫同步過程中按照原有判斷原則處理鄰居路由器的lsa不一致現(xiàn)象,即發(fā)現(xiàn)自己先前產(chǎn)生的路由器lsa/網(wǎng)絡lsa有指向鄰居路由器的連接但是鄰居路由器的lsa卻沒有指向重啟路由器的連接,重啟路由器立刻退出平滑重啟過程。

      具體而言,該方法包括如下步驟:

      步驟s502,處理未遍歷到接口;

      步驟s504,判斷接口網(wǎng)絡類型為廣播網(wǎng)/nbma,在判斷結果為是的情況下,執(zhí)行步驟s506;在判斷結果為否的情況下,跳轉執(zhí)行步驟s508;

      步驟s506,判斷接口先前為指定路由器dr,在判斷結果為是的情況下,執(zhí)行步驟s508,在判斷結果為否的情況下,跳轉執(zhí)行步驟s510;

      步驟s508,向接口記錄下的鄰居路由器發(fā)送相應路由器鏈路狀態(tài)請求lsa 的請求;

      步驟s510,向接口記錄下的鄰居路由器發(fā)送相應路由器/網(wǎng)絡lsa請求;

      步驟s512,判斷所有接口處理完,在判斷結果為是的情況下,結束流程,在判斷結果為否的情況下,執(zhí)行步驟s502。

      附圖6是根據(jù)本發(fā)明實施例的重啟路由器接收請求的lsa的流程圖,如圖6所示。

      重啟路由器向先前記錄的鄰居路由器發(fā)送請求路由器lsa/網(wǎng)絡lsa后,鄰居路由器發(fā)送相應的路由器lsa/網(wǎng)絡lsa給重啟路由器,重啟路由器接收到鄰居路由器發(fā)送的路由器lsa/網(wǎng)絡lsa,解析路由器lsa/網(wǎng)絡lsa標記重啟前鄰居路由器連接的真實狀態(tài)。

      如果接口網(wǎng)絡類型不為廣播網(wǎng)/nbma網(wǎng)絡,或者網(wǎng)絡類型為廣播網(wǎng)/nbma網(wǎng)絡并且接口角色為指定路由器dr,判斷對應的路由器lsa是否有指向重啟路由器的連接,如果對應的路由器lsa沒有指向重啟路由器的連接,說明重啟前鄰居路由器關于重啟路由器的鄰居狀態(tài)還沒到達full,標記接口上該鄰居的狀態(tài)不為full,后續(xù)忽略該鄰居連接不一致,即出現(xiàn)重啟路由器有指向鄰居路由器連接但鄰居路由器卻沒有指向重啟路由器連接時,重啟路由器不退出平滑重啟過程;

      如果接口網(wǎng)絡類型為廣播網(wǎng)/nbma網(wǎng)絡,并且接口角色不為指定路由器dr,判斷路由器lsa是否有指向對應接口網(wǎng)絡的傳輸網(wǎng)絡類型連接,如果路由器lsa沒有指向對應接口網(wǎng)絡的傳輸網(wǎng)絡類型連接,說明重啟前鄰居路由器關于重啟路由器的鄰居狀態(tài)還沒到達full,標記接口上該鄰居的狀態(tài)不為full,后續(xù)忽略該鄰居連接不一致;如果路由器lsa有指向對應接口網(wǎng)絡的傳輸網(wǎng)絡類型連接,并且存在路由器lsa通告者dr鄰居產(chǎn)生的網(wǎng)絡lsa,判斷網(wǎng)絡lsa是否有重啟路由器記錄,如果網(wǎng)絡lsa沒有重啟路由器記錄,說明重啟前鄰居路由器關于重啟路由器的鄰居狀態(tài)還沒到達full,標記接口上該鄰居的狀態(tài)不為full,后續(xù)忽略該鄰居連接不一致。

      具體而言,該方法包括如下步驟:

      步驟s602,判斷接收到路由器/網(wǎng)絡鏈路狀態(tài)通告lsa,在判斷結果為是的情況下,執(zhí)行步驟s604,在判斷結果為否的情況下,結束流程;

      步驟s604,判斷接口為廣播網(wǎng)/nbma且接口不為指定路由器,在判斷結果為是的情況下,執(zhí)行步驟s606,在判斷結果為否的情況下,跳轉執(zhí)行步驟s614;

      步驟s606,判斷路由器lsa指向接口網(wǎng)絡傳輸網(wǎng)絡類型,在判斷結果為是的情況下,執(zhí)行步驟s608,在判斷結果為否的情況下,跳轉執(zhí)行步驟s616;

      步驟s608,判斷存在對應鄰居網(wǎng)絡lsa,在判斷結果為是的情況下,執(zhí)行步驟s610,在判斷結果為否的情況下,結束流程;

      步驟s610,判斷網(wǎng)絡lsa有重啟路由器記錄,在判斷結果為否的情況下,執(zhí)行步驟s612,在判斷結果為是的情況下,結束流程;

      步驟s612,標記接口上該鄰居的狀態(tài)不為full;

      步驟s614,判斷路由器lsa有指向重啟路由器連接,在判斷結果為是的情況下,結束流程,在判斷結果為否的情況下,執(zhí)行步驟s616;

      步驟s616,標記接口上該鄰居的狀態(tài)不為full,結束流程。

      附圖7是根據(jù)本發(fā)明實施例的重啟路由器在鄰居路由器重啟前與重啟中鄰居狀態(tài)不一致情況下處理的流程圖,如圖7所示。

      主備倒換后,鄰居路由器協(xié)助重啟路由器完成數(shù)據(jù)庫同步,會將數(shù)據(jù)庫中l(wèi)sa發(fā)送給重啟路由器,包括重啟路由器先前產(chǎn)生的路由器lsa/網(wǎng)絡lsa。當重啟路由器接收到鄰居路由器發(fā)來的自己重啟前產(chǎn)生的路由器lsa/網(wǎng)絡lsa和鄰居路由器產(chǎn)生的路由器lsa/網(wǎng)絡lsa,如果重啟路由器的lsa有指向鄰居路由器連接但是鄰居路由器的lsa卻沒有指向重啟路由器連接時,檢查對應鄰居的狀態(tài)是否標記為不為full,如果鄰居的狀態(tài)標記不為full,則忽略連接不一致,不退出平滑重啟過程;如果鄰居的狀態(tài)沒有標記為full,則立刻退出平滑重啟過程。

      通過獲取鄰居路由器重啟前真實的連接狀態(tài),可以比較鄰居路由器重啟 前后真實的連接狀態(tài),判斷鄰居路由器重啟前后是否發(fā)生變化,避免了先前沒有獲取鄰居路由器重啟前真實的連接狀態(tài),僅從重啟路由器重啟前的連接狀態(tài)推斷鄰居路由器重啟前的連接狀態(tài),后續(xù)可能出現(xiàn)重啟路由器錯誤判斷導致退出平滑重啟過程的問題,從而保證平滑重啟過程順利完成。

      具體而言,該方法包括如下步驟:

      步驟s702,平滑重啟中與鄰居路由器進行數(shù)據(jù)庫同步;

      步驟s704,接收到鄰居發(fā)來的路由器/網(wǎng)絡lsa;

      步驟s706,判斷l(xiāng)sa未指向重啟路由器且重啟路由器指向鄰居,在判斷結果為是的情況下,執(zhí)行步驟s708,在判斷結果為否的情況下,結束流程;

      步驟s708,判斷鄰居被打上狀態(tài)不為full的標識,在判斷結果為是的情況下,執(zhí)行步驟s710,在判斷結果為否的情況下,跳轉執(zhí)行步驟s712;

      步驟s710,忽略連接不一致;

      步驟s712,退出平滑重啟gr。

      顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。

      以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包括在本發(fā)明的保護范圍之內。

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