【摘要】P2MP MPLS TE(Point-to Multi Protocol Label Switch Traffic Engineering)是MPLS的一個(gè)重要應(yīng)用,通過建立點(diǎn)到多點(diǎn)的LSP,并在建立過程中預(yù)留帶寬,從而對(duì)通過LSP的組播流量提供帶寬保護(hù)。本文主要描述通過P2MP TE實(shí)現(xiàn)跨VPN組播的方法。
【關(guān)鍵詞】P2MP;MPLS-TE VPN;組播
產(chǎn)生背景
目前,在部署IP/MPLS技術(shù)的網(wǎng)絡(luò)中主要是給用戶提供L3/L2的VPN服務(wù)。隨著用戶組播業(yè)務(wù)(如視頻會(huì)議等)需求的增長,用戶期望能在IP/MPLS網(wǎng)絡(luò)上為其提供組播VPN的服務(wù)。傳統(tǒng)基于MPLS的VPN解決方案只能承載單播業(yè)務(wù)。目前,網(wǎng)絡(luò)服務(wù)商主要通過在IP/MPLS網(wǎng)絡(luò)上使用MD(Multicast Domain,組播域,它是通過在服務(wù)提供商網(wǎng)絡(luò)中為每個(gè)VPN維護(hù)一個(gè)組播域來實(shí)現(xiàn)的)方案來提供組播VPN服務(wù)。該技術(shù)的本質(zhì)還是通過在網(wǎng)絡(luò)服務(wù)商中使用GRE隧道封裝用戶的組播流量,是基于IP的組播轉(zhuǎn)發(fā)技術(shù),并沒有使用MPLS的轉(zhuǎn)發(fā)機(jī)制。
當(dāng)前政務(wù)外網(wǎng)通常使用MPLS L3VPN實(shí)現(xiàn)不同部門之間的業(yè)務(wù)隔離,目前存在如下應(yīng)用,IPTV(Internet Protocol Television,網(wǎng)絡(luò)電視)需要不同的VPN站點(diǎn)都能接收到,由于傳統(tǒng)MD方案只能在一個(gè)VPN內(nèi)實(shí)現(xiàn)組播分發(fā)業(yè)務(wù),故當(dāng)一個(gè)PE(Provider Edge,運(yùn)營商邊緣設(shè)備)連接多個(gè)VPN站點(diǎn)時(shí),高效的實(shí)現(xiàn)不同VPN站點(diǎn)(也即跨VPN組播)同時(shí)接收組播流量是急需解決的問題。
1、P2MP-TE基礎(chǔ)
P2MP-TE[1][2]是MPLS流量工程的一種,MPLS流量工程在建立LSP的時(shí)候可以不依賴于IGP最短路徑。當(dāng)使用IP組播方式轉(zhuǎn)發(fā)組播時(shí),轉(zhuǎn)發(fā)過程中為了避免環(huán)路,需要對(duì)接收到的組播報(bào)文執(zhí)行RPF(Reverse Path Forwarding,逆向路徑檢測(cè),也即對(duì)于接收到的組播報(bào)文首先校驗(yàn)本地通往源地址的路由是否和接收到的入接口一致)。當(dāng)使用P2MP-TE LSP轉(zhuǎn)發(fā)組播報(bào)文時(shí)[3],由于轉(zhuǎn)發(fā)過程中使用標(biāo)簽轉(zhuǎn)發(fā),內(nèi)部報(bào)文對(duì)于P設(shè)備是不可見的,故不需要進(jìn)行校驗(yàn)。轉(zhuǎn)發(fā)過程中依靠分支節(jié)點(diǎn)(鏈接2個(gè)或以上P節(jié)點(diǎn))和bud節(jié)點(diǎn)(自身即是PE節(jié)點(diǎn)又是P節(jié)點(diǎn))的復(fù)制能力完成報(bào)文的復(fù)制,從而確保在同一鏈路上只出現(xiàn)一份組播報(bào)文。
P2MP-TE LSP建立過程如下:頭結(jié)點(diǎn)沿著計(jì)算的路徑發(fā)送Path消息,可以為每個(gè)葉子節(jié)點(diǎn)發(fā)送一個(gè)Path消息,也可以為多個(gè)尾節(jié)點(diǎn)只發(fā)送一個(gè)Path消息。當(dāng)多個(gè)尾節(jié)點(diǎn)使用一個(gè)Path消息建立時(shí),需要利用分支節(jié)點(diǎn)和bud節(jié)點(diǎn)的Path消息拆分能力,為所有其關(guān)聯(lián)的下一跳發(fā)送一個(gè)Path消息。Path消息到達(dá)尾節(jié)點(diǎn)時(shí),向上游發(fā)送Resv消息,其中攜帶為上游分配的標(biāo)簽,當(dāng)Resv消息到達(dá)分支節(jié)點(diǎn)或者bud節(jié)點(diǎn)時(shí),為不同下一跳向上游分配相同的標(biāo)簽,Resv消息到達(dá)頭結(jié)點(diǎn)時(shí),P2MP-TE LSP就建立成功了。
2、當(dāng)前方案弊端
現(xiàn)有使用MD方案解決跨VPN組播實(shí)現(xiàn)有如下幾種方式:
1、在和組播源相連的PE設(shè)備上為每個(gè)需要接收組播流量的VPN實(shí)例分別創(chuàng)建一個(gè)VRF,并分別為這些VRF綁定一個(gè)接口,這些接口都和組播源相連接。該種方式不但增大了和組播源相連PE設(shè)備的壓力(需要更多的接口和VRF),同時(shí)將為每個(gè)接收端VPN復(fù)制一份組播流在公網(wǎng)上傳播,影響了公網(wǎng)的傳輸帶寬。
2、在和組播源相連的PE設(shè)備上為每個(gè)需要接收組播流量的VPN實(shí)例分別創(chuàng)建一個(gè)VRF,只配置一個(gè)接口和視頻源相連,但是需要接收組播流量的VRF需要導(dǎo)入和視頻源相連VRF的路由,使用此種方式雖說一定程度減少了配置復(fù)雜度,但是還存在入口PE為每個(gè)接收端VPN復(fù)制一份組播流在公網(wǎng)上傳播,影響了公網(wǎng)的傳輸帶寬。
3、使用BGP的MDT地址族,通過使用該方式可以保證組播報(bào)文在公網(wǎng)中只傳輸一份,在每個(gè)接收端PE,需要為組播源對(duì)應(yīng)的VPN創(chuàng)建一個(gè)VRF,然后將從組播源對(duì)應(yīng)VRF接收到的組播流量轉(zhuǎn)發(fā)到其他組播接收者VPN對(duì)應(yīng)的VRF。雖說此種方式可以節(jié)省公網(wǎng)帶寬,但是各出口PE都需要配置發(fā)送端VPN實(shí)例,配置繁瑣。
4、不使用BGP的MDT地址族,但是在接收端PE通過配置組播源對(duì)應(yīng)VRF,然后通過配置將從組播源對(duì)應(yīng)VRF接收到的組播報(bào)文引入到需要接收組播流量的VRF中,該方式和3類似,所說不用使用BGP的MDT地址族,但是各出口PE都需要配置發(fā)送端VPN實(shí)例,配置繁瑣。
可以看出,上述方案不是存在浪費(fèi)公網(wǎng)帶寬,就是配置復(fù)雜,且由于實(shí)際轉(zhuǎn)發(fā)時(shí)使用的是IP組播隧道,故無法沿路徑預(yù)留帶寬,且在公網(wǎng)出現(xiàn)故障時(shí),由于IP組播目前還不支持快速重路由,故也無法快速對(duì)流量進(jìn)行保護(hù)。
2.1P2MP-TE跨VPN組播方案
如上圖所示,正常情形下,VPN1的兩個(gè)站點(diǎn)可以互訪,VPN2之間的站點(diǎn)可以互訪,但是VPN1和VPN2之間不可以互訪,為了能夠使VPN1和VPN2都可以接收到視頻流量,首先需要通過使用L3VPN的基本配置,在PE1上將視頻源對(duì)應(yīng)的路由發(fā)布給BGP鄰居,其攜帶的export RT和VPN1和VPN2配置的其中一個(gè)import RT相同,通過此種方式將組播源對(duì)應(yīng)的路由導(dǎo)入到PE2和PE3上VPN1和VPN2對(duì)應(yīng)的VRF路由表中,用于組播的RPF校驗(yàn)。
和組播源相連的PE1負(fù)責(zé)建立到達(dá)PE1和PE2的P2MP LSP。這里以PE2為例,當(dāng)PE2接收到CE1發(fā)送的加入組播消息時(shí),判斷是否存在對(duì)應(yīng)的P2MP LSP,若存在,則判斷該LSP是否已經(jīng)生成虛擬接口,若未生成,則生成虛擬接口,并生成一個(gè)以該虛擬接口為出口的組播路由用于RPF校驗(yàn),同時(shí)將該虛擬接口和CE對(duì)應(yīng)的VRF綁定。當(dāng)PE2在收到CE2發(fā)送的加入組播消息時(shí),執(zhí)行和收到CE1發(fā)送的加入組播消息相同操作,假設(shè)LSP對(duì)應(yīng)的虛擬接口已經(jīng)生成,只需將虛擬接口增加和CE2對(duì)應(yīng)的VRF綁定即可,也即該虛擬接口此時(shí)和VPN1和VPN2綁定。當(dāng)PE2從P2MP-LSP上接收到組播報(bào)文后,認(rèn)為是從虛擬接口上接收到的報(bào)文,由于已經(jīng)生成了以虛擬接口為出口的RPF校驗(yàn)路由,故能夠通過校驗(yàn),然后將報(bào)文進(jìn)行復(fù)制,同時(shí)發(fā)送給CE1和CE2,從而達(dá)到視頻流能夠送達(dá)不同的VPN。
3、典型應(yīng)用
本文描述的方法主要應(yīng)用于已經(jīng)部署IP/MPLS網(wǎng)絡(luò)環(huán)境中,若想新增跨VPN組播業(yè)務(wù),可以結(jié)合本文描述的方法,避免在MPLS核心網(wǎng)絡(luò)中引入IP組播,同時(shí)可以結(jié)合MPLS-TE的特性,對(duì)組播流量進(jìn)行帶寬保證和可靠性保證。
方案優(yōu)勢(shì)
1、使用該方法可以確保組播流量在MPLS網(wǎng)絡(luò)中只出現(xiàn)一份,且可以利用P2MP-TE的FRR特性在網(wǎng)絡(luò)鏈路或者節(jié)點(diǎn)出現(xiàn)故障時(shí),減少組播流量的中斷時(shí)間。
2、使用該方法不需要在組播源為每個(gè)接收VPN創(chuàng)建對(duì)應(yīng)的VRF。
3、使用該方法不需要在組播接收者PE創(chuàng)建一個(gè)組播源對(duì)應(yīng)的VRF,然后通過手工配置方式將組播流量引入不同的組播流量接收VPN。
4、由于P2MP-TE作為組播承載隧道,也即使用MPLS實(shí)現(xiàn)組播方式,故該方法不需要在MPLS骨干網(wǎng)中運(yùn)行IP組播協(xié)議。
參考文獻(xiàn)
[1]S. Yasukawa, Ed,”Signalling Requirements for Point-to-Multipoint Traffic-Engineered MPLS Label Switched Paths(LSPs).”RFC4461,IETF,April 2006
[2]R. Aggarwal, Ed,D. Papadimitriou, Ed,”Extensions to Resource Reservation Protocol - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE Label Switched Paths (LSPs)”,RFC4875, IETF,May 2007
[3]T. Eckert,E. Rosen, Ed.,”MPLS Multicast Encapsulations.”, RFC5332,IETF, August 2008
[4]Eric C. Rosen (Editor), Rahul Aggarwal (Editor),”Multicast in MPLS/BGP IP VPNs.”, draft-ietf-l3vpn-2547bis-mcast-10,January , 2010