组播不通分三段查
组播转发的链路比单播长:终端先通过 IGMP 加入组,接入设备把成员信息报给上层,路由器侧靠 PIM 建立分发树,组播路由表里出现表项,转发时才做 RPF 检查。因此排障要按顺序走三段:成员是否有加入记录、设备上有没有组播转发表项、表项存在时 RPF 检查是否通过。三段里最容易被忽略的是 RPF——它要求组播报文的入接口与单播路由反查出来的出接口一致,只要路由不对称就必然丢包。
基本信息
| 适用平台 | 三厂通用(路由器与三层交换机) |
|---|---|
| 协议分工 | IGMP 管成员加入,PIM 管分发树,RPF 管转发校验 |
| 华为/H3C 命令族 | display igmp group、display pim neighbor、display multicast routing-table |
| 思科命令族 | show ip igmp groups、show ip pim neighbor、show ip mroute |
| 常见失败点 | RPF 校验不通过、RP 不可达、PIM 邻接未建立 |
典型使用场景
- IPTV 或视频会议不通,需要判断是终端没加入还是网络没转发
- 组播源正常但下游收不到:确认分发树是否建立到该网段
- 新增组播业务前做连通性验证,提前发现 RP 或 PIM 配置缺失
- 网络改造后组播时通时不通,重点核对单播与组播路径是否对称
- 跨网段组播不通,检查接入层与汇聚层之间的 IGMP 与 PIM 是否逐段贯通
华为与 H3C
华为与 H3C
<Huawei> display igmp group ! 成员是否真的加入了组
<Huawei> display pim neighbor ! 邻居关系是否建立
<Huawei> display multicast routing-table ! 组播转发表项是否存在
<Huawei> display pim interface ! 接口上 PIM 是否使能
! H3C 命令同名,输出字段略有差异思科 IOS
思科 IOS
SW-CORE-01# show ip igmp groups ! 成员加入记录
SW-CORE-01# show ip pim neighbor ! PIM 邻接
SW-CORE-01# show ip mroute ! 组播路由表(S,G 与 *,G)
SW-CORE-01# show ip rpf 10.10.10.10 ! 单播反查结果,RPF 用的就是它三步定位怎么看
| 排查段 | 判断依据 | 不通过时的方向 |
|---|---|---|
| 成员侧 | igmp group 里有对应组地址 | 接入设备未开 IGMP 或终端未发加入报文 |
| 设备侧 | 组播路由表有表项、pim neighbor 正常 | PIM 未使能或上游邻接未建立 |
| RPF 校验 | 单播反查结果与报文入接口一致 | 路由不对称,需调整单播路径或改入接口 |
| RP 可达 | RP 地址能连通且选举正常 | RP 配置不一致或路由不通 |
| 二层侧 | 组播 MAC 与 IGMP 侦听配置正确 | 交换机未开 IGMP snooping 会泛洪或不通 |
组播路由表里的表项存在不代表流量能通。表项只能说明协议层认为路径可用,真正的转发仍要看 RPF 校验与出接口列表,检查顺序不要颠倒。
三层组播依赖二层配合:交换机如果没开 IGMP snooping,组播会在 VLAN 内泛洪,呈现为带宽异常而不是不通;开了 snooping 但路由器端口未正确识别,则会表现为组播收不到。