1、Page0,修订记录,本页不打印,IGMP协议原理,Page2,前 言,IGMP(Internet Group Management Protocol)作为因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。,Page3,培训目标,学完本课程后,您应该能:理解IGMP协议原理掌握IGMP配置了解IGMP各版本区别,Page4,目 录,IGMP协议概述IGMP协议工作机制,Page5,IGMP协议介绍,IGMP 协议运行于主机和与主机直接相连的组播路由器之间。IGMP工作机制:接收者主机向所在的共享网络报告组
2、成员关系。查询器周期性地向该共享网段发送组成员查询消息。接收者主机接收到查询消息后进行响应以报告组成员关系。网段中的组播路由器依据接收到的响应来刷新组成员的存在信息。,Page6,组播协议分层体系,IGMP,PIM-DM,PIM-SM,DVMRP,Others,MSDP,GRE/TUNNEL,MVPN,Page7,IGMP协议发展,Page8,目 录,IGMP协议概述IGMP协议工作机制,Page9,IGMPv1报文格式,版本版本字段包含IGMP版本标识,因此设置为1。类型成员关系查询 (0x11)成员关系报告 (0x12)组地址当一个成员关系报告正被发送时,组地址字段包含组播地址。当用于成员
3、关系查询时,本字段为0,并被主机忽略。,Page10,IGMPv1组成员加入,主机发送IGMP成员关系报告,表示希望加入组播组。,Page11,IGMPv1查询与响应,IGMPv1查询器,PC3,IGMP查询器周期性地向子网内所有主机(224.0.0.1)发送成员关系查询信息。,PC2首先发送成员关系报告。(目的地址224.0.0.1),Page12,IGMPv1响应抑制机制,IGMPv1查询器,PC3,IGMP查询器周期性地向子网内所有主机(224.0.0.1)发送成员关系查询信息。,其他成员监听到报告后抑制报告发送。,PC2首先发送成员关系报告。(目的地址224.0.0.1),Page13
4、,IGMPv1组成员离开,PC2,PC1,RTA,PC3,主机悄悄离开组(不发送报告)。,路由器发送成员关系查询信息,路由器没有收到该组的IGMP报告,则再发送成员关系信息(共3次查询),3次查询仍没有收到响应,则路由器认为没有组播成员。,Page14,IGMPv2报文格式(1/2),类型成员关系查询(0x11)常规查询:用于确定哪些组播组是有效的,即该组是否还有成员在使用,常规查询地址由全零表示; 指定组查询:用于查询特定的组播组是否还有组成员。 版本2成员关系报告(0x16)版本1成员关系报告(0x12)离开组消息(0x17),Page15,IGMPv2报文格式(2/2),最大响应时间以0
5、.1秒为单位默认值是100,即10秒。校验和组地址在成员查询消息中,发送一个常规查询时组地址域设为0,当发送一个特定组查询时,则应设置组的地址。在成员报告或离开组的消息中,组的地址域保留了要报告或要离开的地址。,Page16,IGMPv2组成员加入,当一个主机加入一个组播组,则应该立即发送一个或多个成员关系报告给组播组。,Page17,IGMPv2查询与响应,与IGMPv1相同,存在抑制机制。增加了最大响应时间。,IGMP查询器,PC3,Page18,IGMPv2查询器选举,RTA,192.168.1.1,192.168.1.2,RTB,Page19,IGMPv2成员离开,PC2,PC1,RT
6、A,PC3,主机向224.0.0.2发送离开组消息,特定组查询224.1.1.1,路由器向这个组(224.1.1.1)发送特定组查询,在查询的最大响应时间内(默认为1秒)没有收到该组的报告,再次发送特定组查询,2次特定组查询之后仍没有收到成员报告,则认为没有组播成员。,Page20,IGMPv1与V2的互操作V2主机与V1路由器,IGMPv1,IGMPv2,IGMPv1,IGMPv1,RTA,Page21,IGMPv1与V2的互操作V1主机与V2路由器,IGMPv2,IGMPv2,IGMPv1,RTA,主机发送版本1的报告,版本2路由器设置一个与组相关的考虑到版本1主机存在的倒计时器,用于通知
7、局域网有一个版本1的主机是组成员。,Page22,PC3,PC1,PC2,RTA,IGMPv1,IGMPv2,IGMPv1,IGMPv1,RTB,IGMPv2,IGMPv1,IGMPv1与V2的互操作混合版本,Page23,IGMP基本配置,RTAmulticast routing-enable RTAinterface ethernet0/0RTA-Ethernet0/0ip address 172.16.1.3 255.255.255.0 RTA-Ethernet0/0igmp enableRTA-Ethernet0/0igmp version 2,RTBmulticast routing
8、-enable RTBinterface ethernet0/1RTB-Ethernet0/1ip address 172.16.1.1 255.255.255.0 RTB-Ethernet0/1igmp enableRTB-Ethernet0/1igmp version 2,Page24,IGMP配置验证,display igmp interface Ethernet0/0 (172.16.1.1):IGMP is enabledCurrent IGMP version is 2Value of query interval for IGMP(in seconds): 60Value of
9、other querier time out for IGMP(in seconds): 120Value of maximum query response time for IGMP(in secot for IGMP: 2 Value of startup query interval for IGMP(in seconds): 15Value of last member query interval for IGMP(in seconds): 1Value of query timeout for IGMP version 1(in seconds): 400,Page25,IGMP
10、配置验证,RTBdisplay igmp group Total 2 IGMP groups reported on this routerEthernet0/1 (172.16.1.1): Total 2 IGMP Groups reported: Group Address Last Reporter Uptime Expires 239.255.255.250 172.16.1.5 00:08:04 00:02:52 224.1.1.1 00:03:00,Page26,IGMPv3概述,IGMPv3在RFC 3376中说明(尚未得到广泛支持)。服务于Source Specific Mul
11、ticast(SSM)模型允许主机指定接收某些网络发送的某些组播组。增加了主机的控制能力,不仅可以指定组播组,还能指定组播的源。,Page27,IGMPv3工作机制,PC3,PC1,PC2,RTA,路由器周期性的向224.0.0.1发送查询,每个主机都发送报告,指出希望加入或拒绝某些组播组,Page28,IGMPv3改进之处,Source = 1.1.1.1Group = 224.1.1.1,Source = 2.2.2.2Group = 224.1.1.1,R1,R2,R3,PC1,组224.1.1.1的成员,PC1 希望接收来自S = 1.1.1.1 而非来自 S = 2.2.2.2的数据通过IGMPv3, 指定源可以剪枝掉来自S = 2.2.2.2 的数据,Page29,IGMP版本比较,Page30,问 题,IGMPv1提供哪两种类型的报文?IGMPv2与IGMPv1相比较增加了哪些功能?,