01-组播概述
本章节下载: 01-组播概述 (317.75 KB)
目 录
下表列出了本章所包含的内容。
如果您需要…… |
请阅读…… |
了解组播的基本原理和概念 |
|
了解IP组播的实现机制 |
|
了解IP组播的RPF转发机制 |
& 说明:
以太网交换机在运行IP组播协议时,它将同时具备路由器的功能。文中所述的路由器代表了一般意义下的路由器以及运行了IP组播协议的三层以太网交换机。
作为一种与单播和广播并列的通信方式,组播技术能够有效地解决单点发送多点接收的问题,从而实现了网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。
利用组播技术可以方便地提供一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等对带宽和实时数据交互要求较高的信息服务。
随着Internet网络的不断发展,网络中交互的各种数据、语音和视频信息越来越多,另一方面新兴的电子商务、网上会议、网上拍卖、视频点播、远程教学等服务逐渐兴起,这些服务对信息安全性和有偿性提出了更高的要求。
采用单播(Unicast)方式时,系统为每个需求该信息的用户单独建立一条数据传送通路,并为该用户发送一份独立的拷贝信息,如图1-1所示。
假设Host B、Host D和Host E需要信息,则Source要与Host B、Host D和Host E分别建立一条独立的信息传输通道。
采用单播方式时,网络中传输的信息量与需要该信息的用户量成正比,因此当需要该信息的用户数量较大时,信息源需要将多份内容相同的信息发送给不同的用户,这对信息源以及网络带宽都将造成巨大的压力。
从单播方式的信息传播过程可以看出,该传输方式不利于信息的批量发送。
如果采用广播(Broadcast)方式,系统把信息传送给网络中的所有用户,不管他们是否需要,任何用户都会接收到广播来的信息,如图1-2所示。
假设只有Host B、Host D和Host E需要信息,若将该信息在网段中进行广播,则原本不需要信息的Host A和Host C也将收到该信息,这样不仅信息的安全性得不到保障,而且会造成同一网段中信息的泛滥。
因此,广播方式不利于与特定对象进行数据交互,并且还浪费了大量的带宽。
IP组播技术的出现及时解决了单播和广播方式效率低的问题。当网络中的某些用户需求特定信息时,组播源(即组播信息发送者)仅发送一次信息,组播路由器借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发,如图1-3所示。
假设只有Host B、Host D和Host E需要信息,采用组播方式时,可以让这些主机加入同一个组播组(Multicast group),组播源向该组播组只需发送一份信息,并由网络中各路由器根据该组播组中各成员的分布情况对该信息进行复制和转发,最后该信息会准确地发送给Host B、Host D和Host E。
在组播方式中,信息的发送者称为“组播源”,信息接收者称为该信息的“组播组”,支持组播信息传输的所有路由器称为“组播路由器”。加入同一组播组的接收者成员可以广泛分布在网络中的任何地方,即“组播组”没有地域限制。需要注意的是,组播源不一定属于组播组,它向组播组发送数据,自己不一定是接收者。多个组播源可以同时向一个组播组发送报文。
组播的优势主要在于:
l 提高效率:降低网络流量,减轻服务器和CPU负荷;
l 优化性能:减少冗余流量;
l 分布式应用:使点到多点应用成为可能。
IP组播技术有效地解决了单点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。利用网络的组播特性可以方便地提供一些新的增值业务,比如在线直播、网络电视、远程教育、远程医疗、网络电台、实时视/音频会议等互联网的信息服务领域。
组播的应用主要包括以下几个方面:
l 多媒体、流媒体的应用;
l 培训、联合作业场合的通信;
l 数据仓库、金融应用(股票)等;
l 任何“点到多点”的数据发布应用。
在IP网络中多媒体业务日益增多的情况下,组播有着巨大的市场潜力,组播业务也将逐渐得到推广和普及。
如果采用组播方式传输信息,信息源该将信息发往何处?目的地址如何选取,即信息源如何知道信息的需求者是谁?这些问题简而言之就是组播寻址。为了让信息源和组播组成员(信息接收者)进行通讯,需要提供网络层组播地址(即IP组播地址),同时,必须存在一种技术将IP组播地址映射为链路层MAC组播地址。下面分别介绍这两种组播地址。
根据IANA(Internet Assigned Numbers Authority,因特网地址分配组织)规定,IP地址空间分为五类,即A类、B类、C类、D类和E类地址。单播报文按照规模大小分别使用A、B、C三类IP地址,组播报文的目的地址使用D类IP地址,D类地址不能出现在IP报文的源IP地址字段,E类作保留用。
单播数据传输过程中,一个数据包传输的路径是从源地址路由到目的地址,利用“逐跳”(hop-by-hop)的原理在IP网络中传输。然而在IP组播环境中,数据包的目的地址不是一个,而是一组,形成组地址。所有的信息接收者都加入到一个组内,并且一旦加入之后,流向该组地址的数据立即开始向接收者传输,组中的所有成员都能接收到数据包,这个组就是“组播组”。
组播组中的成员是动态的,主机可以在任何时刻加入和离开组播组。组播组可以是永久的也可以是临时的。组播组地址中,有一部分由IANA分配,称为永久组播组。永久组播组保持不变的是它的IP地址,组中的成员构成可以发生变化。永久组播组中成员的数量可以是任意的,甚至可以为零。那些没有保留下来供永久组播组使用的IP组播地址,可以被临时组播组利用。D类组播地址范围是从224.0.0.0到239.255.255.255,范围及含义见表1-1。
表1-1 D类地址的范围及含义
D类地址范围 |
含义 |
224.0.0.0~224.0.0.255 |
预留的组播地址(永久组播地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用 |
224.0.1.0~238.255.255.255 |
|
239.0.0.0~239.255.255.255 |
本地管理组播地址,仅在特定的本地范围内有效 |
常用的预留组播地址列表如表1-2所示。
地址 |
含义 |
224.0.0.1 |
子网内的所有系统,包括主机与路由器 |
224.0.0.2 |
子网内的所有组播路由器 |
224.0.0.3 |
未分配 |
224.0.0.4 |
DVMRP路由器 |
224.0.0.5 |
OSPF路由器 |
224.0.0.6 |
OSPF指定路由器/备用指定路由器 |
224.0.0.7 |
ST路由器 |
224.0.0.8 |
ST主机 |
224.0.0.9 |
RIP-2路由器 |
224.0.0.11 |
移动代理 |
224.0.0.12 |
DHCP服务器/中继代理 |
224.0.0.13 |
所有PIM路由器 |
224.0.0.14 |
RSVP封装 |
224.0.0.15 |
所有CBT路由器 |
224.0.0.16 |
指定SBM |
224.0.0.17 |
所有SBM |
224.0.0.18 |
VRRP |
…… |
…… |
以太网传输单播IP报文的时候,目的MAC地址使用的是接收者的MAC地址。但是在传输组播报文时,传输目的不再是一个具体的接收者,而是一个成员不确定的组,所以使用的是组播MAC地址。
IANA规定,组播MAC地址的高24bit为0x01005e,第25bit为0,即高25bit为固定值。MAC地址的低23bit为组播IP地址的低23bit,映射关系如图1-4所示。
图1-4 组播IP地址与以太网MAC地址的映射关系
由于IP组播地址的前4bit是1110,代表组播标识,而后28bit中只有23bit被映射到MAC地址,这样IP地址中就有5bit信息丢失,导致的结果是出现了32个IP组播地址映射到同一MAC地址上。
通常,我们把工作在网络层的IP组播协议称为“三层组播协议”,包括IGMP、PIM、MBGP和MSDP等;把工作在数据链路层的IP组播协议称为“二层组播协议”,包括IGMP Snooping和组播VLAN等。
三层组播协议包括组播组管理协议和组播路由协议。组播组管理协议和组播路由协议在网络中的应用位置如图1-5所示。
(1) 组播组管理协议
在主机和与其直接相连的三层组播设备之间通常采用组播组的管理协议IGMP(Internet Group Management Protocol,互联网组管理协议),该协议规定了主机与三层组播设备之间建立和维护组播组成员关系的机制。
(2) 组播路由协议
组播路由协议运行在三层组播设备之间,用于建立和维护组播路由,并正确、高效地转发组播数据包。组播路由建立了从一个数据源端到多个接收端的无环(loop-free)数据传输路径,即组播分发树。
对于ASM模型,可以将组播路由分为域内和域间两大类:
l 域内组播路由用来在AS(Autonomous System,自治系统)内部发现组播源并构建组播分发树,从而将组播信息传递到接收者。在众多的域内组播路由协议中,PIM(Protocol Independent Multicast,协议无关组播)是目前应用最多的一个,该协议通过发现组播源并构建组播分发树从而将信息传递到接收者。按照转发机制的不同,PIM可以分为PIM-DM(Dense Mode,密集模式)和PIM-SM(Sparse Mode,稀疏模式)两种。
l 域间组播路由用来实现组播信息如何在AS之间传递。目前比较成型的解决方案有:MSDP(Multicast Source Discovery Protocol,组播源发现协议)能够跨越AS传播组播源的信息;而MBGP(Multicast BGP,组播BGP)则能够跨越AS传播组播路由。
对于SSM模型,没有域内和域间的划分。由于接收者预先知道组播源的具体位置,因此只需要借助PIM-SM构建的通道即可实现组播信息的传输。
二层组播协议包括IGMP Snooping和组播VLAN等,它们在网络中的应用位置如图1-6所示。
(1) IGMP Snooping
IGMP Snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)是运行在二层设备上的组播约束机制,通过窥探和分析主机与三层组播设备之间交互的IGMP报文来管理和控制组播组,从而可以有效抑制组播数据在二层网络中的扩散。
(2) 组播VLAN
在传统的组播点播方式下,当连接在二层设备上、属于不同VLAN的用户分别进行组播点播时,三层组播设备需要向该二层设备的每个VLAN分别发送一份组播数据;而当二层设备运行了组播VLAN之后,三层组播设备只需向该二层设备的组播VLAN发送一份组播数据即可,从而既避免了带宽的浪费,同时也减轻了三层组播设备的负担。
为了保证组播信息包是通过最短路径到达路由器,组播必须依靠单播路由表或者单独提供给组播使用的单播路由表(如MBGP组播路由表),对组播信息包的接收接口进行一定的检查,这种检查机制就是大部分组播路由协议进行组播转发的基础——RPF(Reverse Path Forwarding,反向路径转发)检查。
组播路由器利用到达的组播数据包的源地址来查询单播路由表或者独立的组播路由表,以确定此数据包到达的入接口处于接收站点至源地址的最短路径上。如果使用的是有源树,这个源地址就是发送组播数据包的源主机的地址;如果使用的是共享树,该源地址就是共享树的根的地址。当组播数据包到达路由器时,如果RPF检查通过,数据包则按照组播转发项进行转发,否则,数据包被丢弃。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!