视频加载失败

组播技术基础

1619 字
8 分钟
组播技术基础

组播技术基础#

一、组播概述#

  • 组播定义:一对多通信模式,源发送一个副本,网络在分支节点复制到多个接收者
  • 组播优势
    • 节省带宽(相比单播重复发送)
    • 避免广播风暴(相比广播全网泛洪)
    • 适合视频直播、在线会议、IPTV、股票行情推送
  • 组播地址范围
    • IPv4:224.0.0.0 ~ 239.255.255.255(D 类地址)
    • IPv6:FF00::/8
  • 组播 MAC 地址01:00:5E + IP 低 23 位
    • 示例:组播 IP 224.1.1.1 → MAC 01:00:5E:01:01:01
    • 由于 MAC 只映射 IP 后 23 位,存在 32<1> 的地址重叠

1.1 组播网络模型#

一份副本

复制

复制

组播源

Sender

组播路由器 R1

R2

R3

接收者1

接收者2

接收者3

一份副本

复制

复制

组播源

Sender

组播路由器 R1

R2

R3

接收者1

接收者2

接收者3

二、组播地址分类 🏷️高频考点#

范围用途
224.0.0.0/24链路本地(TTL=1,不转发)
224.0.1.0 ~ 238.255.255.255全球范围(Globally Scoped)
239.0.0.0/8管理范围(私有,Administratively Scoped)

2.1 常见保留组播地址#

地址用途
224.0.0.1本子网所有主机
224.0.0.2本子网所有路由器
224.0.0.5OSPF Hello
224.0.0.6OSPF DR/BDR
224.0.0.9RIPv2
224.0.0.13PIM
224.0.0.22IGMPv3
224.0.1.39Auto-RP Announce
224.0.1.40Auto-RP Discovery

三、IGMP协议 🏷️高频考点#

IGMP(Internet Group Management Protocol):主机与路由器之间的组播成员管理协议。

3.1 IGMP 版本对比#

版本加入离开查询器选举SSM 支持
IGMPv1Membership Report靠超时删除(无 Leave)依赖组播路由协议
IGMPv2Membership ReportLeave Message最小 IP 选举
IGMPv3Membership Report(含源列表)Leave(含源列表)最小 IP 选举

3.2 IGMP 查询机制#

  • 普遍查询(General Query):默认每 60 秒 发送一次,查询组内是否有成员
  • 特定组查询(Group-Specific Query):默认查询间隔 10 秒,针对某组查询是否还有成员
  • 源组特定查询(Group and Source Specific Query,v3):查询某组的特定源是否还有成员

3.3 IGMP Snooping#

  • IGMP Snooping:交换机监听 IGMP 报文,实现二层组播
    • 交换机工作在二层,通过监听 IGMP 报文学习组成员端口
    • 避免组播在二层以广播方式转发
    • 维护组播转发表(端口-组对应关系)

四、PIM协议 🏷️高频考点#

PIM(Protocol Independent Multicast):不依赖特定单播路由协议,只要能解析 RPF 接口即可。

4.1 PIM 模式对比#

模式工作方式适用场景是否需要 RP
PIM-DM(Dense Mode)推送+剪枝(Push & Prune)接收者密集
PIM-SM(Sparse Mode)拉(Join),基于 RP接收者稀疏
PIM-SSM指定源组播源明确场景

4.2 PIM-DM 关键机制#

  • 推送(Push):源发送时,向所有下游接口转发
  • 剪枝(Prune):无成员的分支发送 Prune,上游停止转发
  • 状态刷新:每 3 分钟重新泛洪一次(剪枝超时)
  • 嫁接(Graft):被剪枝分支重新加入时立即恢复

4.3 PIM-SM 关键概念#

4.3.1 关键术语#

术语说明
RP(Rendezvous Point)汇集点,组播源注册、接收者加入的交汇点
RPT(RP 树)以 RP 为根的树,接收者通过 (*,G) Join 加入
SPT(最短路径树)以源为根的树,路径更优
SPT 切换从 RPT 切换到 SPT 以优化路径(默认接收者 DR 收到首包后触发)
DR(Designated Router)指定路由器,通过 Hello 选举(优先级+IP)
RPF 检查反向路径检查,确保组播包从到达源的最短路径接口进入

4.3.2 PIM-SM 工作流程#

Register 注册

注册停止 Register-Stop

Join 加入

(*,G) Join

Join 加入

(*,G) Join

组播数据沿 RPT

组播数据沿 RPT

组播源

RP 汇集点

接收者1

DR

接收者2

DR

Register 注册

注册停止 Register-Stop

Join 加入

(*,G) Join

Join 加入

(*,G) Join

组播数据沿 RPT

组播数据沿 RPT

组播源

RP 汇集点

接收者1

DR

接收者2

DR

4.3.3 SPT 切换#

  • 接收者 DR 收到组播数据后,向源发送 (S,G) Join
  • 建立以源为根的 SPT
  • 切换完成后,向 RP 发送剪枝,停止 RPT 转发

4.4 PIM-SSM#

  • PIM-SSM(Source-Specific Multicast):指定源组播
  • 使用 (S,G) 表项,如 (10.0.0.1, 225.1.1.1)
  • 无需 RP,接收者明确指定源
  • 组播地址范围:232.0.0.0/8
  • 依赖 IGMPv3 提供源信息

4.5 PIM Hello 报文#

  • Hello 报文:发现邻居、选举 DR
  • 默认每 30 秒发送一次
  • DR 选举规则:优先级高者(默认 1);相同则 IP 大者
  • DR 角色:
    • 源端 DR:负责向 RP 注册源
    • 接收者 DR:负责向 RP 发送 (*,G) Join

五、华为设备配置命令示例#

5.1 使能组播路由#

Terminal window
<Huawei> system-view
[Huawei] multicast routing-enable

5.2 接口使能 PIM#

Terminal window
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] pim sm
# 或密集模式
[Huawei-GigabitEthernet0/0/1] pim dm

5.3 IGMP 配置#

Terminal window
[Huawei] interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2] igmp enable
# 指定 IGMP 版本
[Huawei-GigabitEthernet0/0/2] igmp version 2
# 配置普遍查询间隔(秒)
[Huawei-GigabitEthernet0/0/2] igmp query-interval 60
# 配置特定组查询间隔
[Huawei-GigabitEthernet0/0/2] igmp lastmember-queryinterval 10

5.4 PIM-SM 配置#

Terminal window
[Huawei] multicast routing-enable
[Huawei] interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1] pim sm
[Huawei] interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2] pim sm
[Huawei-GigabitEthernet0/0/2] igmp enable

5.5 静态 RP 配置#

Terminal window
[Huawei] pim
[Huawei-pim] static-rp 10.1.1.1

5.6 BSR(Bootstrap Router)配置#

Terminal window
# 在 RP 候选设备上
[Huawei] pim
[Huawei-pim] c-rp GigabitEthernet 0/0/1
[Huawei-pim] c-rp priority 0
# 在 BSR 候选设备上
[Huawei] pim
[Huawei-pim] c-bsr GigabitEthernet 0/0/1
[Huawei-pim] c-bsr priority 0

5.7 Auto-RP 配置(华为支持较少,主要用 BSR)#

Terminal window
# 略,华为设备推荐使用 BSR 或静态 RP

5.8 IGMP Snooping 配置#

Terminal window
[Huawei] igmp-snooping enable
[Huawei] vlan 10
[Huawei-vlan10] igmp-snooping enable
# 配置静态组播组
[Huawei-vlan10] igmp-snooping static-group 224.1.1.1 interface GigabitEthernet 0/0/1
# 配置路由器端口(连接组播路由器的端口)
[Huawei-vlan10] igmp-snooping router-port GigabitEthernet 0/0/2

5.9 组播路由与表项查看#

Terminal window
# 查看组播路由表
display multicast routing-table
# 查看组播转发表
display multicast forwarding-table

六、常见故障排查#

6.1 接收者无法收到组播#

可能原因

  • 接收者未发送 IGMP Join(或 IGMP 版本不匹配)
  • 组播源端 DR 未向 RP 注册
  • RPF 检查失败(单播路由不可达)
  • RP 不可达或未配置
  • TTL 限制(链路本地组播 TTL=1)

排查步骤

  1. 检查接收者侧 IGMP:display igmp group
  2. 检查 PIM 邻居:display pim neighbor
  3. 检查组播路由表:display multicast routing-table
  4. 检查 RP 配置:display pim rp-info
  5. 检查 RPF:display pim routing-table

6.2 RPF 检查失败#

可能原因

  • 单播路由不可达组播源
  • 单播路由来源与组播到达接口不一致
  • 组播路由表项未建立

排查命令

Terminal window
display pim routing-table
display multicast routing-table
display ip routing-table # 检查到源的单播路由
display pim interface # 检查各接口 RPF 信息

6.3 常用命令汇总#

命令用途
display pim interface查看 PIM 接口信息
display pim neighbor查看 PIM 邻居
display pim routing-table查看 PIM 路由表
display pim rp-info查看 RP 信息
display pim bsr-info查看 BSR 信息
display igmp interface查看 IGMP 接口
display igmp group查看 IGMP 组成员
display multicast routing-table查看组播路由表
display multicast forwarding-table查看组播转发表
display igmp-snooping group查看 IGMP Snooping 组成员

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
组播技术基础
https://blog.zs13.tech/posts/网络/01-路由协议/组播技术基础/
作者
zs13
发布于
2026-08-05
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
zs13
Hello, I'm Zs13.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
22
分类
1
标签
46
总字数
64,717
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.15.10
文章许可
CC BY-NC-SA 4.0