本文档解释在配置到协议独立组播(PIM)稀疏模式邻居的热备用路由器协议(HSRP)地址的静态路由时组播数据包为何不转发。
本文档的读者应掌握以下这些主题的相关知识:
HSRP
PIM 稀疏模式
本文档不限于特定的软件和硬件版本。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
在上图中,路由器2和3在子网10.1.3.0上通话HSRP,而路由器2是活动路由器。路由器1、2和3正在通话增强型内部网关路由协议(EIGRP),而路由器4具有到HSRP虚拟地址的静态默认路由。
路由器 1 | 路由器 2 |
---|---|
Current configuration: ! ip multicast-routing ! ! interface Loopback0 ip address 10.10.10.10 255.255.255.255 no ip directed-broadcast ! interface Ethernet0 no ip address no ip directed-broadcast shutdown ! interface Ethernet1 ip address 10.1.1.1 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! interface Serial1 no ip address no ip directed-broadcast encapsulation frame-relay ! interface Serial1.1 point-to-point ip address 10.1.2.1 255.255.255.252 no ip directed-broadcast ip pim sparse-mode frame-relay interface-dlci 612 ! ! interface Serial1.2 point-to-point ip address 10.1.2.5 255.255.255.252 no ip directed-broadcast ip pim sparse-mode frame-relay interface-dlci 613 ! router eigrp 1 network 10.0.0.0 no auto-summary ! ip classless no ip http server ip pim rp-address 10.10.10.10 ! end |
Current configuration: ! ip multicast-routing ip dvmrp route-limit 20000 ! ! interface Ethernet1 ip address 10.1.3.1 255.255.255.0 no ip redirects ip pim sparse-mode standby 1 priority 110 preempt standby 1 ip 10.1.3.3 ! interface Serial1 no ip address encapsulation frame-relay ! interface Serial1.1 point-to-point ip address 10.1.2.2 255.255.255.252 ip pim sparse-mode frame-relay interface-dlci 621 ! router eigrp 1 network 10.0.0.0 no auto-summary ! ip classless ip pim rp-address 10.10.10.10 ! end |
路由器 3 | 路由器 4 |
Current configuration: ! ip multicast-routing ip dvmrp route-limit 20000 ! interface Ethernet1 ip address 10.1.3.2 255.255.255.0 no ip redirects ip pim sparse-mode standby 1 priority 100 preempt standby 1 ip 10.1.3.3 ! interface Serial1 no ip address encapsulation frame-relay ! interface Serial1.2 point-to-point ip address 10.1.2.6 255.255.255.252 ip pim sparse-mode frame-relay interface-dlci 631 ! router eigrp 1 network 10.0.0.0 no auto-summary eigrp log-neighbor-changes ! ip classless no ip http server ip pim rp-address 10.10.10.10 ! end |
Current configuration: ip multicast-routing ip dvmrp route-limit 20000 ! ! ! interface Ethernet0 ip address 10.1.4.1 255.255.255.0 no ip directed-broadcast ip igmp join-group 239.1.2.3 ! interface Ethernet1 ip address 10.1.3.4 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! no ip http server ip classless ip route 0.0.0.0 0.0.0.0 10.1.3.3 ip pim rp-address 10.10.10.10 ! end |
为了模拟Ethernet 0上的主机,在路由器4的此接口上配置了ip igmp join-group命令:
router4# ip igmp join-group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 224.0.1.40 Ethernet1 4d23h never 10.1.3.1 239.1.2.3 Ethernet0 4d23h never 10.1.4.1
路由器4还可以ping交汇点(RP)地址:
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 60/61/68 ms
查看组播路由(mroute)表:
Router4# show ip mroute 239.1.2.3 IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT X - Proxy Join Timer Running Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 239.1.2.3), 00:04:28/00:00:00, RP 10.10.10.10, flags: SJCL Incoming interface: Ethernet1, RPF nbr 10.1.3.3 Outgoing interface list: Ethernet0, Forward/Sparse, 00:02:12/00:02:53
由于此组有接收方(由于路由器4中使用ip igmp join-group命令),因此在mroute表中构建(*,G)条目。请注意(*,G)条目的反向路径转发(RPF)邻居为10.1.3.3,即HSRP备用地址。但是,没有(S,G)条目,这表示没有从源接收流量。
由于路由器4具有对组感兴趣的接收方,因此它现在应该向其PIM邻居发送PIM加入/修剪消息。使用show ip pim neighbor命令查看路由器4的PIM邻居,如下所示:
Router4# show ip pim neighbor PIM Neighbor Table Neighbor Address Interface Uptime Expires Ver Mode 10.1.3.1 Ethernet1 4d23h 00:01:41 v2 10.1.3.2 Ethernet1 4d23h 00:01:36 v2
如果启用debug ip pim 239.1.2.3命令,则路由器4正在构建此PIM加入/修剪消息,但它实际上并未发送该消息:
*Mar 6 18:32:48:PIM:从10.10.10.10收到Ethernet1上可到达的RP*Mar 6 18:32:48:对于组239.1.2.3 *3月6日18:33:14:PIM:239.1.2.3的建筑加入/修剪消息*3月6日18:34:13:PIM:构建239.1.2.3的加入/修剪消息
为什么路由器不发送Join/Prune消息?RFC 2362 指出“路由器向与每个(S,G)、(*,G)和(*,*,RP)条目关联的每个不同RPF邻居发送定期的加入/修剪消息。仅当RPF邻居是PIM邻居时,才会发送加入/修剪消息。”
在本例中,RPF邻居为10.1.3.3,这是默认静态路由使用的HSRP备用地址。但是,此地址未列为PIM邻居。HSRP备用地址未列为PIM邻居的原因是,运行HSRP的两台路由器(路由器2和3)将不会从HSRP备用地址获取PIM邻居消息。
要解决此问题,请更改路由器4的配置,使RPF邻居也是PIM邻居。为此,请在EIGRP进程中包含路由器4,使其现在通过EIGRP获取RP地址。
注意:由于路由器4能够运行路由协议,因此它不必依赖HSRP备用地址进行连接。HSRP的开发旨在为主机提供快速高效的冗余或故障切换的方法。
以下是启用EIGRP的路由器4的新配置。
ip multicast-routing ip dvmrp route-limit 20000 ! ! ! interface Ethernet0 ip address 10.1.4.1 255.255.255.0 no ip directed-broadcast ip igmp join-group 239.1.2.3 ! interface Ethernet1 ip address 10.1.3.4 255.255.255.0 no ip directed-broadcast ip pim sparse-mode ! router eigrp 1 network 10.0.0.0 no auto-summary ! no ip http server ip classless ip route 0.0.0.0 0.0.0.0 10.1.3.3 ip pim rp-address 10.10.10.10 ! end
注意:在EIGRP进程(首选方法)中不包括路由器4,而是向路由器4添加静态路由,使其RPF到实际路由器的IP地址,因为在RPF检查中,mroutes优先于单播路由表。例如,添加ip mroute 0.0.0.0 0.0.0.0 10.1.3.2。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
10-Aug-2005 |
初始版本 |