本公開涉及計算機(jī)網(wǎng)絡(luò),并且更具體而言,涉及基于網(wǎng)絡(luò)的流量的隧道。
背景技術(shù):
計算機(jī)網(wǎng)絡(luò)是交換數(shù)據(jù)并分享資源的大量互連的計算裝置。在基于數(shù)據(jù)包的網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))中,計算裝置通過將數(shù)據(jù)分成小塊(稱為數(shù)據(jù)包)傳送數(shù)據(jù)。數(shù)據(jù)包從源裝置通過網(wǎng)絡(luò)單獨(dú)路由至目標(biāo)裝置。目標(biāo)裝置從數(shù)據(jù)包中提取數(shù)據(jù)并且將數(shù)據(jù)組裝成其原始形式。將數(shù)據(jù)分成數(shù)據(jù)包,使源裝置能夠僅僅重發(fā)在傳輸期間可能丟失的那些個別的數(shù)據(jù)包。
專用網(wǎng)絡(luò)可以包括單個企業(yè)擁有或管理的多個裝置,例如,計算機(jī)。這些裝置可以分組成多個站點(diǎn)網(wǎng)絡(luò),這些站點(diǎn)網(wǎng)絡(luò)相應(yīng)地可以在地理上分布在廣泛的區(qū)域上。每個站點(diǎn)網(wǎng)絡(luò)可以包括一個或多個局域網(wǎng)(lan)。隨著虛擬專用網(wǎng)絡(luò)(vpn)技術(shù)的出現(xiàn),企業(yè)現(xiàn)在可以通過公共網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))在站點(diǎn)網(wǎng)絡(luò)之間安全地共享數(shù)據(jù)。在一個典型的實(shí)現(xiàn)方式中,通過中間網(wǎng)絡(luò)設(shè)計一個或多個“網(wǎng)絡(luò)隧道”,以在地理上分散的站點(diǎn)之間傳輸數(shù)據(jù)和其它網(wǎng)絡(luò)通信。
vpn的一種形式通常稱為“mplsvpn”,其中,多協(xié)議標(biāo)簽交換(mpls)隧道被用作為一種傳輸機(jī)制。mpls是用于在互聯(lián)網(wǎng)協(xié)議(ip)網(wǎng)絡(luò)內(nèi)設(shè)計流量模式的機(jī)制。通過使用mpls,源裝置可以請求通過網(wǎng)絡(luò)到達(dá)目標(biāo)裝置的路徑(即,標(biāo)簽交換路徑(lsp)),以將mpls數(shù)據(jù)包從源裝置承載至目標(biāo)裝置。沿著lsp的每個路由器分配標(biāo)簽并將標(biāo)簽傳播給沿著該路徑最近的上游路由器,用于沿著該路徑轉(zhuǎn)發(fā)mpls數(shù)據(jù)包。沿著該路徑的路由器協(xié)作執(zhí)行mpls操作,以沿著已建立的路徑轉(zhuǎn)發(fā)mpls數(shù)據(jù)包。
mplsvpn將mpls的隧道過程與虛擬路由和轉(zhuǎn)發(fā)(vrf)以及邊界網(wǎng)關(guān)協(xié)議(bgp)的特征相結(jié)合,以創(chuàng)建vpn。當(dāng)在網(wǎng)絡(luò)內(nèi)建立了vpn時,用于vpn的裝置的每個均包括vpn特有的vrf表。在e.rosen和y.rekhter的在http://tools.ietf.org/html/rfc4364上可用的“bgp/mplsipvirtualprivatenetworks(vpns),”rfc4364、2006年2月,以及l(fā).andersson和t.madsen的在tools.ietf.org/html/rfc4026上可用的“providerprovisionedvirtualprivatenetwork(vpn)terminology,”rfc4026、2005年3月中,討論了關(guān)于vpn的、特別是使用bgp和mpls實(shí)現(xiàn)vpn的更多細(xì)節(jié),其每一個的全部內(nèi)容均通過引用其各自的整體結(jié)合于此。
可以使用隧道的其它形式代替mpls或者與mpls相結(jié)合。例如,另一種常用的隧道協(xié)議是通用路由封裝(gre)協(xié)議,該協(xié)議通常用于在互聯(lián)網(wǎng)協(xié)議(ip)隧道內(nèi)封裝數(shù)據(jù)包,從而在裝置(例如,路由器)之間創(chuàng)建虛擬點(diǎn)對點(diǎn)鏈路。
rfc4364描述了各種場景,其中,vpn的兩個站點(diǎn)連接至不同的自治系統(tǒng)(as)。例如,這兩個站點(diǎn)可以連接至不同的服務(wù)供應(yīng)商(sp)。在這種情況下,rfc4364認(rèn)識到與該vpn相關(guān)聯(lián)的供應(yīng)商邊緣(pe)路由器不能保持彼此的內(nèi)部bgp(ibgp)連接。因此,rfc4364描述了使用外部bgp(ebgp)來分配vpn-ipv4地址和已標(biāo)記的vpn-ipv4路由。
技術(shù)實(shí)現(xiàn)要素:
通常,本公開描述了用于確保自治系統(tǒng)(as)間鏈路的技術(shù)。例如,假設(shè)在不同的as中存在多協(xié)議標(biāo)簽交換(mpls)路徑的供應(yīng)商邊緣(pe)路由器(例如,用于虛擬專用網(wǎng)絡(luò)(vpn))。在這種情況下,自治系統(tǒng)邊界路由器(asbr)位于沿著mpls路徑的不同as的邊緣。asbr可以使用外部邊界網(wǎng)關(guān)協(xié)議(ebgp)交換已標(biāo)記的路由(例如,已標(biāo)記的vpn-ipv4路由)。然而,沒有本公開的技術(shù),這種已標(biāo)記的路由公告可能是假冒的。本公開描述了asbr可以防止假冒這種已標(biāo)記的路由公告的技術(shù)。尤其的,asbr可以實(shí)例化mpls路徑的轉(zhuǎn)發(fā)表(儲存分配的標(biāo)簽)。通過這種方式,在接收由標(biāo)簽(可以對應(yīng)于由asbr或路由公告轉(zhuǎn)發(fā)的數(shù)據(jù)包)封裝的數(shù)據(jù)包時,asbr可以確定標(biāo)簽是否預(yù)先由asbr分配(例如,通過核對轉(zhuǎn)發(fā)表)。然后,asbr可以僅在預(yù)先分配標(biāo)簽時安裝路由(或者轉(zhuǎn)發(fā)數(shù)據(jù)包)。
在一個示例中,第一自治系統(tǒng)(as)的自治系統(tǒng)邊界路由器(asbr)裝置執(zhí)行一種方法。asbr裝置在第一as的第一供應(yīng)商邊緣(pe)路由器和不同的第二as的第二pe路由器之間。第一pe路由器和第二pe路由器形成多協(xié)議標(biāo)簽交換(mpls)路徑。該方法包括:通過asbr裝置的接口接收數(shù)據(jù)包,該asbr裝置的接口通信地耦接至該第一as外部的路由裝置;確定該數(shù)據(jù)包由mpls標(biāo)簽封裝;基于通過其接收該數(shù)據(jù)包的接口選擇轉(zhuǎn)發(fā)表;并且根據(jù)轉(zhuǎn)發(fā)信息(轉(zhuǎn)發(fā)表將mpls標(biāo)簽映射到轉(zhuǎn)發(fā)信息中),轉(zhuǎn)發(fā)該數(shù)據(jù)包。
在另一個示例中,自治系統(tǒng)邊界路由器(asbr)裝置包含在第一自主系統(tǒng)(as)內(nèi),并且在第一as的第一供應(yīng)商邊緣(pe)路由器與不同的第二as的第二pe路由器之間。該第一pe路由器和該第二pe路由器形成多協(xié)議標(biāo)簽交換(mpls)路徑。該asbr裝置包括:接口,通信地耦接至該第一as外部的路由裝置;以及存儲器,配置為儲存與該接口相關(guān)聯(lián)的轉(zhuǎn)發(fā)表。asbr裝置還包括一個或多個處理單元,配置為:通過接口接收數(shù)據(jù)包,確定該數(shù)據(jù)包由mpls標(biāo)簽封裝,基于通過其接收該數(shù)據(jù)包的接口選擇轉(zhuǎn)發(fā)表;并且根據(jù)轉(zhuǎn)發(fā)信息(轉(zhuǎn)發(fā)表將mpls標(biāo)簽映射到轉(zhuǎn)發(fā)信息)轉(zhuǎn)發(fā)該數(shù)據(jù)包。
在另一個示例中,一種非易失性計算機(jī)可讀儲存介質(zhì)在其上儲存了將由第一自治系統(tǒng)(as)的自治系統(tǒng)邊界路由器(asbr)裝置的處理器執(zhí)行的指令。該asbr裝置在第一as的第一供應(yīng)商邊緣(pe)路由器和不同的第二as的第二pe路由器之間。該第一pe路由器和該第二pe路由器形成多協(xié)議標(biāo)簽交換(mpls)路徑。在執(zhí)行時,該指令使asbr裝置的處理器:經(jīng)由asbr裝置的接口接收數(shù)據(jù)包,該asbr裝置的接口通信地耦接至該第一as外部的路由裝置;確定該數(shù)據(jù)包由mpls標(biāo)簽封裝;基于經(jīng)由其接收該數(shù)據(jù)包的接口選擇轉(zhuǎn)發(fā)表;并且根據(jù)轉(zhuǎn)發(fā)信息(轉(zhuǎn)發(fā)表將mpls標(biāo)簽映射到轉(zhuǎn)發(fā)信息中)轉(zhuǎn)發(fā)該數(shù)據(jù)包。
在另一個示例中,第一自治系統(tǒng)(as)包括:第一供應(yīng)商邊緣(pe)路由器,該第一pe路由器與不同的第二as的第二pe路由器形成多協(xié)議標(biāo)簽交換(mpls)路徑;以及在第一pe路由器和第二pe路由器之間的自治系統(tǒng)邊界路由器(asbr)裝置。第一as的asbr裝置包括:接口,其通信地耦接至該第一as外部的路由裝置;存儲器,配置為儲存與該接口相關(guān)聯(lián)的轉(zhuǎn)發(fā)表;以及一個或多個處理單元,配置為經(jīng)由接口接收數(shù)據(jù)包,確定該數(shù)據(jù)包由mpls標(biāo)簽封裝,基于經(jīng)由其接收該數(shù)據(jù)包的接口選擇轉(zhuǎn)發(fā)表,并且根據(jù)轉(zhuǎn)發(fā)信息(轉(zhuǎn)發(fā)表將mpls標(biāo)簽映射到轉(zhuǎn)發(fā)信息),轉(zhuǎn)發(fā)該數(shù)據(jù)包。
在附圖和以下描述中陳述一個或多個示例的細(xì)節(jié)。通過描述和附圖并且通過權(quán)利要求,其它特征、目標(biāo)以及優(yōu)點(diǎn)顯而易見。
附圖說明
圖1是示出包括兩個自治系統(tǒng)(as)(包括各自的as邊界路由器(asbr))的示例網(wǎng)絡(luò)的方框圖;
圖2是示出asbr的元件的示例設(shè)置的框圖;
圖3是示出用于確定如何處理從位于as外部的裝置接收的已標(biāo)記數(shù)據(jù)的示例方法的流程圖;
圖4是示出根據(jù)本公開的技術(shù)的另一個示例方法的流程圖。
具體實(shí)施方式
圖1是示出包括兩個自治系統(tǒng)(as)110、120的示例網(wǎng)絡(luò)100的框圖。as110包括供應(yīng)商邊緣(pe)路由器112、路由器114以及自治系統(tǒng)邊界路由器(asbr)116。as120包括pe路由器126、路由器124以及asbr122。pe路由器112、126形成多協(xié)議標(biāo)簽交換(mpls)路徑140,該mpls路徑140包括例如asbr116、122。即,pe路由器112、126用作mpls路徑140的端點(diǎn)(例如,分別是入口和出口點(diǎn))。
asbr116和asbr122由鏈路130通信地耦接。在該示例中,鏈路130直接耦接asbr116和asbr122。
as110、120可以表示不同的服務(wù)供應(yīng)商網(wǎng)絡(luò)。即,as110、120可以由不同實(shí)體操作來提供業(yè)務(wù)??梢杂蒩s110、120提供的業(yè)務(wù)包括例如專用網(wǎng)絡(luò)(vpn)業(yè)務(wù)、ip電話(voip)、訪問異步傳輸模式(atm)或幀中繼通信、互聯(lián)網(wǎng)協(xié)議(ip)數(shù)據(jù)業(yè)務(wù)以及多媒體分布業(yè)務(wù),例如,視頻流。由于as110、120是分離的,所以pe路由器112、126不能夠與彼此保持內(nèi)部邊界網(wǎng)關(guān)協(xié)議(ibgp)連接。因此,pe路由器112、126(與asbr116、122一起)可以使用在例如rfc4364中描述的技術(shù)來交換路由信息,例如,根據(jù)外部bgp(ebgp)公告已標(biāo)記路由(在rfc4364的部分10選項b和c中所描述的)。
由于as110、120表示不同的服務(wù)供應(yīng)商網(wǎng)絡(luò),所以在as110、120之間提供的業(yè)務(wù)可以稱為供應(yīng)商間服務(wù)。例如,as110、120可以提供供應(yīng)商間mpls路徑業(yè)務(wù),由mpls路徑140表示。在一些示例中,mpls路徑140可以表示vpn的路徑。因此,as110、120可以提供供應(yīng)商間mplsvpn業(yè)務(wù)。
在mpls能夠用于供應(yīng)商間鏈路(例如,鏈路130)時,供應(yīng)商間mplsvpn業(yè)務(wù)的一個主要問題是數(shù)據(jù)面安全(主要是標(biāo)簽假冒)。供應(yīng)商間mpls使能的vpn服務(wù)模式的一個示例由rfc4364的部分10選項b和c限定。rfc4364的部分13增加了對數(shù)據(jù)面安全以減少標(biāo)簽假冒的要求。在tools.ietf.org/html/rfc4381上可獲取到behringer的“analysisofthesecurityofbgp/mplsipvirtualprivatenetworks(vpns),”networkworkinggroup,rfc4381、2006年2月,其中的部分4.2(b)和(c)詳細(xì)分析了數(shù)據(jù)面安全問題。
本公開的技術(shù)可以防止數(shù)據(jù)平面標(biāo)簽假冒,從而為在rfc4364部分13選項b中討論的問題提供了解決方案。對于來自通過mpls接口連接的、不可信的asbr的mpls數(shù)據(jù)流量,需要防標(biāo)簽假冒。例如,假設(shè)asbr116表示執(zhí)行本公開的技術(shù)的asbr裝置,并且假設(shè)asbr122表示通過mpls接口連接至asbr116的不可信的asbr。asbr116可以直接耦接至asbr122。假設(shè)很好地保護(hù)了自治系統(tǒng)110(例如,pe路由器112和路由器114)的裝置以避免標(biāo)簽假冒。進(jìn)一步假設(shè)asbr116和asbr122使用bgp(例如,ebgp)交換標(biāo)簽。
通常,asbr116在多個也稱為轉(zhuǎn)發(fā)表的mpls標(biāo)簽轉(zhuǎn)發(fā)信息庫(fib)中保持上下文相關(guān)的標(biāo)簽空間。上下文可以對應(yīng)于連接至as110外部的裝置(例如,asbr122或鏈路130的另一個路由器)的網(wǎng)絡(luò)接口(例如,網(wǎng)絡(luò)接口卡)。因此,asbr116可以實(shí)例化與網(wǎng)絡(luò)接口對應(yīng)的新轉(zhuǎn)發(fā)表(例如,路由信息庫(rib)),通過該網(wǎng)絡(luò)接口,asbr116耦接至鏈路130。而且,asbr116包括將至鏈路130(在該示例中,供應(yīng)商間鏈路)的網(wǎng)絡(luò)接口與新轉(zhuǎn)發(fā)表進(jìn)行關(guān)聯(lián)的數(shù)據(jù)。
asbr116根據(jù)相對于鏈路130執(zhí)行的協(xié)議,在該新轉(zhuǎn)發(fā)表內(nèi)安裝轉(zhuǎn)發(fā)信息。asbr116可以為as間鏈路(例如,鏈路130)維護(hù)路由表。同樣,asbr116為每個供應(yīng)商間鏈路(雖然在圖1的示例中僅僅示出了一個這種鏈路,鏈路130)實(shí)例化不同的轉(zhuǎn)發(fā)表。分別地,asbr116為as110維護(hù)路由表和轉(zhuǎn)發(fā)表。通過這種方法,asbr116在as110的轉(zhuǎn)發(fā)表中安裝向朝向核心的接口(也稱為可信接口)公告的標(biāo)簽,并且asbr116在相應(yīng)的轉(zhuǎn)發(fā)表中安裝向供應(yīng)商間鏈路接口公告的標(biāo)簽。
通過為不同的標(biāo)簽域維護(hù)這種不同的轉(zhuǎn)發(fā)表,在其相應(yīng)的轉(zhuǎn)發(fā)表內(nèi)僅僅安裝供應(yīng)商間鏈路公告的標(biāo)簽。因此,asbr116可以防止標(biāo)簽假冒,這是因?yàn)槿绻罱又羇sbr116的一個接口的裝置使用僅向asbr116的不同接口公告的標(biāo)簽,則asbr116確定該標(biāo)簽未安裝在通過其接收標(biāo)簽的接口的路由表內(nèi)。因此,asbr116可以例如丟棄由未在相應(yīng)鏈路(經(jīng)由其接收數(shù)據(jù)包)上分配的標(biāo)簽封裝的數(shù)據(jù)包。因此,asbr116可以防止標(biāo)簽假冒。
例如,假設(shè)mpls路徑140的數(shù)據(jù)包由標(biāo)簽l1封裝。進(jìn)一步假設(shè)asbr116通信地耦接至多個不同的asbr(包括asbr122)(在圖1未示出其它asbr)。而且,asbr116可以在與鏈路130相關(guān)聯(lián)的路由表以及轉(zhuǎn)發(fā)表內(nèi)儲存標(biāo)簽l1。因此,asbr116可以通過耦接至鏈路130的接口分配標(biāo)簽l1,并且asbr122可以相應(yīng)地使用標(biāo)簽l1公告標(biāo)簽路由。作為回應(yīng),由于標(biāo)簽l1預(yù)先儲存在與鏈路130相關(guān)聯(lián)的路由表內(nèi),所以在使用標(biāo)簽l1標(biāo)記路由時,asbr116可以在與鏈路130相關(guān)聯(lián)的路由表內(nèi)安裝路由。同樣,如果asbr116經(jīng)由耦接至鏈路130的接口接收由標(biāo)簽l1封裝的數(shù)據(jù)包,則asbr116可以確定在與鏈路130相關(guān)聯(lián)的轉(zhuǎn)發(fā)表內(nèi)存在標(biāo)簽l1,因此,根據(jù)轉(zhuǎn)發(fā)表的轉(zhuǎn)發(fā)信息轉(zhuǎn)發(fā)數(shù)據(jù)包(例如,至路由器114)。
然而,假設(shè)asbr116經(jīng)由一個不同的接口接收使用l1標(biāo)記的數(shù)據(jù)包。asbr116可以確定在與不同的接口相關(guān)聯(lián)的轉(zhuǎn)發(fā)表內(nèi)是否存在l1。由于l1與鏈路130相關(guān)聯(lián)(根據(jù)以上討論),所以asbr116可以確定在與不同的接口相關(guān)聯(lián)的轉(zhuǎn)發(fā)表內(nèi)不存在l1。因此,asbr116可以丟棄數(shù)據(jù)包,從而防止標(biāo)簽假冒。這假設(shè)未通過不同的接口預(yù)先并且單獨(dú)地分配標(biāo)簽l1,標(biāo)簽不需要在不同的標(biāo)簽空間之間唯一。
通過這種方式,asbr116的不可信對端(未包含在as110內(nèi)的網(wǎng)絡(luò)裝置)的路由和轉(zhuǎn)發(fā)信息可以與可信對端(即,as110的其它網(wǎng)絡(luò)裝置,例如,pe路由器112和路由器114)的路由和轉(zhuǎn)發(fā)信息隔離。因此,asbr116可以維護(hù)mpls家族的各個路由和轉(zhuǎn)發(fā)表,僅通過與相應(yīng)路由實(shí)例的對端交換的標(biāo)簽傳播。實(shí)例先關(guān)的表還提供單獨(dú)的路由域,這可以提供與ip流量的防火墻相似的保障。
圖2是示出圖1的asbr116的組件的示例設(shè)置的框圖。asbr122可以包括相似的組件。在圖2的示例中,asbr116包括朝向供應(yīng)商間鏈路的接口卡174a–174n(朝向供應(yīng)商間鏈路的ifc174)和朝向核心的接口卡172a–172n(“朝向核心的ifc172”),其中,接口卡174a–174n用于通過入站鏈路182a–182n(“入站鏈路182”)和出站鏈路180a–180n(“出站鏈路180”)傳送數(shù)據(jù)包;接口卡172a–172n用于通過出站鏈路178a–178n(“出站鏈路178”)和入站鏈路176a–176n(“入站鏈路176”)傳送數(shù)據(jù)包。通過多個接口端口(未示出),朝向核心的ifc172耦接至出站鏈路178和入站鏈路176,并且朝向供應(yīng)商間鏈路的ifc174耦接至入站鏈路182和出站鏈路180。每個朝向核心的ifc172耦接至as110的相應(yīng)網(wǎng)絡(luò)裝置,而每個朝向供應(yīng)商間鏈路的ifc174耦接至相應(yīng)的客戶邊緣網(wǎng)絡(luò)裝置(任何或所有這些客戶邊緣網(wǎng)絡(luò)裝置可以屬于不同的客戶)或者耦接至as110外部的其它網(wǎng)絡(luò)。應(yīng)理解的是,字母“n”用于表示任意數(shù)量的裝置,而且此外,雖然ifc172和ifc174的基數(shù)都使用變量“n”表示,但是ifc174的數(shù)量不必等于ifc172的數(shù)量。
asbr116還包括處理單元150。處理單元150包括轉(zhuǎn)發(fā)引擎164、轉(zhuǎn)發(fā)信息庫(fib)162、路由引擎154以及路由信息庫(rib)152。轉(zhuǎn)發(fā)信息庫162包括as轉(zhuǎn)發(fā)表168和as間轉(zhuǎn)發(fā)表170,而路由信息庫152包括as路由表158和as間路由表160。默認(rèn)路由示例對應(yīng)于as路由表158和as轉(zhuǎn)發(fā)表168。as間轉(zhuǎn)發(fā)表170形成用于as間鏈路的轉(zhuǎn)發(fā)實(shí)例,例如,對應(yīng)于ifc174中相應(yīng)的一個。
處理單元150可以在硬件、軟件、固件或其任何組合內(nèi)實(shí)現(xiàn)。在一個示例中,轉(zhuǎn)發(fā)引擎164的指令在計算機(jī)可讀儲存介質(zhì)內(nèi)編碼并且由處理單元150的處理器執(zhí)行。在其它示例中,轉(zhuǎn)發(fā)引擎164對應(yīng)于離散硬件單元,例如,數(shù)字信號處理器(dsp)、特定用途集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、或任何其它等效的集成或離散邏輯電路或其組合。同樣,路由引擎154包括硬件、軟件和/或固件的任何組合,其執(zhí)行一個或多個路由協(xié)議,以確定通過網(wǎng)絡(luò)的路由。路由引擎154在rib152內(nèi)儲存了已知的并且計算的路由,其中,由asbr116提供的用于不同vpn的客戶路由儲存在as間路由表160內(nèi),用于在每個as間轉(zhuǎn)發(fā)表170內(nèi)生成vpn特有的轉(zhuǎn)發(fā)信息。as轉(zhuǎn)發(fā)表168將至單獨(dú)的as的鏈路(例如,鏈路130)的裝置的隧道與一個朝向核心的ifc172相關(guān)聯(lián)。通過這種方式,不同的路由示例用于為不同的vpn在邏輯上分離路由和轉(zhuǎn)發(fā)信息。
處理單元150還儲存配置(config)數(shù)據(jù)156和映射數(shù)據(jù)166。配置數(shù)據(jù)156通常由管理員提供,以限定asbr116的配置數(shù)據(jù),包括指定ifc172、174。此外,asbr116可以生成配置數(shù)據(jù)156,以限定as路由表158還是as間路由表160是否對應(yīng)于ifc172、174的每一個。同樣,映射數(shù)據(jù)166包括限定在as路由表158、as轉(zhuǎn)發(fā)表168、as間路由表160、as間轉(zhuǎn)發(fā)表170以及朝向核心的ifc172和朝向供應(yīng)商間鏈路的ifc174之間的對應(yīng)性的數(shù)據(jù)。
通常,在asbr116通過ifc174中的一個(例如,ifc174a)接收數(shù)據(jù)包時,ifc174a將數(shù)據(jù)包傳送給轉(zhuǎn)發(fā)引擎164。轉(zhuǎn)發(fā)引擎164檢查數(shù)據(jù)包,以確定數(shù)據(jù)包的目的地,例如,基于包括目的地的互聯(lián)網(wǎng)協(xié)議(ip)地址或用于封裝數(shù)據(jù)包的標(biāo)簽的數(shù)據(jù)包的報頭信息或者基于用于封裝數(shù)據(jù)包的標(biāo)簽。
根據(jù)本公開的技術(shù),as路由表158和as轉(zhuǎn)發(fā)表168與朝向核心的ifc172相關(guān)聯(lián)。即,處理單元150將as路由表158的路由信息和as轉(zhuǎn)發(fā)表168的轉(zhuǎn)發(fā)信息用于通過每個ifc172接收的數(shù)據(jù)包。換言之,處理單元150為朝向核心的ifc172維護(hù)單個路由表和單個轉(zhuǎn)發(fā)表。然而,每個朝向供應(yīng)商間鏈路的ifc174與as間路由表160以及相應(yīng)的一個as間轉(zhuǎn)發(fā)表170相關(guān)聯(lián)。通過這種方式,在asbr116通過一個朝向供應(yīng)商間鏈路的ifc174接收數(shù)據(jù)包時,處理單元150將通過其接收數(shù)據(jù)包的一個朝向供應(yīng)商間鏈路的ifc174用作選擇一個as間轉(zhuǎn)發(fā)表170的上下文。
例如,如果asbr116通過朝向供應(yīng)商間鏈路的ifc174a(例如,其規(guī)定asbr116是其目的地)接收已標(biāo)記的路由公告,則路由引擎154可以確定已標(biāo)記的路由公告的標(biāo)簽是否通過朝向供應(yīng)商間鏈路的ifc174a預(yù)先分配。即,路由引擎154可以選擇與朝向供應(yīng)商間鏈路的ifc174a相關(guān)聯(lián)的as間路由表160(由配置數(shù)據(jù)156表示),并且確定該標(biāo)簽是否儲存在所選的一個as間轉(zhuǎn)發(fā)表170內(nèi)。如果標(biāo)簽儲存在所選的一個as間轉(zhuǎn)發(fā)表170內(nèi),則轉(zhuǎn)發(fā)引擎164可以將數(shù)據(jù)包轉(zhuǎn)發(fā)給路由引擎154,該路由引擎將路由從已標(biāo)記的路由公告中安裝到as間路由表160內(nèi),然后,將對應(yīng)的一個as間轉(zhuǎn)發(fā)表170(即,與ifc174a相關(guān)聯(lián)的一個as間轉(zhuǎn)發(fā)表)的轉(zhuǎn)發(fā)信息編程。然而,如果標(biāo)簽未儲存在所選的一個as間轉(zhuǎn)發(fā)表170內(nèi),則轉(zhuǎn)發(fā)引擎164可以丟棄已標(biāo)記的路由公告。
同樣,當(dāng)asbr116通過一個朝向供應(yīng)商間鏈路的ifc174接收待轉(zhuǎn)發(fā)的數(shù)據(jù)包(例如,指定除了asbr116以外的目標(biāo))時,轉(zhuǎn)發(fā)引擎164可以確定與一個朝向供應(yīng)商間鏈路的ifc174對應(yīng)(例如,基于映射數(shù)據(jù)166)的一個as間轉(zhuǎn)發(fā)表170。與已標(biāo)記的路由公告一樣,轉(zhuǎn)發(fā)引擎164可以確定一個朝向供應(yīng)商間鏈路的ifc174(通過其接收已標(biāo)記的數(shù)據(jù)包),并且將其用作選擇一個as間轉(zhuǎn)發(fā)表170(在其內(nèi)執(zhí)行轉(zhuǎn)發(fā)數(shù)據(jù)包的查找)的上下文。而且,轉(zhuǎn)發(fā)引擎164可以確定在as間轉(zhuǎn)發(fā)表170內(nèi)是否存在用于封裝數(shù)據(jù)包的標(biāo)簽。如果存在該標(biāo)簽,則轉(zhuǎn)發(fā)引擎164通過一個ifc172轉(zhuǎn)發(fā)數(shù)據(jù)包,所選擇的一個as間轉(zhuǎn)發(fā)表170的轉(zhuǎn)發(fā)信息將標(biāo)簽(或數(shù)據(jù)包的其它信息,例如,數(shù)據(jù)包的標(biāo)簽棧的不同標(biāo)簽或在數(shù)據(jù)包的報頭信息內(nèi)指定的目的地ip地址)映射到該ifc172。然而,如果在所選擇的一個as間轉(zhuǎn)發(fā)表170內(nèi)不存在標(biāo)簽,則轉(zhuǎn)發(fā)引擎164可以丟棄該數(shù)據(jù)包。
通過這種方式,asbr116表示在第一as(as110)的第一pe路由器(pe路由器112)和不同的第二as(as120)的第二pe路由器(pe路由器126)之間的第一as的asbr的示例,其中,第一pe路由器和第二pe路由器形成mpls路徑(mpls路徑140)。而且,在該示例中,asbr116包括:接口,通信地耦接至該第一as(例如,朝向供應(yīng)商間鏈路的ifc174)外部的路由裝置;存儲器,配置為儲存與該接口相關(guān)聯(lián)的轉(zhuǎn)發(fā)表(例如,as間轉(zhuǎn)發(fā)表170);以及一個或多個處理單元(例如,處理單元150),配置為通過接口接收數(shù)據(jù)包,確定該數(shù)據(jù)包由mpls標(biāo)簽封裝,基于通過其接收該數(shù)據(jù)包的接口選擇轉(zhuǎn)發(fā)表,并且根據(jù)轉(zhuǎn)發(fā)信息(該轉(zhuǎn)發(fā)表將mpls標(biāo)簽映射到轉(zhuǎn)發(fā)信息中)轉(zhuǎn)發(fā)該數(shù)據(jù)包。
圖3是示出用于確定如何處理從位于as外部的裝置接收的已標(biāo)記數(shù)據(jù)的示例方法的流程圖。圖3的方法可以由例如asbr116或asbr122執(zhí)行。為了解釋的目的,相對于asbr116解釋圖3的方法。
首先,asbr116可以確定接口(例如,一個ifc174)通信地耦接于至as間裝置的鏈路(200)。例如,管理員可以利用用于指示接口通信地耦合至as110外部的裝置的信息配置asbr116。該接口可以耦接至最終到達(dá)單獨(dú)的as(例如,as120)的鏈路(例如,鏈路130)。
響應(yīng)于該確定,asbr116可以實(shí)例化接口的轉(zhuǎn)發(fā)表(202)。在接口耦接至as110(即,在其內(nèi)包括asbr116的相同as)的裝置的示例中,asbr116可以使用共同轉(zhuǎn)發(fā)表來儲存接口的轉(zhuǎn)發(fā)信息。然而,在圖3的示例中,由于接口通信地耦接至as110外部的裝置,所以asbr116實(shí)例化單獨(dú)的轉(zhuǎn)發(fā)表,例如,一個as間轉(zhuǎn)發(fā)表170。
asbr116還通過接口分配標(biāo)簽(204)。asbr116還在轉(zhuǎn)發(fā)表內(nèi)儲存標(biāo)簽(206),即,為接口(通過其分配標(biāo)簽)實(shí)例化的轉(zhuǎn)發(fā)表。而且,asbr116可以通過接口分配多個標(biāo)簽,并且在轉(zhuǎn)發(fā)表內(nèi)儲存每個標(biāo)簽(并且還可以在接口的路由表內(nèi)儲存標(biāo)簽)。
隨后,asbr116可以通過接口(208)接收已標(biāo)記數(shù)據(jù)。即,數(shù)據(jù)可以由標(biāo)簽封裝或者另外包括標(biāo)簽。標(biāo)簽不必與在步驟204中分配的標(biāo)簽相同。因此,asbr116可以基于包含數(shù)據(jù)的標(biāo)簽是否包含在轉(zhuǎn)發(fā)表內(nèi)來處理數(shù)據(jù)(210)。尤其是,如果包含數(shù)據(jù)的標(biāo)簽也包含在轉(zhuǎn)發(fā)表內(nèi),則asbr116可以使用所接收的數(shù)據(jù),而如果標(biāo)簽未包含在轉(zhuǎn)發(fā)表內(nèi),則asbr116可以丟棄數(shù)據(jù)。
例如,如果所接收的數(shù)據(jù)是已標(biāo)記的路由公告,并且標(biāo)簽包含在接口的轉(zhuǎn)發(fā)表內(nèi),則asbr116可以在為接口實(shí)例化的路由表內(nèi)安裝路由??商鎿Q地,如果所接收的數(shù)據(jù)是已標(biāo)記的數(shù)據(jù)包(即,由包括標(biāo)簽的mpls標(biāo)簽棧封裝的數(shù)據(jù)包),且所接收的數(shù)據(jù)的目的地是一單獨(dú)的裝置,且標(biāo)簽包含在接口的轉(zhuǎn)發(fā)表內(nèi),則asbr116可以根據(jù)為接口(通過其接收數(shù)據(jù)包)實(shí)例化的轉(zhuǎn)發(fā)表的轉(zhuǎn)發(fā)信息,轉(zhuǎn)發(fā)數(shù)據(jù)包。
圖4是示出根據(jù)本公開的技術(shù)的另一個示例方法的流程圖。再次,為了示例的目的,雖然asbr122可以執(zhí)行相似的方法,但是相對于asbr116解釋圖4的方法。
在該示例中,asbr116經(jīng)由as間接口(例如,一個朝向供應(yīng)商間鏈路的ifc174)接收數(shù)據(jù)包(220)。接口將數(shù)據(jù)包提供給轉(zhuǎn)發(fā)引擎164。轉(zhuǎn)發(fā)引擎164確定數(shù)據(jù)包由標(biāo)簽封裝(222),例如,包括標(biāo)簽的mpls標(biāo)簽棧。例如,轉(zhuǎn)發(fā)引擎164可以處理數(shù)據(jù)包的報頭,并且確定在數(shù)據(jù)包的以太網(wǎng)報頭與ip報頭之間具有mpls報頭。即,以太網(wǎng)報頭的數(shù)據(jù)可以指定用于指示數(shù)據(jù)包包括mpls報頭的以太網(wǎng)類型值。
轉(zhuǎn)發(fā)引擎164基于經(jīng)由其接收數(shù)據(jù)包的接口選擇轉(zhuǎn)發(fā)表(224)。即,轉(zhuǎn)發(fā)引擎164選擇與該接口相關(guān)聯(lián)的轉(zhuǎn)發(fā)表(一個as間轉(zhuǎn)發(fā)表170)。因此,轉(zhuǎn)發(fā)引擎164確定用于封裝數(shù)據(jù)包的標(biāo)簽是否包含在轉(zhuǎn)發(fā)表內(nèi)(226)。如果標(biāo)簽包含在轉(zhuǎn)發(fā)表內(nèi)(226的“yes”分支),則轉(zhuǎn)發(fā)引擎164使用轉(zhuǎn)發(fā)表的數(shù)據(jù)轉(zhuǎn)發(fā)數(shù)據(jù)包(228)。例如,轉(zhuǎn)發(fā)表可以將數(shù)據(jù)包的目的地(可以由該標(biāo)簽、mpls標(biāo)簽棧的另一個標(biāo)簽、數(shù)據(jù)包的ip報頭或其它信息規(guī)定)映射到一個朝向核心的ifc172。然而,如果該標(biāo)簽未包含在轉(zhuǎn)發(fā)表內(nèi)(226的“no”分支),則轉(zhuǎn)發(fā)引擎164可以丟棄數(shù)據(jù)包(230)。
通過這種方式,圖4的方法可以由第一as(例如,as110)的asbr裝置(例如,asbr116)執(zhí)行,其中,asbr裝置在第一as的第一pe路由器(例如,pe路由器112)和不同的第二as(例如,as120)的第二pe路由器(例如,pe路由器126)之間,并且其中,第一pe路由器和第二pe路由器形成mpls路徑(例如,mpls路徑140)。圖4的方法還表示以下方法的示例,該方法包括:經(jīng)由asbr裝置的接口接收數(shù)據(jù)包,該asbr裝置的接口通信地耦接至該第一as外部的路由裝置;確定該數(shù)據(jù)包由mpls標(biāo)簽封裝;基于經(jīng)由其接收該數(shù)據(jù)包的接口選擇轉(zhuǎn)發(fā)表;并且當(dāng)該轉(zhuǎn)發(fā)表包括mpls標(biāo)簽時,根據(jù)該轉(zhuǎn)發(fā)表的轉(zhuǎn)發(fā)信息,轉(zhuǎn)發(fā)該數(shù)據(jù)包。
雖然圖4的方法表示由asbr116轉(zhuǎn)發(fā)的數(shù)據(jù)包的示例,但是在其它示例中,數(shù)據(jù)包可以傳送至asbr116本身。例如,數(shù)據(jù)包可以指定asbr116作為其目的地,并且包括已標(biāo)記的路由公告。在一些示例中,asbr116可以通過基本上相同的方式處理這種數(shù)據(jù)包,例如,確定標(biāo)簽是否包含在轉(zhuǎn)發(fā)表內(nèi)。然而,在確定數(shù)據(jù)包的標(biāo)簽是否通過接收數(shù)據(jù)包的接口分配之后,轉(zhuǎn)發(fā)引擎164可以將數(shù)據(jù)包轉(zhuǎn)發(fā)給路由引擎154,而不是通過一個朝向核心的ifc172轉(zhuǎn)發(fā)數(shù)據(jù)包。
在本公開中描述的技術(shù)可以至少部分在硬件、軟件、固件或其任何組合內(nèi)實(shí)現(xiàn)。例如,所描述的技術(shù)的各個方面可以在一個或多個處理器內(nèi)實(shí)現(xiàn),包括一個或多個微處理器、數(shù)字信號處理器(dsp)、特定用途集成電路(asic)、現(xiàn)場可編程門陣列(fpga)或任何其它等效的集成或離散邏輯電路以及這種元件的任何組合。術(shù)語“處理器”或“處理電路”可以籠統(tǒng)地涉及單獨(dú)的或者與其它邏輯電路相結(jié)合的任何上述邏輯電路或者任何其它等效電路。包括硬件的控制單元還可以執(zhí)行本公開的一個或多個技術(shù)。
這種硬件、軟件以及固件可以在相同的裝置內(nèi)或者在單獨(dú)的裝置內(nèi)實(shí)現(xiàn),以支持在本公開中描述的各種操作和功能。此外,任何描述的單元、模塊或組件可以共同實(shí)現(xiàn)或者作為離散但彼此協(xié)作的邏輯裝置單獨(dú)地實(shí)現(xiàn)。將不同的特征描述為模塊或單元,旨在突出不同的功能方面并且,不是必然表示這種模塊或單元必須由單獨(dú)的硬件或軟件組件實(shí)現(xiàn)。更確切地說,與一個或多個模塊或單元相關(guān)聯(lián)的功能可以由單獨(dú)的硬件或軟件組件執(zhí)行,或者集成在共同的或單獨(dú)的硬件或軟件組件內(nèi)。
在本公開中描述的技術(shù)還可以在包含指令的計算機(jī)可讀介質(zhì)中體現(xiàn)或編碼,例如,計算機(jī)可讀儲存介質(zhì)。在計算機(jī)可讀介質(zhì)內(nèi)嵌入或編碼的指令可以使可編程處理器或其它處理器執(zhí)行該方法,例如,當(dāng)執(zhí)行指令時。計算機(jī)可讀介質(zhì)可以包括非易失性計算機(jī)可讀儲存介質(zhì)和瞬時通信介質(zhì)。有形并且非易失性計算機(jī)可讀儲存介質(zhì)可以包括隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可編程只讀存儲器(prom)、可擦除可編程只讀存儲器(eprom)、電可擦除可編程只讀存儲器(eeprom)、閃存、硬盤、cd-rom、軟盤、盒式磁帶、磁性介質(zhì)、光學(xué)介質(zhì)或其它計算機(jī)可讀儲存介質(zhì)。應(yīng)理解的是,術(shù)語“計算機(jī)可讀儲存介質(zhì)”指的是物理儲存介質(zhì),而非信號、載波或其它瞬時介質(zhì)。
已經(jīng)描述了各種示例。這些和其它示例在以下權(quán)利要求的范圍內(nèi)。