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

MPLScookie標(biāo)簽的制作方法

文檔序號:7949049閱讀:208來源:國知局
專利名稱:MPLS cookie標(biāo)簽的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及通信網(wǎng)絡(luò),更具體而言,涉及MPLS(多協(xié)議標(biāo)簽交換)cookie標(biāo)簽和虛擬專用網(wǎng)(VPN)安全性。
背景技術(shù)
虛擬專用網(wǎng)充當(dāng)IP網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)上的網(wǎng)絡(luò)覆蓋。具有MPLS/IP骨干的服務(wù)提供商可以為其客戶提供VPN。如RFC 2547(“BGP/MPLSVPNs”,E.Rosen等,1999年3月)所述,MPLS可被用于通過骨干和被用來在骨干上分發(fā)路由的多協(xié)議邊界網(wǎng)關(guān)協(xié)議(MP-BGP)來轉(zhuǎn)發(fā)分組,這里通過引用將該RFC全部結(jié)合進來。
圖1示出MPLS-VPN轉(zhuǎn)發(fā)的示例。提供商網(wǎng)絡(luò)與兩個客戶網(wǎng)絡(luò)vpnA和vpnB通信。vpnA前綴10.10.10/24和vpnB前綴11.11.11/24都是在它們各自的提供商邊緣(PE)路由器處利用標(biāo)簽500來標(biāo)識的。(為了簡化,只使用IP地址的一部分)。提供商網(wǎng)絡(luò)包括多個提供商(P)路由器10a、10b、10c和PE路由器12a、12b、12c。VPN包括客戶路由器14a、14b、14c、16a、16b、16c、18a、18b。分組轉(zhuǎn)發(fā)是基于MPLS核心網(wǎng)絡(luò)內(nèi)的標(biāo)簽信息來執(zhí)行的。如圖1所示,IP分組經(jīng)由路由器12a、10a、10b和12b從vpnA12.12.12/24發(fā)送到vpnA10.10.10/24。在客戶邊緣節(jié)點14a處的IP分組包括源(src)和目的地(det)地址。在PE節(jié)點12a處,IP查找被執(zhí)行,并且IGP和VPN標(biāo)簽被添加到分組。分組隨后通過網(wǎng)絡(luò)被發(fā)送,直到其到達提供商邊緣12b,該提供商邊緣12b將分組發(fā)送到CE16a。
如圖1所示,想去往遠程CE站點的MPLS-VPN流量在入口PE處被施加上對應(yīng)于匹配的VPN-IPv4路由的VPN標(biāo)簽以及將流量定向到出口PE的IGP標(biāo)簽。由于VPN標(biāo)簽僅僅在分配標(biāo)簽的路由器處是有意義的,因此在轉(zhuǎn)發(fā)時可能發(fā)生錯誤(誤轉(zhuǎn)發(fā))。誤轉(zhuǎn)發(fā)例如可能發(fā)生在分組到達錯誤的PE的情況下,這種情況可能是由于分組在路由選擇時發(fā)生差錯或者由于網(wǎng)絡(luò)中分組壽命期間標(biāo)簽值交換時發(fā)生差錯而引起的。轉(zhuǎn)發(fā)差錯也可能發(fā)生在分組到達正確PE,但PE的轉(zhuǎn)發(fā)平面就轉(zhuǎn)發(fā)條目而言與其控制平面不一致的情況下。另一種可能的差錯來源是在分組到達正確PE,但該PE已經(jīng)改變了標(biāo)簽值的綁定的情況下。而且,分組也可能由于沒有到達任何PE,而是改為基于全局表中的VPN目的地地址被轉(zhuǎn)發(fā)而被誤轉(zhuǎn)發(fā),這種情況是由于錯誤地彈出MPLS標(biāo)簽棧而引起的。
圖2示出MPLS-VPN誤轉(zhuǎn)發(fā)的一個示例。該網(wǎng)絡(luò)與圖1的網(wǎng)絡(luò)相同。但是,在此實例中,分組被不正確地路由到vpnB而非vpnA。誤路由選擇發(fā)生在提供商節(jié)點10a處。由于下一跳標(biāo)識標(biāo)簽500,因此分組被發(fā)送到vpnB,其具有與vpnA相同的標(biāo)簽。這類誤轉(zhuǎn)發(fā)在傳統(tǒng)系統(tǒng)中是常見的,因為在不同PE路由器上針對不同VPN經(jīng)常使用相同的標(biāo)簽。
當(dāng)前,用于轉(zhuǎn)發(fā)數(shù)據(jù)的方法包括特定于IP隧道技術(shù)(tunneling)的GRE密鑰字段和L2TPv2 cookie字段。GRE密鑰字段和L2TPv2 cookic字段都是特定于IP隧道技術(shù)的,并且在本地的MPLS骨干中或者對于MPLS流量工程不起作用。IETF因特網(wǎng)草案“CE-to-CE Authentication for RFC2547 VPNs”((draft-bonica-13vpn-auth-02.txt),R.Bonica等,2002年2月)描述了隨標(biāo)簽一道分發(fā)cookie以認證CE的方案。但是,在Bonica因特網(wǎng)草案中描述的系統(tǒng)中使用的cookie不是在數(shù)據(jù)平面中被分發(fā)的。
在由多廠商設(shè)備構(gòu)成并且跨越多個AS的骨干中,VPN流量的成功遞送依賴于每個中間路由器處的正確轉(zhuǎn)發(fā)。VPN分組被誤轉(zhuǎn)發(fā)的可能性隨中間跳數(shù)的增多而呈指數(shù)增長。此外,在由來自多個廠商的設(shè)備構(gòu)成的網(wǎng)絡(luò)中,可能無法同時更新所有節(jié)點。因此,還希望在MPLS網(wǎng)絡(luò)中存在軟件和硬件缺陷時防止VPN誤轉(zhuǎn)發(fā)。
因此,存在對于這樣一種系統(tǒng)和方法的需求,這種系統(tǒng)和方法允許cookie獨立于隧道機制地出現(xiàn)在數(shù)據(jù)平面中MPLS標(biāo)簽棧中以用于識別誤轉(zhuǎn)發(fā)的分組。還希望提供用于在控制平面中將cookie與FEC(轉(zhuǎn)發(fā)等價類)標(biāo)簽一起分發(fā)的方法。

發(fā)明內(nèi)容
一種用于防止分組從MPLS網(wǎng)絡(luò)誤轉(zhuǎn)發(fā)到虛擬專用網(wǎng)的方法和系統(tǒng)被公開。該方法包括在MPLS網(wǎng)絡(luò)的入口邊緣節(jié)點處接收分組;將cookie與由MPLS網(wǎng)絡(luò)的出口邊緣節(jié)點綁定到路由的標(biāo)簽相關(guān)聯(lián);以及在入口邊緣節(jié)點處將cookie插在MPLS標(biāo)簽棧上。所述分組通過MPLS網(wǎng)絡(luò)被發(fā)送到出口邊緣節(jié)點。cookie允許出口邊緣節(jié)點通過比較發(fā)送的分組的標(biāo)簽棧中的cookie與存儲在出口邊緣節(jié)點處的cookie標(biāo)簽來檢測發(fā)送的分組是否是被誤轉(zhuǎn)發(fā)的。
在本發(fā)明另一方面中,一種用于識別與多個虛擬專用網(wǎng)通信的MPLS網(wǎng)絡(luò)中的誤轉(zhuǎn)發(fā)的分組的方法,一般地包括在MPLS網(wǎng)絡(luò)的提供商邊緣入口節(jié)點處接收來自虛擬專用網(wǎng)之一的分組;將cookie與由MPLS網(wǎng)絡(luò)的多個提供商邊緣出口節(jié)點之一綁定到路由的標(biāo)簽相關(guān)聯(lián);并且在提供商邊緣入口節(jié)點處,將cookie插在數(shù)據(jù)平面中MPLS標(biāo)簽棧上。分組通過MPLS網(wǎng)絡(luò)被發(fā)送,并在提供商邊緣出口節(jié)點之一處被接收。該方法還包括比較插入分組的標(biāo)簽棧中的cookie與存儲在接收到所述分組的提供商邊緣出口節(jié)點處的cookie;以及如果標(biāo)簽棧中的cookie與存儲在提供商邊緣出口節(jié)點處的cookie匹配,則將分組轉(zhuǎn)發(fā)到虛擬專用網(wǎng)之一,并且如果標(biāo)簽棧中的cookie與存儲在提供商邊緣出口節(jié)點處的cookie不匹配,則丟棄所述分組。
在本發(fā)明的又一方面中,一種用于檢查通過MPLS網(wǎng)絡(luò)發(fā)送的想去往虛擬專用網(wǎng)的誤轉(zhuǎn)發(fā)的分組的系統(tǒng),一般地包括在MPLS網(wǎng)絡(luò)的出口節(jié)點上的處理器和系統(tǒng)存儲器。所述處理器被配置用于接收與綁定到VPN-IP路由的VPN標(biāo)簽相關(guān)聯(lián)的cookie,將該cookie與位于在出口節(jié)點處接收的分組的標(biāo)簽棧中的cookie標(biāo)簽相比較以確定所述分組是否是被誤轉(zhuǎn)發(fā)的,并且如果所述cookie和所述cookie標(biāo)簽匹配,則將所述分組轉(zhuǎn)發(fā)到所述虛擬專用網(wǎng),并且如果所述cookie和所述cookie標(biāo)簽不匹配,則丟棄所述分組。
通過參考說明書的其余部分以及附圖,可以意識到本發(fā)明的其他本質(zhì)和優(yōu)點。


圖1是示出通信網(wǎng)絡(luò)中的MPLS-VPN轉(zhuǎn)發(fā)的現(xiàn)有技術(shù)示例的示意圖。
圖2是示出圖1所示網(wǎng)絡(luò)中的MPLS-VPN誤轉(zhuǎn)發(fā)的現(xiàn)有技術(shù)示例的示意圖。
圖3是示出利用本發(fā)明的MPLS cookie標(biāo)簽的MPLS-VPN轉(zhuǎn)發(fā)的示意圖。
圖4是示出利用MPLS cookie標(biāo)簽檢測誤轉(zhuǎn)發(fā)的分組的示例的流程圖。
圖5是用在本發(fā)明中的MPLS cookie標(biāo)簽格式的一個示例。
圖6是用于BGP MPLS cookie標(biāo)簽?zāi)芰νǜ娴哪芰?biāo)志的示例。
圖7是用于BGP MPLS cookie標(biāo)簽?zāi)芰νǜ娴哪芰?biāo)志字段的示例。
圖8是示出MPLS cookie可被如何用于檢查控制平面BGP更新中的一致性的示意圖。
圖9是用于實現(xiàn)本發(fā)明的實施例的網(wǎng)絡(luò)設(shè)備的一個示例的框圖。
在附圖中,相應(yīng)的標(biāo)號指示相應(yīng)的部分。
具體實施例方式
以下描述用于使得本領(lǐng)域普通技術(shù)人員能夠制造和使用本發(fā)明。對特定實施例和應(yīng)用的描述僅僅是作為示例提供的,并且本領(lǐng)域技術(shù)人員易于想到各種修改。這里描述的一般原理可被應(yīng)用到其他實施例和應(yīng)用,而不會脫離本發(fā)明的范圍。因此,本發(fā)明并不局限于所示實施例,而是符合與這里描述的原理和特征相一致的最寬范圍。為了清晰起見,與本發(fā)明相關(guān)技術(shù)領(lǐng)域中已知的技術(shù)材料相關(guān)的細節(jié)未被詳細描述。
這里公開的方法和系統(tǒng)允許cookie獨立于所用隧道機制地出現(xiàn)在數(shù)據(jù)平面中的MPLS標(biāo)簽棧中,以防止分組從MPLS網(wǎng)絡(luò)誤轉(zhuǎn)發(fā)到虛擬專用網(wǎng)(VPN)。如下面詳細描述的,MPLS cookie優(yōu)選地在控制平面中與FEC(轉(zhuǎn)發(fā)等價類)標(biāo)簽一起被分發(fā)。該方法和系統(tǒng)減小了在MPLS網(wǎng)絡(luò)中存在軟件和硬件缺陷時發(fā)生VPN誤轉(zhuǎn)發(fā)的可能性。
本發(fā)明工作在包括多個網(wǎng)絡(luò)元件的數(shù)據(jù)通信網(wǎng)絡(luò)的上下文中。采用本發(fā)明的網(wǎng)絡(luò)中的某些元件可以是諸如路由器之類的網(wǎng)絡(luò)設(shè)備。例如,某些節(jié)點可以是特別配置的路由器,例如可以從San Jose,California的CiscoSystems,Inc.獲得的路由器。這里使用的術(shù)語“路由器”被用于指示基于網(wǎng)絡(luò)和更高層信息來轉(zhuǎn)發(fā)分組的設(shè)備。路由器例如可以包括主中央處理單元(CPU)、接口和總線(例如PCI總線)。CPU優(yōu)選地包括存儲器和處理器。當(dāng)在適當(dāng)軟件或固件的控制下工作時,CPU負責(zé)諸如路由表計算、網(wǎng)絡(luò)管理和一般分組處理之類的路由器任務(wù)。它優(yōu)選地在包括操作系統(tǒng)(例如Cisco Systems,Inc.的Internetwork Operating System(IOS)的一個版本)的軟件和任何適當(dāng)?shù)膽?yīng)用軟件的控制下實現(xiàn)所有這些功能。CPU可以包括一個或多個處理器,例如來自Motorola家族的處理器或者MIPS微處理器家族的處理器。在替換實施例中,處理器是特別設(shè)計的用于控制路由器的操作的硬件。存儲器可以是非易失性RAM或ROM。但是,存在很多可以將存儲器耦合到系統(tǒng)的不同方法。路由器可被實現(xiàn)在通用網(wǎng)絡(luò)主機(例如計算機系統(tǒng))或以下參考圖9所述的網(wǎng)絡(luò)設(shè)備上。
圖3示出本發(fā)明的用于分發(fā)MPLS cookie標(biāo)簽以防止分組誤轉(zhuǎn)發(fā)(即大大降低分組誤轉(zhuǎn)發(fā)的可能性)的方法和系統(tǒng)的一個實施例。圖3所示網(wǎng)絡(luò)包括根據(jù)MP-BGP工作的提供商MPLS網(wǎng)絡(luò)31。該提供商網(wǎng)絡(luò)與兩個客戶網(wǎng)絡(luò)vpnA和vpnB通信。vpnA前綴10.10.10/24和vpnB前綴11.11.11/24都是在它們各自的PE處利用標(biāo)簽500來標(biāo)識的。提供商網(wǎng)絡(luò)包括多個提供商(P)路由器30a、30b、30c和提供商邊緣(PE)路由器32a、32b、32c。VPN包括客戶路由器34a、34b、34c、36a、36b、36c、38a、38b。這里描述的系統(tǒng)只要求在提供商邊緣(PE)設(shè)備處更新,對于位于提供商核心網(wǎng)絡(luò)中的提供商(P)路由器或客戶路由器沒有任何新要求。將會理解,圖3所示網(wǎng)絡(luò)僅僅是一個示例,并且本發(fā)明的MPLS cookie標(biāo)簽可被用在各種類型和大小的網(wǎng)絡(luò)上,而不會脫離本發(fā)明的范圍。而且,雖然這里描述的實施例利用BGP來分發(fā)路由,但是諸如標(biāo)簽分發(fā)協(xié)議(LDP)、資源預(yù)留協(xié)議(RSVP)之類的其他協(xié)議或任何其他合適的協(xié)議都可被用來分發(fā)標(biāo)簽。
到達PE 32a的VPN流量被施加上對應(yīng)于匹配的VPN-IPv4路由的標(biāo)簽500和將流量定向到出口PE 32b的IGP標(biāo)簽200(在圖3中用標(biāo)號42標(biāo)識)。分組還包含源(src)地址44和目的地(det)地址46。MPLScookie標(biāo)簽48在被出口PE 32b綁定到VPN-IPv4路由時與VPN標(biāo)簽相關(guān)聯(lián)。在該示例中,MPLS標(biāo)簽是基于每個VPN前綴來分配的。但是,將會理解,MPLS標(biāo)簽也可以基于另一轉(zhuǎn)發(fā)等價類(FEC)來分配。如圖3所示,vpnA具有與其相關(guān)聯(lián)的cookie值123,而vpnB具有與其相關(guān)聯(lián)的cookie值236。cookie 48利用VPN標(biāo)簽被分發(fā)到入口PE 32a。針對到達的VPN分組,入口PE 32a將cookie 48插在數(shù)據(jù)平面中VPN標(biāo)簽下的標(biāo)簽棧上。分組具有cookie標(biāo)簽值123并且想經(jīng)由PE 32b去往vpnA。但是,如圖3的示例所示,分組被誤轉(zhuǎn)發(fā)到PE 32c。在到達出口PE 32c之后,VPN分組由于其cookie標(biāo)簽值(123)與存儲在PE 32c處的標(biāo)簽轉(zhuǎn)發(fā)條目中的cookie(236)不匹配而被丟棄。
cookie標(biāo)簽被用于檢測帶MPLS標(biāo)簽的分組是否被誤轉(zhuǎn)發(fā),而不是被用于執(zhí)行轉(zhuǎn)發(fā)判決。因此,無需分配對應(yīng)于標(biāo)簽的單獨的MPLS轉(zhuǎn)發(fā)條目或平臺TCAM。相反,標(biāo)簽值被存儲在其保護的相應(yīng)MPLS VPN標(biāo)簽轉(zhuǎn)發(fā)條目中。如果發(fā)生誤轉(zhuǎn)發(fā),cookie則向出口PE提供檢測該誤轉(zhuǎn)發(fā)的方法。cookie具有正確的值但是已被誤轉(zhuǎn)發(fā)的可能性是極低的。當(dāng)標(biāo)簽被重用時,如果存在恢復(fù)前一cookie值的方法,那么通過要求cookie值等于與該標(biāo)簽相關(guān)聯(lián)的前一值加1,可以進一步降低上述可能性,這是因為第二個隨機數(shù)可能與第一個隨機數(shù)相等,但n+1不可能等于n。
圖4是示出本發(fā)明的用于利用MPLS cookie標(biāo)簽檢測和丟棄如圖3所示的誤轉(zhuǎn)發(fā)的分組的過程的流程圖。在步驟50,標(biāo)簽值被出口PE 32b綁定到VPN-IP路由。隨后cookie被選擇并與VPN標(biāo)簽相關(guān)聯(lián)(步驟52)。入口PE 32a將cookie插在標(biāo)簽棧上(步驟54)。分組隨后被不正確地轉(zhuǎn)發(fā)到出口PE 32c(步驟56和58)。cookie標(biāo)簽在到達出口PE 32c之后被檢查,并由于標(biāo)簽棧中包含的cookie(123)與存儲在出口路由器上的針對VPN標(biāo)簽500的cookie(236)不匹配而被丟棄(步驟60和64)。如果分組被正確地路由到出口PE 32b,標(biāo)簽棧中的cookie則與PE處的cookie匹配,并且PE將轉(zhuǎn)發(fā)分組到正確的虛擬專用網(wǎng)vpnA(步驟60和62)。
如圖5所示,cookie標(biāo)簽優(yōu)選地遵從在RFC 3032(“MPLS LabelStack Encoding”,MPLS Working Group,E.Rosen等,2001年1月)中定義的標(biāo)準(zhǔn)32位MPLS標(biāo)簽棧條目格式,該RFC 3032通過引用被整體上結(jié)合于此。標(biāo)簽是一個20位值,后面跟隨著3位的Exp(試驗用)字段、1位的S(棧底)字段和8位的TTL(存活時間)字段。該格式允許最大限度地重用現(xiàn)有的MPLS基礎(chǔ)結(jié)構(gòu)并且允許傳統(tǒng)的MPLS負載共享方案正常工作。
在本發(fā)明的一個實施例中,當(dāng)VPN標(biāo)簽被第一次分配時,cookie被初始化以20位的隨機整數(shù)值,該隨機整數(shù)值以路由器ID為種子(seed)。隨后,針對每次隨后的標(biāo)簽重用生成新的cookie。但是,如果與重用標(biāo)簽相關(guān)聯(lián)的前一cookie可被恢復(fù)(如在利用SSO(有狀態(tài)切換)模式的情況下),則新cookie值被加1。這降低了任何<vpn-labcl,cookie>對沖突的可能性。將會理解,用于選擇cookie值的方法可以不同于這里描述的方法,而不會脫離本發(fā)明的范圍。
無論施加PE(imposition PE)處于統(tǒng)一模式(uniformed mode)還是管道模式(pipe mode),當(dāng)在數(shù)據(jù)路徑中施加標(biāo)簽之后,cookie標(biāo)簽TTL都被初始化到0(參見RFC 3443(“Tine To Live(TTL)Processing inMulti-Protocol Label Switching(MPLS)Networks”,MPLS WorkingGroup,P.Agarwal等,2003年1月),其通過引用被整體上結(jié)合于此)。對于分級的VPN部署(其具有VPN標(biāo)簽下的附加標(biāo)簽),處置PE(disposition PE)路由器可能需要通過檢查其TTL值來檢測標(biāo)簽棧中cookie標(biāo)簽棧條目的存在。
如果不是所有入口PE都能夠放上cookie,則可能存在問題,這是因為出口PE隨后可能不得不預(yù)期其接收的某些分組具有cookie,而某些將不具有cookie。通過要求cookie標(biāo)簽TTL在施加后被初始化為0,出口PE可以在VPN標(biāo)簽后面跟著TTL等于0的標(biāo)簽棧條目的情況下檢測到cookie的存在。如果不存在cookie標(biāo)簽,則跳過cookie驗證。
將cookie標(biāo)簽設(shè)置為具有等于0的TTL還提供了對MPLS核心網(wǎng)絡(luò)中的MPLS VPN流量的附加保護,這是通過避免其被基于因特網(wǎng)/全局表中的VPN目的地地址在IP封裝中被錯誤地轉(zhuǎn)發(fā)來實現(xiàn)的,這是由于cookie標(biāo)簽在路徑中必須被暴露。一個這種誤轉(zhuǎn)發(fā)的示例是由于操作者的錯誤而在IGP鏈路上禁止LDP。如果MPLS路由器處于管道模式,則由于cookie TTL等于0,因此分組被丟棄。如果MPLS路由器處于統(tǒng)一模式,來自彈出的標(biāo)簽的TTL則由于cookie標(biāo)簽的TTL值等于0而不覆寫cookie TTL,并且無論隨后標(biāo)簽操作如何分組都被丟棄。
如果不是所有入口PE都能夠在控制平面交換中解析cookie標(biāo)簽或在數(shù)據(jù)平面中施加cookie標(biāo)簽,那么出口PE或路由反射器被配置為識別入口PE并從控制平面更新中過濾掉cookie。這是通過入口和出口PE每會話能力協(xié)商來輔助的。出口PE的驗證cookie標(biāo)簽的能力是一個本地的問題(local matter)。
MPLS cookie標(biāo)簽?zāi)芰κ强杀籅GP發(fā)言人用來指示其接收和施加cookie標(biāo)簽的能力或其在VPN標(biāo)簽處置之后驗證cookie標(biāo)簽的能力的BGP能力(參見RFC 3392“Capabilities Advertisement with BGP-4”,Inter-domain Routing Working Group,R.Chandra等,2002年11月,其通過引用被整體上結(jié)合于此)。MPLS cookie標(biāo)簽?zāi)芰ψ侄伟芰Υa、能力長度(可變的)和能力值。能力值字段包括能力標(biāo)志,其中一個或多個元組<AFI,SAFI>是如圖6所示那樣設(shè)置的。能力標(biāo)志字段包含與MPLS cookie能力相關(guān)的位標(biāo)志并且如圖7所示。最高有效位被定義為I位并被用于指示BGP發(fā)言人是否支持cookie標(biāo)簽施加。下一位被定義為D位并被用于指示BGP發(fā)言人是否支持處置后的cookie標(biāo)簽驗證。
cookie標(biāo)簽可以承載在NLRI(網(wǎng)絡(luò)層可達性信息)中,如RFC 3107(“Carring Label Information in BGP-4”,Network Working Group,Y.Rekhter等,2001年5月)所定義的,該RFC 3107通過引用被整體上結(jié)合于此。標(biāo)簽映射信息作為多協(xié)議擴展屬性中的NLRI的一部分被承載。NLRI被編碼為<長度,標(biāo)簽,前綴>形式的一個或多個三元組。長度字段指示地址前綴加上標(biāo)簽的長度(以位為單位)。標(biāo)簽字段承載一個或多個標(biāo)簽。每個標(biāo)簽被編碼為3個字節(jié),其中較高的20位包含標(biāo)簽值,較低位包含棧底。前綴字段包含地址前綴,后面跟隨著足夠的拖尾位以使得該字段的結(jié)尾落在字節(jié)邊界上。當(dāng)cookie標(biāo)簽被承載在NLRI中時,NLRI中相應(yīng)標(biāo)簽的第23位被設(shè)置,并且入口BGP發(fā)言人用該位確定NLRI中是否存在cookie。
對于支持cookie標(biāo)簽施加的對等體和不支持cookie標(biāo)簽施加的對等體,優(yōu)選地設(shè)置不同的對等組。當(dāng)所有對等體都支持cookie施加時,不需要第二組。
圖8示出本發(fā)明如何在更新期間在提供商邊緣路由器PE1和PE2處提供檢查。PE2首先將更新從控制平面80傳遞到轉(zhuǎn)發(fā)平面82。除了發(fā)送標(biāo)簽(lbl)和轉(zhuǎn)發(fā)等價類(fec)之外,還提供cookie。接下來,控制平面BGP更新被執(zhí)行。PE1隨后執(zhí)行更新,將標(biāo)簽、cookie和轉(zhuǎn)發(fā)等價類從控制平面84傳遞到轉(zhuǎn)發(fā)平面86。由于cookie被包含在更新中,因此如果(vpn-lbl,cookie)對匹配它們在出口PE上的對應(yīng)物,則其可被用于提高fec””等價于fec’的可能性。
下面描述不同的誤轉(zhuǎn)發(fā)情形并且描述這里描述的MPLS cookie標(biāo)簽是如何防止誤轉(zhuǎn)發(fā)的。
第一示例是向錯誤的PE轉(zhuǎn)發(fā)分組。由于MPLS標(biāo)簽僅僅在分配它的路由器處是有意義的,因此關(guān)于到達的VPN分組的轉(zhuǎn)發(fā)判決發(fā)生在分配該VPN標(biāo)簽的出口路由器上。IGP標(biāo)簽交換路徑(LSP)的完整性變得很重要,這是因為入口PE依賴于該路徑將VPN分組遞送到出口PE。當(dāng)該路徑?jīng)]有被正確地維護時,VPN分組可能被轉(zhuǎn)發(fā)到錯誤的出口PE并且可能發(fā)生誤轉(zhuǎn)發(fā)。IGP控制和轉(zhuǎn)發(fā)平面的不一致性可能導(dǎo)致該問題。由于每個VPN標(biāo)簽是利用具有隨機生成的值的cookie標(biāo)簽來保護的,并且在兩個不同PE上存在兩個具有相同cookie的相同VPN標(biāo)簽的可能性非常小,因此誤轉(zhuǎn)發(fā)的可能性被大大降低。
下一示例是在沒有cookie檢查的情況下分組被轉(zhuǎn)發(fā)到錯誤PE。在非分級VPN的情況下,帶cookie標(biāo)簽的VPN分組沒有在VPN標(biāo)簽上設(shè)置EOS位并且分組被丟棄。在分級VPN的情況下,帶cookie標(biāo)簽的分組被轉(zhuǎn)發(fā)到CE之外并且cookie被暴露。分組由于cookie的TTL值等于0而在CE路由器處被丟棄。
誤轉(zhuǎn)發(fā)還可能發(fā)生在帶標(biāo)簽的VPN分組到達出口PE但標(biāo)簽綁定已改變的情況下。在傳統(tǒng)系統(tǒng)中,處于RPR+模式中的出口PE可能快速地故障轉(zhuǎn)移到其備份節(jié)點并且在入口PE注意到之前開始重新分配標(biāo)簽。由于本發(fā)明的cookie標(biāo)簽在每次標(biāo)簽被重用時被重新分配,因此如果cookic不匹配,VPN分組則在出口PE處被丟棄。
如果IGP或VPN標(biāo)簽在MPLS核心中被過早地彈出,MPLS VPN分組則可能泄漏并基于全局表中的VPN目的地IP地址被轉(zhuǎn)發(fā)。本發(fā)明的cookie標(biāo)簽被設(shè)置以等于0的TTL并且防止了這樣的泄漏。例如,如果cookie標(biāo)簽在處于管道模式的P路由器上被暴露出來,0 TTL則致使分組被丟棄。如果P路由器處于統(tǒng)一模式,cookie的0 TTL則由于來自彈出的上層標(biāo)簽的TTL值沒有覆寫它而被保留,并且隨后分組被丟棄。
圖9示出可被用來實現(xiàn)上述方法和系統(tǒng)的網(wǎng)絡(luò)設(shè)備90。在一個實施例中,網(wǎng)絡(luò)設(shè)備90是可以被實現(xiàn)在硬件、軟件或其組合中的可編程機器。處理器92執(zhí)行存儲在程序存儲器94中的代碼。程序存儲器94是計算機可讀介質(zhì)的一個示例。程序存儲器94可以是易失性存儲器。另一種形式的存儲同樣代碼的計算機可讀介質(zhì)可以是某種類型的非易失性存儲設(shè)備,例如軟盤、CD-ROM、DVD-ROM、硬盤、閃存等等。通過網(wǎng)絡(luò)傳送代碼的載波是計算機可讀介質(zhì)的另一示例。
網(wǎng)絡(luò)設(shè)備90經(jīng)由多個線路卡96與物理介質(zhì)接口。當(dāng)分組被網(wǎng)絡(luò)設(shè)備90接收、處理和轉(zhuǎn)發(fā)時,它們可被存儲在分組存儲器98中。分組傳輸操作可以部分或全部發(fā)生在線路卡96之一內(nèi)。為了實現(xiàn)根據(jù)本發(fā)明的功能,線路卡96可以并入與上文結(jié)合網(wǎng)絡(luò)設(shè)備整體上討論的類似的處理和存儲器資源。網(wǎng)絡(luò)設(shè)備90實現(xiàn)本發(fā)明提供的所有特征。
圖9所示的網(wǎng)絡(luò)設(shè)備90僅僅是適用于本發(fā)明的計算機系統(tǒng)的一個示例。具有不同子系統(tǒng)配置的其他設(shè)備和系統(tǒng)也可被利用。網(wǎng)絡(luò)內(nèi)的計算機之間的通信通過使用通信協(xié)議而變?yōu)榭赡?,所述通信協(xié)議決定計算機如何通過網(wǎng)絡(luò)交換信息。
從以上描述顯而易見,本發(fā)明提供了多個優(yōu)點。該系統(tǒng)和方法通過利用優(yōu)選地遵從標(biāo)準(zhǔn)的MPLS標(biāo)簽格式的MPLS cookie標(biāo)簽而大大降低了MPLS VPN誤轉(zhuǎn)發(fā)的可能性。因此,該方案相對于現(xiàn)有MPLS轉(zhuǎn)發(fā)基礎(chǔ)結(jié)構(gòu)具有性能優(yōu)點并且與MPLS負載共享機制和流量工程兼容。
這里描述的系統(tǒng)和方法還提供了更高的VPN安全性。例如,MPLScookie標(biāo)簽系統(tǒng)消除了執(zhí)行MPLS標(biāo)簽抑制(hold-down)的需求。自由的VPN標(biāo)簽可被立即釋放到標(biāo)簽池中,并且可以通過與新cookie關(guān)聯(lián)而被重復(fù)使用。這降低了服務(wù)拒絕(DOS)攻擊的可能性,因為在傳統(tǒng)系統(tǒng)上使用VPN標(biāo)簽抑制的攻擊者可能通過重復(fù)引入路由改變來從CE設(shè)備向PE發(fā)起DOS攻擊。
MPLS cookie標(biāo)簽還通過使得VPN標(biāo)簽偽裝(spoofing)更加困難而提高了VPN安全性,這是因為VPN標(biāo)簽和cookie標(biāo)簽兩者必須匹配才能進入VPN,并且匹配cookie標(biāo)簽的可能性是非常小的。附加的安全特征允許MPLS cookie基于只有入口和出口PE知道的算法或密鑰來周期性地滾動(rollover)。
雖然已經(jīng)根據(jù)所示實施例描述了本發(fā)明,但是本領(lǐng)域普通技術(shù)人員將容易意識到,在不脫離本發(fā)明的范圍的情況下,可以對實施例進行改變。因此,希望在以上描述中包含并在附圖中示出的所有主題都被視為示例性的,而非限制性的。
權(quán)利要求
1.一種用于防止分組從MPLS網(wǎng)絡(luò)誤轉(zhuǎn)發(fā)到虛擬專用網(wǎng)的方法,該方法包括在所述MPLS網(wǎng)絡(luò)的入口邊緣節(jié)點處接收分組;將cookie與由所述MPLS網(wǎng)絡(luò)的出口邊緣節(jié)點綁定到路由的標(biāo)簽相關(guān)聯(lián);在所述入口邊緣節(jié)點處將所述cookie插在MPLS標(biāo)簽棧上;并且通過所述MPLS網(wǎng)絡(luò)將具有所述標(biāo)簽棧中的cookie的分組發(fā)送到出口邊緣節(jié)點;其中所述cookie允許所述出口邊緣節(jié)點通過比較被發(fā)送的分組的標(biāo)簽棧中的cookie與在所述出口邊緣節(jié)點處存儲的cookie標(biāo)簽來檢測所述被發(fā)送的分組是否被誤轉(zhuǎn)發(fā)。
2.如權(quán)利要求1所述的方法,其中所述插入cookie的步驟包括針對到達的VPN分組將所述cookie插在所述標(biāo)簽棧上VPN標(biāo)簽之下。
3.如權(quán)利要求1所述的方法,其中所述插入cookie的步驟包括在數(shù)據(jù)平面中插入所述cookie。
4.如權(quán)利要求1所述的方法,其中所述cookie標(biāo)簽是20位值。
5.如權(quán)利要求4所述的方法,其中所述cookie標(biāo)簽包括試驗用字段、棧底字段和存活時間字段。
6.如權(quán)利要求1所述的方法,其中所述cookie標(biāo)簽包括存活時間字段,并且其中所述存活時間字段被初始化為0。
7.如權(quán)利要求1所述的方法,還包括選擇以所述cookie的路由ID為種子的隨機整數(shù)值。
8.如權(quán)利要求7所述的方法,還包括生成新cookie。
9.如權(quán)利要求7所述的方法,還包括恢復(fù)cookie標(biāo)簽。
10.如權(quán)利要求9所述的方法,其中所述生成新cookie標(biāo)簽的步驟包括使所述恢復(fù)的cookie標(biāo)簽加1。
11.如權(quán)利要求1所述的方法,還包括利用BGP MPLS cookie標(biāo)簽?zāi)芰νǜ妗?br> 12.如權(quán)利要求1所述的方法,其中所述cookie被承載在網(wǎng)絡(luò)層可達性信息中。
13.一種用于識別與多個虛擬專用網(wǎng)通信的MPLS網(wǎng)絡(luò)中的誤轉(zhuǎn)發(fā)的分組的方法,所述MPLS網(wǎng)絡(luò)包括多個提供商邊緣入口和出口節(jié)點,所述方法包括在所述MPLS網(wǎng)絡(luò)的所述提供商邊緣入口節(jié)點之一處接收來自所述虛擬專用網(wǎng)之一的分組;將cookie與由所述MPLS網(wǎng)絡(luò)的所述提供商邊緣出口節(jié)點之一綁定到路由的標(biāo)簽相關(guān)聯(lián);在所述提供商邊緣入口節(jié)點處,將所述cookie插在數(shù)據(jù)平面中MPLS標(biāo)簽棧上;通過所述MPLS網(wǎng)絡(luò)發(fā)送具有所述標(biāo)簽棧中的cookie的分組;在所述多個提供商邊緣出口節(jié)點之一處接收所述分組;比較插入所述分組的標(biāo)簽棧中的cookie與存儲在接收到所述分組的提供商邊緣出口節(jié)點處的cookie;以及如果所述標(biāo)簽棧中的cookie與存儲在所述提供商邊緣出口節(jié)點處的cookie匹配,則將分組轉(zhuǎn)發(fā)到所述虛擬專用網(wǎng)之一,并且如果所述標(biāo)簽棧中的cookie與存儲在所述提供商邊緣出口節(jié)點處的cookie不匹配,則丟棄所述分組。
14.如權(quán)利要求13所述的方法,還包括將所述cookie標(biāo)簽與控制平面中的轉(zhuǎn)發(fā)等價類標(biāo)簽一起分發(fā)到所述提供商邊緣出口節(jié)點。
15.如權(quán)利要求13所述的方法,其中所述插入cookie的步驟包括針對到達的VPN分組將所述cookie插在所述標(biāo)簽棧上VPN標(biāo)簽之下。
16.如權(quán)利要求13所述的方法,其中所述插入cookie的步驟包括在所述數(shù)據(jù)平面中插入所述cookie。
17.如權(quán)利要求13所述的方法,其中所述cookie標(biāo)簽的格式對應(yīng)于所述分組中的其他MPLS標(biāo)簽棧條目的格式。
18.如權(quán)利要求13所述的方法,其中所述cookie標(biāo)簽包括存活時間字段,并且其中所述存活時間字段被初始化為0。
19.一種用于防止分組從MPLS網(wǎng)絡(luò)誤轉(zhuǎn)發(fā)到虛擬專用網(wǎng)的計算機程序產(chǎn)品,該產(chǎn)品包括在所述MPLS網(wǎng)絡(luò)的入口邊緣節(jié)點處接收分組的代碼;將cookie與由所述MPLS網(wǎng)絡(luò)的出口邊緣節(jié)點綁定到路由的標(biāo)簽相關(guān)聯(lián)的代碼;在所述入口邊緣節(jié)點處將所述cookie插在MPLS標(biāo)簽棧上的代碼;通過所述MPLS網(wǎng)絡(luò)將具有所述標(biāo)簽棧中的cookie的分組發(fā)送到出口邊緣節(jié)點的代碼;以及用于存儲所述代碼的計算機可讀存儲介質(zhì);其中所述cookie允許出口邊緣節(jié)點通過比較被發(fā)送的分組的標(biāo)簽棧中的cookie與在所述出口邊緣節(jié)點處存儲的cookie標(biāo)簽來檢測所述被發(fā)送的分組是否被誤轉(zhuǎn)發(fā)。
20.如權(quán)利要求19所述的計算機程序產(chǎn)品,還包括針對到達的VPN分組將所述cookie插在所述標(biāo)簽棧上VPN標(biāo)簽之下。
21.如權(quán)利要求19所述的計算機程序產(chǎn)品,還包括在數(shù)據(jù)平面中插入所述cookie的代碼。
22.一種用于識別與多個虛擬專用網(wǎng)通信的MPLS網(wǎng)絡(luò)中的誤轉(zhuǎn)發(fā)的分組的系統(tǒng),所述MPLS網(wǎng)絡(luò)包括多個提供商邊緣入口和出口節(jié)點,所述系統(tǒng)包括用于在所述MPLS網(wǎng)絡(luò)的所述提供商邊緣入口節(jié)點之一處接收分組的裝置;用于將cookie與由所述MPLS網(wǎng)絡(luò)的所述提供商邊緣出口節(jié)點之一綁定到路由的標(biāo)簽相關(guān)聯(lián)的裝置;用于在所述提供商邊緣入口節(jié)點處,將所述cookie插在數(shù)據(jù)平面中MPLS標(biāo)簽棧上的裝置;用于通過所述MPLS網(wǎng)絡(luò)發(fā)送具有所述標(biāo)簽棧中的cookie的分組的裝置;用于在所述多個提供商邊緣出口節(jié)點之一處接收所述分組的裝置;用于比較插入所述分組的標(biāo)簽棧中的cookie與存儲在接收到所述分組的提供商邊緣出口節(jié)點處的cookie的裝置;以及用于在所述標(biāo)簽棧中的cookie與存儲在所述提供商邊緣出口節(jié)點處的cookie匹配的情況下,將分組轉(zhuǎn)發(fā)到所述虛擬專用網(wǎng)之一,并且在所述標(biāo)簽棧中的cookie與存儲在所述提供商邊緣出口節(jié)點處的cookie不匹配的情況下,丟棄所述分組的裝置。
23.如權(quán)利要求22所述的系統(tǒng),其中所述MPLS網(wǎng)絡(luò)中的提供商邊緣節(jié)點是僅有的被配置用于插入或比較MPLS cookie標(biāo)簽的節(jié)點。
24.如權(quán)利要求22所述的系統(tǒng),其中所述綁定到路由的標(biāo)簽是VPN標(biāo)簽。
25.如權(quán)利要求22所述的系統(tǒng),其中所述綁定到路由的標(biāo)簽是FEC標(biāo)簽。
26.一種用于檢查通過MPLS網(wǎng)絡(luò)發(fā)送的想去往虛擬專用網(wǎng)的誤轉(zhuǎn)發(fā)的分組的系統(tǒng),該系統(tǒng)包括在所述MPLS網(wǎng)絡(luò)的出口節(jié)點上的處理器,該處理器被配置用于接收與綁定到VPN-IP路由的VPN標(biāo)簽相關(guān)聯(lián)的cookie,將該cookie與位于在所述出口節(jié)點處接收的分組的標(biāo)簽棧內(nèi)的cookie標(biāo)簽相比較以確定所述分組是否是被誤轉(zhuǎn)發(fā)的,并且如果所述cookie和所述cookie標(biāo)簽匹配,則將所述分組轉(zhuǎn)發(fā)到所述虛擬專用網(wǎng),并且如果所述cookie和所述cookie標(biāo)簽不匹配,則丟棄所述分組,并且所述系統(tǒng)還包括用于存儲所述cookie的系統(tǒng)存儲器。
全文摘要
一種用于防止分組從MPLS網(wǎng)絡(luò)誤轉(zhuǎn)發(fā)到虛擬專用網(wǎng)的方法和系統(tǒng)被公開。該方法包括在MPLS網(wǎng)絡(luò)的入口邊緣節(jié)點處接收分組;將cookie與由MPLS網(wǎng)絡(luò)的出口邊緣節(jié)點綁定到路由的標(biāo)簽相關(guān)聯(lián)(50);以及在入口邊緣節(jié)點處將cookie插在MPLS標(biāo)簽棧上(54)。所述分組通過MPLS網(wǎng)絡(luò)被發(fā)送到出口邊緣節(jié)點(56)。cookie允許出口邊緣節(jié)點通過比較發(fā)送的分組的標(biāo)簽棧中的cookie與存儲在出口邊緣節(jié)點處的cookie標(biāo)簽來檢測發(fā)送的分組是否是被誤轉(zhuǎn)發(fā)的(60)。
文檔編號H04L12/56GK101040488SQ200580034501
公開日2007年9月19日 申請日期2005年12月16日 優(yōu)先權(quán)日2005年1月28日
發(fā)明者西奧多·錢, 艾瑞克·羅森 申請人:思科技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1