©2006工程兵工程学院计算机教研室路由和交换技术(第2版)第七章组播路由和交换技术第7章组播本章主要内容组播基本概念;IGMP;组播路由协议。组播和多播是同义词!组播路由和交换技术7.1组播基本概念本讲主要内容组播与单播和广播的区别;组播地址;组播实现技术。组播路由和交换技术一、组播与单播和广播的区别组播特性组播是一对多,即一个发送端、多个接收端;发送端至接收端传输路径都是最短路径;每一段链路不会重复传输同一组播IP分组。组播路由和交换技术属于网络192.1.1.0/24的源终端发送给属于其他3个网络的目的终端的组播IP分组;最短路径、不重复传输。一、组播与单播和广播的区别192.1.3.1192.1.4.1192.1.2.1:组播IP分组R5R1411192.1.2.0/24321121232192.1.1.1192.1.1.0/24192.1.3.0/24192.1.4.0/24R2R3R7组播路由和交换技术一、组播与单播和广播的区别以单播地址作为目的IP地址的IP分组称为单播IP分组,单播实现点对点通信,源终端发送的IP分组沿着源终端至目的终端的最短路径到达目的终端。以广播地址作为目的IP地址的IP分组称为广播IP分组,以32位全1的受限广播地址为目的IP地址的IP分组只能在本地网络中广播。以网络号字段为特定网络号,主机号字段全1的直接广播地址为目的IP地址的IP分组在由网络号指定的特定网络内广播。源终端只需发送单个分组就能完成向分布在多个不同网络、属于同一组播组的一组终端传输分组的过程。组播路由和交换技术二、组播地址组播地址范围为224.0.0.0~239.255.255.255,其中224.0.0.0~224.0.0.255为预留组播地址,用于特定用途,这些组播地址也称为著名组播地址。224.0.1.0~238.255.255.255可用于标识用户组播组。1110组播地址D224.0.0.0~239.255.255.2551234…类组播地址格式组播路由和交换技术三、组播实现技术192.1.3.1192.1.4.1192.1.2.1:组播IP分组R5R1411192.1.2.0/24321121232192.1.1.1192.1.1.0/24192.1.3.0/24192.1.4.0/24R2R3R7源终端组播组上游接口下游接口列表192.1.1.1/32G12,3R1组播路由表源终端组播组上游接口下游接口列表192.1.1.1/32G12R2组播路由表组播路由和交换技术三、组播实现技术G1G1G2G1G2G2123412412S1S3组地址输出端口列表G11,2G21,2S3组播表组地址输出端口列表G11,2,4G23,4S1组播表组地址输出端口列表G11,4G22,3,4S2组播表S23交换式以太网实现组播需要解决两个问题:一是需要建立IP组播地址至MAC组地址的映射规则,二是由于交换机需要通过一组端口输出以MAC组地址为目的地址的MAC帧,交换机必须建立组播表,组播表中的每一项建立MAC组地址与一组输出端口之间的关联组播路由和交换技术IGMP让路由器了解属于特定组播组的终端的分布情况交换机建立组播表允许终端动态加入或离开某个组播组PIM-SMPIM-DMDVMRP三、组播实现技术组播路由和交换技术7.2IGMP本讲主要内容IGMP消息类型和格式;IGMP操作过程;IGMP侦听。组播路由和交换技术一、IGMP消息类型和格式协议接口IP地址目的IP地址2类型=普遍查询0.0.0.0224.0.0.1净荷源IP地址IP分组IGMP消息普遍查询消息用于路由器确定直接连接的网络中是否有终端加入了组播组组播路由和交换技术一、IGMP消息类型和格式协议接口IP地址目的IP地址2类型=指定组查询指定组播地址指定组播地址净荷源IP地址IP分组IGMP消息指定组播组查询消息用于路由器确定直接连接的网络中是否有终端加入了指定组播组组播路由和交换技术一、IGMP消息类型和格式协议终端IP地址目的IP地址2类型=报告指定组播地址指定组播地址净荷源IP地址IP分组IGMP消息报告消息用于终端向路由器报告终端加入组播组的情况组播路由和交换技术一、IGMP消息类型和格式协议终端IP地址目的IP地址2类型=离开指定组播地址224.0.0.2净荷源IP地址IP分组IGMP消息离开消息用于终端向路由器报告终端离开组播组的情况组播路由和交换技术二、IGMP操作过程竞争查询者如果某个网络连接了多个路由器,一是组播路由协议必须保证只把需要在该网络中组播的组播IP分组传输给其中一个路由器,否则有可能发生重复传输组播IP分组的情况。二是多个路由器中,只需一个路由器作为查询者,发送查询消息。这些路由器中接口IP地址最大的路由器成为查询者。组播路由和交换技术二、IGMP操作过程G1G1G2G1G2G21234123412S1S2S33R2112R151S4查询者周期性发送普遍查询消息,每一个终端接收到普遍查询消息后,分别为自己加入的每一个组播组设置报告定时器,报告定时器的初值是某个范围内的随机值,一旦某个组播组关联的报告定时器溢出,该终端发送一个报告消息,报告消息中给出标识该组播组的组播地址,并以该组播地址作为封装该报告消息的IP分组的目的IP地址组播路由和交换技术二、IGMP操作过程路由器接口接口连接的网络中终端加入组播组的情况R1接口1G1、G2R2接口2G1、G2路由器R1和R2记录的组播组情况如果某个终端离开了原先加入的某个组播组,向路由器发送离开消息,离开消息中给出标识该组播组的组播地址,并以该组播地址为封装离开消息的IP分组的目的IP地址。路由器接收到该离开消息后,发送指定组播组查询消息,指定的组播组就是该终端离开的组播组。组播路由和交换技术三、IGMP帧听本讲主要内容IGMP消息封装过程确定连接路由器端口创建组播转发项添加输出端口普通离开组播组立即离开组播组以太网组播IP分组传输过程组播路由和交换技术1.IGMP消息封装过程0800000C.85ED.8C010100.5E25.2525IP分组协议192.1.1.253目的IP地址2类型=指定组查询237.37.37.37237.37.37.37净荷源IP地址IGMP消息目的MAC地址源MAC地址类型净荷MAC帧IP组播地址237.37.37.37映射到MAC组地址0100.5E25.2525组播路由和交换技术2.确定连接路由器端口交换机使能IGMP侦听功能后,如果接收到某个IGMP消息,且该IGMP消息的类型是普遍查询消息或指定组播组查询消息,将接收该IGMP消息的端口确定为连接路由器的端口。组播路由和交换技术3.创建组播转发项如果交换机通过某个端口接收到报告消息,根据报告消息中给出的IP组播地址查找组播表,如果在组播表找不到该IP组播地址关联的组播转发项,创建组播转发项,组播地址为报告消息中给出的IP组播地址(或是该IP组播地址对应的MAC组地址),输出端口列表为连接路由器端口和接收该报告消息端口。组播路由和交换技术4.添加输出端口如果交换机通过某个端口接收到报告消息,并在组播表中找到与报告消息中给出的IP组播地址(或是该IP组播地址对应的MAC组地址)关联的组播转发项,如果组播转发项的输出端口列表中没有包含接收该报告消息的端口,将接收该报告消息的端口添加到输出端口列表中。组播路由和交换技术5.普通离开组播组如果交换机通过某个端口接收到离开消息,交换机通过接收离开消息的端口发送IGMP指定组播组查询消息,指定的组播组为终端表明离开的组播组。如果在规定时间内一直没有通过该端口接收到表明加入该组播组的报告消息,交换机将在该组播组对应的组播转发项的输出端口列表中删除接收到离开消息的端口。组播路由和交换技术6.立即离开组播组如果某个交换机端口直接连接终端,交换机接收到离开消息后,立即从该组播组关联的组播转发项的输出端口列表中删除连接该终端的交换机端口。组播路由和交换技术7.以太网组播IP分组传输过程组地址输出端口列表G11,2,4,5G23,4,5S1组播表G1G1G2G1G2G21234123412S1S2S33R2112R151组地址输出端口列表G11,4G22,3,4S2组播表组地址输出端口列表G11,2G21,2S3组播表组地址输出端口列表G11,2G21,2S4组播表:以组播地址G1为目的IP地址的组播IP分组路由器R1成为查询者,通过接口1周期性发送普遍查询消息,根据各个终端响应的报告消息记录组播组情况。交换机通往路由器R1接口1的端口成为连接路由器端口,各个交换机生成的组播表如上图所示。组播路由和交换技术7.3组播路由协议本讲主要内容DVMRPPIM-SM组播路由和交换技术一、DVMRP本讲主要内容DVMRP报文类型和格式;广播树建立过程;剪枝;组播IP分组传输过程。组播路由和交换技术1.DVMRP消息类型和格式源终端(或源网络)地址1子网掩码1距离1类型=DVMRP消息编码=报告消息2224.0.0.4接口IP地址净荷目的IP地址源IP地址…源终端(或源网络)地址N子网掩码N距离N协议IP分组组播路由项1组播路由项N报告消息报告消息给出组播路由项,每一项组播路由项给出该路由器到达特定源终端(或源网络)的距离组播路由和交换技术1.DVMRP消息类型和格式源终端地址组播地址子网掩码类型=DVMRP消息编码=剪枝消息2224.0.0.4接口IP地址净荷目的IP地址源IP地址协议IP分组剪枝消息剪枝消息用于在以源终端(或源网络)S为根的广播树上,针对特定的组播组G剪去不需要传输以标识该组播组的组播地址为目的IP地址的组播IP分组的分枝。组播路由和交换技术二、广播树建立过程特定源终端关联的广播树,实际上就是以连接源终端所在网络的路由器为根的最短路径树;路由器确定源终端至所有网络最短路径的前一跳路由器和下一跳路由器;路由器只转发从连接前一跳路由器的接口进入的组播IP分组,只从连接下一跳路由器接口转发出去。组播路由和交换技术建立路由器组播路由表就是确定特定源终端至所有网络最短路径所对应的连接前一跳路由器和连接下一跳路由器的接口;如果将源网络想像成目的网络,前一跳路由器就是由单播路由协议针对源网络计算出的下一跳路由器;可以通过毒性反转技术确定路由器连接下一跳路由器的接口。二、广播树建立过程组播路由和交换技术二、广播树建立过程1224.0.0.4193.1.7.1192.1.1.0/243192.1.2.0/242192.1.3.0/2432+2192.1.4.0/2432+3193.1.9.2224.0.0.4192.1.1.0/2432+4192.1.2.0/243192.1.3.0/2432+2192.1.4.0/24134193.1.4.1193.1.9.2源网络距离前一跳输入接口192.1.1.0/243193.1.3.12192.1.2.0/242193.1.5.21192.1.3.0/242193.1.7.23193.1.4.0/243193.1.7.23321源网络距离前一跳输入接口192.1.1.0/242193.1.2.11192.1.2.0/243193.1.3.23192.1.3.0/242193.1.4.22192.1.4.0/243193.1.4.22224.0.0.4193.1.4.1192.1.1.0/242192.1.2.0/243192.1.3.0/2432+2192.1.4.0/2432+3源网络距离前一跳输入接口192.1.1.0/244193.1.9.11192.1.2.0/243193.1.10.13192.1.3.0/242193.1.9.11192.1.4.0/241-2R2R4R5R7193.1.7.1源网络距离前一跳输入接口输出接口192.1.1.0/243193.1.4.11-192.1.2.0/243193.1.7.14-192.