组播特征
点到多点网络,只需要有需求的用户才能接收得到得网络,
优点:
增强效率,控制网络流量,减少服务器和CPU负载
优化性能,消除流量冗余
分布式应用,使多点传输成为可能
缺点
尽最大的努力交付
无用塞控制
数据包重复
数据包无序交付
IGMP协议
IGMPV1
主机加入和离开组
加入:路由器在开启的端口,发送查询报文,询问该接口下有没有接收者,主机回复report报文加入,路由器收到report后建立G表项记录组播
离开:主机不发生report后路由器把G表项删除
路由器维护组播组
成员报告抑制机制:
主机以组播224.0.0.1的地址发送至其他主机,收到该report报文的主机会启动计时器(10秒),在该计时器时间内,如果本机也i希望加入该组播组,则不会发送report报文
查询器选举
没有查询器选举,选举依靠上层路由协议
IGMPv2
主机加入
路由器周期性的发送普遍查询报文,其它同IGMPv1
主机离开
主机主动发送Leave报文,路由器收到leave报文后,发送指定查询报文,询问是否还有继续加入该组播组的主机,如果该网段还有接收者,则该接收者会发送membership-report报文,通告路由器,还有接收者,如果路由器没收到membership-report报文就会删除该组播信息
查询器选举
ip地址小的
成员报告抑制同v1
IGMPV3
主机上维护组播信息
主机通过发送memebership-report报文通告本机组播信息状态,过滤表
路由器组播信息
组状态:组地址,组定时器,过滤模式,源列表
源列表:源地址,源定时器
主机加入
路由器发送普遍查询报文,收到普遍查询报文的主机,如果希望加入某个组,则发送membership-report报文,报文格式包含组地址,源过滤模式,源列表,路由器收到report后会根据汇总信息生成相应的组播信息表项
主机离开
主机向路由器发送membership-report,报文包含希望离开的组播组和TO-IN(NULL)消息,路由器收到该报文,会发送指定组报文查询,如果没收到回复则删除该组播信息记录,如果收到则不操作
取消成员报告抑制
应该report报文包含的源列表不一样,不同主播
三个版本之间的对比
v1和v2的兼容性
v2主机发现v1路由器则不发送leave报文,v2路由器发现v1路由器则自降版本为v1
v2路由器发现v1主机,则必须互联后续发送的leave报文,
其它v2主机的report报文会被v1主机的report报文抑制
v3对v1,v2的兼容
IGMPv3的主机遵循v1v2的成员报告抑制机制
二层组播的问题
IGMP snooping
发送查询信息的作为路由端口,回复report报文的端口作为成员端口,
组播vlan
路由器只在组播vlan复制数据,不同vlan的主机点播同一组播源时,路由器只复制一份组播报文