背景
在组播网络架构中,最后一跳路由器与组播接收者之间运行着一个非常重要的协议——IGMP ( Internet Group Management Protocol,因特网组管理协议),IGMP主要实现以下几个功能:
- 最后一跳路由器通过IGMP报文向其直连的终端网络进行查询,以便发现该网络中的组播组的成员。
- 终端设备使用IGMP报文宣布自己成为某个组播组的成员。
IGMP报文采用IP封装,协议号为2,而且TTL字段值通常为1,IGMP报文只能在本地网段内传播。
IGMP发展
截止目前为止,IGMP有三个版本。
- IGMPv1版本由RFC 1112定义(Host Extensions for IP Multicasting)
- IGMPv2版本由RFC 2236定义(Internet Group Management Protocol, Version 2)
- IGMPv3版本由RFC 3376定义(Internet Group Management Protocol, Version 3)
IGMPv1是一个相对老旧的版本,它只定义了基本的组成员查询及组成员关系报告机制(缺少组成员离开机制、查询器选举机制)。
IGMPv2在IGMPv1的基础上做了一些改进,其中包括定义了组成员离开机制、支持特定组播组查询以及定义了查询器选举机制等。
IGMPv3在之前的版本基础上增加了组成员对特定组播源的限制功能,另外,IGMPv3也是SSM ( Source-Specific Multicast)特定源组播)的重要组件之一。
高版本的IGMP具有向前兼容性。