第1页锐捷网络技术培训系列课程-(中级)组播协议原理与应用培训组高志岩第2页前言本PPT主要介绍了组播协议原理和实际应用,适用于对组播协议有一定了解的工程师和网络维护人员。第3页课程目标通过本课程的学习,您可以掌握如下知识点:组播相关概念IGMP以及IGMPSnooping工作原理组播路由协议组播在实际工程中的应用第4页提纲组播综述IGMP工作原理IGMPSnooping工作原理组播路由协议组播在实际工程中的应用第5页组播综述组播定义:与广播和单播的区别服务器主机单播广播组播第6页组播综述为什么需要组播?随着数据通讯技术的不断发展,传统的数据通讯业务已不能满足人们对信息的需求。视频点播,网络电视,视频会议等点到多点业务已经被广泛的应用起来。解决点到多点的通信,可以通过单播和组播方式来实现.第7页组播综述单播方式与组播方式的对比单播方式组播方式第8页组播综述组播的优势:单播可以通过建立多个点对点的连接来达到点对多点的传输。这种方式将在源点(服务器)与各个接收点建立连接,从服务器开始,就将有多份数据流分别流向分散的接收点。这种方式将加重服务器的负荷,增大对服务器性能的要求;同时还在网络中造成大流量,从而增加网络的负载,导致网络拥塞。组播则不然,发送方仅发一份数据包,此后数据包只是在需要复制分发的地方才会被复制分发,每一个网段中都将保持只有一份数据流。这样就可以减轻服务器的负担,节省网络带宽。第9页组播综述组播体系结构组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议.组成员关系协议包括IGMP(Internet组管理协议).组播路由协议分为域内组播路由协议及域间组播路由协议.域内的组播路由协议又分为密集模式与稀疏模式.域内组播路由协议主要PIM-DM,PIM-SM,DVMRP等协议.第10页组播综述组播IP地址:组播地址范围224.0.0.0-239.255.255.255保留组播地址224.0.0.0-224.0.0.255本地管理组播地址239.0.0.0-239.255.255.255用户组播地址224.0.1.0-238.255.255.255组播MAC地址:以太网:01-00-5e-xx-xx-xx第11页组播综述常见保留组播IP地址地址含义224.0.0.1Allhost224.0.0.2Allrouter224.0.0.4AllDVMRProuter224.0.0.5AllOSPFrouter224.0.0.6AllOSPFDR(DesignatedRouter)224.0.0.9AllRIPv2router224.0.0.10AllEIGRProuter224.0.1.1NTP224.0.0.13AllPIMrouter第12页组播综述IP地址到MAC地址的映射例如,组播IP地址224.10.10.10就映射为组播MAC地址01-00-5e-0a-0a-0a11100000000100000000010111100IP组播地址后23位映射到MAC地址中32位IP组播地址48位MAC地址(以太网/FDDI)此5位地址不作映射,因此32个IP组播地址映射成一个MAC地址第13页提纲组播综述IGMP工作原理IGMPSnooping工作原理组播路由协议组播在实际工程中的应用第14页IGMP工作原理为什么需要IGMP?组播服务器与需要接收组播信息的主机在同一个子网内服务器主机只要主机开启了组播流接收程序,都可以收到组播数据主机第15页IGMP工作原理为什么需要IGMP?组播服务器与需要接收组播信息的主机不在同一个子网内服务器主机主机路由器收到服务器发送的组播报文,将其隔离在服务器所在的子网内需要接收组播数据的主机无法接收到组播数据需要一种机制,能够让路由器将组播数据转发到有接收需求的主机所在的子网第16页IGMP工作原理IGMP定义IGMP:Internet组管理协议,用于主机与路由器之间交互信息的一种协议所有要加入组播组的主机和所有连接到有组播主机的子网中的路由器都必须使用IGMPIGMP消息不能被路由器转发,只能限制在本地网段内部。IGMP的TTL参数永远是1,保证了IGMP的使用范围。IGMP的版本目前有V1/V2/V3三种。第17页IGMP工作原理IGMP报文分类(以IGMPv2为例):主机使用的IGMP报文:MembershipReportLeaveGroup路由器使用的IGMP报文:GeneralQueryGroup-SpecificQuery第18页IGMP工作原理MembershipReportMembershipReport用于指示一台主机希望加入一个组播组当主机首次加入到一个组时,它会主动向组发送MembershipReport。MembershipReport还用来响应本地路由器发出的GeneralQuery和Group-SpecificQuery消息MembershipReport组播数据主机主机GeneralQueryGengralQueryGeneralQueryMembershipReport第19页IGMP工作原理LeaveGroup当主机退出一个组时,它用LeaveGroup消息通知本地的路由器。这个消息包含有退出的组的地址,但与MembershipReport消息不同的是,Leavegroup消息是发向“子网中的所有路由器”地址224.0.0.2的,而MembershipReport是发向想要加入的组播组地址。主机主机不再需要接收组播数据LeaveGroup停止向该子网转发组播数据第20页IGMP工作原理GeneralQuery路由器通过GeneralQuery消息向与其连接的所有子网进行轮询来发现是否有组员存在,并在子网中没有组员时检测到这一情况GeneralQuery消息被发向“子网中的所有主机”224.0.0.1这个地址,而且不涉及任何一个具体组播组.主机主机如果一台组播路由器在3次查询的时间间隔里没有收到一个特定子网的MembershipReport消息,那么这个路由器将宣布这个子网中没有组员,不再向这个子网发送组播数据。GeneralGuery没有响应没有响应一定时间内仍无人响应,则不再像该子网转发组播数据第21页IGMP工作原理Group-SpecificQuery路由器的Group-SpecificQuery消息是根据主机发出的LeaveGroup消息而发出的,当路由器收到LeaveGroup消息时,必须判断子网中是否仍有组员存在。目的地址为该发出LeaveGroup的主机所在组的组地址。不需要接收组播数据LeaveGroupGroup-SpecificQuery还需要接收Membershipreport仍然向该子网发送组播数据第22页IGMP工作原理报告抑制MembershipReport想加入224.5.5.5也想加入224.5.5.5收到了关于224.5.5.5的Report,知道子网中还有主机希望加入224.5.5.5于是抑制了关于224.5.5.5的MembershipReport的发送第23页IGMP工作原理报告抑制GeneralGueryMembershipReport还需要接收224.5.5.5组播数据还需要接收224.5.5.5组播数据收到了关于224.5.5.5的report抑制了224.5.5.5的MembershipReport的发送第24页IGMP工作原理查询路由器选举当子网中有多个路由器时,选举查询者的规则就十分简单:有较小的IP地址的路由器成为查询者。所有子网中现有的路由器在收到新路由器的GeneralQuery消息后,就检查源地址。如果它的IP地址的值更小,则会继续发送查询。当新的路由器收到其中一个查询,并发现这台路由器有较小的IP地址时,它就变成非查询者。非查询者将旁听整个IGMP过程。所有非查询路由器启动一个查询计时器,无论何时只要收到来自IGMP的GeneralQuery消息,计时器被复位。默认的计时器持续时间是查询间隔的两倍。如果查询计时器满,就认为IGMP查询有问题,选择查询者过程重新开始。第25页IGMP工作原理IGMPv3简介在IGMPv3中主要增加了Group-and-Source-SpecificQuery,它能允许一个组不仅用组地址进行识别,而且也能被源地址识别。当一个组有多个源时,IGMPv3路由器可以根据组员的请求对源进行过滤。第26页提纲组播综述IGMP工作原理IGMPSnooping工作原理组播路由协议组播在实际工程中的应用第27页IGMPSnooping工作原理为什么需要IGMPSnooping?发送224.5.5.5的MembershipReport开始向该子网发送224.5.5.5的组播数据并不需要接收224.5.5.5的组播数据需要接收224.5.5.5的组播数据需要一个机制,让二层交换机只把组播数据转发给需要接收组播的主机.浪费了带宽第28页IGMPSnooping工作原理IGMPSnooping的作用:IGMPSnooping能使二层交换机将组播数据只朝需要接收的用户所在的端口转发,从而不会影响到其它的用户。发送224.5.5.5的MembershipReport开始向该子网发送224.5.5.5的组播数据并不需要接收224.5.5.5的组播数据需要接收224.5.5.5的组播数据第29页IGMPSnooping工作原理IGMPSnooping的工作过程:发送224.5.5.5的MembershipReport开始向该子网发送224.5.5.5的组播数据需要接收224.5.5.5的组播数据根据收到的224.5.5.5的MembershipReport,生成组播MAC地址表.MAC端口01-00-5e-05-05-051第30页IGMPSnooping工作原理IGMPSnooping的工作过程:MAC端口发送224.5.5.5的LeaveGroup向该子网发送224.5.5.5的组播数据不需要接收224.5.5.5的组播数据01-00-5e-05-05-051停止向该子网发送224.5.5.5的组播数据第31页IGMPSnooping工作原理消息报告抑制问题如果主机收到了其他主机发出的MembershipReport后,就抑制了自己的MembershipReport的发送,这样的话就会造成交换机的组播MAC地址表里不会出现关于该主机所在的端口的转发信息.在开启IGMPSnooping之后,交换机的CPU在收到MembershipReport时,不会将Report报文转发到其他接口,这样其他主机就无法收到其他主机发出的MembershipReport报文,不会产生消息报告抑制现象,从而保证交换机组播MAC地址表的完整.MembershipReport抑制了MembershipReport的发送无法将相应端口添加到组播MAC表中第32页IGMPSnooping工作原理取消消息抑制报告带来的问题如果存在组播路由器,但是由于IGMPSnooping抑制了消息报告,那么MembershipReport报文将无法发送到组播路由器,因此组播路由器将无法将组播数据发送到相应的子网.解决办法:采用路由连接口,设置与路由器相连的端口为路由连接口需要接收224.5.5.5的组播数据发送224.5.5.5的MembershipReport第33页IGMPSnooping工作原理IGMPSnooping工作模式:IVGL:在该模式下,各VLAN间的组播流是相互独立的.主机只能朝与自己处于同一个VLAN的路由连接口请求组播.SVGL:在该模式下,主机可以跨VLAN申请组播流.指定一个MulticastVLAN,在该VLAN收到的组播数据流可以向其他VLAN的主机转发.Vlan10Vlan20vla