專利名稱::標(biāo)簽交換計(jì)算機(jī)網(wǎng)絡(luò)中的欺騙檢查的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明的原理涉及計(jì)算機(jī)網(wǎng)絡(luò),并且更具體地,涉及防止在計(jì)算機(jī)網(wǎng)絡(luò)中的攻擊行為。
背景技術(shù):
:計(jì)算機(jī)網(wǎng)絡(luò)匯集了多個(gè)相互連接的計(jì)算設(shè)備,它們交換數(shù)據(jù)并共享資源。在基于分組的網(wǎng)絡(luò)中(例如因特網(wǎng)),計(jì)算設(shè)備通過將數(shù)據(jù)分成被稱作分組的小塊來交換數(shù)據(jù)。這些分組各自經(jīng)過網(wǎng)絡(luò)從源設(shè)備路由到目標(biāo)設(shè)備。目標(biāo)設(shè)備從這些分組中提取數(shù)據(jù)并把這些數(shù)據(jù)組組裝為其原始格式。將數(shù)據(jù)分割為分組使得源設(shè)備可以僅重新發(fā)送在傳輸期間那些可能丟失的個(gè)別的分組。基于分組的計(jì)算機(jī)網(wǎng)絡(luò)越來越多地使用標(biāo)簽交換協(xié)議,該協(xié)議用于業(yè)務(wù)工程及其他目的。在標(biāo)簽交換網(wǎng)絡(luò)中,標(biāo)簽交換路由器(LabelSwitchingRouters,縮寫為LSR)使用多協(xié)議標(biāo)簽交換(Multi-ProtocolLabelSwitching,縮寫為MPLS)信令協(xié)議來建立標(biāo)簽交換路徑(LabelSwitchedPath,縮寫為LSP)。所述LSR利用MPLS協(xié)議從下游LSR中接收MPLS標(biāo)簽映象,然后將MPLS標(biāo)簽映象播發(fā)(advertise)給上游LSR。當(dāng)LSR從上游路由器中接收MPLS分組的時(shí)候,其根據(jù)在其轉(zhuǎn)發(fā)表中的信息來交換MPLS標(biāo)簽,然后傳送所述分組到適當(dāng)?shù)南掠蜭SR。傳統(tǒng)的LSR通常假設(shè)所連接的任何給定的上游LSR都是“可信任的”,以僅使用實(shí)際已被播發(fā)給該上游LSR的標(biāo)簽發(fā)送MPLS分組。然而,這引起潛在的安全脆弱性問題,這是由于LSR可能從源而不是從已被播發(fā)標(biāo)簽映象的上游LSR中接收MPLS分組。換句話說,根據(jù)一個(gè)或多個(gè)LSP的相應(yīng)的標(biāo)簽映象,通過輸出MPLS分組,惡意源可以“欺騙(spoof)”上游LSR。如果下游LSR接收該欺騙的MPLS分組以及標(biāo)簽,交換所述分組并且傳送這些分組到下游LSR的話,則出現(xiàn)了安全漏洞。即使并未上行發(fā)送該LSP信號(hào)給所述源,該惡意源也已經(jīng)成功地(或者可能非故意地)將MPLS分組插入到了LSP中。檢測(cè)和避免MPLS欺騙會(huì)是一項(xiàng)困難的任務(wù),用于基于分組系統(tǒng)的常規(guī)檢測(cè)方案可能不適用。例如,通常應(yīng)用于基于分組網(wǎng)絡(luò)中的常規(guī)方法僅僅是檢驗(yàn)所接收的分組的源地址。但是,在MPLS上下文中通常沒有與分組相關(guān)的源地址。因此,某些LSR試圖通過檢驗(yàn)為MPLS而啟動(dòng)的接口上所接收的分組來防止MPLS欺騙。如果對(duì)于特定的接口未啟動(dòng)MPLS,LSR就丟棄該分組。然而,在MPLS啟動(dòng)接口上接收欺騙的MPLS業(yè)務(wù)時(shí),該方法將避免不了安全漏洞,對(duì)于不同服務(wù)提供商之間的接口,或MPLS是在服務(wù)提供商和客戶間的接口上啟動(dòng)而言,這將很容易發(fā)生。
發(fā)明內(nèi)容簡而言之,本發(fā)明的原理旨在維護(hù)網(wǎng)絡(luò)安全的技術(shù),且更具體來說,旨在檢測(cè)和防范MPLS欺騙。這些技術(shù)允許以某種方式擴(kuò)展與信令協(xié)議相關(guān)的軟件模塊,該方式允許標(biāo)簽交換路由器(LSR)檢驗(yàn)多協(xié)議標(biāo)簽交換(MPLS)分組是否從合法的、MPLS標(biāo)簽實(shí)際上已被播發(fā)的上游LSR所接收到的。所述技術(shù)可被應(yīng)用到任何信令協(xié)議中,例如具有業(yè)務(wù)工程的資源預(yù)留協(xié)議(ResourceReservationSetupProtocolwithTrafficEngineering,縮寫為RSVP-TE),標(biāo)簽分發(fā)協(xié)議(LDP),或者邊界網(wǎng)關(guān)協(xié)議(BGP)。在一個(gè)實(shí)施例中,一種方法,包括播發(fā)用于標(biāo)簽交換路徑的標(biāo)簽(LSP),其中該標(biāo)簽與接口相關(guān);接收具有該標(biāo)簽的分組;以及校驗(yàn)分組是在該接口上接收到的。在另一個(gè)實(shí)施例中,一種路由設(shè)備,包括路由引擎和播發(fā)用于LSP標(biāo)簽的接口卡,其中,標(biāo)簽與接口相關(guān)。該接口卡還接收具有標(biāo)簽的分組并校驗(yàn)分組是在該接口上接收的接口。在另一個(gè)實(shí)施例中,一種計(jì)算機(jī)可讀介質(zhì),包括指令,其用于促使可編程處理器播發(fā)LSP標(biāo)簽,其中標(biāo)簽與接口相關(guān),接收具有該標(biāo)簽的分組,并且校驗(yàn)分組是在該接口上接收到的。圖1是示出根據(jù)本發(fā)明原理的一個(gè)系統(tǒng)實(shí)例的方框圖,其中,標(biāo)簽交換路由器(LSR)對(duì)輸入的多協(xié)議標(biāo)簽交換(MPLS)分組進(jìn)行欺騙檢查。圖2是示出根據(jù)本發(fā)明原理的對(duì)輸入的MPLS分組進(jìn)行欺騙檢查的路由器的典型實(shí)施例的方框圖。圖3是示出根據(jù)本發(fā)明原理的轉(zhuǎn)發(fā)表實(shí)例的方框圖,該轉(zhuǎn)發(fā)表已被擴(kuò)展以結(jié)合附加的欺騙檢查域。圖4是示出用于虛擬路由器的示例性的遠(yuǎn)程自治系統(tǒng)表的方框圖。圖5是示出與虛擬路由器和遠(yuǎn)程自治系統(tǒng)相關(guān)的接口表實(shí)例的方框圖。圖6是示出具有欺騙檢查域的另一個(gè)轉(zhuǎn)發(fā)表實(shí)例的方框圖。圖7是示出圖2中路由器的操作實(shí)例的流程圖。具體實(shí)施例方式圖1是示出根據(jù)本發(fā)明原理的一個(gè)系統(tǒng)10實(shí)例的方框圖,其中,標(biāo)簽交換路由器(LSR)對(duì)輸入的多協(xié)議標(biāo)簽交換(MPLS)分組15A和15B進(jìn)行欺騙檢查。在圖1的例子中,LSR12A、12B、和12C通過MPLS協(xié)議進(jìn)行通信,以發(fā)送標(biāo)簽交換路徑(LSP)17信號(hào)。一旦建立,LSP17就將MPLS業(yè)務(wù)從作為源LSR的LSR12A攜帶到作為LSP17葉節(jié)點(diǎn)的LSR12C。換句話說,MPLS業(yè)務(wù)通過圖1的LSP17從左向右流動(dòng)。在建立從LSR12A到LSR12C的LSP的進(jìn)程期間,LSR12C發(fā)送消息14B,播發(fā)第一MPLS標(biāo)簽(例如標(biāo)簽“900”)到其上游路由器LSR12B。LSR12B在接口16B上接收該標(biāo)簽播報(bào),并且分配相應(yīng)的第二MPLS標(biāo)簽,例如標(biāo)簽“300”。LSR12B在接口16A發(fā)送消息14A,向LSR12A播發(fā)標(biāo)簽300。如下所述,一個(gè)或者多個(gè)LSR12可以利用與信令協(xié)議相關(guān)的軟件模塊,該軟件模塊已被擴(kuò)展以實(shí)現(xiàn)本文描述的MPLS分組欺騙檢查技術(shù)。此外,根據(jù)本發(fā)明的原理,LSR12可基于每個(gè)LSP來指定執(zhí)行欺騙檢查的類型,由此提供精確級(jí)別(fine-graillevel)的安全性。例如,LSR12可利用與信令協(xié)議相關(guān)的軟件模塊來對(duì)每個(gè)LSP指定是應(yīng)該為特定的LSP執(zhí)行欺騙檢查、還是虛擬路由器欺騙檢查、還是遠(yuǎn)程自治系統(tǒng)(AS)欺騙檢查。作為一個(gè)實(shí)例,假設(shè)LSR12利用擴(kuò)展的軟件模塊要求對(duì)LSP17的接口欺騙檢查。當(dāng)LSR12B接收標(biāo)有MPLS標(biāo)簽的MPLS分組時(shí),LSR12B在具有附加的欺騙檢查域的MPLS轉(zhuǎn)發(fā)表中查找所述標(biāo)簽,以確定接收該MPLS分組的接口是否就是接收具有期望的標(biāo)簽的MPLS分組的接口。這樣,當(dāng)LSR12B在接口16A接收具有標(biāo)簽300的MPLS分組12A時(shí),LSR12B確定接口16A是否就是該最初播發(fā)標(biāo)簽300的特定接口。在圖1的例子中,LSR12B確定通過接口16A播發(fā)標(biāo)簽300。因此,LSR12B接收MPLS分組、用第一MPLS標(biāo)簽900替換所述標(biāo)簽300,并將得到的MPLS分組15C傳送給LSR12C。然而,攻擊者LSR18可能試圖通過在接口16C上將具有標(biāo)簽300的MPLS分組15B發(fā)送給LSR12B,而將MPLS插入到所述LSP中,企圖將LSR12B標(biāo)簽交換至900并將MPLS分組傳送到LSR12C上。在此情形中,LSR12B沒有在接口16C上將標(biāo)簽300播發(fā)給攻擊者LSR18。一旦在接口16C上收到MPLS分組15B,LSR12B就確定沒有在接口16C播發(fā)標(biāo)簽300。LSR12B丟棄MPLS分組15B且不將其傳送至LSR12C。在一個(gè)實(shí)施例中,將丟棄的分組計(jì)數(shù)、做日志記錄、或收集,以便于進(jìn)一步分析。由此,LSR12B通過在轉(zhuǎn)發(fā)入站的MPLS分組以前對(duì)其進(jìn)行欺騙檢查,以驗(yàn)證它們是在播發(fā)它們的標(biāo)簽的接口上接收到的,從而防止網(wǎng)絡(luò)攻擊。雖然上面是參照一個(gè)點(diǎn)對(duì)點(diǎn)的LSP進(jìn)行了說明,但本發(fā)明的原理可以很容易地應(yīng)用于點(diǎn)對(duì)多點(diǎn)的(P2MP)LSP。此外,這些技術(shù)可以應(yīng)用于源發(fā)起的(source-initiated)或者葉發(fā)起的(leaf-initiated)LSP。圖2是示出根據(jù)本發(fā)明原理的對(duì)輸入的MPLS分組進(jìn)行欺騙檢查的路由器20的典型實(shí)施例的方框圖。在圖2的典型實(shí)施例中,路由器20包括接口卡22A-22N(統(tǒng)稱IFC22),其分別通過網(wǎng)絡(luò)鏈路24A-24N以及26A-26N接收和發(fā)送分組流。路由器20可包括機(jī)箱(未示出),其具有許多用于容納一組包括IFC22的卡的插槽。每塊卡都可插入到機(jī)箱的相應(yīng)插槽中,以將卡通過高速交換模塊(switch)30和內(nèi)部數(shù)據(jù)路徑32A-32N(統(tǒng)稱為內(nèi)部數(shù)據(jù)路徑32)電連接(couple)至路由引擎28。交換模塊30還在每個(gè)IFC22之間提供互連路徑。交換模塊30可以包括,例如,交換結(jié)構(gòu)(switchfabric)、交換裝置(switchgear)、可配置的網(wǎng)絡(luò)交換機(jī)或集線器、或者其它高速交換裝置。內(nèi)部數(shù)據(jù)路徑32可包括任意形式的通信路徑,例如在集成電路中的電路徑、外部數(shù)據(jù)總線、光鏈路、網(wǎng)絡(luò)連接、無線連接、或其它通信路徑。通過多個(gè)物理接口(未示出),IFC22可以連接到網(wǎng)絡(luò)鏈路24A-24N和26A-26N。通常,路由引擎28用作路由器20的控制單元,并維護(hù)反映網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的路由信息34。路由器20可為客戶提供虛擬私人網(wǎng)絡(luò)(VPN)服務(wù)。在多VPN的環(huán)境中,可將路由信息34組織成邏輯上分離的路由信息數(shù)據(jù)結(jié)構(gòu)。路由器20可用以下形式維護(hù)路由信息34一個(gè)或多個(gè)表、數(shù)據(jù)庫、鏈接表、分叉樹、平面文件、或者任何其他的數(shù)據(jù)結(jié)構(gòu)?;诼酚尚畔?4,路由引擎28生成IFC22的轉(zhuǎn)發(fā)信息40A-40N(轉(zhuǎn)發(fā)信息40)。在多VPN的環(huán)境中,轉(zhuǎn)發(fā)信息40可類似地組織成邏輯上分離的路由信息數(shù)據(jù)結(jié)構(gòu)。每個(gè)IFC22都包括轉(zhuǎn)發(fā)部件(未示出),用于根據(jù)轉(zhuǎn)發(fā)信息40以及由路由引擎28生成的MPLS轉(zhuǎn)發(fā)表42A-42N(MPLS轉(zhuǎn)發(fā)表42)來轉(zhuǎn)發(fā)分組。具體來說,IFC22轉(zhuǎn)發(fā)部件基于轉(zhuǎn)發(fā)信息40來確定對(duì)每個(gè)入站分組的下一跳,確定關(guān)于該下一跳的相應(yīng)IFC,并通過交換模塊30和數(shù)據(jù)路徑32,將這些分組中繼到合適的IFC。雖然未單獨(dú)示出,但轉(zhuǎn)發(fā)信息40可以包括“全局”轉(zhuǎn)發(fā)信息(例如,與公共網(wǎng)相關(guān)的轉(zhuǎn)發(fā)信息)以及與路由器20所提供的任何VPN相關(guān)的VPN路由和轉(zhuǎn)發(fā)表(VPNRoutingandForwardingtable,縮寫為VRF)。在所提供的VPN服務(wù)中,路由器20可以對(duì)每個(gè)VPN維護(hù)邏輯上隔離的轉(zhuǎn)發(fā)表。例如,路由器20可為每個(gè)VPN維護(hù)一張VRF表。路由引擎28為至少一個(gè)在路由引擎28中執(zhí)行的信令協(xié)議36提供操作環(huán)境。信令協(xié)議36可以是一個(gè)協(xié)議,例如,諸如資源預(yù)留協(xié)議(ResourceReservationProtocol,縮寫為RSVP)的協(xié)議、標(biāo)簽分發(fā)協(xié)議(LabelDistributionProtocol,縮寫為LDP)、或者邊界網(wǎng)關(guān)協(xié)議(BorderGatewayProtocol,縮寫為BGP)??梢詳U(kuò)展與信令協(xié)議36相關(guān)的軟件模塊以實(shí)現(xiàn)本文描述的MPLS分組欺騙檢查技術(shù)。例如,與信令協(xié)議36相關(guān)的軟件模塊可確定執(zhí)行的欺騙檢查類型,以用于與各自標(biāo)簽相關(guān)的各個(gè)LSP,由此提供精確級(jí)別的安全性。在一個(gè)實(shí)施例中,對(duì)于單個(gè)LSP而言,與信令協(xié)議36相關(guān)的軟件模塊可指定三種不同類型的MPLS欺騙檢查(1)接口欺騙檢查,(2)虛擬路由器欺騙檢查,或者(3)遠(yuǎn)程自治系統(tǒng)(AS)欺騙檢查。為方便這三種類型的MPLS欺騙檢查,路由器20維護(hù)遠(yuǎn)程自治系統(tǒng)表38(“遠(yuǎn)程AS表38”)、MPLS轉(zhuǎn)發(fā)表42A-42N以及MPLS接口表44A-44N。通常,遠(yuǎn)程AS表38將編號(hào)與關(guān)于路由器20的遠(yuǎn)程自治系統(tǒng)關(guān)聯(lián)起來,以高效利用MPLS轉(zhuǎn)發(fā)表42欺騙檢查域中的位。在IFC22中維護(hù)MPLS轉(zhuǎn)發(fā)表42和MPLS接口表44A-44N(MPLS接口表44),以用于對(duì)輸入的MPLS分組進(jìn)行欺騙檢查。MPLS轉(zhuǎn)發(fā)表42把與輸入的MPLS分組相關(guān)的標(biāo)簽與下一跳關(guān)聯(lián)起來。根據(jù)本發(fā)明的原理,將MPLS轉(zhuǎn)發(fā)表42擴(kuò)展,使其包括附加的欺騙檢查域,以存儲(chǔ)每個(gè)轉(zhuǎn)發(fā)項(xiàng)的欺騙檢查信息。MPLS接口表44把接口編號(hào)與虛擬路由器或VRF或邏輯路由器或獨(dú)立的路由表、以及遠(yuǎn)程AS編號(hào)關(guān)聯(lián)起來。在下文中更詳細(xì)地討論這些表。在一個(gè)實(shí)施例中,路由引擎28可維護(hù)MPLS轉(zhuǎn)發(fā)表42和MPLS接口表44的原版拷貝,并可以分發(fā)這些表的拷貝給每個(gè)IFC22。路由引擎28可對(duì)MPLS轉(zhuǎn)發(fā)表42和MPLS接口表44增加、去除、或修改項(xiàng)目,并且可分發(fā)更新過的拷貝給IFC22。在另一實(shí)施例中,路由引擎28可分析在MPLS轉(zhuǎn)發(fā)表42和MPLS接口表44中的信息,并基于與每個(gè)IFC22都相關(guān)的接口,僅僅發(fā)送每個(gè)IFC22都需要的轉(zhuǎn)發(fā)信息。當(dāng)路由器20經(jīng)由鏈路24A在IFC22A中接收輸入的MPLS分組時(shí),IFC22A使用MPLS轉(zhuǎn)發(fā)表42A和MPLS接口表44A對(duì)分組進(jìn)行指定類型的MPLS欺騙檢查。例如,路由器20可確定分組是否是在最初播發(fā)該標(biāo)簽的接口上被接收。若是,路由器20則根據(jù)相應(yīng)的一個(gè)MPLS轉(zhuǎn)發(fā)表42來傳送分組。然而,如果接收該分組接口并不是最初用來播發(fā)標(biāo)簽的接口的話,則路由器20可以丟棄該分組??梢詫?duì)丟棄的分組計(jì)數(shù)、做日志記錄、或收集,用于進(jìn)一步分析。圖2中示出的路由器20的實(shí)施例示出了典型的用途。可選地,路由器20可以包括具備路由引擎和轉(zhuǎn)發(fā)引擎的集中控制單元。在此實(shí)施例中,轉(zhuǎn)發(fā)功能性沒有分配給IFC22,而是集中在傳送引擎中。此外,本發(fā)明的原理可以在三層交換機(jī)(layerthreeswitch)或者其它設(shè)備之中實(shí)現(xiàn)。但是,為方便圖示,本發(fā)明的原理在路由器20的前后關(guān)系中示出。通常,上述過程,包括所述MPLS分組的欺騙檢查,可作為從一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中取出的可執(zhí)行指令來實(shí)現(xiàn)。這種介質(zhì)的實(shí)例包括隨機(jī)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、非易失性隨機(jī)存儲(chǔ)器(NVRAM),電可擦可編程只讀存儲(chǔ)器(EEPROM)、閃存等等。此外,可通過一個(gè)或多個(gè)處理器、分立的硬件電路、固件、在可編程處理器上執(zhí)行的軟件、或以上的任意組合來執(zhí)行計(jì)算機(jī)可讀介質(zhì)的指令來實(shí)現(xiàn)上述過程的功能。圖3示出了MPLS轉(zhuǎn)發(fā)表42實(shí)例的方框圖,如圖所示,擴(kuò)展了MPLS轉(zhuǎn)發(fā)表42,使其每個(gè)轉(zhuǎn)發(fā)項(xiàng)包括附加的欺騙檢查域。路由器(例如圖1中的LSR12B)在對(duì)輸入的MPLS分組進(jìn)行欺騙檢查時(shí)使用MPLS轉(zhuǎn)發(fā)表42。內(nèi)標(biāo)簽(in-label)域52包括一組MPLS網(wǎng)絡(luò)中可能已經(jīng)播發(fā)給LSP的上游LSR的虛擬路由器的標(biāo)簽。下一跳(next-hop)域54包含一組與其標(biāo)簽相對(duì)應(yīng)的分組的目標(biāo)路由器。當(dāng)路由器12B接收MPLS分組時(shí),路由器12B就在MPLS轉(zhuǎn)發(fā)表42中查找該分組的標(biāo)簽,以確定此分組轉(zhuǎn)發(fā)只何處。MPLS轉(zhuǎn)發(fā)表42中增加了欺騙檢查(spoof-check)域56,以檢查從上游LSR接收的MPLS分組是否包含最初播發(fā)給在接收該分組的接口上的LSR的MPLS標(biāo)簽。例如,對(duì)于每個(gè)輸入的標(biāo)簽來說,欺騙檢查域56包括允許標(biāo)簽到達(dá)其上的接口組,即,播發(fā)該標(biāo)簽的接口組。當(dāng)接收到標(biāo)上標(biāo)簽300的分組時(shí),LSR12B在MPLS轉(zhuǎn)發(fā)表42中查找標(biāo)簽300,確定標(biāo)簽300僅能在接口16A上被接收。如以上參照?qǐng)D1的說明,如果標(biāo)有標(biāo)簽300的分組改為到達(dá)接口16C的話,則LSR12B可以丟棄該分組。作為另一實(shí)例,當(dāng)接收標(biāo)上標(biāo)簽500的分組時(shí),LSR12B在MPLS轉(zhuǎn)發(fā)表42中查找標(biāo)簽500,確定標(biāo)簽500可以在接口16B或16H上被接收。可使用諸如內(nèi)容可尋址存儲(chǔ)器(CAM)的硬件來檢查每個(gè)輸入的MPLS分組的欺騙檢查域56中的接口組。在MPLS接口為多路訪問接口(例如,以太網(wǎng))的情況下,欺騙檢查域56還可以包括被播發(fā)標(biāo)簽的上游LSR第二層(L2)地址(如以太網(wǎng)介質(zhì)訪問控制(MediaAccessControl,縮寫為MAC)地址)。在此方式中,圖3示出了一個(gè)實(shí)施例,其中MPLS轉(zhuǎn)發(fā)表42的欺騙檢查域56包括整套可允許的接口。但是,在大系統(tǒng)中,接口的數(shù)量可能是相當(dāng)大的,欺騙檢查域56中包含的數(shù)據(jù)量也可能是相當(dāng)大的。圖4是示出路由器例如圖2的路由器20的遠(yuǎn)程AS表38實(shí)例的框圖。遠(yuǎn)程AS表38將編號(hào)與每個(gè)遠(yuǎn)程AS關(guān)聯(lián),其中,路由器20可由這些遠(yuǎn)程AS接收MPLS分組。例如,編號(hào)域60包括編號(hào)0-N。遠(yuǎn)程AS域62包括遠(yuǎn)程自治系統(tǒng)的號(hào)碼、名稱或其它標(biāo)識(shí)符。在圖4的實(shí)例中,路由器20從僅僅三個(gè)遠(yuǎn)程自治系統(tǒng)中接收MPLS分組。因此,沒有使用編號(hào)3-N。隨著網(wǎng)絡(luò)變化,路由引擎28可以更新遠(yuǎn)程AS表38,以添加增添的遠(yuǎn)程自治系統(tǒng)。在一個(gè)實(shí)施例中,可以使用編號(hào)“0”指示有路由器20駐留其中的自治系統(tǒng)??蓪㈥P(guān)于遠(yuǎn)程自治系統(tǒng)的編號(hào)(“遠(yuǎn)程AS編號(hào)”)用在MPLS轉(zhuǎn)發(fā)表42和MPLS接口表44中,從而以更高效的方式指示遠(yuǎn)程自治系統(tǒng)。例如,在一些實(shí)施例中,遠(yuǎn)程AS編號(hào)可有助于高效地使用MPLS轉(zhuǎn)發(fā)表42欺騙檢查域中的位。圖5是示出路由器例如圖2的路由器20的MPLS接口表44實(shí)例的框圖。MPLS接口表44將接口與虛擬路由器和遠(yuǎn)程自治系統(tǒng)關(guān)聯(lián)。編號(hào)域68包括編號(hào)0-N,其與諸如圖1中的接口16的接口相關(guān)聯(lián)。虛擬路由器域70包括號(hào)碼、名稱、或虛擬路由器的其它標(biāo)識(shí)符,指示相應(yīng)接口為其一部分的虛擬路由器。例如,根據(jù)圖5,接口0和1為虛擬路由器0的一部分,而接口2、3、4和N為虛擬路由器1的一部分。遠(yuǎn)程AS編號(hào)域72包括遠(yuǎn)程AS編號(hào),指示遠(yuǎn)程AS,其中,來自于該遠(yuǎn)程AS的MPLS業(yè)務(wù)被期望在相應(yīng)接口上。如果為到另一個(gè)服務(wù)提供商的外部BGP(EBGP)會(huì)話,其中,通過該會(huì)話交換路由和標(biāo)簽,則可以將特定接口與該EBGP會(huì)話關(guān)聯(lián)。因此,MPLS接口表44和遠(yuǎn)程AS表38可以一起用來確定接口,其中,來自于特定的遠(yuǎn)程AS的MPLS業(yè)務(wù)被期望在該接口上。在圖5的例子中,來自遠(yuǎn)程AS1000的MPLS業(yè)務(wù)被期望在接口0、1和2上,來自遠(yuǎn)程AS2000的MPLS業(yè)務(wù)被期望在接口3上,來自遠(yuǎn)程AS3000的MPLS業(yè)務(wù)被期望在接口4和N上。在一個(gè)實(shí)施例中,遠(yuǎn)程AS編號(hào)域72中的遠(yuǎn)程AS編號(hào)“0”可以指示該接口通往與路由器20相同的自治系統(tǒng)之中的路由器。這可能意味著或是BGP不在該接口上啟動(dòng),或是該會(huì)話為內(nèi)部BGP(IBGP)會(huì)話。圖6是示出具有附加欺騙檢查域的MPLS轉(zhuǎn)發(fā)表75的另一個(gè)實(shí)施例的框圖。類似于圖3的MPLS轉(zhuǎn)發(fā)表,內(nèi)標(biāo)簽域76包括一組標(biāo)簽,其中,在MPLS網(wǎng)絡(luò)中的虛擬路由器可已經(jīng)播發(fā)給LSP的上游LSR。下一跳域78包括一組與其標(biāo)簽相對(duì)應(yīng)的分組的目標(biāo)路由器。圖6中的MPLS轉(zhuǎn)發(fā)表75不同于圖3中的MPLS轉(zhuǎn)發(fā)表42,因?yàn)?,在圖6中,MPLS轉(zhuǎn)發(fā)表75的欺騙檢查域不包括整套接口,其中,路由器12B可從這些接口接收分組。相反地,MPLS轉(zhuǎn)發(fā)表的欺騙檢查域80針對(duì)欺騙檢查進(jìn)程的空間和時(shí)間效率進(jìn)行了結(jié)構(gòu)化。在圖6的實(shí)例中,欺騙檢查域80有32位。在另外的實(shí)施例中,欺騙檢查域80可包括其他數(shù)量的位。如圖6所示,欺騙檢查域80的頭兩位表示針對(duì)相應(yīng)標(biāo)簽所要求的欺騙檢查類型。在此實(shí)施例中,可以指定欺騙檢查的三種類型中的任意一種。例如,欺騙檢查類型可以是設(shè)計(jì)用于資源預(yù)留協(xié)議(RSVP)的接口欺騙檢查、設(shè)計(jì)用于標(biāo)簽分發(fā)協(xié)議(LDP)的虛擬路由器欺騙檢查、或者是設(shè)計(jì)用于邊界網(wǎng)關(guān)協(xié)議(BGP)的遠(yuǎn)程AS欺騙檢查。在一個(gè)實(shí)施例中,由頭兩位為“00”指明接口欺騙檢查類型。在接口欺騙檢查中,欺騙檢查域中余下的30位確定內(nèi)標(biāo)簽欄76中的相應(yīng)標(biāo)簽必須的接口。在此實(shí)施例中,如果接口為多路訪問(multi-access)(例如,以太網(wǎng)),僅僅該接口進(jìn)行欺騙檢查,而不是L2地址(例如,MAC地址)。在圖6的實(shí)例中,標(biāo)簽300和400對(duì)應(yīng)于接口類型欺騙檢查,這是由于相應(yīng)欺騙檢查域項(xiàng)中的頭兩位為“00”。根據(jù)欺騙檢查欄80中的欺騙檢查信息,標(biāo)簽300必須到達(dá)接口4上,標(biāo)簽400必須到達(dá)接口5上。在另一個(gè)實(shí)施例中,由頭兩位為“11”來表示第二類型的接口欺騙檢查。在第二類型的接口欺騙檢查中,欺騙檢查域中余下的30位可以確定兩個(gè)內(nèi)標(biāo)簽欄76中的相應(yīng)標(biāo)簽可以到達(dá)的接口。這可以用于檢查例如,何處存在將傳送MPLS業(yè)務(wù)的第一接口,以及何處存在可以將MPLS業(yè)務(wù)快速路由到自己的第二接口。在此實(shí)施例中,前15位可以確定第一接口,余下的15位可以確定第二接口。在圖6的實(shí)例中,標(biāo)簽N對(duì)應(yīng)于第二類型的接口欺騙檢查,這是由于相應(yīng)欺騙檢查項(xiàng)的頭兩位為“11”。根據(jù)欺騙檢查欄80中的欺騙檢查信息,標(biāo)簽N可到達(dá)接口0或接口5。欺騙檢查域80中的頭兩位為“01”表示虛擬路由器欺騙檢查類型。在虛擬路由器欺騙檢查中,欺騙檢查域中余下的30位確定包含了內(nèi)標(biāo)簽欄76中的相應(yīng)標(biāo)簽可以到達(dá)的接口的虛擬路由器。在圖6的實(shí)例中,標(biāo)簽500對(duì)應(yīng)于虛擬路由器類型的欺騙檢查,這是由于相應(yīng)的欺騙檢查域項(xiàng)的頭兩位為“01”。根據(jù)欺騙檢查欄80中的欺騙檢查信息,標(biāo)簽500必須到達(dá)虛擬路由器0中的接口。重新參照?qǐng)D5的MPLS接口表44,其示出了接口0和1在虛擬路由器0之中。因此,標(biāo)簽500既可以到達(dá)接口0上又可以到達(dá)接口1上??梢杂善垓_檢查域80中的頭兩位為“10”表示遠(yuǎn)程AS欺騙檢查類型。在遠(yuǎn)程AS欺騙檢查中,欺騙檢查域中余下的30位確定包含有標(biāo)簽內(nèi)欄76中的相應(yīng)標(biāo)簽必須到達(dá)的接口的遠(yuǎn)程自治系統(tǒng)組。特別地,每一位從右到左映像到圖4的遠(yuǎn)程AS表38的遠(yuǎn)程AS編號(hào)之一。如果將該位設(shè)為“1”,則指示了相應(yīng)的遠(yuǎn)程AS編號(hào)。在圖6的實(shí)例中,標(biāo)簽600和700對(duì)應(yīng)于遠(yuǎn)程AS欺騙檢查類型,這是由于相應(yīng)欺騙檢查域項(xiàng)的頭兩位為“10”。根據(jù)欺騙檢查欄80中的欺騙檢查信息,標(biāo)簽600必須到達(dá)與具有編號(hào)1的遠(yuǎn)程AS相關(guān)的接口。根據(jù)MPLS接口表44,接口3與遠(yuǎn)程AS編號(hào)1相關(guān)。因此,標(biāo)簽600必須到達(dá)接口3上。根據(jù)欺騙檢查欄80中的欺騙檢查信息,標(biāo)簽700可以到達(dá)或是與遠(yuǎn)程AS編號(hào)0相關(guān)的接口或是與遠(yuǎn)程AS編號(hào)2相關(guān)的接口。根據(jù)MPLS接口表44,接口0、1和2與遠(yuǎn)程AS編號(hào)0相關(guān),接口4和5與遠(yuǎn)程AS編號(hào)2相關(guān)。因此,標(biāo)簽700可以到達(dá)接口0、1、2、4、和5上。圖7是示出根據(jù)本發(fā)明原理來進(jìn)行MPLS欺騙檢查的網(wǎng)絡(luò)設(shè)備的典型操作的流程圖。該網(wǎng)絡(luò)設(shè)備可以基本類似于圖2中所示出的路由器20。最初,路由器20在接口I(82)上接收具有內(nèi)標(biāo)簽L的MPLS分組。如圖2所示,路由器20在MPLS接口表(84)中查找接口I。如果路由器20在MPLS接口表中沒找到接口I,則路由器20丟棄該分組(86),這是由于此就指明了MPLS在接口I上沒有啟動(dòng)。在一個(gè)實(shí)施例中,可以對(duì)丟棄的分組計(jì)數(shù)、做日志記錄、或進(jìn)行收集,用于進(jìn)一步分析。如圖2所示,如果路由器20在該MPLS接口表中確實(shí)找到了接口I,則路由器20就在MPLS轉(zhuǎn)發(fā)表(88)中查找標(biāo)簽L。如果路由器20在所述MPLS轉(zhuǎn)發(fā)表中沒找到標(biāo)簽L,則路由器20丟棄該分組(86),這是由于其表明路由器20沒有播發(fā)標(biāo)簽L。路由器20在對(duì)應(yīng)于標(biāo)簽L的MPLS轉(zhuǎn)發(fā)表項(xiàng)中檢查欺騙檢查域80(圖6),以確定所需的欺騙檢查類型。在圖6的實(shí)施例中,欺騙檢查域中的頭兩位表示欺騙檢查的類型。如果欺騙檢查域表示欺騙檢查類型為接口欺騙檢查(90)(在一個(gè)實(shí)施例中由“00”所表示),則路由器20從欺騙檢查域80中提取期望的MPLS接口I′。路由器20將分組到達(dá)的實(shí)際接口I與期望的接口I′(92)相比較。如果實(shí)際接口I與期望的接口I′相同,則路由器20根據(jù)在用于此內(nèi)標(biāo)簽(94)的MPLS轉(zhuǎn)發(fā)表項(xiàng)中的下一跳來轉(zhuǎn)發(fā)該MPLS分組。如果實(shí)際接口不同于期望的接口,則路由器20丟棄該分組(86),這是由于該分組是從一個(gè)路由器20并沒有對(duì)其播發(fā)該標(biāo)簽的LSR所接收到的。在另一實(shí)施例中,由“11”所表示的欺騙檢查域可以表示第二類型的接口欺騙檢查。可以使用第二類型的接口欺騙檢查例如,何處存在傳送MPLS業(yè)務(wù)的第一接口,以及何處存在可以將MPLS業(yè)務(wù)快速路由到自己的第二接口。在第二類型的接口欺騙檢查中,路由器20可從接口欺騙檢查域中提取兩個(gè)期望的接口,其中標(biāo)簽可以到達(dá)該接口上。在此情形,路由器20將分組到達(dá)的實(shí)際接口I與這兩個(gè)期望接口(92)相比較。如果實(shí)際接口與任何一個(gè)期望接口相同,則路由器20根據(jù)此內(nèi)標(biāo)簽域(94)的MPLS轉(zhuǎn)發(fā)表項(xiàng)中的下一跳來轉(zhuǎn)發(fā)MPLS分組。如果實(shí)際接口不同于任意一個(gè)期望的接口,則路由器20丟棄該分組(86),這是由于所述分組是從一個(gè)路由器20并沒有對(duì)其播發(fā)該標(biāo)簽的LSR所接收到的。如果在一個(gè)實(shí)施例中,通過“01”所表示的欺騙檢查域表示欺騙檢查類型為虛擬路由器欺騙檢查(“VR欺騙檢查類型”96)的話,則路由器20從欺騙檢查域中提取期望的虛擬路由器R′。路由器20將對(duì)應(yīng)于標(biāo)簽所實(shí)際到達(dá)的接口的實(shí)際虛擬路由器V與期望的虛擬路由器R′(32)相比較。如果實(shí)際虛擬路由器V與期望的虛擬路由器R′相同,則路由器20根據(jù)此內(nèi)標(biāo)簽域(94)的MPLS轉(zhuǎn)發(fā)表項(xiàng)中的下一跳來轉(zhuǎn)發(fā)MPLS分組。如果實(shí)際虛擬路由器不同于期望的虛擬路由器,則路由器20丟棄該分組(86),這是由于所述分組是從一個(gè)路由器20并沒有對(duì)其播發(fā)該標(biāo)簽的LSR所接收到的。如果在一個(gè)實(shí)施例中由“10”所表示的欺騙檢查域表示欺騙檢查類型為遠(yuǎn)程AS欺騙檢查(100),則路由器20從欺騙檢查域中提取允許的遠(yuǎn)程AS編號(hào)組A′。路由器20將對(duì)應(yīng)于標(biāo)簽實(shí)際到達(dá)過的接口的實(shí)際遠(yuǎn)程AS編號(hào)A與允許的多個(gè)遠(yuǎn)程AS編號(hào)(102)相比較。如果實(shí)際遠(yuǎn)程AS編號(hào)在允許的遠(yuǎn)程AS編號(hào)組之中,則路由器20根據(jù)此內(nèi)標(biāo)簽域(104)的MPLS轉(zhuǎn)發(fā)表項(xiàng)中的下一跳來轉(zhuǎn)發(fā)MPLS分組。如果實(shí)際遠(yuǎn)程AS編號(hào)不在允許的遠(yuǎn)程AS編號(hào)組之中,則路由器20丟棄分組(86),這是由于所述分組是從一個(gè)路由器20并沒有對(duì)其播發(fā)該標(biāo)簽的LSR所接收到的。以上說明了本發(fā)明的各種實(shí)施例。這些及其他的實(shí)施例均包括在所附的權(quán)利要求書的范圍內(nèi)。權(quán)利要求1.一種方法,包括以下步驟輸出用于播發(fā)網(wǎng)絡(luò)中標(biāo)簽交換路徑的標(biāo)簽的消息,其中,在第一網(wǎng)絡(luò)裝置的接口上輸出所述消息;在播發(fā)所述標(biāo)簽之后,從沿所述標(biāo)簽交換路徑位于所述第一網(wǎng)絡(luò)裝置上游的第二網(wǎng)絡(luò)裝置接收分組,其中,所述分組包括所播發(fā)的標(biāo)簽;以及校驗(yàn)所述分組是否是在輸出所述消息以及播發(fā)所述標(biāo)簽的所述接口上接收到的。2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟維護(hù)所述標(biāo)簽所針對(duì)播發(fā)的接口組;以及確定接收到所述分組的接口是否包括在所述接口組中。3.根據(jù)權(quán)利要求2所述的方法,其中,所述接口為多路訪問接口,所述方法進(jìn)一步包括以下步驟維護(hù)被播發(fā)標(biāo)簽的標(biāo)簽交換路由器的第二層地址組;以及確定標(biāo)簽交換路由器的第二層地址是否包括在所述第二層地址組中,其中,從所述標(biāo)簽交換路由器收到所述分組。4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟維護(hù)將編號(hào)與遠(yuǎn)程自治系統(tǒng)相關(guān)聯(lián)起來的遠(yuǎn)程自治系統(tǒng)表;維護(hù)將標(biāo)簽與欺騙檢查類型以及欺騙檢查信息關(guān)聯(lián)起來的轉(zhuǎn)發(fā)表;以及維護(hù)將接口編號(hào)與虛擬路由器以及遠(yuǎn)程自治系統(tǒng)編號(hào)關(guān)聯(lián)起來的接口表。5.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括以下步驟將收到所述分組的接口與期望接口相比較,其中,所述期望接口由所述欺騙檢查信息所指定;當(dāng)所述接口不同于所述期望接口時(shí),丟棄所述分組;以及當(dāng)所述接口與所述期望接口相同時(shí),轉(zhuǎn)發(fā)所述分組。6.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括以下步驟將與收到所述分組的接口相關(guān)聯(lián)的虛擬路由器與期望虛擬路由器相比較,其中,所述期望虛擬路由器由所述欺騙檢查信息所指定;當(dāng)所述虛擬路由器不同于所述期望虛擬路由器時(shí),丟棄所述分組;以及當(dāng)所述虛擬路由器與所述期望虛擬路由器相同時(shí),轉(zhuǎn)發(fā)所述分組。7.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括以下步驟將與接收所述分組的接口相關(guān)的遠(yuǎn)程自治系統(tǒng)編號(hào)與期望遠(yuǎn)程自治系統(tǒng)編號(hào)組相比較,其中,所述期望遠(yuǎn)程自治系統(tǒng)編號(hào)組由所述欺騙檢查信息所指定;當(dāng)所述遠(yuǎn)程自治系統(tǒng)編號(hào)不在所述期望遠(yuǎn)程自治系統(tǒng)編號(hào)組中時(shí),丟棄所述分組;以及當(dāng)所述遠(yuǎn)程自治系統(tǒng)編號(hào)在所述期望遠(yuǎn)程自治系統(tǒng)編號(hào)組中時(shí),轉(zhuǎn)發(fā)所述分組。8.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟確定欺騙檢查的類型。9.根據(jù)權(quán)利要求1所述的方法,其中,所述分組為多協(xié)議標(biāo)簽交換分組。10.一種路由裝置,包括路由引擎;以及接口卡,其使用接口播發(fā)標(biāo)簽交換路徑的標(biāo)簽,其中,一旦接收到具有所述標(biāo)簽的分組,則所述接口卡校驗(yàn)所述分組是否是在最初用來播發(fā)所述標(biāo)簽的所述接口上接收到的。11.根據(jù)權(quán)利要求10所述的路由裝置,進(jìn)一步包括轉(zhuǎn)發(fā)表,所述轉(zhuǎn)發(fā)表維護(hù)所述標(biāo)簽所針對(duì)播發(fā)的接口組,以及,所述接口卡確定接收所述分組的所述接口是否包括在所述接口組中。12.根據(jù)權(quán)利要求10所述的路由裝置,進(jìn)一步包括遠(yuǎn)程自治系統(tǒng)表,其將編號(hào)與遠(yuǎn)程自治系統(tǒng)關(guān)聯(lián)起來;轉(zhuǎn)發(fā)表,其將標(biāo)簽與欺騙檢查類型以及欺騙檢查信息關(guān)聯(lián)起來;以及接口表,其將接口編號(hào)與虛擬路由器以及遠(yuǎn)程自治系統(tǒng)編號(hào)關(guān)聯(lián)起來。13.根據(jù)權(quán)利要求12所述的路由裝置,其中,當(dāng)接收所述分組的接口不同于期望接口時(shí),所述接口卡丟棄所述分組。14.根據(jù)權(quán)利要求12所述的路由裝置,其中,當(dāng)與接收所述分組的接口相關(guān)的虛擬路由器不同于期望虛擬路由器時(shí),所述接口卡丟棄所述分組。15.根據(jù)權(quán)利要求12所述的路由裝置,其中,當(dāng)與接收所述分組的接口相關(guān)的遠(yuǎn)程自治系統(tǒng)編號(hào)不在由所述欺騙檢查信息所指定的期望遠(yuǎn)程自治系統(tǒng)編號(hào)組中時(shí),所述接口卡丟棄所述分組。16.根據(jù)權(quán)利要求10所述的路由裝置,進(jìn)一步包括與信令協(xié)議相關(guān)的軟件模塊,其被擴(kuò)展以維護(hù)用于校驗(yàn)的所述欺騙檢查信息。17.根據(jù)權(quán)利要求16所述的路由裝置,其中,所述信令協(xié)議包括資源預(yù)留協(xié)議、標(biāo)簽分發(fā)協(xié)議、以及邊界網(wǎng)關(guān)協(xié)議中的一種。18.根據(jù)權(quán)利要求12所述的路由裝置,其中,所述轉(zhuǎn)發(fā)表和所述接口表駐留在所述接口卡中,并且,所述遠(yuǎn)程自治系統(tǒng)表駐留在所述路由引擎中。19.一種計(jì)算機(jī)可讀介質(zhì),包括用于使網(wǎng)絡(luò)裝置執(zhí)行以下步驟的指令播發(fā)標(biāo)簽交換路徑的標(biāo)簽;將所述標(biāo)簽與網(wǎng)絡(luò)裝置的接口相關(guān)聯(lián);接收具有所述標(biāo)簽的分組;以及校驗(yàn)在所述接口上接收的所述分組是否與所述標(biāo)簽相關(guān)。20.根據(jù)權(quán)利要求19的所述的計(jì)算機(jī)可讀介質(zhì),其中,所述指令進(jìn)一步使所述網(wǎng)絡(luò)裝置執(zhí)行以下步驟維護(hù)標(biāo)簽交換路由器的第二層地址組,其中,所述標(biāo)簽被播發(fā)至所述標(biāo)簽交換路由器;以及確定標(biāo)簽交換路由器的第二層地址是否包括在所述第二層地址組中,其中,從所述標(biāo)簽交換路由器接收到所述分組。全文摘要本文描述了標(biāo)簽交換路由器(LSR),其對(duì)多協(xié)議標(biāo)簽交換(MPLS)分組進(jìn)行欺騙檢查,以在標(biāo)簽交換路徑(LSP)中防止MPLS分組的惡意的或非故意的插入。所述LSR確保從上游標(biāo)簽交換路由器(LSR)接收的MPLS分組包括播發(fā)到上游LSR的標(biāo)簽。與諸如資源預(yù)訂協(xié)議(RSVP)、標(biāo)簽分發(fā)協(xié)議(LDP)、以及邊界網(wǎng)關(guān)協(xié)議(BGP)的信令協(xié)議相關(guān)的軟件模塊,被擴(kuò)展來應(yīng)用MPLS轉(zhuǎn)發(fā)表、MPLS接口表、以及遠(yuǎn)程自治系統(tǒng)表。可以檢查被針對(duì)播發(fā)標(biāo)簽的接口組,以確定接收分組的接口是否包括在接口組之中。MPLS轉(zhuǎn)發(fā)表可以包括欺騙檢查域,其被用來表示欺騙檢查的幾個(gè)不同類型中的一種,以及用于指定接口組。文檔編號(hào)H04L12/56GK1949779SQ20061014018公開日2007年4月18日申請(qǐng)日期2006年10月12日優(yōu)先權(quán)日2005年10月12日發(fā)明者布魯諾·賴斯曼申請(qǐng)人:叢林網(wǎng)絡(luò)公司