專利名稱::實(shí)現(xiàn)路由信息協(xié)議優(yōu)雅重啟的方法、系統(tǒng)和路由器的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信領(lǐng)域,特別涉及實(shí)現(xiàn)路由信息協(xié)議(RIP,RoutingInformationProtocol)優(yōu)雅重啟(GR,GracefullRestart)的方法和3各由器。
背景技術(shù):
:路由器重啟指的是在路由器不能正常工作時,重新啟動恢復(fù)到正常工作狀態(tài)的過程,路由器重啟包括重新學(xué)習(xí)路由和重新根據(jù)路由協(xié)議更新路由表等階段。很多路由協(xié)議支持可靠性高的路由器GR機(jī)制,具體是指當(dāng)路由器計(jì)劃重啟和意外重啟時,路由協(xié)議支持重啟的路由器(以下稱為重啟路由器)通過與提供路由信息的鄰居路由器(以下稱為幫助路由器)進(jìn)行路由同步,也就是由幫助路由器向重啟路由器發(fā)送路由信息,來重新獲得路由信息。這里,意外重啟是指不能被事先預(yù)知的重啟,比如,當(dāng)控制平面失效時,業(yè)務(wù)被立即切換到備用版的時候。而計(jì)劃重啟則是能夠預(yù)知的,多是由網(wǎng)絡(luò)管理員發(fā)起的受控事件,比如,當(dāng)路由器的硬件或軟件進(jìn)行升級的時候。RIP中路由更新是通過定時廣播實(shí)現(xiàn)的。在缺省情況下,路由器每隔30秒向與之相連的RIP鄰居路由器廣播自己的路由信息,接到廣播的RIP鄰居路由器將收到的路由信息添加至自身的路由表中,每個路由器都如此廣播,最終網(wǎng)絡(luò)上所有的路由器都會得知全部的路由信息。因而,實(shí)現(xiàn)優(yōu)雅重啟時,為了使所有的RIP鄰居路由器完成一個完整的周期更新過程,常會給重啟路由器預(yù)置一個大于路由器更新周期的重啟時間,在這段時間內(nèi)重啟路由器的周期更新和觸發(fā)更新4皮抑制,周期更新是觸發(fā)更新是由于網(wǎng)絡(luò)拓樸導(dǎo)致部分路由方式變化、或者收到鄰居的路由的觸發(fā)更新后發(fā)送的一次性^各由更新。也就是說在這段時間內(nèi)不能夠周期性的把自身全部路由發(fā)送給RIP鄰居路由器;也不能在網(wǎng)絡(luò)拓樸導(dǎo)致部分路由方式變化、或者收到鄰居的路由的觸發(fā)更新后,發(fā)送一次性路由更新,以避免由于重啟路由器自身路由信息的變化而對網(wǎng)絡(luò)中的其它路由器造成影響,目前實(shí)現(xiàn)GR的方法,具體包括以下步驟首先,RIP重啟路由器內(nèi)部開始計(jì)時,以確保達(dá)到預(yù)置的重啟時間后更新轉(zhuǎn)發(fā)表;接著,RIP重啟路由器在所有使能RIP的接口上發(fā)送全部路由請求(FullTableRequest);RIP的各路由器間沒有協(xié)商,因而采用廣播的方式發(fā)送全部路由請求。然后,幫助路由器將完整的RIP路由信息發(fā)送給RIP重啟路由器。這樣,RIP重啟路由器就重新學(xué)到了所有的RIP路由。最后,重啟路由器判斷是否達(dá)到預(yù)置的重啟時間,比如45秒,如果沒有到45秒,繼續(xù)等待,否則根據(jù)RIP路由來更新轉(zhuǎn)發(fā)表和發(fā)布自身的路由更新??梢钥闯?,由于目前RIP實(shí)現(xiàn)路由器優(yōu)雅重啟的方法采用靜態(tài)定時的方式來減少重啟路由器對網(wǎng)絡(luò)的干擾。但是,如果幫助路由器的路由量小,比如,接口或與其相連的RIP鄰居路由器數(shù)少,那么,即使已經(jīng)獲得了所有必要的路由信息,重啟路由器仍要等待40秒,才能根據(jù)新的路由信息更新轉(zhuǎn)發(fā)表和發(fā)布自己的路由更新。另一方面,如果幫助路由器的路由量大,那么40秒的時間不足以完成路由信息同步,也就是在設(shè)定的重啟時間內(nèi),幫助路由器不能夠?qū)⑺械穆酚尚畔l(fā)送給重啟路由器,這樣,重啟路由器只能完成部分轉(zhuǎn)發(fā)表更新,因而導(dǎo)致網(wǎng)絡(luò)內(nèi)路由信息的不一致。同時,由于RIP重啟路由器在重啟時間內(nèi)的更新周期被抑制,如果在重啟時間內(nèi),網(wǎng)絡(luò)拓樸發(fā)生了重大變化,RIP重啟路由器由于無法更新路由表,因而還是會根據(jù)舊有的路由信息進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),直至達(dá)到重啟時間。并且,由于RIP重啟路由器在重啟時間內(nèi)的觸發(fā)更新被抑制,也就是在路由表完成同步之前,自身不發(fā)送任何路由更新,可能會導(dǎo)致與其相連的RIP鄰居路由器因重啟路由器長時間沒有更新路由,而刪除從RIP重啟路由器學(xué)習(xí)到的路由。通過以上的分析,可以看出,目前實(shí)現(xiàn)GR的方法,存在無法及時、準(zhǔn)確地進(jìn)行路由更新,因而會造成重啟路由器對網(wǎng)絡(luò)的干擾。
發(fā)明內(nèi)容本發(fā)明實(shí)施例在于提供實(shí)現(xiàn)優(yōu)雅重啟的方法,該方法能夠使得重啟路由器及時、準(zhǔn)確地進(jìn)行路由更新,減少重啟路由器對網(wǎng)絡(luò)的干擾。本發(fā)明實(shí)施例還在于提供一種實(shí)現(xiàn)優(yōu)雅重啟的系統(tǒng),該系統(tǒng)能夠使得重啟路由器及時、準(zhǔn)確地進(jìn)行路由更新,減少重啟路由器對網(wǎng)絡(luò)的干擾。本發(fā)明實(shí)施例還提供兩種路由器,該路由器使得重啟路由器及時、準(zhǔn)確地進(jìn)行路由更新,減少重啟路由器對網(wǎng)絡(luò)的干擾。為達(dá)到上述目的,本發(fā)明實(shí)施例的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種實(shí)現(xiàn)路由信息協(xié)議優(yōu)雅重啟的方法,該方法包括路由器發(fā)現(xiàn)相連的至少一個RIP鄰居路由器,向所述RIP鄰居路由器發(fā)送重啟通知消息;從RIP鄰居路由器接收RIP路由信息;在接收到來自RIP鄰居路由器的路由更新完成通知消息后,根據(jù)所述RIP路由信息更新轉(zhuǎn)發(fā)表。一種實(shí)現(xiàn)路由信息協(xié)議優(yōu)雅重啟的方法,該方法包括接收來自RIP重啟路由器的重啟通知消息,向所述RIP重啟路由器發(fā)送RIP路由信息,當(dāng)發(fā)送完所有的RIP^各由信息時,向所述RIP重啟^各由器發(fā)送路由更新完成通知消息。一種實(shí)現(xiàn)路由信息協(xié)議優(yōu)雅重啟的系統(tǒng),該系統(tǒng)包括RIP重啟路由器和RIP鄰居路由器;所述RIP重啟路由器,用于發(fā)現(xiàn)相連的RIP鄰居路由器,并向所述RIP鄰居路由器發(fā)送重啟通知消息;從RIP鄰居路由器接收RIP路由信息;在接收到來自RIP鄰居路由器的路由更新完成通知消息后,根據(jù)所述RIP路由信息更新轉(zhuǎn)發(fā)表;所述RIP鄰居路由器,用于接收來自RIP重啟路由器的重啟通知消息,向所述RIP重啟路由器發(fā)送RIP路由信息,當(dāng)發(fā)送完所有的RIP路由信息時,向所述RIP重啟路由器發(fā)送路由更新完成通知消息。一種路由器,所述路由器包括鄰居發(fā)現(xiàn)模塊,用于發(fā)現(xiàn)相連的RIP鄰居路由器;消息交互模塊,用于向所述鄰居發(fā)現(xiàn)模塊得到的RIP鄰居路由器發(fā)送重啟通知消息,接收到來自RIP鄰居路由器的路由更新完成通知消息;路由更新模塊,用于從RIP鄰居路由器接收RIP路由信息,在消息交互模塊接收到來自RIP鄰居路由器的路由更新完成通知消息之后,根據(jù)所述RIP路由信息更新轉(zhuǎn)發(fā)表。一種路由器,所述路由器包括消息交互模塊,用于接收來自RIP重啟路由器的重啟通知消息,當(dāng)路由發(fā)送模塊發(fā)送完所有的RIP路由信息時,向所述RIP重啟路由器發(fā)送路由更新完成通知消息;路由發(fā)送模塊,用于向所述重啟路由器發(fā)送RIP路由信息。由上述技術(shù)方案可見,本發(fā)明實(shí)施例的一種基于RIP的路由器實(shí)現(xiàn)重啟的方法和路由器,通過在重啟路由器和幫助路由器間引入一種明確的重啟信令機(jī)制,使得重啟路由器能夠動態(tài)跟蹤與幫助路由器的路由同步過程,從而使得重啟路由器及時、準(zhǔn)確地進(jìn)行路由更新,減少重啟路由器對網(wǎng)絡(luò)的干擾。圖1為本發(fā)明實(shí)施例中使用的RIP擴(kuò)展消息格式示意圖;圖2為本發(fā)明第一個實(shí)施例提供的重啟路由器實(shí)現(xiàn)優(yōu)雅重啟的方法流程示意圖;圖3為本發(fā)明第二個實(shí)施例提供的幫助路由器實(shí)現(xiàn)優(yōu)雅重啟的方法流程示意圖;圖4為本發(fā)明第三個實(shí)施例提供的實(shí)現(xiàn)優(yōu)雅重啟的方法流程示意圖;圖5為本發(fā)明第四個實(shí)施例提供的實(shí)現(xiàn)優(yōu)雅重啟的系統(tǒng)結(jié)構(gòu)示意圖。 具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對本發(fā)明作進(jìn)一步詳細(xì)說明。本發(fā)明實(shí)施例提供的方法是路由器發(fā)現(xiàn)與之相連的RIP鄰居路由器,并向所述RIP鄰居路由器發(fā)送重啟通知消息;從RIP鄰居路由器接收RIP路由信息;在接收到來自RIP鄰居路由器的路由更新完成通知消息后,根據(jù)RIP路由信息更新轉(zhuǎn)發(fā)表。本發(fā)明實(shí)施例中采用了一種明確的重啟信令機(jī)制,來實(shí)現(xiàn)路由器優(yōu)雅重啟。本發(fā)明實(shí)施例提供的方法主要分為以下三個階段鄰居發(fā)現(xiàn)階段路由器重啟,發(fā)現(xiàn)鄰居后需向RIP鄰居路由器發(fā)送重啟通知消息,通知鄰居其當(dāng)前的重啟狀態(tài),并請求RIP鄰居路由器發(fā)布其RIP路由信息;支持重啟信令機(jī)制的RIP鄰居路由器作相應(yīng)處理和應(yīng)答。路由更新階段RIP鄰居路由器向重啟路由器發(fā)送RIP路由信息,路由更新開始,此時,該RIP鄰居路由器即為重啟路由器的幫助路由器。重啟路由器從幫助路由器接收到路由信息,并構(gòu)建路由數(shù)據(jù)庫,最后RIP鄰居路由器通知重啟路由器路由更新完成。重啟完成階段重啟路由器更新轉(zhuǎn)發(fā)表,并開始向RIP鄰居路由器發(fā)布RIP路由,然后通知RIP鄰居路由器完成RIP重啟。為了支持重啟信令機(jī)制及將來擴(kuò)展的需要,本發(fā)明實(shí)施例在上述三個階段中引入了一種擴(kuò)展的RIP消息。這種RIP消息可以攜帶通知(Notification)、確認(rèn)(Acknowledgememnt)等不同類型消息及多個選項(xiàng)。該RIP擴(kuò)展消息的格式可以有多種,圖l示出了其中一種格式,本領(lǐng)域技術(shù)人員可以理解,RIP擴(kuò)展消息不限于圖1中給出的格式。如圖l所示,該RIP擴(kuò)展消息具體包括命令(Command)、版本(Version)、類型(Type)、選項(xiàng)數(shù)(OptionNum)、選項(xiàng)類型(OptionType)、選項(xiàng)長度(OptionLength)、選項(xiàng)數(shù)據(jù)(OptionData)認(rèn)證數(shù)據(jù)(AuthenticationData)等域。 在RIP擴(kuò)展消息中,Command域?1入新命令類型7,表示為擴(kuò)展消息。而Version域沒有更改。Type域用于表述擴(kuò)展消息的類型。目前定義了8種消息類型,分別是重啟通知(RN,RestartNotification)消息、重啟確認(rèn)(RA,RestartAcknowledgment)消息、更新完成通知(UCN,UpdateCompleteNotification)消息、更新完成確i人(UCA,UpdateCompleteAcknowledgement)消息、重啟》文棄通知(RAN,RestartAbortNotification)消息、重啟i文棄確i^(RAA,RestartAbortAcknowledgement)消息、重啟完成通知(RCN,RestartCompleteNotification)消息和重啟完成確i人(RCA,RestartCompleteAcknowledgement)消息。由于某些RIP擴(kuò)展消息可能需要在選項(xiàng)中攜帶一些附加信息,因而使用OptionNum域來表示RIP擴(kuò)展消息中攜帶了多少個選項(xiàng)。所有的選項(xiàng)都按照類型、長度和數(shù)值(TLV,TypeLengthValue)格式編碼。2字節(jié)的OptionType域的值可以為鄰居表選項(xiàng)(Neighbor-ListOption)、延遲重啟選項(xiàng)(Delayed-RestartOption)以及0xFFFF,當(dāng)OptionType域的值為OxFFFF,表示該選項(xiàng)為認(rèn)證信息。2字節(jié)的OptionLength域表示OptionData域的字節(jié)數(shù)長度,OptionData域長度由OptionLength域確定,可以是O個或者多個字節(jié)。下面具體以上述RIP消息格式為例,說明實(shí)現(xiàn)重啟的具體過程,本實(shí)施例為方便描述,分別給出重啟路由器和幫助路由器的具體流程示意圖。先從重啟路由器角度給出實(shí)現(xiàn)優(yōu)雅重啟的方法流程示意圖,如圖2所示,重啟路由器具體執(zhí)行以下步驟步驟201:判斷是否需攜帶延遲重啟選項(xiàng),如果是,將Delayed-Restart選項(xiàng)攜帶于RN消息中,否則不攜帶Delayed-Restart選項(xiàng)。當(dāng)路由器要做計(jì)劃重啟時或其它需攜帶延遲重啟選項(xiàng)的情況時,應(yīng)該通知與之相連的rip鄰居路由器,因而需要將Delayed-Restart選項(xiàng)攜帶于rn消息中。重啟路由器預(yù)計(jì)的重啟時間間隔在Delayed-Restart選項(xiàng)的重啟時間(Restart-Time)域中進(jìn)行說明。而當(dāng)路由器在計(jì)劃或意外重啟后,開始正常工作時,需立即發(fā)送不攜帶Delayed-Restart選項(xiàng)的RN消息來向RIP鄰居路由器通告自身的重啟狀態(tài)。步驟202:重啟路由器向RIP鄰居路由器發(fā)送RN消息。對于多路接入(multi-access)鏈路而言,在發(fā)送的RN消息中還應(yīng)當(dāng)攜帶鄰居表(Neighbor-List)選項(xiàng),NeighborList選項(xiàng)中包含了發(fā)來RA消息RIP鄰居路由器列表,據(jù)此避免多次發(fā)送RA消息本實(shí)施例中,在RN消息中采用NeighborList選項(xiàng)來記載了曾為重啟路由器發(fā)來路由信息的鄰居表信臺如果網(wǎng)絡(luò)中有不支持RIP重啟信令機(jī)制的RIP鄰居路由器,則在發(fā)送RN消息的同時,還要在所有使能RIP的接口上發(fā)送Fulltablerequest消息,以保證不支持重啟信令機(jī)制的RIP鄰居路由器也能夠發(fā)送路由更新給重啟路由器。在下面的步驟中,對于不支持重啟信令機(jī)制的RIP鄰居路由器仍采用了現(xiàn)有技術(shù)中的靜態(tài)定時的方法。本實(shí)施例中還對支持重啟信令機(jī)制和不支持重啟信令機(jī)制的RIP鄰居路由器打上不同的標(biāo)志加以區(qū)分,以便采用不同的方法進(jìn)行處理。步驟203:判斷是否接收到來自RJP鄰居路由器的RA消息,如杲是,重啟路由器將其標(biāo)記為支持重啟信令機(jī)制(Restart-Capable),執(zhí)行步驟205,否則,根據(jù)預(yù)先確定的次數(shù)進(jìn)行消息重傳RN消息,執(zhí)行步驟204。來自RIP鄰居路由器的RA消息攜帶Neighbor-List選項(xiàng),其中包含了重啟路由器接口上的所有RIP鄰居路由器。重啟路由器利用Neighbor-List選項(xiàng)來確定對應(yīng)鏈路上的準(zhǔn)確鄰居數(shù),由確定的鄰居數(shù)來跟蹤每個RIP鄰居路由器的RA消息的接收情況。并且一旦從RIP鄰居路由器上收到RA消息,重啟路由器將該RIP鄰居^各由器標(biāo)記為"Restart-Capable"。步驟204:判斷是否按照指定重傳次數(shù)發(fā)送完RN消息后,仍沒有收到RIP鄰居路由器的RA消息,如果是,重啟路由器將該RIP鄰居路由器標(biāo)記為不支持重啟信令機(jī)制(Restart-Incapable),否則,重啟路由器將其標(biāo)記為Restart-Capable。對于每個打上Restart-Capable標(biāo)志的RIP鄰居路由器必須啟動一個靜態(tài)更新定時器(static-update-timer),用以對其路由更新過程進(jìn)行靜態(tài)跟蹤。步驟205:重啟路由器接收來自幫助路由器的路由信息。為了跟蹤路由更新過程,重啟路由器為每個鄰居維護(hù)一個更新狀態(tài)(Update-Status)標(biāo)志。無論RIP鄰居路由器是否支持是被打上Restart-Capable標(biāo)志,每個鄰居的初始狀態(tài)必須為正在更新(UPDATEPE畫NG)。步驟206:判斷是否接收到來自幫助路由器的UCN消息,如果是,改變幫助路由器的更新狀態(tài),執(zhí)行步驟208,否則,執(zhí)行步驟207。標(biāo)記為Restart-Capable的RIP鄰居路由器更新完成時,將該幫助鄰居的更新狀態(tài)由UPDATE_PENDING變?yōu)楦陆Y(jié)束(UPDATE_COMPLETE)。步驟207:判斷靜態(tài)更新定時器是否超時,如果是,改變幫助鄰居的更新狀態(tài),執(zhí)行步驟208,否則,進(jìn)行安全機(jī)制處理。標(biāo)記為Restart-Incapable的RIP鄰居路由器更新完成同,將該幫助鄰居的更新狀態(tài)由UPDATE—PENDING變?yōu)楦陆Y(jié)束(UPDATE_COMPLETE)。為了能夠處理RIP鄰居路由器發(fā)生故障,無法正常發(fā)送路由信息的情況,重啟路由器還可以增加一種新的安全處理機(jī)制。比如,維護(hù)定時器RESTART—CUTOFF_TIMER,可以設(shè)定為180秒,認(rèn)為定時器達(dá)到定時,所有的路由更新已經(jīng)完成,強(qiáng)制退出重啟模式。一旦所有RIP鄰居路由器的Update-Status變?yōu)閁PDATE—COMPLETE,重啟路由器退出重啟模式。步驟208:重啟路由器更新路由轉(zhuǎn)發(fā)表。重啟路由器根據(jù)所有學(xué)習(xí)到的路由更新路由轉(zhuǎn)發(fā)表,清除在任何重啟之前添加的過時的if各由。步驟209:重啟路由器在所有接口上發(fā)送周期更新路由。步驟210:重啟路由器在所有接口上發(fā)送RCN消息。步驟211:判斷是否接收到來自鄰居路由器RIP鄰居路由器的RCA消息,如果是,執(zhí)行步驟212,否則,根據(jù)預(yù)先確定的次數(shù)重傳RCN消息。本實(shí)施例中,在收到鄰居路由器RIP鄰居路由器的RCA消息之前,RCN消息需要重傳。為保證RCN消息每個RCN重傳消息應(yīng)該包含已經(jīng)收到了RCA的鄰居列表。步驟212:結(jié)束本流程。下面從幫助路由器角度給出實(shí)現(xiàn)優(yōu)雅重啟的方法流程示意圖,如圖3所示,幫助路由器具體執(zhí)行以下步驟步驟301:接收來自重啟路由器的RN消息。步驟302:判斷自身接口是否在RN消息的鄰居表選項(xiàng)內(nèi),如果是,忽略該RN消息,執(zhí)行步驟301,否則,建立針對重啟路由器的幫助狀態(tài),即給自己打上幫助者(Helper)標(biāo)志。步驟303:向重啟路由器發(fā)送RA消息。幫助路由器在RA消息中必須攜帶一個NeighborList選項(xiàng),NeighborList選項(xiàng)中包含了在重啟路由器接口上的所有RIP鄰居路由器。步驟304:判斷RN消息是否攜帶延遲重啟選項(xiàng),如果是,執(zhí)行步驟305,否則,執(zhí)行步驟306。步驟305:將重啟路由器的狀態(tài)設(shè)置為重啟非激活(RESTART—INACTIVE),執(zhí)行步驟307。幫助路由器將所有從重啟路由器學(xué)習(xí)到的路由的老化時間(agetime)重新設(shè)置為RN消息中重啟時間(Restart-Time)域指定的時間,此時不能向重啟路由器發(fā)布路由信息。步驟306:將重啟路由器的狀態(tài)設(shè)置為重啟激活(RESTART—ACTIVE)。在本實(shí)施例中,幫助路由器刷新所有從重啟路由器學(xué)習(xí)來的路由老化時間,開始向重啟路由器發(fā)送全部路由更新。當(dāng)幫助路由器發(fā)送完所有的路由信息,執(zhí)行步驟307。步驟307:向重啟路由器發(fā)送UCN消息。本實(shí)施例中,在收到UCA消息之前,按照預(yù)定次數(shù)重傳UCN消息。步驟308:判斷是否接收到RCN消息,如果是,向重啟路由器發(fā)送RCA消息,并清除幫助路由器與重啟路由器建立起的幫助狀態(tài),否則,在未超出路由器老化時間時,等待接收RCN消息,在超出老化時間時,自動刪除與重啟路由器間的路由,清除幫助路由器與重啟路由器建立起的幫助狀態(tài)。本實(shí)施例中的重啟路由器通過信令機(jī)制可以讓RIP鄰居路由器知道其重啟的狀態(tài);而幫助路由器通過信令機(jī)制告訴重啟路由器完成路由通告的時間,從而能夠準(zhǔn)確的跟蹤與幫助路由器的同步過程,能夠以更準(zhǔn)確的路由信息快速更新轉(zhuǎn)發(fā)表,而不需要額外的長時間等待。并且,通過攜帶延遲重啟選項(xiàng),給出重啟延遲時間,由于重啟延遲時間內(nèi)沒有抑制重啟路由器的更新周期和觸發(fā)更新,因而使得RIP鄰居路由器不會老化掉從重啟路由器學(xué)來的路由,同時能夠跟蹤重啟路由器重啟后拓樸的變化。在重啟路由器開始工作后,能夠及時得到拓樸變化信息。圖4為本發(fā)明第三個實(shí)施例方法流程示意圖。本實(shí)施例中,重啟路由器有兩個幫助路由器,分別是與之相連的RIP鄰居路由器1和RIP鄰居路由器2,并且假設(shè)RIP鄰居路由器1和RIP鄰居路由器2均支持重啟信令機(jī)制。步驟401:重啟路由器向RIP鄰居路由器1和RIP鄰居路由器2發(fā)送RN消息。本實(shí)施例中,重啟路由器向與RIP鄰居路由器1和RIP鄰居路由器2相連的接口上發(fā)送RN消息。本實(shí)施例,還根據(jù)重啟路由器的狀態(tài)及是否處于多路接入鏈路來確定RN消息中攜帶的選項(xiàng)。假設(shè)重啟路由器的狀態(tài)處于重啟后開始正常工作的狀態(tài),并且由于重啟路由器有兩個與之相連的RIP鄰居路由器,因而,本實(shí)施例中的RN消息只攜帶了鄰居表選項(xiàng)。步驟402:RIP鄰居路由器1和RIP鄰居路由器2分別向重啟路由器發(fā)送RA消息。本實(shí)施例中,由于RIP鄰居路由器1和RIP鄰居路由器2均支持重啟信令機(jī)制,因而RIP鄰居路由器1和RIP鄰居路由器2在接收到RN消息后,判斷自身接口是否在RN消息的鄰居表選項(xiàng)內(nèi),如果是,忽略接收到的RN消息,否則,建立針對重啟路由器的幫助狀態(tài),即給自己打上幫助者(Helper)標(biāo)志后,向重啟路由器發(fā)送攜帶鄰居表選項(xiàng)的RA消息。這時,RIP鄰居路由器1和RIP鄰居路由器2成為重啟路由器的幫助路由器,并在RA消息中攜帶一個包含所有RIP鄰居路由器的NeighborList選項(xiàng)。由于RN消息中沒有延遲重啟選項(xiàng),因而幫助路由器將重啟路由器的狀態(tài)設(shè)置為RESTART—ACTIVE,并刷新所有從重啟路由器學(xué)習(xí)來的路由老化時間。步驟403:RIP鄰居路由器1和RIP鄰居路由器2分別向重啟路由器發(fā)送路由信息。步驟404:RIP鄰居路由器1向重啟路由器發(fā)送UCN消息。本實(shí)施例中,假設(shè)RIP鄰居路由器1先發(fā)送完路由信息,假設(shè)RIP鄰居路由器2后發(fā)送完路由信息。步驟405:重啟路由器向RIP鄰居路由器1發(fā)送UCA消息。本實(shí)施例中,重啟路由器將RIP鄰居路由器1的更新狀態(tài),由UPDATEPENDING改變?yōu)閁PDATE—COMPLETE。步驟406:RIP鄰居路由器2向重啟路由器發(fā)送UCN消息。步驟407:重啟路由器向RIP鄰居路由器2發(fā)送UCA消息。本實(shí)施例中,重啟路由器將RIP鄰居路由器2的更新狀態(tài),由UPDATE—PENDING改變?yōu)閁PDATE—COMPLETE。步驟408:重啟路由器退出重啟模式。當(dāng)所有RIP鄰居^各由器的更新狀態(tài)變?yōu)閁PDATE—COMPLETE時,重啟路由器退出重啟模式。步驟409:重啟路由器更新路由轉(zhuǎn)發(fā)表。步驟410:向RIP鄰居3各由器1和RIP鄰居路由器2發(fā)布RIP路由。步驟411:重啟路由器向RIP鄰居路由器1和RIP鄰居路由器2發(fā)送RCN消息。步驟412:RIP鄰居路由器1和RIP鄰居路由器2分別向重啟路由器發(fā)送RCA消息。RIP鄰居路由器1和RIP鄰居路由器2收到RCN消息后,發(fā)送RCA消息,并清除已建立的針對重啟路由器的幫助者狀態(tài),不再是重啟路由器的幫助路由器。如果在路由重啟處理過程中,重啟路由器或者幫助路由器檢測到網(wǎng)絡(luò)拓樸發(fā)生變化時,需要重啟路由器立即退出重啟模式,網(wǎng)絡(luò)拓樸變化檢測機(jī)制可以有多種,比如,幫助路由器需要發(fā)送一些觸發(fā)更新給重啟路由器,再如,重啟路由器和幫助路由器上任何配置的變更,該變更會影響到他們的路由發(fā)布。當(dāng)重啟路由器或者幫助路由器檢測到上述情況時,可認(rèn)為存在拓樸變化,當(dāng)然也可以采用其它的片全測機(jī)制。如果是幫助路由器檢測到拓樸變化,那么幫助路由器會向重啟路由器發(fā)送RAN消息。該消息只能在重啟路由器狀態(tài)為RESTART—ACTIVE時候發(fā)送,否則應(yīng)該等到狀態(tài)變?yōu)镽ESTART_ACTIVE時發(fā)送。在收到RAA消息之前,幫助路由器還會按照預(yù)定的重傳次數(shù)重傳RAN消息。本實(shí)施例可以根據(jù)檢測出的網(wǎng)絡(luò)拓樸的變化,中斷正在進(jìn)行的重啟處理過程,以確保是根據(jù)最新的路由信息下發(fā)給轉(zhuǎn)發(fā)平面。圖5為本發(fā)明第四個實(shí)施例系統(tǒng)結(jié)構(gòu)示意圖。本實(shí)施例中的系統(tǒng)包括重啟路由器510和RIP鄰居路由器520;重啟路由器510,用于發(fā)現(xiàn)與之相連的RIP鄰居路由器520,并向所述RIP鄰居路由器520發(fā)送重啟通知消息;從RIP鄰居路由器520接收路由信息;在接收到來自RIP鄰居路由器520的路由更新完成通知消息后,根據(jù)接收到的路由信息更新轉(zhuǎn)發(fā)表;RIP鄰居路由器520,用于接收來自重啟路由器510的重啟通知消息,向所述重啟路由器510發(fā)送路由信息,當(dāng)發(fā)送完所有的路由信息時,向重啟路由器510發(fā)送路由更新完成通知消息。其中,重啟路由器510包括鄰居發(fā)現(xiàn)模塊511、重啟通知消息發(fā)送模塊512、更新完成消息接收模塊513、路由獲取模塊514和路由更新模塊515。具體地,鄰居發(fā)現(xiàn)模塊511發(fā)現(xiàn)與重啟路由器510相連的RIP鄰居路由器520。重啟通知消息發(fā)送模塊512向鄰居發(fā)現(xiàn)模塊511得到的RIP鄰居路由器520發(fā)送重啟通知消息。更新完成消息接收模塊513,接收到來自RIP鄰居路由器520的路由更新完成通知消息。路由獲取模塊514,從RIP鄰居路由器520接收RIP路由信息。路由更新模塊515,在更新完成消息接收模塊513接收到來自RIP鄰居路由器520的路由更新完成通知消息之后,根據(jù)路由獲取溪塊514接收到的RIP路由信息更新轉(zhuǎn)發(fā)表。重啟路由器510還包括重啟確認(rèn)消息接收模塊516,接收來自RIP鄰居路由器520的重啟確認(rèn)消臺重啟完成通知消息發(fā)送模塊517,向RIP鄰居路由器520發(fā)送重啟完成通知消息。RIP鄰居路由器520包括重啟通知消息接收^t塊521、路由發(fā)送模塊523和更新完成消息發(fā)送it塊522。具體地,重啟通知消息接收^f莫塊521接收來自RIP重啟路由器510的重啟通知消息;路由發(fā)送對莫塊523,向RIP重啟路由器510發(fā)送RIP路由信息;更新完成消息發(fā)送模塊522,當(dāng)路由發(fā)送模塊發(fā)送完所有的RIP路由信息時,向RIP重啟路由器510發(fā)送路由更新完成通知消息。RIP鄰居路由器520還包括更新完成確認(rèn)消息接收模塊524,接收來自RIP重啟路由器510的更新完成確認(rèn)消息。重啟完成通知確認(rèn)消息接收模塊525,接收來自RIP重啟路由器510的重啟完成通知確iU肖息。重啟放棄通知消息發(fā)送模塊526,向RIP重啟路由器510發(fā)送重啟放棄通知消息。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種實(shí)現(xiàn)路由信息協(xié)議RIP優(yōu)雅重啟的方法,其特征在于,該方法包括路由器發(fā)現(xiàn)相連的至少一個RIP鄰居路由器,向所述RIP鄰居路由器發(fā)送重啟通知消息;從RIP鄰居路由器接收RIP路由信息;在接收到來自RIP鄰居路由器的路由更新完成通知消息后,根據(jù)所述RIP路由信息更新轉(zhuǎn)發(fā)表。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述重啟通知消息中攜帶設(shè)定延遲時間的延遲重啟選項(xiàng)。3、根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述發(fā)送重啟通知消息后,進(jìn)一步包括接收到來自RIP鄰居路由器的重啟確認(rèn)消息。4、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述重啟通知消息中攜帶鄰居表選項(xiàng),所述鄰居表記載發(fā)來重啟確認(rèn)消息的RIP鄰居路由器。5、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法之后,進(jìn)一步包括所述路由器向RIP鄰居路由器發(fā)送重啟完成通知消息。6、根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述發(fā)送重啟完成通知消息之后,進(jìn)一步包括接收到來自RIP鄰居路由器的重啟完成確認(rèn)消息。7、一種實(shí)現(xiàn)路由信息協(xié)議優(yōu)雅重啟的方法,其特征在于,該方法還包括接收來自RIP重啟路由器的重啟通知消息,向所述RIP重啟路由器發(fā)送RIP路由信息,當(dāng)發(fā)送完所有的RIP路由信息時,向所述RIP重啟路由器發(fā)送路由更新完成通知消息。8、根據(jù)權(quán)利要求7所述的方法,其特征在于,所述重啟通知消息中攜帶鄰居表選項(xiàng),所述鄰居表記載了曾向RIP重啟路由器發(fā)送過重啟通知確認(rèn)消息的RIP鄰居路由器;向所述RIP重啟路由器發(fā)送路由信息前,進(jìn)一步包括判斷自身是否在重啟通知消息的鄰居表選項(xiàng)中,如果是,忽略所述重啟通知消息,重新執(zhí)行所述接收來自RIP重啟路由器的重啟通知消息的步驟,否則,向所述RIP重啟路由器發(fā)送重啟通知確認(rèn)消息。9、根據(jù)權(quán)利要求7所述的方法,其特征在于,在所述接收來自RIP重啟路由器的重啟通知消息之后,進(jìn)一步包括判斷重啟通知消息是否攜帶設(shè)定延遲時間的延遲重啟選項(xiàng),如果是,將所有從所述RIP重啟路由器學(xué)習(xí)到的路由老化時間重新設(shè)置為延遲時間,否則,刷新所有從RIP重啟路由器學(xué)習(xí)來的路由老化時間,向RIP重啟路由器發(fā)送全部路由更新。10、根據(jù)權(quán)利要求9所述的方法,其特征在于,在所述向RIP重啟路由器發(fā)送路由更新完成通知消息之后,進(jìn)一步包括接收來自所述RIP重啟路由器的更新完成確認(rèn)消息。11、根據(jù)權(quán)利要求IO所述的方法,其特征在于,在所述接收來自所述RIP重啟路由器的更新完成確認(rèn)消息之后,進(jìn)一步包括向RIP重啟路由器發(fā)送重啟完成通知消息。12、根據(jù)權(quán)利要求IO所述的方法,其特征在于,在所述向重啟路由器發(fā)送重啟完成通知消息之后,進(jìn)一步包括接收來自所述RIP重啟路由器的重啟完成確i人消息。13、根據(jù)權(quán)利要求7所述的方法,其特征在于,所述方法進(jìn)一步包括向所述RIP重啟路由器發(fā)送重啟放棄通知消息。14、根據(jù)權(quán)利要求13所述的方法,其特征在于,在向所述RIP重啟路由器發(fā)送重啟放棄通知消息后進(jìn)一步包括接收來自所述RIP重啟路由器的重啟放棄確認(rèn)消息。15、一種實(shí)現(xiàn)路由信息協(xié)議優(yōu)雅重啟的系統(tǒng),其特征在于,該系統(tǒng)包括RIP重啟路由器和RIP鄰居路由器;所述RIP重啟路由器,用于發(fā)現(xiàn)相連的RIP鄰居路由器,并向所述RIP鄰居路由器發(fā)送重啟通知消息;從RIP鄰居路由器接收RIP路由信息;在接收到來自RIP鄰居路由器的路由更新完成通知消息后,根據(jù)所述RIP路由信息更新轉(zhuǎn)發(fā)表;所述RIP鄰居路由器,用于接收來自RIP重啟路由器的重啟通知消息,向所述RIP重啟路由器發(fā)送RIP路由信息,當(dāng)發(fā)送完所有的RIP路由信息時,向所述RIP重啟路由器發(fā)送路由更新完成通知消息。16、一種路由器,其特征在于,所述路由器包括鄰居發(fā)現(xiàn)模塊,用于發(fā)現(xiàn)相連的RIP鄰居路由器;重啟通知消息發(fā)送模塊,用于向所述鄰居發(fā)現(xiàn)模塊得到的RIP鄰居路由器發(fā)送重啟通知消息;更新完成消息接收模塊,用于接收到來自RIP鄰居路由器的路由更新完成通知消息;路由獲取模塊,用于從RIP鄰居路由器接收RJP路由信息;路由更新模塊,用于在所述更新完成消息接收模塊接收到來自RIP鄰居路由器的路由更新完成通知消息之后,根據(jù)所述路由獲取模塊接收到的RIP路由信息更新轉(zhuǎn)發(fā)表。17、根據(jù)權(quán)利要求16所述的路由器,其特征在于,所述路由器進(jìn)一步包括重啟確認(rèn)消息接收it塊,用于接收來自RIP鄰居路由器的重啟確認(rèn)消息。18、根據(jù)權(quán)利要求16所述的路由器,其特征在于,所述路由器進(jìn)一步包括重啟完成通知消息發(fā)送模塊,用于向所述RIP鄰居路由器發(fā)送重啟完成通知消息。19、一種路由器,其特征在于,所述路由器包括重啟通知消息接收模塊,用于接收來自RIP重啟路由器的重啟通知消息;路由發(fā)送模塊,用于向所述重啟路由器發(fā)送RIP路由信息;更新完成消息發(fā)送^f莫塊,用于當(dāng)路由發(fā)送it塊發(fā)送完所有的RIP路由信息時,向所述RIP重啟路由器發(fā)送路由更新完成通知消息。20、根據(jù)權(quán)利要求19所迷的路由器,其特征在于,所述路由器進(jìn)一步包括更新完成確認(rèn)消息接收模塊,用于接收來自所述RIP重啟路由器的更新完成確i^消息。21.根據(jù)權(quán)利要求19所述的路由器,其特征在于,所述路由器進(jìn)一步包括:重啟完成通知確認(rèn)消息接收4莫塊,用于接收來自所述RIP重啟路由器的重啟完成通知確i人消息。22、根據(jù)權(quán)利要求19所述的路由器,其特征在于,所述路由器進(jìn)一步包括重啟放棄通知消息發(fā)送模塊,用于向所述RIP重啟路由器發(fā)送重啟放棄通知消息。全文摘要本發(fā)明實(shí)施例中公開了一種路由信息協(xié)議實(shí)現(xiàn)優(yōu)雅重啟的方法,該方法包括路由器發(fā)現(xiàn)與之相連的鄰居路由器,并向所述鄰居路由器發(fā)送重啟通知消息;從鄰居路由器接收路由信息;在接收到來自鄰居路由器的路由更新完成通知消息后,根據(jù)所述路由信息更新轉(zhuǎn)發(fā)表。本發(fā)明實(shí)施例中公開了一種路由信息協(xié)議實(shí)現(xiàn)優(yōu)雅重啟的方法,該方法包括接收來自重啟路由器的重啟通知消息,向所述重啟路由器發(fā)送路由信息,當(dāng)發(fā)送完所有的路由信息時,向所述重啟路由器發(fā)送路由更新完成通知消息。本發(fā)明實(shí)施例中還公開了兩種路由器。應(yīng)用本發(fā)明及時、準(zhǔn)確地進(jìn)行路由更新,減少重啟路由器對網(wǎng)絡(luò)的干擾。文檔編號H04L1/16GK101399824SQ200710161560公開日2009年4月1日申請日期2007年9月29日優(yōu)先權(quán)日2007年9月29日發(fā)明者撒偌瓦納·庫默申請人:華為技術(shù)有限公司