ALM ( application-level multicast ) 应用程序级多播 是什么

区别于网络层的多播(基于IP),ALM ( application-level multicast )位于OSI七层模型中的应用层,是通过应用层实现的多播。简单来说就是由应用程序发起多个P2P连接从而在逻辑上实现多播。

起源(为什么会有AML)

由于以下原因,IP的多播无法得到有效的广泛部署:

  • 组播管理问题-IP组播标准没有为大规模商业部署提供许多重要的组播管理问题的解决方案,例如组管理,组播地址分配和对网络管理的支持[2]。
  • 状态路由器-IP组播路由器需要 维护每个组的状态以进行数据包复制。此状态使路由器无法支持可扩展的多播组的数量。
  • 缺乏更高级别功能的支持-IP多播基于尽力而为的数据传递,因此是不可靠的。 对于某些应用程序,例如多方游戏和软件分发,这是不希望的。

网络层的组播与应用层的组播对比

ALM的概念只是将多播功能实现为应用程序服务而不是网络服务。

如图所示,b中显示了ALM传递机制的示例。 与a相反,S与H1和H3建立单播连接,而H1依次通过单播将数据传送到H2。 因此,组播是通过分段单播连接实现的。很明显,终端主机而不是路由器负责复制和转发组播数据包,这样ALM的生成树在最终主机之间形成了一个仅由终端主机和单播连接组成的叠加拓扑。 因此,在讨论ALM时,我们经常可以将网络抽象为仅由终端主机组成。

IP多播是由网络节点(即路由器)实现的,并且避免了同一链路上同一数据包的多个副本以及可能构造的最佳树,而ALM是由应用程序节点(终端系统或代理)实现的,并导致多个同一链路上相同数据包的副本,以及通常构造的非最佳树。

AML的优缺点

ALM系统可以形成覆盖多播树,与IP多播相比,它们优点有:

  • 会产生较低的性能损失(在链路压力和树扩展方面)。
  • 更容易且可能立即在广域网上进行部署
  • 更易于维护和更新算法
  • 能够适应特定应用程序

与IP多播相比,ALM的缺点:

  • 更高的链路压力
  • 更长的延迟
  • 更低的网络使用效率
  • 更大的直径树

应用层组播的一种常见方法是让组播参与者建立单播链接的覆盖拓扑,以用作虚拟网络(覆盖网络),并在其上构建组播树。

深入学习可以参考的论文

  1. A survey of application-layer multicast protocols


  2. A Survey and Comparison of Application-level Multicast Protocols


  3. An Application-Layer Multicasting Protocol for Distributed Collaboration


  4. Peer-to-peer Collaborative Application-Level Multicast


你可能感兴趣的:(ALM ( application-level multicast ) 应用程序级多播 是什么)