01-组播概述
本章节下载: 01-组播概述 (344.30 KB)
作为一种与单播(Unicast)和广播(Broadcast)并列的通信方式,组播(Multicast)技术能够有效地解决单点发送、多点接收的问题,从而实现了网络中点到多点的高效数据传送,能够节约大量网络带宽、降低网络负载。
利用组播技术可以方便地提供一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等对带宽和数据交互的实时性要求较高的信息服务。
如图1-1所示,在IP网络中若采用单播的方式,信息源(即Source)要为每个需要信息的主机(即Receiver)都发送一份独立的信息拷贝。
假设Host B、Host D和Host E需要信息,则Source要与Host B、Host D和Host E分别建立一条独立的信息传输通道。
采用单播方式时,网络中传输的信息量与需要该信息的用户量成正比,因此当需要该信息的用户数量较大时,信息源需要将多份内容相同的信息发送给不同的用户,这对信息源以及网络带宽都将造成巨大的压力。
从单播方式的信息传播过程可以看出,该传输方式不利于信息的批量发送。
如图1-2所示,在一个网段中若采用广播的方式,信息源(即Source)将把信息传送给该网段中的所有主机,而不管其是否需要该信息。
假设只有Host B、Host D和Host E需要信息,若将该信息在网段中进行广播,则原本不需要信息的Host A和Host C也将收到该信息,这样不仅信息的安全性得不到保障,而且会造成同一网段中信息的泛滥。
因此,广播方式不利于与特定对象进行数据交互,并且还浪费了大量的带宽。
综上所述,传统的单播和广播的通信方式均不能以最小的网络开销实现单点发送、多点接收的问题,IP组播技术的出现及时解决了这个问题。
如图1-3所示,当IP网络中的某些主机(即Receiver)需要信息时,若采用组播的方式,组播源(即Source)仅需发送一份信息,借助组播路由协议建立组播分发树,被传递的信息在距离组播源尽可能远的网络节点才开始复制和分发。
假设只有Host B、Host D和Host E需要信息,采用组播方式时,可以让这些主机加入同一个组播组(Multicast group),组播源向该组播组只需发送一份信息,并由网络中各路由器根据该组播组中各成员的分布情况对该信息进行复制和转发,最后该信息会准确地发送给Host B、Host D和Host E。
综上所述,组播的优势归纳如下:
· 相比单播来说,组播的优势在于:由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。
· 相比广播来说,组播的优势在于:由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性;另外,广播只能在同一网段中进行,而组播可以实现跨网段的传输。
组播传输的特点归纳如下:
· “组播组”是一个用IP组播地址进行标识的接收者集合,主机通过加入某组播组成为该组播组的成员,从而可以接收发往该组播组的组播数据。组播源通常不需要加入组播组。
· 信息的发送者称为“组播源”,如图1-3中的Source。一个组播源可以同时向多个组播组发送信息,多个组播源也可以同时向一个组播组发送信息。
· 所有加入某组播组的主机便成为该组播组的成员,如图1-3中的Receiver。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。
· 支持三层组播功能的路由器或三层交换机统称为“组播路由器”或“三层组播设备”。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能。组播路由器本身也可能是组播组的成员。
为了更好地理解,可以将组播方式的信息传输过程类比于电视节目的传送过程,如表1-1所示。
步骤 |
电视节目的传送过程 |
组播方式的信息传输过程 |
1 |
电视台S通过频道G传送电视节目 |
组播源S向组播组G发送组播数据 |
2 |
用户U将电视机的频道调至频道G |
接收者U加入组播组G |
3 |
用户U能够收看到由电视台S通过频道G传送的电视节目了 |
接收者U能够收到由组播源S发往组播组G的组播数据了 |
4 |
用户U关闭电视机或切换到其它频道 |
接收者U离开组播组G |
在组播中,经常出现以下两种表示方式:
· (*,G):通常用来表示共享树,或者由任意组播源发往组播组G的组播报文。其中的“*”代表任意组播源,“G”代表特定组播组G。
· (S,G):也称为“组播源组”,通常用来表示最短路径树,或者由组播源S发往组播组G的组播报文。其中的“S”代表特定组播源S,“G”代表特定组播组G。
有关共享树和最短路径树的详细介绍,请参见“IP组播配置指导”中的“PIM”。
组播技术的优点主要在于:
· 提高效率:减轻信息源服务器和网络设备CPU的负荷;
· 优化性能:减少冗余流量;
· 分布式应用:使用最少的网络资源实现点到多点应用。
组播技术主要应用于以下几个方面:
· 多媒体、流媒体的应用,如:网络电视、网络电台、实时视/音频会议;
· 培训、联合作业场合的通信,如:远程教育、远程医疗;
· 数据仓库、金融应用(股票);
· 其它任何“点到多点”的数据发布应用。
根据接收者对组播源处理方式的不同,组播模型分为以下三类:
简单地说,ASM(Any-Source Multicast,任意信源组播)模型就是任意源组播模型。
在ASM模型中,任意一个发送者都可以作为组播源向某个组播组地址发送信息,接收者通过加入由该地址标识的组播组,来接收发往该组播组的组播信息。
在ASM模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。
SFM(Source-Filtered Multicast,信源过滤组播)模型继承了ASM模型,从发送者角度来看,两者的组播组成员关系完全相同。
SFM模型在功能上对ASM模型进行了扩展。在SFM模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。因此,接收者只能收到来自部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。
在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。SSM(Source-Specific Multicast,指定信源组播)模型为用户提供了一种能够在客户端指定组播源的传输服务。
SSM模型与ASM模型的根本区别在于:SSM模型中的接收者已经通过其它手段预先知道了组播源的具体位置。SSM模型使用与ASM/SFM模型不同的组播地址范围,直接在接收者与其指定的组播源之间建立专用的组播转发路径。
对于IP组播,需要关注下列问题:
· 组播源将组播信息传输到哪里?即组播寻址机制;
· 网络中有哪些接收者?即主机注册;
· 这些接收者需要从哪个组播源接收信息?即组播源发现;
· 组播信息如何传输?即组播路由。
IP组播属于端到端的服务,组播机制包括以下四个部分:
(1) 寻址机制:借助组播地址,实现信息从组播源发送到一组接收者;
(2) 主机注册:允许接收者主机动态加入和离开某组播组,实现对组播成员的管理;
(3) 组播路由:构建组播报文分发树(即组播数据在网络中的树型转发路径),并通过该分发树将报文从组播源传输到接收者;
(4) 组播应用:组播源与接收者必须安装支持视频会议等组播应用的软件,TCP/IP协议栈必须支持组播信息的发送和接收。
IANA(Internet Assigned Numbers Authority,互联网编号分配委员会)将D类地址空间分配给IPv4组播使用,范围从224.0.0.0到239.255.255.255,具体分类及其含义如表1-2所示。
表1-2 IPv4组播地址的范围及含义
地址范围 |
含义 |
224.0.0.0~224.0.0.255 |
永久组地址。除224.0.0.0保留不做分配外,其它地址供路由协议、拓扑查找和协议维护等使用,常用的永久组地址及其含义如表1-3所示。对于以该范围内组播地址为目的地址的数据包来说,不论其TTL(Time to Live,生存时间)值为多少,都不会被转发出本地网段 |
224.0.1.0~238.255.255.255 |
用户组地址,全网范围内有效。包含两种特定的组地址: · 232.0.0.0/8:SSM组地址 · 233.0.0.0/8:GLOP组地址 |
239.0.0.0~239.255.255.255 |
本地管理组地址,仅在本地管理域内有效。使用本地管理组地址可以灵活定义组播域的范围,以实现不同组播域之间的地址隔离,从而有助于在不同组播域内重复使用相同组播地址而不会引起冲突。详情请参见RFC 2365 |
GLOP是一种AS(Autonomous System,自治系统)之间的组播地址分配机制,将AS号填入该范围内组播地址的中间两个字节中,每个AS都可以得到255个组播地址。有关GLOP的详细介绍请参见RFC 2770。
表1-3 常用永久组地址及其含义
永久组地址 |
含义 |
224.0.0.1 |
所有系统,包括主机与路由器 |
224.0.0.2 |
所有组播路由器 |
224.0.0.3 |
未分配 |
224.0.0.4 |
DVMRP(Distance Vector Multicast Routing Protocol,距离矢量组播路由协议)路由器 |
224.0.0.5 |
OSPF(Open Shortest Path First,开放最短路径优先)路由器 |
224.0.0.6 |
OSPF指定路由器/备用指定路由器 |
224.0.0.7 |
ST(Shared Tree,共享树)路由器 |
224.0.0.8 |
ST主机 |
224.0.0.9 |
RIP-2(Routing Information Protocol version 2,路由信息协议版本2)路由器 |
224.0.0.11 |
移动代理 |
224.0.0.12 |
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器/中继代理 |
224.0.0.13 |
所有PIM(Protocol Independent Multicast,协议无关组播)路由器 |
224.0.0.14 |
RSVP(Resource Reservation Protocol,资源预留协议)封装 |
224.0.0.15 |
所有CBT(Core-Based Tree,有核树)路由器 |
224.0.0.16 |
指定SBM(Subnetwork Bandwidth Management,子网带宽管理) |
224.0.0.17 |
所有SBM |
224.0.0.18 |
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议) |
通常,我们把工作在网络层的IP组播称为“三层组播”,相应的组播协议称为“三层组播协议”。本节主要针对三层组播协议在网络中的应用位置和功能进行总体介绍,有关各协议的详细介绍请参见“IP组播配置指导”中的相关章节。
组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发树。
对于ASM模型,域内组播路由用来在AS内部发现组播源并构建组播分发树,从而将组播信息传递到接收者。在众多域内组播路由协议中,PIM(Protocol Independent Multicast,协议无关组播)是目前较为典型的一个。按照转发机制的不同,PIM可以分为DM(Dense Mode,密集模式)和SM(Sparse Mode,稀疏模式)两种模式。
对于SSM模型,没有域内和域间的划分。由于接收者预先知道组播源的具体位置,因此只需要借助PIM-SM构建的通道即可实现组播信息的传输。
在组播模型中,IP报文的目的地址字段为组播组地址,组播源向以此目的地址所标识的主机群组传送信息。因此,转发路径上的组播路由器为了将组播报文传送到各个方位的接收站点,往往需要将从一个入接口收到的组播报文转发到多个出接口。与单播模型相比,组播模型的复杂性就在于此:
· 为了保证组播报文在网络中的传输,必须依靠单播路由表、单独提供给组播使用的路由表或者组播静态路由来指导转发;
· 为了处理同一设备在不同接口上收到来自不同对端的相同组播信息,需要对组播报文的入接口进行RPF(Reverse Path Forwarding,逆向路径转发)检查,以决定转发还是丢弃该报文。RPF检查机制是大部分组播路由协议进行组播转发的基础。
有关RPF检查机制的详细介绍,请参见“IP组播配置指导”中的“组播路由与转发”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!