技術產生的背景:
VPN(Virtual Private Network)技術的廣泛應用,用戶對在VPN中運營組播業務的需求日益迫切。比如用戶租用了一個BGP MPLS VPN的專線,這個用戶需要用組播來開視頻會議,那么就給運營商提出了新的需求,因為普通的BGP MPLS VPN只能承載IPV4單播的流量(把IPV4單播地址轉換成VPNV4的地址)而不能承載組播的流量,所以就需要一種新的技術把用戶的組播流量在公網上透傳。
技術解決的難點:
1,普通的VPN之所以很難解決用戶組播穿越的問題,主要原因在于如何讓公網路由器知道用戶在哪里有組播的需求,然而單純靠公網IPV4單播是無法解決這樣的問題的,所以我們不光要在私網上實現組播,而且要在公網上也有一種類似組播一樣點到多點的解決方案,而組播VPN就是其中的一種解決方案,是利用公網的組播來承載私網的組播。
2,運營商希望在支持MVPN的同時盡量對網絡有比較少的更改,也就是說只更新部分設備而不必更新全部設備就可以支持私網組播。而MVPN很好的解決了這個問題,MVPN只需要PE的支持,而不需要對CE或者P設備做更改。
MVPN的基本概念:
1,MD(Multicast Domain):可以理解為單播中的VRF,不同的VPN擁有不同的MD。
2,MT(Multicast Tunnel):可以理解為私網組播的隧道,剛才說過了MVPN是通過公網組播地址來承載私網組播地址的,所以就要對數據報來進行封裝,MVPN默認的封裝是采用GRE來進行封裝,實現PE to PE的一個隧道。
3,MTI( Multicast Tunnel Interface):可以理解為私網組播到公網組播隧道的出入口。如圖所示。
4,Share Group:因為私網的組播需要在MTI上封裝成公網的組播,所以需要提供一個公網的地址來進行轉換。得到公網地址以后會沿著MT出發創建Share-MDT(Share-Multicast Distribution Tree)指導數據轉發。Share-MDT連接著支持該VPN實例的所有PE。
MVPN的工作流程:
1,Receiver通過IGMP協議通知CE1接收并轉發組播組G的數據。CE1在本地創建(*,G)項,同時向私網RP(CE2)發起加入過程。
2,PE1上的VPN實例接收到CE1發送的Join消息,本地創建(*,G)項,指定上游接口為MTI。然后將Join消息交由路由器做進一步處理。這時,PE1上的VPN實例認為Join消息已從MTI發出。
3,PE1對Join消息進行GRE封裝,以PE2的IBGP接口地址為組播源地址,Share-Group地址為組播組地址,轉換成普通的公網組播數據報文(S,G)(如圖紫色)。然后交由PE1上的公網實例向公網轉發。
4,組播數據報文(S,G)沿Share-MDT傳輸到各PE上的公網實例。各PE對報文進行解封裝,還原為發往私網RP的Join消息。然后,各PE檢查該Join消息,如果發現私網RP(CE2)在其直連site中,則交由其上的VPN實例處理,否則丟棄該Join消息。
5,PE2上的VPN實例接收到Join消息,認為是從MTI獲得的。本地創建(*,G)項,指定下游接口為MTI、上游接口為朝向CE2的接口。同時向私網RP發送Join消息。
6,CE2收到PE2上的VPN實例發送的Join消息,本地更新或創建(*,G)項,至此跨越VPN的組播共享樹構建完成。
Share-MDT到Switch-MDT的切換條件:
Share-MDT到Switch-MDT的切換是需要有兩個條件來驅動的:
1,私網組播數據報文經過高級ACL規則過濾結果為permit。否則沿Share-MDT轉發。
2,私網組播數據報文的轉發速率超過了切換閾值,且維持一定的時間。在某些情況下,私網組播數據的轉發速率會在切換閾值上下振蕩。為了避免組播數據流在Share-MDT與Switch-MDT之間頻繁切換,當系統經過計算發現轉發速率高于閾值后,并不立即執行切換,而是啟動switch-delay定時器,超時時間為該命令的配置值。在switch-delay定時器超時前,系統將繼續檢測數據轉發速率。如果速率始終低于切換閾值則切換至Switch-MDT,否則繼續使用Share-MDT進行報文轉發。
未來展望:
這個技術目前在現網的應用很少,據我所知只在俄羅斯有過一個實驗局點,測試成功以后卻被下馬了。我個人認為主要原因是在于MVPN不能很智能的發現接收者,按照私網的流量需求來智能的驅動公網隧道的建立,MVPN最開始的實現方法是用Share-MDT把流量傳遞給所有PE然后讓PE來選擇是否接受流量,這樣是對帶寬極大的浪費。目前來看即將取代這個技術的是P2MP TE,P2MP TE可以由PIM直接驅動隧道的建立,是真正的按需傳遞,不需要首先把流量傳給所有的PE。其次他還可以基于RSVP,來實現有帶寬保障的私網組播。大家可以在ietf.org上參加相關的討論組來獲取最新的資料。



