路由快速收斂的方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種路由快速收斂的方法及裝置,通過構(gòu)造生成新的LSP報文并泛洪,并在SPF計算時使用新的連通性校驗(yàn)方法,從而使得廣播鏈路震蕩期間,解決鏈路震蕩期間非DIS端設(shè)備路由中斷或無法收斂的問題。且該技術(shù)的應(yīng)用不需要擴(kuò)展原有的標(biāo)準(zhǔn)協(xié)議,只是做了界限于本機(jī)設(shè)備的修改;不需要配置,只需要本地設(shè)備間采取相同的實(shí)現(xiàn)方式;不存在與其它設(shè)備交互的修訂;由以上幾點(diǎn)也從而降低了出錯可能性,也降低了復(fù)雜度。此外保持Hello報文、鄰接狀態(tài)機(jī)不變,不需要遠(yuǎn)程設(shè)備采用一樣的方式,只需要本地設(shè)備間采取同樣的方式即可,提高了設(shè)備兼容性。
【專利說明】路由快速收斂的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通訊領(lǐng)域的,尤其是指一種路由快速收斂的方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,越來越多用戶采用高速廣播鏈路專線(一般帶寬在IOMbps (含)以上)代替低速DDN專線(一般帶寬在2Mbps左右),用于數(shù)據(jù)傳輸。這里廣播鏈路專線是指路由設(shè)備能在上面建立一個以上IS-1S鄰居或OSPF鄰居,并且需要選舉DIS(Designated Intermediate System,指定中間系統(tǒng))或 DR (Designated Router)用于路由學(xué)習(xí)的線路。
[0003]如圖1所示是現(xiàn)有技術(shù)中使用廣播鏈路專線的一個典型應(yīng)用拓?fù)鋱D。為了確保數(shù)據(jù)通信可靠,實(shí)現(xiàn)不中斷通信,分支機(jī)構(gòu)和總部機(jī)構(gòu)之間通過兩條主備線路進(jìn)行通信,主線路是大帶寬廣播鏈路專線,備線路是低帶寬DDN專線。
[0004]正常情況下,總部機(jī)構(gòu)和分支機(jī)構(gòu)之間的數(shù)據(jù)通過主線路進(jìn)行傳輸,在主線路發(fā)生震蕩情況下(如由于線路存在問題導(dǎo)致報文傳輸時斷時續(xù)或者傳輸時間不穩(wěn)定等),數(shù)據(jù)要快速切換到備份線路進(jìn)行傳輸以免數(shù)據(jù)丟失,確保總部機(jī)構(gòu)和分支機(jī)構(gòu)之間的業(yè)務(wù)正常進(jìn)行,線路恢復(fù)正常之后,數(shù)據(jù)切換回主線路進(jìn)行傳輸。
[0005]為切換線路,首先要進(jìn)行路由學(xué)習(xí),這里使用廣泛使用的IS-1S協(xié)議;另外,為進(jìn)行快速切換,首先需要快速的探測到線路問題,從而引入了 BFD技術(shù),通過BFD探測發(fā)生震蕩的可能導(dǎo)致問題的線路狀態(tài)。但實(shí)際上即使在線路震蕩期間,IS-1S鄰接狀態(tài)仍然可以保持著,這是因?yàn)猷徑訝顟B(tài)變化要經(jīng)過較長的時間,屬于數(shù)秒級,遠(yuǎn)低于BFD的數(shù)毫秒級的間隔,在這較長的時間里,控制面的協(xié)議報文是可以正常收發(fā)的。但是,因?yàn)檗D(zhuǎn)發(fā)數(shù)據(jù)報文需要使用穩(wěn)定的線路,不然就會丟失報文,所以路由還是需要切換到備份線路。
[0006]Router-A和Router-B之間在主線路上成功建立IS-1S鄰居之后,IS-1S路由協(xié)議通知BFD檢測主線路的質(zhì)量。這里假設(shè),Router-A優(yōu)先級比Router-B高,被選舉主線路的DIS。主線路發(fā)生震蕩,BFD會通告IS-1S ;Router-A IS-1S根據(jù)BFD線路震蕩通告,刪除DIS的LSP(Link State Pakcet,鏈路狀態(tài)報文)中的鄰居信息(即Router-B),同時Router-B刪除自己的鏈路狀態(tài)報文中的DIS鄰居信息(即Router-A)。Router-B和Router-A收到對方的最新的鏈路狀態(tài)報文之后,進(jìn)行路由計算,計算出選擇備份線路進(jìn)行數(shù)據(jù)傳輸。線路恢復(fù)正常之后,BFD通知IS-1S,Router-A和Router-B恢復(fù)鏈路狀態(tài)報文中鄰居信息。Router-B和Router-A收到對方的最新的鏈路狀態(tài)報文之后,進(jìn)行路由計算,重新選擇主線路進(jìn)行數(shù)據(jù)傳輸。
[0007]根據(jù)IS-1S鄰接狀態(tài)機(jī),在同一條廣播鏈路中只能選擇一臺優(yōu)先級最高的設(shè)備作為DIS,該DIS為該廣播鏈路生成的PSN (即Pseudo Subnet Node,虛擬子網(wǎng)節(jié)點(diǎn))鄰居節(jié)點(diǎn),鏈路上的其他設(shè)備添加虛擬子網(wǎng)節(jié)點(diǎn)作為其鄰居節(jié)之一,以該虛擬子網(wǎng)節(jié)點(diǎn)鄰居節(jié)點(diǎn)作為路由計算的中轉(zhuǎn)節(jié)點(diǎn),生成最優(yōu)路由。
[0008]在圖1應(yīng)用場景中,如果總部機(jī)構(gòu)或者分支機(jī)構(gòu)由于接入主機(jī)增加,需要增加路由設(shè)備。簡化假設(shè)拓?fù)淙鐖D2。
[0009]在圖2中,分支機(jī)構(gòu)和總部機(jī)構(gòu)分別有兩臺路由設(shè)備,這樣,在同一條廣播鏈路上就有四臺設(shè)備。為了探測客戶機(jī)與服務(wù)器之間的主線路狀態(tài),Router-B、Router-D分別與Router-A進(jìn)行主線路上的BFD檢測。
[0010]于該拓?fù)渲校僭O(shè)Router-A優(yōu)先級最高,為主線路上的DIS。主線路發(fā)生震蕩,在現(xiàn)有公開技術(shù)中,Router-A收到BFD通告之后,刪除DIS的鏈路狀態(tài)報文的鏈路狀態(tài)報文中的鄰居信息(即 Router-B、Router-D), Router-B、Router-C、Router-D 刪除自己的鏈路狀態(tài)報文的鏈路狀態(tài)報文中的DIS鄰居信息(S卩Router-A), Router-C的鏈路狀態(tài)報文保持正常(因?yàn)镽outer-C不需要也未進(jìn)行BFD探測)。四臺設(shè)備收到Router-A、Router-B、Router-D更新的鏈路狀態(tài)報文,啟動路由計算,由于Router-B、Router-D的鏈路狀態(tài)報文中都刪除DIS的虛擬子網(wǎng)節(jié)點(diǎn)鄰居節(jié)點(diǎn)信息,沒有的虛擬子網(wǎng)節(jié)點(diǎn)鄰居節(jié)點(diǎn)的中轉(zhuǎn),Router-B就無法將到達(dá)分支機(jī)構(gòu)的路由切換指向到Router-D,則路由出現(xiàn)中斷或無法收斂。服務(wù)器B到客戶機(jī)A的數(shù)據(jù)將被Router-B丟棄。這種情況會一直持續(xù)到線路恢復(fù)正常。
[0011]綜上所述可見,現(xiàn)有的路由收斂技術(shù)存在如下缺陷:
[0012]IS-1S和BFD在同一條廣播鏈路上聯(lián)動,一旦線路發(fā)生震蕩情況,如果鏈路一端有兩臺(含)以上路由設(shè)備,并且都不是DIS設(shè)備,那么非DIS端路由就會出現(xiàn)路由中斷或無法收斂的問題。
[0013]可見根據(jù)現(xiàn)有的協(xié)議標(biāo)準(zhǔn)無法滿足以上主動切換線路的需求。專利號201110408494.3,名稱為“一種路由確定方法及路由設(shè)備”的專利提供了一種通過擴(kuò)展標(biāo)準(zhǔn)協(xié)議來解決本案問題的方法,具體為:
[0014]即通過在IS-1S HELLO協(xié)議報文增加一種新型TLV (稱之為鏈路ID TLV),同一條廣播鏈路上的鄰居收到之后,根據(jù)鏈路ID將在該鏈路上建立的鄰居分為本地鄰居(鏈路ID與本地相同的鄰居)和遠(yuǎn)端鄰居(鏈路ID與本地不同的鄰居),然后在鏈路發(fā)生震蕩情況下,如果DIS不在本地鄰居中,則在本地鄰居中重新選舉一個DIS,本地鄰居根據(jù)新的DIS進(jìn)行路由學(xué)習(xí),實(shí)現(xiàn)了路由收斂。
[0015]上述方法,關(guān)鍵技術(shù)點(diǎn)是:通過HELLO協(xié)議報文中新型鏈路ID TLV,實(shí)現(xiàn)本地鄰居和遠(yuǎn)端鄰居的區(qū)分;在線路震蕩期間,同一條廣播鏈路上維護(hù)獨(dú)立的兩個DIS用于本地鄰居和遠(yuǎn)端鄰居的路由學(xué)習(xí),解決非DIS端設(shè)備路由無法收斂問題。
[0016]然而,該方案的缺點(diǎn)在于:要引入新的鏈路ID TLV,且要在同一廣播鏈路上維護(hù)多Adis。因此,該方法不僅增加了協(xié)議報文,并且將鄰居狀態(tài)機(jī)復(fù)雜化一需要進(jìn)行配置;需要遠(yuǎn)程設(shè)備(發(fā)生震蕩的廣播鏈路的另一端的那些設(shè)備,可能與本地設(shè)備不同廠商)采用一樣的方式,降低了設(shè)備兼容性。因?yàn)槿绻h(yuǎn)程設(shè)備不進(jìn)行相同的擴(kuò)展的話,則會由于遠(yuǎn)近兩端不同時支持新擴(kuò)展的TLV從而依然無法解決上述問題。
【發(fā)明內(nèi)容】
[0017]本發(fā)明的目的在于克服了上述缺陷,提供一種無需增加協(xié)議報文,實(shí)現(xiàn)簡單的路由快速收斂的方法及裝置。
[0018]本發(fā)明的目的是這樣實(shí)現(xiàn)的:一種路由快速收斂的方法,它包括依次的設(shè)備鏈路狀態(tài)報文生成步驟及最短路徑優(yōu)先計算步驟;[0019]所述設(shè)備鏈路狀態(tài)報文生成步驟包括,在線路震蕩期間,若本設(shè)備為DIS端則刪除其鏈路狀態(tài)報文中的鄰居信息;若本設(shè)備為非DIS端,則在其自生成的鏈路狀態(tài)報文中刪除該發(fā)生震蕩的廣播鏈路上的DIS端設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)項(xiàng)并增加同一廣播鏈路上其它各非DIS的鄰居為鄰居項(xiàng)形成新的鏈路狀態(tài)報文泛洪;
[0020]所述最短路徑優(yōu)先計算步驟包括,進(jìn)行SPF計算且若鏈路狀態(tài)報文為雙向連通的,則當(dāng)存在LAN類型或P2P類型的鄰接表項(xiàng)時,驗(yàn)證通過;
[0021 ] 上述方法中,所述設(shè)備鏈路狀態(tài)報文生成步驟具體包括,
[0022]A)、本設(shè)備根據(jù)收到的線路震蕩通告確定發(fā)生震蕩的線路及震蕩遠(yuǎn)程設(shè)備;
[0023]B)、判斷本設(shè)備是否為廣播線路上的DIS端設(shè)備,是則轉(zhuǎn)到步驟C,否則轉(zhuǎn)到步驟D ;
[0024]C)、查詢由震蕩遠(yuǎn)程設(shè)備生成的發(fā)生震蕩的線路鏈路上的震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,獲取震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表,而后將本設(shè)備自生成的本設(shè)備的鏈路狀態(tài)報文中震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居項(xiàng)刪除,并將震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表中除本設(shè)備之外的其它鄰居添加到本設(shè)備的鏈路狀態(tài)報文中,從而生成新的本設(shè)備的鏈路狀態(tài)報文,而后轉(zhuǎn)到步驟E ;
[0025]D)、查詢由本設(shè)備生成的發(fā)生震蕩的線路鏈路上的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,將震蕩遠(yuǎn)程設(shè)備鄰居表項(xiàng)從中刪除,從而生成新的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,而后轉(zhuǎn)到步驟E ;
[0026]E)、泛洪新生成的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文;
[0027]上述方法中,所述最短路徑優(yōu)先計算步驟具體包括,
[0028]F)、接收其他設(shè)備泛洪的鏈路狀態(tài)報文并將其更新至本地鏈路狀態(tài)庫中;
[0029]G)、進(jìn)行SPF計算;包括對鏈路狀態(tài)報文校驗(yàn)是否聲明與鄰居存在雙向連通,是則獲取連通性信息而后進(jìn)行驗(yàn)證鄰居的連通性;
[0030]所述連通性信息包括震蕩廣播鏈路ID、本設(shè)備的類型(DIS或非DIS)、對應(yīng)的鄰居ID、以及鏈路狀態(tài)報文中聲明的連通類型(如P2P或LAN);
[0031]所述驗(yàn)證鄰居的連通性時,對應(yīng)獲取聯(lián)通信息中本設(shè)備的類型不為DIS時,判斷該鄰居ID滿足:存在于震蕩廣播鏈路、該鄰居ID的類型也不為DIS,即鏈路狀態(tài)報文中聲明的與該鄰居的連通類型為P2P類型,且本設(shè)備(進(jìn)行SPF計算的節(jié)點(diǎn):根節(jié)點(diǎn))上存在對應(yīng)于該鄰居ID的LAN類型的鄰接表項(xiàng)時認(rèn)定為驗(yàn)證通過。
[0032]本發(fā)明還提供了一種路由快速收斂的裝置,它包括相連的設(shè)備鏈路狀態(tài)報文生成模塊及最短路徑優(yōu)先計算模塊;
[0033]所述設(shè)備鏈路狀態(tài)報文生成模塊,用于在廣播鏈路震蕩期間,若本設(shè)備為DIS端則刪除其鏈路狀態(tài)報文中的鄰居信息;若本設(shè)備為非DIS端,則在其自生成的鏈路狀態(tài)報文中刪除該發(fā)生震蕩的廣播鏈路上的DIS端設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)項(xiàng)并增加同一廣播鏈路上其它各非DIS的鄰居為鄰居項(xiàng)形成新的鏈路狀態(tài)報文泛洪而后轉(zhuǎn)到最短路徑優(yōu)先計算模塊;
[0034]所述最短路徑優(yōu)先計算模塊,用于進(jìn)行SPF計算且若鏈路狀態(tài)報文為雙向連通的,則當(dāng)存在LAN類型或P2P類型的鄰接表項(xiàng)時,驗(yàn)證通過;[0035]上述中,所述設(shè)備鏈路狀態(tài)報文生成模塊具體包括,
[0036]接收單元,用于本設(shè)備根據(jù)收到的線路震蕩通告確定發(fā)生震蕩的線路及震蕩遠(yuǎn)程設(shè)備,而后轉(zhuǎn)到DIS判斷單元;
[0037]DIS判斷單元,用于判斷本設(shè)備是否為廣播線路上的DIS端設(shè)備,是則轉(zhuǎn)到DIS處理單元,否則轉(zhuǎn)到非DIS處理單元;
[0038]DIS處理單元,用于查詢由震蕩遠(yuǎn)程設(shè)備生成的發(fā)生震蕩的線路鏈路上的震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,獲取震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表,而后將本設(shè)備自生成的本設(shè)備的鏈路狀態(tài)報文中震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居項(xiàng)刪除,并將震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表中除本設(shè)備之外的其它鄰居添加到本設(shè)備的鏈路狀態(tài)報文中,從而生成新的本設(shè)備的鏈路狀態(tài)報文,而后轉(zhuǎn)到泛洪單元;
[0039]非DIS處理單元,用于查詢由本設(shè)備生成的發(fā)生震蕩的線路鏈路上的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,將震蕩遠(yuǎn)程設(shè)備鄰居表項(xiàng)從中刪除,從而生成新的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,而后轉(zhuǎn)到泛洪單元;
[0040]泛洪單元,用于泛洪新生成的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文;
[0041 ] 上述中,所述最短路徑優(yōu)先計算模塊具體包括,
[0042]更新單元,用于接收其他設(shè)備泛洪的鏈路狀態(tài)報文并將其更新至本地鏈路狀態(tài)庫中,而后轉(zhuǎn)到SPF計算單元;
[0043]SPF計算單元,用于進(jìn)行SPF計算;包括對鏈路狀態(tài)報文校驗(yàn)是否與鄰居存在雙向連通,是則獲取連通性信息而后進(jìn)行驗(yàn)證鄰居的連通性,對應(yīng)獲取聯(lián)通信息中本設(shè)備的類型不為DIS時,判斷該鄰居ID滿足:存在于震蕩廣播鏈路、該鄰居ID的類型也不為DISJP鏈路狀態(tài)報文中聲明的與該鄰居的連通類型為P2P類型,且本設(shè)備(進(jìn)行SPF計算的節(jié)點(diǎn):根節(jié)點(diǎn))上存在對應(yīng)于該鄰居ID的LAN類型的鄰接表項(xiàng)時認(rèn)定為驗(yàn)證通過;
[0044]所述連通性信息包括震蕩廣播鏈路ID、本設(shè)備的類型(DIS或非DIS)、對應(yīng)的鄰居ID、以及鏈路狀態(tài)類型(如P2P或LAN)。
[0045]本發(fā)明的有益效果在于在線路震蕩的情況下,通過構(gòu)造生成新的LSP報文并泛洪,并在SPF計算時使用新的連通性校驗(yàn)方法,解決了廣播鏈路非DIS端多臺設(shè)備在鏈路震蕩期間路由中斷的問題。
【專利附圖】
【附圖說明】
[0046]下面結(jié)合附圖詳述本發(fā)明的具體結(jié)構(gòu)
[0047]圖1為現(xiàn)有技術(shù)中IS-1S與BFD聯(lián)動的典型拓?fù)鋱D;
[0048]圖2為現(xiàn)有技術(shù)中多設(shè)備間IS-1S與BFD聯(lián)動的典型拓?fù)鋱D;
[0049]圖3為本發(fā)明的一實(shí)施例處理時序圖。
【具體實(shí)施方式】
[0050]為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說明。
[0051]本發(fā)明涉及一種路由快速收斂的方法,它包括依次的設(shè)備鏈路狀態(tài)報文生成步驟及最短路徑優(yōu)先計算步驟;
[0052]所述設(shè)備鏈路狀態(tài)報文生成步驟包括,在線路震蕩期間,若本設(shè)備為DIS端則刪除其鏈路狀態(tài)報文中的鄰居信息;若本設(shè)備為非DIS端,則在其自生成的鏈路狀態(tài)報文中刪除該發(fā)生震蕩的廣播鏈路上的DIS端設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)項(xiàng)并增加同一廣播鏈路上其它各非DIS的鄰居為鄰居項(xiàng)形成新的鏈路狀態(tài)報文泛洪;
[0053]所述最短路徑優(yōu)先計算步驟包括,進(jìn)行SPF計算且若鏈路狀態(tài)報文為雙向連通的,則當(dāng)存在LAN類型或P2P類型的鄰接表項(xiàng)時,驗(yàn)證通過。
[0054]可見,本專利方案的優(yōu)點(diǎn)在于
[0055]1、在廣播鏈路震蕩期間,只需要通過改造本設(shè)備自生成的鏈路狀態(tài)報文(LSP)和調(diào)整本設(shè)備SPF校驗(yàn)算法,就能解決鏈路震蕩期間非DIS端設(shè)備路由中斷或無法收斂的問題。由于不需要擴(kuò)展原有的標(biāo)準(zhǔn)協(xié)議,只是做了界限于本機(jī)設(shè)備的修改;不需要配置,只需要本地設(shè)備間(發(fā)生震蕩的廣播鏈路的同一端的那些設(shè)備)采取相同的實(shí)現(xiàn)方式;不存在與其它設(shè)備交互的修訂;由以上幾點(diǎn)也從而降低了出錯可能性,也降低了復(fù)雜度。
[0056]2、保持Hello報文、鄰接狀態(tài)機(jī)不變、只是修改了本地設(shè)備間的鏈路狀態(tài)報文生成方式和SPF的算法,不需要遠(yuǎn)程設(shè)備(發(fā)生震蕩的廣播鏈路的另一端的那些設(shè)備,可能與本地設(shè)備不同廠商)采用一樣的方式,提高了設(shè)備兼容性(只需要本地設(shè)備間采取同樣的方式)。
[0057]上述方法中,所述設(shè)備鏈路狀態(tài)報文生成步驟具體包括,
[0058]A)、本設(shè)備根據(jù)收到的線路震蕩通告確定發(fā)生震蕩的線路及震蕩遠(yuǎn)程設(shè)備;
[0059]B)、判斷本設(shè)備是否為廣播線路上的DIS端設(shè)備,是則轉(zhuǎn)到步驟C,否則轉(zhuǎn)到步驟D ;
[0060]C)、查詢由震蕩遠(yuǎn)程設(shè)備生成的發(fā)生震蕩的線路鏈路上的震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,獲取震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表,而后將本設(shè)備自生成的本設(shè)備的鏈路狀態(tài)報文中震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居項(xiàng)刪除,并將震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表中除本設(shè)備之外的其它鄰居添加到本設(shè)備的鏈路狀態(tài)報文中,從而生成新的本設(shè)備的鏈路狀態(tài)報文,而后轉(zhuǎn)到步驟E ;
[0061]D)、查詢由本設(shè)備生成的發(fā)生震蕩的線路鏈路上的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,將震蕩遠(yuǎn)程設(shè)備鄰居表項(xiàng)從中刪除,從而生成新的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,而后轉(zhuǎn)到步驟E ;
[0062]E)、泛洪新生成的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文。
[0063]由此,使得拓?fù)渲蟹荄IS的路由設(shè)備生成的新的鏈路狀態(tài)報文集合中,各非DIS鄰居不是通過PSN中轉(zhuǎn)建立連接(LAN類型),而是各自直接建立連接(P2P類型),從而使在LSP層面,拓?fù)涫请p向連通的(即相互識別為鄰居項(xiàng))。
[0064]上述方法中,所述最短路徑優(yōu)先計算步驟具體包括,
[0065]F)、接收其他設(shè)備泛洪的鏈路狀態(tài)報文并將其更新至本地鏈路狀態(tài)庫中;
[0066]G)、進(jìn)行SFP計算;包括對鏈路狀態(tài)報文校驗(yàn)是否與鄰居存在雙向連通,是則獲取連通性信息而后進(jìn)行驗(yàn)證鄰居的連通性;
[0067]所述連通性信息包括震蕩廣播鏈路ID、本設(shè)備的類型、對應(yīng)的鄰居ID、以及鏈路狀態(tài)類型;
[0068]所述驗(yàn)證鄰居的連通性時,對應(yīng)獲取聯(lián)通信息中本設(shè)備的類型不為DIS時,判斷該鄰居ID滿足:存在于震蕩廣播鏈路、該鄰居ID的類型也不為DIS、即鏈路狀態(tài)報文中聲明的與該鄰居的連通類型為P2P類型,且本設(shè)備(進(jìn)行SPF計算的節(jié)點(diǎn):根節(jié)點(diǎn))上存在對應(yīng)于該鄰居ID的LAN類型的鄰接表項(xiàng)時認(rèn)定為驗(yàn)證通過。
[0069]習(xí)知的,在SPF計算時,進(jìn)行計算的設(shè)備為根節(jié)點(diǎn)設(shè)備。在計算與根節(jié)點(diǎn)連接的鄰居設(shè)備的連通性時,一般要進(jìn)行如下檢驗(yàn):不但要求在LSP層面是雙向連通的,還要求在鄰接性層面驗(yàn)證雙向連通性:根節(jié)點(diǎn)上存在對應(yīng)類型的鄰接表項(xiàng)(比如LSP層面連通性為P2P,則需要存在P2P類型的對應(yīng)鄰接表項(xiàng))。而本專利中為了適應(yīng)上述新生成的設(shè)備鏈路狀態(tài)報文,各個路由設(shè)備根據(jù)新收到的LSP進(jìn)行拓?fù)浜吐酚捎嬎?,并且在SPF計算時,若是處在線路震蕩期間,則計算的檢驗(yàn)調(diào)整為:要求在LSP層面是連通的,還要求在鄰接性層面驗(yàn)證連通性:根節(jié)點(diǎn)上存在對應(yīng)鄰接表項(xiàng);并且,如果LSP層面連通性是P2P,要求存在LAN類型或P2P類型的鄰接表項(xiàng)(即此時不要求鄰居項(xiàng)類型必須是P2P類型,LAN類型的也可以)。
[0070]具體實(shí)施例
[0071]本實(shí)施例基于IS-1S的路由設(shè)備上,其提供IS-1S模塊,并且該IS-1S模塊提供有BFD處理模塊、LSP處理模塊及SPF處理模塊及功能。
[0072]如圖3,在線路發(fā)生震蕩期間,IS-1S模塊會收到BFD模塊線路震蕩通告,指明哪個遠(yuǎn)程設(shè)備BFD震蕩(這同時就指定了哪個線路發(fā)生震蕩);同時假定遠(yuǎn)程設(shè)備為R1,本設(shè)備為 R-self
[0073]IS-1S進(jìn)行如下處理:
[0074]I) “BFD 處理模塊”:
[0075]收到BFD模塊線路震蕩通告,確定發(fā)生震蕩的線路,假設(shè)為Linkl,震蕩遠(yuǎn)程設(shè)備為Rl ;通告“LSP處理模塊”鏈路切換;執(zhí)行2)。
[0076]2) “ LSP 處理模塊”:
[0077]a)若本設(shè)備R-self是該廣播線路上的非DIS設(shè)備(那么遠(yuǎn)程設(shè)備Rl是DIS設(shè)備),則:
[0078]查詢由Rl生成的Linkl鏈路上的Rl的PSN的LSP,獲取該Rl的PSN的LSP的鄰居列表(記為Rl-PSN-neigh-List,包括了 Rl在Linkl鏈路上的所有鄰居,包括R-self,但沒有Rl);將R-self自生成的R-self LSP中的鄰居項(xiàng)Rl的PSN刪除,并將Rl-PSN-neigh-List表中除R-self之外的其它鄰居添加到R-self自生成的R_self LSP中,并重新生成新的R-self LSP。而后跳到執(zhí)行c)。
[0079]b)若本設(shè)備R-self是該廣播線路上的DIS設(shè)備,則:
[0080]查詢由本設(shè)備R-self生成的Linkl鏈路上的R-self的PSN的LSPjf Rl鄰居表項(xiàng)從中刪除,從而生成新的R-self PSN LSP,而后跳到執(zhí)行C)。
[0081]c)立即泛洪新生成的LSP。
[0082]接下來涉及IS-1S的“SPF計算處理模塊”。具體為在計算根節(jié)點(diǎn)的鄰居、并檢驗(yàn)連通性時:
[0083]a)在LSP層面校驗(yàn)與鄰居存在雙向連通性,通過連通性信息可計算獲取:
[0084]震蕩廣播鏈路ID (如Linkl)、本設(shè)備的類型(DIS或非DIS)、對應(yīng)的鄰居ID、以及LSP層面連通性類型(如P2P或LAN)。
[0085]b)在鄰接性層面校驗(yàn)與鄰居存在連通性,添加如下允許項(xiàng)(即如下條件滿足則校驗(yàn)通過):
[0086]若本設(shè)備為非DIS,且對應(yīng)于該鄰居ID的鄰居存在于Linkl且不是DIS、且LSP層面與該鄰居連通性是P2P,若根節(jié)點(diǎn)上存在對應(yīng)于該鄰居ID的LAN類型的鄰接表項(xiàng),則也算校驗(yàn)通過。
[0087]該實(shí)施例僅以IS-1S協(xié)議為例,實(shí)際上OSPF協(xié)議與IS-1S協(xié)議很多方面類似,以O(shè)SPF代替上文中的IS-1S進(jìn)行網(wǎng)絡(luò)部署,則也存在與本發(fā)明要解決的問題類似的問題,并且其解決方案也可采取由本文中提及的方法或原理進(jìn)行相應(yīng)地套用。
[0088]本發(fā)明還提供了一種路由快速收斂的裝置,它包括相連的設(shè)備鏈路狀態(tài)報文生成模塊及最短路徑優(yōu)先計算模塊;
[0089]所述設(shè)備鏈路狀態(tài)報文生成模塊,用于在廣播鏈路震蕩期間,若本設(shè)備為DIS端則刪除其鏈路狀態(tài)報文中的鄰居信息;若本設(shè)備為非DIS端,則在其自生成的鏈路狀態(tài)報文中刪除該發(fā)生震蕩的廣播鏈路上的DIS端設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)項(xiàng)并增加同一廣播鏈路上其它各非DIS的鄰居為鄰居項(xiàng)形成新的鏈路狀態(tài)報文泛洪而后轉(zhuǎn)到最短路徑優(yōu)先計算模塊;
[0090]所述最短路徑優(yōu)先計算模塊,用于進(jìn)行SPF計算且若鏈路狀態(tài)報文為雙向連通的,則當(dāng)存在LAN類型或P2P類型的鄰接表項(xiàng)時,驗(yàn)證通過。
[0091]上述中,所述設(shè)備鏈路狀態(tài)報文生成模塊具體包括,
[0092]接收單元,用于本設(shè)備根據(jù)收到的線路震蕩通告確定發(fā)生震蕩的線路及震蕩遠(yuǎn)程設(shè)備,而后轉(zhuǎn)到DIS判斷單元;
[0093]DIS判斷單元,用于判斷本設(shè)備是否為廣播線路上的DIS端設(shè)備,是則轉(zhuǎn)到DIS處理單元,否則轉(zhuǎn)到非DIS處理單元;
[0094]DIS處理單元,用于查詢由震蕩遠(yuǎn)程設(shè)備生成的發(fā)生震蕩的線路鏈路上的震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,獲取震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表,而后將本設(shè)備自生成的本設(shè)備的鏈路狀態(tài)報文中震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居項(xiàng)刪除,并將震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表中除本設(shè)備之外的其它鄰居添加到本設(shè)備的鏈路狀態(tài)報文中,從而生成新的本設(shè)備的鏈路狀態(tài)報文,而后轉(zhuǎn)到泛洪單元;
[0095]非DIS處理單元,用于查詢由本設(shè)備生成的發(fā)生震蕩的線路鏈路上的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,將震蕩遠(yuǎn)程設(shè)備鄰居表項(xiàng)從中刪除,從而生成新的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,而后轉(zhuǎn)到泛洪單元;
[0096]泛洪單元,用于泛洪新生成的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文。
[0097]上述中,所述最短路徑優(yōu)先計算模塊具體包括,
[0098]更新單元,用于接收其他設(shè)備泛洪的鏈路狀態(tài)報文并將其更新至本地鏈路狀態(tài)庫中,而后轉(zhuǎn)到SPF計算單元;
[0099]SPF計算單元,用于進(jìn)行SFP計算;包括對鏈路狀態(tài)校驗(yàn)是否與鄰居存在雙向連通,是則獲取連通性信息而后進(jìn)行驗(yàn)證鄰居的連通性,對應(yīng)獲取聯(lián)通信息中本設(shè)備的類型不為DIS時,判斷該鄰居ID滿足:存在于震蕩廣播鏈路、該鄰居ID的類型也不為DIS、與該鄰居的鏈路狀態(tài)類型為P2P且根節(jié)點(diǎn)上存在對應(yīng)于該鄰居ID的LAN類型的鄰接表項(xiàng)時認(rèn)定為驗(yàn)證通過;
[0100]所述連通性信息包括震蕩廣播鏈路ID、本設(shè)備的類型、對應(yīng)的鄰居ID、以及鏈路狀態(tài)類型。
[0101]該裝置的有益效果與方法相同,在此不做冗述。
[0102]以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種路由快速收斂的方法,其特征在于:它包括依次的設(shè)備鏈路狀態(tài)報文生成步驟及最短路徑優(yōu)先計算步驟; 所述設(shè)備鏈路狀態(tài)報文生成步驟包括:在廣播鏈路震蕩期間,若本設(shè)備為DIS端則刪除其鏈路狀態(tài)報文中的鄰居信息;若本設(shè)備為非DIS端,則在其自生成的鏈路狀態(tài)報文中刪除該發(fā)生震蕩的廣播鏈路上的DIS端設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)項(xiàng)并增加同一廣播鏈路上其它各非DIS的鄰居為鄰居項(xiàng)形成新的鏈路狀態(tài)報文泛洪; 所述最短路徑優(yōu)先計算步驟包括:進(jìn)行SPF計算且若鏈路狀態(tài)報文為雙向連通的,則當(dāng)存在LAN類型或P2P類型的鄰接表項(xiàng)時,驗(yàn)證通過。
2.如權(quán)利要求1所述的路由快速收斂的方法,其特征在于:所述設(shè)備鏈路狀態(tài)報文生成步驟具體包括, A)、本設(shè)備根據(jù)收到的線路震蕩通告確定發(fā)生震蕩的線路及震蕩遠(yuǎn)程設(shè)備; B)、判斷本設(shè)備是否為廣播線路上的DIS端設(shè)備,是則轉(zhuǎn)到步驟C,否則轉(zhuǎn)到步驟D; C)、查詢由震蕩遠(yuǎn)程設(shè)備生成的發(fā)生震蕩的線路鏈路上的震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,獲取震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表,而后將本設(shè)備自生成的本設(shè)備的鏈路狀態(tài)報文中震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居項(xiàng)刪除,并將震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表中除本設(shè)備之外的其它鄰居添加到本設(shè)備的鏈路狀態(tài)報文中,從而生成新的本設(shè)備的鏈路狀態(tài)報文,而后轉(zhuǎn)到步驟E ; D)、查詢由本設(shè)備生成的發(fā)生震蕩的線路鏈路上的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,將震蕩遠(yuǎn)程設(shè)備鄰居表項(xiàng)從中刪除,從而生成新的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,而后轉(zhuǎn)到步驟E ; E)、泛洪新生成的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文。
3.如權(quán)利要求1所述的路由快速收斂的方法,其特征在于:所述最短路徑優(yōu)先計算步驟具體包括, F)、接收其他設(shè)備泛洪的鏈路狀態(tài)報文并將其更新至本地鏈路狀態(tài)庫中; G)、進(jìn)行SFP計算;包括對鏈路狀態(tài)校驗(yàn)是否與鄰居存在雙向連通,是則獲取連通性信息而后進(jìn)行驗(yàn)證鄰居的連通性; 所述連通性信息包括震蕩廣播鏈路ID 、本設(shè)備的類型、對應(yīng)的鄰居ID、以及鏈路狀態(tài)類型; 所述驗(yàn)證鄰居的連通性包括步驟: 對應(yīng)獲取聯(lián)通信息中本設(shè)備的類型不為DIS時,判斷該鄰居ID滿足:存在于震蕩廣播鏈路、該鄰居ID的類型也不為DIS、即鏈路狀態(tài)報文中聲明的與該鄰居的連通類型為P2P類型,且本設(shè)備上存在對應(yīng)于該鄰居ID的LAN類型的鄰接表項(xiàng)時認(rèn)定為驗(yàn)證通過。
4.一種路由快速收斂的裝置,其特征在于:它包括相連的設(shè)備鏈路狀態(tài)報文生成模塊及最短路徑優(yōu)先計算模塊; 所述設(shè)備鏈路狀態(tài)報文生成模塊,用于在廣播鏈路震蕩期間,若本設(shè)備為DIS端則刪除其鏈路狀態(tài)報文中的鄰居信息;若本設(shè)備為非DIS端,則在其自生成的鏈路狀態(tài)報文中刪除該發(fā)生震蕩的廣播鏈路上的DIS端設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)項(xiàng)并增加同一廣播鏈路上其它各非DIS的鄰居為鄰居項(xiàng)形成新的鏈路狀態(tài)報文泛洪而后轉(zhuǎn)到最短路徑優(yōu)先計算模塊; 所述最短路徑優(yōu)先計算模塊,用于進(jìn)行SPF計算且若鏈路狀態(tài)報文為雙向連通的,則當(dāng)存在LAN類型或P2P類型的鄰接表項(xiàng)時,驗(yàn)證通過。
5.如權(quán)利要求4所述的路由快速收斂的裝置,其特征在于:所述設(shè)備鏈路狀態(tài)報文生成模塊具體包括, 接收單元,用于本設(shè)備根據(jù)收到的線路震蕩通告確定發(fā)生震蕩的線路及震蕩遠(yuǎn)程設(shè)備,而后轉(zhuǎn)到DIS判斷單元; DIS判斷單元,用于判斷本設(shè)備是否為廣播線路上的DIS端設(shè)備,是則轉(zhuǎn)到DIS處理單元,否則轉(zhuǎn)到非DIS處理單元; DIS處理單元,用于查詢由震蕩遠(yuǎn)程設(shè)備生成的發(fā)生震蕩的線路鏈路上的震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,獲取震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表,而后將本設(shè)備自生成的本設(shè)備的鏈路狀態(tài)報文中震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鄰居項(xiàng)刪除,并將震蕩遠(yuǎn)程設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文的鄰居列表中除本設(shè)備之外的其它鄰居添加到本設(shè)備的鏈路狀態(tài)報文中,從而生成新的本設(shè)備的鏈路狀態(tài)報文,而后轉(zhuǎn)到泛洪單元; 非DIS處理單元,用于查詢由本設(shè)備生成的發(fā)生震蕩的線路鏈路上的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,將震蕩遠(yuǎn)程設(shè)備鄰居表項(xiàng)從中刪除,從而生成新的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文,而后轉(zhuǎn)到泛洪單元; 泛洪單元,用于泛洪新生成的本設(shè)備的虛擬子網(wǎng)節(jié)點(diǎn)的鏈路狀態(tài)報文。
6.如權(quán)利要求4所述的路由快速收斂的裝置,其特征在于:所述最短路徑優(yōu)先計算模塊具體包括, 更新單元,用于接收其他設(shè)備泛洪的鏈路狀態(tài)報文并將其更新至本地鏈路狀態(tài)庫中,而后轉(zhuǎn)到SPF計算單元; SPF計算單元,用于進(jìn)行SFP計算;包括對鏈路狀態(tài)校驗(yàn)是否與鄰居存在雙向連通,是則獲取連通性信息而后進(jìn)行驗(yàn)證鄰居的連通性,對應(yīng)獲取聯(lián)通信息中本設(shè)備的類型不為DIS時,判斷該鄰居ID滿足:存在于震蕩廣播鏈路、該鄰居設(shè)備的類型也不為DIS、與該鄰居的鏈路狀態(tài)類型為P2P且根節(jié)點(diǎn)上存在對應(yīng)于該鄰居ID的LAN類型的鄰接表項(xiàng)時認(rèn)定為驗(yàn)證通過; 所述連通性信息包括震蕩廣播鏈路ID、本設(shè)備的類型、對應(yīng)的鄰居ID、以及鏈路狀態(tài)類型。
【文檔編號】H04L12/751GK103634218SQ201310681127
【公開日】2014年3月12日 申請日期:2013年12月12日 優(yōu)先權(quán)日:2013年12月12日
【發(fā)明者】俞大風(fēng) 申請人:福建三元達(dá)通訊股份有限公司