中转网关上的多播 - Amazon Virtual Private Cloud
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

中转网关上的多播

多播是一种通信协议,用于同时向多台接收计算机传输单个数据流。中转网关支持在所连接 VPC 的子网之间路由多播流量,并充当实例的多播路由器,以将流量发送到多个接收实例目标。

多播概念

以下是多播的主要概念:

  • 多播域 — 允许将一个多播网络分段成不同的域,并将中转网关用作多播路由器。您可以在子网级别定义多播域成员资格。

  • 多播组 — 识别一组将发送和接收相同多播流量的主机。多播组由组 IP 地址标识。多播组成员资格由附加到 EC2 实例的单个弹性网络接口定义。

  • Internet 组管理协议 (IGMP) — 允许主机和路由器动态管理多播组成员资格的互联网协议。IGMP 多播域包含使用 IGMP 协议加入、离开和发送消息的主机。AWS 支持 IGMPv2 协议以及 IGMP 和静态(基于 API 的)组成员资格多播域。

  • 多播源 — 静态配置的与支持的 EC2 实例关联的弹性网络接口,用于发送多播流量。多播源仅适用于静态源配置。

    静态源多播域包含不使用 IGMP 协议加入、离开和发送消息的主机。您可以使用 AWS CLI 添加源成员和组成员。静态添加的源发送多播流量,成员接收多播流量。

  • 多播组成员 — 与支持的 EC2 实例关联的弹性网络接口,用于接收多播流量。多播组具有多个组成员。在静态源组成员资格配置中,多播组成员只能接收流量。在 IGMP 组配置中,成员既可以发送流量,也可以接收流量。

注意事项

  • 有关受支持区域的信息,请参阅 AWS Transit Gateway 常见问题解答

  • 您必须创建一个新的中转网关才能支持多播。

  • 多播组成员资格是使用 Amazon VPC 控制台或 AWS CLI 或 IGMP 进行管理的。

  • 一个子网只能位于一个多播域中。

  • 如果您使用非 Nitro 实例,则必须禁用 Source/Dest (源/目标) 检查。有关禁用检查的信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南 中的更改源或目标检查

  • 非 Nitro 实例不能是多播发送方。

  • AWS Direct Connect、站点到站点 VPN 或对等挂载不支持多播路由。

  • 中转网关不支持多播数据包分段。分段多播数据包会被丢弃。有关更多信息,请参阅 MTU

  • 启动时,IGMP 主机会发送多条 IGMP JOIN 消息以加入多播组(通常重试 2 到 3 次)。如果发生了所有 IGMP JOIN 消息均丢失的不太可能的情况,主机将不会成为中转网关多播组的一部分。在这种情况下,您需要使用特定于应用程序的方法从主机重新触发 IGMP JOIN 消息。

  • 中转网关会跟踪成功加入多播组的主机。在中转网关中断的情况下,中转网关在上次成功发出 IGMP JOIN 消息后继续向主机发送多播数据 7 分钟(420 秒)。中转网关会继续向主机发送会员资格查询,最长持续 12 个小时,或直到它收到来自主机的 IGMP LEAVE 消息为止。

  • 中转网关将成员资格查询数据包发送给所有 IGMP 成员,以便它可以跟踪多播组成员资格。这些 IGMP 查询数据包的源 IP 为 0.0.0.0/32,目标 IP 为 224.0.0.1/32,协议为 2。IGMP 主机(实例)上的安全组配置以及主机子网上的任何 ACL 配置都必须允许这些 IGMP 协议消息。