组播网络构建:IGMP、PIM 原理及应用实践

IP组播基础

组播基本架构

组播IP地址

  • 一个组播IP地址并不是表示具体的某台主机,而是一组主机的集合,主机声明加入某组播组即标识自己需要接收目的地址为该组播地址的数据
  • IP组播常见模型分为ASM模型和SSM模型
  • ASM:成员接收任意源组播数据,主机仅需加入组播组,不关注数据源,适用于新闻公告发布等对数据源无要求的场景 。
  • SSM:成员指定接收特定源组播数据,需主机加入组时指定源地址,适用于视频会议等需明确数据源的场景。

组播MAC地址

组播MAC地址与单播MAC地址的区别:

IANA规定,IPv4组播MAC地址的高24位为0x01005e,第25位固定为0。

组播IP与MAC的映射

  • 需要组播IP地址与组播MAC地址的自动映射。
  • MAC地址的低23bit为组播IP地址的低23bit

映射导致的问题

组播IP地址映射成组播MAC地址时,会导致32个组播IP地址对应一个组播MAC的问题。

IGMP协议原理与配置(路由器与主机之间)

  • IGMP(Internet Group Management Protocol)因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在接收者和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
  • IGMP协议运行于主机与组播路由器之间
  • IGMP协议的作用:
    • 主机侧:通过IGMP协议向路由器通告组成员关系
    • 路由器侧:通过IGMP协议维护组成员关系。

IGMPv1的工作机制

  • 普遍组查询与响应
  • 响应抑制机制。

IGMPv1成员加入

  • 主机申请加组。

IGMPv1问题一:组成员离开

  • 静默离开。

IGMPv1问题二:查询器选举

  • 查询器选举依赖于组播路由协议

IGMPv2的工作机制

IGMPv2对IGMPv1的改进:组成员离开

IGMPv2对IGMPv1的改进:查询器选举

  • 独立的查询器选举机制。

IGMPv1和IGMPv2报文比较

SSM模型中的新需求

  • 只接收特定源发送的组播数据

IGMPv3的工作机制

IGMP各版本间的差异

IGMP Snooping的工作机制

  • 组播数据在二层被泛洪,造成:
    • 网络资源浪费。
    • 存在安全隐患。
  • 使能IGMPSnooping机制后,查询响应仅向路由器接口转发

PIM协议原理与配置 (路由器和路由器之间)

PIM(Protocol IndependentMulticast)直接利用单播路由表的路由信息进行组播报文RPF检查,创建组播路由表项,转发组播报文。

PIM-DM的工作机制

  • 采用"推(Push)模式"转发组播报文
  • PIM-DM的关键任务:
    • 建立SPT(Shortest Path Tree,最短路径树)
  • PIM-DM的工作机制:
    • 邻居发现。
    • 扩散与剪枝。
    • 状态刷新。
    • 嫁接。
    • 断言。

PIM-DM邻居发现

PIM-DM构建SPT

  • 扩散过程。
  • RPF检查。
  • 剪枝过程。

PIM-DM状态刷新

  • 周期性地刷新剪枝状态。

PIM-DM Graft机制 (嫁接)

  • 新的组成员加入组播组后,快速得到组播报文。

PIM-DM Assert机制 (断言)

  • 避免重复组播报文

PIM-DM的局限性

  • PIM-DM适用于组播成员分布较为密集的园区网络。
  • PIM-DM的局限性:
    • 在组播成员分布较为稀疏的网络中,组播流量的周期性扩散会给网络带来较大负担。

PIM-SM的工作机制

PIM-SM基本概述

  • 使用"(Pull)模式"转发组播报文
  • PIM-SM的关键任务:
    • 建立RPT(RendezvousPointTree,汇聚点树也称共享树),
    • 建立SPT(Shortest Path Tree,最短路径树)。
  • 适用于组播成员分布较为稀疏的网络环境。

汇聚点RP (Rendezvous Point)

  • 充当RPT树的根节点。
  • 共享树中的所有组播流量都经过RP转发给接收者。
  • 所有PIM路由器都要知道RP的位置。

RPT及其建立过程

组播接收者侧DR与组播源侧DR

SPT的建立过程

  • SPT建好之后,组播报文沿SPT到达RP

( * ,G)与(S,G)条目关系

PIM-SM的转发树

SPT和RPT构成组播报文的转发路径,存在哪些问题?

Switchover机制

与组播接收者相连的DR负责向RP发送单播join消息 ,与组播源相连的DR负责向RP发送单播Register消息

相关推荐
暖馒2 小时前
Modbus应用层协议的深度剖析
网络·网络协议·c#·wpf·智能硬件
yunfuuwqi3 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔4 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠4 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
枷锁—sha4 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Zach_yuan5 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
迎仔7 小时前
B-算力中心网络隔离的必要性:为什么必须隔离?
网络
野指针YZZ7 小时前
一键配置RK3588网络与SSH远程连接
网络·ssh·rk3588
迎仔8 小时前
10-网络安全监控与事件响应:数字世界的智能监控与应急系统
网络·安全·web安全
上海合宙LuatOS8 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程