一種標(biāo)簽分配方法以及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種標(biāo)簽分配方法以及裝置。
【背景技術(shù)】
[0002]標(biāo)簽分配控制方式分為獨(dú)立標(biāo)簽控制方式以及有序標(biāo)簽控制方式。在有序標(biāo)簽控制方式中,LSR(Label Switching Router,標(biāo)簽交換路由器)只有在接收到它的下游LSR為某個(gè)FEC (Forwarding Equivalence Class,轉(zhuǎn)發(fā)等價(jià)類)分配的標(biāo)簽,或該LSR是此FEC的出口節(jié)點(diǎn)時(shí),才會(huì)向它的上游LSR通告此FEC的標(biāo)簽映射。如果標(biāo)簽發(fā)布模式為下游自主方式,則LSR只有收到下游LSR分配的標(biāo)簽后,才會(huì)向自己的上游LSR分配標(biāo)簽;如果標(biāo)簽發(fā)布模式為下游按需方式,則下游LSR收到上游LSR的標(biāo)簽請求后,繼續(xù)向它的下游LSR發(fā)送標(biāo)簽請求,在收到下游LSR分配的標(biāo)簽后,才會(huì)分配標(biāo)簽。然而若本設(shè)備并不是該FEC的出口節(jié)點(diǎn)設(shè)備即終結(jié)設(shè)備,且下游LSR的LDP(Label Distribut1n Protocol,標(biāo)簽分發(fā)協(xié)議)協(xié)議未開啟,則無法收到下游LSR所分配的標(biāo)簽,那么就無法建立多協(xié)議標(biāo)簽交換路徑MPLS LSP 隧道。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明提供了一種標(biāo)簽分配方法以及裝置來解決上述問題。
[0004]本發(fā)明提供一種標(biāo)簽分配方法,應(yīng)用于MPLS設(shè)備,其中包括:
[0005]接收標(biāo)簽分配命令,所述命令攜帶有待引入的指定路由;
[0006]在預(yù)存的路由轉(zhuǎn)發(fā)表中查找到與所述指定路由對(duì)應(yīng)的路由信息后,檢查是否已為所述指定路由分配轉(zhuǎn)發(fā)等價(jià)類FEC ;
[0007]若未為所述指定路由分配FEC,則為所述指定路由分配FEC,并為所述分配的FEC分配標(biāo)簽,根據(jù)所述標(biāo)簽建立本機(jī)標(biāo)簽映射,并向鄰居設(shè)備通告所述本機(jī)標(biāo)簽映射。
[0008]本發(fā)明還提供一種標(biāo)簽分配裝置,應(yīng)用于MPLS設(shè)備,其中包括:
[0009]命令接收單元,用于接收標(biāo)簽分配命令,所述命令攜帶有待引入的指定路由;
[0010]FEC檢查單元,用于在預(yù)存的路由轉(zhuǎn)發(fā)表中查找到與所述指定路由對(duì)應(yīng)的路由信息后,檢查是否已為所述指定路由分配轉(zhuǎn)發(fā)等價(jià)類FEC ;
[0011]標(biāo)簽分配單元,用于在未為所述指定路由分配FEC時(shí),為所述指定路由分配FEC,并為所述分配的FEC分配標(biāo)簽,根據(jù)所述標(biāo)簽建立本機(jī)標(biāo)簽映射,并向鄰居設(shè)備通告所述本機(jī)標(biāo)簽映射。
[0012]本發(fā)明通過為非出口節(jié)點(diǎn)設(shè)備配置標(biāo)簽分配命令,從而使得由非出口節(jié)點(diǎn)設(shè)備為指定路由對(duì)應(yīng)的FEC分配標(biāo)簽。
【附圖說明】
[0013]圖1是本發(fā)明實(shí)施例標(biāo)簽分配裝置所在網(wǎng)絡(luò)設(shè)備的硬件架構(gòu)示意圖;
[0014]圖2是本發(fā)明實(shí)施例標(biāo)簽分配裝置邏輯結(jié)構(gòu)示意圖;
[0015]圖3是本發(fā)明實(shí)施例標(biāo)簽分配方法流程框圖;
[0016]圖4是本發(fā)明實(shí)施例標(biāo)簽分配組網(wǎng)環(huán)境示意圖。
【具體實(shí)施方式】
[0017]針對(duì)現(xiàn)有技術(shù)中所遇到的問題,本發(fā)明提供了一種標(biāo)簽分配方法以及裝置,通過接收攜帶有待引入指定路由的標(biāo)簽分配命令,并且在預(yù)存的路由轉(zhuǎn)發(fā)表中查找到與攜帶的指定路由對(duì)應(yīng)的路由信息時(shí),檢查是否已為所述指定路由分配轉(zhuǎn)發(fā)等價(jià)類FEC,若未為所述指定路由分配FEC,則為所述指定路由分配FEC,并為所述分配的FEC分配標(biāo)簽,根據(jù)所述標(biāo)簽建立本機(jī)標(biāo)簽映射,并向鄰居設(shè)備通告所述本機(jī)標(biāo)簽映射。
[0018]請參考圖1,本發(fā)明提供的標(biāo)簽分配裝置應(yīng)用于MPLS設(shè)備,該MPLS設(shè)備的基本硬件環(huán)境包括CPU、內(nèi)存、非易失性存儲(chǔ)器以及其他硬件。圖2為本發(fā)明提供的標(biāo)簽分配裝置邏輯結(jié)構(gòu)示意圖,以軟件實(shí)現(xiàn)為例,該標(biāo)簽分配裝置在邏輯層面上包括命令接收單元、FEC檢查單元以及標(biāo)簽分配單元。
[0019]請參考圖3,在一個(gè)示例性的實(shí)施方案中,該標(biāo)簽分配裝置在運(yùn)行過程中執(zhí)行如下處理流程:
[0020]步驟301,命令接收單元接收標(biāo)簽分配命令,所述命令攜帶有待引入的指定路由;
[0021]步驟302,F(xiàn)EC檢查單元在預(yù)存的路由轉(zhuǎn)發(fā)表中查找到與所述指定路由對(duì)應(yīng)的路由信息后,檢查是否已為所述指定路由分配轉(zhuǎn)發(fā)等價(jià)類FEC ;
[0022]步驟303,標(biāo)簽分配單元若未為所述指定路由分配FEC,則為所述指定路由分配FEC,并為所述分配的FEC分配標(biāo)簽,根據(jù)所述標(biāo)簽建立本機(jī)標(biāo)簽映射,并向鄰居設(shè)備通告所述本機(jī)標(biāo)簽映射。
[0023]請參考圖4,以流量清洗過程為例,在具體實(shí)現(xiàn)中,假設(shè)流量清洗設(shè)備為AR5,由ARl設(shè)備接入的目的地址為AR4設(shè)備的流量,在發(fā)送至AR2設(shè)備后,被AR2設(shè)備根據(jù)自身路由轉(zhuǎn)發(fā)表牽引至流量清洗設(shè)備AR5上進(jìn)行流量清洗。對(duì)于清洗完成的流量要轉(zhuǎn)發(fā)至其目的地址AR4,然而,當(dāng)流量清洗設(shè)備AR5將該清洗完成的流量返回至AR2設(shè)備時(shí),在未建立MPLSLSP隧道的情況下,AR2設(shè)備仍會(huì)根據(jù)自身路由轉(zhuǎn)發(fā)表查詢該流量的下一跳,這樣一來,該流量就又被牽引至流量清洗設(shè)備AR5上進(jìn)行流量清洗,從而造成環(huán)路。
[0024]對(duì)AR5、AR2以及AR3之間建立MPLS LSP隧道可有效避免環(huán)路的形成。假設(shè)PE4是終結(jié)設(shè)備,即出口節(jié)點(diǎn),在有序的標(biāo)簽分配方式中,若是下游自主方式,則由AR4為指定路由分配標(biāo)簽并通告至上游設(shè)備;或者在下游按需方式中,上游設(shè)備AR5請求下游設(shè)備AR2為指定FEC分配標(biāo)簽,AR2收到請求后同樣會(huì)向下游設(shè)備AR3發(fā)送請求,直至發(fā)送給終結(jié)設(shè)備AR4,最后由AR4為指定FEC分配標(biāo)簽并向上游設(shè)備通告,在AR5接收到下游設(shè)備通告的標(biāo)簽映射后,該AR5、AR2以及AR3之間的MPLS LSP隧道即建立成功。
[0025]然而,在該組網(wǎng)環(huán)境中,若AR4未開啟LDP功能,則不能為FEC分配標(biāo)簽,那么AR3作為AR4的上游設(shè)備,自然無法接收到來自AR4的標(biāo)簽映射,同時(shí)AR3不是終結(jié)設(shè)備,又無法分配標(biāo)簽,這樣,只有通過在AR5設(shè)備上配置靜態(tài)迭代路由才能建立MPLS LSP隧道。但是,由于需配置的靜態(tài)路由一般有很多個(gè),且靜態(tài)配置的方式比較麻煩,一旦配置出錯(cuò)或是少了配置,經(jīng)流量清洗后的流量也無法正?;刈ⅲ堑鸩坏搅髁壳逑吹淖饔?,還容易形成環(huán)路。
[0026]為解決上述問題,在本發(fā)明實(shí)施方式中由管理人員為該開啟LDP協(xié)議的MLPS設(shè)備AR3配置標(biāo)簽分配命令,使得AR3可主動(dòng)分配標(biāo)簽,并向上游通告,以建立MPLS LSP隧道。例如該標(biāo)簽分配命令為標(biāo)簽分配redistribute命令,該命令中可以包括一個(gè)或多個(gè)待引入的路由協(xié)議,以控制將哪些路由協(xié)議對(duì)應(yīng)路由的引入。然而,當(dāng)系統(tǒng)中有大量的路由,而只需引入其中幾條路由時(shí),引入某種或多種路由協(xié)議對(duì)應(yīng)路由到LDP協(xié)議中并為其分配標(biāo)簽,便不能滿足用戶需求,且占用大量標(biāo)簽。為此,本發(fā)明優(yōu)選地實(shí)施方式通過在標(biāo)簽分配命令中配置預(yù)設(shè)控制策略,使用預(yù)設(shè)控制策略來控制將路由協(xié)議指定路由的引入,該預(yù)設(shè)控制策略可以是IP prefix-1 iSt> route-map以及ACL等。假設(shè)待引入的路由協(xié)議為OSPF的10.1.1.0/24網(wǎng)段,那么該控制策略的內(nèi)容則可以包括:0SPF+10.1.1.0/24。
[0027]在MPLS設(shè)備AR3的命令接收單元接收到攜帶有待引入指定路由的標(biāo)簽分配命令后,會(huì)由FEC檢查單元根據(jù)標(biāo)簽分配命令攜帶的指定路由在預(yù)存的路由轉(zhuǎn)發(fā)表中查找是否有與所述指定路由對(duì)應(yīng)的路由信息,如果有,則進(jìn)一步檢查是否已為所述指定路由分配FEC,以判斷是否已有設(shè)備為該指定路由分配過標(biāo)簽。
[0028]該標(biāo)簽分配裝置的FEC檢查單元還包括FEC判斷子單元,用于在檢查到已有設(shè)備為該指定路由分配FEC時(shí),通過判斷為該指定路由分配FEC的設(shè)備是本機(jī)設(shè)備分配的還是通過下游設(shè)備的鄰居標(biāo)簽映射學(xué)習(xí)得到,在該FEC為本機(jī)設(shè)備分配的情況下,該分配的FEC通常是生效的,說明已為該FEC分配過標(biāo)簽,這種情況下則無需為該生效的FEC分配標(biāo)簽;在通過下游設(shè)備的鄰居標(biāo)簽映射學(xué)習(xí)到FEC的情況下,若本機(jī)設(shè)備為路由對(duì)應(yīng)的下一跳設(shè)備,該FEC則為生效地FEC,仍無需再為該FEC分配標(biāo)簽。若為該指定路由分配FEC是通過下游設(shè)備的鄰居標(biāo)簽映射學(xué)習(xí)得到,但是本機(jī)設(shè)備并非是路由對(duì)應(yīng)的下一跳設(shè)備,那么該FEC通常是不生效的,此時(shí)由本MPLS設(shè)備為該指定路由重新分配本地FEC,并為該本地FEC分配標(biāo)簽,建立并保存本機(jī)標(biāo)簽映射,同時(shí)向鄰居設(shè)備通告該本機(jī)標(biāo)簽映射。
[0029]若檢查到未為所述指定路由分配FEC,那么說明是首次為該指定路由分配FECJU為該指定路由分配FEC,并為該FEC分配標(biāo)簽,分配的標(biāo)簽值通常默認(rèn)為implicit-null,但可以通過命令將標(biāo)簽值修改為explicit-null,并根據(jù)所述標(biāo)簽建立本機(jī)標(biāo)簽映射,最后向鄰居設(shè)備通告所述本機(jī)標(biāo)簽映射。
[0030]在實(shí)際應(yīng)用中,如果指定路由中的某條路由為通過多種路由協(xié)議進(jìn)行學(xué)習(xí),那么若直接根據(jù)該條路由對(duì)應(yīng)的所有路由協(xié)議分配標(biāo)簽,很有可能會(huì)造成標(biāo)簽重復(fù)分配的問題。因此,本發(fā)明實(shí)施方式中會(huì)針對(duì)該條通過多種路由協(xié)議學(xué)習(xí)的路由,選取與該條路由對(duì)應(yīng)的多條路由協(xié)議中優(yōu)選地路由協(xié)議,并只為優(yōu)選地路由協(xié)議所對(duì)應(yīng)的該條指定路由分配F