第6章多播和Internet组管理协议IGMP主要内容多播概念Internet组管理协议(IGMP)多播路由选择6.1多播概念以太网多播IP多播使用以太网多播实现IP多播共有90个主机接收视频节目R1R3R4R2视频服务器M………30个30个30个30个30个30个90个不使用多播时需要发送90次单播IP多播的基本概念多播1个1个多播多播多播可明显地减少网络中资源的消耗多播组成员共有90个R1R3R4R2视频服务器M………1个1个1个1个1个发送1次多播复制IP多播概要(1)多播使用组地址—IP使用D类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。D类地址:1110……,即224.0.0.0~239.255.255.255。(2)永久组地址—由因特网号码指派管理局IANA负责指派的、不能随便使用的一些地址。(3)动态的组成员。(4)使用硬件进行多播。(5)在因特网上进行IP多播要用到Internet组管理协议IGMP和多播路由选择协议。6.1.1以太网多播以太网多播是在硬件网络上实现的多播。硬件多播可以看作是广播的更一般形式,可以实现同时与一组站点的通信,但有一个限制条件,就是这一组站点只能在同一个物理网络(网段)上。6.1.2IP多播IP多播允许一个源站与一组目的站的通信,但是最主要的区别在于该组目的站可以位于互联网上的任意物理网络上,这一组目的站称为多播群组(multicastgroup),或简称群组。IP多播是在逻辑网络上的多播。IP多播特征转发IP多播分组需要特殊的多播路由器。群组地址。动态群组成员。成员和传输。任意站点都可以向任何群组发送IP分组,群组成员只用于确定站点是否接收发往群组的IP分组。交付机制。IP多播与其它IP分组交付使用同样的尽最大努力交付机制。底层硬件使用。如果底层网络支持硬件多播,则可以使用硬件多播发送IP多播。如果硬件不支持多播,则使用广播或单播来实现IP多播。6.1.3使用以太网多播实现IP多播以太网地址28比特群组标识群组标识中的低23比特复制到以太网群组中48比特以太网地址群组标识中的低23比特群组(23比特)多播地址(25比特)5比特未使用0111D类IP地址D类地址映射为以太网多播地址6.2Internet组管理协议(IGMP)IGMP工作原理IGMP报文6.2.1IGMP工作原理IGMP用于多播路由器和多播站点等群组成员之间的通信。网络上每一个多播路由器中都有一个多播地址表,其中每一个多播地址对应一个群组。多播路由器负责把多播分组分发给一个群组中的各个成员。换言之,如果有多个多播路由器连接在同一个物理网络上,它们的多播地址表一定是互斥的。站点加入群组的流程否是MG在成员关系表中?站点检查群组MG的成员关系表进程P申请加入群组MG站点发送群组成员关系报告P,MG加入站点的群组成员关系表多播路由器删除一个群组MG的流程否是在指定时间内收到应答?多播路由器发送MG的查询报告收到站点退出群组MG的报告删除群组MG不删除群组MG站点收到多播路由器发送的一般查询报文后的处理流程无有无是否有站点接收多播路由器发送的一般查询报告(群组MG)站点中有群组MG?启动随机数计时器计时器计时时间到?监听其它站点对群组MG的报告群组MG成员关系报告?站点发送群组MG的成员关系报告结束6.2.2IGMP报文311680类型最长响应时间校验和群组地址6.3多播路由选择多播路由特性多播路由实现目标多播转发树多播路由选择协议6.3.1多播路由特性动态路由要求。在单播路由中只有当网络拓扑结构改变或设备出故障时才会发生路由改变,多播路由中应用程序加入或退出一个群组就会发生多播路由的变化。多播转发需要路由器检查多个目的地址。多播分组可以从非群组成员的主机上发起,并且可以通过任何没有群组成员的网络。6.3.2多播路由实现目标群组的每一个成员当且仅当收到一个多播分组的副本,不允许收到多个副本。非群组成员不能收到副本。路由选择中没有回路。从源站到每一个目的站的路径必须是最佳的。6.3.3多播转发树从源站到群组所有成员的一系列路径形成的结构犹如图论中的树,也称为多播转发树。多播转发分组时,多播路由协议使用了两种类型的多播转发树:源站基准树和群组共享树。源站基准树n个群组、m个源站→n×m棵树使用源站基准树的多播路由选择协议有:距离向量多播路由协议(DistanceVectorMulticastRoutingProtocol,简称DVMRP)、多播开放最短路径优先协议(MulticastOpenShortestPathFirst,简称MOSPF)和协议无关多播-密集方式(Protocol-IndependentMulticast-DenseMode,简称PIM-DM)。群组共享树每一个群组共享同样的树。如果在整个网络中有n个群组,那么就有n棵树,每一棵树对应于一个群组。6.3.4多播路由选择协议距离向量多播路由协议(DVMRP)OSPF多播扩展(MOSPF)核心基干树(CBT)协议无关多播(PIM)距离向量多播路由协议(DVMRP)距离向量多播路由协议(DistanceVectorMulticastingRoutingProtocol,简称DVMRP)是基于源站的路由选择协议,允许多播路由器之间传递群组成员关系和路由信息。当路由器收到发往一个群组的分组时,通过源站基准树中各分枝的网络链路发送分组的副本。基于反向路径多播RPM形成源站基准树。源站基准树、密集模式。RPM工作的基本原理1)源站使用广播方式向互联网中的所有网络发送第一个分组。2)每一个网络的多播路由器使用IGMP维护本网络的群组成员关系,一旦多播路由器发现对某个群组没有兴趣,就向上游路由器发送修剪报文。3)如果某路由器已经发送了修剪报文,但通过IGMP又发现要加入某个群组,此时就发送移植报文。OSPF多播扩展(MOSPF)OSPF多播扩展(MulticastExtensionstoOSPF,简称MOSPF)使用多播链路状态路由选择创建源站基准树。MOSPF依赖于单播路由协议OSPF。源站基准树、密集模式。核心基干树(CBT)核心基干树(CoreBasedTrees,简称CBT)避免进行广播。当站点使用IGMP加入一个特定群组时,本地路由器在转发多播分组之前必须通知其它路由器。CBT构建多播转发树时,为了能够适应不同的网络规模,CBT把互联网划分成区域,每个区域的大小由网络管理员确定。群组共享树、稀疏模式。协议无关多播(PIM)协议无关多播(ProtocolIndependentMulticast,简称PIM)包括两个独立的多播路由选择协议的名称:协议无关多播-密集方式(ProtocolIndependentMulticast-DenseMode,简称PIM-DM)和协议无关多播-稀疏方式(ProtocolIndependentMulticast-SparseMode,简称PIM-SM)。PIM-DMPIM-DM是基于源站的路由选择协议。PIM-DM不依赖于任何单播路由协议。PIM-DM更加倾向于简单性和独立性,甚至不惜增加分组复制引起的额外开销。源站基准树、密集模式。PIM-SM当群组在网络中集中分布或者网络提供足够大带宽的情况下,密集模式多播路由协议是一个有效的方法,当群组成员在广泛区域内稀疏分布时,就需要另一种方法即稀疏模式多播路由协议将多播流量控制在连接到群组成员的链路路径上,而不会“泄漏”到不相关的链路路径上。群组共享树、稀疏模式。