亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種ldp遠(yuǎn)程鄰居配置方法及設(shè)備的制作方法

文檔序號(hào):7997780閱讀:621來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種ldp遠(yuǎn)程鄰居配置方法及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種LDP遠(yuǎn)程鄰居配置方法及設(shè)備。
背景技術(shù)
LDP (Label Distribution Protocol,標(biāo)i己分發(fā)協(xié)、議)作為 MPLS (Multiprotocol Label Switching,多協(xié)議標(biāo)簽交換)基礎(chǔ)協(xié)議,在運(yùn)營(yíng)商等領(lǐng)域得到廣泛應(yīng)用。LDP對(duì)等體發(fā)現(xiàn)機(jī)制分為兩種基本發(fā)現(xiàn)機(jī)制用于發(fā)現(xiàn)本地的LDP對(duì)等體,即通過(guò)鏈路層直接相連的LSR (Label Switch Router,標(biāo)簽交換路由器)。這種方式下,LSR周期性地向“子網(wǎng)內(nèi)所有路由器”的組播地址224. 0. 0. 2發(fā)送LDP鏈路Hello消息,以便鏈路層直接相連的LSR發(fā)現(xiàn)此LDP對(duì)等體。擴(kuò)展發(fā)現(xiàn)機(jī)制用于發(fā)現(xiàn)遠(yuǎn)端的LDP對(duì)等體,即不通過(guò)鏈路層直接相連的LSR。這種方式下,LSR周期性地向指定的IP地址發(fā)送LDP目標(biāo)Hello消息,以便指定IP地址對(duì)應(yīng)的LSR發(fā)現(xiàn)此LDP對(duì)等體。其中,擴(kuò)展發(fā)現(xiàn)機(jī)制在L2VPN(Virtual Private Network,虛擬專(zhuān)用網(wǎng))等組網(wǎng)中的到大量應(yīng)用,通過(guò)這一機(jī)制實(shí)現(xiàn)遠(yuǎn)程PE (Provider Edge,運(yùn)營(yíng)商邊緣)設(shè)備之間信息互通,例如承載L2VPN信息。但是這一機(jī)制也為L(zhǎng)DP帶來(lái)一些風(fēng)險(xiǎn)。例如,攻擊者可以偽造 LDP協(xié)議報(bào)文,向LSR發(fā)送大量偽造報(bào)文,造成LDP鄰居信息或其他協(xié)議協(xié)商錯(cuò)誤,LSR CPU
繁忙等。

發(fā)明內(nèi)容
本發(fā)明提供一種LDP遠(yuǎn)程鄰居配置方法及設(shè)備,用以提高LDP遠(yuǎn)程鄰居配置的安全性。本發(fā)明提供的LDP遠(yuǎn)程鄰居配置方法,應(yīng)用于多區(qū)域網(wǎng)絡(luò),所述網(wǎng)絡(luò)中設(shè)置有代理服務(wù)器,所述代理服務(wù)器上配置有各區(qū)域的路由表,各區(qū)域中設(shè)置有代理客戶(hù)端設(shè)備;該方法包括路由器接收到對(duì)端發(fā)送的LDP報(bào)文后計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則與對(duì)端建立LDP鄰居;或者,路由器向?qū)Χ税l(fā)送LDP報(bào)文后計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則在接收到對(duì)端響應(yīng)的LDP報(bào)文后與對(duì)端建立LDP鄰居;其中,所述路由器計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù)包括所述路由器以對(duì)端地址作為目的地址進(jìn)行路由匹配,并在匹配到路由后判斷該路由的類(lèi)型;如果是區(qū)域內(nèi)路由,則所述路由器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),計(jì)算所述根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù);如果是區(qū)域間路由,則所述路由器通過(guò)所在區(qū)域的代理客戶(hù)端設(shè)備從代理服務(wù)器獲得計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù);其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的。本發(fā)明提供的路由器,應(yīng)用于多區(qū)域網(wǎng)絡(luò),所述網(wǎng)絡(luò)中設(shè)置有代理服務(wù)器,所述代理服務(wù)器上配置有各區(qū)域的路由表,各區(qū)域中設(shè)置有代理客戶(hù)端設(shè)備,并分別與所述代理服務(wù)器連接,用于將所述路由器的代理請(qǐng)求轉(zhuǎn)發(fā)給所述代理服務(wù)器,將所述代理服務(wù)器返回的代理響應(yīng)轉(zhuǎn)發(fā)給所述路由器;所述路由器包括收發(fā)模塊、LDP模塊和OSPF模塊,所述 OSPF模塊包括控制單元、路由匹配單元、計(jì)算單元;所述LDP模塊,用于在收發(fā)模塊接收到對(duì)端發(fā)送的LDP報(bào)文后,請(qǐng)求OSPF模塊計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則與對(duì)端建立LDP鄰居;或者,在所述收發(fā)模塊向?qū)Χ税l(fā)送LDP報(bào)文后,請(qǐng)求OSPF模塊計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則在接收到對(duì)端響應(yīng)的LDP報(bào)文后與對(duì)端建立LDP鄰居;根據(jù)所述OSPF模塊的代理請(qǐng)求,通過(guò)所在區(qū)域的代理客戶(hù)端設(shè)備從代理服務(wù)器獲得計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù),其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的;所述控制單元,用于根據(jù)接收到的請(qǐng)求,指示所述路由匹配單元進(jìn)行路由匹配,如果匹配到區(qū)域內(nèi)路由,則指示所述計(jì)算單元計(jì)算轉(zhuǎn)發(fā)跳數(shù);如果匹配到區(qū)域間路由,則請(qǐng)求 LDP模塊發(fā)起代理請(qǐng)求;所述路由匹配單元,用于根據(jù)所述控制單元的指示,以對(duì)端地址為目的地址進(jìn)行路由匹配;所述計(jì)算單元,用于根據(jù)所述控制單元的指示,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),計(jì)算所述根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將其發(fā)送給所述LDP模塊。本發(fā)明提供的服務(wù)器,應(yīng)用于多區(qū)域網(wǎng)絡(luò),各區(qū)域中設(shè)置有代理客戶(hù)端設(shè)備,分別與所述服務(wù)器連接,用于將各區(qū)域中的路由器的代理請(qǐng)求轉(zhuǎn)發(fā)給所述服務(wù)器,將所述服務(wù)器返回的代理響應(yīng)轉(zhuǎn)發(fā)給所述路由器,所述代理服務(wù)器上配置有各區(qū)域的路由表;所述服務(wù)器包括收發(fā)模塊、控制模塊、路由匹配模塊,計(jì)算模塊;所述控制模塊,用于在接收到代理客戶(hù)端設(shè)備轉(zhuǎn)發(fā)的攜帶有目的地址的代理請(qǐng)求后,指示所述路由匹配模塊進(jìn)行路由匹配,其中,所述目的地址為發(fā)起所述代理請(qǐng)求的路由器的對(duì)端設(shè)備的地址;指示所述計(jì)算模塊根據(jù)所述路由匹配模塊匹配到的路由計(jì)算根節(jié)點(diǎn)到發(fā)起所述代理請(qǐng)求的路由器的轉(zhuǎn)發(fā)跳數(shù),并將該轉(zhuǎn)發(fā)跳數(shù)通過(guò)所述收發(fā)模塊發(fā)送給所述代理客戶(hù)端設(shè)備進(jìn)行轉(zhuǎn)發(fā);其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的;所述路由匹配模塊,用于根據(jù)所述控制模塊的指示,根據(jù)所述目的地址,使用各區(qū)域的路由表進(jìn)行路由匹配;所述計(jì)算模塊,用于根據(jù)所述控制模塊的指示,計(jì)算根節(jié)點(diǎn)到發(fā)起所述代理請(qǐng)求的路由器的轉(zhuǎn)發(fā)跳數(shù)。與現(xiàn)有技術(shù)相比,本發(fā)明的有益技術(shù)效果包括本發(fā)明通過(guò)路由器在接收到對(duì)端發(fā)送的LDP報(bào)文后計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),或者,在向?qū)Χ税l(fā)送LDP報(bào)文后計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),并在該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi)時(shí),與對(duì)端建立LDP鄰居,從而提高了 LDP遠(yuǎn)程鄰居配置的安全性。


圖1為本發(fā)明實(shí)施例適用的網(wǎng)絡(luò)架構(gòu)示意圖;圖2為本發(fā)明實(shí)施例一提供的遠(yuǎn)程LDP鄰居建立流程示意圖;圖3為圖2所示流程中根據(jù)目的地址確定技術(shù)轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)的流程示意圖;圖4A、圖4B或圖4C分別為圖2流程中的區(qū)域間代理反向TTL計(jì)算流程示意圖;圖5為本發(fā)明實(shí)施例提供的LDP代理設(shè)備的處理流程示意圖;圖6為本發(fā)明實(shí)施例二提供的代理表更新流程示意圖;圖7為本發(fā)明實(shí)施例提供的具體應(yīng)用場(chǎng)景的示意圖;圖8為本發(fā)明實(shí)施例提供的路由器的結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式在LDP遠(yuǎn)程鄰居配置過(guò)程中,當(dāng)網(wǎng)絡(luò)設(shè)備接收到LDP協(xié)議報(bào)文后,通常是基于TTL 是否合理來(lái)驗(yàn)證該LDP協(xié)議報(bào)文是否合法。而TTL是否合理,關(guān)鍵是要通過(guò)判斷對(duì)端設(shè)備到本端設(shè)備的距離來(lái)確定,這里的距離是指轉(zhuǎn)發(fā)跳數(shù)。為此,本發(fā)明實(shí)施例提供了一種在 LDP遠(yuǎn)程鄰居配置過(guò)程中,通過(guò)精確確定對(duì)端設(shè)備到本端設(shè)備的距離,從而驗(yàn)證LDP協(xié)議報(bào)文合法性,進(jìn)而根據(jù)LDP協(xié)議報(bào)文的合法性進(jìn)行LDP遠(yuǎn)程鄰居配置的機(jī)制。該機(jī)制可應(yīng)用于網(wǎng)絡(luò)設(shè)備需要對(duì)接收到的LDP協(xié)議報(bào)文的合法性進(jìn)行驗(yàn)證的業(yè)務(wù)流程中。如在擴(kuò)展發(fā)現(xiàn)機(jī)制中,本端LSR接收到對(duì)端發(fā)送的LDP Target Hello報(bào)文(LDP目的發(fā)現(xiàn)報(bào)文)后需要驗(yàn)證該報(bào)文的合法性,即判斷本端LSR與對(duì)端之間的距離是否合理,并在驗(yàn)證通過(guò)后與對(duì)端建立LDP鄰居。本發(fā)明實(shí)施例可適用于IGP(Interior Gateway Protocol,內(nèi)部路由協(xié)議)為 OSPF(Open Shortest Path First,開(kāi)放最短路徑優(yōu)先)協(xié)議的情況,通過(guò)對(duì)LDP協(xié)議和 OSPF協(xié)議進(jìn)行擴(kuò)展,以達(dá)到上述目的。下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。參見(jiàn)圖1,為本發(fā)明實(shí)施例適用的網(wǎng)絡(luò)架構(gòu)示意圖。如圖所示,AreaO為主干區(qū)域, Areal 4分別為分支區(qū)域。通過(guò)擴(kuò)展LDP協(xié)議和OSPF協(xié)議,分支區(qū)域內(nèi)的路由器可通過(guò)反向TTL計(jì)算得到對(duì)端路由器到自身的距離。為了支持區(qū)域間反向TTL計(jì)算,需要在各區(qū)域中部署LDP代理設(shè)備。LDP代理設(shè)備之間像普通的遠(yuǎn)程LDP鄰居一樣通過(guò)TCP (Transmission Control I^otocol,傳輸控制協(xié)議)建立鄰居關(guān)系;如果兩臺(tái)路由器之間只有代理能力沒(méi)有普通遠(yuǎn)程鄰居,則在此鄰居建立后,鄰居之間不會(huì)傳輸其他信息,而只傳輸反向TTL計(jì)算相關(guān)的代理請(qǐng)求或響應(yīng)等信息。其中,分支區(qū)域中部署的LDP代理設(shè)備稱(chēng)為區(qū)域LDP代理設(shè)備(以下簡(jiǎn)稱(chēng)區(qū)域代理),主干區(qū)域中部署的LDP代理設(shè)備稱(chēng)為主干區(qū)LDP代理設(shè)備(以下簡(jiǎn)稱(chēng)主干區(qū)代理)。 一個(gè)分支區(qū)域內(nèi)可以有1個(gè)或多個(gè)區(qū)域代理,若部署多個(gè)區(qū)域代理則可在各區(qū)域代理間進(jìn)行負(fù)載均衡。區(qū)域代理主要用于在接收到本區(qū)域內(nèi)的路由器發(fā)起的反向TTL計(jì)算代理請(qǐng)求后,向主干區(qū)代理發(fā)起請(qǐng)求,以請(qǐng)求主干區(qū)代理進(jìn)行跳數(shù)計(jì)算;主干區(qū)代理主要用于基于區(qū)域代理的請(qǐng)求確定執(zhí)行反向ABR TTL計(jì)算的目標(biāo)區(qū)域代理,主干區(qū)代理還可在確定目標(biāo)區(qū)域?yàn)樽约核诘闹鞲蓞^(qū)域時(shí),進(jìn)行反向TTL計(jì)算。
在主干區(qū)代理與各區(qū)域代理建立鄰居關(guān)系后,還要配置區(qū)域代理接口地址對(duì)應(yīng)的 ABR(Area Border Router,區(qū)域邊界路由器)。具體的,可按最長(zhǎng)匹配算法查找區(qū)域代理對(duì)應(yīng)的路由,該路由對(duì)應(yīng)的ABR則為該區(qū)域代理的ABR。上述組網(wǎng)中的路由器(包括具備LDP代理功能或不具備LDP代理功能的路由器) 中,涉及LDP協(xié)議報(bào)文處理以及發(fā)起反向TTL計(jì)算代理請(qǐng)求和接收響應(yīng)的操作,由路由器中的LDP應(yīng)用模塊或LDP進(jìn)程(以下簡(jiǎn)稱(chēng)LDP模塊)進(jìn)行;反向TTL計(jì)算或反向ABR TTL計(jì)算操作,由路由器中的OSPF應(yīng)用模塊或OSPF進(jìn)程(以下簡(jiǎn)稱(chēng)OSPF模塊)進(jìn)行。下面以遠(yuǎn)程LDP鄰居建立過(guò)程為例,通過(guò)具體實(shí)施例對(duì)本發(fā)明實(shí)施例提供的LDP 協(xié)議報(bào)文的合法性驗(yàn)證流程進(jìn)行描述。實(shí)施例一基于圖1所示的網(wǎng)絡(luò)架構(gòu),圖2示出了遠(yuǎn)程LDP鄰居建立流程示意圖,該流程描述了 LSRl向LSR2發(fā)送LDP Target Hello報(bào)文后,LSR2驗(yàn)證該報(bào)文的合法性以及根據(jù)驗(yàn)證結(jié)果進(jìn)行相應(yīng)處理的過(guò)程。如圖所示,該流程可包括步驟201,LSR2接收到LSRl發(fā)送的LDP Target Hello報(bào)文后,LSR2的LDP模塊向 OSPF模塊發(fā)送轉(zhuǎn)發(fā)跳數(shù)獲取請(qǐng)求,其中攜帶有源地址和目的地址,其中,本發(fā)明實(shí)施例中在不特別說(shuō)明的情況下,源地址是指LSR2的地址,目的地址是指LDP Target Hello報(bào)文的源地址(即LSRl的地址)。步驟202,OSPF模塊根據(jù)目的地址查詢(xún)OSPF路由表,根據(jù)最長(zhǎng)匹配原則,查找是否有匹配的路由。若未查找到匹配的路由,則轉(zhuǎn)入步驟203 ;若查找到匹配的路由,則轉(zhuǎn)入步驟 204。步驟203,OSPF模塊向LDP模塊返回失敗響應(yīng),以表明目的地址不可達(dá),該失敗響應(yīng)中具體可包括源地址(即LSR2的地址)、目的地址(即LSRl的地址)、可達(dá)標(biāo)志、距離等。 在這里可達(dá)標(biāo)志置為不可達(dá),然后轉(zhuǎn)入步驟211。步驟204,0SPF模塊判斷查找到的路由的類(lèi)型,若為區(qū)域內(nèi)路由,則轉(zhuǎn)入步驟205 ; 若為區(qū)域間路由,則轉(zhuǎn)入步驟206 ;若為外部路由,則轉(zhuǎn)入步驟207。步驟205,OSPF模塊在區(qū)域內(nèi)路由對(duì)應(yīng)的區(qū)域內(nèi),根據(jù)目的地址確定出計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),計(jì)算該根節(jié)點(diǎn)到LSR2的轉(zhuǎn)發(fā)跳數(shù)(本發(fā)明實(shí)施例將該計(jì)算過(guò)程稱(chēng)為反向 TTL計(jì)算過(guò)程),并在得到計(jì)算結(jié)果后轉(zhuǎn)入步驟208。其中,計(jì)算結(jié)果可包括該根節(jié)點(diǎn)到LSR2 的轉(zhuǎn)發(fā)跳數(shù)或轉(zhuǎn)發(fā)跳數(shù)范圍(包括跳數(shù)下限和上限),還可包括可信標(biāo)志等信息。具體的,本步驟中LSR2根據(jù)目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)的具體實(shí)現(xiàn)過(guò)程,可參照?qǐng)D3及其說(shuō)明。本步驟中的反向TTL計(jì)算過(guò)程可包括以確定出的根節(jié)點(diǎn)為起點(diǎn)進(jìn)行SPF計(jì)算,直到本端路由器(即LSR2)進(jìn)入到SPF 樹(shù)后停止SPF計(jì)算,從而計(jì)算出從根節(jié)點(diǎn)到本端路由器(即LSR2)的跳數(shù)H。此過(guò)程中,根節(jié)點(diǎn)不計(jì)算在內(nèi),從根節(jié)點(diǎn)以后,每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)就加1,直到本端路由器(本端路由器也作為一個(gè)節(jié)點(diǎn),計(jì)算在內(nèi))時(shí)終止計(jì)算。若SPF樹(shù)上有多條到本端路由器的路徑,則跳數(shù)下限Hl取這些路徑的轉(zhuǎn)發(fā)跳數(shù)中的最小值,跳數(shù)上限H2取這些路徑的轉(zhuǎn)發(fā)跳數(shù)中的最大值。 進(jìn)一步的,可將在跳數(shù)上限H2的基礎(chǔ)上加1,得到最終的跳數(shù)上限值。步驟206,OSPF模塊通過(guò)LDP模塊向本設(shè)備所在區(qū)域的LDP代理發(fā)起代理請(qǐng)求,并接收該LDP代理返回的代理響應(yīng),該代理響應(yīng)中包括根節(jié)點(diǎn)(該根節(jié)點(diǎn)是根據(jù)目的地址確定出的)到LSR2所在區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù);然后,LSR2計(jì)算該出口 ABR到自身的轉(zhuǎn)發(fā)跳數(shù),并將從LDP代理獲得的轉(zhuǎn)發(fā)跳數(shù)和自己計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)進(jìn)行累加,得到該根節(jié)點(diǎn)到LSR2的轉(zhuǎn)發(fā)跳數(shù)。具體的,本步驟中LDP代理根據(jù)目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)的具體實(shí)現(xiàn)過(guò)程,可參照?qǐng)D3及其說(shuō)明。步驟207,OSPF模塊向LDP模塊發(fā)送失敗響應(yīng),以表明到該目的地址的TTL無(wú)效, 然后轉(zhuǎn)入步驟211。步驟208,OSPF模塊向LDP模塊返回轉(zhuǎn)發(fā)跳數(shù)獲取響應(yīng),其中攜帶有OSPF模塊獲得的根節(jié)點(diǎn)到LSR2的轉(zhuǎn)發(fā)跳數(shù)。該響應(yīng)中還可進(jìn)一步包括以下信息之一或任意組合源地址(即LSR2的地址)、目的地址(即LDP Target Hello報(bào)文的源地址,也即LSRl的地址), 以及可信標(biāo)志位、可達(dá)標(biāo)志位等。步驟209,LDP模塊根據(jù)OSPF模塊返回的轉(zhuǎn)發(fā)跳數(shù)獲取響應(yīng),判斷接收到的LDP Target Hello報(bào)文是否合法,若合法則轉(zhuǎn)入步驟210,否則轉(zhuǎn)入步驟211。具體的,LDP模塊可根據(jù)根節(jié)點(diǎn)到LSR2的轉(zhuǎn)發(fā)跳數(shù)上限和下限確定轉(zhuǎn)發(fā)跳數(shù)范圍,如果該轉(zhuǎn)發(fā)跳數(shù)范圍在合理范圍之內(nèi),則判斷LDP Target Hello報(bào)文合法。例如,若 TTL計(jì)算結(jié)果中的轉(zhuǎn)發(fā)跳數(shù)范圍不在[255-跳數(shù)上限,255-跳數(shù)下限]范圍內(nèi),則判斷本端設(shè)備接收到的LDP報(bào)文為非法報(bào)文。進(jìn)一步的,若所述轉(zhuǎn)發(fā)跳數(shù)獲取響應(yīng)中允許攜帶可信標(biāo)志位,則當(dāng)該可信標(biāo)志位表示該響應(yīng)中攜帶的轉(zhuǎn)發(fā)跳數(shù)可信時(shí),LDP模塊根據(jù)該轉(zhuǎn)發(fā)跳數(shù)判斷LDP Target Hello報(bào)文的合法性;當(dāng)該可信標(biāo)志位表示該響應(yīng)中攜帶的轉(zhuǎn)發(fā)跳數(shù)不可信時(shí),LDP模塊不使用該轉(zhuǎn)發(fā)跳數(shù)判斷LDP Target Hello報(bào)文的合法性。其中,可信標(biāo)識(shí)可計(jì)算轉(zhuǎn)發(fā)跳數(shù)的過(guò)程中根據(jù)具體情況進(jìn)行設(shè)置。步驟210,LSR2通過(guò)LDP模塊與LSRl建立遠(yuǎn)程鄰居。步驟211,LSR2通過(guò)LDP模塊根據(jù)用戶(hù)設(shè)置的針對(duì)非法報(bào)文的處理策略進(jìn)行相應(yīng)處理,如放棄接收到的LDP Target Hello報(bào)文。上述流程的步驟205或步驟206中,相應(yīng)路由器通過(guò)以下方式確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)根據(jù)目的地址匹配到路由后(為描述方便,以下稱(chēng)該路由為路由A),針對(duì)匹配到的路由A,查找對(duì)應(yīng)的LSA,以及發(fā)布該LSA的路由器(為方便描述,此處將發(fā)布該LSA的路由器稱(chēng)為路由器RA),然后根據(jù)路由器RA及其OSPF鄰居確定作為反向TTL計(jì)算的根節(jié)點(diǎn)。 具體的(1)若匹配到的路由是32位路由,則將路由器RA作為進(jìn)行反向SPF計(jì)算的根節(jié)點(diǎn)。這是因?yàn)?2位的路由是一個(gè)具體的地址,是唯一的,如果是32為路由,則表明就是這個(gè)路由器發(fā)布的路由,因此將其作為根節(jié)點(diǎn)。(2)若目的地址是路由器RA的一個(gè)接口地址,則將路由器RA作為根節(jié)點(diǎn);(3)若匹配到的路由不是32位路由,并且目的地址不是路由器RA的一個(gè)接口地址,則查找路由器RA中的路由A對(duì)應(yīng)接口的OSPF鄰居,若有OSPF鄰居的接口地址為該目的地址,則將該鄰居路由器作為根節(jié)點(diǎn);(4)在以上條件都不滿(mǎn)足的情況下,將路由器RA作為根節(jié)點(diǎn)。進(jìn)一步的,還可設(shè)置可信標(biāo)志位,即根據(jù)不同的情況將可信標(biāo)識(shí)位設(shè)置為0(表示可信)或設(shè)置為1 (表示不可信)。如,針對(duì)上述4種情況,由于情況1 3下,都可以找到接口地址為目的地址的路由器,即可根據(jù)目的地址找到對(duì)應(yīng)的路由器,因而可將可信標(biāo)志位設(shè)置為0 (可信);而情況4下,并沒(méi)有真正找到接口地址為目的地址的路由器,因而可將可信標(biāo)志位設(shè)置為1 (不可信)。以上流程可有路由器上的OSPF模塊執(zhí)行。其具體實(shí)現(xiàn)流程可如圖3A所示,包括步驟301,根據(jù)目的地址匹配到路由A,查找路由A對(duì)應(yīng)的LSA,并找到發(fā)布該LSA 的路由器RA;步驟302,若路由A為32位路由或者目的地址是路由器RA的一個(gè)接口地址,則轉(zhuǎn)入步驟303,否則轉(zhuǎn)入步驟304 ;步驟303,將路由器RA作為根節(jié)點(diǎn);步驟304,查找路由器RA中路由A對(duì)應(yīng)接口的OSPF鄰居;步驟305,若有OSPF鄰居接口地址為目的地址,則轉(zhuǎn)入步驟306,否則轉(zhuǎn)入步驟 307 ;步驟306,將該鄰居作為根節(jié)點(diǎn);步驟307,將路由器RA作為根節(jié)點(diǎn)。需要說(shuō)明的是,以上流程僅以LDP鄰居建立過(guò)程為例,對(duì)LDP協(xié)議報(bào)文合法性驗(yàn)證方法進(jìn)行描述,本領(lǐng)域技術(shù)人員應(yīng)該能夠理解,在其他需要進(jìn)行對(duì)LDP協(xié)議報(bào)文進(jìn)行合法性驗(yàn)證的場(chǎng)景中,也可使用本發(fā)明實(shí)施例。圖2所示流程的步驟206中,根據(jù)代理請(qǐng)求發(fā)起端的不同,其處理流程可分別如圖 4A、圖4B和圖4C所示,其中,圖4A描述了代理請(qǐng)求發(fā)起端為不具有LDP代理功能的路由器的處理流程,圖4B描述了代理請(qǐng)求發(fā)起端為區(qū)域代理的處理流程,圖4C描述了代理請(qǐng)求發(fā)起端為主干區(qū)代理的處理流程。如圖4A所示,若LSR2不具有LDP代理功能,則通過(guò)代理方式最終得到根節(jié)點(diǎn)到 LSR2的轉(zhuǎn)發(fā)跳數(shù)的過(guò)程包括步驟401,LSR2在確定自己不具有LDP代理功能后,向所在區(qū)域的區(qū)域代理(為描述方便,以下稱(chēng)該區(qū)域代理為區(qū)域代理Pl)發(fā)送反向TTL計(jì)算的代理請(qǐng)求,其中攜帶有源地址(即LSR2的地址)、目的地址(即LSRl的地址)。步驟402,區(qū)域代理Pl接收到代理請(qǐng)求后,向主干區(qū)代理發(fā)送代理請(qǐng)求,其中攜帶有源地址(LSR2地址)、目的地址(LSR1地址)和代理類(lèi)型標(biāo)識(shí)。其中,代理類(lèi)型標(biāo)識(shí)所標(biāo)識(shí)的代理請(qǐng)求類(lèi)型為匯總請(qǐng)求,表示請(qǐng)求主干區(qū)代理匹配查找到路由后判斷路由類(lèi)型,并根據(jù)不同的路由類(lèi)型進(jìn)行不同的處理。步驟403,主干區(qū)代理接收到匯總類(lèi)型的代理請(qǐng)求后,根據(jù)其中攜帶的目的地址, 以最長(zhǎng)匹配方式查找OSPF路由中是否有匹配的路由,并在查找到匹配的路由后判斷該路由的類(lèi)型。若查找到的路由是區(qū)域內(nèi)路由或直連路由,則轉(zhuǎn)入步驟404 ;若是區(qū)域間路由則進(jìn)行區(qū)域代理計(jì)算,轉(zhuǎn)入步驟405。步驟404,主干區(qū)代理以目的地址確定出根節(jié)點(diǎn),計(jì)算該根節(jié)點(diǎn)到主干區(qū)域的各出口 ABR(所述出口 ABR是指主干區(qū)域的各ABR中到發(fā)起代理請(qǐng)求的區(qū)域代理Pl的ABR)的轉(zhuǎn)發(fā)跳數(shù),(本發(fā)明實(shí)施例將該轉(zhuǎn)發(fā)跳數(shù)計(jì)算過(guò)程稱(chēng)為反向ABT TTL計(jì)算過(guò)程),并向區(qū)域代理Pl返回響應(yīng)消息,其中攜帶有計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)(可包括跳數(shù)上限和下限),以及主干區(qū)域的各出口 ABR的標(biāo)識(shí),還可包括所述各出口 ABR對(duì)應(yīng)的可信標(biāo)志,以及進(jìn)一步還可包括代理請(qǐng)求中的所有信息(如源地址,目的地址,請(qǐng)求類(lèi)型標(biāo)識(shí))。然后,轉(zhuǎn)入步驟408。步驟405,主干區(qū)代理根據(jù)目的地址確定能夠處理該代理請(qǐng)求的目標(biāo)區(qū)域代理,并向該目標(biāo)區(qū)域代理發(fā)送代理請(qǐng)求,其中攜帶有源地址(LSR2的地址)、目的地址(LSR1的地址)和代理類(lèi)型標(biāo)識(shí)。其中,代理類(lèi)型標(biāo)識(shí)所標(biāo)識(shí)的代理請(qǐng)求類(lèi)型為確認(rèn)請(qǐng)求,表示請(qǐng)求目標(biāo)區(qū)域代理進(jìn)行反向ABR TTL計(jì)算。為描述方便,以下將主干區(qū)代理確定出的目標(biāo)區(qū)域代理稱(chēng)為區(qū)域代理P2。具體的,主干區(qū)代理在確定目標(biāo)區(qū)域代理時(shí),首先根據(jù)目的地址的路由,查找路由對(duì)應(yīng)的ABR (此處將其稱(chēng)為Al),查找區(qū)域代理接口地址對(duì)應(yīng)路由的ABR (此處將其稱(chēng)為 A2),然后根據(jù)查找的情況,主干區(qū)代理選擇的目標(biāo)區(qū)域代理的策略可包括(1)若查找到Al和A2,且Al與A2相同,此種情況下選擇A2對(duì)應(yīng)的區(qū)域代理作為目標(biāo)區(qū)域代理;(2)若未查找到 A2,則查找 Al 產(chǎn)生的 3 類(lèi) LSA(type3LSA,即 network summary LSA,由ABR產(chǎn)生,用于告知區(qū)域內(nèi)路由器區(qū)域外的路由條目)中,有前綴和某區(qū)域代理對(duì)應(yīng)的路由,則選擇該區(qū)域代理為目標(biāo)區(qū)域代理;(3)若根據(jù)上述(2)的處理還是未找到目標(biāo)區(qū)域代理,則遍歷區(qū)域代理對(duì)應(yīng)的ABR 產(chǎn)生的3類(lèi)LSA,若某區(qū)域代理對(duì)應(yīng)的ABR產(chǎn)生的3類(lèi)LSA中有前綴與目的地址的路由匹配,則選擇該區(qū)域代理為目標(biāo)區(qū)域代理。另一種確定目標(biāo)區(qū)域代理的方法可以包括確定第一ABR集合,該集合中的ABR是目的地址匹配的路由所對(duì)應(yīng)的ABR ;判斷第一 ABR集合中的ABR產(chǎn)生的3類(lèi)LSA中,是否有前綴與該目的地址相匹配,若有,則將該ABR放入第二 ABR集合;然后通過(guò)第二 ABR集合中的ABR向其對(duì)應(yīng)的區(qū)域代理發(fā)送請(qǐng)求,并將響應(yīng)該請(qǐng)求的區(qū)域代理設(shè)備的其中之一確定為目標(biāo)分支區(qū)域代理設(shè)備,優(yōu)選的,將響應(yīng)該請(qǐng)求的第一個(gè)區(qū)域代理設(shè)備確定為目標(biāo)分支區(qū)域代理設(shè)備。步驟406,區(qū)域代理P2接收到確認(rèn)類(lèi)型的代理請(qǐng)求后,根據(jù)其中攜帶的目的地址, 以最長(zhǎng)匹配方式查找OSPF路由中是否有匹配的路由,在查找到匹配的路由且該路由是區(qū)域內(nèi)路由時(shí),進(jìn)行反向ABR TTL計(jì)算,得到反向ABR TTL計(jì)算結(jié)果,其中包括以目的地址確定出的根節(jié)點(diǎn)到該根節(jié)點(diǎn)所在區(qū)域的各出口 ABR(所述出口 ABR是指所述根節(jié)點(diǎn)所在區(qū)域各ABR中到發(fā)起代理請(qǐng)求的主干區(qū)代理的ABR)的轉(zhuǎn)發(fā)跳數(shù),并將得到的反向ABR TTL計(jì)算結(jié)果通過(guò)響應(yīng)消息返回給主干區(qū)代理。響應(yīng)消息中可包括轉(zhuǎn)發(fā)跳數(shù)(包括跳數(shù)下限和跳數(shù)上限),以及各出口 ABR的標(biāo)識(shí),還可包括各出口 ABR對(duì)應(yīng)的可信標(biāo)志,以及進(jìn)一步還可包括代理請(qǐng)求中所有信息(如源地址,目的地址,請(qǐng)求類(lèi)型標(biāo)識(shí))。步驟407,主干區(qū)代理收到區(qū)域代理P2返回的響應(yīng)消息后,分別以其中攜帶的各 ABR為根節(jié)點(diǎn)、以主干區(qū)代理所在網(wǎng)段地址作為SPFGhortest Path First,最短路徑優(yōu)先) 樹(shù)的終結(jié)點(diǎn)地址進(jìn)行反向ABR TTL計(jì)算,得到入口 ABR(即響應(yīng)消息中所指示的ABR,該ABR 為目標(biāo)區(qū)域的出口 ABR,從主干區(qū)域的角度來(lái)說(shuō)就是主干區(qū)域的入口 ABR)到主干區(qū)域的出口 ABR(所述出口 ABR是指主干區(qū)的ABR中到發(fā)起代理請(qǐng)求的區(qū)域代理Pl的ABR)的轉(zhuǎn)發(fā)跳數(shù),然后在接收到的反向TTL計(jì)算結(jié)果的基礎(chǔ)上加上該轉(zhuǎn)發(fā)跳數(shù)后,將攜帶有累加后的轉(zhuǎn)發(fā)跳數(shù)的反向TTL計(jì)算結(jié)果通過(guò)響應(yīng)消息返回給區(qū)域代理P1。例如,將計(jì)算出的跳數(shù)下限加上響應(yīng)信息中的跳數(shù)下限,將計(jì)算出的跳數(shù)上限加上響應(yīng)信息中的跳數(shù)上限,取所有跳數(shù)下限中最小的做為跳數(shù)下限,取所有跳數(shù)上限中最大的為跳數(shù)上限,然后作為代理請(qǐng)求的響應(yīng)返回給發(fā)起代理請(qǐng)求的區(qū)域代理Pl。步驟408,區(qū)域代理Pl收到主干區(qū)代理返回的包含有反向ABR TTL計(jì)算結(jié)果的響應(yīng)消息后,將其返回給LRS2。步驟409,LSR2收到區(qū)域代理Pl返回的響應(yīng)消息后,分別以響應(yīng)消息中的各 ABR(該ABR相對(duì)于主干區(qū)域來(lái)說(shuō)是出口 ABR,相對(duì)于LSR2所在區(qū)域來(lái)說(shuō)是入口 ABR)為根節(jié)點(diǎn)、以本端的源地址網(wǎng)段為目的地址,計(jì)算得到該ABR到LSR2的轉(zhuǎn)發(fā)跳數(shù)(本發(fā)明實(shí)施例中將該計(jì)算過(guò)程稱(chēng)為反向TTL計(jì)算過(guò)程);然后將計(jì)算出的跳數(shù)加上響應(yīng)消息中的跳數(shù), 如,將計(jì)算出的跳數(shù)下限加上響應(yīng)信息中的跳數(shù)下限,將計(jì)算出的跳數(shù)上限加上響應(yīng)信息中的跳數(shù)上限,取所有跳數(shù)下限中最小的做為跳數(shù)下限,取所有跳數(shù)上限中最大的為跳數(shù)上限,得到以目的地址確定出的根節(jié)點(diǎn)到本LSR(LSR2)的轉(zhuǎn)發(fā)跳數(shù)。其中,若LSR2計(jì)算出的跳數(shù)大于或等于1,則可將跳數(shù)減1后加到其所接收到的代理請(qǐng)求響應(yīng)信息中的相應(yīng)跳數(shù)上。具體的,本步驟中LSR2進(jìn)行的反向TTL計(jì)算過(guò)程可包括以響應(yīng)消息中的各ABR 為起點(diǎn)進(jìn)行SPF計(jì)算,直到本端路由器(即LSI^)進(jìn)入到SPF樹(shù)后停止SPF計(jì)算,從而計(jì)算出從相應(yīng)ABR到本端路由器(即LSR2)的跳數(shù)H。此過(guò)程中,相應(yīng)ABR不計(jì)算在內(nèi),從相應(yīng) ABR以后,每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)就加1,直到本端路由器(本端路由器也作為一個(gè)節(jié)點(diǎn),計(jì)算在內(nèi))時(shí)終止計(jì)算。若SPF樹(shù)上有多條到本端路由器的路徑,則跳數(shù)下限Hl取這些路徑的轉(zhuǎn)發(fā)跳數(shù)中的最小值,跳數(shù)上限H2取這些路徑的轉(zhuǎn)發(fā)跳數(shù)中的最大值。進(jìn)一步的,可將在跳數(shù)上限H2的基礎(chǔ)上加1,得到最終的跳數(shù)上限值。上述圖4A所示流程中的步驟404、406或407的反向ABRTTL計(jì)算過(guò)程包括以下步驟A-C (步驟A和步驟B之間沒(méi)有嚴(yán)格時(shí)序要求)步驟A,接收到代理請(qǐng)求的LDP代理根據(jù)該代理請(qǐng)求中攜帶的“本端的源地址”查找對(duì)應(yīng)的路由(為描述方便,此處稱(chēng)為路由R);步驟B,該LDP代理以確定出的根節(jié)點(diǎn)進(jìn)行SPF計(jì)算,計(jì)算到所有ABR后停止SPF 計(jì)算。然后進(jìn)行以路由R為路由的區(qū)域間路由計(jì)算,具體的將各ABR產(chǎn)生的3類(lèi)LSA中的 Metric分別與根節(jié)點(diǎn)到各ABR的路徑的cost相加,取數(shù)值最小cost所對(duì)應(yīng)的ABR作為該根節(jié)點(diǎn)所在區(qū)域的出口 ABR,未產(chǎn)生路由R對(duì)應(yīng)LSA的ABR不參與取最小值計(jì)算;若存在多個(gè)數(shù)值最小的ABR,則都作為出口 ABR。通過(guò)該過(guò)程所確定出的出口 ABR即為到該代理請(qǐng)求的發(fā)起端路由器的ABR。具體的,對(duì)于步驟404和步驟406,所述根節(jié)點(diǎn)為L(zhǎng)DP代理根據(jù)目的地址確定出來(lái)的(具體確定方法可如圖3B所示);對(duì)于步驟407,所述根節(jié)點(diǎn)是指主干區(qū)代理接收到的代理響應(yīng)中的ABR標(biāo)識(shí)所指示的ABR。步驟C,對(duì)于各出口 ABR,該LDP代理根據(jù)步驟B的SPF計(jì)算結(jié)果分別計(jì)算從根節(jié)點(diǎn)到各出口 ABR的跳數(shù)H(即根節(jié)點(diǎn)不計(jì)算在內(nèi),從根節(jié)點(diǎn)以后,每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)就加1,直到出口 ABR,出口 ABR作為一個(gè)節(jié)點(diǎn),計(jì)算在內(nèi));若有多條到出口 ABR的路徑,則跳數(shù)下限 Ha取這些路徑的轉(zhuǎn)發(fā)跳數(shù)中的最小值,跳數(shù)上限Hb取這些路徑的轉(zhuǎn)發(fā)跳數(shù)中的最大值,然后將Ha和Hb分別加1。
如圖4B所示,若LSR2具有區(qū)域代理功能,則代理反向TTL計(jì)算過(guò)程包括步驟410,LSR2在確定自己具有區(qū)域LDP代理功能后,向主干區(qū)代理發(fā)送代理請(qǐng)求,其中攜帶有源地址(LSR2的地址)、目的地址(LSR1的地址)和代理類(lèi)型標(biāo)識(shí)。其中,代理類(lèi)型標(biāo)識(shí)所標(biāo)識(shí)的代理請(qǐng)求類(lèi)型為匯總請(qǐng)求。步驟411,主干區(qū)代理接收到匯總類(lèi)型的代理請(qǐng)求后,根據(jù)其中攜帶的目的地址, 以最長(zhǎng)匹配方式查找OSPF路由中是否有匹配的路由,并在查找到匹配的路由后判斷該路由的類(lèi)型。若查找到的路由是區(qū)域內(nèi)路由或直連路由,則轉(zhuǎn)入步驟412 ;若是區(qū)域間路由則進(jìn)行區(qū)域代理計(jì)算,轉(zhuǎn)入步驟413。步驟412,主干區(qū)代理根據(jù)源地址和目的地址進(jìn)行反向ABR TTL計(jì)算,并將計(jì)算結(jié)果通過(guò)響應(yīng)消息返回給LSR2,然后轉(zhuǎn)入步驟416。其具體實(shí)現(xiàn)與圖4A中的步驟404類(lèi)似, 在此不再贅述。步驟413,主干區(qū)代理根據(jù)目的地址確定能夠處理該代理請(qǐng)求的目標(biāo)區(qū)域代理 (以下稱(chēng)區(qū)域代理P2),并向該目標(biāo)區(qū)域代理發(fā)送代理請(qǐng)求。其具體實(shí)現(xiàn)與圖4A中的步驟 405類(lèi)似。步驟414,區(qū)域代理P2接收到確認(rèn)類(lèi)型的代理請(qǐng)求后,根據(jù)其中攜帶的源地址和目的地址進(jìn)行反向ABR TTL計(jì)算,并通過(guò)響應(yīng)消息向主干區(qū)代理返回反向ABR TTL計(jì)算結(jié)果。其具體實(shí)現(xiàn)與圖4A中的步驟406類(lèi)似。步驟415,主干區(qū)代理收到區(qū)域代理P2返回的反向ABR TTL計(jì)算結(jié)果后,分別以其中攜帶的各ABR為根節(jié)點(diǎn)、以主干區(qū)代理所在網(wǎng)段地址作為SPF樹(shù)的終結(jié)點(diǎn)地址進(jìn)行反向 ABR TTL計(jì)算,并將計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)累加到其所接收到的轉(zhuǎn)發(fā)跳數(shù)上,并通過(guò)響應(yīng)消息向 LSR2返回反向ABR TTL計(jì)算結(jié)果。其具體實(shí)現(xiàn)與圖4A中的步驟407類(lèi)似。步驟416,LSR2收到區(qū)域代理Pl返回的響應(yīng)消息后,分別以響應(yīng)消息中的各ABR 為根節(jié)點(diǎn)、以本端的源地址網(wǎng)段為目的地址,進(jìn)行反向TTL計(jì)算,并將計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)累加到其所接收到的轉(zhuǎn)發(fā)跳數(shù)上。其具體實(shí)現(xiàn)與圖4A中的步驟409類(lèi)似。如圖4C所示,若LSR2具有主干區(qū)代理功能,則代理反向TTL計(jì)算過(guò)程包括步驟420 421,LSR2在確定自己具有主干LDP代理功能后,將LDP target Hello 報(bào)文的源地址作為目的地址,以最長(zhǎng)匹配方式查找OSPF路由中是否有匹配的路由,并在查找到匹配的路由后判斷該路由的類(lèi)型,若是區(qū)域間路由則進(jìn)行區(qū)域代理計(jì)算,即轉(zhuǎn)入步驟 422。該步驟中,若查找到的路由是區(qū)域內(nèi)路由或直連路由,則不用啟動(dòng)代理反向TTL 計(jì)算過(guò)程,而是由LSR2進(jìn)行反向TTL計(jì)算以得到LSR2和LSRl之間的轉(zhuǎn)發(fā)跳數(shù)。步驟422,LSR2根據(jù)目的地址確定能夠處理該代理請(qǐng)求的目標(biāo)區(qū)域代理,并向該目標(biāo)區(qū)域代理(此處為區(qū)域代理發(fā)送代理請(qǐng)求。其具體實(shí)現(xiàn)與圖4A中的步驟405類(lèi)似。步驟423,區(qū)域代理P2接收到確認(rèn)類(lèi)型的代理請(qǐng)求后,根據(jù)其中攜帶的源地址和目的地址進(jìn)行反向ABR TTL計(jì)算,并通過(guò)響應(yīng)消息向LSR2(也即主干區(qū)代理)返回反向ABR TTL計(jì)算結(jié)果。其具體實(shí)現(xiàn)與圖4A中的步驟406類(lèi)似。步驟424,LSR2收到區(qū)域代理P2返回的響應(yīng)消息后,分別以其中攜帶的各ABR為根節(jié)點(diǎn)、以LSR2自身的地址作為SPF樹(shù)的終結(jié)點(diǎn)地址進(jìn)行反向TTL計(jì)算,并將計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)累加到區(qū)域代理P2返回的轉(zhuǎn)發(fā)跳數(shù)上,得到以目的地址確定出的根節(jié)點(diǎn)到LSR2的轉(zhuǎn)發(fā)跳數(shù)或轉(zhuǎn)發(fā)跳數(shù)范圍。其具體實(shí)現(xiàn)與圖4A中的步驟407類(lèi)似。需要說(shuō)明的是,上述圖4A、圖4B或圖4C所示流程中,通過(guò)在代理請(qǐng)求中添加代理類(lèi)型標(biāo)識(shí)來(lái)使接收到代理請(qǐng)求的代理設(shè)備進(jìn)行相應(yīng)處理,本領(lǐng)域技術(shù)人員應(yīng)該能夠理解, 還可以采用其它方式以使接收到代理請(qǐng)求的代理設(shè)備進(jìn)行相應(yīng)處理,如代理請(qǐng)求接收端根據(jù)該代理請(qǐng)求發(fā)起端的不同(即該代理請(qǐng)求來(lái)自于主干區(qū)代理還是來(lái)自區(qū)域代理),來(lái)進(jìn)行相應(yīng)處理。根據(jù)以上圖4A、圖4B和圖4C所示的流程,從代理設(shè)備的角度來(lái)說(shuō),其接收到代理請(qǐng)求后的處理流程可如圖5所示,包括以下情況(1)若本代理設(shè)備為代理請(qǐng)求的發(fā)起端,則判斷本設(shè)備是否是主干區(qū)代理;若不是,則向主干區(qū)代理發(fā)送代理請(qǐng)求,請(qǐng)求消息中包括本端的源地址、目的地址、請(qǐng)求類(lèi)型,此處的請(qǐng)求類(lèi)型為匯總請(qǐng)求;若是,則進(jìn)行區(qū)域代理計(jì)算,確定目標(biāo)區(qū)域代理設(shè)備并向該目標(biāo)區(qū)域代理設(shè)備發(fā)送代理請(qǐng)求,請(qǐng)求消息中包括本代理設(shè)備的源地址、目的地址、請(qǐng)求類(lèi)型, 此處的請(qǐng)求類(lèi)型為確認(rèn)請(qǐng)求。(2)若本代理設(shè)備為代理請(qǐng)求的接收端,若收到的代理請(qǐng)求為匯總請(qǐng)求,且本代理設(shè)備為主干區(qū)代理,則以最長(zhǎng)匹配方式查找OSPF路由中是否有匹配的路由,若未查找到, 則向代理請(qǐng)求發(fā)起端返回失敗響應(yīng)消息,其中可包括代理請(qǐng)求中所有信息(本端的源地址,目的地址,請(qǐng)求類(lèi)型)和代理計(jì)算失敗信息;若查找,則A 若查找到的路由是區(qū)域內(nèi)路由或直連路由,則進(jìn)行反向ABR TTL計(jì)算,然后向代理請(qǐng)求發(fā)起端返回響應(yīng)消息,其中包括代理請(qǐng)求中所有信息(本端的源地址,目的地址, 請(qǐng)求類(lèi)型),各出口 ABR標(biāo)識(shí)及其對(duì)應(yīng)的可信標(biāo)志和跳數(shù)信息(包括跳數(shù)下限和跳數(shù)上限);B:若是區(qū)域間路由則進(jìn)行區(qū)域代理計(jì)算,確定目標(biāo)區(qū)域代理設(shè)備并向該區(qū)域代理設(shè)備發(fā)送代理請(qǐng)求,請(qǐng)求消息中包括接收到的源地址,目的地址,請(qǐng)求類(lèi)型,此處的請(qǐng)求類(lèi)型為確認(rèn)請(qǐng)求。(3)若本代理設(shè)備收到的代理請(qǐng)求為確認(rèn)請(qǐng)求,且本代理設(shè)備為區(qū)域代理,則以最長(zhǎng)匹配方式查找OSPF路由中是否有匹配的路由,若未查找到,則向代理請(qǐng)求發(fā)起端返回失敗響應(yīng)消息,其中可包括代理請(qǐng)求中所有信息(本端的源地址,目的地址,請(qǐng)求類(lèi)型)和代理計(jì)算失敗信息;若查找到,則A 若查找到的路由是區(qū)域內(nèi)路由,則進(jìn)行反向ABR TTL計(jì)算處理,然后向代理請(qǐng)求發(fā)起端返回響應(yīng)消息,其中包括代理請(qǐng)求中所有信息(本端的源地址,目的地址,請(qǐng)求類(lèi)型),各出口 ABR標(biāo)識(shí)及其對(duì)應(yīng)的可信標(biāo)志和跳數(shù)信息(包括跳數(shù)下限和跳數(shù)上限);B:若查找到的路由不是區(qū)域內(nèi)路由,則向代理請(qǐng)求發(fā)起端返回失敗響應(yīng)消息,其中可包括代理請(qǐng)求中所有信息(本端的源地址,目的地址,請(qǐng)求類(lèi)型)和代理計(jì)算失敗信肩、ο(4)若本代理設(shè)備收到的代理請(qǐng)求和本代理設(shè)備的代理類(lèi)型組合為其他情況,則向代理請(qǐng)求發(fā)起端返回失敗響應(yīng)消息,其中可包括代理請(qǐng)求中所有信息(本端的源地址, 目的地址,請(qǐng)求類(lèi)型)和代理計(jì)算失敗信息。實(shí)施例二
為了減少路由器的反向ABR TTL計(jì)算開(kāi)銷(xiāo),本發(fā)明實(shí)施例二對(duì)上述實(shí)施例一進(jìn)行了改進(jìn)。即,在LDP代理設(shè)備(包括區(qū)域代理或/和主干區(qū)代理)進(jìn)行反向ABR TTL計(jì)算之后,將計(jì)算結(jié)果保存或更新到本地;或者,LDP代理設(shè)備在接收到其他LDP代理設(shè)備返回的代理響應(yīng)之后,將該響應(yīng)中攜帶的反向ABR TTL計(jì)算結(jié)果保存或更新到本地。如以代理表的形式保存反向ABR計(jì)算結(jié)果的相關(guān)信息,每個(gè)表項(xiàng)可包含如下信息起始鄰居、源地址、目的地址、代理下一跳、轉(zhuǎn)發(fā)跳數(shù)(如包括跳數(shù)下限、跳數(shù)上限),還可進(jìn)一步包括路由信息、 SPF信息等。其中起始鄰居從鄰居設(shè)備收到代理請(qǐng)求消息時(shí),此鄰居的地址就是起始鄰居。如實(shí)施例一中的主干區(qū)代理接收到區(qū)域代理Pl發(fā)起的代理請(qǐng)求時(shí),該起始鄰居即為區(qū)域代理P1。 若是本地發(fā)起的代理,起始鄰居為空;源地址代理請(qǐng)求消息中攜帶的“源地址”。若是本地發(fā)起的代理請(qǐng)求,則為本端的源地址。如實(shí)施例一中,當(dāng)LSR2向區(qū)域代理Pl發(fā)起代理請(qǐng)求時(shí),該消息中攜帶有“源地址”,該源地址即為L(zhǎng)SR2所接收到的LDP消息的目的地址,此處為L(zhǎng)SR2的地址。目的地址代理請(qǐng)求消息中攜帶的“目的地址”,如實(shí)施例一中LSR2所接收到的 LDP報(bào)文的源地址,此處為L(zhǎng)SRl的地址。若是本地發(fā)起的代理請(qǐng)求,則為目的地址;代理下一跳發(fā)送代理請(qǐng)求消息的對(duì)象,若本代理設(shè)備接收到代理請(qǐng)求后,無(wú)需再向其他代理設(shè)備發(fā)送代理請(qǐng)求,則項(xiàng)為空。如實(shí)施例一中,主干區(qū)代理在收到區(qū)域代理Pi 發(fā)送的代理請(qǐng)求后,確定出需要向區(qū)域代理P2發(fā)送代理請(qǐng)求,則區(qū)域代理P2即為相應(yīng)的代理下一跳。跳數(shù)下限本代理設(shè)備計(jì)算出的或從其他代理設(shè)備返回的代理響應(yīng)中得到的跳數(shù)的下限;跳數(shù)上限本代理設(shè)備計(jì)算出的或從其他代理設(shè)備返回的代理響應(yīng)中得到的跳數(shù)的上限;路由信息目的地址匹配到的路由;SPF信息源路由器是產(chǎn)生目的地址匹配到的路由的對(duì)應(yīng)LSA的路由器(也即實(shí)施例一中所述的根據(jù)目的地址確定出的進(jìn)行轉(zhuǎn)發(fā)跳數(shù)計(jì)算的根節(jié)點(diǎn)),而從源路由器(即根節(jié)點(diǎn))計(jì)算出的,到本地的SPF樹(shù),即為監(jiān)控的SPF信息。基于LDP代理設(shè)備記錄的以上代理表,本實(shí)施例所提供的遠(yuǎn)程LDP鄰居建立流程中,當(dāng)LDP代理設(shè)備需要進(jìn)行反向ABR TTL計(jì)算時(shí),首先查詢(xún)本地代理表,判斷是否有匹配的表項(xiàng),若有匹配的表項(xiàng),則將該表項(xiàng)中的相關(guān)信息作為反向ABR TTL計(jì)算結(jié)果;若未找到匹配的表項(xiàng),則按照實(shí)施例一所述的方法進(jìn)行反向ABR TTL計(jì)算,并在得到根節(jié)點(diǎn)到該代理設(shè)備所在區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù)后,創(chuàng)建對(duì)應(yīng)的代理表項(xiàng)。例如,區(qū)域代理Pl接收到LSR2的代理請(qǐng)求后,根據(jù)LSR2的地址和代理請(qǐng)求中攜帶的目的地址和源地址查找其所記錄和維護(hù)的代理表,如果找到匹配的表項(xiàng),則將該表項(xiàng)或該表項(xiàng)中的轉(zhuǎn)發(fā)跳數(shù)作為反向ABR TTL計(jì)算結(jié)果返回;如果未找到匹配的表項(xiàng),則按照前述流程啟動(dòng)反向ABR TTL計(jì)算過(guò)程。具體的,如果從代理表中能夠查找到“起始鄰居”為該發(fā)起代理請(qǐng)求的設(shè)備、目的地址為該代理請(qǐng)求中攜帶的目的地址、源地址為該代理請(qǐng)求中攜帶的源地址的代理表項(xiàng), 則可將該代理表項(xiàng)中的起始鄰居、源地址、目的地址、跳數(shù)下限、跳數(shù)上限等信息作為代理請(qǐng)求的響應(yīng)返回給該代理請(qǐng)求的發(fā)起端。進(jìn)一步的,上述代理表還需要根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓M(jìn)行動(dòng)態(tài)更新,以保證該代理表中的數(shù)據(jù)的實(shí)時(shí)性和準(zhǔn)確性。如當(dāng)上述“路由信息”或“SPF信息”發(fā)生變化時(shí),需要觸發(fā)反向ABR TTL計(jì)算,重新獲得相應(yīng)表項(xiàng)的“源地址”到“目的地址”的轉(zhuǎn)發(fā)跳數(shù),更新本代理設(shè)備以及相關(guān)代理設(shè)備上的相應(yīng)表項(xiàng)。例如,以主區(qū)代理為例,其更新代理表的過(guò)程可如圖6所示,包括步驟601,主干區(qū)代理發(fā)現(xiàn)有路由變化時(shí),判斷該路由是否存在于代理表中,如果判斷為是,則執(zhí)行步驟602,否則結(jié)束本流程。步驟602,主干區(qū)代理查詢(xún)?cè)撀酚尚畔l(fā)生變化的表項(xiàng),若“代理下一跳”為區(qū)域代理的地址(本流程以區(qū)域代理P2為例),則轉(zhuǎn)入步驟603 ;若“代理下一跳”為空,則轉(zhuǎn)入步驟 605。步驟603,主干區(qū)代理向區(qū)域代理P2發(fā)送代理請(qǐng)求,其中攜帶有“目的地址”,并接收區(qū)域代理P2返回的代理響應(yīng),其中攜帶有區(qū)域代理P2根據(jù)該“目的地址”并通過(guò)反向ABR TTL計(jì)算得到的根節(jié)點(diǎn)到其所在區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù)。區(qū)域代理P2在計(jì)算出該轉(zhuǎn)發(fā)跳數(shù)后,更新其本地的相應(yīng)代理表項(xiàng)。步驟604,主干區(qū)代理接收到區(qū)域代理P2返回的代理響應(yīng)后,通過(guò)反向ABR TTL計(jì)算過(guò)程得到該代理響應(yīng)中所指示的出口 ABR到主干區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),然后將計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)累加到代理響應(yīng)中攜帶的轉(zhuǎn)發(fā)跳數(shù)上,并以此更新該代理表項(xiàng)中的轉(zhuǎn)發(fā)跳數(shù)。然后轉(zhuǎn)入步驟606。步驟605,主干區(qū)代理根據(jù)該表項(xiàng)中的“目的地址”確定進(jìn)行反向ABR TTL計(jì)算的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)進(jìn)行反向ABR TTL計(jì)算,并根據(jù)計(jì)算結(jié)果更新相應(yīng)代理表項(xiàng)中的轉(zhuǎn)發(fā)跳數(shù)。然后轉(zhuǎn)入步驟606。步驟606,主干區(qū)代理查詢(xún)?cè)摫眄?xiàng)中的“起始鄰居”,若“起始鄰居”為區(qū)域代理的地址(本流程以區(qū)域代理Pl為例),則轉(zhuǎn)入步驟607 ;若“起始鄰居”為空,則結(jié)束本流程。步驟607,主干區(qū)代理向區(qū)域代理Pl發(fā)送通知消息,其中攜帶有相應(yīng)代理表項(xiàng)中的相關(guān)內(nèi)容,如源地址、目的地址、轉(zhuǎn)發(fā)跳數(shù)等,以通知區(qū)域代理Pi更新相應(yīng)代理表項(xiàng)。其它代理設(shè)備上的代理表項(xiàng)的更新流程與上述流程類(lèi)似,例如,如果更新流程由區(qū)域代理P2發(fā)起,則區(qū)域代理P2在更新完相應(yīng)代理表項(xiàng)后通知主干區(qū)代理更新相應(yīng)代理表項(xiàng)(在該代理表項(xiàng)中的代理請(qǐng)求發(fā)起端為主干區(qū)代理時(shí));主干區(qū)代理接收到該通知后,如果判斷相應(yīng)表項(xiàng)中記錄的代理請(qǐng)求發(fā)起端為其它分支區(qū)域代理,則需要進(jìn)行反向ABR TTL計(jì)算,得到區(qū)域代理P2所在區(qū)域的出口 ABR到主干區(qū)出口 ABR的轉(zhuǎn)發(fā)跳數(shù),然后進(jìn)行相應(yīng)代理表項(xiàng)的更新,并通知該表項(xiàng)中的代理請(qǐng)求發(fā)起端(即分支區(qū)域代理設(shè)備)更新相應(yīng)代理表項(xiàng);否則,無(wú)需進(jìn)行反向ABR TTL計(jì)算,只要根據(jù)通知更新相應(yīng)代理表項(xiàng)即可。進(jìn)一步的,如果LDP代理變更,則需要觸發(fā)“代理下一跳”的重新選擇(即重新確定本設(shè)備發(fā)送代理請(qǐng)求消息的對(duì)象),具體如何選擇,需要根據(jù)網(wǎng)絡(luò)拓?fù)涞淖兓?,如,?duì)于區(qū)域代理設(shè)備來(lái)說(shuō),若主干區(qū)代理設(shè)備發(fā)生變化,則需要將“代理下一跳”更新為新的主干區(qū)代理設(shè)備的地址,對(duì)于主干區(qū)代理設(shè)備來(lái)說(shuō),需要重新確定目的區(qū)域代理設(shè)備,并將“代理下一跳”更新為新的目的區(qū)域代理設(shè)備的地址。然后再根據(jù)情況進(jìn)行轉(zhuǎn)發(fā)跳數(shù)的更新。進(jìn)一步的,當(dāng)建立有LDP鄰居關(guān)系的LDP鄰居關(guān)系取消時(shí),存在鄰居關(guān)系的設(shè)備(如實(shí)施例一中的LSRl或LSR2)可向代理設(shè)備發(fā)送代理回收消息,該代理回收消息中可包括本端的源地址、目的地址、本端OSPF進(jìn)程的Router ID。作為代理設(shè)備的鄰居在收到該代理回收消息后,根據(jù)源地址和目的地址查找代理表,將對(duì)應(yīng)的表項(xiàng)刪除。實(shí)施例三本實(shí)施例的實(shí)現(xiàn)原理基本與實(shí)施例一或?qū)嵤├嗤煌氖潜緦?shí)施例使用獨(dú)立的設(shè)備進(jìn)行反向TTL計(jì)算或反向ABR TTL計(jì)算,該單獨(dú)的設(shè)備可配置為代理服務(wù)器。需要進(jìn)行動(dòng)態(tài)鄰居保護(hù)的設(shè)備各自與該代理服務(wù)器建立LDP代理鄰居,并且所有涉及到的OSPF 的區(qū)域都要至少存在一個(gè)設(shè)備與代理服務(wù)器建立LDP代理鄰居。本實(shí)施例中,將與代理服務(wù)器建立LDP代理鄰居關(guān)系的設(shè)備稱(chēng)為代理客戶(hù)端。各代理客戶(hù)端將本區(qū)域的OSPF LSA同步到代理服務(wù)器,代理客戶(hù)端之間不需要存在LDP代理關(guān)系。代理服務(wù)器在收到LSA之后,在各個(gè)區(qū)域分別找一個(gè)設(shè)備作為根節(jié)點(diǎn)(可由用戶(hù)配置),進(jìn)行路由計(jì)算,得到各個(gè)區(qū)域的路由表。當(dāng)然,可以采用其它方式將各區(qū)域的路由表配置在該代理服務(wù)器上。同實(shí)施例一或?qū)嵤├?,如果路由器判斷與目的地址(如該路由器接收到的待驗(yàn)證合法性的LDP報(bào)文源地址)匹配的路由為區(qū)域內(nèi)路由,則該路由器可根據(jù)該目的地址確定反向TTL計(jì)算的根節(jié)點(diǎn),并在相應(yīng)區(qū)域內(nèi)啟動(dòng)反向TTL計(jì)算,從而得到該根節(jié)點(diǎn)到該路由器的轉(zhuǎn)發(fā)跳數(shù),進(jìn)而根據(jù)該轉(zhuǎn)發(fā)跳數(shù)驗(yàn)證LDP報(bào)文的合法性。與實(shí)施例一或?qū)嵤├煌氖?,如果路由器判斷與目的地址匹配的路由為區(qū)域間路由,則向所在區(qū)域的代理客戶(hù)端發(fā)起代理請(qǐng)求,該代理客戶(hù)端向代理服務(wù)器發(fā)起代理請(qǐng)求,代理服務(wù)器根據(jù)其所存儲(chǔ)的相關(guān)區(qū)域的路由表獨(dú)自完成轉(zhuǎn)發(fā)跳數(shù)的計(jì)算,并將計(jì)算結(jié)果攜帶于代理響應(yīng)返回給代理客戶(hù)端,該代理客戶(hù)端向發(fā)起代理請(qǐng)求的路由器轉(zhuǎn)發(fā)該代理響應(yīng),以使該路由器根據(jù)該轉(zhuǎn)發(fā)跳數(shù)驗(yàn)證LDP報(bào)文的合法性。具體的,以遠(yuǎn)程LDP鄰居建立過(guò)程為例,當(dāng)LSR2接收到LDP Target Hello報(bào)文后,以該報(bào)文的源地址作為目的地址,使用本設(shè)備所在區(qū)域的路由表進(jìn)行路由匹配,若匹配到的路由為區(qū)域間路由,則向所在區(qū)域的代理客戶(hù)端發(fā)送代理請(qǐng)求,該代理客戶(hù)端將該代理請(qǐng)求轉(zhuǎn)發(fā)給代理服務(wù)器,該代理請(qǐng)求中攜帶有目的地址(即LDP Target Hello報(bào)文的源地址)和源地址(即代理客戶(hù)端所在設(shè)備的地址)。代理服務(wù)器根據(jù)代理請(qǐng)求中攜帶的目的地址,根據(jù)其所存儲(chǔ)的各個(gè)區(qū)域的路由表,在各個(gè)區(qū)域查找是否有匹配的區(qū)域內(nèi)路由,其匹配結(jié)果以及相應(yīng)的處理流程可包括以下幾種情況情況一發(fā)起代理請(qǐng)求的路由器在分支區(qū)域,代理服務(wù)器在其它分支區(qū)域內(nèi)匹配到路由設(shè)發(fā)起代理請(qǐng)求的路由器所在分支區(qū)域稱(chēng)為區(qū)域A,代理服務(wù)器在區(qū)域B內(nèi)匹配到了路由,此種情況下,類(lèi)似于圖4A或4B所示的流程中的匹配到區(qū)域間路由的處理流程, 代理服務(wù)器使用區(qū)域B的路由表進(jìn)行反向ABR TTL計(jì)算,得到根節(jié)點(diǎn)(該根節(jié)點(diǎn)是根據(jù)目的地址確定出來(lái)的)到區(qū)域B出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用主干區(qū)域路由表進(jìn)行反向ABR TTL 計(jì)算,得到區(qū)域B出口 ABR(也即主干區(qū)入口 ABR)到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用代理請(qǐng)求的發(fā)起端路由器所在區(qū)域A的路由表進(jìn)行反向TTL計(jì)算,得到主干區(qū)出口 ABR到 LSR2的轉(zhuǎn)發(fā)跳數(shù),然后將三次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加,并將累加后的轉(zhuǎn)發(fā)跳數(shù)攜帶于代理響應(yīng)返回給代理客戶(hù)端,代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器,從而該路由器最終得到目的地址到源地址的轉(zhuǎn)發(fā)跳數(shù)。情況二發(fā)起代理請(qǐng)求的路由器在分支區(qū)域,代理服務(wù)器在主干區(qū)域內(nèi)匹配到路
由設(shè)發(fā)起代理請(qǐng)求的代理客戶(hù)端所在分支區(qū)域稱(chēng)為區(qū)域A,代理服務(wù)器在主干區(qū)域內(nèi)匹配到了路由,此種情況下,類(lèi)似于圖4A或4B所示的流程中的匹配到區(qū)域內(nèi)路由的處理流程,代理服務(wù)器根據(jù)主干區(qū)域的路由表進(jìn)行反向ABRTTL計(jì)算,得到根節(jié)點(diǎn)(根節(jié)點(diǎn)的確定方法同前)到主干區(qū)出口 ABR的轉(zhuǎn)發(fā)跳數(shù),根據(jù)區(qū)域A的路由表進(jìn)行反向TTL計(jì)算,得到主干區(qū)出口 ABR到該路由器的轉(zhuǎn)發(fā)跳數(shù),然后將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器,從而使該路由器得到目的地址到源地址的轉(zhuǎn)發(fā)跳數(shù)。情況三發(fā)起代理請(qǐng)求的路由器在主干區(qū)域,代理服務(wù)器在分支區(qū)域內(nèi)匹配到路
由設(shè)代理服務(wù)器在區(qū)域B內(nèi)匹配到了路由,此種情況下,類(lèi)似于圖4C所示的流程中的匹配到區(qū)域間路由的處理流程,代理服務(wù)器根據(jù)區(qū)域B的路由表進(jìn)行反向ABR TTL計(jì)算, 得到根節(jié)點(diǎn)(該根節(jié)點(diǎn)是根據(jù)目的地址確定出的)到區(qū)域B的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),根據(jù)發(fā)起代理請(qǐng)求的路由器所在的主干區(qū)域的路由表進(jìn)行反向TTL計(jì)算,得到區(qū)別B的出口 ABR 到該路由器的轉(zhuǎn)發(fā)跳數(shù),然后將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加,并攜帶于響應(yīng)消息發(fā)送給代理客戶(hù)端,代理客戶(hù)端將該響應(yīng)消息轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器,從而使該路由器得到目的地址到源地址的轉(zhuǎn)發(fā)跳數(shù)。情況四未匹配到路由此種情況下,代理服務(wù)器向代理客戶(hù)端返回失敗響應(yīng)消息。情況五接收到LDP協(xié)議報(bào)文并需要對(duì)該報(bào)文進(jìn)行合法性驗(yàn)證的設(shè)備為代理服務(wù)器時(shí),其計(jì)算轉(zhuǎn)發(fā)跳數(shù)的具體實(shí)現(xiàn)與上述情況類(lèi)似,如果在其所在區(qū)域能夠匹配到區(qū)域內(nèi)路由,則使用該區(qū)域的路由表進(jìn)行反向TTL計(jì)算;如果在其它區(qū)域匹配到區(qū)域內(nèi)路由,則根據(jù)該其它區(qū)域是分支區(qū)域還是主干區(qū)域的不同,進(jìn)行相應(yīng)反向ABR TTL計(jì)算處理(前者進(jìn)行2次反向ABR TTL計(jì)算,后者進(jìn)行1次反向ABR TTL計(jì)算)。為更加清楚的說(shuō)明本發(fā)明實(shí)施例的具體實(shí)現(xiàn),下面以一具體應(yīng)用場(chǎng)景為例進(jìn)行描述。參見(jiàn)圖7,RTA與RTB之間配置LDP遠(yuǎn)程鄰居,RTA為所在區(qū)域Area 1的區(qū)域代理。 在RTA上需要計(jì)算RTB到RTA的跳數(shù)。其中,RTCore-I為主干區(qū)代理。RTA,RTB和RTD分別與RTCore-I建立代理鄰居關(guān)系。各鏈路的Cost都為1。在RTA上LDP進(jìn)程向OSPF進(jìn)程發(fā)送計(jì)算請(qǐng)求信息,源地址為1. 1. 1. 1,目的地址為 2. 0. 0. 2。OSPF進(jìn)程收到后,查找OSPF路由表,以2. 0. 0. 2/32為目的地址進(jìn)行最長(zhǎng)匹配。 在本例中,查找到的路由為區(qū)域間路由。RTA OSPF進(jìn)程向LDP進(jìn)程通告代理請(qǐng)求信息,包括本端的源地址(1. 1. 1. 1),目的地址(2. 0. 0. 2),本端OSPF進(jìn)程的Router ID (1. 1. 1. 1)和請(qǐng)求類(lèi)型(匯總請(qǐng)求),LDP進(jìn)程將這些信息發(fā)送給主干區(qū)代理RTCore-I。RTCore-I收到信息后,查找本地OSPF路由表,找到路由2. 0. 0. 2/32,為區(qū)域間路由。則RTCore-I進(jìn)行區(qū)域代理計(jì)算。具體的=RTCore-I上,確定第一 ABR集合,該集合中的ABR是2. 0. 0. 2/32匹配的路由所對(duì)應(yīng)的ABR ;RTCore-I判斷第一 ABR集合中的ABR產(chǎn)生的3類(lèi)LSA中,ABR2的路由前綴與2. 0. 0. 2/32相匹配,則將ABR2放入第二 ABR集合;然后通過(guò)第二 ABR集合中的ABR2向其對(duì)應(yīng)的區(qū)域代理RTB和RTD發(fā)送請(qǐng)求,并將響應(yīng)該請(qǐng)求的區(qū)域代理的其中之一確定為目標(biāo)分支區(qū)域代理,此處由于RTB首先響應(yīng)ABR2的請(qǐng)求, 因此選取RTB作為目標(biāo)分支區(qū)域代理。RTCore-I向RTB發(fā)送確認(rèn)請(qǐng)求,包括收到的源地址 (1. 1. 1. 1),目的地址(2. 0. 0. 2)和請(qǐng)求類(lèi)型(確認(rèn)請(qǐng)求)。RTB收到確認(rèn)請(qǐng)求后,查找本地OSPF路由,發(fā)現(xiàn)為本地直連的路由,則進(jìn)行反向 ABR TTL計(jì)算,具體包括以下步驟⑴ (5)(1)由于目的地址2. 0. 0. 2為RTB的直連接口地址,所以源路由器為RTB ;(2)接收到的源地址為1. 1. 1. 1,查找1. 1. 1. 1最長(zhǎng)匹配的路由為1. 1. 1. 1/32 ;(3)以RTB為根節(jié)點(diǎn)進(jìn)行SPF計(jì)算,在計(jì)算到所有ABR后停止,此處只有一個(gè) ABR:ABR2。計(jì)算以 ABR2 為 ABR 到 1. 1. 1. 1/32 的 cost 為依據(jù)RTB 到 ABR2 的 cost 為 1, ABR2產(chǎn)生的3類(lèi)LSA中的Metric為4,則cost為1+4 = 5。由于只有一個(gè)ABR,則此值即為最小值。 (4)根據(jù)SPF樹(shù),計(jì)算RTB到ASBR2的跳數(shù),為1。(5)自增標(biāo)志為0,所以跳數(shù)還是,1。RTB向RTCore-I發(fā)送響應(yīng)消息,包含請(qǐng)求中的“本端的源地址”(1. 1. 1. 1),目的地址(2. 0. 0. 2),請(qǐng)求類(lèi)型(確認(rèn)請(qǐng)求),出口 ABR (1. 0. 2. 1即ABR2),可信標(biāo)志(可信)和跳數(shù)信息(跳數(shù)下限是1,跳數(shù)上限是1)。RTCore-I收到響應(yīng)消息后,以消息中的出口 ABR(1. 0. 2. 1)為源節(jié)點(diǎn)進(jìn)行反向ABR TTL計(jì)算,得到出口 ABR為ABR1,跳數(shù)3 ;加上消息中的跳數(shù)1,得到跳數(shù)為4。向LDP鄰居 RTA發(fā)送響應(yīng)信息,包含請(qǐng)求中的“本端的源地址”(1. 1. 1. 1),目的地址(2. 0. 0. 2),請(qǐng)求類(lèi)型(匯總請(qǐng)求),出口 ABR(1. 0. 0. 1即ABR1),可信標(biāo)志(可信)和跳數(shù)信息(下限是4,跳數(shù)上限是4)。RTA收到回應(yīng)消息后,以消息中的出口 ABR(1. 0. 0. 1)為源節(jié)點(diǎn)進(jìn)行反向TTL計(jì)算, 得到的跳數(shù)為1。將此跳數(shù)加上回應(yīng)信息中的跳數(shù)G),得到跳數(shù)為5。因?yàn)? >1,所以最終的跳數(shù)為5-1 = 4。本發(fā)明的以上實(shí)施例,描述了 LSR在接收到對(duì)端發(fā)起的LDP報(bào)文后,通過(guò)反向TTL 或/和反向ABR TTL計(jì)算,得到對(duì)端到本LSR的轉(zhuǎn)發(fā)跳數(shù),并根據(jù)該轉(zhuǎn)發(fā)跳數(shù)驗(yàn)證該LDP報(bào)文的合法性,進(jìn)而決定是否與對(duì)端建立LDP鄰居的過(guò)程?;谝陨蠘?gòu)思和原理,另一種代替方案是LSR在發(fā)起LDP報(bào)文以請(qǐng)求與對(duì)端建立LDP鄰居時(shí),由該LSR以對(duì)端地址為目的地址,進(jìn)行反向TTL或/和反向ABR TTL計(jì)算,得到對(duì)端到本LSR的轉(zhuǎn)發(fā)跳數(shù),并判斷該轉(zhuǎn)發(fā)跳數(shù)是否在合理范圍內(nèi),如果在合理范圍內(nèi),則在接收到對(duì)端應(yīng)答的LDP報(bào)文后,建立與對(duì)端的LDP鄰居。該替代方案的具體實(shí)現(xiàn)過(guò)程基本與前述實(shí)施例類(lèi)似,在此不再贅述?;谙嗤募夹g(shù)構(gòu)思,本發(fā)明實(shí)施例還提供了可應(yīng)用于上述流程的網(wǎng)絡(luò)設(shè)備。參見(jiàn)圖8,為本發(fā)明一實(shí)施例提供的路由器的結(jié)構(gòu)示意圖,該路由器可應(yīng)用于實(shí)施例三。如圖所示,該路由器可包括收發(fā)模塊91、LDP模塊92和OSPF模塊93,OSPF模塊93 包括控制單元931、路由匹配單元932、計(jì)算單元933 ;LDP模塊92,用于在收發(fā)模塊91接收到對(duì)端發(fā)送的LDP報(bào)文后,請(qǐng)求OSPF模塊93計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則與對(duì)端建立LDP鄰居;或者,在收發(fā)模塊91向?qū)Χ税l(fā)送LDP報(bào)文后,請(qǐng)求OSPF模塊93計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則在接收到對(duì)端響應(yīng)的LDP報(bào)文后與對(duì)端建立LDP鄰居;根據(jù)OSPF模塊 93的代理請(qǐng)求,通過(guò)所在區(qū)域的代理客戶(hù)端設(shè)備從代理服務(wù)器獲得計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù),其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的;控制單元931,用于根據(jù)接收到的請(qǐng)求,指示路由匹配單元932進(jìn)行路由匹配,如果匹配到區(qū)域內(nèi)路由,則指示計(jì)算單元933計(jì)算轉(zhuǎn)發(fā)跳數(shù);如果匹配到區(qū)域間路由,則請(qǐng)求 LDP模塊92發(fā)起代理請(qǐng)求;路由匹配單元932,用于根據(jù)控制單元931的指示,以對(duì)端地址為目的地址進(jìn)行路
由匹配;計(jì)算單元933,用于根據(jù)控制單元931的指示,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),計(jì)算所述根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將其發(fā)送給LDP模塊92。具體的,LDP模塊92具體用于,通過(guò)所在區(qū)域的代理客戶(hù)端向所述代理服務(wù)器發(fā)送代理請(qǐng)求,所述代理請(qǐng)求中攜帶所述目的地址,以使所述代理服務(wù)器根據(jù)所述代理請(qǐng)求中攜帶的目的地址,并根據(jù)其上配置的各個(gè)區(qū)域的路由表,在各個(gè)區(qū)域查找是否有匹配的區(qū)域內(nèi)路由;其中,如果發(fā)起代理請(qǐng)求的路由器在第一分支區(qū)域,代理服務(wù)器在第二分支區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用所述第二分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到第二分支區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用主干區(qū)域的路由表計(jì)算所述第二分支區(qū)域的出口 ABR到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用第一分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將三次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器;如果發(fā)起代理請(qǐng)求的路由器在分支區(qū)域,代理服務(wù)器在主干區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用主干區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用該分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器;如果發(fā)起代理請(qǐng)求的路由器在主干區(qū)域,代理服務(wù)器在分支區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用該分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到該分支區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),根據(jù)主干區(qū)域的路由表計(jì)算所述分支區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器。具體的,計(jì)算單元933在根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)時(shí),根據(jù)匹配到的區(qū)域內(nèi)路由查找對(duì)應(yīng)的LSA,查找發(fā)布該LSA的源路由器,根據(jù)該源路由器及其 OSPF鄰居確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)。具體的計(jì)算單元933通過(guò)以下方式確定根節(jié)點(diǎn)
(1)若匹配到的路由是32位路由,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)占.
^ \\\ (2)若所述目的地址是所述源路由器的一個(gè)接口地址,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);(3)若所述目的地址不是所述源路由器的一個(gè)接口地址,則查找所述源路由器中的特定路由所對(duì)應(yīng)接口的OSPF鄰居,若有OSPF鄰居的接口地址為所述目的地址,則將該鄰居路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);其中,所述特定路由為與所述目的地址對(duì)應(yīng)的路由;(4)若(1)、⑵和(3)的條件都不滿(mǎn)足,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)。進(jìn)一步的,在有多條轉(zhuǎn)發(fā)路徑的情況下,所述轉(zhuǎn)發(fā)跳數(shù)包括上限和下限;轉(zhuǎn)發(fā)跳數(shù)上限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最大值,轉(zhuǎn)發(fā)跳數(shù)下限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最小值。參見(jiàn)圖9,為本發(fā)明另一實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖,該服務(wù)器可應(yīng)用于實(shí)施例三,即實(shí)施例三中的代理服務(wù)器。如圖所示,該服務(wù)器可包括收發(fā)模塊1001、控制模塊1002、路由匹配模塊1003,計(jì)算模塊1004 ;控制模塊1002,用于在接收到代理客戶(hù)端設(shè)備轉(zhuǎn)發(fā)的攜帶有目的地址的代理請(qǐng)求后,指示路由匹配模塊1003進(jìn)行路由匹配,其中,所述目的地址為發(fā)起所述代理請(qǐng)求的路由器的對(duì)端設(shè)備的地址;指示計(jì)算模塊1004根據(jù)路由匹配模塊1003匹配到的路由計(jì)算根節(jié)點(diǎn)到發(fā)起所述代理請(qǐng)求的路由器的轉(zhuǎn)發(fā)跳數(shù),并將該轉(zhuǎn)發(fā)跳數(shù)通過(guò)收發(fā)模塊1001發(fā)送給所述代理客戶(hù)端設(shè)備進(jìn)行轉(zhuǎn)發(fā);其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的;路由匹配模塊1003,用于根據(jù)控制模塊1002的指示,根據(jù)所述目的地址,使用各區(qū)域的路由表進(jìn)行路由匹配;計(jì)算模塊1004,用于根據(jù)控制模塊1002的指示,計(jì)算根節(jié)點(diǎn)到發(fā)起所述代理請(qǐng)求的路由器的轉(zhuǎn)發(fā)跳數(shù)。具體的,控制模塊1002具體用于如果發(fā)起代理請(qǐng)求的路由器在第一分支區(qū)域,所述路由匹配模塊在第二分支區(qū)域匹配到路由,則向計(jì)算模塊1004發(fā)送第一指示;如果發(fā)起代理請(qǐng)求的路由器在分支區(qū)域,所述路由匹配模塊在主干區(qū)域匹配到路由,則向計(jì)算模塊1004發(fā)送第二指示;如果發(fā)起代理請(qǐng)求的路由器在主干區(qū)域,所述路由匹配模塊在分支區(qū)域匹配到路由,則向計(jì)算模塊1004發(fā)送第三指示;所述計(jì)算模塊具體用于接收到所述第一指示后,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用所述第二分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到第二分支區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用主干區(qū)域的路由表計(jì)算所述第二分支區(qū)域的出口 ABR到主干區(qū)域出口 ABR 的轉(zhuǎn)發(fā)跳數(shù),使用第一分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將三次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端;接收到所述第二指示后,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用主干區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用該分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端;接收到所述第三示后,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用該分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到該分支區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),根據(jù)主干區(qū)域的路由表計(jì)算所述分支區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端。具體的,計(jì)算模塊1004具體用于,計(jì)算所述根節(jié)點(diǎn)到所在區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù)時(shí)以所述根節(jié)點(diǎn)為起點(diǎn)進(jìn)行SPF計(jì)算,直到該根節(jié)點(diǎn)所在區(qū)域的ABR進(jìn)入SPF樹(shù)后停止SPF計(jì)算;從各ABR中選取出生成特定LSA的ABR,所述特定LSA為與所述目的地址匹配的路由所對(duì)應(yīng)的LSA,將選取出的各ABR產(chǎn)生的3類(lèi)LSA中的Metric分別與該根節(jié)點(diǎn)到各ABR 的路徑的cost相加,取數(shù)值最小的cost所對(duì)應(yīng)的ABR作為所述區(qū)域的出口 ABR ;根據(jù)所述SPF計(jì)算得到的路徑,計(jì)算所述根節(jié)點(diǎn)到所述出口 ABR的轉(zhuǎn)發(fā)跳數(shù);其中,從根節(jié)點(diǎn)以后每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)時(shí)轉(zhuǎn)發(fā)跳數(shù)遞增,直到將所述區(qū)域的出口 ABR作為最后一個(gè)節(jié)點(diǎn)計(jì)算在內(nèi)時(shí)停止轉(zhuǎn)發(fā)跳數(shù)遞增。具體的,計(jì)算模塊1004具體用于,計(jì)算所述第二分支區(qū)域的出口 ABR到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù)時(shí)將所述根節(jié)點(diǎn)所在分支區(qū)域的出口 ABR作為主干區(qū)域的入口 ABR,以該入口 ABR為起點(diǎn)進(jìn)行SPF計(jì)算,直到主干區(qū)域的ABR進(jìn)入SPF樹(shù)后停止SPF計(jì)算;從主干區(qū)域的各ABR 中選取出生成特定LSA的ABR,所述特定LSA為與所述目的地址匹配的路由所對(duì)應(yīng)的LSA, 將選取出的各ABR產(chǎn)生的3類(lèi)LSA中的Metric分別與該根節(jié)點(diǎn)到各ABR的路徑的cost相加,取數(shù)值最小的cost所對(duì)應(yīng)的ABR作為主干區(qū)域的出口 ABR ;根據(jù)所述SPF計(jì)算得到的路徑,計(jì)算得到所述根節(jié)點(diǎn)所在第二分支區(qū)域的出口 ABR到所述主干區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),其中,從所述根節(jié)點(diǎn)所在第二分支區(qū)域的出口 ABR以后每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)時(shí)轉(zhuǎn)發(fā)跳數(shù)遞增,直到所述主干區(qū)域的出口 ABR作為最后一個(gè)節(jié)點(diǎn)計(jì)算在內(nèi)時(shí)停止轉(zhuǎn)發(fā)跳數(shù)遞增。具體的,計(jì)算模塊1004還用于,確定所述根節(jié)點(diǎn)并以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算轉(zhuǎn)發(fā)跳數(shù)的設(shè)備后,對(duì)應(yīng)于計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí),并將所述可信標(biāo)志攜帶于代理響應(yīng)中。具體的,計(jì)算模塊1004具體用于,在根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)時(shí),根據(jù)匹配到的區(qū)域內(nèi)路由查找對(duì)應(yīng)的LSA,查找發(fā)布該LSA的源路由器,根據(jù)該源路由器及其OSPF鄰居確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)。具體的,計(jì)算模塊1004通過(guò)以下方式確定根節(jié)點(diǎn)(1)若匹配到的路由是32位路由,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)占.
^ \\\ (2)若所述目的地址是所述源路由器的一個(gè)接口地址,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);(3)若所述目的地址不是所述源路由器的一個(gè)接口地址,則查找所述源路由器中的特定路由所對(duì)應(yīng)接口的OSPF鄰居,若有OSPF鄰居的接口地址為所述目的地址,則將該鄰居路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);其中,所述特定路由為與所述目的地址對(duì)應(yīng)的路由;(4)若(1)、⑵和(3)的條件都不滿(mǎn)足,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)。進(jìn)一步的,計(jì)算模塊1004還用于,在所述(1)、⑵或(3)的情況下,對(duì)應(yīng)于以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí)的值為可信;在所述(4)的情況下,對(duì)應(yīng)于以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí)的值為不可信。進(jìn)一步的,在有多條轉(zhuǎn)發(fā)路徑的情況下,所述轉(zhuǎn)發(fā)跳數(shù)包括上限和下限;轉(zhuǎn)發(fā)跳數(shù)上限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最大值,轉(zhuǎn)發(fā)跳數(shù)下限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最小值。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。以上所述僅是本發(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.一種LDP遠(yuǎn)程鄰居配置方法,應(yīng)用于多區(qū)域網(wǎng)絡(luò),所述網(wǎng)絡(luò)中設(shè)置有代理服務(wù)器,所述代理服務(wù)器上配置有各區(qū)域的路由表,各區(qū)域中設(shè)置有代理客戶(hù)端設(shè)備;其特征在于,該方法包括路由器接收到對(duì)端發(fā)送的LDP報(bào)文后計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則與對(duì)端建立LDP鄰居;或者,路由器向?qū)Χ税l(fā)送LDP報(bào)文后計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù), 若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則在接收到對(duì)端響應(yīng)的LDP報(bào)文后與對(duì)端建立LDP鄰居; 其中,所述路由器計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù)包括所述路由器以對(duì)端地址作為目的地址進(jìn)行路由匹配,并在匹配到路由后判斷該路由的類(lèi)型;如果是區(qū)域內(nèi)路由,則所述路由器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),計(jì)算所述根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù);如果是區(qū)域間路由,則所述路由器通過(guò)所在區(qū)域的代理客戶(hù)端設(shè)備從代理服務(wù)器獲得計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù);其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的。
2.如權(quán)利要求1所述的方法,其特征在于,所述路由器通過(guò)所在區(qū)域的代理客戶(hù)端設(shè)備從代理服務(wù)器獲得計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù),包括所述路由器向所在區(qū)域的代理客戶(hù)端發(fā)送代理請(qǐng)求,所述代理客戶(hù)端將該代理請(qǐng)求轉(zhuǎn)發(fā)給所述代理服務(wù)器,所述代理請(qǐng)求中攜帶所述目的地址;所述代理服務(wù)器根據(jù)所述代理請(qǐng)求中攜帶的目的地址,并根據(jù)其上配置的各個(gè)區(qū)域的路由表,在各個(gè)區(qū)域查找是否有匹配的區(qū)域內(nèi)路由;如果發(fā)起代理請(qǐng)求的路由器在第一分支區(qū)域,代理服務(wù)器在第二分支區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用所述第二分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到第二分支區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用主干區(qū)域的路由表計(jì)算所述第二分支區(qū)域的出口 ABR到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用第一分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將三次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器;如果發(fā)起代理請(qǐng)求的路由器在分支區(qū)域,代理服務(wù)器在主干區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用主干區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用該分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器;如果發(fā)起代理請(qǐng)求的路由器在主干區(qū)域,代理服務(wù)器在分支區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用該分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到該分支區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),根據(jù)主干區(qū)域的路由表計(jì)算所述分支區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由ο
3.如權(quán)利要求2所述的方法,其特征在于,計(jì)算所述根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù),包括以所述根節(jié)點(diǎn)為起點(diǎn)進(jìn)行SPF計(jì)算,直到所述路由器進(jìn)入到SPF樹(shù)后停止SPF計(jì)算,得到從該根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù);其中,從根節(jié)點(diǎn)以后每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)時(shí)轉(zhuǎn)發(fā)跳數(shù)遞增,直到將所述路由器作為最后一個(gè)節(jié)點(diǎn)計(jì)算在內(nèi)時(shí)停止轉(zhuǎn)發(fā)跳數(shù)遞增。
4.如權(quán)利要求2所述的方法,其特征在于,計(jì)算所述根節(jié)點(diǎn)到所在區(qū)域出口ABR的轉(zhuǎn)發(fā)跳數(shù),包括以所述根節(jié)點(diǎn)為起點(diǎn)進(jìn)行SPF計(jì)算,直到該根節(jié)點(diǎn)所在區(qū)域的ABR進(jìn)入SPF樹(shù)后停止 SPF計(jì)算;從各ABR中選取出生成特定LSA的ABR,所述特定LSA為與所述目的地址匹配的路由所對(duì)應(yīng)的LSA,將選取出的各ABR產(chǎn)生的3類(lèi)LSA中的Metric分別與該根節(jié)點(diǎn)到各ABR的路徑的cost相加,取數(shù)值最小的cost所對(duì)應(yīng)的ABR作為所述區(qū)域的出口 ABR ;根據(jù)所述SPF計(jì)算得到的路徑,計(jì)算所述根節(jié)點(diǎn)到所述出口 ABR的轉(zhuǎn)發(fā)跳數(shù);其中,從根節(jié)點(diǎn)以后每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)時(shí)轉(zhuǎn)發(fā)跳數(shù)遞增,直到將所述區(qū)域的出口 ABR作為最后一個(gè)節(jié)點(diǎn)計(jì)算在內(nèi)時(shí)停止轉(zhuǎn)發(fā)跳數(shù)遞增。
5.如權(quán)利要求2所述的方法,其特征在于,計(jì)算所述第二分支區(qū)域的出口ABR到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),包括將所述第二分支區(qū)域的出口 ABR作為主干區(qū)域的入口 ABR,以該入口 ABR為起點(diǎn)進(jìn)行 SPF計(jì)算,直到主干區(qū)域的ABR進(jìn)入SPF樹(shù)后停止SPF計(jì)算;從主干區(qū)域的各ABR中選取出生成特定LSA的ABR,所述特定LSA為與所述目的地址匹配的路由所對(duì)應(yīng)的LSA,將選取出的各ABR產(chǎn)生的3類(lèi)LSA中的Metric分別與該根節(jié)點(diǎn)到各ABR的路徑的cost相加,取數(shù)值最小的cost所對(duì)應(yīng)的ABR作為主干區(qū)域的出口 ABR;根據(jù)所述SPF計(jì)算得到的路徑,計(jì)算得到所述根節(jié)點(diǎn)所在第二分支區(qū)域的出口 ABR到所述主干區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),其中, 從所述根節(jié)點(diǎn)所在第二分支區(qū)域的出口 ABR以后每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)時(shí)轉(zhuǎn)發(fā)跳數(shù)遞增,直到所述主干區(qū)域的出口 ABR作為最后一個(gè)節(jié)點(diǎn)計(jì)算在內(nèi)時(shí)停止轉(zhuǎn)發(fā)跳數(shù)遞增。
6.如權(quán)利要求2所述的方法,其特征在于,確定所述根節(jié)點(diǎn)并以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算轉(zhuǎn)發(fā)跳數(shù)的設(shè)備,還對(duì)應(yīng)于計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí);在確定所述根節(jié)點(diǎn)并以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算轉(zhuǎn)發(fā)跳數(shù)的設(shè)備為所述路由器的情況下,所述路由器在可信標(biāo)識(shí)表明轉(zhuǎn)發(fā)跳數(shù)可信時(shí),判斷該轉(zhuǎn)發(fā)跳數(shù)是否在指定范圍內(nèi),并在判斷為是時(shí)與對(duì)端建立LDP鄰居;在確定所述根節(jié)點(diǎn)并以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算轉(zhuǎn)發(fā)跳數(shù)的設(shè)備為所述代理服務(wù)器的情況下,所述代理服務(wù)器將所述可信標(biāo)志攜帶于代理響應(yīng)中;所述路由器在接收到的代理響應(yīng)中攜帶的可信標(biāo)識(shí)表明轉(zhuǎn)發(fā)跳數(shù)可信時(shí),判斷該轉(zhuǎn)發(fā)跳數(shù)是否在指定范圍內(nèi),并在判斷為是時(shí)與對(duì)端建立LDP鄰居。
7.如權(quán)利要求1-5之一所述的方法,其特征在于,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),包括根據(jù)匹配到的區(qū)域內(nèi)路由查找對(duì)應(yīng)的LSA,查找發(fā)布該LSA的源路由器,根據(jù)該源路由器及其OSPF鄰居確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)。
8.如權(quán)利要求7所述的方法,其特征在于,所述根據(jù)源路由器及其OSPF鄰居確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),包括以下⑴至⑷之一(1)若匹配到的路由是32位路由,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);(2)若所述目的地址是所述源路由器的一個(gè)接口地址,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);(3)若所述目的地址不是所述源路由器的一個(gè)接口地址,則查找所述源路由器中的特定路由所對(duì)應(yīng)接口的OSPF鄰居,若有OSPF鄰居的接口地址為所述目的地址,則將該鄰居路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);其中,所述特定路由為與所述目的地址對(duì)應(yīng)的路由;(4)若(1)、(2)和(3)的條件都不滿(mǎn)足,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)ο
9.如權(quán)利要求8所述的方法,其特征在于,該方法還包括在所述(1)、(2)或(3)的情況下,對(duì)應(yīng)于以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí)的值為可信;在所述 (4)的情況下,對(duì)應(yīng)于以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí)的值為不可信。
10.如權(quán)利要求1-5之一所述的方法,其特征在于,在有多條轉(zhuǎn)發(fā)路徑的情況下,所述轉(zhuǎn)發(fā)跳數(shù)包括上限和下限;轉(zhuǎn)發(fā)跳數(shù)上限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最大值,轉(zhuǎn)發(fā)跳數(shù)下限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最小值。
11.一種路由器,其特征在于,應(yīng)用于多區(qū)域網(wǎng)絡(luò),所述網(wǎng)絡(luò)中設(shè)置有代理服務(wù)器,所述代理服務(wù)器上配置有各區(qū)域的路由表,各區(qū)域中設(shè)置有代理客戶(hù)端設(shè)備,并分別與所述代理服務(wù)器連接,用于將所述路由器的代理請(qǐng)求轉(zhuǎn)發(fā)給所述代理服務(wù)器,將所述代理服務(wù)器返回的代理響應(yīng)轉(zhuǎn)發(fā)給所述路由器;所述路由器包括收發(fā)模塊、LDP模塊和OSPF模塊,所述OSPF模塊包括控制單元、路由匹配單元、計(jì)算單元;所述LDP模塊,用于在收發(fā)模塊接收到對(duì)端發(fā)送的LDP報(bào)文后,請(qǐng)求OSPF模塊計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則與對(duì)端建立LDP鄰居;或者,在所述收發(fā)模塊向?qū)Χ税l(fā)送LDP報(bào)文后,請(qǐng)求OSPF模塊計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則在接收到對(duì)端響應(yīng)的LDP報(bào)文后與對(duì)端建立LDP鄰居;根據(jù)所述OSPF模塊的代理請(qǐng)求,通過(guò)所在區(qū)域的代理客戶(hù)端設(shè)備從代理服務(wù)器獲得計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù),其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的;所述控制單元,用于根據(jù)接收到的請(qǐng)求,指示所述路由匹配單元進(jìn)行路由匹配,如果匹配到區(qū)域內(nèi)路由,則指示所述計(jì)算單元計(jì)算轉(zhuǎn)發(fā)跳數(shù);如果匹配到區(qū)域間路由,則請(qǐng)求LDP 模塊發(fā)起代理請(qǐng)求;所述路由匹配單元,用于根據(jù)所述控制單元的指示,以對(duì)端地址為目的地址進(jìn)行路由匹配;所述計(jì)算單元,用于根據(jù)所述控制單元的指示,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),計(jì)算所述根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將其發(fā)送給所述LDP模塊。
12.如權(quán)利要求11所述的路由器,其特征在于,所述LDP模塊具體用于,通過(guò)所在區(qū)域的代理客戶(hù)端向所述代理服務(wù)器發(fā)送代理請(qǐng)求,所述代理請(qǐng)求中攜帶所述目的地址,以使所述代理服務(wù)器根據(jù)所述代理請(qǐng)求中攜帶的目的地址,并根據(jù)其上配置的各個(gè)區(qū)域的路由表,在各個(gè)區(qū)域查找是否有匹配的區(qū)域內(nèi)路由;其中,如果發(fā)起代理請(qǐng)求的路由器在第一分支區(qū)域,代理服務(wù)器在第二分支區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用所述第二分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到第二分支區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用主干區(qū)域的路由表計(jì)算所述第二分支區(qū)域的出口 ABR到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用第一分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將三次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器;如果發(fā)起代理請(qǐng)求的路由器在分支區(qū)域,代理服務(wù)器在主干區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用主干區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用該分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由器;如果發(fā)起代理請(qǐng)求的路由器在主干區(qū)域,代理服務(wù)器在分支區(qū)域匹配到路由,則代理服務(wù)器根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用該分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到該分支區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),根據(jù)主干區(qū)域的路由表計(jì)算所述分支區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端,所述代理客戶(hù)端將該響應(yīng)轉(zhuǎn)發(fā)給發(fā)起代理請(qǐng)求的路由ο
13.如權(quán)利要求11或12所述的路由器,其特征在于,所述計(jì)算單元具體用于,在根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)時(shí),根據(jù)匹配到的區(qū)域內(nèi)路由查找對(duì)應(yīng)的LSA,查找發(fā)布該LSA的源路由器,根據(jù)該源路由器及其OSPF鄰居確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)。
14.如權(quán)利要求13所述的路由器,其特征在于,所述計(jì)算單元具體用于(1)若匹配到的路由是32位路由,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);(2)若所述目的地址是所述源路由器的一個(gè)接口地址,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);(3)若所述目的地址不是所述源路由器的一個(gè)接口地址,則查找所述源路由器中的特定路由所對(duì)應(yīng)接口的OSPF鄰居,若有OSPF鄰居的接口地址為所述目的地址,則將該鄰居路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);其中,所述特定路由為與所述目的地址對(duì)應(yīng)的路由;(4)若(1)、(2)和(3)的條件都不滿(mǎn)足,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)ο
15.如權(quán)利要求11或12所述的路由器,其特征在于,在有多條轉(zhuǎn)發(fā)路徑的情況下,所述轉(zhuǎn)發(fā)跳數(shù)包括上限和下限;轉(zhuǎn)發(fā)跳數(shù)上限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最大值,轉(zhuǎn)發(fā)跳數(shù)下限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最小值。
16.一種服務(wù)器,其特征在于,應(yīng)用于多區(qū)域網(wǎng)絡(luò),各區(qū)域中設(shè)置有代理客戶(hù)端設(shè)備,分別與所述服務(wù)器連接,用于將各區(qū)域中的路由器的代理請(qǐng)求轉(zhuǎn)發(fā)給所述服務(wù)器,將所述服務(wù)器返回的代理響應(yīng)轉(zhuǎn)發(fā)給所述路由器,所述代理服務(wù)器上配置有各區(qū)域的路由表;所述服務(wù)器包括收發(fā)模塊、控制模塊、路由匹配模塊,計(jì)算模塊;所述控制模塊,用于在接收到代理客戶(hù)端設(shè)備轉(zhuǎn)發(fā)的攜帶有目的地址的代理請(qǐng)求后, 指示所述路由匹配模塊進(jìn)行路由匹配,其中,所述目的地址為發(fā)起所述代理請(qǐng)求的路由器的對(duì)端設(shè)備的地址;指示所述計(jì)算模塊根據(jù)所述路由匹配模塊匹配到的路由計(jì)算根節(jié)點(diǎn)到發(fā)起所述代理請(qǐng)求的路由器的轉(zhuǎn)發(fā)跳數(shù),并將該轉(zhuǎn)發(fā)跳數(shù)通過(guò)所述收發(fā)模塊發(fā)送給所述代理客戶(hù)端設(shè)備進(jìn)行轉(zhuǎn)發(fā);其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的;所述路由匹配模塊,用于根據(jù)所述控制模塊的指示,根據(jù)所述目的地址,使用各區(qū)域的路由表進(jìn)行路由匹配;所述計(jì)算模塊,用于根據(jù)所述控制模塊的指示,計(jì)算根節(jié)點(diǎn)到發(fā)起所述代理請(qǐng)求的路由器的轉(zhuǎn)發(fā)跳數(shù)。
17.如權(quán)利要求16所述的服務(wù)器,其特征在于,所述控制模塊具體用于如果發(fā)起代理請(qǐng)求的路由器在第一分支區(qū)域,所述路由匹配模塊在第二分支區(qū)域匹配到路由,則向所述計(jì)算模塊發(fā)送第一指示;如果發(fā)起代理請(qǐng)求的路由器在分支區(qū)域,所述路由匹配模塊在主干區(qū)域匹配到路由, 則向所述計(jì)算模塊發(fā)送第二指示;如果發(fā)起代理請(qǐng)求的路由器在主干區(qū)域,所述路由匹配模塊在分支區(qū)域匹配到路由, 則向所述計(jì)算模塊發(fā)送第三指示; 所述計(jì)算模塊具體用于接收到所述第一指示后,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用所述第二分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到第二分支區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用主干區(qū)域的路由表計(jì)算所述第二分支區(qū)域的出口 ABR到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用第一分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將三次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端;接收到所述第二指示后,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用主干區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),使用該分支區(qū)域的路由表計(jì)算所述主干區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端;接收到所述第三示后,根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),以該根節(jié)點(diǎn)為起點(diǎn)、使用該分支區(qū)域的路由表計(jì)算該根節(jié)點(diǎn)到該分支區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù),根據(jù)主干區(qū)域的路由表計(jì)算所述分支區(qū)域出口 ABR到所述路由器的轉(zhuǎn)發(fā)跳數(shù),并將兩次計(jì)算得到的轉(zhuǎn)發(fā)跳數(shù)累加后攜帶于代理響應(yīng)返回給代理客戶(hù)端。
18.如權(quán)利要求17所述的服務(wù)器,其特征在于,所述計(jì)算模塊具體用于,計(jì)算所述根節(jié)點(diǎn)到所在區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù)時(shí)以所述根節(jié)點(diǎn)為起點(diǎn)進(jìn)行SPF計(jì)算,直到該根節(jié)點(diǎn)所在區(qū)域的ABR進(jìn)入SPF樹(shù)后停止 SPF計(jì)算;從各ABR中選取出生成特定LSA的ABR,所述特定LSA為與所述目的地址匹配的路由所對(duì)應(yīng)的LSA,將選取出的各ABR產(chǎn)生的3類(lèi)LSA中的Metric分別與該根節(jié)點(diǎn)到各ABR的路徑的cost相加,取數(shù)值最小的cost所對(duì)應(yīng)的ABR作為所述區(qū)域的出口 ABR ;根據(jù)所述SPF計(jì)算得到的路徑,計(jì)算所述根節(jié)點(diǎn)到所述出口 ABR的轉(zhuǎn)發(fā)跳數(shù);其中,從根節(jié)點(diǎn)以后每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)時(shí)轉(zhuǎn)發(fā)跳數(shù)遞增,直到將所述區(qū)域的出口 ABR作為最后一個(gè)節(jié)點(diǎn)計(jì)算在內(nèi)時(shí)停止轉(zhuǎn)發(fā)跳數(shù)遞增。
19.如權(quán)利要求17所述的服務(wù)器,其特征在于,所述計(jì)算模塊具體用于,計(jì)算所述第二分支區(qū)域的出口 ABR到主干區(qū)域出口 ABR的轉(zhuǎn)發(fā)跳數(shù)時(shí)將所述根節(jié)點(diǎn)所在分支區(qū)域的出口 ABR作為主干區(qū)域的入口 ABR,以該入口 ABR為起點(diǎn)進(jìn)行SPF計(jì)算,直到主干區(qū)域的ABR進(jìn)入SPF樹(shù)后停止SPF計(jì)算;從主干區(qū)域的各ABR中選取出生成特定LSA的ABR,所述特定LSA為與所述目的地址匹配的路由所對(duì)應(yīng)的LSA,將選取出的各ABR產(chǎn)生的3類(lèi)LSA中的Metric分別與該根節(jié)點(diǎn)到各ABR的路徑的cost相加,取數(shù)值最小的cost所對(duì)應(yīng)的ABR作為主干區(qū)域的出口 ABR;根據(jù)所述SPF計(jì)算得到的路徑,計(jì)算得到所述根節(jié)點(diǎn)所在第二分支區(qū)域的出口 ABR到所述主干區(qū)域的出口 ABR的轉(zhuǎn)發(fā)跳數(shù), 其中,從所述根節(jié)點(diǎn)所在第二分支區(qū)域的出口 ABR以后每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)時(shí)轉(zhuǎn)發(fā)跳數(shù)遞增, 直到所述主干區(qū)域的出口 ABR作為最后一個(gè)節(jié)點(diǎn)計(jì)算在內(nèi)時(shí)停止轉(zhuǎn)發(fā)跳數(shù)遞增。
20.如權(quán)利要求17所述的服務(wù)器,其特征在于,所述計(jì)算模塊還用于,確定所述根節(jié)點(diǎn)并以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算轉(zhuǎn)發(fā)跳數(shù)的設(shè)備后,對(duì)應(yīng)于計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí), 并將所述可信標(biāo)志攜帶于代理響應(yīng)中。
21.如權(quán)利要求16-20之一所述的服務(wù)器,其特征在于,所述計(jì)算模塊具體用于,在根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)時(shí),根據(jù)匹配到的區(qū)域內(nèi)路由查找對(duì)應(yīng)的LSA, 查找發(fā)布該LSA的源路由器,根據(jù)該源路由器及其OSPF鄰居確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)。
22.如權(quán)利要求21所述的服務(wù)器,其特征在于,所述計(jì)算模塊具體用于(1)若匹配到的路由是32位路由,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);(2)若所述目的地址是所述源路由器的一個(gè)接口地址,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);(3)若所述目的地址不是所述源路由器的一個(gè)接口地址,則查找所述源路由器中的特定路由所對(duì)應(yīng)接口的OSPF鄰居,若有OSPF鄰居的接口地址為所述目的地址,則將該鄰居路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn);其中,所述特定路由為與所述目的地址對(duì)應(yīng)的路由;(4)若(1)、(2)和(3)的條件都不滿(mǎn)足,則將所述源路由器作為計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn)ο
23.如權(quán)利要求22所述的服務(wù)器,其特征在于,所述計(jì)算模塊還用于,在所述(1)、(2) 或(3)的情況下,對(duì)應(yīng)于以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí)的值為可信;在所述(4)的情況下,對(duì)應(yīng)于以所述根節(jié)點(diǎn)為起點(diǎn)計(jì)算出的轉(zhuǎn)發(fā)跳數(shù)設(shè)置可信標(biāo)識(shí)的值為不可信。
24.如權(quán)利要求16-20之一所述的服務(wù)器,其特征在于,在有多條轉(zhuǎn)發(fā)路徑的情況下, 所述轉(zhuǎn)發(fā)跳數(shù)包括上限和下限;轉(zhuǎn)發(fā)跳數(shù)上限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最大值,轉(zhuǎn)發(fā)跳數(shù)下限為所述多條轉(zhuǎn)發(fā)路徑的轉(zhuǎn)發(fā)跳數(shù)中的最小值。
全文摘要
本發(fā)明公開(kāi)LDP遠(yuǎn)程鄰居配置方法及設(shè)備,應(yīng)用于多區(qū)域網(wǎng)絡(luò),各區(qū)域中設(shè)置有代理設(shè)備;該方法包括路由器接收到對(duì)端的LDP報(bào)文后或向?qū)Χ税l(fā)起LDP報(bào)文時(shí),計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù),若該轉(zhuǎn)發(fā)跳數(shù)在指定范圍內(nèi),則與對(duì)端建立LDP鄰居;其中,所述路由器計(jì)算到對(duì)端的轉(zhuǎn)發(fā)跳數(shù)包括以對(duì)端地址作為目的地址進(jìn)行路由匹配,并在匹配到路由后判斷該路由的類(lèi)型;如果是區(qū)域內(nèi)路由,則根據(jù)所述目的地址確定計(jì)算轉(zhuǎn)發(fā)跳數(shù)的根節(jié)點(diǎn),并計(jì)算所述根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù);如果是區(qū)域間路由,則通過(guò)代理設(shè)備獲得根節(jié)點(diǎn)到所述路由器的轉(zhuǎn)發(fā)跳數(shù);其中,所述根節(jié)點(diǎn)是根據(jù)所述目的地址確定出來(lái)的。采用本發(fā)明可提高配置LDP遠(yuǎn)程鄰居的安全性。
文檔編號(hào)H04L12/56GK102427425SQ20111039462
公開(kāi)日2012年4月25日 申請(qǐng)日期2011年12月2日 優(yōu)先權(quán)日2011年12月2日
發(fā)明者趙昌峰 申請(qǐng)人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1