IGMP(Internet组管理协议)
协议简介
Internet组管理协议(IGMP,Internet Group Management Protocol)属于TCP/IP标准之一,组播协议包含组成员管理协议和组播路由协议,组成员管理协议用于管理组成员的加入和离开,组播路由协议负责在路由之间建立组播树,IGMP属于组成员管理协议,运行于主机与主机直连的组播路由器之间,实现了以下两个功能
- 主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息
- 路由器通过IGMP周期性地查询局域网内的组播成员是否处于活动状态(即该网段是否仍有某个组播组成员),实现组成员关系的收集与维护
原理
主机离开组播组
(1) 该主机向本地网段内的所有组播路由器(目的地址为224.0.0.2)发送离开组(Leave Group)报文;
(2) 当查询器收到该报文后,向该主机所声明要离开的那个组播组发送特定组查询(Group-Specific Query)报文(目的地址字段和组地址字段均填充为所要查询的组播组地址);
(3) 如果该网段内还有该组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间(Max Response Time)内发送成员关系报告报文;
(4) 如果在最大响应时间内收到了该组播组其它成员发送的成员关系报告报文,查询器就会继续维护该组播组的成员关系;否则,查询器将认为该网段内已无该组播组的成员,于是不再维护这个组播组的成员关系
报文

v2版本兼容V1版本,增加离开组的消息,成员查询的功能也扩展了,共有4种消息(v1只有两种,组成员查询和组成员报告)。
1、类型:
0x11——成员查询消息
0x12——V1的成员报告消息
0x16——V2的成员报告消息
0x17——离开组的消息
2、最长响应时间:针对成员查询才有意义,主机多长时间必须响应查询,单位为0.1s ,默认值为10 。
3、校验和:校验包的完整性
4、组地址:当进行常规成员查询时为0;当进行特定组成员查询时为特定组的IP;当进行成员报告时为要报告的组播组地址。
参考
https://baike.baidu.com/item/%E7%BB%84%E6%92%AD #百度百科组播
https://baijiahao.baidu.com/s?id=1653039560944091489&wfr=spider&for=pc

浙公网安备 33010602011771号