本申請(qǐng)涉及網(wǎng)絡(luò)通信技術(shù),特別涉及多協(xié)議標(biāo)簽交換(MPLS:MultiprotocolLabelSwitching)和邊界網(wǎng)關(guān)協(xié)議(BGP:BorderGatewayProtocol)組網(wǎng)中的路由收斂方法和設(shè)備。
背景技術(shù):應(yīng)用了MPLS和BGP的組網(wǎng),其可擴(kuò)展性好,并能夠方便地支持MPLS服務(wù)質(zhì)量(QoS)和MPLS流量工程(TE:TrafficEngineering),得到越來越多的應(yīng)用。以下為便于描述,將應(yīng)用了MPLS和BGP的組網(wǎng)稱為MPLS和BGP組網(wǎng),簡(jiǎn)稱為BGP/MPLS組網(wǎng)。在BGP/MPLS組網(wǎng)中,BGP作為上層控制層面,控制BGP路由的發(fā)布和撤銷。而MPLS作為下層數(shù)據(jù)轉(zhuǎn)發(fā)平面,利用BGP發(fā)布的BGP路由進(jìn)行報(bào)文的轉(zhuǎn)發(fā)。然而,由于BGP路由采用下一跳方式逐跳轉(zhuǎn)發(fā),只有在感知到已發(fā)布的BGP路由的下一跳失效時(shí)才會(huì)將該已發(fā)布的BGP路由標(biāo)記為失效路由,這樣就會(huì)出現(xiàn)以下問題:當(dāng)BGP/MPLS組網(wǎng)中出現(xiàn)MPLS標(biāo)簽交換路徑(LSP:Label-SwitchPath)轉(zhuǎn)發(fā)無效,比如鏈路不可達(dá)、或者M(jìn)PLS標(biāo)簽發(fā)生錯(cuò)誤等情況時(shí),如果應(yīng)用于該LSP的BGP路由此時(shí)還未失效,就會(huì)使得該BGP路由仍然用于報(bào)文轉(zhuǎn)發(fā),這會(huì)導(dǎo)致報(bào)文轉(zhuǎn)發(fā)不通,甚至導(dǎo)致報(bào)文丟失,不能實(shí)現(xiàn)BGP路由的快速收斂。比如,圖1所示BGP/MPLS組網(wǎng)中,假定服務(wù)提供商網(wǎng)絡(luò)邊緣設(shè)備(PE:ProviderEdge)1上BGP路由的下一跳為PE2的IP地址,該BGP路由應(yīng)用于PE1至PE2之間的LSP,假如PE1至PE2之間的LSP轉(zhuǎn)發(fā)無效,比如PE1至P1的MPLS轉(zhuǎn)發(fā)鏈路故障,則當(dāng)PE1此時(shí)本次存在已發(fā)布的應(yīng)用于PE1至PE2之間LSP的BGP路由,并且,該BGP路由還未被標(biāo)記為失效路由,則PE1是不會(huì)撤銷該BGP路由的,其仍然會(huì)使用該BGP路由進(jìn)行報(bào)文的轉(zhuǎn)發(fā),而由于PE1至PE2之間的LSP轉(zhuǎn)發(fā)無效,這樣,PE1在使用該BGP路由進(jìn)行報(bào)文轉(zhuǎn)發(fā)時(shí)是不會(huì)成功轉(zhuǎn)發(fā)報(bào)文的,即出現(xiàn)了一個(gè)轉(zhuǎn)發(fā)不通的BGP路由長(zhǎng)期被應(yīng)用于報(bào)文的轉(zhuǎn)發(fā),無法實(shí)現(xiàn)BGP路由的快速收斂,影響報(bào)文的轉(zhuǎn)發(fā)。
技術(shù)實(shí)現(xiàn)要素:本申請(qǐng)?zhí)峁┝薓PLS和BGP組網(wǎng)中的路由收斂方法和設(shè)備,以通過BGP和LSP相關(guān)聯(lián),快速實(shí)現(xiàn)BGP路由的快速收斂,提高報(bào)文的轉(zhuǎn)發(fā)性能。本申請(qǐng)?zhí)峁┑募夹g(shù)方案包括:一種多協(xié)議標(biāo)簽交換MPLS和邊界網(wǎng)關(guān)協(xié)議BGP組網(wǎng)中的路由收斂方法,所述方法應(yīng)用于所述MPLS和BGP組網(wǎng)中的服務(wù)提供商網(wǎng)絡(luò)邊緣設(shè)備PE,所述PE使能了BGP路由和標(biāo)簽轉(zhuǎn)發(fā)路徑LSP相關(guān)聯(lián)功能并執(zhí)行以下步驟:定期對(duì)本PE上BGP路由的下一跳所迭代的標(biāo)簽轉(zhuǎn)發(fā)路徑LSP進(jìn)行有效性檢測(cè);檢測(cè)到LSP無效時(shí),將下一跳迭代到該無效LSP的BGP路由標(biāo)記為失效路由,并檢查本PE上是否存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由;在本PE上不存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由時(shí),撤銷所述被標(biāo)記為失效路由的BGP路由;在本PE上存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由時(shí),撤銷所述被標(biāo)記為失效路由的BGP路由,并從所述其他BGP路由中優(yōu)選一個(gè)滿足以下條件的BGP路由替換所述被標(biāo)記為失效路由的BGP路由進(jìn)行報(bào)文轉(zhuǎn)發(fā):下一跳迭代的LSP不同于被標(biāo)記為失效路由的BGP路由的下一跳迭代的LSP。優(yōu)選地,所述定期對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè)包括:定期通過本PE上BGP路由的下一跳所迭代的LSP發(fā)送檢測(cè)報(bào)文;當(dāng)本PE在設(shè)定時(shí)間內(nèi)通過所述LSP接收到針對(duì)所述檢測(cè)報(bào)文的響應(yīng)報(bào)文時(shí),確定所述LSP有效,反之確定所述LSP無效。優(yōu)選地,所述PE在檢測(cè)到本PE上BGP路由的下一跳所迭代的LSP無效之后、且在將下一跳迭代到該無效LSP的BGP路由標(biāo)記為失效路由之前,進(jìn)一步包括:檢測(cè)無效的LSP持續(xù)無效的時(shí)間是否達(dá)到設(shè)定的時(shí)長(zhǎng)、且檢測(cè)所述BGP路由的下一跳是否可達(dá);在所述無效的LSP持續(xù)無效的時(shí)間達(dá)到設(shè)定的時(shí)長(zhǎng)、且所述BGP路由的下一跳可達(dá)時(shí),執(zhí)行所述將下一跳迭代到該無效LSP的BGP路由標(biāo)記為失效路由的操作。優(yōu)選地,BGP路由的下一跳所迭代的LSP通過以下步驟確定:從預(yù)先已建立的轉(zhuǎn)發(fā)等價(jià)類FEC中查找路由前綴為所述BGP路由的下一跳的FEC;所述FEC中至少包括:路由前綴、FEC應(yīng)用的LSP;將查找到的FEC所應(yīng)用的LSP作為所述BGP路由的下一跳所迭代的LSP。優(yōu)選地,當(dāng)所述PE作為所述MPLS和BGP組網(wǎng)中用戶邊緣網(wǎng)絡(luò)設(shè)備CE的眾多歸屬中的其中一個(gè)歸屬時(shí),所述撤銷被標(biāo)記為失效路由的BGP路由進(jìn)一步包括:將本PE撤銷所述被標(biāo)記為失效路由的BGP路由的消息通知給所述CE,以使所述CE根據(jù)所述消息重新調(diào)整路由。一種服務(wù)提供商網(wǎng)絡(luò)邊緣設(shè)備PE,所述PE包括:標(biāo)簽轉(zhuǎn)發(fā)路徑LSP檢測(cè)模塊、轉(zhuǎn)發(fā)模塊、邊界網(wǎng)關(guān)協(xié)議BGP模塊;LSP檢測(cè)模塊,使能了BGP路由和LSP相關(guān)聯(lián)功能,用于定期對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè);轉(zhuǎn)發(fā)模塊,用于在所述LSP檢測(cè)模塊檢測(cè)到LSP無效時(shí),將LSP無效的消息發(fā)送給BGP模塊;BGP模塊,用于接收到所述消息時(shí),將下一跳迭代到該無效LSP的BGP路由標(biāo)記為失效路由,并檢查本PE上是否存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由;在檢查到本PE上不存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由時(shí),撤銷所述被標(biāo)記為失效路由的BGP路由;在檢查到本PE上存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由時(shí),撤銷所述被標(biāo)記為失效路由的BGP路由,并從所述其他BGP路由中優(yōu)選一個(gè)滿足以下條件的BGP路由替換所述被標(biāo)記為失效路由的BGP路由進(jìn)行報(bào)文轉(zhuǎn)發(fā):下一跳迭代的LSP不同于被標(biāo)記為失效路由的BGP路由的下一跳迭代的LSP。優(yōu)選地,所述LSP檢測(cè)模塊定期對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè)包括:定期通過本PE上BGP路由的下一跳所迭代的LSP發(fā)送檢測(cè)報(bào)文;當(dāng)本PE在設(shè)定時(shí)間內(nèi)通過所述LSP接收到針對(duì)所述檢測(cè)報(bào)文的響應(yīng)報(bào)文時(shí),確定所述LSP有效,反之確定所述LSP無效。優(yōu)選地,所述BGP模塊在將下一跳迭代到該無效的LSP的BGP路由標(biāo)記為失效路由之前,進(jìn)一步包括:檢測(cè)無效的LSP持續(xù)無效的時(shí)間是否達(dá)到設(shè)定的時(shí)長(zhǎng)、且檢測(cè)所述BGP路由的下一跳是否可達(dá);在所述無效的LSP持續(xù)無效的時(shí)間達(dá)到設(shè)定的時(shí)長(zhǎng)、且所述BGP路由的下一跳可達(dá)時(shí),執(zhí)行所述將下一跳迭代到該無效LSP的BGP路由標(biāo)記為失效路由的操作。優(yōu)選地,當(dāng)所述PE作為所述MPLS和BGP組網(wǎng)中用戶邊緣網(wǎng)絡(luò)設(shè)備CE的眾多歸屬中的其中一個(gè)歸屬時(shí),所述BGP模塊撤銷被標(biāo)記為失效路由的BGP路由進(jìn)一步包括:將本PE撤銷所述被標(biāo)記為失效路由的BGP路由的消息通知給所述CE,以使所述CE根據(jù)所述消息重新調(diào)整路由。優(yōu)選地,本發(fā)明中,所述LSP檢測(cè)模塊通過以下步驟確定BGP路由的下一跳所迭代的LSP:從預(yù)先已建立的轉(zhuǎn)發(fā)等價(jià)類FEC中查找路由前綴為所述BGP路由的下一跳的FEC;所述FEC中至少包括:路由前綴、FEC應(yīng)用的LSP;將查找到的FEC所應(yīng)用的LSP作為所述BGP路由的下一跳所迭代的LSP。由以上技術(shù)方案可以看出,本發(fā)明能夠在BGP/MPLS組網(wǎng)中,將MPLS轉(zhuǎn)發(fā)層面的LSP與BGP路由控制平面的BGP路由相關(guān)聯(lián),通過對(duì)LSP進(jìn)行有效性檢測(cè),并在檢測(cè)出LSP轉(zhuǎn)發(fā)無效時(shí),如果當(dāng)前存在其他可達(dá)的BGP路由,則及時(shí)切換與轉(zhuǎn)發(fā)無效的LSP相關(guān)聯(lián)的BGP路由,而如果當(dāng)前不存在其他可達(dá)的BGP路由亦可及時(shí)撤銷該與轉(zhuǎn)發(fā)無效的LSP相關(guān)聯(lián)的BGP路由,避免一個(gè)轉(zhuǎn)發(fā)不通的BGP路由長(zhǎng)期被應(yīng)用于報(bào)文的轉(zhuǎn)發(fā),加速BGP路由的快速收斂,提高報(bào)文的轉(zhuǎn)發(fā)性能。附圖說明圖1為BGP/MPLS組網(wǎng)應(yīng)用示意圖;圖2為本發(fā)明實(shí)施例提供的方法流程圖;圖3為本發(fā)明實(shí)施例1的應(yīng)用組網(wǎng)圖;圖4為本發(fā)明實(shí)施例2的應(yīng)用組網(wǎng)圖;圖5為本發(fā)明實(shí)施例3的應(yīng)用組網(wǎng)圖;圖6為本發(fā)明實(shí)施例提供的PE結(jié)構(gòu)圖。具體實(shí)施方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。圖2為本發(fā)明實(shí)施例提供的方法流程圖。其中,該方法應(yīng)用于MPLS和BGP組網(wǎng)(簡(jiǎn)稱BGP/MPLS組網(wǎng))中的PE,比如圖1中的PE1、PE2。如圖2所示,所述PE執(zhí)行以下步驟:步驟201,定期對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè),當(dāng)檢測(cè)到所述LSP無效時(shí),執(zhí)行步驟202。這里,本PE上的BGP路由具體為應(yīng)用于公網(wǎng)隧道比如GRE隧道、LSP隧道等的路由,其一般是從到達(dá)同一目的地的多個(gè)BGP路由中優(yōu)選出來的。目前,PE按照以下原則從到達(dá)同一目的地的多個(gè)BGP路由中優(yōu)選BGP路由:(1),丟棄下一跳(NEXT_HOP)不可達(dá)的路由;(2),優(yōu)選首選值(Preferred-value)最大的路由;(3),優(yōu)選本地優(yōu)先級(jí)(LOCAL_PREF)最高的路由;(4),選聚合路由;(5),優(yōu)選自治系統(tǒng)(AS:AutonomousSystem)路徑(AS_PATH)最短的路由;(6),依次選擇源屬性(ORIGIN)類型為IGP、EGP、Incomplete的路由;(7),優(yōu)選多出口鑒別(MED:Multi-Exit-Discriminator)值最低的路由;(8),依次選擇從外部的BGP(EBGP:ExternalBGP)、聯(lián)盟、內(nèi)部的BGP(IBGP:InternalBGP)學(xué)來的路由;(9),優(yōu)選下一跳花費(fèi)(Cost)值最低的路由;(10),優(yōu)選CLUSTER_LIST長(zhǎng)度最短的路由;(11),優(yōu)選ORIGINATOR_ID最小的路由;(12),優(yōu)選RouterID最小的路由器發(fā)布的路由;(13),優(yōu)選IP地址最小的對(duì)等體發(fā)布的路由。本發(fā)明中,BGP是一個(gè)AS到AS的路由協(xié)議,并不是一個(gè)路由器到路由器的路由協(xié)議。在BGP中,BGP路由的下一跳的意思并不是指下一個(gè)路由器,而是指一個(gè)IP地址。比如,圖1所示MPLS/BGP組網(wǎng)中,PE1產(chǎn)生到達(dá)8.0.0.0網(wǎng)絡(luò)的路由通告給PE2時(shí),下一跳地址就是PE1與PE2連接時(shí)所用的接口IP地址,比如為1.1.1.1/24。基于針對(duì)BGP路由下一跳的描述,則本PE上BGP路由的下一跳所迭代的LSP通過以下步驟確定:步驟1,從預(yù)先已建立的轉(zhuǎn)發(fā)等價(jià)類(FEC:ForwardingEquivalenceClass)中查找路由前綴為所述BGP路由的下一跳的FEC。FEC,是MPLS中的一個(gè)重要概念。MPLS實(shí)質(zhì)是一種分類轉(zhuǎn)發(fā)技術(shù),它將具有相同轉(zhuǎn)發(fā)處理方式比如目的地相同、使用轉(zhuǎn)發(fā)路徑相同或者具有相同服務(wù)等級(jí)等的分組歸為一類,稱為一個(gè)FEC。FEC的劃分方式非常靈活,本發(fā)明中,F(xiàn)EC中包含前綴、服務(wù)等級(jí)、應(yīng)用的LSP等信息,基于此,本步驟1中,就以所述BGP路由的下一跳為關(guān)鍵詞在已劃分的所有FEC中查找前綴為關(guān)鍵詞的FEC。步驟2,將步驟1查找到的FEC所應(yīng)用的LSP作為所述BGP路由的下一跳所迭代的LSP。在MPLS中,對(duì)于每一個(gè)FEC,都會(huì)對(duì)應(yīng)建立一條獨(dú)立的LSP穿過網(wǎng)絡(luò),到達(dá)目的地?;诖?,本步驟2中,可將針對(duì)步驟1查找到的FEC所應(yīng)用的LSP作為所述BGP路由的下一跳所迭代的LSP。至此,通過上述兩個(gè)步驟即可確定出本PE上BGP路由的下一跳所迭代的LSP。在確定出本PE上BGP路由的下一跳所迭代的LSP后,即可定期對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè)。其中,對(duì)LSP有效性檢測(cè)的時(shí)間可由用戶根據(jù)實(shí)際網(wǎng)絡(luò)需求進(jìn)行設(shè)置。作為本發(fā)明的一個(gè)實(shí)施例,本發(fā)明中,PE對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè)可采用MPLSping的方式。MPLSping是一種檢測(cè)MPLSLSP數(shù)據(jù)平面故障的方法,這個(gè)方法簡(jiǎn)單有效,可以發(fā)現(xiàn)一些控制平面無法發(fā)現(xiàn)的故障,為用戶提供了一種在短時(shí)間內(nèi)發(fā)現(xiàn)和隔離路由黑洞或者路由丟失等故障的方法。下面以MPLSping為例描述PE如何定期對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè):以圖1所示組網(wǎng)為例,假如PE1上BGP路由的下一跳所迭代的LSP為PE1與PE2之間的LSP,其中,如圖1所示,該LSP的入標(biāo)簽交換路由器(IngressLSR)為PE1,出標(biāo)簽交換路由器(EngressLSR)為PE2,則PE1定期通過至PE2的LSP發(fā)送檢測(cè)報(bào)文,該檢測(cè)報(bào)文具體為MPLSEchorequest,被封裝在UDP包中。當(dāng)PE2通過至PE1的LSP接收到所述MPLSEchorequest時(shí),其會(huì)返回一個(gè)響應(yīng)報(bào)文。該響應(yīng)報(bào)文具體為MPLSechoreply,被封裝在UDP包中。當(dāng)PE1通過至PE2的LSP收到PE2返回的MPLSechoreply時(shí),其會(huì)認(rèn)為從本PE1至PE2的LSP可以正確的用于數(shù)據(jù)轉(zhuǎn)發(fā),即確定從本PE1至PE2的LSP有效,反之,當(dāng)PE1在一定時(shí)間內(nèi)沒有通過至PE2的LSP收到PE2返回的MPLSechoreply,其會(huì)認(rèn)為從本PE1至PE2的LSP不可以通暢地用于數(shù)據(jù)轉(zhuǎn)發(fā),即本PE1確定從本PE1至PE2的LSP無效。需要說明的是,在本發(fā)明中,當(dāng)PE檢測(cè)到其BGP路由的下一跳所迭代的LSP有效時(shí),可按照現(xiàn)有BGP路由的處理方式執(zhí)行,這里不再贅述。步驟202,將下一跳迭代到該無效的LSP的BGP路由標(biāo)記為失效路由。之后執(zhí)行步驟203。本步驟202是在PE檢測(cè)到其BGP路由的下一跳所迭代的LSP無效時(shí)執(zhí)行。優(yōu)選地,本發(fā)明中,為便于精確控制本發(fā)明的執(zhí)行,可在PE檢測(cè)到BGP路由的下一跳所迭代的LSP無效的基礎(chǔ)上進(jìn)一步細(xì)分步驟203執(zhí)行的前提條件,比如,步驟202是在PE檢測(cè)到BGP路由的下一跳所迭代的LSP無效的時(shí)間持續(xù)設(shè)定的時(shí)長(zhǎng)、且BGP路由的下一跳可達(dá)時(shí)執(zhí)行。這里,BGP路由的下一跳是否可達(dá)依賴于PE本地是否將該BGP路由標(biāo)記為失效路由,如果該BGP路由未被標(biāo)記為失效路由,則意味著該BGP路由的下一跳可達(dá),反之,如果該BGP路由被標(biāo)記為失效路由,則意味著該BGP路由的下一跳不可達(dá)?;谏鲜黾?xì)分的前提條件,則可以得到只有在PE檢測(cè)到BGP路由的下一跳所迭代的LSP無效的時(shí)間持續(xù)設(shè)定的時(shí)長(zhǎng)、且BGP路由的下一跳可達(dá)時(shí)才執(zhí)行步驟202。而當(dāng)BGP路由的下一跳不可達(dá)時(shí),其仍然按照現(xiàn)有BGP路由不可達(dá)時(shí)的處理方式執(zhí)行,不執(zhí)行本步驟202。步驟203,檢查本PE上是否存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由,如果否,執(zhí)行步驟204,如果是,執(zhí)行步驟205。步驟204,撤銷所述被標(biāo)記為失效路由的BGP路由。通過步驟204能夠盡快將失效的BGP路由撤銷,避免失效的BGP路由被用于數(shù)據(jù)轉(zhuǎn)發(fā),減少數(shù)據(jù)錯(cuò)誤發(fā)送,這實(shí)現(xiàn)了失效BGP路由的加速收斂,避免黑洞路由。步驟205,撤銷所述被標(biāo)記為失效路由的BGP路由,并從所述其他BGP路由中優(yōu)選一個(gè)滿足以下條件的BGP路由替換所述被標(biāo)記為失效路由的BGP路由進(jìn)行報(bào)文轉(zhuǎn)發(fā):下一跳迭代的LSP不同于被標(biāo)記為失效路由的BGP路由的下一跳迭代的LSP。通過步驟205能夠及時(shí)切換失效的BGP路由,避免失效的BGP路由被用于數(shù)據(jù)轉(zhuǎn)發(fā),減少數(shù)據(jù)錯(cuò)誤發(fā)送,避免黑洞路由。至此,完成圖2所示流程。需要說明的是,本發(fā)明中,作為一個(gè)實(shí)施例,可以默認(rèn)BGP/MPLS組網(wǎng)中的PE均使能了BGP路由和LSP相關(guān)聯(lián)功能,并執(zhí)行圖2所示的流程。當(dāng)然,作為本發(fā)明的另一個(gè)實(shí)施例,也可在BGP/MPLS組網(wǎng)中的PE執(zhí)行圖2所示的流程之前先觸發(fā)該P(yáng)E使能BGP路由和LSP相關(guān)聯(lián)功能,之后再執(zhí)行圖2所示流程。下面以默認(rèn)BGP/MPLS組網(wǎng)中的PE執(zhí)行圖2所示的流程為例通過三個(gè)實(shí)施例對(duì)圖2所示流程進(jìn)行描述:實(shí)施例1:如圖3所示,MPLS骨干網(wǎng)存在兩條LSP鏈路,一個(gè)為L(zhǎng)SP1,另一個(gè)為L(zhǎng)SP2,在PE1與PE2之間建立了兩對(duì)BGP鄰居。其中,該兩對(duì)BGP鄰居分別對(duì)應(yīng)BGP路由1和BGP路由2,BGP路由1應(yīng)用于LSP1,BGP路由2應(yīng)用于LSP2。正常情況下,PE1通過優(yōu)選應(yīng)用于LSP1的BGP路由1與PE2通信,即PE1通過LSP1向PE2轉(zhuǎn)發(fā)數(shù)據(jù)流。然而,當(dāng)PE1按照步驟201的方式檢測(cè)到LSP1無效時(shí),假如此時(shí)PE1還未通過BGP檢測(cè)出BGP路由1的下一跳不可達(dá),這里,BGP路由1在未標(biāo)記為失效路由時(shí),表示BGP路由1的下一跳可達(dá),反之,表示不可達(dá)。則基于上述步驟202,PE1先將BGP路由1標(biāo)記為失效路由,同時(shí),基于上述步驟203,PE1檢查本PE1上是否存在與BGP路由1具有相同前綴的其他BGP路由。假如PE1檢查出本PE1上還存在與BGP路由1具有相同前綴的BGP路由2,且該BGP路由2的下一跳迭代至LSP2,不同于BGP路由1的下一跳迭代的LSP1,則PE1撤銷BGP路由1,同時(shí),PE1優(yōu)選BGP路由2向PE2轉(zhuǎn)發(fā)數(shù)據(jù)流。之后,PE1就通過LSP2向PE2發(fā)送數(shù)據(jù)流,這能夠及時(shí)切換失效的BGP路由,避免失效的BGP路由被用于數(shù)據(jù)轉(zhuǎn)發(fā),減少數(shù)據(jù)錯(cuò)誤發(fā)送,避免黑洞路由。至此,完成實(shí)施例1的描述。實(shí)施例2:如圖4所示,CE1存在雙歸屬,即,CE1同時(shí)與PE1、PE3連接,并且,PE1、PE3均與遠(yuǎn)端的PE2建立了BGP鄰居。其中,PE1與PE2之間的BGP鄰居對(duì)應(yīng)BGP路由1,應(yīng)用于LSP1,PE3與PE2之間的BGP鄰居對(duì)應(yīng)BGP路由2,應(yīng)用于LSP2。正常情況下,CE1向CE2轉(zhuǎn)發(fā)的數(shù)據(jù)流會(huì)優(yōu)選通過PE3上應(yīng)用于LSP2的BGP路由2轉(zhuǎn)發(fā),然而當(dāng)PE3按照上述步驟201檢測(cè)出LSP2無效即轉(zhuǎn)發(fā)不通時(shí),假如此時(shí)PE3還未通過BGP檢測(cè)出BGP路由2的下一跳不可達(dá),這里,BGP路由2在未標(biāo)記為失效路由時(shí),表示BGP路由2的下一跳可達(dá),反之,表示不可達(dá)。則基于上述步驟202,PE3就將BGP路由2標(biāo)記為失效路由,同時(shí),基于上述步驟203,PE3檢查本PE3上是否存在與BGP路由2具有相同前綴的其他BGP路由,結(jié)果發(fā)現(xiàn)本PE3上不存在與BGP路由2具有相同前綴的其他BGP路由,則PE3撤銷BGP路由2,并且,為保證CE1與CE2之間的數(shù)據(jù)流轉(zhuǎn)發(fā),PE3會(huì)將本PE3撤銷BGP路由2的消息通知給CE1。假如圖4所示的LSP2轉(zhuǎn)發(fā)正常,則當(dāng)CE1收到消息后,CE1再向CE2轉(zhuǎn)發(fā)的數(shù)據(jù)流就會(huì)優(yōu)選通過PE1上應(yīng)用于LSP1的BGP路由1轉(zhuǎn)發(fā)。這能夠及時(shí)切換失效的BGP路由,避免失效的BGP路由被用于數(shù)據(jù)轉(zhuǎn)發(fā),減少數(shù)據(jù)錯(cuò)誤發(fā)送,避免黑洞路由。至此,完成實(shí)施例2的描述。實(shí)施例3:假設(shè)如圖5所示,PE1與PE2之間建立了兩種類型的鄰居關(guān)系,一種為IPv6BGP4+鄰居,另一種為6PE鄰居。則針對(duì)CE1到CE2的數(shù)據(jù)流,在正常情況下,PE1會(huì)優(yōu)選6PE鄰居的路由轉(zhuǎn)發(fā)該向CE2轉(zhuǎn)發(fā)的數(shù)據(jù)流。其中,6PE鄰居的路由是其走M(jìn)PLS轉(zhuǎn)發(fā),該路由屬于BGP路由,記為BGP路由1,迭代至PE1與PE2之間的LSP。當(dāng)PE1與PE2之間的LSP無效即轉(zhuǎn)發(fā)不通時(shí),按照現(xiàn)有技術(shù),迭代至該LSP的BGP路由1即變?yōu)橐粋€(gè)無效的黑洞路由,然而,如果實(shí)施本發(fā)明,當(dāng)檢測(cè)到PE1與PE2之間的LSP無效即轉(zhuǎn)發(fā)不通時(shí),基于步驟202,PE1就將迭代至該LSP的BGP路由1標(biāo)記為失效路由,同時(shí),基于上述步驟203,PE1檢查本PE1上是否存在與該BGP路由1具有相同前綴的其他BGP路由,結(jié)果發(fā)現(xiàn)本PE1上不存在與該BGP路由1具有相同前綴的其他BGP路由,則PE1及時(shí)撤銷該BGP路由1。而此時(shí)PE1與PE2還存在一個(gè)普通的IPv6BGP4+鄰居(該IPv6BGP4+鄰居可以通過人工干預(yù)),PE1與PE2還存在其他協(xié)議的路由原理類似,則PE1此時(shí)優(yōu)選BGP4+鄰居的ipv6路由該向CE2轉(zhuǎn)發(fā)的數(shù)據(jù)流。這能夠及時(shí)切換失效的BGP路由,避免失效的BGP路由被用于數(shù)據(jù)轉(zhuǎn)發(fā),減少數(shù)據(jù)錯(cuò)誤發(fā)送,避免黑洞路由。至此,完成實(shí)施例3的描述。由以上技術(shù)方案可以看出,本發(fā)明能夠在BGP/MPLS組網(wǎng)中,將MPLS轉(zhuǎn)發(fā)層面的LSP與BGP路由控制平面的BGP路由相關(guān)聯(lián),通過對(duì)LSP進(jìn)行有效性檢測(cè),并在檢測(cè)出LSP轉(zhuǎn)發(fā)無效時(shí),如果當(dāng)前存在其他可達(dá)的BGP路由,則及時(shí)切換與轉(zhuǎn)發(fā)無效的LSP相關(guān)聯(lián)的BGP路由,而如果當(dāng)前不存在其他可達(dá)的BGP路由亦可及時(shí)撤銷該與轉(zhuǎn)發(fā)無效的LSP相關(guān)聯(lián)的BGP路由,避免一個(gè)轉(zhuǎn)發(fā)不通的BGP路由長(zhǎng)期被應(yīng)用于報(bào)文的轉(zhuǎn)發(fā),加速BGP路由的快速收斂,提高報(bào)文的轉(zhuǎn)發(fā)性能。以上對(duì)本發(fā)明提供的方法進(jìn)行了描述,下面對(duì)本發(fā)明提供的PE進(jìn)行描述:參見圖6,圖6為本發(fā)明實(shí)施例提供的PE的結(jié)構(gòu)圖。如圖6所示,所述PE包括:LSP檢測(cè)模塊、轉(zhuǎn)發(fā)模塊、BGP模塊;其中,LSP檢測(cè)模塊,使能了BGP路由和LSP相關(guān)聯(lián)功能,用于定期對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè);轉(zhuǎn)發(fā)模塊,用于在所述LSP檢測(cè)模塊檢測(cè)到LSP無效時(shí),將LSP無效的消息發(fā)送給BGP模塊;BGP模塊,用于接收到所述消息時(shí),將下一跳迭代到該無效LSP的BGP路由標(biāo)記為失效路由,并檢查本PE上是否存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由;在檢查到本PE上不存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由時(shí),撤銷所述被標(biāo)記為失效路由的BGP路由;在檢查到本PE上存在與被標(biāo)記為失效路由的BGP路由具有相同前綴的其他BGP路由時(shí),撤銷所述被標(biāo)記為失效路由的BGP路由,并從所述其他BGP路由中優(yōu)選一個(gè)滿足以下條件的BGP路由替換所述被標(biāo)記為失效路由的BGP路由進(jìn)行報(bào)文轉(zhuǎn)發(fā):下一跳迭代的LSP不同于被標(biāo)記為失效路由的BGP路由的下一跳迭代的LSP。優(yōu)選地,所述LSP檢測(cè)模塊定期對(duì)本PE上BGP路由的下一跳所迭代的LSP進(jìn)行有效性檢測(cè)包括:定期通過本PE上BGP路由的下一跳所迭代的LSP發(fā)送檢測(cè)報(bào)文;當(dāng)本PE在設(shè)定時(shí)間內(nèi)通過所述LSP接收到針對(duì)所述檢測(cè)報(bào)文的響應(yīng)報(bào)文時(shí),確定所述LSP有效,反之確定所述LSP無效。優(yōu)選地,所述BGP模塊在將下一跳迭代到該無效的LSP的BGP路由標(biāo)記為失效路由之前,進(jìn)一步包括:檢測(cè)無效的LSP持續(xù)無效的時(shí)間是否達(dá)到設(shè)定的時(shí)長(zhǎng)、且檢測(cè)所述BGP路由的下一跳是否可達(dá);在所述無效的LSP持續(xù)無效的時(shí)間達(dá)到設(shè)定的時(shí)長(zhǎng)、且所述BGP路由的下一跳可達(dá)時(shí),執(zhí)行所述將下一跳迭代到該無效LSP的BGP路由標(biāo)記為失效路由的操作。優(yōu)選地,當(dāng)所述PE作為所述MPLS和BGP組網(wǎng)中用戶邊緣網(wǎng)絡(luò)設(shè)備CE的眾多歸屬中的其中一個(gè)歸屬時(shí),所述BGP模塊撤銷被標(biāo)記為失效路由的BGP路由進(jìn)一步包括:將本PE撤銷所述被標(biāo)記為失效路由的BGP路由的消息通知給所述CE,以使所述CE根據(jù)所述消息重新調(diào)整路由。本發(fā)明中,LSP檢測(cè)模塊通過以下步驟確定BGP路由的下一跳所迭代的LSP:從預(yù)先已建立的FEC中查找路由前綴為所述BGP路由的下一跳的FEC;所述FEC中至少包括:路由前綴、FEC應(yīng)用的LSP;將查找到的FEC所應(yīng)用的LSP作為所述BGP路由的下一跳所迭代的LSP。至此,完成圖6所示的PE描述。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。