您好,欢迎访问三七文档
资料编码产品名称使用对象产品版本编写部门资料版本组播协议专题拟制:日期:审核:日期:审核:日期:批准:日期:华为技术有限公司版权所有侵权必究组播协议专题文档密级:内部公开2005-03-24华为机密,未经许可不得扩散第2页,共11页修订记录日期修订版本作者描述组播协议专题文档密级:内部公开2005-03-24华为机密,未经许可不得扩散第3页,共11页目录1组播协议产生的背景..............................................................................................................52组播协议的体系结构..............................................................................................................63组播的实现............................................................................................................................84组播的运用..........................................................................................................................10组播协议专题文档密级:内部公开2005-03-24华为机密,未经许可不得扩散第4页,共11页关键词:组播协议IPIGMP路由器报文地址摘要:本文详细介绍了组播协议产生的背景以及组播协议的体系结构,对组播的实现和运用进行了阐述。缩略语清单:无。参考资料清单无。组播协议专题文档密级:内部公开2005-03-24华为机密,未经许可不得扩散第5页,共11页组播协议专题1组播协议产生的背景随着网络带宽资源的丰富,使得很多多媒体的网络应用成为可能,例如电视会议系统,远程教学系统,多媒体点播系统等,很多的多媒体网络应用要求把信息从一个源发送到多个目的地,即一对多的发送方式。多媒体信息的数据量非常大,使用一对一的方式模拟一对多,不但浪费带宽,而且很可能使数据源所在的网络不堪重负,而使用广播会造成信息泛滥,浪费带宽。从本质上就提供一对多服务的组播就是根据这种一对多的发送方式需要产生的。IP组播使得在IP协议栈上实现点到多点的高效传送成为可能,这种组播的服务模型对用户来讲是透明的,使用一个如同单播地址的D类IP地址来标志一个组,向一个组播组内的所有IP主机的报文传送使用如同单播一样的调用访问方式。参与IP组播主机可以在任意位置、任意时间,成员总数不受限制的加入退出组播组,组播路由器不需要也不可能保存所有主机的成员关系,组播路由器所需要知道的只是物理界面所在的物理子网上是否有主机属于某个组播组,而主机方只需要保存自己加入了哪些组播组。IGMP协议用来在主机与组播路由器之间建立并且维护这些组成员关系。主机和路由器之间通过IGMP协议来传递组播组成员关系。通过IGMP协议,路由器可以得知自己连接的网络中的组成员关系,但是要把组播数据从数据源所在的网络发送到组成员所在的网络,还需要有组播路由协议的支持。组播路由和单播路由是不同的,组播路由由源地址,组地址,入接口和出接口列表四部分组成,其中源地址指数据包的源地址,组地址指数据包的目的地址,入接口指期望数据包进入的接口,出接口列表中包含需要转发的接口。一个组播数据包只有匹配源地质,组地址,并且从入接口到达才能说完全匹配一条路由。组播路由协议就是用于建立和维护组播路由表的。目前,经常使用的组播路由协议包括DVMRP协议,PIM协议,MOSPF协议。其中,PIM协议由PIMSM协议和PIMDM协议两个独立的协议组成。按照组播路由表建立的机制把组播路由协议分为两种类型,数据驱动型和协议驱动型。数据驱动型指在数据包到达路由器之前,路由器中不保存组播路由,通过数据包触发协议消息来建立组播路由,一般采用的是广播与剪枝技术,DVMRP和PIMDM属于这种类型的协议;协议驱动型是指路由器通过IGMP消息得知本地子网中存在某个组G的成员后,向上游路由器发送Join消息,加入组播树,PIMSM属于这种类型的协议。组播协议专题文档密级:内部公开2005-03-24华为机密,未经许可不得扩散第6页,共11页2组播协议的体系结构路由器实现组播功能包括两部分功能:一部分是组播路径信息的获得;另一部分是依据组播路径信息转发组播数据报文。组播路由信息的获得功能依赖于组播路由协议,这些协议播包括PIMDM、PIMSM、DVMRP等。PIMDM等协议运行的结果是获得了指导组播数据转发的组播转发表。而IP层对组播的支持则使路由器能够正确地根据组播转发表转发组播报文。组播路由协议主要规定了路由器之间的通信规则,而IGMP协议则规定了路由器和主机之间的通信规则。路由器利用IGMP协议来获得组成员组成员加入和离开组播组的信息。组播协议规范可以分为两大部分:一部分是路由器间的通信协议包括PIMDM、PIMSM、DVMRP等;另一部分是路由器和主机之间的通信协议——IGMP。实现完整的组播功能需要众多的协议支持,目前组播的许多规范尚处于不断发展之中。这些协议规范可以大体上划分为主机和路由器之间的通信协议以及路由器和路由器之间的通信协议。主机和路由器或者交换机之间的协议包括IGMP、CGMP(CiscoGroupManagementProtocol)、IGMPSnooping等。其中CGMP、IGMPSnooping属于二层组播协议,它们是交换机和组播组成员之间交换组播组加入、离开信息的协议。路由器之间的通信协议又分为域内协议和域间协议。域内协议包括PIMDM、PIMSM、DVMRP、MOSPF、CBT等。域间协议包括MBGP、MSDP、MASC、BGMP等。域内协议可以进一步分为两类。一类是密集模式协议,它们是PIMDM、DVMRP、MOSPF;另一类是稀疏模式,包括PIMSM、CBT。PIMDM、PIMSM等组播路由协议在自己的运行域内内不再进一步划分层次。在同时运行不同组播路由协议的边界路由器上,需要实现不同组播路由协议之间的互操作。rfc2715定义了D.Thaler组播互操作模型。组播系列协议中大部分使用UDP报文,少量使用面向连接的TCP报文1.IGMP互联网组播组管理协议(InternetGroupManagementProtocol),IGMP是IP协议族中负责IP组播的成员管理的协议。用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。IGMP不包括组播路由器之间的组成员关系信息的传播与维护。所有参与组播的主机必须实现IGMP协议,IGMP协议是IP组播路由协议的直接支持协议。组播协议专题文档密级:内部公开2005-03-24华为机密,未经许可不得扩散第7页,共11页2.组播IP地址组播IP地址用于标识一个IP组播组。IANA把D类地址空间分配给IP组播,其范围是从224.0.0.0到239.255.255.255。如下图所示(二进制表示),IP组播地址前四位均为1110。八位组(1)八位组(2)八位组(3)八位组(4)1110XXXXXXXXXXXXXXXXXXXXXXXXXXXX3.组成员关系协议(IGMP)IGMP协议运行于主机和与主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。IGMP有三个版本,IGMPv1由RFC1112定义,目前通用的是IGMPv2,由RFC2236定义。IGMPv3目前仍然是一个草案。IGMPv1中定义了基本的组成员查询和报告过程,IGMPv2在此基础上添加了组成员快速离开的机制,IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。这里着重介绍IGMPv2协议的功能。IGMPv2通过查询器选举机制为所连网段选举唯一的查询器。查询器周期性的发送普遍组查询消息进行成员关系查询;主机发送报告消息来应答查询。当要加入组播组时,主机不必等待查询消息,主动发送报告消息。当要离开组播组时,主机发送离开组消息;收到离开组消息后,查询器发送特定组查询消息来确定是否所有组成员都已离开。通过上述IGMP机制,在组播路由器里建立起一张表,其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。当路由器接收到某个组G的数据报文后,只向那些有G的成员的端口上转发数据报文。至于数据报文在路由器之间如何转发则由路由协议决定,IGMP协议并不负责。4.网络二层组播相关协议网络二层组播相关协议包括IGMPSnooping,IGMPProxy和CGMP协议。IGMPSnooping的实现机理是:交换机通过侦听主机发向路由器的IGMP成员报告消息的方式,形成组成员和交换机接口的对应关系;交换机根据该对应关系将收到组播数据包只转给具有组成员的接口。IGMPProxy与IGMPSnooping实现功能相同但机理相异:IGMPsnooping只是通过侦听IGMP的消息来获取有关信息,而IGMPProxy则拦截了终端用户的IGMP请求并进行相关处理后,再将它转发给上层路由器。CGMP(CiscoGroupManagementProtocol)是Cisco基于客户机/服务器模型开发的私有协议,在CGMP的支持下,组播路由器能够根据接收到的IGMP数据包通知交换机哪些主机何时加入和脱离组播组,交换机利用由这些信息组播协议专题文档密级:内部公开2005-03-24华为机密,未经许可不得扩散第8页,共11页所构建的转发表来确定将组播数据包向哪些接口转发。GMRP是主机到以太网交换机的标准协议,它使组播用户可以在第二层交换机上对组播成员进行注册。3组播的实现组播由网际网组播管理协议(IGMP)实现,即RFC1112允许主机加入组以接收多播包允许用户基于他们运行的应用程序动态登记(加入或离开组),主机可以是任意多个组的成员,也可对同一多播组同时加入多次。使用UDP数据报传送数据每个多播组都由一个D类地址所确定D类IP地址是动态分配的;多播IP地址代表接收者组,而不是某个单独的接收者。(因此,多播地址只能用作目的地址,它们不能出现在某个数据报的源地址字段,也不能出现在源路由或源路由记录选项中)。组成员可出现在Internet的任何地方接收者可在Internet中密集或松散地分布;接收者可在路由器间使用IGMP协议在任何时间动态加入或离开多播组;发送者不需要包括在他们发送的多播组内,即不是多播组的主机也可以向多播组发送数据报。成员加入和离开多播组将此信息通知组播处理程序发送者和接收者截然不同,如发送者可以不是组成员路由器“监听”来自所有多播组的报文并使用多播路由协议转发报文至组内成员组播IP地址使用D类地址空间D类地址的高三位置1(即224.0.0.0),地址范围从224.0.0.0至239.255.255.255从224.0.0.0至224.0.0.255,由IANA保留为网络协议使用从224.0.1.0至238.255.255.255,在整个Internet上动态分配,这一区域的地址可建立组播组。从239.0.0.0至239.255.255.255,保留为私有域内部使用2层/3层多播地址重叠IP多播地址有28位地址空间(32位减去D类地址前缀的前四位1110),但只有23位被映射到IEEEMAC地址,共有5(28-23=5)位重叠,2**5=32,这样映射的一个明显结果是有32个IP多目地址会映射到同一个物理地址上。例如:以下所有IP多播地址都映射为同一2层地址:01-
本文标题:27-组播协议专题
链接地址:https://www.777doc.com/doc-2925048 .html