第13章 IGMP:Internet组管理协议

13.1 引言

IGMP用于支持主机和路由器进行多播。

  • 封装在IP中(协议号2)
  • 在本地网络传播组成员信息

13.2 IGMP报文

  0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | 类型 | 代码 | 检验和 | +--------+--------+--------+--------+ | 组地址(D类IP地址) | +--------+--------+--------+--------+ text   复制   下载

  • 类型:1=查询,2=报告
  • 检验和:覆盖整个IGMP报文

13.3 IGMP协议

加入组

  • 第一个进程加入时发送报告
  • 多个进程加入同一组只发一次

离开组

  • 不发送离开报告

查询

  • 路由器定时发送查询(224.0.0.1)
  • 主机用报告响应
  • 随机延迟(0~10秒)避免拥塞

TTL

  • IGMP报文的TTL=1
  • 多播数据报默认TTL=1

13.4 一个例子

  1 0.0 sun > 224.1.2.3: igmp report 224.1.2.3 [ttl 1] 2 6.94 sun > 224.1.2.3: igmp report 224.1.2.3 [ttl 1] text   复制   下载

  • 第1行:立即报告
  • 第2行:随机延迟后重发

13.5 小结

IGMP用于多播组成员管理。主机加入时发送报告,离开时不发送。路由器定期查询。