虚拟机无法接受组播消息_IPTV(组播)骨干网完整解决方案--四川广电网络
一,基于ANYCAST 設計骨干RP熱備
1,RP選舉說明
組播網絡RP設置分為動態,靜態2種。但和很多網絡協議不一樣,RP的選擇默認是動態優先。也就是在路由器上同時存在動態和靜態RP的時候會優選動態,除非定義強制靜態優選動態才不會優先于靜態。
針對多個動態RP根據組播相關定義其優先級順序為:
1) 服務的組范圍 (以最長掩碼匹配)
2) RP優先級
3) HASH(默認30)
4)IP地址大
問題描述:
如果單純的使用一個RP路由器進行服務勢必導致單點故障問題,如果采用多RP路由器進行普通的動態RP備份無法負載分擔壓力,即永遠只有一臺路由器提供RP能力服務。為了更好的設計組播骨干網川網將基于ANYCAST RP思想進行RP設計。
ANYCAST RP實現主要有MSDP和PIM2種實現方式,對于運營商通常選擇MSDP實現。采用ANYCAST RP后不僅僅實現了對RP的熱備,而且也讓RP路由器可以負載分擔壓力,就近提供服務每個邊緣路由器節點。
命令實現 (思科IOS-XR):
router msdp
originator-id Loopback0//設置起源RP(此地址不能是本地的RP地址,這里假設RP地址是LOOPBACK 1),由于MSDP在收到對端SA消息后發現收到的RP消息和本地RP一致會丟棄(防環),因此采用非RP地址作為發起源RP 。(因為MSDP主要目的是告訴對端鄰居,針對某個組播地址G,信源的地址S是誰,對端路由器在收到SA消息后會得到SG消息,在確定自己有對應的*G條目后從而朝著信源方向建立S,G條目)
peer X.X.X.X//指明對端鄰居地址
connect-source Loopback0//使用本地接口和對端鄰居建立連接
工作流程解釋
1):例如路由器A和路由器B均有RP地址 60.255.1.1,并被配置在LOOPBACK 1下面。路由器A和路由器B分別有不同的下游接收者,并且存在條目(*,239.1.1.1)。組播源向RP發送注冊報文,根據最短路徑的流達到路由器A后,A根據正常的流程向源建立(S,239.1.1.1)條目,并轉發給下游接口。如果此刻路由器B同樣存在(*,239.1.1.1),在沒有配置MSDP情況下會導致路由器B無法得知源的地址S,以至于導致路由器B下面的客戶無法收到組播流。
2),為了解決這個問題,使用上述命令在路由器A和路由器B之間建立MSDP鄰居,這樣A和B消息通過SA消息交互。SA消息包含了S,G相關信息。 B收到后,同樣會以正常流程向源建立(S,G)條目,并轉發流量給下游接口。這樣路由器B下游的用戶也可以收到組播流。
3),當其中任何一臺路由器出現故障時,另外一臺路由器仍然以唯一RP路由器身份服務全網,在同時正常的時候2臺路由器又可以起到負載分擔的作用邊緣路由器就近尋找RP路由器服務,無疑方式更優于單純的動態RP方式。
二,基于ANYCAST信源熱備
信源作為重要節點,至少需要2臺以上作為熱備份。通常傳統方式是使用心跳(通常IP探測)在2臺信源之間建立相互備份關系,但通常這種方式發生在同信源廠家之間,并且通常僅能支持2臺設備備份難實現3臺以上信源熱備,除此之外切換發生在探測報文確定對方失效之后(預計在主用故障之后會有超10秒的延遲切換)
1)更好的熱備提議:
主備信源編碼同IP地址傳送到IP承載網,例如主備信源均編碼CCTV 1(239.1.1.1)
存在問題:
如果主備信源的源地址不一樣即主信源是S1,備用信源地址是S2,S3會導致使用機頂盒觀看節目時黑屏,花屏。
2)問題分析:
如果機頂盒收到2套239.1.1.1的流,例如一套CCTV 1流8M,這個時候機頂盒會接收16M的流,由于這16M的流都是239.1.1.1的地址,機頂盒都會接收并進行處理,但是由于流量過載導致混亂進而出現黑屏,花屏等現象。所以在使用這個方式必須保證多套流到IP骨干網但僅一套流傳到機頂盒。
3)解決辦法:
針對組播路由通常會以 S,G進行標識。S即信源地址,G為組播地址。路由器僅能加載一個S,G到組播轉發條目。如果2套信源地址分別為S,S1。那么在IP網路由器上會存在S,G S1,G ,導致流同時傳遞給機頂盒。因此根據這個機制,川網在設計IP組播信源熱備,會設置所有信源地址為S,并且把不同的信源掛載到不同的路由器上,這樣可以實現2臺,3臺,4臺甚至N臺信源的熱備。并保證全網所有路由器針對同一節目均只有一個S,G條目(根據IGP COST選擇最優)。
現象測試:
川網部署2臺在信源在不同的路由器上,并且設置一樣的S地址。根據IGP COST 讓其中一臺優選。經川網測試:打開機頂盒觀看電視,待穩定后關閉主用信源。電視僅起不到1秒的輕微馬賽克就完成切換。可以驗證組播路由轉發表會同步IGP 路由收斂變化,全網IGP收斂通常不到1秒。根據此機制不僅僅可以靈活實現不同廠家,不多數量信源熱備,更能大幅降低切換延遲。
三, 安全風險:
1, 用戶以自己為信源反打非法流到IP城域網,干擾全網接收或無法管理區域在配置其他組播流(集客/本地節目)的時候誤配和公共IP相同的組播IP干擾正常的IPTV
如上圖所示:
在分公司MSE下游用戶在自家注入一套239.132.1.1的非法流到城域網,如果此時OLT無法過濾到反向的239.132.1.1的流,若239.132.1.1為公司某正常節目地址,會造成該頻道全省黑屏或者花屏甚至非法插播等嚴重問題。
問題規避:1,分公司OLT對反向流進行過濾
2,RP路由器通過防止非法注冊策略過濾
針對問題規避第一種方式相對好理解,只要分公司OLT支持對應功能即可,但實際上并不是完美的,總有遺漏,甚至存在本地節目錯誤編碼成公共節目地址。因此我們往往需要第2道防范機制,根據組播機制。信源要把流傳遞給用戶,首先是向第一跳路由器向RP發送一個注冊報文此報文為單播報文,因此在骨干層面只要阻斷接收未經允許的注冊報文即可。在這里路由器提供注冊白名單策略,策略含義只有帶特定S,G消息才可以注冊。
命令:思科 IOS-XR,其他廠家類似
ipv4 access-list zubo_rp_yuan
30 permit ipv4 10.80.210.0 0.0.0.255 239.132.1.0 0.0.0.255
40 permit ipv4 10.80.210.0 0.0.0.255 239.132.10.0 0.0.0.255 //定義策略只有源IP 10.80.210.0 并且提供的組播流是239.132.10.0的信息才可以注冊成功
1000 deny ipv4 any any
!
router pim
address-family ipv4
accept-register zubo_rp_yuan //應用策略
此刻若用戶反打非法流到城域網 地址和城域網現有節目一樣 例如為239.132.1.1,但由于用戶IP非10.80.210.0段,因此RP路由器會拒絕接收這套流,避免影響全網。
2, 非法動態RP影響
1)組播機制本身不完善的一些考慮
組播機制僅支持BSR地址的RPF校驗,并不支持RP地址的RPF校驗。例如BSR地址為60.255.255.1(BSR通過了城域網路由器RPF校驗),攜帶的RP地址為100.100.1.1(此地址可能是別的區域亂發布的)。這樣即使其他分公司(或別的無法管理區域)路由器沒有100.100.1.1路由,也會接收100.100.1.1作為自己路由器的RP。那么問題來了,假如由于本身配置的靜態或者優先級更低的動態,那么下游會朝著錯誤的方向加載(*,G)條目(此時RP地址為100.100.1.1然而這條路由在城域網是非法RP地址,甚至沒有路由到100.100.1.1),導致本區域IP節目全部黑屏
問題規避:1,統一管理,針對特大型骨干網在整合期比較困難
2,全省強制靜態優選
全省強制靜態優選RP命令模板:
中興強制綁定靜態RP模板:中興請基于以下前綴策略做
ip prefix-list XXXX seq 5 permit 239.132.0.0 16 // XXXX為自定義策略名稱
ip multicast-routing
router pim
static-rp 60.255.255.1 group-list XXXX
static-rp override
思科強制綁定靜態RP模板 IOS--XR版本 老版IOS亦可參考
ipv4 access-list XXXX // XXXX為自定義策略名稱
10 permit ipv4 239.132.0.0 0.0.255.255 any
router pim
address-family ipv4
rp-address 60.255.255.1 XXXX override
華為強制綁定靜態RP模板
acl number XXXX // XXXX為自定義策略名稱
rule 10 permit source 239.132.0.0 0.0.255.255
#
pim
static-rp 60.255.255.1 XXXX preferred
#
總結
以上是生活随笔為你收集整理的虚拟机无法接受组播消息_IPTV(组播)骨干网完整解决方案--四川广电网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++学习之路 | PTA乙级—— 10
- 下一篇: 二进制函数_Go二进制文件逆向分析从基础