前期总结
我们之前学些了基础的组播理论和IGMPv1和v2协议,IGMPv1,v2的客户端是针对支持ASM组播模型开发的协议。ASM比较消耗组播地址资源,所以下一次升级IGMPv3主要解决这个问题。
IGMPv3的客户端是针对支持SSM组播模型开发的协议,成员可以对组播源和组播组进行选择,并且也支持ASM模型,但实际应用较少,因为客户端维护难度大。
IGMPv3
IGMPv3报文包含两大类(没有设计专门的离组报文,通过报告报文实现离组):
1、查询报文,成员报告报文
2、查询报文保留v2机制,设置普遍组查询和特定组查询报文,增加了特定源组查询报文。
3、与之对应,成员报告报文有所改变,增加了对组播源的过滤模式
include:(G,INCLUDE,(S1、S2…))表示只接受来自S1、S2这种指定组播源发往组G的数据
exclude:(G,EXCLUDE,(S1、S2…))表示只接受除了S1、S2这种指定组播源,其他发往组G的数据
当组播组与组播源列表的对应关系发生变化时,IGMPv3报告报文会将该关系变化存放于组记录字段,发送给IGMP查询器。
4、在IGMPv3中一个成员报告报文可以携带多个组播组信息,而之前的版本一个成员报告只能携带一个组播组。这样就可以大大减少报文数量。

5、IGMP没有组成员响应抑制机制
因为同组的客户端可能会选择不同的组播源,所以不需要进行成员抑制,这样操作了反而同组客户端失去了定制化特色。
网友评论