当前位置: 首页 > news >正文

PIM 协议

组播协议体系

协议名称核心特点基础依赖
DVMRP距离矢量组播基于 RIP 协议
MOSPF组播扩展 OSPF基于 OSPF 单播路由
PIM(主流)协议无关组播不依赖特定单播路由协议

PIM 核心基础架构

1. 网络角色链路

组播源组播路由器(运行PIM)IGMP组成员(接收端)

2. 协议模式分类

模式类型英文全称组地址类型特点
密集模式Dense Mode (DM)ASM(任意源)采用 “洪泛 + 剪枝”,适合成员密集网络
稀疏模式Sparse Mode (SM)SSM(指定源)采用 “显式加入”,适合成员稀疏网络

3. 版本与封装信息

  • 主流版本:PIMv2
  • 组播地址:224.0.0.13
  • 协议号:103
  • 封装层级:IP 层

4. 核心路由表项(二元组)

表项类型含义作用根节点
(S, G)(源,组)用于建立 SPT(源树)以组播源为根
(*, G)(任意源,组)用于建立 RPT(共享树)以 RP(汇聚点)为根(仅 SM 适用)

PIM (DM)工作全流程

阶段一:邻居发现与基础选举

  1. 邻居发现:通过周期性发送 Hello 报文完成邻居识别,建立邻接关系。
  2. 关键参数
    • 发送周期:30 秒;超时时间:105 秒
    • DR Priority:DR(指定路由器)优先级,数值越大越优先
    • Holdtime:邻居关系保持时间;LAN Delay:共享网段延迟
  3. 核心选举:完成 DR 选举(负责与组成员交互、转发组播流量)。

阶段二:组播分发树形成(核心机制)

1. 扩散机制(基础转发)
  • 路由器收到组播报文 → 执行RPF(反向路径转发)检查→ 检查通过则创建(S, G)表项 → 向所有下游接口扩散。
2. 断言机制(Assert)
  • 触发场景:同一网段存在多个 PIM 路由器,避免重复转发。
  • 选举规则:先比单播路由优先级(优者胜);优先级相同,比路由器 IP 地址(大者胜)。
  • 结果:胜出者继续转发,失败者在对应接口剪枝(S, G)表项
  • 参数:Assert 等待时间:90 秒。
3. 剪枝机制(Prune)
  • 触发场景:下游接口无组播组成员,停止接收无用流量。
  • 操作:下游向上游发送 Prune 报文,请求停止转发。
  • 关键参数:剪枝定时器 210 秒,超时后接口自动恢复转发能力。
4. 嫁接机制(Graft)
  • 触发场景:新组成员加入,或被剪枝接口需恢复流量。
  • 操作:下游向上游发送 Graft 报文,请求恢复转发;上游回复Graft-Ack确认,随即恢复流量。

阶段三:状态维护(刷新机制)

  • 核心问题:解决周期性剪枝失效导致的流量洪泛。
  • 操作:离组播源最近的第一跳路由器,周期性发送 **State-Refresh(状态刷新)** 报文。
  • 效果:沿途路由器刷新剪枝定时器,使无组成员的下游节点持续处于抑制状态,稳定抑制无用流量。

关键报文与辅助功能

报文类型核心作用
Hello邻居发现、建立邻接关系
Join/Prune加入组播组、剪枝无用流量
Graft恢复被剪枝的组播流量
Graft-Ack确认嫁接请求
State-Refresh刷新剪枝状态,抑制洪泛
Assert竞争下游唯一转发者

辅助功能参数

  • Neighbor-Tracking:邻居跟踪功能,加速拓扑变化感知
  • Override-Interval:捎带的否决剪枝时间间隔

PIM(SM)

核心树结构

PIM-SM 中构建了两种关键的组播分发树:

RPT(Rendezvous Point Tree,共享树):以 RP(汇聚点)为根,所有组播流量先汇聚到 RP,再分发给接收者。

SPT(Shortest Path Tree,最短路径树):以组播源为根,直接构建从源到接收者的最优路径,用于优化转发效率。

设备角色

RP(Rendezvous Point,汇聚点)

作用:作为组播源和接收者的 “中转站”,是 RPT 的根节点。

选举方式

静态配置:手动指定 RP。

动态选举:通过 BSR(自举路由器)机制完成。

C-BSR(候选自举路由器):竞选 BSR,优先级高或 IP 地址大者胜出。

C-RP(候选 RP):向 BSR 发送通告,BSR 收集信息形成 RP-Set。

RP 选择规则:哈希值大者优先;哈希值相同时,优先级小者优先;优先级相同时,IP 地址大者优先

DR(Designated Router,指定路由器)

作用:在连接组播源或接收者的网段上,负责发起注册或加入报文。

选举方式:通过 Hello 报文动态选举,优先级高或 IP 地址大者胜出。

核心工作流程

接收者加入流程

当连接接收者的 DR 感知到有成员加入组播组G时,会向 RP 发送(*, G)Join 报文,构建 RPT。

组播注册机制

连接组播源的 DR 将组播数据封装为单播,发往 RP,发送 Register(注册)报文。

RP 接收后,向 DR 发送(S, G)Join 和 Register-Stop(注册停止)报文。

SPT 树切换(SPT Switch)

当组播流量达到spt-switch-threshold阈值,或发现从源到接收者的最优路径与当前上游接口不符时,会触发切换。

向最优接口发出(S, G)Join 报文,并向上游接口发出(S, G)Prune 报文,完成从 RPT 到 SPT 的切换。

关键报文与辅助功能

报文名称作用描述
Register / Register-Stop组播源向 RP 注册及停止注册
Assert在共享网段上断言转发路由器,避免重复转发
Bootstrap由 BSR 发送,用于分发 RP-Set 信息
Candidate-RP-Advertisement由 C-RP 发送,用于向 BSR 通告自己的候选信息

拓展模式

  • 模式名称核心特点
    ASM(Any-Source Multicast,任意源组播)接收者加入组播组后,可接收来自任意源的流量
    SSM(Source-Specific Multicast,指定源组播)配合 IGMPv3 使用,接收者明确指定只接收来自特定源 S 的组播流量 (S, G),直接构建 SPT,无需 RP

总结

缺陷

  1. 网络冲击大:PIM-DM 初始采用全网洪泛模式,对网络带宽冲击显著,不适用小型网络
  2. 设备负担重:无论网络疏密,均需维护大量(S, G)路由表项,设备资源占用高,传统组播网络效率偏低
  3. 成本高:实际应用中通常需要租用运营商的组播网络实现,对于企业而言不如大量发送单播划算

优点

  1. 协议无关:可实现不改网络对原有网络直接进行改造
  2. 带宽高效:单流多收,避免重复传输,高效利用带宽
  3. 模式灵活:可使用SM(密集模式)和DM(松散模式),适合不同使用场景
  4. 易部署可扩展:可与IGMP等协议搭配使用,消耗设备性能少
  5. 高可靠低开销:可实现冗余,支持RP冗余
http://www.jsqmd.com/news/487710/

相关文章:

  • C语言洛谷刷题总结7(题单【入门6】函数与结构体)
  • kkFileView 源码编译实战:从零构建最新预览服务安装包
  • 淡入淡出的button控件,源代码
  • Agentic AI提示工程:多任务学习策略的实战经验
  • # 英语听力提升方法(适合词汇量约1200的学习者)
  • 解决VSCode Remote-SSH连接失败的常见问题与排查方法
  • 【Java从入门到入土】06:String的72变:从字符串拼接到底层优化
  • 代码随想录算法训练营第九天 | 翻转字符串里的单词 、右旋转字符串
  • Qwen3-TTS-Tokenizer-12Hz实战案例:有声书制作中章节音频统一token化方案
  • SpikeTrack: A Spike-driven Framework for Efficient Visual Tracking—— 一种用于高效视觉追踪的脉冲驱动框架
  • VSCode结合EmmyLua实现Lua代码高效调试指南
  • 深入解析javax.net.ssl.SSLHandshakeException:如何修复No negotiable cipher suite错误
  • 计算机网络基础:网络互联与核心设备 | 0基础入门必看
  • MedGemma 1.5保姆级教程:从Docker拉取镜像到浏览器访问6006端口
  • Qwen Pixel Art保姆级教程:从Docker安装到提示词工程(含20个优质模板)
  • ssm+java2026年毕设清空购物商城系统【源码+论文】
  • VideoAgentTrek-ScreenFilter在开源社区的应用:自动净化项目演示视频
  • ssm+java2026年毕设情报综合管理系统【源码+论文】
  • 烟花算法(FWA)实战:从原理到MATLAB实现与优化策略解析
  • 第三方应用程序漏洞和木马制作小实验
  • springboot基于Java的免税商品优选购物商城设计与实现代码.7z(源码+论文+ppt答辩)
  • ssm+java2026年毕设求知书友屋网站【源码+论文】
  • RPA 接管企业微信 WebSocket 长连接:从流量捕获到自动化监听
  • 小白友好:WAN2.2镜像部署详解,轻松玩转AI视频创作
  • AI 辅助开发实战:网络安全本科毕业设计的高效实现路径
  • IC验证调试——Verdi实战技巧与效率提升
  • 知识拓展:《补码为什么是“反码 + 1”?(计算机最神奇的设计)》与《为什么补码能表示的负数比正数多1个?(-128的秘密)》
  • AI辅助开发新体验:让快马AI深度参与飞牛漏洞的代码生成、修复与审计
  • YOLO12在遥感图像分析中的应用:地物分类与变化检测
  • 从阿里云到CloudFlare:一站式域名DNS托管迁移实战