《组播介绍(v1,v2,v3,igmp)》由会员分享,可在线阅读,更多相关《组播介绍(v1,v2,v3,igmp)(12页珍藏版)》请在金锄头文库上搜索。
1、学习目标:*理解组播的概念及技术*掌握 IGMP 协议及配置*掌握 PIM 协议及配置为什么要强调组播,因为在现实情况中,越来越多的一些应用都是基于一个特定群组。这 里要注意的是它不是全部用户,而是特定组,一组用户,这些特定群组的应用包括多媒体会议、数据群发、游戏、视频点播等,在这种情况下,如果使用以前所说的 单播也好,广播也好,都不符合实际应用的情况,不管是单播还是广播都会大大的增加网络冗余的一些数据流量,为了实现这么一个特定群组的服务,最好的方式就 是根据实际情况将应用的成员划分到一个群组里面,而数据的分发仅限于群组内部,这样就可以以尽可能少的数据流来实现群组的应用,这就是我们所说的组播技
2、 术。组播的定义:组播是介于单播和广播之间的一种通讯方式,是主机向一组主机发送信息,这一组主机可以是全部主机也可以不是全部主 机,主要看是否所有主机都需要接收这组信息,存在于某个组的所有主机都可以接收到组发送的信息,是一种点到多点的通讯方式,单播是点到点,广播是点到所有 点,所以这三者是有区别的。从这个意义上来说呢,可以这样认为:广播是一个最大化的组播。当然两者还是有区别的,路由器在处理这两种数据包的处理方式是不 同的,广播是不会被路由器所转发的,但是组播是可以穿越不同的网段。另外广播发出后主机是被默认为是接收者,组播不一样,组播我发不发给你,你能不能去 收,是需要看用户有没有一个加入行为,你
3、要加入这个组才能接收这个组的信息。单播与组播实现点对多点传输的比较:在没实现组播之 前,我们是采用单播或者广播来实现,单播可以通过建立多个点到点的连接来实现点到多点的传输,这样的话,在中间节点的路由器,在针对单播传输的时候,都要 维持一个会话,当然也就需要占用一份带宽,也就是说从发送方开始,就有多份数据发向不同的接收点,这种方式最大的网络负荷在服务器端,它增大了对服务器性 能的要求,同时还会在网络中造成非常大的流量,从而增加了网络的负载。那么如果我们采用广播的花会有什么问题呢,广播在通讯的时候有个特性,它只 在有分叉的时候才会被复制并传输,但是广播缺省认为所有终端都要接收这个数据,这就会造成某
4、个用户根本就不需要这个数据流 ,但是通过广播发送的数据流还是会转发一份给他,那么这也就浪费了有关的带宽。组播就不一样了,组播的数据,发送方仅发送一份数据,以后的数据包只会在需要复制分发的地方才会被复制,这样不仅节约了网络带宽,也减轻了服务器的有关负担。组播的应用:1. 最早的应用就是一个视频和音频的多媒体会议环境,它最开始实在 unix 环境下被开发出来的,事实上,除了基于 unix 的视频和音频工具之外,基于unix 的白板也被开发出来了。但是由于当时网络带宽和环境还有网络设备的限制,只有音频会议工具的到了发展,这个音频会议和基于 IP 组播的数据共享应用相结合, 提供了一个功能非常强大的多
5、媒体会议系统,而且不消耗过多的带宽,同时呢非常适合有关的网络教学,比如 E-Learning,E-Learning 的需求 促进了多媒体技术的发展也促进了组播的应用。2.数据分发:这是 ip 组播应用的另一个领域,通过使用 ip 组播,在一个可靠的网络里面,允许将文件和数据传送到各个网络节点,这就允许一些大型的跨国公司或者一些大型的由总部加全球各地的分支机构所组成的公司每天都可以向它的远程子公司发送信息。3.实时的数据组播:这里比较好的例子是实时的音频和视频的点播,还有股票交易市场。4.游戏和仿真的领域组播技术的特点:*优点-增强效率,控制网络流量,减少服务器和 cpu 负载-优化性能,消除流
6、量冗余-分布式应用,使多点传输成为可能*缺点-组播应用基于 UDP-比较难实现 QOS,只能尽最大努力交付-无拥塞控制-数据包重复-数据包的无序交付组播体系结构:*组播协议分为主机-路由器之间的组成员关系协议(组播管理协议)和路由器-路由器之间的组播路由协议。*组成员关系协议包括 IGMP(互联网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。* 域内的组播协议由分为密集模式(PIM-DM)和稀疏模式(PIM-SM)。域内组播路由协议主要使用 PIM-SM,PIM-DM,DVMRP 协议。有关 组播协议,不管是管理协议还是路由协议,他都远远不止这里所列出的三四个,组播协议从发
7、展到现在来说,路由协议就一共有像 MOSPF、CBT、PIM- SM、PIM-DM、DVMRP 等协议,这里简单的做下介绍:DVMRP,它叫距离向量的组播协议,现已广泛的应用于组播的骨干网之 间,DVMRP 协议为每个发送源和目的主机都建议一个所谓的组播分布树,这个分布树也叫源分布树,每个源就建立一颗树,第二个,它既然是向量协议,就具有 响亮协议的特征,它通过跳数来衡量一个组播源到目的地之间的优劣,跳数最短的就为你组播传输的路径是最短的,当然,跳数最短也就意味着他的转发路径是最优 的;第三呢,DVMRP 通过广播和修剪技术来维持它的扩展分布树,第四 DVMRP 对子网密集分布的组播组来说可以非
8、常好的运作,但是范围大的组播因为需要 周期性的使用广播来做维护,就会带来一些严重的性能问题,最后一个要注意,对于 DVMRP 来说,它不能支持大型网络中的稀疏分散的组播组,也就是说 DVMRP 这个协议它本身是一个密集模式的协议。MOSPF:它是一个域内的组播路由协议,全名叫组播的开放最短路经优先,它类似于 ospf,它 采用链路状态维护组播拓扑,并且要想收集有关信息(组播路由器以及成员信息)它是借助于 IGMP 这个协议来实现的,MOSPF 要构建他组播的状态链路数据 库,那它是通过 IGMP 周期的收集构建 MOSPF 的链路状态数据库,构建 MOSPF 得最短路经优先树,然后来生成 MO
9、SPF 的路由表。PIM-DM(独立于协议的密集模式组播协议)、PIM-SM 中的 PIM 指的是它跟单播协议无关的另类路由协议。这里说的密集模式是缺省认为这个组播网络里面的所有用户都是加入某一个组的,除非你提出:我不加入这个组,这样才不会给你转发这个组播的数据流。而稀疏模式是默认认为组播网络中所有用户都是不加入这个组的,除非你有明确的加入请求,我才会给你转发有关组播数据包。从 这里就可以简单的针对 PIM-SM 和 PIM-DM 做一个区别,PIM-DM(密集模式)主要面向那些组播的成员非常多、组播源非常少、组播成员相对密集的 组播环境,而 PIM-SM 也可以针对组播成员很多的环境也可以是
10、很少的环境,另外一个主要的区别是稀疏模式是组播源很多,而组播的成员分布的很分散的这种 情况采用稀疏模式更加有效果。CBT:叫做急于核心树的组播协议,它是稀疏模式的组播协议,因为是稀疏模式,所以组播源很多,用户很分散,那它在 建立这个转发路径树的时候呢只能采用共享树,所谓共享树就是不管多少个源都共用同一个转发链路。这里需要注意的是,CBT 必须制定一个路由器作为 CBT 路 由协议的核心,以核心来构建 CBT的共享树,但是呢,其他用户的加入请求包在发出来的时候,在发到有关核心树的时候呢,核心树的路由器会给他一个回应,那 他就加入这个组了。但是他为了提高效率,在一个组成员发出加入请求的数据包出来,
11、在发出这个数据包还有得到有关这个 CBT 的核心确认之前被另外一个在这个 CBT 树的转发路由器收到,受到之后会立刻给他回应,回应了之后就可以立刻加入这个组,也就是说,它的确认信息不一定需要核心树中的核心路由器来给他做出 明确的答复,是要任何在这个核心树中的路由器受到这样的一个加入信息,就可以给他做出回应,那用户呢就加入这个组了,这样就大大的提升了它的效率。CBT 将组播流量集中在最少数量的链路上,而不是一个基于发送源的共享树上,并且他和普通的比如共享模式的 pim-sm 它只有单个核心,这个核心它叫 RP,与单 个核心树相比,多个核心可以达到负载均衡。不管是 PIM-DM 还是 DVMRP
12、还说 MOSPF 或者 PIM-SM 他们都是属于域内的组播协议,密集模式有 PIM-DM、DVMP、MOSPF,稀疏模式有 CBT、PIM-SM。MOSPF 因为扩展性非常差,并且还需要跟 OSPF 协议相结合,本身 OSPF 协议就很复杂,所以很少被实现,另外还不支持隧道,不支持隧道的话安全性也就没办法在组 播环境里面来实现,因此它就已经被淘汰了。CBT 协议虽然很简单,但是端到端的性能没办法满足,因此不适应在全网型的组播网络里面,现在用的最广泛的组播 域内路由协议就是 PIM-SM、PIM-DM、DVMRP。另外还需要提一下,既然有域内的组播路由协议,当然也就有域间的组播路由协议,域间的
13、 组播路由协议它有两类方案,一个是短期方案一个是长期方案,短期方案包括三个协议:MBGP(组播边缘网关协议)、MSDP、PIM-SM;MBGP 用于 在自治区域之间交换组播路由信息,而 MSDP 我们叫他组播信源发现协议,它用于在 ISP 之间交换组播信源信息,另外有关域内组播路由协议 PIM-SM,它 也可以用在域间来实现。长期方案正在研发中,讨论最多的有 MASC,MBGP 和BGMP,这些长期方案都是建立在现有的组播模型上,其中的 MASC 实现域 间组播地址的分配,MGBP 在域间传递组播路由信息,BGMP 完成域间路由树的构造。另外还有一些组播路由的策略协议,比如 PIM-SSM(特
14、定信源协议无关组播),这个是建立在其他的组播业务模型上。除 了这里说的路由协议外,另外还有一类管理协议,管理协议是用来协调主机到路由器之间的组成员关系协议,典型代表有 IGMP,它是建立并维护路由器直联网段 的组成员关系的一些信息,域内组播路由协议根据 IGMP 维护的组播组成员关系信息,运用一定的组播路由算法来构造组播分发树,进行组播数据包的分发,域间 组播路由协议在各个自治域之间发布具有组播能力的路由信息以及组播源的信息,可以使组播数据可以在域间进行转发,还有一类交换机到路由器之间的管理协议, 为了有效的抑制组播数据在第二层做扩散,就会有一些IGMP Snooping(IGMP 监控协议)
15、,另外还有华为的私有协议 HGMP、思科的私有协议 CGMP,这些都是属于二层组播的一些控制协议。组播地址:组 播地址都是一些特殊的 IP 地址,每一个加入到该组的主机呢,他都敏感该组地址并接收以该组地址为目的地的 IP 报文,组播地址的最高 4 位都是1110,那么 它的范围就是 11100000-11101111,就是 224-239,因此组播地址的范围就是 224.0.0.0-239.255.255.255,他 是属于 IP 分类中的 D 类地址。在这些地址里面,并不是说所有地址都是用户可用的,他们中有一些属于保留地址:保留组播地址:224.0.0.0-224.0.0.255,这部分地址
16、一般是分配给特定协议做它的组播信息的分发,如:224.0.0.1 是组播中所有成员,224.0.0.2 是组播中所有路由器,224.0.0.9是 RIPV2 组播更新的地址,而 224.0.0.5 和 224.0.0.6 是 用作 OSPF 做状态更新所使用的,224.0.0.10 是思科私有协议 EIGRP 用来做组播路由信息更新的地址,224.0.0.13 是表示所有 PIM 的 路由器。本地管理组地址:239.0.0.0-239.255.255.255,这个地址范围用来作为私人组播领域的管理权限地址。这些都是第三层地址表识的,但是到了数据链路层还是需要第二层地址来进行传输阿,那么有关这个组播,是如何来实现这个寻址呢?那么将有专门的物理地址用来组播:对以太网而言,是 01-00-5e 开头.IP 地址与 mac 地址的映射:跟单播一样,组播的 ip 地址和 mac 地址也会有一个映射。这 里需要注意的是,组播 mac 中有 23 位可变,IP 中有 28 位可变,因此无法一一做映射,因此有 5 位是没有办法做映射的,那么就会出现有部分