互联网组管理协议IGMP(Internet Group Management Protocol)是TCP/IP协议族中负责IPv4组播成员管理的协议,允许主机动态加入或离开组播组,简化了组播网络的部署和管理。转发路由器已支持IGMP协议,使用转发路由器建立组播网络时,您无需再手动指定组播源和组播成员,转发路由器可以根据IGMP协议互动动态添加和删除组播源和组播成员,方便您快速将多个VPC下的资源添加或移除进组播网络,帮助您提高组播网络的管理和部署效率。
IGMP方式公测中,仅针对白名单用户开放。
应用场景
使用IGMP功能支持在同地域的VPC之间建立组播网络。如果您需要在跨地域的VPC之间建立组播网络,则需要通过静态方式将跨地域的资源加入到组播组中。
在同地域VPC之间建立组播网络(IGMP方式)
在跨地域VPC之间建立组播网络(联合使用IGMP方式和静态方式)
使用限制
转发路由器使用任意源组播模型(Any-Source Multicast),不支持指定源组播模型(Source-Specific Multicast),建议不要在主机应用上配置任何源过滤行为。
转发路由器使用IGMPv2版本,支持接收IGMPv3加入(JOIN)和离开(LEAVE)消息。
如果转发路由器接收到主机的IGMPv3加入(JOIN)消息,会自动回复IGMPv2查询(QUERY)消息,此时主机会回退到IGMPv2行为。
使用IGMP方式建立组播网络时,需要为组播域开启IGMP功能:
如果一个组播域未开启IGMP功能,则仅支持静态创建组播源和组播成员。
如果一个组播域开启了IGMP功能,则同时支持使用静态方式和IGMP方式创建组播源和组播成员。
如果一个主机先被手动指定为组播成员,后续该主机又通过IGMP方式加入到该组播组,则IGMP方式不生效,该主机依旧会被认定为静态指定的组播成员。如果该主机先通过IGMP方式加入组播组,则该主机不支持再被手动指定为组播源或组播成员。
为组播域开启IGMP功能后,不支持关闭。
转发路由器IGMP工作机制
支持IGMPv2的主机通过发送多个IGMP加入(JOIN)消息(通常会有2到3次重试)加入一个组播组。如果所有的IGMP加入(JOIN)消息均丢失(这种情况不太可能发生),主机将无法成功加入组播组。在这种情况下,您需要在主机上使用应用程序特定的方法重新触发IGMP加入(JOIN)消息。
转发路由器将从接收到主机的IGMPv2加入(JOIN)消息开始,持续跟踪该主机,在接收到该主机的IGMPv2离开(LEAVE)消息后会停止跟踪该主机。作为组播路由器, 转发路由器每两分钟向所有组播成员发出一次IGMPv2查询(QUERY)消息,每个组播成员需回应一个IGMPv2加入(JOIN)消息来更新组播成员身份。如果一个组播成员连续三次未回复,转发路由器会将其从组播组中移除。如果转发路由器明确收到了组播成员发送的IGMPv2离开(LEAVE)消息,则会立即将主机从任何进一步的组播处理中移除。
转发路由器向所有IGMP成员发送组播成员身份查询数据包,以便跟踪组播成员身份。如果IGMP主机上配置了安全组规则或访问控制策略,需允许IGMP协议消息通过。
主机通过IGMP协议成功加入组播组后,在转发路由器下这个主机会同时成为这个组播组下的组播源和组播成员。