專(zhuān)利名稱(chēng):鏈路狀態(tài)協(xié)議下的信息同步方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及鏈路狀態(tài)協(xié)議(LSP, Link State Protocol),尤其涉及鏈路狀 態(tài)協(xié)議下的信息同步技術(shù)。
背景技術(shù):
鏈路狀態(tài)協(xié)議比傳統(tǒng)的距離矢量路由協(xié)議可靠性更強(qiáng),而且收斂速度更 快,可以應(yīng)用于規(guī)模大的網(wǎng)絡(luò)。
在應(yīng)用鏈路狀態(tài)協(xié)議的網(wǎng)絡(luò)中,路由器保存了大量的網(wǎng)絡(luò)拓樸信息,而 且采用了更為復(fù)雜的路由算法,因此也需要消耗路由器更多的CPU、內(nèi)存等 資源。為減少路由器資源的耗費(fèi),鏈路狀態(tài)協(xié)議引入了區(qū)域的概念,例如, 開(kāi)放最短3各徑優(yōu)先(OSPF, Open Shortest Path First)協(xié)議中的區(qū)域以及中間 系統(tǒng)到中間系統(tǒng)(ISIS, Intermediate System — Intermediate System )協(xié)i義中的 Level。引入?yún)^(qū)域的概念之后,有關(guān)信息的同步以及最短路徑優(yōu)先(SPF, Shortest Path First)計(jì)算等操作都是在區(qū)域內(nèi)完成的,這樣可以有效地減少路由器資源 的耗費(fèi)。另外,引入?yún)^(qū)域的概念之后,還可以有效地將網(wǎng)絡(luò)故障隔離在區(qū)域 內(nèi),從而避免了局部網(wǎng)絡(luò)的不穩(wěn)定對(duì)整個(gè)網(wǎng)絡(luò)造成的沖擊。
但是,本發(fā)明的發(fā)明人在仔細(xì)研究現(xiàn)有技術(shù)后發(fā)現(xiàn),鏈路狀態(tài)協(xié)議下的 信息同步僅限于在區(qū)域內(nèi)進(jìn)行,而無(wú)法實(shí)現(xiàn)區(qū)域間的信息同步。例如,兩個(gè) 不同區(qū)域的路由器之間不能同步各自所擁有的區(qū)域承載的信息,區(qū)域承載的 信息是指例如區(qū)域內(nèi)拓樸結(jié)構(gòu)等與區(qū)域相關(guān)的信息。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例要解決的技術(shù)問(wèn)題在于提供一種鏈路狀態(tài)協(xié)議下的信息同 步方法及裝置,用以實(shí)現(xiàn)在鏈路狀態(tài)協(xié)議下,不同區(qū)域的兩個(gè)路由器之間能 夠同步信息。
一種鏈路狀態(tài)協(xié)議下的信息同步方法,包括與其他區(qū)域的路由器協(xié)商 建立相互同步信息的鄰居關(guān)系;協(xié)商建立鄰居關(guān)系成功后,與所述其他區(qū)域 的路由器同步各自所擁有的區(qū)域承載的信息。
一種鏈路狀態(tài)協(xié)議下的信息同步裝置,包括協(xié)商單元,用于與其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系;信息同步單元,用于在所述
協(xié)商單元與所述其他區(qū)域的路由器協(xié)商建立鄰居關(guān)系成功后,與所述其他區(qū) 域的路由器同步各自所擁有的區(qū)域承載的信息。
一種鏈路狀態(tài)協(xié)議下的信息同步方法,包括獲得其他區(qū)域的路由器發(fā) 出的建立相互同步信息的鄰居關(guān)系的協(xié)商報(bào)文;判斷是否能夠與所述其他區(qū) 域的路由器建立鄰居關(guān)系,如果是,則與所述其他區(qū)域的路由器建立鄰居關(guān) 系;與所述其他區(qū)域的路由器同步各自所擁有的區(qū)域承載的信息。
一種鏈路狀態(tài)協(xié)議下的信息同步裝置,包括協(xié)商報(bào)文獲得單元,用于 獲得其他區(qū)域的路由器發(fā)出的建立相互同步信息的鄰居關(guān)系的協(xié)商報(bào)文;判
立相互同步信息的鄰居關(guān)系的協(xié)商報(bào)文,判斷是否能夠與所述其他區(qū)域的路 由器建立鄰居關(guān)系;鄰居關(guān)系建立單元,用于如果所述判斷單元判斷出能夠 與所述其他區(qū)域的路由器建立鄰居關(guān)系,則與所述其他區(qū)域的路由器建立鄰 居關(guān)系;信息同步單元,用于在所述鄰居關(guān)系建立單元與所述其他區(qū)域的路 由器建立鄰居關(guān)系后,與所述其他區(qū)域的路由器同步各自所擁有的區(qū)域承載 的信息。
在本發(fā)明的實(shí)施例中,如果一個(gè)區(qū)域的路由器與其他區(qū)域的路由器之間 能夠建立相互同步信息的鄰居關(guān)系,則這兩個(gè)分屬不同區(qū)域的路由器之間可 以同步各自所擁有的區(qū)域承載的信息,從而達(dá)到了不同區(qū)域的兩個(gè)路由器之 間同步信息的目的。
圖1為本發(fā)明實(shí)施例的一種鏈路狀態(tài)協(xié)議下的信息同步方法的流程圖2為圖1中的步驟S103的一種實(shí)現(xiàn)方式的流程圖3為圖1中的步驟S103的另一種實(shí)現(xiàn)方式的流程圖4為本發(fā)明實(shí)施例的一種鏈路狀態(tài)協(xié)議下的信息同步裝置的結(jié)構(gòu)示意
圖5為圖4中的信息同步單元403的一種結(jié)構(gòu)示意圖6為圖4中的信息同步單元403的另一種結(jié)構(gòu)示意圖7為本發(fā)明實(shí)施例的另 一種鏈路狀態(tài)協(xié)議下的信息同步方法的流程圖8為本發(fā)明實(shí)施例的另一種鏈路狀態(tài)協(xié)議下的信息同步裝置的結(jié)構(gòu)示意圖9為圖8中的信息同步單元804的一種結(jié)構(gòu)示意圖; 圖IO為圖8中的信息同步單元804的另一種結(jié)構(gòu)示意圖; 圖11為本發(fā)明實(shí)施例的區(qū)域及路由器的一種分布示意圖; 圖12為本發(fā)明實(shí)施例的兩個(gè)分屬不同區(qū)域的路由器之間同步信息的一種 示意圖13為本發(fā)明實(shí)施例的兩個(gè)分屬不同區(qū)域的路由器之間同步信息的另一 種示意圖14為本發(fā)明實(shí)施例的兩個(gè)分屬不同區(qū)域的路由器之間同步信息的另一
種示意圖。
具體實(shí)施例方式
首先對(duì)本發(fā)明實(shí)施例的一種鏈路狀態(tài)協(xié)議下的信息同步方法進(jìn)行說(shuō)明。 所述方法包括與其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系;協(xié) 商建立鄰居關(guān)系成功后,與所述其他區(qū)域的路由器同步各自所擁有的區(qū)域承 載的信息??蛇x的,與其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系 之前,還可以判斷是否存在到達(dá)所述其他區(qū)域的路由器的路由,如果是,則 與其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系。
優(yōu)選的流程如圖l所示,包括
步驟S101:判斷是否存在到達(dá)其他區(qū)域的路由器的路由。 判斷是否存在到達(dá)其他區(qū)域的路由器的路由可以由多種實(shí)現(xiàn)方式來(lái)實(shí) 現(xiàn)。例如,通過(guò)查找路由表或者在最短路徑優(yōu)先的計(jì)算過(guò)程中,判斷是否存 在到達(dá)所述其他區(qū)域的路由器的路由。如果所述方法各個(gè)步驟的執(zhí)行主體是 區(qū)域邊界路由器(ABR, Area Border Router),則ABR判斷是否存在到達(dá)所 述其他區(qū)域的路由器的路由的優(yōu)選實(shí)現(xiàn)方式是,通過(guò)最短路徑優(yōu)先的計(jì)算, 判斷是否存在到達(dá)所述其他區(qū)域的路由器的路由。
另外,所述方法各個(gè)步驟的執(zhí)行主體(例如是路由器)可以預(yù)先存儲(chǔ)有 網(wǎng)絡(luò)中所有或部分的路由器信息,例如,預(yù)先存儲(chǔ)有網(wǎng)絡(luò)中所有或部分的路 由器的標(biāo)識(shí)或IP地址,存儲(chǔ)的路由器信息可以包括與所述執(zhí)行主體在同一個(gè) 區(qū)域的路由器的信息,也可以包括與所述執(zhí)行主體不在同 一個(gè)區(qū)域的路由器 的信息。這樣,所述執(zhí)行主體可以通過(guò)這些信息判斷出網(wǎng)絡(luò)中至少有哪些路由器。當(dāng)需要向某個(gè)或某些路由器發(fā)送報(bào)文時(shí),可以從這些信息中獲得這個(gè) 或這些5^由器的標(biāo)識(shí)或IP地址。
步驟S102:如果存在到達(dá)所述其他區(qū)域的路由器的路由,則與所述其他 區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系。
具體來(lái)說(shuō),協(xié)商時(shí),可以向所述其他區(qū)域的路由器發(fā)送建立鄰居關(guān)系的 協(xié)商報(bào)文。協(xié)商報(bào)文可以攜帶所述其他區(qū)域的路由器的信息或者與所述其他 區(qū)域的路由器協(xié)商建立鄰居關(guān)系的路由器的信息。例如,協(xié)商報(bào)文可以是 OSPF協(xié)議的Hello l艮文,在發(fā)送Hello報(bào)文時(shí),報(bào)文頭的區(qū)域標(biāo)識(shí)(標(biāo)識(shí)) 字段可以填寫(xiě)為上述執(zhí)行主體的標(biāo)識(shí)或IP地址,當(dāng)然,也可以填寫(xiě)為所述其 他區(qū)域的路由器的標(biāo)識(shí)或IP地址。向所述其他區(qū)域的路由器發(fā)送協(xié)商報(bào)文時(shí), 協(xié)商報(bào)文可以封裝在IP寺艮文中,IP報(bào)文的源地址是所述執(zhí)行主體的IP地址, 目的地址是所述其他區(qū)域的路由器的IP地址。封裝有協(xié)商報(bào)文的IP報(bào)文在到 達(dá)所述其他區(qū)域的路由器之前,可能要經(jīng)過(guò)多個(gè)路由器,這些路由器接收到 封裝有協(xié)商報(bào)文的IP報(bào)文后,不需解析IP報(bào)文中的協(xié)商報(bào)文,只需根據(jù)IP 報(bào)文的目的地址查找路由表,將IP報(bào)文轉(zhuǎn)發(fā)給下一個(gè)路由器,直至封裝有協(xié) 商報(bào)文的IP報(bào)文到達(dá)所述其他區(qū)域的路由器。
所述其他區(qū)域的路由器接收到協(xié)商報(bào)文后,可以先判斷是否能夠與上述 執(zhí)行主體建立鄰居關(guān)系,具體可以為,檢查所述協(xié)商報(bào)文攜帶的路由器的信 息是否為所述其他區(qū)域的路由器的信息或者所述其他區(qū)域的路由器配置的路 由器的信息,如果是,則可以確定與上述執(zhí)行主體能夠建立鄰居關(guān)系。
如果所述其他區(qū)域的路由器確定能夠與發(fā)送所述協(xié)商報(bào)文的路由器建立 鄰居關(guān)系,則根據(jù)所述協(xié)商報(bào)文,與上述執(zhí)行主體建立鄰居關(guān)系。例如,將 上述執(zhí)行主體的信息加入到鄰居列表中,其中,鄰居列表中存儲(chǔ)的都是與所 述其他區(qū)域的路由器具有鄰居關(guān)系的路由器的信息。
這里需要說(shuō)明的是,具有鄰居關(guān)系的兩個(gè)路由器可以定時(shí)或每間隔一革殳 時(shí)間相互發(fā)送協(xié)商報(bào)文,這兩個(gè)路由器可以通過(guò)協(xié)商報(bào)文,檢查雙方之間是 否仍然具有鄰居關(guān)系。
另外需要說(shuō)明的是,在具有鄰居關(guān)系的兩個(gè)路由器之間的路由中,即使 在這兩個(gè)路由器之間具有多個(gè)路由器,但這些路由器并不需要解析IP報(bào)文的 內(nèi)容,只需轉(zhuǎn)發(fā)IP報(bào)文即可。這樣,從某種意義上來(lái)說(shuō),具有鄰居關(guān)系的兩個(gè)路由器具有直達(dá)的鏈路。在這里,我們將這種鏈路稱(chēng)為交換鏈路(Exchange Link),也可以稱(chēng)為虛擬鏈路(Virtual Link)。
步驟S103:與所述其他區(qū)域的路由器協(xié)商建立鄰居關(guān)系成功后,與所述 其他區(qū)域的路由器同步各自所擁有的區(qū)域承載的信息。
實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn)。
圖2為步驟S103的一種實(shí)現(xiàn)方式的流程圖。如圖2所示,包括
步驟S1031:與所述其他區(qū)域的路由器交換各自所擁有的區(qū)域的概要信
自
概要信息是區(qū)域的概括信息,其可以攜帶于OSPF協(xié)議的數(shù)據(jù)庫(kù)描述 (DD , Database Description)報(bào)文,DD報(bào)文的區(qū)域標(biāo)識(shí)字段填寫(xiě)為概要信 息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)。例如,當(dāng)上述執(zhí)行主體向所述其他區(qū)域的路由器發(fā)送DD
息對(duì)應(yīng)的區(qū)域標(biāo)識(shí),DD報(bào)文的內(nèi)容字段填寫(xiě)為對(duì)應(yīng)所述標(biāo)識(shí)的概要信息;當(dāng)字段填寫(xiě)為所述其他區(qū)域的路由器所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo) 識(shí),DD報(bào)文的內(nèi)容字段填寫(xiě)為對(duì)應(yīng)所述標(biāo)識(shí)的概要信息。DD報(bào)文同樣可以
IP才艮文的源地址是上述執(zhí)行主體的IP地址,目的地址是所述其他區(qū)域的^各由
報(bào)文的源地址是所述其他區(qū)域的路由器的IP地址,目的地址是上述執(zhí)行主體 的IP i也址。
步驟S1032:與所述其他區(qū)域的路由器相互請(qǐng)求各自需要的區(qū)域承載的信
自
當(dāng)接收到鄰居提供的鄰居所擁有的區(qū)域的概要信息后,可以根據(jù)概要信 息判斷是否需要鄰居所擁有的區(qū)域承載的信息,如果是,則可以向鄰居請(qǐng)求 鄰居所擁有的區(qū)域承載的信息,否則,可以不向鄰居請(qǐng)求鄰居所擁有的區(qū)域 承載的信息。當(dāng)接收到鄰居提供的鄰居所擁有的區(qū)域的概要信息后,也可以
向鄰居請(qǐng)求鄰居所擁有的區(qū)域承載的信息,否則,可以向鄰居請(qǐng)求鄰居所擁有的區(qū)域承載的信息。
向鄰居請(qǐng)求各自需要的區(qū)域承載的信息時(shí),可以向鄰居發(fā)送OSPF協(xié)議的
請(qǐng)求(Request)報(bào)文,Request報(bào)文的區(qū)域標(biāo)識(shí)字段可以填寫(xiě)為所要請(qǐng)求的區(qū) 域的標(biāo)識(shí)。同樣,Request才艮文可以封裝在IP才艮文中。
步驟S1033:根據(jù)所述請(qǐng)求,與所述其他區(qū)域的路由器交換各自需要的區(qū) 域承載的信息。
接收到鄰居的請(qǐng)求后,可以根據(jù)Request報(bào)文攜帶的區(qū)域標(biāo)識(shí),向鄰居提 供所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域承載的信息。具體可以使用OSPF協(xié)議的更新 (Update)報(bào)文,Update報(bào)文的區(qū)域標(biāo)識(shí)字段可以填寫(xiě)為提供的區(qū)域承載的 信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)。同樣,Update報(bào)文可以封裝在IP報(bào)文中。
在圖2所示的流程中,具有鄰居關(guān)系的兩個(gè)^^由器可以先以一個(gè)區(qū)域?yàn)?單位,向鄰居提供這個(gè)區(qū)域的概要信息,之后,再以下一個(gè)區(qū)域?yàn)閱挝?,?鄰居提供所述下一個(gè)區(qū)域的概要信息,以此類(lèi)推,直至將所有區(qū)域的概要信
行主體所擁有的區(qū)域承載的信息為例。假設(shè)執(zhí)行主體擁有區(qū)域l、 2和3的信 息,執(zhí)行主體可以先從中選擇一個(gè)區(qū)域,選擇時(shí),可以隨機(jī)選擇,也可以按 照規(guī)定的順序(例如標(biāo)識(shí)由小到大的順序),這里假設(shè)執(zhí)行主體首先選擇了區(qū) 域l。執(zhí)行主體可以向所述其他區(qū)域的路由器提供區(qū)域1的概要信息,之后, 再分別向所述其他區(qū)域的路由器提供區(qū)域2及區(qū)域3的概要信息。當(dāng)所述其 他區(qū)域的路由器分別請(qǐng)求了區(qū)域1、 2和3的信息,執(zhí)行主體再向所述其他區(qū) 域的路由器提供區(qū)域l、 2和3的信息。
圖3為另一種實(shí)現(xiàn)步驟S103的流程圖。如圖3所示,包括
息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)。
,支設(shè)上述執(zhí)行主體擁有區(qū)域1、 2和3的信息,那么執(zhí)行主體可以向所述 其他區(qū)域的路由器提供區(qū)域1、 2和3的標(biāo)識(shí)。具體實(shí)現(xiàn)時(shí),可以生成一個(gè)區(qū) 域標(biāo)識(shí)列表,列表中攜帶區(qū)域標(biāo)識(shí)。
步驟S1032,與所述其他區(qū)域的路由器相互發(fā)出各自需要的區(qū)域承載的 信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)。
接收到鄰居提供的鄰居所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)后,可以將鄰居提供的區(qū)域標(biāo)識(shí)與自身所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)進(jìn) 行比較,確定鄰居具有而自身不具有的區(qū)域承載的信息,之后,可以向鄰居 發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)。例如,假設(shè)所述其他區(qū)域的路 由器擁有區(qū)域3的信息,當(dāng)所述其他區(qū)域的路由器接收到上述執(zhí)行主體提供
的區(qū)域l、 2和3的標(biāo)識(shí)后,可以確定區(qū)域1和2的信息是自身沒(méi)有而上述執(zhí) 行主體擁有的信息,此時(shí),所述其他區(qū)域的路由器可以向執(zhí)行主體發(fā)出區(qū)域l 和2的區(qū)域標(biāo)識(shí)。當(dāng)然,如果所述其他區(qū)域的路由器不需要區(qū)域1和2中的 某個(gè)區(qū)域承載的信息,則也可以只向執(zhí)行主體發(fā)出需要的區(qū)域承載的信息對(duì) 應(yīng)的區(qū)i或才示i口、。
步驟S1033':根據(jù)區(qū)域標(biāo)識(shí),與所述其他區(qū)域的路由器交換與所述區(qū)域 標(biāo)識(shí)對(duì)應(yīng)的區(qū)域的概要信息。
當(dāng)收到鄰居發(fā)出的區(qū)域標(biāo)識(shí)后,可以將區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域的扭克要信息
和2的區(qū)域標(biāo)識(shí),則說(shuō)明所述其他區(qū)域的路由器需要執(zhí)行主體提供區(qū)域1和2 的信息,此時(shí),執(zhí)行主體可以向所述其他區(qū)域的路由器提供區(qū)域1和2的概
或2的概要信息。
步驟S1034,與所述其他區(qū)域的路由器相互請(qǐng)求各自需要的區(qū)域承載的
4呂息。
步驟S1035,根據(jù)所述請(qǐng)求,與所述其他區(qū)域的路由器交換各自需要的 區(qū)域承載的信息。
在圖1所示的方法中,執(zhí)行主體可以根據(jù)獲得的指示,判斷是否存在到 達(dá)指定的其他區(qū)域的路由器的路由。例如,當(dāng)使用執(zhí)行主體的用戶(hù)指定執(zhí)行 主體與某個(gè)路由器同步信息時(shí),執(zhí)行主體就要先判斷是否存在到達(dá)這個(gè)路由 器的路由,如果是,則與這個(gè)路由器協(xié)商建立相互同步信息的鄰居關(guān)系,成 功后,再與這個(gè)路由器同步各自所擁有的區(qū)域承載的信息。當(dāng)然,在需要與 某個(gè)路由器同步信息時(shí),執(zhí)行主體也可以自行判斷是否存在到達(dá)某個(gè)其他區(qū) 域的路由器的路由,如果是,則與所述其他區(qū)域的路由器協(xié)商建立相互同步 信息的鄰居關(guān)系,從而同步各自所擁有的區(qū)域承載的信息。
圖1所示的方法實(shí)施例可以由多種形式的裝置來(lái)實(shí)施。其中的一種《連3各狀態(tài)協(xié)議下的信息同步裝置可以包括協(xié)商單元,用于與其他區(qū)域的路由器
協(xié)商建立相互同步信息的鄰居關(guān)系;信息同步單元,用于在所述協(xié)商單元與 所述其他區(qū)域的路由器協(xié)商建立鄰居關(guān)系成功后,與所述其他區(qū)域的路由器 同步各自所擁有的區(qū)域承載的信息??蛇x的,所述裝置還可以包括路由確定 單元,用于判斷是否存在到達(dá)所述其他區(qū)域的路由器的路由,如果是,則觸 發(fā)協(xié)商單元與所述其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系。
所述裝置的優(yōu)選形式如圖4所示,包括路由確定單元401,用于確定是 否存在到達(dá)其他區(qū)域的路由器的路由;協(xié)商單元402,用于如果路由確定單元 401確定存在到達(dá)其他區(qū)域的路由器的路由,則與所述其他區(qū)域的路由器協(xié)商 建立相互同步信息的鄰居關(guān)系;信息同步單元403,用于在協(xié)商單元402與所 述其他區(qū)域的路由器協(xié)商建立鄰居關(guān)系成功后,與所述其他區(qū)域的路由器同 步各自所擁有的區(qū)域承載的信息。
如圖5所示,信息同步單元403可以包括概要信息交換單元4031,用
元4032,用于在概要信息交換單元4031與所述其他區(qū)域的路由器交換各自所 擁有的區(qū)域的概要信息后,向所述其他區(qū)域的路由器請(qǐng)求需要的所述其他區(qū) 域的路由器所擁有的區(qū)域承載的信息;區(qū)域承載的信息獲得單元4033,用于 在請(qǐng)求發(fā)出單元4032向所述其他區(qū)域的路由器請(qǐng)求需要的所述其他區(qū)域的路 由器所擁有的區(qū)域承載的信息后,獲得所述其他區(qū)域的路由器提供的需要的 區(qū)域承載的信息。
如圖6所示,信息同步單元403也可以包括區(qū)域標(biāo)識(shí)交換單元4031', 用于與所述其他區(qū)域的路由器交換各自所在區(qū)域的標(biāo)識(shí);區(qū)域標(biāo)識(shí)發(fā)出單元 4032,,用于在區(qū)域標(biāo)識(shí)交換單元4031,與所述其他區(qū)域的路由器交換各自所 在區(qū)域的標(biāo)識(shí)后,向所述其他區(qū)域的路由器發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng) 的區(qū)域標(biāo)識(shí);概要信息獲得單元4033,,用于在區(qū)域標(biāo)識(shí)發(fā)出單元4032,向 所述其他區(qū)域的路由器發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)后,獲得 需要的區(qū)域的概要信息;請(qǐng)求發(fā)出單元4034,,用于在概要信息獲得單元4033, 獲得需要的區(qū)域的概要信息后,向所述其他區(qū)域的路由器請(qǐng)求需要的區(qū)域承 載的信息;區(qū)域承載的信息獲得單元4035,,用于在請(qǐng)求發(fā)出單元4034,向 所述其他區(qū)域的路由器請(qǐng)求需要的區(qū)域承載的信息后,獲得所述需要的區(qū)域承載的信息。
圖4所示的裝置中的各個(gè)功能單元的功能描述可以參見(jiàn)圖1所示的方法 實(shí)施例的描述,這里不再贅述。
需要說(shuō)明的是,圖4所示的裝置中的各個(gè)功能單元可以設(shè)置或應(yīng)用于路
由器中,這些功能單元在路由器中的工作方式與在圖4所示的裝置中的工作
方式相同,這里不在贅述。
本發(fā)明實(shí)施例還提供了另外一種鏈路狀態(tài)協(xié)議下的信息同步方法。如圖7 所示,包括
步驟S701:獲得其他區(qū)域的路由器發(fā)出的建立相互同步信息的鄰居關(guān)系 的協(xié)商報(bào)文。協(xié)商報(bào)文可以攜帶所述其他區(qū)域的路由器的信息或者執(zhí)行圖5 所示流程的執(zhí)行主體的信息。接收到的協(xié)商報(bào)文可以封裝在IP報(bào)文中,IP報(bào) 文的源地址是所述其他區(qū)域的路由器的IP地址,目的地址是所述執(zhí)行主體的 IP地址。
步驟S702:判斷是否能夠與所述其他區(qū)域的路由器建立鄰居關(guān)系,如果 是,則與所述其他區(qū)域的路由器建立鄰居關(guān)系。
判斷是否能夠與所述其他區(qū)域的路由器建立鄰居關(guān)系可以由多種方式來(lái) 實(shí)現(xiàn)。例如,檢查所述協(xié)商報(bào)文攜帶的路由器的信息是否是執(zhí)行主體的信息 或者執(zhí)行主體配置的路由器的信息,如果是,則確定能夠與所述其他區(qū)域的 路由器建立鄰居關(guān)系,否則,確定不能與所述其他區(qū)域的路由器建立鄰居關(guān) 系。
如果確定能夠與所述其他區(qū)域的路由器建立鄰居關(guān)系,則根據(jù)所述協(xié)商 報(bào)文,與所述其他區(qū)域的路由器建立鄰居關(guān)系。例如,將所述其他區(qū)域的路 由器的信息加入到鄰居列表中,其中,鄰居列表中存儲(chǔ)的都是與所述執(zhí)行主 體具有鄰居關(guān)系的路由器的信息。
與所述其他區(qū)域的路由器建立鄰居關(guān)系后,可以立即向所述其他區(qū)域的
路由器發(fā)送協(xié)商報(bào)文,也可以過(guò)一段時(shí)間發(fā)送協(xié)商報(bào)文。需要說(shuō)明的是,執(zhí) 行主體與所述其他區(qū)域的路由器定時(shí)互相發(fā)送協(xié)商報(bào)文是一個(gè)優(yōu)選的技術(shù)手段。實(shí)現(xiàn)方式來(lái)實(shí)現(xiàn)。詳細(xì)描述可以參見(jiàn)圖2和圖3以及對(duì)應(yīng)的文字描述。與圖2 及圖3不同的是,這個(gè)步驟提到的其他區(qū)域的路由器是指圖1所示流程的執(zhí) 行主體,這個(gè)步驟提到的執(zhí)行主體是圖2和圖3中的其他區(qū)域的路由器。
信息時(shí),可以獲得所述其他區(qū)域的路由器提供的概要信息,同時(shí),還可以獲 得所述其他區(qū)域的路由器提供的與概要信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí),如果所述區(qū)域 標(biāo)識(shí)與本端所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)相同,則判斷是否存在 僅通過(guò)所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域到達(dá)所述其他區(qū)域的路由器的3各由,如果不 存在,則向所述其他區(qū)域的5^由器請(qǐng)求所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域承載的信息。
的區(qū)域標(biāo)識(shí)時(shí),可以獲得所述其他區(qū)域的路由器提供的所擁有區(qū)域的標(biāo)識(shí), 如果所述區(qū)域標(biāo)識(shí)與本端所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)相同,則 判斷是否存在僅通過(guò)所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域到達(dá)所述其他區(qū)域的路由器的 路由,如果不存在,則向所述其他區(qū)域的路由器發(fā)出所述區(qū)域標(biāo)識(shí)。
圖7所示的方法實(shí)施例可以由多種形式的裝置來(lái)實(shí)施。如圖8所示,其 中的一種鏈路狀態(tài)協(xié)議下的信息同步裝置可以包括協(xié)商"^艮文獲得單元801, 用于獲得其他區(qū)域的路由器發(fā)出的建立相互同步信息的鄰居關(guān)系的協(xié)商報(bào) 文;判斷單元802,用于根據(jù)協(xié)商報(bào)文獲得單元801獲得的其他區(qū)域的路由器 發(fā)出的建立相互同步信息的鄰居關(guān)系的協(xié)商報(bào)文,判斷是否能夠與所述其他 區(qū)域的路由器建立鄰居關(guān)系;鄰居關(guān)系建立單元803,用于如果判斷單元802 判斷出能夠與所述其他區(qū)域的路由器建立鄰居關(guān)系,則與所述其他區(qū)域的路 由器建立鄰居關(guān)系;信息同步單元804,用于在鄰居關(guān)系建立單元803與所述 其他區(qū)域的路由器建立鄰居關(guān)系后,與所述其他區(qū)域的路由器同步各自所擁 有的區(qū)域承載的信息。
如圖9所示,信息同步單元804可以包括斗既要信息交換單元8041,用 于與所述其他區(qū)域的路由器交換各自所擁有的區(qū)域的概要信息;請(qǐng)求發(fā)出單 元8042,用于在概要信息交換單元8041與所述其他區(qū)域的路由器交換各自所 擁有的區(qū)域的概要信息后,向所述其他區(qū)域的路由器請(qǐng)求需要的所述其他區(qū) 域的路由器所擁有的區(qū)域承載的信息;區(qū)域承載的信息獲得單元8043,用于 在請(qǐng)求發(fā)出單元8042向所述其他區(qū)域的路由器請(qǐng)求需要的所述其他區(qū)域的路由器所擁有的區(qū)域承載的信息后,獲得所述其他區(qū)域的路由器提供的需要的 區(qū)域承載的信息。
如圖IO所示,信息同步單元804也可以包括區(qū)域標(biāo)識(shí)交換單元8041,,
標(biāo)識(shí);區(qū)域標(biāo)識(shí)發(fā)出單元8042,,用于在區(qū)域標(biāo)識(shí)交換單元8041,與所述其 他區(qū)域的路由器交換各自所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)后,向所 述其他區(qū)域的路由器發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí);概要信息 獲得單元8043',用于在區(qū)域標(biāo)識(shí)發(fā)出單元8042,向所述其他區(qū)域的路由器 發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)后,獲得需要的區(qū)域的概要信息; 請(qǐng)求發(fā)出單元8044,,用于在概要信息獲得單元8043,獲得需要的區(qū)域的概 要信息后,向所述其他區(qū)域的路由器請(qǐng)求需要的區(qū)域承載的信息;區(qū)域承載 的信息獲得單元8045,,用于在請(qǐng)求發(fā)出單元8044,向所述其他區(qū)域的3各由 器請(qǐng)求需要的區(qū)域承載的信息后,獲得所述需要的區(qū)域承載的信息。
圖8所示的裝置中的各個(gè)功能單元的功能描述可以參見(jiàn)圖7所示的方法 實(shí)施例的描述,這里不再贅述。
需要說(shuō)明的是,圖8所示的裝置中的各個(gè)功能單元可以設(shè)置或應(yīng)用于路 由器中,這些功能單元在^^由器中的工作方式與在圖8所示的裝置中的工作 方式相同,這里不在贅述。
由上述幾個(gè)實(shí)施例可見(jiàn),路由器之間鄰居關(guān)系的建立和信息的交換是本 發(fā)明實(shí)施例比較重要的兩個(gè)技術(shù)點(diǎn)。為使本領(lǐng)域技術(shù)人員更加清楚的理解本 發(fā)明的實(shí)施例,下面分別對(duì)這兩個(gè)技術(shù)點(diǎn)再進(jìn)行詳細(xì)說(shuō)明。
l.鄰居關(guān)系的建立 (1 ) ABR之間鄰居關(guān)系的建立
一個(gè)ABR可以擁有多個(gè)區(qū)域的LSDB,這樣可以減少ABR與其他路由 器(包括其他ABR)之間的信息交換量。
如圖11所示,當(dāng)ABR1需要與ABR3同步信息時(shí),ABR1首先通過(guò)在區(qū) 域(Area) 0的最短路徑優(yōu)先(SPF, Shortest Path First)計(jì)算,或者通過(guò)查 找路由表的方式,判斷是否存在到達(dá)ABR3的路由,如果是,則說(shuō)明ABR1 與ABR3之間存在直達(dá)的鏈路,此時(shí),ABR1可以向ABR3發(fā)送Hello報(bào)文。 Hello報(bào)文可以封裝在IP報(bào)文中,IP報(bào)文的源地址可以是ABR1的IP地址,目的地址可以是ABR3的IP地址。封裝有Hello報(bào)文的IP報(bào)文在到達(dá)ABR3 之前,可以經(jīng)過(guò)多個(gè)路由器,這些路由器在收到封裝有IP報(bào)文的Hello報(bào)文 后,可以通過(guò)查找路由表的方式將IP報(bào)文轉(zhuǎn)發(fā)給下一個(gè)路由器,直至IP報(bào)文 到達(dá)ABR3。當(dāng)然,在圖ll中,ABR1與ABR3之間沒(méi)有其他路由器,所以, 封裝有Hello報(bào)文的IP報(bào)文不需要通過(guò)其他路由器轉(zhuǎn)發(fā)。Hello報(bào)文的報(bào)文頭 的區(qū)域標(biāo)識(shí)字段可以攜帶ABR1的標(biāo)識(shí)或者ABR1的IP地址,也可以攜帶 ABR3的標(biāo)識(shí)或者ABR3的IP地址。
ABR3在收到Hello報(bào)文后,可以判斷Hello報(bào)文攜帶的標(biāo)識(shí)或IP地址是 否與接收接口所在的區(qū)域匹配,如果是,則根據(jù)封裝Hello報(bào)文的IP報(bào)文的 源地址,建立與ABR1之間的鄰居關(guān)系,例如,將ABR1的信息加入到鄰居 列表中,ABR1的信息例如為ABR1的IP地址、ABR1的標(biāo)識(shí)、ABR1所在區(qū) 域的標(biāo)識(shí)。如果ABR3確定Hello報(bào)文攜帶的標(biāo)識(shí)或IP地址與接收接口所在 的區(qū)域不匹配,貝'j ABR3可以進(jìn)一步判斷Hello報(bào)文攜帶的標(biāo)識(shí)或IP地址是 否是ABR3的標(biāo)識(shí)或IP地址,或者是否是ABR3預(yù)先配置的路由器的標(biāo)識(shí)或 IP地址,如果標(biāo)識(shí)或IP地址是ABR3的標(biāo)識(shí)或IP地址,或者是ABR3預(yù)先 配置的3各由器的標(biāo)識(shí)或IP地址,則建立與ABR1之間的鄰居關(guān)系,否則,不 能建立與ABR1之間的鄰居關(guān)系。
(2 )任意兩臺(tái)不同區(qū)域的普通路由器之間鄰居關(guān)系的建立
如圖11所示,當(dāng)在區(qū)域1中的路由器A需要與在區(qū)域2中的路由器B同 步信息時(shí),路由器A首先通過(guò)查找路由表的方式,判斷是否存在到達(dá)路由器 B的路由,如果是,則說(shuō)明路由器A與路由器B之間存在直達(dá)的鏈路,路由 器A可以向路由器B發(fā)送Hello報(bào)文。當(dāng)然,由路由器A到達(dá)路由器B可能 不只存在一條路由。Hello報(bào)文可以封裝在IP報(bào)文中,IP報(bào)文的源地址可以 是路由器A的IP地址,目的地址可以是路由器B的IP地址。封裝有IP報(bào)文 的Hello報(bào)文在到達(dá)路由器B之前,可以經(jīng)過(guò)多個(gè)路由器,這些路由器在收到 封裝有Hello報(bào)文的IP報(bào)文后,可以通過(guò)查找路由表的方式將IP報(bào)文轉(zhuǎn)發(fā)給 下一個(gè)路由器,直至IP報(bào)文到達(dá)路由器B。 Hello報(bào)文的報(bào)文頭的區(qū)域標(biāo)識(shí)字 段可以攜帶路由器A的標(biāo)識(shí)或者路由器A的IP地址,也可以攜帶路由器B 的標(biāo)識(shí)或者路由器B的IP地址。
路由器B在收到Hello報(bào)文后,可以判斷Hello報(bào)文攜帶的標(biāo)識(shí)或IP地址是否與接收接口所在的區(qū)域匹配,如果是,則根據(jù)封裝Hello報(bào)文的IP報(bào) 文的源地址,建立與路由器A之間的鄰居關(guān)系,例如,將路由器A的信息加 入到鄰居列表中,路由器A的信息例如為路由器A的IP地址、路由器A的 標(biāo)識(shí)、路由器A所在區(qū)域的標(biāo)識(shí)(即區(qū)域1的標(biāo)識(shí))。如果路由器B確定Hello 報(bào)文攜帶的標(biāo)識(shí)或IP地址與接收接口所在的區(qū)域不匹配,則路由器B可以進(jìn) 一步判斷Hello報(bào)文攜帶的標(biāo)識(shí)或IP地址是否是i 各由器B的標(biāo)識(shí)或IP地址, 或者是否是路由器B預(yù)先配置的路由器的標(biāo)識(shí)或IP地址,如果標(biāo)識(shí)或IP地 址是路由器B的標(biāo)識(shí)或IP地址,或者是路由器B預(yù)先配置的路由器的標(biāo)識(shí)或 IP地址,則建立與ABR1之間的鄰居關(guān)系,否則,不能建立與ABRl之間的 鄰居關(guān)系。
(3) ABR與普通路由器之間鄰居關(guān)系的建立
當(dāng)ABR需要與普通路由器同步信息時(shí),ABR進(jìn)行的操作可以參照上述 ABR1的操作,普通路由器的操作可以參照上述路由器B的操作,這里不再 贅述。
當(dāng)普通路由器需要與ABR同步信息時(shí),普通路由器進(jìn)行的操作可以參照 上述路由器A的操作,ABR的操作可以參照上述ABR3的操作,這里不再贅 述。
需要說(shuō)明的是,建立了鄰居關(guān)系的路由器可以周期性的或不定時(shí)的向其 鄰居發(fā)送Hello報(bào)文,接收Hello報(bào)文的路由器可以檢查發(fā)出Hello報(bào)文的路 由器是否還在鄰居列表中,如果不是的話(huà),則可以將發(fā)出Hello報(bào)文的路由器 加入到鄰居列表。另外,如果長(zhǎng)時(shí)間(時(shí)間長(zhǎng)短可以根據(jù)實(shí)際需要而定)沒(méi) 有收到鄰居發(fā)出的Hello報(bào)文,則說(shuō)明鄰居可能發(fā)生故障、或者與鄰居之間的 鏈路可能發(fā)生故障等情況,此時(shí),可以確定與鄰居之間的鄰居關(guān)系已經(jīng)不存 在,從而將鄰居從鄰居列表中刪除。當(dāng)然,此時(shí)與鄰居之間的交換鏈路也不存在。
2.信息的交換
兩臺(tái)路由器建立鄰居關(guān)系后,當(dāng)鄰居關(guān)系達(dá)到2-way時(shí),開(kāi)始進(jìn)行信息 交換的協(xié)商,協(xié)商之后,進(jìn)行信息交換,具體如下 對(duì)^^由器X的描述如下 (i)路由器X選擇一個(gè)區(qū)域A (例如區(qū)域標(biāo)識(shí)最小的區(qū)域),將DD報(bào)文的區(qū)域標(biāo)識(shí)字段填充為區(qū)域A的區(qū)域標(biāo)識(shí),并且將DD報(bào)文的More bit (以 下簡(jiǎn)稱(chēng)Mbit)置為1, DD報(bào)文的目的地址為鄰居的地址,然后發(fā)出DD才艮文。 當(dāng)然,DD報(bào)文也可以封裝在IP報(bào)文中,IP報(bào)文的源地址是路由器X的IP 地址,目的地址是鄰居的IP地址。另外,More bit置為l表示后續(xù)還會(huì)有DD 報(bào)文發(fā)送到鄰居。
(ii)如果路由器X已經(jīng)完成對(duì)區(qū)域A的描述,檢查是否還有路由器X 所在的其他區(qū)域未進(jìn)行描述,如果有,則選擇下一個(gè)區(qū)域,返回步驟i,如果 路由器X已經(jīng)完成所有區(qū)域數(shù)據(jù)庫(kù)信息的描述,此時(shí),根據(jù)路由器X的 Master/Slave狀態(tài)可以采耳又如下才喿作
如果路由器X為Master狀態(tài),則將發(fā)給鄰居的最后一個(gè)DD報(bào)文中的M bit置為O,其中,Master狀態(tài)表示路由器X是激活信息交換過(guò)程的路由器, More bit置為0表示后續(xù)不會(huì)有DD報(bào)文發(fā)送到鄰居。
如果路由器X為Slave狀態(tài),并且收到鄰居發(fā)出的最后一個(gè)DD報(bào)文中的 M bit為0,則將發(fā)給鄰居的最后一個(gè)DD沖艮文中的M bit置為0。如果路由器 X收到鄰居發(fā)出的最后一個(gè)DD報(bào)文中的Mbit為1,則路由器X仍然可以保 持后續(xù)的DD報(bào)文中的Mbit為1,直至將發(fā)給鄰居的最后一個(gè)DD報(bào)文中的 Mbit置為O,其中,Slave狀態(tài)表示路由器X是信息交換過(guò)程中被激活的路由 器。
對(duì)路由器Y的描述如下
當(dāng)路由器Y收到路由器X發(fā)送的DD報(bào)文時(shí),對(duì)DD報(bào)文的區(qū)域標(biāo)識(shí)字 段進(jìn)行檢查,如果區(qū)域標(biāo)識(shí)與接收接口所在區(qū)域的標(biāo)識(shí)不一致,則檢查封裝 所述DD報(bào)文的IP報(bào)文的源地址(即路由器X的IP地址)是否是具有鄰居 關(guān)系的路由器的地址,例如,從鄰居列表中查找是否存在與IP報(bào)文的源地址 對(duì)應(yīng)的5^由器,如果才企查通過(guò),并且^^由器Y中不存在DD凈艮文的區(qū)域標(biāo)識(shí) 對(duì)應(yīng)的區(qū)域承載的信息,則可以向路由器X請(qǐng)求所述DD報(bào)文的區(qū)域標(biāo)識(shí)對(duì) 應(yīng)的區(qū)域承載的信息。
如果DD報(bào)文的區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域承載的信息已經(jīng)保存在路由器Y中, 此時(shí),可以根據(jù)路由器Y的Master/Slave狀態(tài)采取如下操作
如果路由器Y為Master狀態(tài),當(dāng)收到路由器X發(fā)出的最后一個(gè)DD報(bào)文 中的M bit為0時(shí),則觸發(fā)鄰居狀態(tài)機(jī)的ExchangeDone事件。如果路由器Y為Slave狀態(tài),當(dāng)收到路由器X發(fā)出的最后一個(gè)DD報(bào)文 中的Mbit為O時(shí),檢查自己是否已經(jīng)完成了所有區(qū)域LSDB信息的描述,如 果已經(jīng)完成,則觸發(fā)鄰居狀態(tài)機(jī)的Exchange事件,并且將發(fā)送給^^由器X的 最后一個(gè)DD l艮文中的M bit置為0。
需要說(shuō)明的是,在實(shí)際應(yīng)用中,網(wǎng)絡(luò)中兩個(gè)不同的區(qū)域可能會(huì)有相同的 區(qū)域標(biāo)識(shí),尤其是兩個(gè)不相鄰的區(qū)域可能會(huì)有相同的區(qū)域標(biāo)識(shí)。假設(shè)路由器Y 接收到的DD報(bào)文的區(qū)域標(biāo)識(shí)與路由器Y自身所在的區(qū)域匹配,但實(shí)際上, DD報(bào)文的區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域并不是路由器Y自身所在的區(qū)域,如果路由 器Y因?yàn)榻邮盏降腄D報(bào)文的區(qū)域標(biāo)識(shí)與路由器Y自身所在的區(qū)域匹配,而 確定其已經(jīng)具有路由器X提供的所述區(qū)域承載的信息,進(jìn)而沒(méi)有獲取及保存 路由器X提供的所述區(qū)域承載的信息,則會(huì)導(dǎo)致區(qū)域間信息并不能同步。對(duì) 此,在本發(fā)明的實(shí)施例中,當(dāng)路由器Y接收到的DD報(bào)文的區(qū)域標(biāo)識(shí)與路由 器Y自身所在的區(qū)域匹配時(shí),路由器Y可以進(jìn)一步檢查路由表中是否存在僅 通過(guò)DD報(bào)文的區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域就能到達(dá)路由器X的路由,如果不存在, 則獲取及保存路由器X提供的所述區(qū)域承載的信息。
路由器X與路由器Y通過(guò)DDl艮文協(xié)商完成后,可以向相互向?qū)Ψ桨l(fā)送 Request報(bào)文,在Request報(bào)文的報(bào)文頭的區(qū)域標(biāo)識(shí)字段均填充所要請(qǐng)求區(qū)域 的區(qū)域標(biāo)識(shí)。收到Request報(bào)文后,路由器X或路由器Y可以返回Update報(bào) 文,在Update報(bào)文中的區(qū)域標(biāo)識(shí)字段填充為所請(qǐng)求區(qū)域的區(qū)域標(biāo)識(shí),另外, Update報(bào)文的內(nèi)容部分?jǐn)y帶區(qū)域承載的信息,例如拓樸信息。
可選的,路由器X或路由器Y可以分別生成請(qǐng)求列表,當(dāng)發(fā)送Request 報(bào)文時(shí),可以將請(qǐng)求列表攜帶于Request報(bào)文中。請(qǐng)求列表可以包括需要請(qǐng)求 的對(duì)方具有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí),還可以包括具體的請(qǐng)求內(nèi)容, 例如拓樸信息或其他信息。另外,請(qǐng)求列表可以以區(qū)域?yàn)閱挝唬凑?qǐng)求的一 個(gè)區(qū)域?qū)?yīng) 一個(gè)請(qǐng)求列表。
下面舉例來(lái)說(shuō)明請(qǐng)求列表。假設(shè)路由器X具有區(qū)域l、 2、 3的信息,路 由器Y具有區(qū)域2、 4、 6的信息,區(qū)域4對(duì)應(yīng)3個(gè)信息,區(qū)域6對(duì)應(yīng)3個(gè)信 息。當(dāng)路由器X需要向路由器Y請(qǐng)求區(qū)域4、 6的信息時(shí),可以只生成一個(gè) 請(qǐng)求列表,這個(gè)請(qǐng)求列表中可以具有區(qū)域4的標(biāo)識(shí)、需要請(qǐng)求的區(qū)域4中的 某些信息(可以是區(qū)域4對(duì)應(yīng)的3個(gè)信息,也可以其中的1個(gè)或2個(gè)信息)、區(qū)域6的標(biāo)識(shí)、需要請(qǐng)求的區(qū)域6的某些信息(可以是區(qū)域6對(duì)應(yīng)的3個(gè)信 息,也可以其中的1個(gè)或2個(gè)信息)。另一種方式,路由器X也可以分別針對(duì) 區(qū)域4和區(qū)域6而產(chǎn)生兩個(gè)請(qǐng)求列表中,區(qū)域4對(duì)應(yīng)的請(qǐng)求列表中可以包括 區(qū)域4的標(biāo)識(shí)和需要請(qǐng)求的區(qū)域4中的某些信息,區(qū)域6對(duì)應(yīng)的請(qǐng)求列表中 可以包括區(qū)域6的標(biāo)識(shí)和需要請(qǐng)求的區(qū)域6中的某些信息。當(dāng)然,上述的請(qǐng) 求列表的形式只是為便于本領(lǐng)域技術(shù)人員更加請(qǐng)求的理解請(qǐng)求列表而描述的 可選的形式,在實(shí)際應(yīng)用中,本領(lǐng)域技術(shù)人員完全可以根據(jù)實(shí)際需要,而設(shè) 計(jì)出不同于上述形式的請(qǐng)求列表,請(qǐng)求列表的其他形式這里不再贅述。
當(dāng)收到請(qǐng)求的區(qū)域承載的信息時(shí),路由器X或路由器Y可以將請(qǐng)求的區(qū) 域承載的信息從請(qǐng)求列表中刪除,如果請(qǐng)求列表中還有需要請(qǐng)求的信息,則 繼續(xù)向?qū)Ψ秸?qǐng)求這個(gè)或這些需要請(qǐng)求的信息。
當(dāng)請(qǐng)求列表為空并且雙方關(guān)系的狀態(tài)為Exchange或Loading時(shí),觸發(fā) LoadingDone事件,鄰居關(guān)系達(dá)到FULL?;蛘哒f(shuō),當(dāng)收到自身不具有而對(duì)方 具有的信息時(shí),雙方的信息達(dá)到完全同步的狀態(tài)。
在上述信息交換的實(shí)施方式中,當(dāng)兩個(gè)路由器完成DD報(bào)文的協(xié)商后, 一個(gè)路由器向另一個(gè)路由器提供前者所在的所有區(qū)域承載的信息。當(dāng)然,這 只是信息交換的一種優(yōu)選實(shí)施方式。在實(shí)際應(yīng)用中,還可以有多種方式來(lái)實(shí) 現(xiàn)信息的交換。例如,當(dāng)兩個(gè)路由器建立鄰居關(guān)系后,可以相互將各自所擁 有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)提供給鄰居,例如,將區(qū)域標(biāo)識(shí)以列表 的形式提供給鄰居。接收到鄰居提供的區(qū)域標(biāo)識(shí)后,路由器可以將這些區(qū)域 標(biāo)識(shí)與自身所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)進(jìn)行比較,之后,可以 向鄰居請(qǐng)求自身沒(méi)有但對(duì)端所擁有的區(qū)域承載的信息。
以圖12、圖13和圖14為例。路由器A向路由器B提供包括區(qū)域O的標(biāo) 識(shí)、區(qū)域1的標(biāo)識(shí)的區(qū)域標(biāo)識(shí)列表,路由器B向路由器A提供包括區(qū)域0的 標(biāo)識(shí)、區(qū)域2的標(biāo)識(shí)的區(qū)域標(biāo)識(shí)列表。路由器A將自身的區(qū)域標(biāo)識(shí)列表與路 由器B提供的區(qū)域標(biāo)識(shí)列表進(jìn)行比較后,至少可以確定區(qū)域2不在自身的區(qū) 域標(biāo)識(shí)列表中,如果需要的話(huà),可以將區(qū)域2的標(biāo)識(shí)加入到發(fā)送給路由器B 的請(qǐng)求列表中,以向路由器B請(qǐng)求提供區(qū)域2的信息。同樣,路由器B將自 身的區(qū)域標(biāo)識(shí)列表與路由器A提供的區(qū)域標(biāo)識(shí)列表進(jìn)行比較后,至少可以確 定區(qū)域1不在自身的區(qū)域標(biāo)識(shí)列表中,如果需要的話(huà),可以將區(qū)域1的標(biāo)識(shí)加入到發(fā)送給路由器A的請(qǐng)求列表中,以向路由器A請(qǐng)求提供區(qū)域1的信息。
需要說(shuō)明的是,具有鄰居關(guān)系的兩個(gè)路由器之間同步的信息可以是指路 由器所擁有的區(qū)域內(nèi)的拓樸信息,也可以是指其他信息。另外,區(qū)域可以是
指OSPF協(xié)議定義的區(qū)域,也可以是指自治系統(tǒng)。
還需要說(shuō)明的是,路由器所擁有的區(qū)域承載的信息可以是指所述路由器 所在區(qū)域的區(qū)域承載的信息,也可以是指路由器通過(guò)與鄰居同步信息等方式 獲得的區(qū)域承載的信息。
最后需要說(shuō)明的是,當(dāng)具有鄰居關(guān)系的兩個(gè)路由器中的一個(gè)路由器所擁 有的區(qū)域承載的信息發(fā)生變化時(shí),可以主動(dòng)向鄰居提供變化后的信息,例如, 使用Update報(bào)文動(dòng)向鄰居提供變化后的區(qū)域承載的信息,也可以先提供變化 后的區(qū)域的概要信息,如果鄰居請(qǐng)求變化后的區(qū)域承載的信息,則向鄰居提 供變化后的信息。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普 通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn) 飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,包括與其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系;協(xié)商建立鄰居關(guān)系成功后,與所述其他區(qū)域的路由器同步各自所擁有的區(qū)域承載的信息。
2. 如權(quán)利要求1所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,與 其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系之前,還包括通過(guò)查 找路由表或者在最短路徑優(yōu)先的計(jì)算過(guò)程中,判斷是否存在到達(dá)所述其他區(qū) 域的3各由器的3各由。
3. 如權(quán)利要求1所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,與 其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系具體包括向所述其他區(qū)域的路由器發(fā)送建立鄰居關(guān)系的協(xié)商^^艮文; 如果所述其他區(qū)域的路由器確定能夠建立鄰居關(guān)系,則根據(jù)所述協(xié)商報(bào)文,與所述其他區(qū)域的路由器建立鄰居關(guān)系;其中,所述協(xié)商報(bào)文為Hello報(bào)文,發(fā)送協(xié)商報(bào)文時(shí),所述協(xié)商報(bào)文封裝在IP才艮文中。
4. 如權(quán)利要求3所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,所 述協(xié)商報(bào)文攜帶所述其他區(qū)域的路由器的信息或者與所述其他區(qū)域的路由器 協(xié)商建立鄰居關(guān)系的路由器的信息,在所述其他區(qū)域的路由器確定能夠建立 鄰居關(guān)系之前,還包括所述其他區(qū)域的路由器判斷是否能夠建立鄰居關(guān)系, 具體包括檢查所述協(xié)商報(bào)文攜帶的路由器的信息是否為所述其他區(qū)域的路 由器的信息或者是否為所述其他區(qū)域的路由器存儲(chǔ)的路由器的信息,如果是, 則確定能夠建立鄰居關(guān)系。
5. 如權(quán)利要求1所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,與與所述其他區(qū)域的路由器交換各自所擁有的區(qū)域的概要信息; 與所述其他區(qū)域的路由器相互請(qǐng)求各自需要的區(qū)域承載的信息; 根據(jù)所述請(qǐng)求,與所述其他區(qū)域的路由器交換各自需要的區(qū)域承載的信自、
6.如權(quán)利要求1所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,與所述其他區(qū)域的路由器同步各自所擁有的區(qū)域承載的信息具體包括 標(biāo)識(shí);與所述其他區(qū)域的路由器相互發(fā)出各自需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū) 域標(biāo)識(shí)^根據(jù)區(qū)域標(biāo)識(shí),與所述其他區(qū)域的路由器交換與所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū) 域的概要信息;與所述其他區(qū)域的路由器相互請(qǐng)求各自需要的區(qū)域承載的信息; 根據(jù)所述請(qǐng)求,與所述其他區(qū)域的路由器交換各自需要的區(qū)域承載的信自
7. 如權(quán)利要求5或6所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于, 所擁有的區(qū)域的概要信息攜帶于數(shù)據(jù)庫(kù)描述DD報(bào)文,發(fā)送DD報(bào)文時(shí),所述DD報(bào)文封裝在IP報(bào)文中;與所述其他區(qū)域的路由器相互請(qǐng)求各自需要的區(qū)域承載的信息攜帶于請(qǐng) 求Request報(bào)文,與所述其他區(qū)域的路由器交換各自需要的區(qū)域承載的信息攜 帶于更新Update報(bào)文。
8. —種鏈路狀態(tài)協(xié)議下的信息同步裝置,其特征在于,包括 協(xié)商單元,用于與其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系; 信息同步單元,用于在所述協(xié)商單元與所述其他區(qū)域的路由器協(xié)商建立自
9. 如權(quán)利要求8所述的鏈路狀態(tài)協(xié)議下的信息同步裝置,其特征在于,所 述信息同步單元包括概要信息交換單元,用于與所述其他區(qū)域的路由器交換各自所擁有的區(qū) 域的概要信息;請(qǐng)求發(fā)出單元,用于在所述概要信息交換單元與所述其他區(qū)域的路由器 交換各自所擁有的區(qū)域的概要信息后,向所述其他區(qū)域的路由器請(qǐng)求需要的 區(qū)域承載的信息;區(qū)域承載的信息獲得單元,用于在所述請(qǐng)求發(fā)出單元向所述其他區(qū)域的 路由器請(qǐng)求需要的區(qū)域承載的信息后,獲得所述其他區(qū)域的路由器提供的需要的區(qū)域承載的信息。
10. 如權(quán)利要求8所述的鏈路狀態(tài)協(xié)議下的信息同步裝置,其特征在于,所述信息同步單元包括區(qū)域標(biāo)識(shí)交換單元,用于與所述其他區(qū)域的路由器交換各自所擁有的區(qū) 域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí);區(qū)域標(biāo)識(shí)發(fā)出單元,用于在所述區(qū)域標(biāo)識(shí)交換單元與所述其他區(qū)域的路 由器交換各自所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)后,向所述其他區(qū)域 的路由器發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí);由器發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)后,獲得需要的區(qū)域的概要 化息;請(qǐng)求發(fā)出單元,用于在所述概要信息獲得單元獲得需要的區(qū)域的概要信息后,向所述其他區(qū)域的路由器請(qǐng)求需要的區(qū)域承載的信息;區(qū)域承載的信息獲得單元,用于在所述請(qǐng)求發(fā)出單元向所述其他區(qū)域的 路由器請(qǐng)求需要的區(qū)域承載的信息后,獲得所述需要的區(qū)域承載的信息。
11. 如權(quán)利要求8所述的鏈路狀態(tài)協(xié)議下的信息同步裝置,其特征在于, 還包括路由確定單元,用于判斷是否存在到達(dá)所述其他區(qū)域的路由器的路 由,如果是,則觸發(fā)協(xié)商單元與所述其他區(qū)域的路由器協(xié)商建立相互同步信 息的鄰居關(guān)系。
12. —種鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,包括獲得其他區(qū)域的路由器發(fā)出的建立相互同步信息的鄰居關(guān)系的協(xié)商報(bào)文;判斷是否能夠與所述其他區(qū)域的路由器建立鄰居關(guān)系,如果是,則與所述其他區(qū)域的路由器建立鄰居關(guān)系;
13. 如權(quán)利要求12所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于, 所述協(xié)商報(bào)文攜帶所述其他區(qū)域的路由器的信息或者本端的信息,判斷是否 能夠與所述其他區(qū)域的路由器建立鄰居關(guān)系具體包括檢查所述協(xié)商報(bào)文攜 帶的路由器的信息是否是本端的信息或者本端存儲(chǔ)的路由器的信息,如果是, 則確定能夠與所述其他區(qū)域的路由器建立鄰居關(guān)系,否則,確定不能與所述其他區(qū)域的路由器建立鄰居關(guān)系。
14.如權(quán)利要求12所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,與所述其他區(qū)域的路由器交換各自所擁有的區(qū)域的概要信息; 與所述其他區(qū)域的路由器相互請(qǐng)求各自需要的區(qū)域承載的信息; 根據(jù)所述請(qǐng)求,與所述其他區(qū)域的路由器交換各自需要的區(qū)域承載的信自、。
15.如權(quán)利要求12所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于,標(biāo)識(shí);與所述其他區(qū)域的路由器相互發(fā)出各自需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū) 域標(biāo)識(shí);根據(jù)區(qū)域標(biāo)識(shí),與所述其他區(qū)域的路由器交換與所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū) 域的概要信息;與所述其他區(qū)域的路由器相互請(qǐng)求各自需要的區(qū)域承載的信息; 根據(jù)所述請(qǐng)求,與所述其他區(qū)域的路由器交換各自需要的區(qū)域承載的信息。
16. 如權(quán)利要求14所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于, 與所述其他區(qū)域的路由器交換各自所擁有的區(qū)域的概要信息具體包括獲得 所述其他區(qū)域的路由器提供的概要信息,獲得所述其他區(qū)域的路由器提供的 概要信息時(shí),還獲得所述其他區(qū)域的路由器提供的與概要信息對(duì)應(yīng)的區(qū)域標(biāo) 識(shí),如果所述區(qū)域標(biāo)識(shí)與本端所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)相同, 則判斷是否存在僅通過(guò)所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域到達(dá)所述其他區(qū)域的路由器 的路由,如果不存在,則向所述其他區(qū)域的^各由器請(qǐng)求所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的 區(qū)域承載的信息。
17. 如權(quán)利要求15所述的鏈路狀態(tài)協(xié)議下的信息同步方法,其特征在于, 與所述其他區(qū)域的路由器交換各自所擁有的區(qū)域承載的信息對(duì)應(yīng)的標(biāo)識(shí)具體域標(biāo)識(shí),如果所述區(qū)域標(biāo)識(shí)與本端所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)相同,則判斷是否存在僅通過(guò)所述區(qū)域標(biāo)識(shí)對(duì)應(yīng)的區(qū)域到達(dá)所述其他區(qū)域的 路由器的路由,如果不存在,則向所述其他區(qū)域的路由器發(fā)出所述區(qū)域標(biāo)識(shí)。
18.—種鏈路狀態(tài)協(xié)議下的信息同步裝置,其特征在于,包括 協(xié)商報(bào)文獲得單元,用于獲得其他區(qū)域的路由器發(fā)出的建立相互同步信 息的鄰居關(guān)系的協(xié)商報(bào)文;出的建立相互同步信息的鄰居關(guān)系的協(xié)商報(bào)文,判斷是否能夠與所述其他區(qū) 域的路由器建立鄰居關(guān)系;鄰居關(guān)系建立單元,用于如果所述判斷單元判斷出能夠與所述其他區(qū)域 的^^由器建立鄰居關(guān)系,則與所述其他區(qū)域的^^由器建立鄰居關(guān)系;信息同步單元,用于在所述鄰居關(guān)系建立單元與所述其他區(qū)域的路由器 建立鄰居關(guān)系后,與
19. 如權(quán)利要求18所述的鏈路狀態(tài)協(xié)議下的信息同步裝置,其特征在于, 所述信息同步單元包括概要信息交換單元,用于與所述其他區(qū)域的路由器交換各自所擁有的區(qū) 域的概要信息;請(qǐng)求發(fā)出單元,用于在所述概要信息交換單元與所述其他區(qū)域的路由器 交換各自所擁有的區(qū)域的概要信息后,向所述其他區(qū)域的路由器請(qǐng)求需要的 所述其他區(qū)域的路由器所擁有的區(qū)域承載的信息;區(qū)域承載的信息獲得單元,用于在所述請(qǐng)求發(fā)出單元向所述其他區(qū)域的 路由器請(qǐng)求需要的所述其他區(qū)域的路由器所擁有的區(qū)域承載的信息后,獲得 所述其他區(qū)域的路由器提供的需要的區(qū)域承載的信息。
20. 如權(quán)利要求18所述的鏈路狀態(tài)協(xié)議下的信息同步裝置,其特征在于, 所述信息同步單元包括區(qū)域標(biāo)識(shí)交換單元,用于與所述其他區(qū)域的路由器交換各自所擁有的區(qū) 域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí);由器交換各自所擁有的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)后,向所述其他區(qū)域 的路由器發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí);概要信息獲得單元,用于在所述區(qū)域標(biāo)識(shí)發(fā)出單元向所述其他區(qū)域的路 由器發(fā)出需要的區(qū)域承載的信息對(duì)應(yīng)的區(qū)域標(biāo)識(shí)后,獲得需要的區(qū)域的概要4呂息',請(qǐng)求發(fā)出單元,用于在所述概要信息獲得單元獲得需要的區(qū)域的概要信息后,向所述其他區(qū)域的路由器請(qǐng)求需要的區(qū)域承載的信息;區(qū)域承載的信息獲得單元,用于在所述請(qǐng)求發(fā)出單元向所述其他區(qū)域的 路由器請(qǐng)求需要的區(qū)域承載的信息后,獲得所述需要的區(qū)域承載的信息。
全文摘要
本發(fā)明提供一種鏈路狀態(tài)協(xié)議下的信息同步方法,包括與其他區(qū)域的路由器協(xié)商建立相互同步信息的鄰居關(guān)系;協(xié)商建立鄰居關(guān)系成功后,與所述其他區(qū)域的路由器同步各自所擁有的區(qū)域承載的信息。本發(fā)明還提供另一種鏈路狀態(tài)協(xié)議下的信息同步方法及兩種鏈路狀態(tài)協(xié)議下的信息同步裝置。在本發(fā)明中,如果一個(gè)區(qū)域的路由器與其他區(qū)域的路由器之間能夠建立相互同步信息的鄰居關(guān)系,則這兩個(gè)分屬不同區(qū)域的路由器之間可以同步各自所擁有的區(qū)域承載的信息,從而達(dá)到了不同區(qū)域的兩個(gè)路由器之間同步信息的目的。
文檔編號(hào)H04L12/56GK101626341SQ20081012689
公開(kāi)日2010年1月13日 申請(qǐng)日期2008年7月10日 優(yōu)先權(quán)日2008年7月10日
發(fā)明者峰 秦, 魏秀剛 申請(qǐng)人:華為技術(shù)有限公司