实验十一组播技术Word文件下载.docx
《实验十一组播技术Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验十一组播技术Word文件下载.docx(20页珍藏版)》请在冰点文库上搜索。
广播(broadcasting)是多点投递的最普遍的形式,它向每一个目的站投递一个分组的拷贝。
它可以通过多个单次分组的投递完成,也可以通过单独的连接传递分组的拷贝,直到每个接收方均收到一个拷贝为止。
在多数网络中,用户是通过把分组分送给一个特殊保留的地址即广播地址(broadcast address)来进行广播投递,它的主要缺点是会耗费大量的主机资源和网络资源。
2、IP组播地址
组播使用组地址,也就是D类IP地址来标志一个组。
每个组播地址代表一个组播组,而不是一台主机。
由于D类地址的最高四位数是1110,所以组播地址应该在224.0.0.0239.255.255.255之间。
组播组可分为永久的或临时的。
永久组播组拥由一个IANA分配、恒定的组地址,但组中成员数量可以是任意的,甚至还可以为零。
那些未被预留下来的组地址,就可被临时组播组利用,但临时组播组中的成员数量却不能为零。
D类地址范围与含义可如下表所示:
D类地址的范围及含义
D类地址范围
含义
224.0.0.0~224.0.0.255
预留的组播地址(永久组地址)
224.0.1.0~238.255.255.255
用户可用的组播地址(临时组地址)
239.0.0.0~239.255.255.255
本地被管理的或特定位置的组播地址
常用的预留组播地址列表如下:
预留的组播地址列表
224.0.0.0
基准地址(保留)
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
OSPFDR
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
所有SBMS
224.0.0.18
VRRP
组播协议需要把D类地址变换到一个硬件/媒体地址,例如一个以太网MAC地址中。
IANA获得IEEE-802MAC被保留的对应的以太网地址范围在01-00-5e-00-00-0001-00-5E-ff-ff-ff之间。
临时主机组的组播地址由网络管理员选择,他需要保证这个地址在一定的范围内没有其他的主机组在使用这个组播地址。
第2层的组播地址(组播MAC地址)可以从IP组播地址中衍生。
计算方法是把IP地址的最后23位拷贝到MAC地址的最后23位,然后把这23位前面的那一位置为0。
MAC地址的前24位必须为0x01-00-5E。
例如:
组播IP地址224.0.1.128,16进制表示为0xE0-00-01-10,最低的23位为0x00-01-10,计算得出的MAC地址为:
0x01-00-5E-00-01-10。
3、组播的分析
单播
网络节点之间的通信就好像是人们之间的对话一样。
如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行,参见图。
单播:
一对一
单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。
例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。
但是通常使用“点对点通信”(PointtoPoint)代替“单播”,因为“单播”一般与“多播”和“广播”相对应使用。
多播
“多播”可以理解为一个人向多个人(但不是在场的所有人)说话,这样能够提高通话的效率。
如果你要通知特定的某些人同一件事情,但是又不想让其他人知道,使用电话一个一个地通知就非常麻烦,而使用日常生活的大喇叭进行广播通知,就达不到只通知个别人的目的了,此时使用“多播”来实现就会非常方便快捷,但是现实生活中多播设备非常少。
多播如图所示。
多播:
一对多
“多播”也可以称为“组播”,在网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。
因为如果采用单播方式,逐个节点传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;
如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,但是显然达不到区分特定数据接收对象的目的。
采用多播方式,既可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。
IP网络的多播一般通过多播IP地址来实现。
多播IP地址就是D类IP地址,即224.0.0.0至239.255.255.255之间的IP地址。
Windows2000中的DHCP管理器支持多播IP地址的自动分配。
广播
“广播”可以理解为一个人通过广播喇叭对在场的全体说话,这样做的好处是通话效率高,信息一下子就可以传递到全体,如图所示。
“广播”在网络中的应用较多,如客户机通过DHCP自动获得IP地址的过程就是通过广播来实现的。
但是同单播和多播相比,广播几乎占用了子网内网络的所有带宽。
拿开会打一个比方吧,在会场上只能有一个人发言,想象一下如果所有的人同时都用麦克风发言,那会场上就会乱成一锅粥。
在网络中不能长时间出现大量的广播包,否则就会出现所谓的“广播风暴”。
广播风暴就是网络长时间被大量的广播数据包所占用,正常的点对点通信无法正常进行,外在表现为网络速度奇慢无比。
出现广播风暴的原因有很多,一块有故障的网卡,就可能长时间向网络上发送广播包而导致广播风暴。
广播:
一对全体
集线器由于其工作原理决定了不可能过滤广播风暴,一般的交换机也没有这一功能,不过现在有的网络交换机(如全向的QS系列交换机)也有过滤广播风暴功能了,路由器本身就有隔离广播风暴的作用。
广播风暴不能完全杜绝,但是只能在同一子网内传播,就好像喇叭的声音只能在同一会场内传播一样,因此在由几百台甚至上千台电脑构成的大中型局域网中,一般进行子网划分,就像将一个大厅用墙壁隔离成许多小厅一样,以达到隔离广播风暴的目的。
在IP网络中,广播地址用IP地址“255.255.255.255”来表示,这个IP地址代表同一子网内所有的IP地址。
1.组播和单播的区别?
为了让网络中的多个主机可以同时接受到相同的报文,如果采用单播的方式,那么源主机必须不停的产生多个相同的报文来进行发送,对于一些对时延很敏感的数据,在源主机要产生多个相同的数据报文后,在产生第二个数据报文,这通常是无法容忍的。
而且对于一台主机来说,同时不停的产生一个报文来说也是一个很大的负担。
如果采用组播的方式,源主机可以只需要发送一个报文就可以到达每个需要接受的主机上,这中间还要取决于路由器对组员和组关系的维护和选择。
2.组播和广播的区别?
如同上个例子,当有多台主机想要接收相同的报文,广播采用的方式是把报文传送到局域网内每个主机上,不管这个主机是否对报文感兴趣。
这样做就会造成了带宽的浪费和主机的资源浪费。
而组播有一套对组员和组之间关系维护的机制,可以明确的知道在某个子网中,是否有主机对这类组播报文感兴趣,如果没有就不会把报文进行转发,并会通知上游路由器不要再转发这类报文到下游路由器上。
3.单播与组播有两点不同:
组播时,可能在不同的网络上有若干个地址相同的接受端。
组播通信会在网络中周而复始的循环,直至这个包内TTL字段为零,即所谓的"
反转路径转发"
,必须有一个合理的组播路由协议结构来禁止出现这种情况;
路由器收到一个组播包时,就会查看这个组播包是否被一个接口接收,该接口位于组播包返回资源的最短路径上。
为实现组播通信,就必须建立支持组播的路由协议,目前常用的组播路由协议有距离向量组播路由协议、协议无关密集模式组播协议与协议无关分散模式组播协议。
4、IP组播路由协议
组播协议包括两个部分:
一部分作为IP组播基本信令协议的因特网组管理协议(IGMP);
另一部分是实现IP组播流寻径的组播路由协议(例如:
DVMRP、PIM-SM、PIM-DM)。
(1)主机-路由协议
IGMP(InternetGroupManagementProtocol),又称Internet组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系,是整个IP组播的基础。
IGMP不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议来完成。
IGMP是主机可以使用的唯一协议,定义了主机与路由器之间组播成员关系的建立和维护机制,是整个IP组播的基础。
IGMP通知路由器有关组成员的信息,并使路由器能通过和自己直接相连的主机来了解组内其它成员的情况。
特定的应用程序能知道是来自哪个数据源的信息发送到了哪个组中。
如果一个局域网中有一个用户通过IGMP宣布加入某组播组,则局域网中的组播路由器就将该信息通过组播路由协议进行传播,最终将该局域网作为一个分枝加入组播树。
当主机作为某个组的成员开始收到信息后,路由器就会周期性地对该组进行查询,检查组内的成员是否还参与其中,只要还有一个主机仍在参与,路由器就继续接收数据。
当局域网中的所有用户退出该组播组后相关的分枝就从组播树中删掉。
IGMP协议由主机成员关系协议发展而来,目前有两个版本:
IGMPv1(RFC1112),IGMPv2(RFC2326)。
主机使用IGMP消息通告本地的组播路由器它想接收组播流量的主机组地址。
如果主机支持IGMPv2,它还可以通告组播路由器它退出某主机组。
组播路由器通过IGMP协议为其每个端口都维护一张主机组成员表,并定期的探询表中的主机组的成员,以确定该主机组是否存活。
IGMP消息被置于IP报文中传送。
其中:
IGMPVersion2指定三种报文类型:
组成员查询报文(MembershipQuery)、组成员报告报文(MembershipReport)和组成员离开报文(LeaveGroup)。
(2)组播路由协议
因为组播中的组地址是虚拟的,所以不可能如同单播那样,直接从数据源一端路由到特定的目的地址。
组播应用程序将数据包发送给一组希望接收数据的接收者(组播地址),而不是仅仅传送给一个接收者(单播地址)。
组播路由建立了一个从数据源端到多个接收端的无环数据传输路径。
组播路由协议的任务就是构建分发树结构。
组播路由器能采用多种方法来建立数据传输的路径,即分发树。
根据网络的实际情况,组播路由协议可以分成两大类——密集模式和稀疏模式。
(3)密集模式组播(PIM-DM)
密集模式组播路由协议适用于小型网络。
它假设网络中的每个子网都存在至少一个对组播组感兴趣的接收站点。
因此,组播数据包被扩散到网络中的所有点。
与此伴随着相关资源(带宽和路由器的CPU等)的消耗。
为了减少这些宝贵网络资源的消耗,密集模式组播路由协议对没有组播数据转发的分支进行剪枝操作,只保留包含接收站点的分支。
为了使剪掉的分支中有组播数据转发需求的接收站点可以接收组播数据流,剪掉的分支可以周期性地恢复成转发状态。
为了减少等待剪枝分支恢复转发状态的延时时间,密集模式组播路由协议使用嫁接机制主动加入组播分布树。
这种周期性的扩散和剪枝现象是密集模式协议的特征。
一般说来,密集模式下数据包的转发路径是“有源树”——以“源”为根、组员为枝叶的一棵树。
密集模式下的典型路由协议是密集模式下的协议无关组播(Protocol-IndependentMulticast-DenseMode,PIM-DM)、距离向量组播路由协议(DistanceVectorMulticastRoutingProtocol,DVMRP)。
(4)稀疏模式组播(PIM-SM)
密集模式采用的扩散—剪枝技术,在广域网上是不可取的。
在广域网上,组播接收成员相对稀疏,多采用稀疏模式。
稀疏模式默认所有主机都不需要接收组播包,只向明确指定需要组播包的主机转发。
为了使接收站点能够接收到特定组的组播数据流,连接这些站点的组播路由器必须向该组对应的“汇聚点”RP(RendezvousPoint)(汇聚点需要在网络中构建,是一些虚拟的数据交换地点)发送加入消息,加入消息经过一个个路由器后到达根部,即汇聚点,所经过的路径就变成了共享树的分支。
稀疏模式协议先将组播报文发送到汇聚点,再沿以汇聚点为根的组员为枝叶的“共享树”转发。
为了避免共享树的分支由于不被更新而被删除,稀疏模式组播路由协议通过向分支周期性地发送加入消息来维护组播分布树。
发送端如果想要给特定的地址发送数据,首先要在汇聚点进行注册,之后把数据发向汇聚点。
当数据到达了汇聚点后,组播数据包被复制并沿着分发树路径把数据传给对其感兴趣的接收者。
复制仅仅发生在分发树的分支处,这个过程能自动重复直到数据包最终到达目的地。
稀疏模式下的典型路由协议是稀疏模式下的协议无关组播(Protocol-IndependentMulticast-SparseMode,PIM-SM)。
5、分布树(DistributionTree)
在传送组播分组时,指派路由器需要构造一个连接所有组播组成员的树。
根据这个树,路由器得出转发分组的一条唯一路径。
这个树就称为分布树。
由于成员可以动态的加入和退出,分布树也必须动态更新。
根据构造方法的不同,分布树分为源分布树(SourceDistributionTree)和共享分布树(SharedDistributionTree)。
源分布树以组播源为根节点构造到所有组播组成员的生成树,通常也称为最短路径树(SPT)。
共享分布树,也称为RP树或基于核心的树(CBT,Core_basedTree)。
它的构造方法是以网络中的某一个指定的路由器为根节点,该路由器称为集合点或中心点,由此节点生成包含所有组成员的树。
使用共享分布树时,组播源需要首先把组播分组发送给集合点路由器,再由这个路由器转发给其他的组成员。
二、实验案例
1、实验的拓扑结构图:
2、基本配置:
RouterA:
E0:
192.168.1.1/24S0:
192.168.2.1/24S2:
192.168.3.1/24
RouterB:
192.168.4.1/24S2:
192.168.3.2/24(与RouterA的S2相连)
RouterC:
192.168.5.1/24S0:
192.168.2.2/24(与RouterA的S0相连)
PCA的地址:
192.168.1.2/24网关:
192.168.1.1(PCA是视频服务器)
PCB的地址:
192.168.4.2/24网关:
192.168.4.1
PCC的地址:
192.168.5.2/24网关:
192.168.5.1
3、配置步骤:
方法一:
密集模式组播(PIM-DM)
RouterA的配置:
[routerA]multicastrouting-enable
[routerA]inte0
[routerA-Ethernet0]pimdm
[routerA-Ethernet0]ints2
[routerA-Serial2]pimdm
[routerA-Serial2]ints0
[routerA-Serial0]pimdm
[routerA]discur
Nowcreateconfiguration...
Currentconfiguration
version1.74
sysnamerouterA
firewallenable
aaa-enable
aaaaccounting-schemeoptional
multicastrouting-enable
interfaceAux0
asyncmodeflow
link-protocolppp
interfaceEthernet0
ipaddress192.168.1.1255.255.255.0
pimdm
ospfenablearea0.0.0.0
interfaceSerial0
clockDTECLK3
ipaddress192.168.2.1255.255.255.0
interfaceSerial1
interfaceSerial2
ipaddress192.168.3.1255.255.255.0
interfaceSerial3
quit
ospfenable
pim
return
RouterB的配置:
[routerB]multicastrouting-enable
[routerB]ints2
[routerB-Serial2]pimdm
[routerB-Serial2]inte0
[routerB-Ethernet0]pimdm
[routerB]discur
sysnamerouterB
ipaddress192.168.4.1255.255.255.0
pimdm
interfaceEthernet1
ipaddress192.168.3.2255.255.255.0
interfaceSerial3
RouterC的配置:
[routeC]multirouting-enable
[routeC]ints0
[routeC-Serial0]pimdm
[routeC-Serial0]inte0
[routeC-Ethernet0]pimdm
[routeC]discur
sysnamerouteC
ipaddress192.168.5.1255.255.255.0
ipaddress192.168.2.2255.255.255.0
quit
方法二:
稀疏模式组播(PIM-SM)
RouterA的配置:
[routerA-Ethernet0]pimsm
[routerA-Serial2]pimsm
[routerA-Serial0]pimsm
a