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

      平滑重啟過(guò)程中避免路由振蕩的方法及平滑重啟設(shè)備的制作方法

      文檔序號(hào):7928219閱讀:226來(lái)源:國(guó)知局

      專(zhuān)利名稱::平滑重啟過(guò)程中避免路由振蕩的方法及平滑重啟設(shè)備的制作方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及路由協(xié)議中的平滑重啟(GR,GracefulRestart)技術(shù),尤其涉及平滑重啟過(guò)程中避免路由振蕩的方法及平滑重啟設(shè)備。
      背景技術(shù)
      :目前網(wǎng)絡(luò)上大多數(shù)分布式設(shè)備都采用控制軟件與轉(zhuǎn)發(fā)軟件相分離的結(jié)構(gòu),其中,控制軟件負(fù)責(zé)整個(gè)設(shè)備的控制與管理,包括運(yùn)行路由協(xié)議進(jìn)行路由發(fā)現(xiàn)和路由下刷等;轉(zhuǎn)發(fā)軟件只負(fù)責(zé)單純的數(shù)據(jù)轉(zhuǎn)發(fā)業(yè)務(wù),其根據(jù)控制軟件的通知消息維護(hù)自己的轉(zhuǎn)發(fā)表,并根據(jù)轉(zhuǎn)發(fā)表進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。這兩種軟件分別由各自的處理器進(jìn)行控制,功能上完全獨(dú)立。GR是應(yīng)用在控制軟件與轉(zhuǎn)發(fā)軟件相分離的設(shè)備中的一種平滑重啟技術(shù),其通過(guò)對(duì)原有路由協(xié)議流程進(jìn)行改造,使得在控制軟件重啟時(shí)能夠保證轉(zhuǎn)發(fā)業(yè)務(wù)的不中斷。下面結(jié)合圖1所示的應(yīng)用場(chǎng)景對(duì)GR技術(shù)作一下簡(jiǎn)單說(shuō)明。圖1中,RO、Rl、R2、R3都是具備GR能力的設(shè)備,Rl、R2、R3和RO建立鄰居關(guān)系。當(dāng)RO在運(yùn)行過(guò)程中發(fā)生主備倒換需要進(jìn)行控制軟件重啟時(shí),詳細(xì)的GR過(guò)程如下RO在運(yùn)行過(guò)程中由于某種原因發(fā)生主備倒換時(shí),RO上的轉(zhuǎn)發(fā)軟件仍然正常運(yùn)行,其上的轉(zhuǎn)發(fā)表項(xiàng)仍然保持穩(wěn)定;RO的備板變成新的主板后,RO成為平滑重啟設(shè)備(GRRestarter),進(jìn)入GRRestarter處理流程,并/人每個(gè)4妄口向外發(fā)送平滑鏈i各狀態(tài)發(fā)布(graceLSA)消息,向鄰居聲明將要進(jìn)行GR;周邊設(shè)備R1、R2、R3收到RO發(fā)送的graceLSA后,成為平滑重啟幫助設(shè)備(GRHelper),進(jìn)入GRHelper處理流程,這些GRHelper在GR過(guò)程中保持到RO的鄰居關(guān)系和路由不變;之后R1、R2、R3協(xié)助RO進(jìn)行路由信息同步,R0在R1、R2、R3的幫助下,通過(guò)GRRestarter處理流程重建所有鄰居關(guān)系,重新獲取完整的4連路狀態(tài)數(shù)據(jù)庫(kù)(LSDB,Link-StateDataBase);RO在恢復(fù)LSDB后重新進(jìn)行3各由計(jì)算,重新計(jì)算出GR前的所有^各由。通過(guò)上述流程可見(jiàn),在RO進(jìn)行GR的整個(gè)過(guò)程中,Rl、R2、R3等設(shè)備始終保持與RO的鄰居關(guān)系和路由不變,它們?nèi)詴?huì)繼續(xù)將流量送給RO進(jìn)行轉(zhuǎn)發(fā),而此時(shí)由于RO上的轉(zhuǎn)發(fā)軟件仍然正常運(yùn)行,因此RO也能正常的將R1、R2、R3等設(shè)備發(fā)過(guò)來(lái)的流量進(jìn)行成功轉(zhuǎn)發(fā),從而保證了整個(gè)網(wǎng)絡(luò)轉(zhuǎn)發(fā)業(yè)務(wù)的不中斷性。其中,GRRestarter通過(guò)鄰居GRHelper的幫助重建LSDB的過(guò)程是由GRHelper將本地?fù)碛械腖SDB重新發(fā)送給GRRestarter來(lái)完成的。待完成LSDB同步之后,GRRestarter需要重新產(chǎn)生一次由本地生成的所有鏈路狀態(tài)發(fā)布(LSA)并進(jìn)行擴(kuò)散,因?yàn)樵O(shè)備重啟前后本地拓樸和路由信息有可能發(fā)生變化,如果不重新產(chǎn)生一次本地LSA,而以重啟前生成的LSA為準(zhǔn),則很容易產(chǎn)生錯(cuò)誤路由問(wèn)題。所述LSA是協(xié)議中用來(lái)描述拓樸信息和路由信息及其它特殊用途的,按照是否攜帶地址前綴可分為兩類(lèi),其中一類(lèi)為攜帶地址前綴的LSA,包括Inter-Area-Prefix-LSA、Inter-Area-Router-LSA、AS-Extemal-LSA、NSSA-LSA和Intra-Area-Prefix-LSA等;另一類(lèi)為不攜帶地址前綴的LSA,包括Router-LSA、Network-LSA、Link-LSA和Grace-LSA等。在設(shè)備重啟前后網(wǎng)絡(luò)拓樸保持不變的情況下,為了保證整個(gè)GR過(guò)程中網(wǎng)絡(luò)路由和數(shù)據(jù)轉(zhuǎn)發(fā)的高度穩(wěn)定,一般要求設(shè)備重啟前后生成的包含地址前綴的LSA必須完全一致,這樣在重啟設(shè)備重新生成LSA并擴(kuò)散之后,才不會(huì)在網(wǎng)絡(luò)上產(chǎn)生路由振蕩。但是,以目前的路由協(xié)議(如開(kāi)放最短路徑優(yōu)先協(xié)議OSPF)來(lái)看,要實(shí)現(xiàn)上述功能存在很大的困難,因?yàn)镮nter-Area-Prefix-LSA、Inter-Area-Router-LSA、AS-External-LSA、NSSA-LSA和Intra-Area-Prefix-LSA等這些包含地址前綴的LSA的鏈路狀態(tài)標(biāo)識(shí)(LSID)是在生成LSA時(shí)隨機(jī)編號(hào)的,這種隨機(jī)性的存在就導(dǎo)致了同一條前綴所產(chǎn)生的LSA在GR前后就有可能對(duì)應(yīng)不同的LSID,而不同的LSID則會(huì)被認(rèn)為是不同的LSA,這樣鄰居在處理這些變化了的LSA時(shí),就會(huì)出現(xiàn)路由的震蕩和轉(zhuǎn)發(fā)的中斷,并最終使GR特性失敗。為更加清楚起見(jiàn),下面以AS-External-LSA為例進(jìn)行說(shuō)明。表1示出了AS-External-LSA格式7其中,LStype、LinkStateID和AdvertisingRouter構(gòu)成一個(gè)三元組,用于唯一標(biāo)識(shí)一個(gè)LSA,這三個(gè)值分別表示LSA—類(lèi)型、LSID和發(fā)送者的routerID;AddressPrefix是對(duì)應(yīng)LSA的實(shí)際內(nèi)容,表示一條IPv6路由前綴;AddressPrefix和LSID沒(méi)有嚴(yán)格的對(duì)應(yīng)關(guān)系,LSID是在生成LSA時(shí)隨機(jī)編號(hào)的,用于區(qū)分同一設(shè)備產(chǎn)生的同種類(lèi)型的不同LSA。<table>tableseeoriginaldocumentpage6</column></row><table>假設(shè)RO的routerid是l.l丄l,它在重啟前生成一個(gè)AS-External-LSA,該LSA的LSID為0.0.0.10,描述1234::/64前綴。由于LSID是隨才幾編號(hào)的,因此重啟后原先LSID為0.0.0.10的LSA可能攜帶了其它的前綴,如1000::/64;而原先前綴1234::64對(duì)應(yīng)的LSID變成了0.0.0.1。當(dāng)這沖羊的LSA被擴(kuò)散之后,如果網(wǎng)絡(luò)上的設(shè)備根據(jù)這種LSA變化觸發(fā)路由計(jì)算,則很可能會(huì)產(chǎn)生路由振蕩,因?yàn)樵诂F(xiàn)有路由協(xié)議中,為了加快路由收斂速度,收到AS-External-LSA通常采用立即計(jì)算的方法。當(dāng)設(shè)備收到LSID為0.0.0.10的LSA后,發(fā)現(xiàn)本地已有LSID為0.0.0.10的LSA中攜帶的前綴為1234::/64,而新收到的LSID為0.0.0.10的LSA攜帶的前綴已經(jīng)變成i000::/64,則此時(shí)設(shè)備會(huì)刪除1234::/64路由而重新生成1000::/64路由;而后又收到LSID為0.0.0.1的LSA后,發(fā)現(xiàn)其中攜帶的前綴是1234::/64,則又會(huì)重新生成1234::/64路由,這樣就產(chǎn)生了不必要的路由振蕩。通過(guò)以上描述可見(jiàn),為了避免GR過(guò)程中的路由振蕩,保證GR前后地址前綴和LSID對(duì)應(yīng)關(guān)系的一致性至關(guān)重要。關(guān)于這一點(diǎn),在現(xiàn)有的RFC5187OSPFv3GracefulRestart協(xié)議中提到了一種解決方案在生成Inter-Area-Prefix-LSA、AS-External-LSA等包含地址前綴的LSA時(shí),保存地址前綴和LSID的對(duì)應(yīng)關(guān)系,將對(duì)應(yīng)關(guān)系備份到備板上,這樣在設(shè)備GR重啟后,就可以通過(guò)查找該對(duì)應(yīng)關(guān)系來(lái)使得GR前后的LSID和地址前綴保持一致。詳細(xì)過(guò)程如下設(shè)備重啟前,每當(dāng)生成AS-Extemal-LSA等類(lèi)型的LSA時(shí),創(chuàng)建地址前綴和LSID的映射結(jié)構(gòu),如在生成一個(gè)描述1234::/64前綴、LSID為10的AS-External-LSA時(shí),創(chuàng)建(1234::/64,10)這種地址前綴和LSID的對(duì)應(yīng)關(guān)系;主板將對(duì)應(yīng)關(guān)系(1234::/64,IO)備份到備板,備板保存該對(duì)應(yīng)關(guān)系;因某種原因設(shè)備發(fā)生GR重啟,備板成為新的主板;新主板生成地址前綴為1234::/64的AS-External-LSA時(shí),其LSID不再是任意生成,而是根據(jù)地址前綴從前面?zhèn)浞莸膶?duì)應(yīng)關(guān)系沖查找該地址前綴原來(lái)對(duì)應(yīng)的LSID,然后根據(jù)查找到的LSID生成描述1234::/64前綴、LSID為10的AS-External-LSA。但是,上述方案存在以下缺陷一、在正常網(wǎng)絡(luò)應(yīng)用中,Inter-Area-Prefix-LSA和AS-External-LSA等類(lèi)型LSA的數(shù)量非常之多,尤其是AS-Externd-LSA,它的數(shù)量可能會(huì)達(dá)到上百萬(wàn)個(gè)。如果為每一個(gè)攜帶地址前綴的LSA都建立一條地址前綴和LSID的對(duì)應(yīng)關(guān)系并備份到備板上,則備份到備板上的數(shù)據(jù)量將非常之大,這樣會(huì)占用大量寶貴的CPU資源和板間通信通道,從而嚴(yán)重影響到系統(tǒng)性能。二、在網(wǎng)絡(luò)拓樸不穩(wěn)定發(fā)生路由震蕩時(shí),Inter-Area-Prefix-LSA和AS-Extemal-LSA等LSA可能會(huì)被快速刪除和創(chuàng)建。在這種情況下,要求備板上的備份消息必須保持良好的時(shí)序性,以免先處理了后面的備份消息,造成信息備份錯(cuò)誤。但由于該過(guò)程中會(huì)產(chǎn)生大量的備份消息,而處理這些消息又需消耗一定的時(shí)間,因此保持良好時(shí)序性的要求在具體實(shí)現(xiàn)時(shí)難度較大。
      發(fā)明內(nèi)容有鑒于此,本發(fā)明的目的在于提供一種避免平滑重啟過(guò)程中路由振蕩的方法及平滑重啟設(shè)備,在不影響系統(tǒng)性能和降低實(shí)現(xiàn)難度的前提下,實(shí)現(xiàn)平滑重啟,避免在平滑重啟過(guò)程中因LSID發(fā)生變化而引起的路由振蕩。為達(dá)到上述目的,本發(fā)明提供的技術(shù)方案如下平滑重啟過(guò)程中避免路由振蕩的方法,該方法包括平滑重啟過(guò)程中,平滑重啟設(shè)備GRRestarter接收平滑重啟幫助i殳備GRHelper發(fā)來(lái)的LSA,并在收到自身在平滑重啟前產(chǎn)生的攜帶地址前綴的鏈路狀態(tài)發(fā)布LSA后,獲取LSA中攜帶的地址前綴和鏈路狀態(tài)標(biāo)識(shí)LSID,建立地址前綴和LSID的對(duì)應(yīng)關(guān)系;平滑重啟結(jié)束時(shí),GRRestarter重新生成自身的LSA,在生成的LSA包舍地址前綴時(shí),通過(guò)建立的地址前綴和LSID的對(duì)應(yīng)關(guān)系找到與該地址前綴對(duì)應(yīng)的LSID,然后^艮據(jù)找到的LSID重新生成LSA。所述GRRestarter根據(jù)LSA中攜帶的AdvertisingRouter字段確認(rèn)LSA是否由自身在平滑重啟前產(chǎn)生。該方法進(jìn)一步包括在平滑重啟過(guò)程中,GRRestarter按照現(xiàn)有協(xié)議流程處理收到的不攜帶地址前綴的LSA;在平滑重啟結(jié)束時(shí),GRRestarter按照現(xiàn)有協(xié)議流程重新生成不包含地址前綴的LSA。所述地址前綴和LSID的對(duì)應(yīng)關(guān)系存力文在radix#對(duì)中,該樹(shù)以地址前綴為主鍵。各種類(lèi)型的包含地址前綴的LSA分別對(duì)應(yīng)一個(gè)radix^"。一種平滑重啟設(shè)備,該設(shè)備包括接收模塊、映射管理模塊和LSA生成模塊,其中,接收模塊,用于在平滑重啟過(guò)程中接收GRHelper發(fā)來(lái)的LSA,并將收到的LSA發(fā)送給映射管理模塊;映射管理模塊,用于在接收到所述平滑重啟設(shè)備在平滑重啟前產(chǎn)生的攜帶地址前綴的LSA后,獲耳又LSA中攜帶的地址前綴和LSID,建立地址前綴和LSID的對(duì)應(yīng)關(guān)系;LSA生成模塊,用于在平滑重啟結(jié)束時(shí)重新生成LSA,在生成的LSA包含地址前綴時(shí),通過(guò)映射管理模塊中建立的地址前綴和LSID的對(duì)應(yīng)關(guān)系找到與該地址前綴對(duì)應(yīng)的LSID,然后#4居找到的LSID重新生成LSA。所述映射管理模塊進(jìn)一步按照現(xiàn)有協(xié)議流程處理收到的不攜帶地址前綴的LSA。所述LSA生成模塊在平滑重啟結(jié)束時(shí)進(jìn)一步按照現(xiàn)有協(xié)議流程重新生成不包含地址前綴的LSA。所述映射管理單元將地址前綴和LSID的對(duì)應(yīng)關(guān)系存放在以地址前綴為主4建的radix樹(shù)中。所述映射管理單元為各種類(lèi)型的包含地址前綴的LSA分別建立一個(gè)radix樹(shù)。由此可見(jiàn),在本發(fā)明所提供的技術(shù)方案中,由于平滑重啟后產(chǎn)生的LSA是根據(jù)平滑重啟前生成的LSA的地址前綴和LSID的對(duì)應(yīng)關(guān)系重新生成的,因此平滑重啟設(shè)備在平滑重啟前后生成的LSA能夠保持完全一致,不會(huì)出現(xiàn)同一個(gè)地址前綴對(duì)應(yīng)不同LSID的情況,從而實(shí)現(xiàn)了真正意義上的平滑重啟,避免了在平滑重啟過(guò)程中因LSID發(fā)生變化而引起的路由振蕩;并且,該方案簡(jiǎn)單易行,只需在GR過(guò)程中做對(duì)應(yīng)關(guān)系的處理,既不需要在生成LSA時(shí)實(shí)時(shí)建立地址前綴和LSID的對(duì)應(yīng)關(guān)系,也不需要在主備板之間實(shí)時(shí)備份這種對(duì)應(yīng)關(guān)系,從而減少了CPU資源占用和板間通信通道占用,大大提高了系統(tǒng)性能;另外,由于無(wú)需與備板進(jìn)行實(shí)時(shí)備份,因此在網(wǎng)絡(luò)拓樸不穩(wěn)定時(shí),也就不會(huì)產(chǎn)生像現(xiàn)有技術(shù)那樣需要保持備板上備份消息的良好時(shí)序性,從而降低了具體實(shí)現(xiàn)難度。圖1為GR應(yīng)用場(chǎng)景示意圖2為本發(fā)明實(shí)施例所提供技術(shù)方案的流程圖3a、3b為本發(fā)明實(shí)施例中的radix樹(shù)結(jié)構(gòu)示意圖4為本發(fā)明實(shí)施例中的平滑重啟設(shè)備結(jié)構(gòu)示意圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面參照附圖并舉實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。通過(guò)
      背景技術(shù)
      描述可見(jiàn),為了保證GR過(guò)程中網(wǎng)絡(luò)路由和數(shù)據(jù)轉(zhuǎn)發(fā)的高度穩(wěn)定,要求在網(wǎng)絡(luò)拓樸不變的情況下,設(shè)備重啟前后生成的LSA必須完全一致,這樣重啟設(shè)備在重啟后重新生成LSA并擴(kuò)散之后,才不會(huì)在網(wǎng)絡(luò)上產(chǎn)生路由振蕩。其中,保持設(shè)備重啟前后所生成LSA完全一致的關(guān)鍵就在于,保證重啟前后LSA地址前綴和LSID對(duì)應(yīng)關(guān)系的一致性。針對(duì)上述特點(diǎn),本發(fā)明提出一種新的維護(hù)地址前綴和LS1D對(duì)應(yīng)關(guān)系的解決方案,其基本思想是在GR過(guò)程中,GRRestarter通過(guò)鄰居GRHelper的幫助,將LSA地址前綴和LSID的對(duì)應(yīng)關(guān)系學(xué)習(xí)過(guò)來(lái);當(dāng)GR結(jié)束時(shí),GRRestarter再根據(jù)學(xué)習(xí)到的對(duì)應(yīng)關(guān)系重新生成包含地址前綴的LSA。圖2示出了本發(fā)明所提供解決方案的流程圖,主要包括以下步驟步驟201:GR過(guò)程中,GRHelper將本地?fù)碛械逆溌窢顟B(tài)數(shù)據(jù)LSDB中的所有LSA發(fā)送給GRRestarter。步驟202:GRRestarter收到GRHelper發(fā)送的LSA后,根據(jù)LSA中攜帶的AdvertisingRouter字段確定該LSA是否是自身GR前產(chǎn)生的,如果收到自身GR前產(chǎn)生的LSA,則查看該LSA是否攜帶地址前綴,即查看收到的LSA是否屬于Inter-Area-Prefix隱LSA、Inter-Area-Router-LSA、AS-External-LSA、NSSA-LSA和Intra-Area-Prefix-LSA等攜帶地址前綴的LSA類(lèi)型,如果是,則執(zhí)行步驟203;否則,執(zhí)行步驟205,按照現(xiàn)有協(xié)議流程正常處理該不攜帶地址前綴的LSA,具體過(guò)程這里不再贅述。步竭203:GP、P、estarter獲取LSA中包含的地址前綴和LSID,建立該地址前綴和LSID的對(duì)應(yīng)關(guān)系。步驟204:GR結(jié)束時(shí),GRRestarter重新生成自己的LSA,如果生成的LSA攜帶地址前綴,則在建立的地址前綴和LSID的對(duì)應(yīng)關(guān)系中找到與LSA攜帶的地址前綴相對(duì)應(yīng)的LSID,然后再^4居找到的LSID重新生成LSA,這樣GR前后生成的LSA的地址前綴和LSID的對(duì)應(yīng)關(guān)系就可以保持一致;如果生成的LSA是不包含地址前綴的LSA,如Router-LSA、Network-LSA、Link-LSA和Grace-LSA等,則按照現(xiàn)有協(xié)議進(jìn)入原有處理流程,這里不再-洋細(xì)i兌明。采用圖2所示處理流程后,LSA地址前綴和LSID的對(duì)應(yīng)關(guān)系可以得到有效保障,GR前后生成的LSA可以保持完全一致,不會(huì)出現(xiàn)同一個(gè)地址前綴對(duì)應(yīng)不同LSID的情況,從而實(shí)現(xiàn)了真正意義上的平滑重啟,避免了在平滑重啟過(guò)程中因LSID發(fā)生變化而引起的路由振蕩;并且,該方案簡(jiǎn)單易行,只需在GR過(guò)程中做對(duì)應(yīng)關(guān)系的處理,既不需要在生成LSA時(shí)實(shí)時(shí)建立地址前綴和LSID的對(duì)應(yīng)關(guān)系,也不需要在主備板之間實(shí)時(shí)備份這種對(duì)應(yīng)關(guān)系,從而減少了CPU資源占用和板間通信通道占用,大大提高了系統(tǒng)性能;另外,由于無(wú)需與備板進(jìn)行實(shí)時(shí)備份,因此在網(wǎng)絡(luò)拓樸不穩(wěn)定時(shí),也就不會(huì)產(chǎn)生像現(xiàn)有技術(shù)那樣需要保持備板上備份消息的良好時(shí)序性,從而降低了具體實(shí)現(xiàn)難度。在具體實(shí)現(xiàn)時(shí),圖2所述地址前綴和LSID的對(duì)應(yīng)關(guān)系可以存放到radix樹(shù)中,該radix一對(duì)以地址前綴為主鍵,當(dāng)GRRestarter在GR結(jié)束重新生成LSA時(shí)5GRRestarter根據(jù)該radix樹(shù)上存放的對(duì)應(yīng)關(guān)系恢復(fù)LSA的LSID。其中,所述radix樹(shù)是一個(gè)以地址前綴為主^l建、左孩子鍵值小、右孩子鍵值大、每個(gè)深度相同的節(jié)點(diǎn)其前綴長(zhǎng)度也相同的二叉樹(shù)。當(dāng)這個(gè)radix樹(shù)是滿樹(shù)時(shí),最上層節(jié)點(diǎn)的前綴長(zhǎng)度為0,最下層節(jié)點(diǎn)的前綴長(zhǎng)度是前綴的最大值(對(duì)于IPv6是128),最左邊的節(jié)點(diǎn)為全O,最右邊的節(jié)點(diǎn)為全l。每種帶有前綴的LSA分別對(duì)應(yīng)一個(gè)radix樹(shù),即Inter-Area隱Prefix-LSA、Inter-Area-Routcr-LSA、AS-Extemal-LSA、NSSA曙L(fēng)SA和Intm-Area-Prefix-LSA分別對(duì)應(yīng)一個(gè)radix樹(shù)。其中,Inter-Area-Prefix-LSA、Inter-Area-Router-LSA、AS-External-LSA和NSSA-LSA是描述路由的LSA,每條LSA都包含一條地址前綴;而Intra-Area-Prefix-LSA是一種比較特殊的LSA,它包含了多條地址前綴。針對(duì)所包含的地址前綴條數(shù)的不同,各LSA對(duì)應(yīng)的radix私于結(jié)構(gòu)也不盡相同。圖3a、3b分別示出了(Inter-Area-Prefix-LSA、Inter-Area-Router-LSA、AS-External-LSA、NSSA-LSA)和Intra隱Area-Prefix-LSA的radix樹(shù)結(jié)構(gòu)。其中,圓形是radix樹(shù)的中間節(jié)點(diǎn),該節(jié)點(diǎn)存儲(chǔ)地址前綴;方形是地址前綴和LSID的映射結(jié)構(gòu),其中存儲(chǔ)LSA的相關(guān)信息,包括LSID。圖3a中,地址前綴和LSID是一對(duì)一的映射關(guān)系;圖3b中,地址前綴和LSID是多對(duì)一的映射關(guān)系。GRRestarter在接收到Inter-Area-Prefix-LSA、Inter-Area-Router陽(yáng)LSA、AS-External-LSA和NSSA-LSA這些LSA時(shí),根據(jù)LSA包含的地址前綴和LSID創(chuàng)建圖3a所示的映射結(jié)構(gòu);在接收到包含多個(gè)地址前綴的Intra-Area-Prefix-LSA時(shí),根據(jù)Intra-Area-Prefix-LSA包含的地址前綴和LSID創(chuàng)建圖3b所示的映射結(jié)構(gòu)。根據(jù)這些映射結(jié)構(gòu),GRRestarter在重新生成LSA時(shí),就可以保證GR前后生成的LSA中攜帶的地址前綴和LSID對(duì)應(yīng)關(guān)系的一致性,從而實(shí)現(xiàn)平滑重啟,避免在平滑重啟過(guò)程中因LSID發(fā)生變化而引起的路由振蕩。相應(yīng)地,本發(fā)明還提供了一種平滑重啟設(shè)備,該設(shè)備結(jié)構(gòu)如圖4所示,主要包括接收模塊、映射管理模塊和LSA生成模塊,其中,接收模塊,用于在平滑重啟過(guò)程中接收GRHelper發(fā)來(lái)的LSA,并將收到的LSA發(fā)送給映射管理模塊;映射管理模塊,用于在接收到所述平滑重啟設(shè)備在平滑重啟前產(chǎn)生的攜帶地址前綴的LSA后,獲取LSA中攜帶的地址前綴和LSID,建立地址前綴和LSID的對(duì)應(yīng)關(guān)系;LSA生成模塊,用于在平滑重啟結(jié)束時(shí)重新生成LSA,在生成的LSA包含地址前綴時(shí),通過(guò)映射管理模塊中建立的地址前綴和LSID的對(duì)應(yīng)關(guān)系找到與該地址前綴對(duì)應(yīng)的T,SID,然后根據(jù)找到的LSID重新生成LSA。所述映射管理模塊進(jìn)一步按照現(xiàn)有協(xié)議流程處理收到的不攜帶地址前綴的LSA;所述LSA生成模塊在平滑重啟結(jié)束時(shí)進(jìn)一步按照現(xiàn)有協(xié)議流程重新生成不包含地址前綴的LSA。較佳地,所述映射管理單元將地址前綴和LSID的對(duì)應(yīng)關(guān)系存》欠在以地址前綴為主鍵的radix樹(shù)中,且各種類(lèi)型的包含地址前綴的LSA分別對(duì)應(yīng)一個(gè)radix樹(shù)。以上所述對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步的詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、平滑重啟過(guò)程中避免路由振蕩的方法,其特征在于,該方法包括平滑重啟過(guò)程中,平滑重啟設(shè)備GRRestarter接收平滑重啟幫助設(shè)備GRHelper發(fā)來(lái)的LSA,并在收到自身在平滑重啟前產(chǎn)生的攜帶地址前綴的鏈路狀態(tài)發(fā)布LSA后,獲取LSA中攜帶的地址前綴和鏈路狀態(tài)標(biāo)識(shí)LSID,建立地址前綴和LSID的對(duì)應(yīng)關(guān)系;平滑重啟結(jié)束時(shí),GRRestarter重新生成自身的LSA,在生成的LSA包含地址前綴時(shí),通過(guò)建立的地址前綴和LSID的對(duì)應(yīng)關(guān)系找到與該地址前綴對(duì)應(yīng)的LSID,然后根據(jù)找到的LSID重新生成LSA。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述GRRestarter根據(jù)LSA中攜帶的AdvertisingRouter字段確認(rèn)LSA是否由自身在平滑重啟前產(chǎn)生。3、根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括在平滑重啟過(guò)程中,GRRestarter按照現(xiàn)有協(xié)議流程處理收到的不攜帶地址前綴的LSA;在平滑重啟結(jié)束時(shí),GRRestarter4要照現(xiàn)有協(xié)i義流程重新生成不包含地址前綴的LSA。4、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述地址前綴和LSID的對(duì)應(yīng)關(guān)系存力欠在radix樹(shù)中,該樹(shù)以地址前綴為主4建。5、根據(jù)權(quán)利要求4所述的方法,其特征在于,各種類(lèi)型的包含地址前綴的LSA分別對(duì)應(yīng)一個(gè)radix樹(shù)。6、一種平滑重啟設(shè)備,其特征在于,該設(shè)備包括接收模塊、映射管理模塊和LSA生成模塊,其中,接收^t塊,用于在平滑重啟過(guò)程中接收GRHelper發(fā)來(lái)的LSA,并將收到的LSA發(fā)送給映射管理模塊;映射管理模塊,用于在接收到所述平滑重啟設(shè)備在平滑重啟前產(chǎn)生的攜帶地址前綴的LSA后,獲取LSA中攜帶的地址前綴和LSID,建立地址前綴和LSID的.對(duì)應(yīng)關(guān)系;LSA生成模塊,用于在平滑重啟結(jié)束時(shí)重新生成LSA,在生成的LSA包含地址前綴時(shí),通過(guò)映射管理模塊中建立的地址前綴和LSID的對(duì)應(yīng)關(guān)系找到與該地址前綴對(duì)應(yīng)的LSID,然后#_據(jù)找到的LSID重新生成LSA。7、根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述映射管理模塊進(jìn)一步按照現(xiàn)有協(xié)議流程處理收到的不攜帶地址前綴的LSA。8、根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述LSA生成模塊在平滑重啟結(jié)束時(shí)進(jìn)一步按照現(xiàn)有協(xié)議流程重新生成不包含地址前綴的LSA。9、根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,所述映射管理單元將地址前綴和LSID的對(duì)應(yīng)關(guān)系存》文在以地址前綴為主4建的radix樹(shù)中。10、根據(jù)權(quán)利要求9所述的設(shè)備,其特征在于,所述映射管理單元為各種類(lèi)型的包含地址前綴的LSA分別建立一個(gè)radix樹(shù)。全文摘要本發(fā)明提供了一種平滑重啟過(guò)程中避免路由振蕩的方法及平滑重啟設(shè)備,其基本思想是在GR過(guò)程中,GRRestarter通過(guò)鄰居GRHelper的幫助,將LSA地址前綴和LSID的對(duì)應(yīng)關(guān)系學(xué)習(xí)過(guò)來(lái);在GR結(jié)束時(shí),GRRestarter再根據(jù)學(xué)習(xí)到的對(duì)應(yīng)關(guān)系重新生成包含地址前綴的LSA。利用本發(fā)明所提供的技術(shù)方案,能夠在不影響系統(tǒng)性能和降低實(shí)現(xiàn)難度的前提下,實(shí)現(xiàn)平滑重啟,避免在平滑重啟過(guò)程中因LSID發(fā)生變化而引起的路由振蕩。文檔編號(hào)H04L12/56GK101420327SQ20081022789公開(kāi)日2009年4月29日申請(qǐng)日期2008年12月2日優(yōu)先權(quán)日2008年12月2日發(fā)明者張長(zhǎng)君,李世釗,強(qiáng)郭,錢(qián)雪彪申請(qǐng)人:杭州華三通信技術(shù)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1