您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 高级计算机网络技术之组播技术
组播技术一、组播技术概述组播(Multicast)也称多播,是一种重要的通信模式,主要用于解决一对多、多对多的通信问题随着Internet的发展,网络应用呈现多样化发展趋势,远程会议、交互式仿真、信息发布系统以及多人游戏等应用都需要组播技术作为网络支撑环境单播:从一个源到一个接收者的数据传输组播:从一个源到多个接收者的数据传输远程视频会议系统数字电视/广播系统协同作战指挥系统软件更新多人游戏传感器网络空中交通管制系统网络内容发布系统组播的应用组播的优点传输效率减少网络传输开销降低网络带宽使用量减少接收者观测到的延迟可扩展性发送者将数据“一次”发送给“无限个”接收者按照组播实现的网络层次,组播分成IP层组播和应用层组播IP层组播是在IP层实现的,借助于路由器的组播功能来实现对IP报文的组播应用层组播是在应用层实现的,通过构建一个特殊的逻辑网络(称为叠加网OverlayNet)实现对消息的组播组播的类型二、组播协议的基本属性从分布式应用系统设计的角度,一个组播协议应包括原子性、顺序性、实时性、伸缩性、容错性等属性,属性值的组合反映了不同应用系统的需求1.传递原子性组播过程中,部分节点的失败常导致数据服务的不一致性,传递原子性是维护一致性的重要属性,主要包括4个层次(1)尽力而为传递协议对数据传输的可靠性不提供保证,无需在发送方和接收方之间实施同步操作系统实现起来相对简单,能最大程度提高并发度,并减少消息报文代价,常用于流媒体传输、时钟同步等一些非关键应用(2)运行状态成员传递协议保证所有处于运行状态的组成员都能收到消息,主要用于一些关键型任务中,例如工业控制系统中的异常事件处理等要求系统能同时满足一定的容错性、实时性(3)原子性协议必须保证至少有1个组成员能收到消息,在分布式数据处理、数据复制、Web缓存更新等应用中较为常见这里需要解决如何对组成员进行同步操作问题(4)最终传递协议假设系统中不存在永远的失败,消息能最终传递到所有组成员与尽力而为类似,该机制也是采用异步传输方式,系统存储断点信息,并在断点恢复后重传这种方式非常适合于单点临时故障处理和无线应用环境2.顺序性顺序性也称一致性传输,要求消息能按顺序发送到组成员,顺序性有四种类型(1)任意顺序对数据传输顺序不作任何要求,常应用于“尽力而为”型数据传输过程中(2)FIFO顺序要求数据以与发送相同的顺序被接收,通常在应用层或传输层序列化报文,以便在接收方能按顺序重组(3)因果顺序定义了消息间的依赖关系,这种因果关系是偏序型的,可用有向图或时间向量表示(4)全序扩展了因果顺序,要求并发消息被所有接收者以相对一致的顺序处理全序是最严格的一致性模型,通信中的所有事件必须实现同步,全序常应用于分布式数据处理(如数据复制等)3.实时性实时性对数据传输延迟约束,要求在期望的时间内完成传输组播协议要综合考虑在最差条件下的消息调度、拥塞控制、差错恢复、容错性等算法和策略,控制组播延迟的上界根据时间约束条件及后果危害程度,可将实时性分为成3类(1)无时间约束对数据传输没有特定的时间要求(2)软实时约束希望消息尽量在指定延迟范围被所有组成员接收,但过期行为只会对系统性能产生一些影响(3)硬实时性约束要求消息必须在指定时间内被所有成员接收,失效将对整个系统产生灾难性后果伸缩性是大多数组播研究强调的一个基本目标,主要体现在两个方面(1)规模的变化在组播中,组成员的分布和数目易于变化,相关协议设计、可靠性控制算法要能有效减少每个组播会话注入网络中的总流量,避免组播通信所引起的信息爆炸4.伸缩性(2)异构性处理组播协议、算法要能适应组成员在硬件设备、软件环境等方面的性能差异,提高系统资源的利用率为提高组播的伸缩性,组播传输协议常采用基于接收方的反馈来提高可靠性,避免反馈风暴的发生容错性反映了组播服务的可靠性,在系统设计时被确定,通常在系统的生命周期内不能改变容错实现一般以牺牲性能为代价,根据用户所期望的容错类型和级别的不同可将容错性分成无容错、k-冗余、网络分区等类型(1)无容错系统不提供任何容错性能力5.容错性(2)k-冗余在k-冗余中,k反应了系统的冗余程度,若k=0,系统不提供冗余能力;若k=n-1,系统提供全分布的冗余机制,若0kn-1,系统采用主从冗余机制(3)网络分区网络被分成多个互不相连的子区域,子区域内的节点仍处于运行状态并彼此通信,组播中通常采用选举算法避免分区间的并发消息冲突在IPv4组播中,一个特定主机集通过一个D类IP地址来标识,组关系可动态变化,为保证数据传输的原子性,必须对组进行管理IP组管理机制包括两部分:局域网内跟踪组成员关系并准确传输组播信息的局部机制广域网环境下路由报文的全局机制三、组管理协议1.组管理协议-IGMPIGMP(InternetGroupManagementProtocol)协议用于组成员向本地组播路由器报告组成员关系IGMP集成在IPv4协议实现中,IGMP消息封装在IPv4报文中传送IGMP已有三个版本:IGMPv1~v3(1)IGMPv1IGMPv1提供了主机成员关系查询和报告两种消息,组播路由器定期向LAN中所有主机发送查询消息,获取本地网络中的组信息为避免产生流量风暴,主机收到消息后等待一个随机延迟(小于查询间隔)若在该延迟内未收到来自相同组成员的报告,则向组播路由器及LAN中同组成员发送反馈报告在IGMPv1中,主机可主动请求加入组播组,但未提供显式的离组操作当LAN内最后一个主机离开组后,路由器仍继续向该LAN转发报文,直到组关系查询超时为止这种离开延迟特性将白白浪费网络带宽(2)IGMPv2为降低离开延迟,IGMPv2重新定义了消息格式,扩充了消息类型IGMPv2将查询消息分成普通查询和组特定查询,同时增加了离组消息在IGMPv2中,每个组成员都要维护组状态信息,以便在作为最后一个成员离开组时,向组播路由器发送离开消息为确保准确性,组播路由器必须发送组特定查询来探测组成员状况,并在多次查询无反馈后,才认为组为空IGMPv2虽减少了离开延迟,但并没有从根本上消除该问题(3)IGMPv3IGMPv3增加了源过滤功能,使得系统能接收指定源发送的数据包和排除特定的源地址,同时可限制报文发送到特定组IGMPv3提供了一个系统级API,用户可以通过这个API实现源过滤操作IGMP解决了LAN中的组管理和关系维护问题,而Internet中的组管理和报文转发需要通过组播路由技术来完成参与组播的主机可以来源于不同的物理网络,在广域环境中转发组播报文时必须有组播路由器的支持不同位置的组播路由器有不同功能,与终端主机相连的叶子网络中的组播路由器主要实现IGMP功能位于主干网络的组播路由器使用组播路由协议来构建分发树,以此转发组播报文四、组播路由协议组播路由协议有很多种,典型的有:DVMRP(DistanceVectorMulticastRoutingProtocol)MOSPF(MulticastOpenShortestPathFirst)PIM-DM(ProtocolIndependentMulti-castDenseMode)CBT(Core-BasedTrees)PIM-SM(ProtocolIndependentMulti-castSpareMode)按照成员分布性,组播路由协议可分成稠密型和稀疏型稠密型路由协议适用于发送者和接收者距离相对较近,接收者数量较多且带宽充足的区域,通常为每个源建立一个单独的分发树,具有很高转发效率,但可扩充性不好稀疏型路由协议需要显式地创建一个路由树,并且每个源都共享这个树,树状态的维护比较简单组播路由协议在生成组播树时需要获取组播路由信息,可以采用与单播协议无关的单独组播路由协议,也可以在已有单播协议上扩展而成DVMRP通过扩展单播协议RIP而成,MOSPF通过扩展单播协议OSPF而成单独的组播路由协议不需要依赖于特定的单播路由协议,更适用于大型异构网络环境组播树生成方式是组播路由协议设计的关键部分,决定了协议的性能(1)泛洪/剪枝方法使用反向路径转发技术为每个数据源生成一个组播树,路由器收到特定源发送的第1个组播报文后,向所有非该报文接收端口转发报文不含组播成员的叶子路由器向上反馈剪枝消息,阻止后续组播报文的转发组播树最终被剪枝成由每个接收者到发送者的最短路径组成的最小树DVMRP、PIM-DM等采用了这种方法它的缺点是需要周期性发送泛洪消息来发现接收者,并要求所有组播路由器无论是否存在到接收者的路径都要为每个组播组保存状态信息(2)SPT(shortestPathTree)方法用于组播OSPF(MOSPF)协议,路由器通过链路状态为每对源/组播组构造一个组播树,而不是通过扩散组播报文来剪枝它仅适用基于OSPF路由协议的互连网络(3)显式加入/剪枝方法基于中心路由器来生成组播树,协议将组播地址映射到某个组播路由器的单播地址上,并以此为核心构造组播树,每个接收者都要显式向该核心发送预定组播报文请求在这种协议中,组播树的效率取决于中心路由器的选择,为提高容错能力,可以选择多个中心路由器CBT和PIM-SM都属于这样的协议IP组播建立在“尽力而为”型的报文传输服务之上,不能保证报文的可靠传输由于组播流投递点的分散性和接收者的异构性,使组播可靠性技术要比单点投递复杂得多,类似于TCP协议的可靠单播机制难以应用到组播中组播可靠性研究主要包括状态控制模型、反馈控制机制、差错恢复、拥塞控制方法、速率调节算法等方面五、组播的可靠性组播技术虽然具有独特的优势,但却一直未得到广泛应用,其原因是:由于组播技术自身原因,如组播可靠性、安全性、组管理及网络拥塞等问题还有待于进一步改善IP组播的实现依赖于网络中大多数的网络设备都要支持组播,而目前很多IPv4网络设备并不提供组播功能六、IPv6组播技术IPV6不仅扩展了地址空间,支持规模更大的网络结构,并且具有网络自动配置、路由选择速度快、路由聚合性能好、支持组播能力强等特性IPv6对组播的改进主要表现在3个方面(1)组播功能的强制性实现IPv6明确要求IPv6设备必须支持组播,以解决由于某些路由器不支持组播而带来的组播功能弱化问题(2)组播地址的改进IPv6组播地址格式提供了更大的组播地址空间。IPv4组播地址空间只有16个D类地址,而IPv6预留了112位的组标识符,能够满足大规模组播应用的需求组播地址不同于单播地址,它不是固定分配给某一个主机或应用,除了少数预留的地址外,其它地址都是动态地分配给组播应用的用户这样带来的问题是一个组播地址可能同时被多个组播应用所使用,因此要保证它们之间的传播范围不能重叠IPv4使用TTL字段来控制组播报文传送的范围,但不够精确,仍然会存在不同应用之间报文范围重叠的问题IPv6在地址格式中规定了范围字段,可以很方便地划分组播域,再根据组播域来控制组播应用的传播范围IPv6定义了新的组播地址类型:请求节点地址,用于ICMPv6某些消息中由于请求节点组播可将不同的聚类网络前缀映射到同一个被请求的节点地址,因此可减少必须加入的组播地址数目(3)组管理的改进首先增强了组播的可扩展性和安全性。每个组播域有自己的组播地址空间,使用该地址空间的组播报文只在本组播域中转发,而不会向域外转发组播报文多个处于相同层次的较小组播域可以组成一个更高层次的较大组播域不同层次组播域的组播地址空间互不重叠,相同层次的组播域可以有相同的组播地址空间,用户可以选择适合的组播域的组播地址,使组播报文在期望范围内转发这种层次结构还有利于带宽控制,可在本地享有高速数据传输,同时防止本地高速组播信息阻塞域间低速链路IPv6组播相关协议在IPv6中,与组播相关的协议有:用于主机和路由器之间的组播接收者发现协议MLD和用于路由器之间的组播路由协议,如PIM-SM等1.MLD协议MLDv1源于IPv4的IGMPv2协议,用于IPv6组播组管理,在主机与路由器之间交换成员信息IPv6路由器通过该协议来发现直接相连的组成
本文标题:高级计算机网络技术之组播技术
链接地址:https://www.777doc.com/doc-4696484 .html