7. 配置 pim sparse-mode(配置之前要把 PIM Dense-mode 的设置去掉)
1) 基本配置
每台路由器上启动 multicast-routing。
在全局配置模式下键入:(config)#ip multicast-routing
路由器的每一个端口上配置 pim dense-mode
命令如下:(config-if)#ip pim sparse-dense-mode //配置了 RP后自动为 sparse-mode 式,
否则为 dense-mode。
2) static-RP 的 PIM-SM
静态 RP 的配置时,只需要在连接有 client 的路由器上配置,用于指定需要去注册的 RP 的 IP 地址。还可以通过相应的 ACL 来控制哪些组的 RP 是谁。一台路由上可以指定多个 RP。
静态指定 RP 时,RP 那台路由器并不需要知道它自己就是 RP。这就是说 RP 无需本身无需配置。
A、C和 D的配置一样:
Router (config)#access-list 20 deny 224.0.1.39
Router (config)#access-list 20 deny 224.0.1.40
Router (config)#access-list 20 permit 224.0.0.0 15.255.255.255
Router(config)#ip pim rp-address 10.10.10.10 20 //10.10.10.10 为 RouterB 的回环接口地址
B 的配置:
Router (config)#int loopback 0
Router (config-if)#ip address 10.10.10.10 255.255.255.0
Router (config-if)#no shut
Router (config)#router eigrp 100
Router (config-router)#network 10.10.10.0 0.0.0.255
验证:1) show ip pim rp 或 show ip pim rp mappings
2) 与密集模式的相同。
3) auto-RP的 PIM-SM
由于静态指定 RP必须为每一台末端(连接有 client)的路由器手工配置 RP,且当 RP 改变时还要手动进行更改,带来很大的管理工作量。而自动 RP 则可以解决这个问题。自动 RP 模型中,分为候选 RP 和 RP 映射代理。前者可以配置作为某些组的候选 RP 而以 224.0.1.39 多播组地址向后者通告;后者接收这些信息后再以 224.0.1.40得多播组地址通告候选 RP的信息。末端路由器接收到这个 224.0.1.40多播组的信息后就可以知道有哪些 RP,并且这些 RP 对应哪些多播组,从而可以自动发现 RP。
候选 RP 和 RP 映射代理可以相互独立,不一定属于同一台路由器。但为了可靠起见,而通常将它们合为一体。本实验中 B 是两者合为一体的,但 C 则只是候选 RP通告而不做 RP映射代理。
A和 D的配置一样:
Router(config)#access-list 20 deny 224.0.1.39
Router(config)#access-list 20 deny 224.0.1.40
Router(config)#access-list 20 permit 224.0.0.0 15.255.255.255
Router(config)#ip pim rp-address 1.1.1.1 20
// 1.1.1.1 为不存在的地址,目的是让些非自动 RP通告的多播组找不到 RP。
在协议中这称为 sink RP。
B 的配置:
Router (config)#access-list 20 deny 224.0.1.39
Router (config)#access-list 20 deny 224.0.1.40
Router (config)#access-list 20 permit 224.0.0.0 15.255.255.255
Router (config)#ip pim rp-address 1.1.1.1 20 //注释同上
Router (config)#access-list 30 permit 224.2.80.80 //作为 224.2.80.80 组的候选 RP
Router(config)#ip pim send-rp-announce loopback 0 scope 32 group-list 30
//作为符合 ACL30 条件的多播组的候选 RP而向 RP mapping Agent 通告
Router(config)#ip pim send-rp-discovery loopback 0 scope 32
//作为 RP的 mapping Agent 而向 224.0.1.40 组通告 RP的信息
C的配置:
Router (config)#int loopback 0
Router (config-if)#ip address 10.10.20.1 255.255.255.0
Router (config-if)#no shut
Router (config)#router eigrp 100
Router (config-router)#network 10.10.20.0 0.0.0.255
Router (config)#access-list 20 deny 224.0.1.39
Router (config)#access-list 20 deny 224.0.1.40
Router (config)#access-list 20 permit 224.0.0.0 15.255.255.255
Router (config)#ip pim rp-address 1.1.1.1 20 //注释同上
Router (config)#access-list 30 permit 224.2.169.22
Router(config)#ip pim send-rp-announce loopback 0 scope 32 group-list 30
验证:同静态 RP。

