rfc 7450 AMT

多播技术是非常好的。不幸的是,许多情况缺乏到承载由多播源生成的流量的网络的多播连接。缺乏连接的原因各不相同,但主要是由于服务提供商的策略和网络限制。

适用性

本文档描述了一种协议,该协议可用于将多播通信量从支持多播的网络传送到缺少到源网络的多播连接的站点。本文档不描述从孤立站点获取多播通信量的任何方法,因为本主题超出了范围。
AMT不打算用作多播的替代,特别是在需要高流量的条件或环境中。AMT使用单播复制来到达多个接收者,并且该复制的带宽成本将高于通过本地多播可到达接收器的带宽成本。
AMT被设计为部署在具有多播功能的网络的边界上,在那里访问和供应可以由AMT服务提供商管理。

3.术语解释
非广播多址网络(non-broadcast multi-access,NBMA):例如X.25分组交换网就属于这种网络,在这种网络中可以通过组播方式发布路由信息。
NBMA网络或接口是连接有多个网络节点(主机或路由器)的网络或接口,但数据包通过虚拟电路或物理链路直接从一个节点传输到另一节点。 NBMA网络不支持多播或广播流量-源多播流量的节点必须将多播数据包复制以单独传输到已请求多播流量的每个节点。

4.协议概述
在这里插入图片描述
AMT协议采用客户端-服务器模型,其中“网关(Gateway)”将接收特定多播流量的请求发送到“中继(Relay)”,该中继通过将请求的多播流量传递回网关来进行响应。
网关通常部署在缺乏多播支持或不包含感兴趣的多播源但启用多播的网络的连接的网络中。
中继部署在包含多播源或具有多播源连接的启用多播的网络中。

4.1.1。 IGMP和MLD协议的关系
AMT依赖于Internet组管理协议(IGMP)[RFC3376]和多播侦听器发现(MLD)协议[RFC3810]提供管理,通信和对多播组成员身份的更改采取行动所需的功能。
网关或中继实现不一定需要遵守IGMP或MLD的功能,齐全且一致的实现,才能遵守此规范,但是本文档中出现的协议描述假定是这种情况。 IGMP和MLD协议的最低功能和行为要求在5.2.1和5.3.1节中进行了描述。

在这里插入图片描述
网关运行IGMP和MLD协议的主机部分,以生成通过AMT消息发送到中继的组成员身份更新。
中继运行IGMP和MLD协议的路由器部分,处理组成员身份更新,以在多播转发状态中产生所需的更改。 中继使用AMT消息根据网关的当前组成员状态将传入的多播IP数据报发送到网关。
AMT的主要功能是提供在网关和中继之间传输IGMP和MLD消息以及组播IP数据报所需的握手,封装和解封装。 在网关和中继之间交换的IGMP和MLD消息被封装为AMT控制消息中的完整IP数据报。 组播IP数据报被复制并封装在AMT数据消息中。 所有AMT消息都是通过单播UDP / IP发送的。

4.1.2. Gateways
网关的下游端服务一个或多个接收器–网关接受来自接收者的组成员身份请求,并将请求的多播流量转发回这些接收者。 网关功能可以直接在请求多播服务的主机中或在主机上运行的应用程序中实现。
网关的上游侧连接到中继。 网关将封装的IGMP和MLD消息发送到中继,以表示有兴趣接收特定的多播流量。

4.1.2.1. Architecture
每个网关都有一个逻辑伪接口:
在这里插入图片描述
伪接口在概念上是一个网络接口,网关在该网络接口上执行IPv4 / IGMP(v2或v3)和IPv6 / MLD(v1或v2)协议的主机部分。 使用IGMP或MLD服务接口来控制伪接口的多播接收状态。 IGMP和MLD主机协议生成IP数据报,其中包含网关将发送到中继的组成员身份消息。 IGMP和MLD协议还提供了重传和定时行为。

假定所有AMT封装,解封装和中继交互都在伪接口内发生。

网关主机或应用程序可以为IPv4 / IGMP和IPv6 / MLD创建单独的接口。 网关主机或应用程序可能还需要每个源或特定于域的中继地址的其他伪接口。

在这里插入图片描述
在此示例中,主机IP堆栈使用虚拟网络接口与网关伪接口实现进行交互。

4.1.2.2. Use Cases
网关功能的用例包括:
IGMP / MLD代理
IGMP / MLD代理在上游接口上运行AMT,在下游接口上运行路由器模式IGMP / MLD,以使主机通过IGMP和MLD协议访问多播流量。
虚拟网络接口
在物理网络接口上运行AMT的虚拟网络接口或伪网络设备驱动程序,以通过主机IP堆栈提供的IGMP / MLD服务接口提供套接字层对多播流量的访问。
应用
在内部实现并执行IGMP / MLD和AMT以获得对多播流量的访问的应用程序或应用程序组件。

4.1.3. Relays
中继服务网关的下游侧-中继从网关接受封装的IGMP和MLD组成员消息,然后封装并将请求的多播流量转发回这些网关。
中继的上游端与本机多播基础结构进行通信-中继向多播源发送加入和修剪/离开请求,并从这些源接受请求的多播流量。

4.1.3.1. Architecture
在这里插入图片描述
伪接口在概念上是一个网络接口,中继在该接口上运行IPv4 / IGMPv3和IPv6 / MLDv2协议的路由器部分。 中继不会向网关发送未经请求的IGMPv3 / MLDv2查询消息,因此中继必须使用或丢弃通常由IGMPv3或MLDv2生成的任何本地查询。 请注意,该协议要求对查询消息使用IGMPv3和MLDv2。 AMT协议主要用于SSM应用程序,并依赖IGMPv3 / MLDv2提供的几个值来控制网关行为。

中继为通过伪接口连接的每个网关以及整个伪接口维护组成员资格状态(如果通过单个接口管理多个网关)。 在中继的上游接口上收到的多播数据包将路由到伪接口,在此将它们复制,封装并发送到感兴趣的网关。 伪接口组成员身份状态的更改可能触发向指定源或集合点向上游发送多播协议请求,并导致内部路由/转发状态发生更改。

中继伪接口是用于描述AMT协议操作的体系结构抽象。 就本文档而言,最容易将伪接口视为单个网关的接口-封装,解封装和其他特定于AMT的处理在伪接口“内部”进行,而转发和复制则在伪接口外部进行 。

另一种观点是将伪接口视为非广播多路访问(NBMA)网络接口,其链路层是仅单播网络,通过该单播网络与网关交换AMT消息。 从概念上讲,单个网关在接口上被视为逻辑NBMA链接。 在此体系结构模型中,组成员身份跟踪,复制和转发功能在伪接口中发生。

本文档未指定任何特定的体系结构解决方案-中继开发人员可以根据需要选择实现和分发协议功能,以利用现有的中继平台服务和体系结构。
在本文档中,术语“中继”可用作执行中继协议的实体,中继伪接口或具有一个或多个网络接口的中继设备的通用参考,该网络接口具有与本机组播基础结构的组播连接, 零个或多个接口连接到单播互联网络,以及一个或多个中继伪接口。

4.1.4. Deployment
AMT协议要求中继部署模型,该模型使用任播寻址[RFC1546] [RFC4291]将网关与中继配对。
在这种方法下,一个或多个中继通告路由同一IP前缀。 为了找到与之通信的中继,网关将消息发送到该前缀内的任意播IP地址。 该消息被路由到通告了前缀的拓扑最近的中继。 接收消息的中继通过将其单播地址发送回网关进行响应。 网关将此地址用作随后发送给中继消息的目标地址。

使用任播寻址可带来以下好处:
o中继可以部署在单个启用多播的网络中的多个位置。 中继可能安装在网关附近,以减少带宽需求和延迟,并限制单个中继可能服务的网关数量。
o可以随时添加或删除中继,从而可以分阶段部署,扩展和热交换–中继发现过程将始终返回最近的可操作中继。
o中继在耗尽服务其他网关所需的资源时,可能使自己脱机。 可以保留现有的网关连接,但是新的网关请求将被路由到下一个最近的中继。

4.1.4.1. Public versus Private
理想情况下,AMT协议将提供一种将接收器连接到多播源的通用解决方案,以便可以使用任何网关通过可公开访问且部署广泛的中继来访问任何全球通告的多播源。 不幸的是,当今的Internet尚未允许这样做,因为许多中继将缺乏对源的本地多播访问,即使它们可以通过单播进行全局访问。

在这些情况下,提供商可以在其自己的源网络中部署中继,以允许在该网络中进行多播分发。 使用这些中继的网关必须使用特定于提供商的中继发现机制或专用的任播地址来访问这些中继。

4.1.4.2. Congestion Considerations
AMT依靠UDP来尽力将多播数据传递到网关。 AMT和UDP均未提供调节通过网络的数据消息流所需的拥塞控制机制。 尽管拥塞补救可能由多播接收器应用程序通过多播组选择或上游报告机制提供,但没有任何方法可以确保采用这种机制。 为了限制整个网络或更广泛的Internet上可能出现的拥塞,AMT服务提供商应在提供商的网络边界及其与边缘路由器的接口附近部署AMT中继。 提供者必须将中继地址通告限制在那些边缘,以防止远程网关能够访问中继并潜在地产生消耗或超过中间链路容量的流。

4.1.5. Discovery
为了执行协议的网关部分,网关需要可使用中继的单播IP地址。 可以使用多种方法获取此地址-可以通过某种形式的中继发现过程来静态分配或动态选择该地址。
如上一节所述,AMT协议提供了一种依赖于任播寻址的中继发现方法。 不要求网关使用AMT中继发现,但是所有中继实现都必须支持它。

在描述发现过程时,AMT协议使用以下术语:

中继发现地址前缀:
用于将发现消息路由到中继的任播地址前缀。

中继发现地址:
发送发现消息时使用的任播目标地址。

中继地址:
发现过程获得的单播IP地址。

4.1.5.1. Relay Discovery Address Selection
任播中继发现地址的选择可能取决于源,因为通过中继发现定位的中继必须具有到所需源的多播连接。

类似地,单播中继地址的选择可能取决于源,因为通过网关连接到提供多播流量的中继,必须具有到流量源的本机多播连接。

可能用于执行特定于源或特定于组的中继选择的方法在很大程度上取决于实现,因此本文档不再进一步讨论。 可能的方法包括使用静态查找表,基于DNS的查询或提供在(S,G,relay-discovery-address)或(S,G,relay-address)元组上接受加入请求的服务接口。

4.1.5.2. Relay Discovery Address Prefix
IANA已分配了IPv4和IPv6地址前缀,用于发布和发现可公开访问的中继。

中继发现地址通过将前缀地址的低八位字节设置为1(对于IPv4和IPv6)。 每个前缀内的所有剩余地址都保留供将来使用。

公共中继必须发布到地址前缀的路由(例如,通过BGP [RFC4271]),并配置接口以响应中继发现地址。

发现地址前缀在第7节中描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值