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

相关推荐
深泽多层电路-998pcb22 分钟前
生益的高速PCB板材有哪些
网络·智能路由器
静心观复2 小时前
DNS缓存
网络·缓存
fareast_mzh2 小时前
How API Gateways handle raw TCP packets
网络·网络协议·tcp/ip
Code_Geo2 小时前
LLM 使用 MCP 协议及其原理详解
网络·llm·协议·mcp
528307 小时前
python网络编程
网络
gadiaola13 小时前
【计算机网络】第2章:应用层—DNS
网络·计算机网络
爱研究的小梁13 小时前
乾元通渠道商中标青海省自然灾害应急能力提升工程基层防灾项目
网络·智能路由器·信息与通信
?!71414 小时前
网络编程之网络编程预备知识
linux·网络·c++
YUNYINGXIA15 小时前
LVS+Keepalived高可用集群
网络·lvs·keepalived
昭阳~15 小时前
LVS+Keepalived 高可用群集
服务器·网络·lvs