華爲 PIM-SM RP選舉與切換
拓撲
(使用eNSP、GNS3模擬器 橋接)
基本配置:底層協議爲isis
AR-1 ip地址爲下圖,其他設備的ip地址類推
思科
R1(config)#int f0/0
R1(config-if)#ip address 192.168.10.10 255.255.255.0
R1(config-if)#no shut
R1(config-if)#ip igmp join-group 239.1.1.1
R1(config-if)#ip igmp join-group 239.1.1.2
R1(config-if)#no shut
R1(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.10.1
[AR-12]multicast routing-enable //開啓此設備的組播轉發功能
[AR-12]int g0/0/1
[AR-12-GigabitEthernet0/0/1]pim sm //選擇此接口的PIM模式爲SM---稀疏模式
[AR-12-GigabitEthernet0/0/1]int g0/0/2
[AR-12-GigabitEthernet0/0/2]pim sm
[AR-12-GigabitEthernet0/0/2]
[AR-12-GigabitEthernet0/0/2]int g0/0/0
[AR-12-GigabitEthernet0/0/0]pim sm
AR-3:dis cu
Isis泄露、前綴列表
AR-3:Import-route isis level-2 into level-1 filter-policy ip-prefix isis
AR-4:Import-route isis level-2 into level-1 filter-policy ip-prefix isis
AR-3
Ip ip-prefix 100 permit 0.0.0.0 0
Import-route isis level-2 into level-1 filter-policy ip-prefix 100
Import-route isis level-2 into level-1 filter-policy ip-prefix 200
Ip ip-prefix 200 permit 0.0.0.0 0 less-equal 32
Import-route isis level-2 into level-1 filter-policy ip-prefix 200
AR-4
Ip ip-prefix 200 permit 0.0.0.0 0 less-equal 32
Import-route isis level-2 into level-1 filter-policy ip-prefix 200
AR-4 C-BSR:
前提是C-BSR的環回口能Ping通
[P-1]interface LoopBack 0
[P-1-LoopBack0]pim sm
[P-1-LoopBack0]pim
[P-1-pim]c-bsr LoopBack 0
BSR由C-BSR之間自動選舉產生。選舉開始時,每個C-BSR都認爲自己是本PIM域的BSR,向域內所有PIM設備發送Bootstrap報文(以下稱自舉報文)。C-BSR在接收到其他C-BSR發來的自舉報文後,首先比較二者的優先級,優先級較高者獲勝;若優先級相同,則再比較二者IP地址,IP地址較大者獲勝。獲勝者將成爲域內的BSR,它會將自己的IP地址和RP-Set信息封裝在自舉報文中向域內發送。自舉報文還攜帶哈希掩碼信息,在C-RP競選中如果要進行哈希計算時需要。
AR-4勝出。
AR-4接口g0/0/0 抓包
AR-5 dis pim rp-info
[ASBR-1]int LoopBack 1
[ASBR-1-LoopBack1]pim sm
[ASBR-1-LoopBack1]pim
[ASBR-1-pim]c-rp LoopBack 1
動態選舉RP,成功
組播數據與單播數據在源與接收者直接互通
R2 ping 239.1.1.1 239.1.1.2
Dis pim routing-table
使得AR-5作爲239.1.1.1此組播組的首選RP節點,當AR-5故障後,AR-6自動接替;確保AR-5爲其他所有組播組提供RP節點服務
[ASBR-1]pim
[ASBR-1-pim]c-rp LoopBack 0 //指定本設備的環回扣0作爲競選者的BSR地址
[ASBR-2]acl number 2000
[ASBR-2-acl-basic-2000]rule 5 permit source 239.1.1.1 0.0.0.0
[ASBR-2-acl-basic-2000]quit
[ASBR-2]pim
[ASBR-2-pim]c-rp LoopBack 0 group-policy 2000 //loopback0需要使能pim,組播範圍爲ACl2000限制(239.1.1.1/32)
使得AR-6作爲239.1.1.2此組播組的首選RP節點,當AR-6故障後,AR-5自動接替;確保AR-6爲其他所有組播組提供RP節點服務
[ASBR-1]pim
[ASBR-1-pim]c-rp LoopBack 0
[ASBR-1]acl 2005
[ASBR-1-acl-basic-2005]rule 10 permit source 239.1.1.2 0.0.0.0
[ASBR-1-acl-basic-2005]quit
[ASBR-1]pim
[ASBR-1-pim]c-rp LoopBack 0 group-policy 2005
上述配置完成後在“葉子”路由器–AR-12連接AR-1與AR-2的鏈路同時開啓抓包,觀察組播包和PIM數據包
PIM-SM RPT是一棵以RP爲根,以存在組成員關係的PIM路由器爲葉子的組播分發樹。
當網絡中出現組成員(用戶主機通過IGMP加入某組播組G)時,組成員端DR向RP發送Join報文,在通向RP的路徑上逐跳創建(*,G)表項,生成一棵以RP爲根的RPT。
在RPT構建過程中,PIM路由器在發送Join報文時,會進行RPF檢查:查找到達RP的單播路由,單播路由的出接口爲上游接口,下一跳爲RPF鄰居。Join報文從組成員端DR開始逐跳發送,直至到RP。
AR-2 接口g4/0/2
AR-12 dis pim routing-table
PE-2 dis pim routing-table
首份組播數據的來源線路,使用的組播樹是RPT還是SPT?;後續組播包的來源線路,使用的組播樹是RPT還是SPT?
SPT;RPT。
通過查看PIM包的與各路由器的組播路由表判斷,針對239.1.1.1的數據轉發是否進行RPT向SPT的切換?請分析切換的原因
是
發送組播源註冊,針對組播數據, 去往源的時候爲等價路徑,選擇接口地址比較大的作爲上行,上游接口爲剪枝;葉子節點路由器,把上游給剪枝掉,剪枝報文把172.168.10.10的源給剪枝掉,剪枝後,不再轉發。
請確保奇數組播組的組播數據通過奇數路由器所在的線路轉發,偶數組播組的數據通過偶數路由器轉發,不用考慮單播回程包的路徑
239.1.1.2 數據下行鏈路,路徑走AR2、AR4、AR6;RPT樹本身爲這路徑,優選AR-6路由器,路由12的接口g0/0/2爲239.1.1.2源的最優,
SPT,RPT爲同一路徑,所以不用修剪。
239.1.1.1 走AR1、AR3、AR5;在路由器12上,把RPT向STP切換關閉,這樣保證路徑向上走;
AR-12 dis pim routing-table
[AR-12]pim
[AR-12-pim]spt-switch-threshold infinity //關閉本設備的RPT向SPT的切換功能
缺省情況下,PIM-SM路由器會在收到第一個組播數據包後立即進行從RPT到SPT的切換。如果不希望發生切換,則可使用配置命令來禁止切換。另外,也可以設定切換閩值,實現有條件的切換。在用戶端DR上配置了切換閾值後,只有當組播報文的速率超過閾值時,用戶端DR纔會發起切換。
BSR選舉完成後,纔會對所有的C-RP加以整理。
本人所有文章都受版權保護,著作權歸藝博東所有!未經授權,轉載必究或附上其原創鏈接。