前言
Multicast Source Discovery Protocol (MSDP) 可以幫助位於不同 Multicast Domain 的 RP 交換 Multicast Source 資訊,讓 host 可以接收到位於其他 Domain 的 Source 所發出的 Multicast Traffic。本篇文章涉及 Protocol Independent Multicast (PIM) 的設定方法,如讀者想重溫 PIM 的資料可到本網站的 PIM 教學 查看。
MSDP
無論用 Static、Auto-RP 或者 BSR 設定 RP,設定 MSDP 的方法都一樣。假設有以下網絡,R1 和 R2 使用 2.2.2.2 作為 RP,而 R3 和 R4 則使用 3.3.3.3。全部已使用 OSPF 及 PIM 打通。
Router 起始設定如下:
hostname R1 ! ip multicast-routing ! interface Loopback0 ip address 1.1.1.1 255.255.255.255 ip pim sparse-dense-mode ! interface Ethernet1/0 ip address 192.168.12.1 255.255.255.0 ip pim sparse-dense-mode ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 ! ip pim rp-address 2.2.2.2
hostname R2 ! ip multicast-routing ! interface Loopback0 ip address 2.2.2.2 255.255.255.255 ip pim sparse-dense-mode ! interface Ethernet1/0 ip address 192.168.35.3 255.255.255.0 ip pim sparse-dense-mode ! interface Ethernet1/1 ip address 192.168.25.2 255.255.255.0 ip pim sparse-dense-mode ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 ! ip pim rp-address 2.2.2.2
hostname R3 ! ip multicast-routing ! interface Loopback0 ip address 3.3.3.3 255.255.255.255 ip pim sparse-dense-mode ! interface Ethernet1/0 ip address 192.168.23.3 255.255.255.0 ip pim sparse-dense-mode ! interface Ethernet1/1 ip address 192.168.34.3 255.255.255.0 ip pim sparse-dense-mode ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 ! ip pim rp-address 3.3.3.3
hostname R4 ! ip multicast-routing ! interface Loopback0 ip address 4.4.4.4 255.255.255.255 ip pim sparse-dense-mode ! interface Ethernet1/0 ip address 192.168.34.4 255.255.255.0 ip pim sparse-dense-mode ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 ! ip pim rp-address 3.3.3.3
假設 R4 Join 224.1.1.1 Group,R1 Ping 224.1.1.1 是不能成功的,由於兩 Domain 使用不同的 RP,無法得知 Source Address。
R4(config)#int loopback0 R4(config-if)#ip igmp join-group 224.1.1.1
R1#ping 224.1.1.1 repeat 999 source 1.1.1.1 Type escape sequence to abort. Sending 999, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds: ................................
設定 MSDP方法如下:
R2(config)#ip msdp peer 192.168.35.3 connect-source ethernet1/1
R3(config)#ip msdp peer 192.168.25.2 connect-source ethernet1/0
於是 R2 與 R3 建立 MSDP 連線,交換 RP 資訊,所以 R1 的 Ping 成功了。
R1#ping 224.1.1.1 repeat 999 source 1.1.1.1 Type escape sequence to abort. Sending 999, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds: Packet sent with a source address of 1.1.1.1 Reply to request 0 from 4.4.4.4, 44 ms Reply to request 1 from 4.4.4.4, 32 ms Reply to request 2 from 4.4.4.4, 36 ms Reply to request 3 from 4.4.4.4, 44 ms
Multicast over GRE Tunnel
大家必需知道,MSDP 只負責傳送 RP 的資訊,僅此而已,並不負責傳送 Multicast Traffic。傳送工作仍然由 PIM 負責,因此,如果兩個 Domain 中間連 PIM 都沒打通的話,就算有 MSDP,Multicast Traffic 就傳不到。這時候就需要建立一條 GRE Tunnel 讓 PIM 在 GRE Tunnel 裡面傳送。
在網絡中 R5 並沒執行 PIM。
hostname R5 ! interface Ethernet1/0 ip address 192.168.25.5 255.255.255.0 ! interface Ethernet1/1 ip address 192.168.35.5 255.255.255.0 ! router ospf 1 network 0.0.0.0 255.255.255.255 area 0 !
在 R1 Ping 224.1.1.1,可以預期的是,沒有回覆,因為 PIM 斷開了,Multicast 不能傳送。
現在,我們在 R2 的 e1/1 與 R3 的 e1/0 建立一條 GRE Tunnel,並且在 GRE Tunnel 上開啟 PIM Sparse Dense Mode。
R2(config)#interface tunnel 23 R2(config-if)#tunnel source ethernet 1/1 R2(config-if)#tunnel destination 192.168.35.3 R2(config-if)#ip address 192.168.23.2 255.255.255.0 R2(config-if)#ip pim sparse-dense-mode
R4(config)#interface tunnel 23 R4(config-if)#tunnel source ethernet 1/0 R4(config-if)#tunnel destination 192.168.25.2 R4(config-if)#ip address 192.168.23.3 255.255.255.0 R4(config-if)#ip pim sparse-dense-mode
現在 Multicast 通了!
R1#ping 224.1.1.1 repeat 999 source 1.1.1.1 Type escape sequence to abort. Sending 999, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds: Packet sent with a source address of 1.1.1.1 Reply to request 0 from 4.4.4.4, 41 ms Reply to request 1 from 4.4.4.4, 31 ms Reply to request 2 from 4.4.4.4, 33 ms Reply to request 3 from 4.4.4.4, 43 ms
相關主題
Jan Ho 2014-10-02
Posted In: Layer 3 網絡技術
發佈留言