《IGMP基本知识.docx》由会员分享,可在线阅读,更多相关《IGMP基本知识.docx(20页珍藏版)》请在第一文库网上搜索。
1、IGMP基本知识目录目录11.IGMP 常识2?协议简介2?协议版本2?协议变种3?版本改进3?工作过程41.1. IGMPvl工作机制41.2. IGMPv2 的改进41.3. IGMPv3 的改进5778. IGMP基础知识问答71.1. IGMPv2主机使用哪几种类型的消息、? 71.2. 如何防止本地路由器发送General Query消息后子网内所有主机都进行回复? 71.3. Leave Group 消息用于什么情况? 784 1GMPv2路由器使用哪几种类型的消息、? 78.5. 描述 General Query 消息。78.6. 描述 Group-Specific Query
2、消息。 887如何解决多路访问网络中存在多台路由器时都发送查询的问题?.88.8. IGMPvl和IGMPv2的区别是什么? IGMPvl的缺点是什么? 88.9. IGMPvl和IGMPv2如何共存于同一个子网中? 98.10. IGMPvl和IGMPv2消息格式的区别是什么? 9?组播协议体系9?思维导图10L IGMP常识当前IGMP协议分为三个版本,IGMPvl、v2、v3o版本越高,提供的功能越丰富,同时也越复杂。现在应用最广泛的是IGMPv2版本。实际应用的时候,需要配合多播路由协议使用(路由器方)。IGMP是IPV4下面的组管理协议,IPV6下面的叫做MLD协议。IGMP: In
3、ternet Group Management Protocol (Internet 组管理协议)协议简介Internet组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。它规定了处于不同网段的主机如何进行多播通信,其前提条件是路由器本身要支持多播。IGMP信息封装在IP报文中,其IP的协议号为2O它用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。igmp不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。所有参与组播的主机必须实现igmp。参与ip组播的主机可以在任意位置、任意
4、时间、成员总数不受限制地加入或退出组播组。组播路由器不需要也不可能保存所有主机的成员关系,它只是通过igmp协议了解每个接口连接的网段上是否存在某个组播组的接收者,即组成员。而主机方只需要保存自己加入了哪些组播组。igmp在主机与路由器之间是不对称的:主机需要响应组播路由器的igmp查询报文,即以igmp membership report报文响应;路由器周期性发送成员资格查询报文,然后根据收到的响应报文确定某个特定组在自己所在子网上是否有主机加入,并且当收到主机的退出组的报告时,发出特定组的查询报文(igmp版本2),以确定某个特定组是否已无成员存在。?.协议版本IGMP具有三种版本,即IG
5、MPvk v2和v30IGMPvl:主机可以加入组播组。没有离开信息、(leave messages)。路由器使用基于超时的机制去发现其成员不关注的组。IGMPv2:该协议包含了离开信息,允许迅速向路由协议报告组成员终止情况,这对高带宽组播组或易变型组播组成员而言是非常重要的。IGMPv3:与以上两种协议相比,该协议的主要改动为:允许主机指定它要接收通信流量的主机对象。来自网络中其它主机的流量是被隔离的。IGMPv3也支持主机阻止那些来自于非要求的主机发送的网络数据包。?.协议变种IGMP协议变种有:距离矢量组播路由选择协议(DVMRP: Distance Vector Multicast R
6、outingProtocol)IGMP 用户认证协议(IGAP: IGMP for user Authentication Protocol)路由器端 口 组管理协议(RGMP: Router-port Group Management Protocol)编辑本段协议结构IGMP v3必须实现5种基本信息类型且与以前的版本相兼容:0x11:会员查询0x22:第3版本会员报告0x12:第1版本会员报告0x16:第2版本会员报告0x17:第2版本离开组?.版本改进igmp版本2对版本1所做的改进主要有:(1)共享网段上组播路由器的选举机制共享网段表示一个网段上有多个组播路由器的情况。在这种情况下,
7、由于此网段上运行igmp的路由器都能从主机那里收到成员资格报告消息,因此,只需要一个路由器发送成员资格查询消息、,这就需要一个路由器选举机制来确定一个路由器作为查询器。在igmp版本1中,查询器的选择由组播路由协议决定;igmp版本2对此做了改进,规定同一网段上有多个组播路由器时,具有最小ip地址的组播路由器被选举出来充当查询器。(2)igmp版本2增加了离开组机制在igmp版本1中,主机悄然离开组播组,不会给任何组播路由器发出任何通知。造成组播路由器只能依靠组播组响应超时来确定组播成员的离开。而在版本2中,当一个主机决定离开时,如果它是对最近一条成员资格查询消息作出响应的主机,那么它就会发送
8、一条离开组的消息。(3)igmp版本2增加了对特定组的查询在igmp版本1中,组播路由器的一次查询,是针对该网段下的所有组播组。这种查询称为普遍组查询。在igmp版本2中,在普遍组查询之外增加了特定组的查询,这种查询报文的目的ip地址为该组播组的ip地址,报文中的组地址域部分也为该组播组的ip地址。这样就避免了属于其它组播组成员的主机发送响应报文。(4)igmp版本2增加了最大响应时间字段igmp版本2增加最大响应时间字段,以动态地调整主机对组查询报文的响应时间。?.工作过程6. 1. IGMPvl工作机制IGMPvl主要基于查询和响应机制来完成对组播组成员的管理。当一个网段内有多台组播路由器
9、时,由于它们都能从主机那里收到IGMP成员关系报告报文(Membership Report Message),因此只需要其中一台路由器发送IGMP查询报文(Query Message)就足够了。这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为IGMP查询器。对于IGMPvl来说,由组播路由协议(如PIM)选举出唯一的组播信息转发者DR(Designated Router,指定路由器)作为IGMP查询器。IGMPvl没有专门定义离开组播组的报文。当运行IGMPvl的主机离开某组播组时,将不会向其要离开的组播组发送报告报文。当网段中不再存在该组播组的成员后,IGMP路由器将收
10、不到任何发往该组播组的报告报文,于是IGMP路由器在一段时间之后便删除该组播组所对应的组播转发项。7. 2. IGMPv2 的改进与IGMPvl相比,IGMPv2增加了查询器选举机制和离开组机制。1)查询器选举机制在IGMPvl中,当某共享网段上存在多个组播路由器时,由组播路由协议(如PIM)选举的指定路由器充当查询器。在IGMPv2中,增加了独立的查询器选举机制,其选举过程如下:(1)所有IGMPv2路由器在初始时都认为自己是查询器,并向本地网段内的所有主机和路由器发送IGMP普遍组查询(General Query)报文(目的地址为:224.0.0.1);(2)本地网段中的其它IGMPv2路
11、由器在收到该报文后,将报文的源IP地址与自己的接口地址作比较。通过比较,IP地址最小的路由器将成为查询器,其它路由器成为非查询器(NonQuerier);(3)所有非查询器上都会启动一个定时器(即其它查询器存在时间定时器OtherQuerier Present Timer)o在该定时器超时前,如果收到了来自查询器的IGMP查询报文,则重置该定时器;否则,就认为原查询器失效,并发起新的查询器选举过程。2)离开组机制在IGMPvl中,主机离开组播组时不会向组播路由器发出任何通知,导致组播路由器只能依靠组播组成员查询的响应超时来获知组播组成员的离开。而在IGMPv2中,当一个主机离开某组播组时:(1
12、)该主机向本地网段内的所有组播路由器(目的地址为224.0.0.2)发送离开组(Leave Group)报文;(2)当查询器收到该报文后,向该主机所声明要离开的那个组播组发送特定组查询(Group-Specific Query)报文(目的地址字段和组地址字段均填充为所要查询的组播组地址);(3)如果该网段内还有该组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间(Max Response Time)内发送成员关系报告报文;(4)如果在最大响应时间内收到了该组播组其它成员发送的成员关系报告报文,查询器就会继续维护该组播组的成员关系;否则,查询器将认为该网段内已无
13、该组播组的成员,于是不再维护这个组播组的成员关系。8. 3. IGMPv3 的改进IGMPv3在兼容和继承IGMPvl和IGMPv2的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。1)主机控制能力的增强IGMPv3增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),使主机在加入某组播组G的同时,能够明确要求接收或拒绝来自某特定组播源S的组播信息。当主机加入组播组时:若要求只接收来自指定组播源如SI、S2、的组播信息,则其报告报文中可以标记为 INCLUDE Sources(Sl, S2, );若拒绝接收来自指定组播源如SI、S2、的组播信息,则其报告报文中可以标记
14、为 EXCLUDE Sources(Sl, S2, )。2)查询和报告报文功能的增强(1)携带源地址的查询报文IGMPv3不仅支持IGMPvl的普遍组查询和1GMPv2的特定组查询,而且还增加了对特定源组查询的支持:z普遍组查询报文中,既不携带组地址,也不携带源地址;z特定组查询报文中,携带组地址,但不携带源地址;Z特定源组查询报文中,既携带组地址,还携带一个或多个源地址。(2)包含多组记录的报告报文IGMPv3报告报文的目的地址为224.0.0.22,可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。组记录可以分为多种类型,如下:ISN:表示组播组与组播源列表之间的
15、过滤模式为INCLUDE,即只接收从指定组播源列表发往该组播组的组播数据。IS_EX:表示组播组与组播源列表之间的过滤模式为EXCLUDE,即只接收从指定组播源列表之外的组播源发往该组播组的组播数据。zTOJN:表示组播组与组播源列表之间的过滤模式由EXCLUDE转变为INCLUDEoTO_EX:表示组播组与组播源列表之间的过滤模式由INCLUDE转变为EXCLUDEoALLOW:表示在现有状态的基础上,还希望从某些组播源接收组播数据。如果当前的对应关系为INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的对应关系为EXCLUDE,则从现有组播源列表中删除这些组播源。BLOCK:表示在现有状态的基础上,不再希望从某些组播源接收组播数据。如果当前的对应关系为INCLUDE,则从现有组播源列表中删除这些组播源;如果当前的对应关系为EXCLUDE,则向现有组播源列表中添