多播
![本页使用了标题或全文手工转换](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
路由形式 |
---|
多播(英语:multicast,又称群播,中国大陆也译作组播),是电脑网络中的一种群组通信,它把资讯同时传递给一组目的电脑。多播可以是一对多或多对多布置。不应将其与物理层的点到多点通信混淆。
群组通信可由应用层多播实现,也可由网络级多播协助实现,后者能让一个源地址用一次传输将数据发给群组。数据到达包含该组成员的网络区域时,由路由器、交换机、基站子系统等网络组件自动完成复制分发。网络级多播可能通过数据链路层的一对多地址交换实现,如以太网多播地址、异步传输模式(ATM)、P2MP及Infiniband多播,也可能通过网络层由IP多播实现。在IP多播中,多播发生在IP路由层面,路由器创建一个最佳路径将数据发往多播目的地址。
多播通常应用于IP网络上的流媒体传输,如IPTV、多点视频会议(Multipoint videoconferencing) 等。
互联网上的多播技术
[编辑]“多播”这个词通常用来指代IP多播。IP多播是一种通过使用一个多播地址将数据在同一时间以高效的方式发往处于TCP/IP网络上的多个接收者的协议。此外,它还常用来与RTP等音视频协议相结合。
尽管IP多播是一个非常令人满意的概念模型,但它对于网络内部的状态需求要比仅提供尽力而为服务的IP单播模型大得多——这一点已经遭到了一些人的批评。更糟的是,到目前为止还没有一种机制能保证IP多播模型可以被扩展到足以容纳数以百万计的发送者和多播组的地步,而这往往又是使完全通用的多播应用成为商用互联网中的实际应用的必要条件。到2003年为止,人们为扩展多播以适应大型网络所作的努力还是只集中在较为简单的、只存在单个源端的情况——这种情况的计算貌似更加简单一些。
由于以上以及经济方面的原因,IP多播在商用互联网上用得并不多。其他一些不基于IP多播的多播技术——例如互联网中继交谈和PSYC——却反而很受欢迎。尽管它们可能不如IP多播设计得那么精巧,但它们更为实用,而且在存在大量小规模的组的情况下更具有可扩展性。
以太网多播
[编辑]以太网帧中目的地址的第一个字节的最低位(即第8bit)为1即表示一个多播帧,它将被发给网络上的所有节点,这个机制形成数据链路层的多播。在IP/以太网网络中,IP多播使用这个机制完成一对多传输。为了降低cpu负荷,现代以太网卡会通过查多播地址hash表过滤收到的数据包,该表由软件初始化,它控制了一个多播包是被接收还是丢弃。
IP多播
[编辑]然而,公共互联网中的一些团体经常会用到IP多播,Mbone就是一个例子),此外IP多播还被用于Internet2等私有IP网络中的一些特殊应用。
链路本地多播是指将IP多播包发往处于同一物理的或虚拟的数据链路层的若干主机组。由于这种多播不需要复杂的路由,因此其应用要广泛得多。在IPv6中,它被用于地址解析,而在零配置网络中,它取代了低效的广播协议,完成服务发现、名字解析和地址冲突解析的功能。
IP多播会议的第一次大规模演示是在1992年3月的第23届IETF大会上,当时它被用于向全世界的研究人员和感兴趣的观察员们广播一些会议。之后,IETF的一些会议就被有选择地继续在MBONE和一些私有多播网络上多播。
多播安全性是一个重要的问题。标准的、实用的通信安全解决方案一般采用的是对称加密。但是将其应用于IP多播流量可能会使任何一个接收方都拥有冒充发送方的能力。这显然是令人无法接受的。IETF的MSEC工作组正在开发用以解决这一问题的安全协议[2],这些协议大多都是在IPsec协议集的体系框架内开发的。
IPsec不能被用于多播方案,这是因为IPsec安全关联是被绑定到两个而非多个主机的。IETF提出了一个新的协议——TESLA,就多播安全性而言,这个协议是灵活且令人信服的。
IP多播有三种基本的传递方式:
现在的多播算法往往具备结合前两种模式的能力。
IP多播协议:
应用层多播
[编辑]应用层多播服务不是基于IP多播或数据链路层多播,它们使用多个单播传输来模拟多播,这些服务用于应用层群组通信。比如IRC为其覆盖网络上的所有群组实现了一个生成树。较小众的PSYC技术使用自定义的多播策略。有些P2P技术使用名为Peercasting的多播概念来发送内容给多个接收者。
显式多单播(Xcast)是另一种多播策略,它在每个包中包含多个目的地址。也因此,由于MTU的限制,Xcast不能用于有大量成员的多播组。Xcast模型通常假定参与通信的站点是事先确定好的,这样网络组件就可以在实际的数据流量开始之前生成分发树并同时分配资源。
无线网和有线电视的多播
[编辑]无线通信(除了使用定向天线的点对点链路)通常都是广播介质,但是它可以提供单播、多播或广播等通信服务,取决于数据发送给一个、多个或所有接收者。
在数码电视里,多播服务有时候是指基于广播加密的内容保护方法,即将加密的内容通过广播传输给付费用户。这样,数据广播给所有用户,但只有特定用户组能查看。
电视广播网络也可能使用交互式多播技术(比如基于IP多播)来提高效率、增加节目、减少带宽需求。交互式多播意味着电视节目只发给收听者,这样只有最受欢迎的节目会被传输。它依赖于一个额外的交互频道,当用户切换频道时在其中发送加入和离开资讯。
参见
[编辑]注释
[编辑]外部链接
[编辑]- IPMSI IP Multicast Standards Initiative (页面存档备份,存于互联网档案馆)
- RFC 3170
- Multicast over TCP/IP HOWTO (页面存档备份,存于互联网档案馆)
- Nemo - Resilient Overlay Multicast
- FatNemo - Emulating FatTrees for Overlay Multisource/Multicast
- End System Multicast
- BBC Multicast trial stream list (页面存档备份,存于互联网档案馆) (现只支持参与试用的一些英国ISP,同时还列出了BBS广播电台和News 24的单播流)