目录
2.4.1 IGMPv2报文格式
IGMPv2报文与IGMPv1报文略有不同,取消了版本字段而相应增加了最大响应时间字段。
- Type:报文类型,IGMPv2报文中有三种报文类型
- Type=0x11 :成员关系查询报文,又分两种子类型
- 常规查询:用于确定哪些组播组是有效的,即该组是否还有成员在使用,常规查询组地址全零;
- 特定查询:用于查询特定的组播组是否还有组成员。组地址为特定的组播地址。(当最后一个接收者离开时发送,即接收到Last Reporter发送的离开组消息时)
- Type=0x16 :IGMPv2组成员关系报告。
- 为了和IGMPv1兼容,还有另外的一个附加的消息类别:
- 0x12 = IGMPv1成员报告。
- Type=0x17:离开组消息,主机发送的离开报告。
- 只有Last Reporter才会发送,不是Last Reporter则依然会静默离开;
- Type=0x11 :成员关系查询报文,又分两种子类型
- Max Resp Time:最大响应时间字段,仅用于组成员关系查询。表示主机响应查询返回报告的时间范围。IGMPv1中没有该字段。
- 普遍组查询最大响应计时器(默认为10s)
- 特定组查询最大响应计时器(默认为1s)
- Checksum:IGMP消息的校验和,是IGMP消息长度(IP包的整个有效负载)的16位检测。
- 传送报文时,必须计算校验和并填入该字段中;
- 接收报文时,必须在处理报文之前检验校验和,以判断IGMP消息在传输过程中是否发生了错误。
- 组地址字段
- 发送常规查询时,组地址字段设置为零;
- 特定组查询时候,设置为要查询的组地址。
- 当主机成员发回组关系报告或是发送离开组消息时,本字段设置为目标组地址。
报文示例:
- IGMPv2成员查询消息
- IGMPv2成员报告消息
- IGMPv2离开组消息