组播技术学习指引

上传人:xzh****18 文档编号:45551581 上传时间:2018-06-17 格式:PDF 页数:24 大小:77.48KB
返回 下载 相关 举报
组播技术学习指引_第1页
第1页 / 共24页
组播技术学习指引_第2页
第2页 / 共24页
组播技术学习指引_第3页
第3页 / 共24页
组播技术学习指引_第4页
第4页 / 共24页
组播技术学习指引_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《组播技术学习指引》由会员分享,可在线阅读,更多相关《组播技术学习指引(24页珍藏版)》请在金锄头文库上搜索。

1、 组播技术学习指引 华 为3Com 技 术 有 限 公 司 目 录 第一章 概 述.3 第二章 二层组播基础概念.5 2.1 网络实例.5 2.2 组播MAC地址和组播IP地址 .6 2.3 二层组播协议.10 第三章 三层组播基础概念.15 3.1 组播转发项组播树和RPF检查 .15 3.2 组播路由协议.18 3.3 组播高级专题MSDPMBGP.22 第四章 相关资料列表.24 3 第一章 概 述 随着数据通信技术的不断发展各项基于数据通信技术的业务层出不穷FTPHTTPSMTP等传统的数据通信业务已经不能满足人们对信息的需求视频点播远程教学新闻发布网络电视等新型业务也逐渐发展起来并被

2、引入数据通信网络 这些新型业务的特点是有一个服务器我们把这个服务器称为媒体流服务器在发布信息而接收端数量很大可能有成千上万个而且具体数目不固定在这种方式下我们可以使用传统的客户服务器C/S模型解决按照下面的思路 1在媒体流服务器上启动媒体流播放进程作为服务器 2客户端每当想接受某个媒体流服务器的数据的时候通过给出该媒 体流服务器的IP地址来跟该媒体流服务器建立连接比如TCP 连接等 3媒体流服务器维护一个客户列表采用轮循的方式向每个客户发送 媒体流 可以看出这样的解决方案有两个缺陷 1客户数目很大的时候媒体流服务器就有可能承受不了因为这种 媒体流跟传统的窄带业务比如HTTP等不同它需要很高的带

3、宽 来传输而且服务器还必须维护每个客户的信息 2严重浪费网络资源相同的数据可能在网上传播了很多次在一些 带宽较低的链路上可能引起严重的通信瓶径 在这个时候我们自然而然的想起了组播这种技术最适合上面的这些新型业务因为组播通信有下列优点 1媒体流服务器不必知道某个客户端的存在它只管把媒体流以组播 4 地址播放出去即可而且仅仅播放一份 2媒体流数据在网上仅仅传送一份即可即使有成千上万个客户端 3客户端不必向媒体流服务器注册如果想接收某个媒体流服务器的 数据仅仅加入该媒体流服务器所播放的数据所在的多播组即可 组播技术从提出到现在它的一些标准和技术已经相当完善了但推广还不是十分广泛尤其是在我国人们对组播

4、的认识还处于一个朦胧的阶段更谈不上规模应用为了让大家尽快的了解组播技术我们在本文中给出一些学习指引主要有下列内容 1组播基础概念这些概念是深入学习组播的最基础的东西如果对这些基础概念不了解学习组播将是一句空话 2流行组播协议在文中我们不具体分析哪种组播协议而给出组播协议的一些共性并列举了目前比较流行的组播协议和它的应用场合 3列举了一些参考资料这些资料按照不同的读者层次列举既有面向组播专家的高级论题也有面向初学者的入门文章 总之本文是面向组播初学者的如果你从没有接触过组播技术那么仔细的阅读本文并掌握介绍的一些基本概念然后参考文中列举的其他文章将会是一种良好的学习路径如果您是一位组播技术方面的专

5、家阅读本文也不无裨益您可以从不同的角度来了解组播的基础概念也可以参考文中提到的其他组播文章相信对您也是有好处的 5 第二章 二层组播基础概念 在前面的介绍中我们讨论了用多播的方式解决新型流媒体业务的好处在该部分中我们结合一个实际的网络给出一些多播的基础概念掌握这些基础概念是深入掌握多播技术的前提 2.1 网络实例 有下面一个网络需求 在图中媒体流服务器通过以太网交换机LSWA跟核心路由器GSRA连接起来并启动流媒体进程不断的以多播IP地址224.10.10.10发送媒体流GSRA和GSRB之间采用以太网连接起来GSRB通过以太网交换机LSWB连接了许多终端其中两台终端需要媒体流服务器播放的媒体

6、流 下面我们仔细分析每一个步骤在分析的过程中引入并介绍一些基础的组播概念 LSWA LSWB GSRA GSRB 媒体流服务器 媒体流客户端1 媒体流客户端2 普通客户端 6 2.2 组播MAC地址和组播IP地址 在前面的介绍中我们提到了媒体流服务器不断的以多播IP地址224.10.10.10发送媒体流224.10.10.10这个IP地址就是一个多播IP地址按照IP协议规定位于224.0.0.1239.255.255.255范围内的IP地址都是多播地址所谓多播地址实际上是一个逻辑的概念在网络上没有一个计算机的IP地址是一个多播IP地址多播IP地址仅仅代表了一个逻辑的组加入该组的终端设备可以以该

7、组所在的多播地址为目的IP地址来发送数据这时候发送的数据不是针对某个具体主机的而是针对一组机器想接收这个多播数据流的计算机只要倾听接收到的每个数据报判断该数据报的目的IP地址是不是组播组的IP地址即可若是则接收否则丢弃 为了更好的理解组播IP地址的概念我们举一个例子如下面的网络图所示 主机A最左边的一台计算机不断的以组播IP地址224.10.10.10发送数据这时候主机B中间计算机想接收组播组224.10.10.10的数据于是它就会监听每个收到的数据报判断该数据报目的IP地址是不是224.10.10.10如果不是则丢弃如果是则接收下来送到上层处理 这里牵涉到了一个问题主机B的哪个模块判断接收到

8、的数据报是不是组播数据报并且是不是针对组224.10.10.10的数据报答案是主机B的IP模块我们看一下一台计算机接收数据的过程 1数据链路层把接收到的数据帧剥掉链路层头后送给IP层至于数据链路层怎样接收数据帧在后面会详细探讨 2IP模块维护一张接收列表该列表是IP地址组成的结合每当接收到一个数据报链路层送上来的后便把数据报的目的IP地址提取出LSW 主机A 主机B 主机C 7 来然后跟接收列表中的 每个IP地址比较如果有一项匹配则接收该数据并向上层传送否则丢弃 3如果一台主机想加入一个多播组加入与否由上层应用决定比如你想看网络电视频道这时候你需要启动一个应用程序并告诉该应用程序网络电视频道的

9、组播IP地址该应用程序就会向IP模块注册请求加入组播组IP模块于是在自己维护的接收列表里添加一项同时也告诉数据链路层自己加入了一个组播组并附带上组播组地址添加的这项就是组播组的组播IP地址这样每当接收到目的地址是该组播IP地址的数据报的时候IP模块就接收下来并向上层传送 4如果一台主机想退出组播组比如你终止了电视频道接收程序于是该程序在退出的时候会告诉IP模块自己不再接收组播组的数据并告诉IP模块组播组的组拨IP地址于是IP模块就把该组播地址从接收列表中删除这样以后如果再接收到该组播组的数据报的话因为接收列表里没有匹配的项目所以IP模块就丢弃该数据报 经过上面的分析可以看出问题的关键在于IP模

10、块维护的接收列表通常情况下主机没有加入任何组播组该列表里只有两项即主机自己的IP地址和广播IP地址255.255.255.255这样主机只能接收针对自己的数据报和广播数据报 细心的读者可以看出一个问题就是数据链路层如何接收组播数据帧呢原来数据链路层的接收过程跟IP层原理一致即数据链路层也有自己的接收列表不过该列表的内容不是IP地址而是MAC地址每当IP模块收到上层应用的加入组播组的请求之后IP模块就会向数据链路层通告上面提到过通告的时候携带了组播组的IP地址于是数据链路层就会把IP地址进行适当的变换变换的结果就是一个组播MAC地址于是数据链路层把这个组播MAC地址插入自己的接收列表里面以后每当

11、有数据帧到来的时候数据链路层就会把数据正的目的MAC地址跟接收列表里的每项内容进行比较遇到任何匹配的一项就接收下来并向IP层传送 8 这样又引出了两个问题数据链路层如何区分单播MAC地址跟组播MAC地址数据链路层做一个IP地址跟组播MAC地址的影射这个影射是怎样的 首先解释第一个一般情况下单播MAC地址的最高字节的最低比特为0而组播MAC地址的最高字节的最低比特为1如下所示 xxxxx1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx组播MAC地址第六个字节的第一位为1单播MAC地址第六个字节的第一位为0这样数

12、据链路层就可以根据该比特判断收到的数据帧是不是一个组播数据帧下图是第二个问题的答案 XXXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX01- - 00- - 5E- - 0XXXXX.XXXXXXXX.XXXXXXXX23bit23bit从可以看出MAC地址跟IP地址的低23比特是对应的比如IP模块告诉数据链路层软件自己加入了一个组播组224.10.10.10则数据链路层形成一个MAC地址01-00-5E-0A-0A-0A取组播IP地址低23位高位为上面介绍的规则并加入接收地址列表中 到此为止我们分析了网络层和数据链路层对组播的处理过程为了更加深理解我们举一个实际中的例子还

13、是同样的网络拓扑 9 假设图中从左到右计算机依次叫做PCAPCBPCC并假设PCA上运行媒体流服务器发送程序以组播地址224.10.10.10来不停的发送电视频道数据流 开始的时候PCB和PCC都没有接收该数据流于是在PCBPCC的数据链路层和网络层的接收列表中都没有针对224.10.10.10组播地址的接收项从而当数据链路层接收到一个数据帧该该数据帧的目的MAC地址是01-00-5E-0A-0A-0A的时候因为接收列表中没有该地址所以在数据链路层就被丢弃到这里读者应该能体会到组播数据在数据链路层就可以被隔离而广播数据则必须到达网络层才能判断出是否需要丢弃这也是使用组播而不使用广播的最大好处 这时候假设PCB计算机的一个用户想收看网络电视频道了于 是 该 用 户 启 动 一 个 程 序比 如WINDOWS平 台 下 的WMPLAYER并告诉该程

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号