组播地址体系 · IGMP v1/v2/v3 · PIM-DM / PIM-SM · RP 与 SPT 切换 · MSDP · IGMP Snooping —— 一份流量服务 N 个观众,IPTV / 直播 / 金融行情的底层引擎。
地址 · MAC 映射 · 转发树思维
| 范围 | 用途 | 备注 |
|---|---|---|
| 224.0.0.0/24 | 链路本地协议预留 | 224.0.0.1 全主机 / .2 全路由器 / .5 OSPF / .6 DR / .13 PIM / .22 IGMP |
| 224.0.1.0/24 起 | 全球可路由组播 | 224.0.1.39/40 Auto-RP(思科) |
| 232.0.0.0/8 | SSM 源特定组播 | 只需 IGMPv3 + PIM-SM,免 RP |
| 239.0.0.0/8 | 私有(组织内) | 企业/园区首选段 |
单播发 N 份浪费;广播全员打扰。组播沿最短路径树复制,"一进多出"。
(*,G):共享树,从 RP 出发(任意源)
(S,G):源树,从源出发(特定源)
Reverse Path Forwarding:收到组播的接口,必须是去往源的单播路由出接口,否则丢弃 —— 组播防环的唯一保险。
入网报到的三套手续
| 能力 | IGMPv1 | IGMPv2 | IGMPv3 |
|---|---|---|---|
| 加组 | Membership Report(131 版本类型) | 同左 + 类型独立 | Report(含源列表) |
| 离组 | 静默离开(等超时) | Leave + 特定组查询(秒级感知) | EXCLUDE 空 = 离开 |
| 查询器 | 依托 OSPF 等选 DR | IP 最小者为查询器 | 同 v2 |
| 源过滤 | ✘ | ✘ | INCLUDE / EXCLUDE → 支撑 SSM |
| 定时器 | — | 健壮性变量可调 | 同 v2 + 源定时器 |
# 华为交换机默认开启(VLAN 视图) igmp-snooping enable # 全局必须先开 igmp-snooping over ... (undo ...)
display l2-multicast forwarding-table vlan 10 看二层表有没有成员口display igmp-snooping port-info 看路由器口/成员口DM 推模式(简单粗暴)→ SM 拉模式(可扩展)
同链路两台路由器都认为自己是转发者 → 互发 Assert 比拼:单播协议优先级 → 到源开销 → IP 大,败者剪枝。防止重复流量。
undo spt-switch-threshold infinity(华为 AR 默认立即切换)。| 方式 | 机制 | 特点 |
|---|---|---|
| 静态 RP | 全网 static-rp 1.1.1.1 | 简单可靠、首选 |
| BSR | 候选 BSR 洪泛自举;候选 RP 通告 | 自动收敛、防过载哈希 |
| Auto-RP | 思科私有(224.0.1.39/40) | 了解即可 |
# BSR 两步 pim c-bsr LoopBack0 priority 10 c-rp LoopBack0 group-policy basic-acl
pim sm;候选 RP 宣告带 group-policy 划分服务范围;Anycast RP 的 MSDP 只在 RP 间建。ssm-policy(华为默认 232/8 即 SSM)pim sm + 主机侧 igmp enablepim bsr boundary 防泄漏display pim interface # 接口使能/DR/邻居计数 display pim neighbor # 邻居表 display pim routing-table [verbose] # (S,G)/(*,G) 与上下游、入接口 display pim rp-info # RP 学习来源与优先级 display igmp interface / group # 主机侧成员关系 display multicast routing-table # 组播路由表(RPF核对) display multicast forwarding-table # 转发表(真实复制点) display l2-multicast forwarding-table # 二层 snooping 表
① display igmp group 有没有成员;② pim routing-table 的 RPF 接口对不对(单播改了没同步);③ 转发表 olist 是否包含出接口;④ 二层 snooping 表是否老化。
同网段两台都转发 → Assert 未生效或 DR 选举失败(优先级/掩码不一致);查 pim neighbor 与 Assert 胜者。
| 考点 | 必背细节 | 频度 |
|---|---|---|
| 地址体系 | 224~239;224.0.0.x 本地保留(TTL=1 不转发);组播 MAC = 01:00:5E + 0 + IP 低 23 位 → 32:1 映射冲突,网卡须二次过滤 | ★★★★ |
| IGMP 三版本 | v1:无离开、查询器由组播路由协议(DR)兼任;v2:离开报文 + 特定组查询 + 查询器 IP 小者当选;v3:include/exclude 源过滤(SSM 基础) | ★★★★★ |
| IGMP Snooping | 无它 = 组播当广播泛洪;识别路由器端口(收 PIM/IGMP 查询的口)与成员口;快速离开立即剪枝 | ★★★★ |
| PIM-DM | 推模式,适合密集小网;泛洪-剪枝(3 分钟周期)+ 嫁接 + 状态刷新;断言 Assert:单播优先级小者胜 → 开销小者胜 → IP 大者胜 | ★★★★ |
| PIM-SM 流程 | 拉模式;成员侧 (*,G) 加入 RPT → DR 封装 Register 到 RP → RP 沿 SPT 拉源 → 末跳 DR 默认立即 SPT 切换(阈值 0 kbps);Register-stop 后抑制 60s | ★★★★★ |
| RP 获取 | 静态 / BSR 动态;C-BSR 竞选:优先级大 → IP 大;C-RP 向 BSR 宣告;RP 冗余要播 anycast-RP 或手工双静态 | ★★★★ |
| RPF 检查 | 每个 (S,G) 选唯一上游接口;单播改道 → RPF 失败 → 组播断流(排错头号根因);组播静态路由可强行修 RPF | ★★★★★ |
| 跨域与二层 | MSDP(TCP 639)跨域共享源信息(SA 消息);Snooping/MLD Snooping 优化二层转发 | ★★ |
display pim routing-table(区分 (*,G)/(S,G)、olist/upstream)、display igmp group、display multicast rpf-info —— 每个字段都能解释。| 验证点 | 预期 |
|---|---|
| display pim rp-info | 静态/BSR 来源正确 |
| pim routing-table | 先 (*,G) 后 (S,G) 出现 |
| multicast forwarding-table | 出接口=成员方向 |
| RPF 故障后 | 丢包 → 修复恢复 |
ping -g 239.1.1.1 x.x.x.x 模拟组播源;PC 抓包看 IGMP v3 Report 与流量复制。