T Amazon ransit Gateway 中的多播 - Amazon VPC
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

T Amazon ransit Gateway 中的多播

组播是一种通信协议,用于同时向多台接收计算机传输单个数据流。Transit Gateway 支持在所连接的子网之间路由多播流量 VPCs,它可以用作发送到多个接收实例的流量的实例的多播路由器。

组播概念

以下是组播的主要概念:

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

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

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

  • 多播源 — 与静态配置为发送多播流量的受支持 EC2 实例关联的 elastic network 接口。组播源仅适用于静态源配置。

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

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

注意事项

  • Transit Gateway 多播可能不适合高频交易或对性能敏感的应用程序。我们强烈建议您查看多播配额以了解限制。请联系您的客户或解决方案架构师团队,详细了解您的性能要求。

  • 有关支持的区域的信息,请参阅 T Amazon ransit Gateway FAQs

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

  • 组播组成员资格使用 Amazon Virtual Private Cloud Console 或或 IGMP Amazon CLI进行管理。

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

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

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

  • 不支持通过 Site-to-Site VPN Amazon Direct Connect、对等连接或传输网关 Connect 附件进行多播路由。

  • 中转网关不支持组播数据包分段。分段组播数据包会被丢弃。有关更多信息,请参阅 最大传输单元 (MTU)

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

  • 群组成员资格从传输网关收到 IGMPv2 JOIN消息开始,到收到 IGMPv2 LEAVE消息时结束。中转网关会跟踪成功加入组播组的主机。作为云多播路由器,传输网关每两分钟向所有成员 IGMPv2 QUERY发出一条消息。每个成员都会发送一条 IGMPv2 JOIN消息作为回应,这是成员续订会员资格的方式。如果成员未能回复连续三次查询,则中转网关将从其加入的所有组中删除此成员资格。但是,它会继续向该成员发送查询 12 个小时,然后才将该成员永久从其 to-be-queried列表中删除。一条明确的 IGMPv2 LEAVE消息会立即永久地将主机从任何进一步的多播处理中移除。

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

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

  • 当组播源和目标位于同一 VPC 中时,您不能使用安全组引用将目标安全组设置为接受来自源安全组的流量。

  • 对于静态组播组和源,T Amazon ransit Gateway 会自动删除已不 ENIs 存在的静态组和源。这是通过定期担任 Tr ansit Gateway 服务相关角色在账户 ENIs 中描述来执行的。

  • 仅支持 IPv6静态多播。动态组播不支持。

组播路由

在中转网关上启用组播时,它将充当组播路由器。当您将子网添加到某个组播域时,我们会将所有组播流量发送到与该组播域关联的中转网关。

网络 ACLs

网络 ACL 规则在子网级别运行。它们将应用于组播流量,因为中转网关位于子网外。有关更多信息,请参阅 Amazon VPC 用户指南 ACLs中的网络

对于互联网组管理协议(IGMP)组播流量,您必须至少具有以下入站规则。远程主机是发送组播流量的主机。

类型 协议 描述
自定义协议 IGMP(2) 0.0.0.0/32 IGMP 查询
自定义 UDP 协议 UDP 远程主机 IP 地址 入站组播流量

对于 IGMP,您必须至少具有以下出站规则。

类型 协议 目的地 描述
自定义协议 IGMP(2) 224.0.0.2/32 IGMP 离开
自定义协议 IGMP(2) 组播组 IP 地址 IGMP 加入
自定义 UDP 协议 UDP 组播组 IP 地址 出站组播流量

安全组

安全组规则在实例级别操作。它们可以应用于入站和出站组播流量。行为与单播流量相同。对于所有组成员实例,您必须允许来自组源的入站流量。有关更多信息,请参阅 Amazon VPC 用户指南中的安全组

对于 IGMP 组播流量,您必须至少具有以下入站规则。远程主机是发送组播流量的主机。您不能将安全组指定为 UDP 入站规则的源。

类型 协议 描述
自定义协议 2 0.0.0.0/32 IGMP 查询
自定义 UDP 协议 UDP 远程主机 IP 地址 入站组播流量

对于 IGMP 组播流量,您必须至少具有以下出站规则。

类型 协议 目的地 描述
自定义协议 2 224.0.0.2/32 IGMP 离开
自定义协议 2 组播组 IP 地址 IGMP 加入
自定义 UDP 协议 UDP 组播组 IP 地址 出站组播流量