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消息