资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,中兴通讯,单击此处编辑母版标题样式,IP组播,TCP/IP传送方式有三种:单播,广播,组播。,单播(Unicast)传输:,在发送者和每一接收者之间需要单独的数据信道。如果一台主机同时给很少量的接收者传输数据,一般没有什么问题。但如果有大量主机希望获得数据包的同一份拷贝时却很难实现。这将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。,组播(Multicast)传输:,它提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。,广播(Broadcast)传输:,是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网主机都投递一份数据包,不论这些主机是否乐于接收该数据包。然而广播的使用范围非常小,只在本地子网内有效,因为路由器会封锁广播通信。广播传输增加非接收者的开销,。,TCP/IP传送方式,组播技术原理,组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。组播源把数据包发送到特定组播组,而只有属于该组播组的地址才能接收到数据包。组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。它提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。,组播技术原理,单播方式示意图,组播方式示意图,实现组播的前提条件,实现IP组播传输,则组播源和接收者以及两者之间的下层网络都必须支持组播。这包括以下几方面:,主机的TCP/IP实现支持发送和接收IP组播;,主机的网络接口支持组播;,有一套用于加入、离开、查询的组管理协议,即 IGMP(v1,v2);,有一套IP地址分配策略,并能将第三层IP组播地址映射到第二层MAC地址;,支持IP组播的应用软件;,所有介于组播源和接收者之间的路由器、集线器、交换机、TCP/IP栈、防火墙均需支持组播;,组播地址,在组播通信中,我们需要两种地址:一个IP组播地址和一个Ethernet组播地址。其中,IP组播地址标识一个组播组。由于所有IP数据包都封装在Ethernet帧中,所以还需要一个组播Ethernet地址。为使组播正常工作,主机应能同时接收单播和组播数据,这意味着主机需要多个IP和Ethernet地址。IP地址方案专门为组播划出一个地址范围,在IPv4中为D类地址,范围是到,并将D类地址划分为局部链接组播地址、预留组播地址、管理权限组播地址。,局部链接地址:,用于局域网,路由器不转发属于此范围的IP包;,预留组播地址:,用于全球范围或网络协议;,管理权限地址:,组织内部使用,用于限制组播范围;,在IP协议中用D类地址来做多播地址,其格式为:,由于保留,多播地址范围:,224.0.0.1 到,其中永久性用于标识一个在一个局域网中所有参加组播的主机和路由器组成的多播组。,IP多播地址只能用于目的地址,而不能为源地址。,组播地址,映射IP多播为以太多播:,方式:把IP低23位映射到以太网地址的低23位,由于D类地址除去头4位固定还有28位,因此有可能有多个IP多播地址映射到同一以太网地址。不过23位的IP多播地址足够大,低23位都相同的多播地址出现的可能性极小。,发送IP多播:,IP软件允许应用程序指定一个多播地址为目的IP地址,接收IP多播:,IP软件允许应用程序申请加入或离开一个特定的多播组,并记住为每一个组成员发送一个数据报的拷贝。同时,主机还需要运行一个协议(IGMP)向路由器报告组成员的状态。,组播地址,在同一个物理网络中的多播比较简单,可以通过IP多播地址到硬件多播地址的直接映射而实现。,而跨越多个物理网络的多播,就需要多播路由器的参与:,为了实现跨越多个物理网络的多播,主机需要把其成员状态报告给本地多播路由器,然后本地路由器和其他多播路由器之间交换各自网络中主机的组成员状态,以实现多播路由。而其中主机把成员状态向本地多播路由器报告就需要使用网际组管理协议(Internet Group Management Protocol)。多播路由器之间交换主机的组成员状态使用距离矢量多播路由协议(Distance Vector Multicast Routing Protocol)。,组播地址,组播地址,根据上面的讨论我们知道应用系统中可采用组播地址的范围是:。那么在我们的应用系统中应如何使用组播地址呢?有两种方法使用组播地址:静态设置,动态获取。,*静态获取:,在会议系统中设置好组播地址,以后永远不变。这种方式虽然比较简单,在目前会议系统使用不多时没有问题,但是如果有两个此类会议系统运行,或使用相同组播地址的不同系统运行(由于没有统一管理组播地址,开发商互相不知道),那就会出现无法解决的冲突。因为本应属于两个不同的组却由于使用相同的组播地址而合为一组。这对于将来会议系统的广泛应用是不可行的。,*动态获取:,会议系统用到的组播地址是不定的,只在运行时临时确定。动态获取组播地址的方法大概有三种:通告方式获取,算法推导方式取得,采用Internet组播地址动态分配体系结构(RFC2908)。,通告方式获取:当会议系统建立时,先侦听10-20分钟左右,以确定当前已使用的组播地址,防止冲突。,算法推导:根据本地的特殊条件,通过一定的算法,求出当前使用的组播地址。,采用上述三种方式获取组播地址可有效防止地址冲突问题。虽然比较复杂,也较耗费资源,但是有利于将来的多媒体应用的扩展。,组播协议,组播协议主要包括组管理协议(IGMP)和组播路由协议(密集模式协议(如DVMRP,PIM-DM)、稀疏模式协议(如PIM-SM,CBT)和链路状态协议(MOSPF),组管理协议IGMP,主机使用IGMP通知子网组播路由器,希望加入组播组;路由器使用IGMP查询本地子网中是否有属于某个组播组的主机。,加入组播组,当某个主机加入某一个组播组时,它通过“成员资格报告”消息通知它所在的IP子网的组播路由器,同时将自己的IP模块做相应的准备,以便开始接收来自该组播组传来的数据。如果这台主机是它所在的IP子网中第一台加入该组播组的主机,通过路由信息的交换,组播路由器加入组播分布树。,退出组播组,在IGMP v1中,当主机离开某一个组播组时,它将自行退出。组播路由器定时(如120秒)使用“成员资格查询”消息向IP子网中的所有主机的组地址()查询,如果某一组播组在IP子网中已经没有任何成员,那么组播路由器在确认这一事件后,将不再在子网中转发该组播组的数据。与此同时,通过路由信息交换,从特定的组播组分布树中删除相应的组播路由器。这种不通知任何人而悄悄离开的方法,使得组播路由器知道IP子网中已经没有任何成员的事件延时了一段时间,所以在IGMP v2.0中,当每一个主机离开某一个组播组时,需要通知子网组播路由器,组播路由器立即向IP子网中的所有组播组询问,从而减少了系统处理停止组播的延时。,组播路由协议,要想在一个实际网络中实现组播数据包的转发,必须在各个互连设备上运行可互操作的组播路由协议。组播路由协议可分为三类:密集模式协议(如DVMRP,PIM-DM)、稀疏模式协议(如PIM-SM,CBT)和链路状态协议(MOSPF),下面分别介绍各个协议的工作原理。,组播协议,组播协议,距离向量组播路由协议(Distance Vector Multicast Routing Protocol:DVMRP),DVMRP由单播路由协议RIP扩展而来,两者都使用距离向量算法得到网络的拓扑信息,不同之处在于RIP根据路由表前向转发数据,而DVMRP则是基于RPF。为了使新加入的组播成员能及时收到组播数据,DVMPR采用定时发送数据包给所有的LAN的方法,然而这种方法导致大量路由控制数据包的扩散,这部分开销限制了网络规模的扩大。另一方面,DVMRP使用跳数作为计量尺度,其上限为32跳,这对网络规模也是一个限制。目前提出了分层DVMRP,即对组播网络划分区域,在区域内的组播可以按照任何协议进行,而对于跨区域的组播则由边界路由器在DVMRP协议下进行,这样可大大减少路由开销。,组播协议,开放式组播最短路径优先协议(Multicast Open Shortest Path First:MOSPF),MOSPF是一种基于链路状态的路由协议,是对单播OSPF协议的扩展。同OSPF类似,MOSPF定义了三种级别的路由:,OSPF区域内组播路由:用于了解各网段中的组播成员,构造(源网络S,组G)对的SPT;,MOSPF区域间组播路由:用于汇总区域内成员关系,并在自治系统(AS)主干网(区域0)上发布组成员关系记录通告,实现区域间组播包的转发。,OSPF AS 间组播路由:用于跨AS的组播包转发。,组播协议,协议无关组播(Protocol Independent Multicast:PIM),PIM由IDMR(域间组播路由)工作组设计,顾名思义,PIM不依赖于某一特定单播路由协议,它可利用各种单播路由协议建立的单播路由表完成RPF检查功能,而不是维护一个分离的组播路由表实现组播转发。由于PIM无需收发组播路由更新,所以与其它组播协议相比,PIM开销降低了许多。PIM的设计出发点是在Internet范围内同时支持SPT和共享树,并使两者之间灵活转换,因而集中了它们的优点提高了组播效率。PIM定义了两种模式:密集模式(Dense-Mode)和稀疏模式(Sparse-Mode)。,组播协议,有核树组播路由协议(Core-Based Trees:CBT),CBT的基本目标是减少网络中路由器组播状态,以提供组播的可扩展性。为此,CBT被设计成稀疏模式(与PIM-SM相似)。CBT使用双向共享树,双向共享树以某个核心路由器为根,允许组播信息在两个方向流动。这一点与PIM-SM不同(PIM-SM中共享树是单向的,在RP与组播源之间使用SPT将组播数据转发到RP),所以CBT不能使用RPF检查,而使用IP包头的目标组地址作检查转发缓存。这就要求对CBT共享树的维护就需非常小心,以确保不会产生组播路由循环。,网络设置,由于我们以前的Internet应用大多集中于数据的交换、共享,因此在目前的,通信方式中,主要采用的是单播和广播,对组播的考虑不是很多。但随着多媒体应用(视频,音频)的发展,要求Internet网络必须很好的支持组播,这也是会议系统得以运行的前提条件。因此,所有介于组播源和接收者之间的路由器、集线器、交换机、TCP/IP栈、防火墙均需支持组播。,在路由器上要安装相应的软件:组管理协议软件,组播路由协议软件等等。,如果要采用RFC2908-Internet组播地址动态分配体系结构,还应配置相应的组播地址分配服务器。,目前绝大多数集线器、交换机只是简单的把组播数据当成广播来发送接收。,假设某网段某一成员参加会议(采用会议系统),则处于同一网段(由交换机、集线器连接)的其他非会议成员其实都可收到多媒体流。这样,非会议成员的真正可使用带宽将急剧下降;如果有多个类似的会议系统(组)同时存在,那么将导致网络拥塞,直至网络瘫痪。同时,由于数据流被广播,很可能会被其他非法成员利用,造成安全隐患。因此,在当今流行的用交换机组建园区网,小区网、专用局网Intranet的网络设计中,应充分考虑到将来多媒体应用发展将会带来的安全问题和带宽问题。,安全性,由于目前病毒泛滥,为了保护自身的安全,许多机构用一台防火墙计算机作为在公用互联网和本机构的专用网,即内部局网Intranet网之间的安全性网关。目前的防火墙大多基于单播通讯来设计的,而组播与单播的原理是有很大不同的:,单播通讯是由一对参与者会话的形式组成的,因此搞清楚单播通讯的安全性是基于这些参与者(每位被授权的参与者),此外单播通讯之间的信任必须建立在每一个参与者的可
展开阅读全文