前言
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 2021-07-22
Posted In: Layer 3 网络技术
发表回复