组播网络构建: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消息

相关推荐
一起养小猫27 分钟前
Flutter for OpenHarmony 实战:打造天气预报应用
开发语言·网络·jvm·数据库·flutter·harmonyos
qianshang2335 小时前
SQL注入学习总结
网络·数据库·渗透
云小逸6 小时前
【网络通信】同一网段与不同网段的通信原理
网络·网络安全
zr5268554478 小时前
PCIe-PN卡(三格电子)
网络
无名的小三轮8 小时前
防火墙基础实验:智能选路下的透明DNS选路配置
网络
一轮弯弯的明月8 小时前
TCP传输大致过程、流量控制与拥塞控制
网络·tcp/ip·计算机网络·学习心得
犀思云8 小时前
如何通过网络即服务平台实现企业数字化转型?
运维·网络·人工智能·系统架构·机器人
皇帝要考研8 小时前
【ISO 13400-2:2019】核心配置项
网络·网络协议
犀思云9 小时前
企业端到端NaaS连接的优势与应用
网络·人工智能·机器人·智能仓储·专线
Godspeed Zhao9 小时前
现代智能汽车系统——总线技术1
网络·汽车·php