目录
IGMP是组播原理涉及到的协议。
1. IGMPV1
IGMP协议作用于:主机和组播路由器之间。
- IGMPv1报文格式
普遍组查询与响应:
①Router发送普遍组查询报文(General Query)G1/G2/G3都会收到此报文。
周期默认是60s。
②Client发送:响应报文 (Report报文) 发送给RouterA(RTA)
响应抑制机制:
③G1发送的响应报文RouterA和G2,G3也会收到,当G3收到此响应报文,G3不会再向RouterA发送响应报文。
主机申请加入组:
当新的client加入网络,client可主动发送Report报文给Router
静默离开:
(1)当某个client需要离开组,client直接离开,不发送离开组消息。
(2)Router周期发送普遍组查询报文,若130s没有收到响应,则Router认为该组不存在组播成员。
2.IGMP v2
组成员离开
1.clientB 发送离开组消息
2.RTA发送特定组查询:组内还有无clientB 成员?
3.第二次无成员反馈报告,则认为组成员clientB不存在。
- 独立的(减少网络负载)查询器选举机制:IP地址小的获胜。
IGMP v2报文格式
3. IGMP v3
对于组播源的限制
1.Router发送查询报文
2.client的Report报文:包含图中的IN和EX
2.1 include:只想接受的源 exclude: 除了这个源其他我都要
2.2 取消了IGMP-v1中的响应抑制机制。
4. IGMP snooping
主要是去配置交换机。当交换机收到组播数据,交换机会把数据广播出去了。会造成:网络资源浪费,和安全隐患。
0.使能交换机的IGMP snooping功能
1.RTA发送查询报文(Query), 并会顺带给到交换机
2.client3和client4发送响应报文(Report),发给RTA,交换机会学习出一个二层组播转发表
于是之后RTA 发出组播包(multicast Packet),不会像之前一样广播,只会发给clientB 和 clientC