源特定组播除了要求网络端到端地支持网络组播和SSM 模式外,同时还要求网络和应用支持IGMP V3 协议栈。
IGMP V3 在IGMP V1/V2 的基础上提供了额外的源过滤组播功能(SFM:Source-Filtered Multicast)。
在IGMP V1/V2 中,主机只根据组地址来决定加入某个组并从任何一个源接收发给该组地址的业务量。具有源过滤组播功能(SFM)的主机使用IGMP V3 来通告该主机所希望加入的组播组,同时还通告该主机所希望接收的组播源的地址。主机可以通过一个包括列表(Inclusion List)或一个排除列表(Exclusion List),前者规定了该主机所期望接收的组播源的地址(即规定了哪些源能发送给该组播组),而后者规定了该主机不希望接收的组播源的地址。
GMPv3的工作原理和IGMPv2并没有本质的改变,只是在某些地方做了改进和优化。
GMPv3的主要改进:
- 支持源特定组播SSM;
- 向后兼容IGMPvl和IGMPv2:
- 主机可以定义要接收的组播源地址:
- 非查询路由器可以与查询路由器的保持参数值同步:最大响应时间从25.5秒增加到53分钟,适合于较大的网络:
- 辅助数据字段为将来的应用预留了空间:关系成员报告报文发送给目的地址224.0.0.22,可以帮助二层交换机更有效地实现IGMP监听(IGMPSnooping)功能;
- 报告报文中可以包含多个组记录,可以有效地减少网络通信量;