實(shí)驗(yàn)拓?fù)?/p>
實(shí)驗(yàn)需求
網(wǎng)絡(luò)拓?fù)洹P地址規(guī)劃如上圖所示;
R1、R2、R3、R4運(yùn)行OSPF協(xié)議,打通網(wǎng)絡(luò)的單播路由;
R1、R2、R3、R4同時(shí)也是組播路由器,運(yùn)行PIM-SM;
R3為RP,配置Loopback0,IP地址為3.3.3.3,該地址作為RP的地址;
接收者加入組播組224.1.1.1;觀察RPT的構(gòu)建;
在R4上將RPT-SPT的切換設(shè)置為永遠(yuǎn)不切換,同時(shí)從源開始發(fā)送組播數(shù)據(jù),觀察源的注冊(cè)過程、RP到源的SPT建立過程、組播流量沿著RPT下行的過程。
在R4上將RPT-SPT的切換恢復(fù)為默認(rèn)值,同時(shí)將R4的GE0/0/1口的OSPF Cost值稍稍調(diào)大,觀察RPT到SPT的切換過程。
本實(shí)驗(yàn)可使用華為自研模擬器eNSP完成。
實(shí)驗(yàn)步驟及配置
R1、R2、R3及R4完成接口IP地址的配置,運(yùn)行OSPF。
R1的基礎(chǔ)配置如下:
[R1]interfaceGigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0]ipaddress10.1.12.124 [R1]interfaceGigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]ipaddress10.1.14.124 [R1]ospf1router-id1.1.1.1 [R1-ospf-1]area0 [R1-ospf-1-area-0.0.0.0]network10.1.12.10.0.0.0 [R1-ospf-1-area-0.0.0.0]network10.1.14.10.0.0.0
R2的基礎(chǔ)配置如下:
[R2]interfaceGigabitEthernet0/0/0 [R2-GigabitEthernet0/0/0]ipaddress10.1.12.224 [R2]interfaceGigabitEthernet0/0/1 [R2-GigabitEthernet0/0/1]ipaddress10.1.23.224 [R2]interfaceGigabitEthernet0/0/2 [R2-GigabitEthernet0/0/2]ipaddress10.10.1024 [R2]ospf1router-id2.2.2.2 [R2-ospf-1]area0 [R2-ospf-1-area-0.0.0.0]network10.1.12.20.0.0.0 [R2-ospf-1-area-0.0.0.0]network10.1.23.20.0.0.0 [R2-ospf-1-area-0.0.0.0]network10.10.10.2540.0.0.0 [R2-ospf-1-area-0.0.0.0]quit [R2-ospf-1]silent-interfaceGigabitEthernet0/0/2
R3的基礎(chǔ)配置如下:
[R3]interfaceGigabitEthernet0/0/0 [R3-GigabitEthernet0/0/0]ipaddress10.1.23.324 [R3]interfaceGigabitEthernet0/0/1 [R3-GigabitEthernet0/0/1]ipaddress10.1.34.324 [R3]interfaceloopback0 [R3-loopback0]ipaddress3.3.3.3255.255.255.255#該地址作為RP的地址 [R3]ospf1router-id3.3.3.3 [R3-ospf-1]area0 [R3-ospf-1-area-0.0.0.0]network10.1.23.30.0.0.0 [R3-ospf-1-area-0.0.0.0]network10.1.34.30.0.0.0 [R3-ospf-1-area-0.0.0.0]network3.3.3.30.0.0.0
R4的基礎(chǔ)配置如下:
[R4]interfaceGigabitEthernet0/0/0 [R4-GigabitEthernet0/0/0]ipaddress10.1.14.4255.255.255.0 [R4]interfaceGigabitEthernet0/0/1 [R4-GigabitEthernet0/0/1]ipaddress10.1.34.4255.255.255.0 [R4]interfaceGigabitEthernet0/0/2 [R4-GigabitEthernet0/0/2]ipaddress10.1.1.254255.255.255.0 [R4]ospf1router-id4.4.4.4 [R4-ospf-1]area0 [R4-ospf-1-area-0.0.0.0]network10.1.14.40.0.0.0 [R4-ospf-1-area-0.0.0.0]network10.1.34.40.0.0.0 [R4-ospf-1-area-0.0.0.0]network1.1.1.2540.0.0.0 [R4-ospf-1-area-0.0.0.0]quit [R4-ospf-1]silent-interfaceGigabitEthernet0/0/2
R1、R2、R3及R4部署PIM-SM
R1的配置如下:
[R1]multicastrouting-enable [R1]interfaceGigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0]pimsm#在接口上激活PIM-SM [R1]interfaceGigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]pimsm#在接口上激活PIM-SM [R1]pim [R1-pim]static-rp3.3.3.3#設(shè)置靜態(tài)RP地址3.3.3.3
R2的配置如下:
[R2]multicastrouting-enable [R2]interfaceGigabitEthernet0/0/0 [R2-GigabitEthernet0/0/0]pimsm [R2]interfaceGigabitEthernet0/0/1 [R2-GigabitEthernet0/0/1]pimsm [R2]interfaceGigabitEthernet0/0/2 [R2-GigabitEthernet0/0/2]pimsm [R2]pim [R2-pim]static-rp3.3.3.3
R3的配置如下:
[R3]multicastrouting-enable [R3]interfaceGigabitEthernet0/0/0 [R3-GigabitEthernet0/0/0]pimsm [R3]interfaceGigabitEthernet0/0/1 [R3-GigabitEthernet0/0/1]pimsm [R3]interfaceloopback0 [R3-loopback0]pimsm [R3]pim [R3-pim]static-rp3.3.3.3
R4的配置如下:
[R4]multicastrouting-enable [R4]interfaceGigabitEthernet0/0/0 [R4-GigabitEthernet0/0/0]pimsm [R4]interfaceGigabitEthernet0/0/1 [R4-GigabitEthernet0/0/1]pimsm [R4]interfaceGigabitEthernet0/0/2 [R4-GigabitEthernet0/0/2]igmpenable#連接組播接收者的接口激活I(lǐng)GMP [R4]pim [R4-pim]static-rp3.3.3.3
完成配置后,先做一下初步的驗(yàn)證:
displaypimneighbor VPN-Instance:publicnet TotalNumberofNeighbors=2 NeighborInterfaceUptimeExpiresDr-PriorityBFD-Session 10.1.14.1GE0/0/0004000241N 10.1.34.3GE0/0/1003900371N
上述輸出的是R4的PIM鄰居表,可以看到R4發(fā)現(xiàn)了兩個(gè)PIM鄰居。在其他路由器上也做相應(yīng)的查看,確保PIM鄰居都發(fā)現(xiàn)完整了。
displaypimrp-info VPN-Instance:publicnet PIMSMstaticRPNumber:1 StaticRP:3.3.3.3
上面的輸出查看的是R4的PIM RP信息,我們?yōu)镽4手工告知了RP的地址,3.3.3.3,其實(shí)也就是R3。
組播用戶加入組224.1.1.1,查看RPT的建立過程
現(xiàn)在組播接收者PC加入組224.1.1.1(具體的操作方法請(qǐng)見本手冊(cè)的PIM-DM實(shí)驗(yàn)小節(jié),有詳細(xì)描述),這將觸發(fā)PC發(fā)送IGMP成員關(guān)系報(bào)告,R4最為最后一跳路由器會(huì)從GE0/0/2口上收到這個(gè)報(bào)告,它便知道該接口下出現(xiàn)了組播組224.1.1.1的成員,它將建立(* , 224.1.1.1)的組播路由表項(xiàng):
displaypimrouting-table VPN-Instance:publicnet Total1(*,G)entry;0(S,G)entry (*,224.1.1.1) RP:3.3.3.3 Protocol:pim-sm,Flag:WCEXT UpTime:0004 Upstreaminterface:GigabitEthernet0/0/1 Upstreamneighbor:10.1.34.3 RPFprimeneighbor:10.1.34.3 Downstreaminterface(s)information:None
隨后R4會(huì)向RPF上行接口發(fā)送(*,G)PIM Join消息,請(qǐng)求加入共享樹RPT。R4如何判斷哪個(gè)接口是RPF上行接口呢?R4通過單播路由表來(lái)判斷,對(duì)于RPT,PIM路由器在做RPF檢查的時(shí)候是朝向RP的,因此R4在單播路由表中查找到達(dá)RP3.3.3.3的路由,選擇路由的出接口作為RPF接口,但是這里由于全網(wǎng)接口COST都是默認(rèn)值,因此R4上關(guān)于3.3.3.3的OSPF路由在R1及R3上出現(xiàn)等價(jià)負(fù)載均衡,這時(shí)R4會(huì)選擇R1及R3中接口IP較大的作為RPF的主鄰居,也就是R3,因此R4的GE0/0/1成為RPF接口。這與上面的輸出吻合。
R3在收到R4發(fā)上來(lái)的PIM Join消息后,它會(huì)創(chuàng)建一個(gè)(*,224.1.1.1)表項(xiàng),將收到該報(bào)文的接口GE0/0/1添加到下行接口列表中,由于自己就是RP了,因此共享樹的一個(gè)分支就此建立完成。
displaypimrouting-table VPN-Instance:publicnet Total1(*,G)entry;0(S,G)entry (*,224.1.1.1) RP:3.3.3.3(local) Protocol:pim-sm,Flag:WC UpTime:0009 Upstreaminterface:Register Upstreamneighbor:NULL RPFprimeneighbor:NULL Downstreaminterface(s)information: Totalnumberofdownstreams:1#下行接口列表 1:GigabitEthernet0/0/1 Protocol:pim-sm,UpTime:0009,Expires:0021
源注冊(cè)、RP到源的SPT建立過程、組播報(bào)文的傳輸過程
接下去我們來(lái)觀察一下源注冊(cè)、RP到源的SPT建立過程及組播報(bào)文的傳輸過程。首先在R4上將RPT-SPT的切換設(shè)置為永遠(yuǎn)不切換,因?yàn)檫@個(gè)特性我們?cè)谙乱徊街性偃リP(guān)注,這里暫時(shí)忽略掉。
[R4]pim [R4-pim]spt-switch-thresholdinfinity
使用上述配置將R4的PIM SPT切換特性設(shè)置為永遠(yuǎn)不切換。
現(xiàn)在組播源開始向組播組224.1.1.1發(fā)送組播數(shù)據(jù)(這可以通過ping 224.1.1.1來(lái)模擬)。組播數(shù)據(jù)到達(dá)第一跳路由器R2后,R2會(huì)將組播數(shù)據(jù)封裝在單播的PIM Register報(bào)文中發(fā)往RP也就是R3。
通過在R2的GE0/0/1口上抓包,可以看到Register報(bào)文,這是一個(gè)單播包,目的地址是3.3.3.3。R3在收到這個(gè)包后,解封裝發(fā)現(xiàn)里頭是個(gè)(10.10.10.10,224.1.1.1)的組播數(shù)據(jù)包,因此在本地創(chuàng)建一個(gè)(10.10.10.10,224.1.1.1)表項(xiàng),同時(shí)將組播數(shù)據(jù)包沿著RPT先傳下去(從GE0/0/1口發(fā)出去)。另一方面,R3緊接著向源的方向(同樣是借助單播路由表查找到10.10.10.10的路由來(lái)獲得RPF接口)發(fā)送(10.10.10.10,224.1.1.1)的PIM Join消息,試圖在自己與源之間建立一條源樹SPT。
displaypimrouting-table VPN-Instance:publicnet Total1(*,G)entry;1(S,G)entry (*,224.1.1.1) RP:3.3.3.3(local) Protocol:pim-sm,Flag:WC UpTime:0057 Upstreaminterface:Register Upstreamneighbor:NULL RPFprimeneighbor:NULL Downstreaminterface(s)information: Totalnumberofdownstreams:1 1:GigabitEthernet0/0/1 Protocol:pim-sm,UpTime:0057,Expires:0033 (10.10.10.10,224.1.1.1) RP:3.3.3.3(local) Protocol:pim-sm,Flag:SPT2MSDPACT UpTime:0022 Upstreaminterface:GigabitEthernet0/0/0 Upstreamneighbor:10.1.23.2 RPFprimeneighbor:10.1.23.2 Downstreaminterface(s)information: Totalnumberofdownstreams:1 1:GigabitEthernet0/0/1 Protocol:pim-sm,UpTime:0022,Expires:-
R2收到這個(gè)Join消息后,將GE0/0/1口添加到(10.10.10.10,224.1.1.1)組播表項(xiàng)的下行接口列表中國(guó),然后將組播流量沿著建立好的SPT轉(zhuǎn)發(fā)到RP,而不再將組播流量封裝到Register報(bào)文中。
dispimrouting-table VPN-Instance:publicnet Total0(*,G)entry;1(S,G)entry (10.10.10.10,224.1.1.1) RP:3.3.3.3 Protocol:pim-sm,Flag:SPTLOCACT UpTime:0041 Upstreaminterface:GigabitEthernet0/0/2 Upstreamneighbor:NULL RPFprimeneighbor:NULL Downstreaminterface(s)information: Totalnumberofdownstreams:2 1:GigabitEthernet0/0/1 Protocol:pim-sm,UpTime:0041,Expires:0049 2:Register Protocol:pim-sm,UpTime:0041,Expires:-
SPT切換過程
現(xiàn)在,將R4上之前配置的SPT切換的相關(guān)配置去除(undo spt-switch-threshold)。在默認(rèn)情況下,R4作為最后一跳路由器,只要一收到224.1.1.1的組播數(shù)據(jù)包,則立即進(jìn)行SPT的切換。接著將R4的GE0/0/1口OSPF Cost稍稍調(diào)大,調(diào)節(jié)為2(默認(rèn)是1),我們通過這個(gè)動(dòng)作來(lái)模擬這樣一個(gè)事實(shí):“R4從R1到達(dá)源,比從R3到達(dá)源要更近”。
現(xiàn)在,當(dāng)R4從GE0/0/1口收到第一個(gè)224.1.1.1的組播數(shù)據(jù)包時(shí),將啟動(dòng)SPT切換機(jī)制,朝著源的方向(也就是R1)發(fā)送(10.10.10.10,224.1.1.1)的PIM Join消息,請(qǐng)求加入SPT。
R1收到這個(gè)Join消息后,創(chuàng)建(10.10.10.10,224.1.1.1)表項(xiàng),將GE0/0/1口添加到下行接口列表,同時(shí)向R2發(fā)送Join消息。R2收到這個(gè)Join消息后,將自己的GE0/0/0口添加到(10.10.10.10,224.1.1.1)表項(xiàng)的下行接口列表,并開始向GE0/0/0口下傳組播數(shù)據(jù)。
displaymulticastrouting-table MulticastroutingtableofVPN-Instance:publicnet Total1entry 00001.(10.10.10.10,224.1.1.1) Uptime:0005 UpstreamInterface:GigabitEthernet0/0/2 Listof3downstreaminterfaces 1:GigabitEthernet0/0/0 2:GigabitEthernet0/0/1 3:Register
這一步完成之后,網(wǎng)絡(luò)中的組播路徑樹如下所示:
現(xiàn)在R4會(huì)從R1及R3收到組播數(shù)據(jù)的兩份拷貝,這顯然是沒有意義的,因此它向R3發(fā)送一個(gè)Prune消息,將自己從RPT上剪除。R3收到這個(gè)消息后,將接口GE0/0/1從(*,224.1.1.1)表項(xiàng)的下行接口列表中刪除,也就不再向GE0/0/1口發(fā)送組播流量了,然后發(fā)現(xiàn)下行接口列表為空,因此向R2發(fā)送一個(gè)Prune消息,請(qǐng)求將自己從SPT上修剪掉,因?yàn)樗辉傩枰M播流量了。R2收到這個(gè)Prune消息后,將GE0/0/1口從表項(xiàng)的下行接口列表中刪除。
最終R2的組播表項(xiàng)如下:
displaypimrouting-table VPN-Instance:publicnet Total0(*,G)entry;1(S,G)entry (10.10.10.10,224.1.1.1) RP:3.3.3.3 Protocol:pim-sm,Flag:SPTLOCACT UpTime:0019 Upstreaminterface:GigabitEthernet0/0/2 Upstreamneighbor:NULL RPFprimeneighbor:NULL Downstreaminterface(s)information: Totalnumberofdownstreams:2 1:GigabitEthernet0/0/0 Protocol:pim-sm,UpTime:0019,Expires:0011 2:Register Protocol:pim-sm,UpTime:0019,Expires:-
組播路徑樹如下:
-
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7515瀏覽量
88627 -
PIM-SM
+關(guān)注
關(guān)注
0文章
3瀏覽量
6516
原文標(biāo)題:組播Multicast進(jìn)階:PIM-SM實(shí)驗(yàn)配置
文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論