ImageVerifierCode 换一换
你正在下载:

IGMP V2.docx

[预览]
格式:DOCX , 页数:18 ,大小:27.16KB ,
资源ID:6410286      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6410286.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(IGMP V2.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

IGMP V2.docx

1、IGMP V2目录1.关键字定义 32.介绍 32.1.类型 32.2.最大的响应时间 42.3.校验字 42.4.组地址 42.5.其它域: 43.协议描述 44.与IGMPv1路由器的兼容性 65.和IGMPv1主机的兼容性 66.主机状态报文 67.路由器状态报文 98.定时器表和默认值 138.1.健壮性变量 138.2.查询周期 138.3.查询响应周期 138.4.组成员周期 138.5.其它的查询存在周期 148.6.初始查询周期 148.7.初始查询周期 148.8.最后的成员查询周期 148.9.最后成员计数 148.10.非请求报告周期 148.11.版本1路由器存在超时

2、149.消息目的地 1511.致谢 1612.参考 1613.附录I-基于IGMPv1的改变 1614.作者地址 1715.版权声明 171.关键字定义关键字MUST,MUSTNOT,REQUIRED,SHALL,SHALLNOT,SHOULD,SHOULDNOT,RECOMMENDED,MAY,andOPTIONAL均在RFC2119RFC2119有详细说明。2.介绍Internet组管理协议(IGMP)在IP主机上应用,并向任一个邻近的路由器报告他们的组播成员关系。该备忘录仅描述了IGMP在主机和路由器之间如何确定其组成员关系,在此路由器和组播成员主机的行为相近。IGMP也用于两个路由器之

3、间,但不在此进行讨论。和ICMP一样,IGMP也是IP的一个组成部分。要求在所有想接收IP组播的主机都进行实现。IGMP消息封装在IP报文中,其IP的协议号为2。所有在该文档中说明了的IGMP消息均会用TTL为1进行传递,并在IP头中包括了IP路由检测选项RFC2113。所有和主机相关的IGMP消息见下:012301234567890123456789012345678901+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Type|MaxRespTime|Checksum|+-+-+-+-+-+-+-+-+-+

4、-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|GroupAddress|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+2.1.类型有3种IGMP消息和主机与路由器的交互有关:0x11=成员关系查询有两个成员关系查询的子类型:-一般查询,用于了解一个组中是否有成员在相邻的网络中。-特定组查询,用于了解在相邻的网络中特定的组是否有成员。这两个消息由组地址进行区分,详见第1。4章。成员查询消息则类似于Query。0x16=版本2成员关系报告。0x17=离开组为了和IGM

5、Pv1兼容,还有另外的一个附加的消息类别:0x12=版本1成员报告。该文档中的成员关系报告实指“报告”。当没有定义版本号时,则同时适用于两个版本。一个不能识别的消息类型应将其忽略。新的消息类型会用新版本的IGMP,组播路由协议或其它的用途来使用。2.2.最大的响应时间最大的响应时间域仅在成员关系查询中有效。规定了在发送一个回应报文时最大的允许时间,(其单位为1/10秒)。在所有其它的消息中,会由发送者置为0,而接收者则忽略该域。改变该设置可以允许IGMPv2路由器调整离开延时leavelatency(最后一个成员离开组的时刻和通知路由协议该处已不在存在成员时的这一段时间。),详见第7.8节。也

6、允许调整子网上的IGMP的突发流量,详见第7.3节。2.3.校验字校验字是IGMP消息长度(IP包的整个有效负载)的16位检测。该域设为0,在计算校验字时将该域包在一起进行计算。当传送包的时候,必须计算该校验字并插入到该域中去。当接收包的时候,该校验字必须在处理该包之前进行检验。2.4.组地址在成员查询消息中,发送一个通常的查询时组地址域应设为0,当发送一个特定组查询时,则应设置组的地址。在成员报告或离开组的消息中,组的地址域保留了要报告或要离开的地址。2.5.其它域:注意IGMP消息可能会大于8个字节,尤其是将来向后兼容的IGMP版本。有 一点必须注意,一个IGMPv2的实现在处理包的时候必

7、须忽略第一个8位字节。但是,IGMP的校验总是在整个IP的有效负载上进行计算的,而不是正好在首先的8字节上。3.协议描述注意:定时器的数值将在该文档的后面进行描述。定时器和计数器的名字都写在方括号中。术语interface有时会用于该文档中,(如果一个路由器在一个网络上有多个物理接口.)意思是说邻接网络的主接口.主机,另一方面来说,需要在所有的的成员加入的接口上来实他们的功能。组播路由器使用IGMP来了解在他们所有的邻接物理网络上哪个组拥有成员。组播路由器保留有一个组播组成员的列表,和一个针对每个成员的定时器。Multicastgroupmemberships指在一个指定的邻接网络上至少有一个

8、成员存在的组播组,而不是所有成员的列表。考虑到其所有的邻接网络,一个组应该是两个角色中的一个:查询者或非查询者。在每个物理网络上仅能有一个查询者。在每个邻接的网络上,开始时所有的路由器都做为一个查询者。如果一个组播路由器从一个拥有低IP地址的路由器听到了查询消息,则在该网络上它必须作为一个非查询者。如果一个路由器没有从其他的路由器那听到查询消息(在查询周期内),则会继续做为一个查询者。该路由器作为一个查询者周其性的在每个邻接的(查询周期)网络上发出通常的查询消息,请求得到成员信息。在开始时,路由器应该发送初始查询计数间隔短的一般查询消息,从而可以快速的可靠的确定成员信息。一般查询的组地址为0,

9、发给所有系统的组播组(224.0.0.1),有最大的查询响应时间QueryResponseInterval。当一个主机接收到了普通的查询,它会给每个组(有查询请求到达并有成员存在的端口,包括所有系统平台的组)都设一个延时定时器,每一个定时器都设为一个不同的随机值,该值由主机上所能有的最高时钟频率产生,范围从0,到查询包中所定义的最大响应时间。当一个主机接收到了一个特定组的查询,则会将延时定时器设为从0到最大响应时间的一个随机值。如果定时器已经运行了,则如果所要求的最大响应时间小于当前运行的定时值所剩部份时,重置该定时器。当组的定时器到时后,主机组播一个版本2的成员报告到该组中,其IP中TTL的

10、值为1。如主机接收到了另一个主机的报告(版本为1或2),而其本身的定时器还没有到时,则它会停止其特定组的定时器,且不发送报告,这样就减少了重复的报告。当路由器接收到了报告,它就会把该组报告加入到一个组播组成员列表中,并且会为其成员关系设一个值为组成员生存周期的定时器。重复的报告会导致该定时器的刷新。如果在定时器到时之前没有接收到一个特定组的报告,路由器则会假定没有本地的成员,它也不再需要在邻接的网络上为该组转发组播消息了。当一个主机加入了一个组播组,则应该立即发送一个非请求的版本2的成员关系报告给组,以防它是网络上该组的第一个成员。初始的成员报告可能会丢失或会受到损害,为了防止此种情况,推荐在

11、短的间隔时间内报告一次或两次(非请求报告间隔)。(一种简单的方法可以解决该问题。即通过发送版本号为2的初始成员报告,就好象是从一个组接收到了特定组查询的消息一样,并设置适当的定时器)。当一主机离开一个组播组,如果它是最后一个主机,除它外没有其它的机器来报告成员关系了,则它应该发送一条离开组的消息给所有路由器,地址为组播组(224.0.0.2),如它并不是最后一个回答查询的主机,它可以不发送消息,就好象另一个在子网中的成员一样。这样也可以减少了一些数据流量。一个没有足够存储器的主机不能记住是否它是最后一个主机,它离开一个组时,它总是会发送一条离开组的消息。为了和早期的版本标准的兼容,路由器应接收

12、该条离开组的消息。离开组消息发布给所有的路由器组,因为其它的组成员不必知道一个主机是否离开了该组,但它不会破坏该离开组的消息。当查询者在其接口上接收到了组成员离开组的消息之后,它发送最后成员查询计数特定组成员查询消息最后成员查询间隔给正离开的组。这些特定组查询有最大的响应时间(设为最后成员查询间隔)。如果在最后查询的响应时间之后,没有报告者接到消息,路由器则会假定该组没有本地的成员。在该时间内,任一个查询者到非查询者的传送都会忽略,一个路由器会继续发送特定组的查询。对于接收端口上没有组成员时,非查询者必须忽略离开组的消息,而查询者则是应该忽略离开组的消息。当查询者接收发一个特定组查询消息,如果

13、它的组成员定时器大于最后成员查询计数消息中所定义的最大响应时间,它会将其组成员计数为该值。4.与IGMPv1路由器的兼容性在一个路由器没有升级到IGMPv2的子网上,IGMPv2主机可能会被取代。如下的请求为IGMPv1路由器会发送正常的查询消息,其响应时间设为0。这必须理解为数值100(为10秒钟点)。IGMPv1路由器期望版本1的成员报告对应于它的查询,而不会注意版本2的成员报告。因此,对于每个接口都必须保留一个状态变量,描述在接口中的组播查询者是运行的IGMPv1还是IGMPv2。该变量必须由在最后几秒内是否听到IGMPv1查询来决定。并必须用来决定用什么类型的成员报告来发送非请求的成员

14、报告以及对查询响应的成员报告。一个IGMPv2主机可以减少使用IGMPv1查询者所在网络上的离开组消息。一个IGMPv2路由器可被放置在至少有一个路由器没有被升级为IGMPv2的子网上。,有如下的要求:如果存在任一个IGMPv1路由器,查询者必须使用IGMPv1.IGMPv1的使用必须有组织的配置,就好象没有可靠的方法来动态决定在网络上是否有IGMPv1路由器存在一样。其实现须提供给系统管理者一个方法来打开这些路由器上IGMPv1的使用。其配置必须默认为IGMPv2。在IGMPv1模式中,路由器必须发送最大厦响应时间为0的周期性查询。它们必须在接收到IGMPv2查询时报警,尽管这些报警会受速率

15、限制。如果一个路由器没有显式地配置为使用IGMPv1,且收到了一个IGMPv1查询,它应该在日志上写上一个警告。这些警告必须有速率限制。5.和IGMPv1主机的兼容性一个IGMPv2主机可以被放置于有一些主机没有被升级为IGMPv2的子网上。如下的必要条件为:主机必须允许它的成员报告可被其它的版本1或版本2的成员报告所压制。一个IGMPv2主机可以被放置于有一些主机没有被升级为IGMPv2的子网上。如下的必要条件为:主机必须允许它的成员报告可被其它的版本1或版本2的成员报告所压制。如果一个路由器收到了一个版本为1的成员报告,它必须设置一个定时器来注明存在一个版本1的主机,该主机是它接收到报告的

16、组中的成员。该计时器应和组成员时间间隔。如果版本1主机声明为一个特定的组,一个路由器必须忽略任一个它所接收到的离开该组的消息。6.主机状态报文主机的行为正式上由如下的传送报文状态定义。考虑到任一个单个的IP组播组在任一个单一的网络接口上,主机可以为三个可能状态中的一个:-无成员状态,当该主机不属于接口上的组时。这是一个对于所有的网络接口上的所有成员来说,是一个初始的状态,它不要求在主机上进行存储。滞留成员状态,当该主机属于在此接口上的该组时,且对于成员关系有一个报告延迟定时器。-空闲成员状态,当该主机属于该接口上的组时,且对于那个成员关系没有报告定时器正在运行。有五个明显的事件,能引起IGMP

17、状态的改变:-加入组发生时间。当主机决定加入该接口上的一个组时,它会发生。它仅发生在无成员状态时。-离开组发生时间。发生在主机决定离开此接口上的该组时,它仅发生在滞留成员以及空闲成员状态时。收到的查询发生时间。发生在主机接收到一个有效的一般组成员查询消息,或者一个有效的特定组成员查询消息。为了使其有效,查询消息必须至少为8个字节长,并且有正确的IGMP校验字。在IGMP头中的组地址必须是0(对于一般的查询)或者为一个有效的组播地址(对于特定组的查询)。一个特定组的查询应用于接收到查询的接口上所有的成员关系。对于在非成员状态中的成员关系,查询会被忽略。-收到的报告发生时间。发生在主机接收到一个有

18、效的IGMP成员报告消息(版本1或版本2)。为了使其有效,此报告消息必须至少有8个字节长并且有正确的IGMP校验字。一个成员关系报告仅应用于成员关系报告所标识的组中的成员关系,位于接收到成员关系的接口上。对于在非成员或空闲成员状态中的成员关系,会被忽略。-定时器超时发生时间。发生在为接口上组设定的报告延时定时器超时时。它仅会发生在延进成员状态中。所有其它的事件中,例如接收有效的IGMP消息,或者IGMP消息而不只是查询或者是报告,在所有的状态中都会被忽略。这儿有七个可能的反应,对于以上的事件的反应来说:-发送报告对于接口上的组。这类型的报告由接口的状态来决定。该报告消息被发给正被报告的组。-发

19、送离开对于接口上的组。如果该接口的状态说查询者正在运行IGMPv1,该反应应被跳过。如果说我们是最后一个主机的该状态标志被清除,该反应可被跳过。该离开消息被送给所有路由器组(224.0.0.2)。-设置状态,指我们是最后发送报告给该组的主机。-清除状态,指因为我们不是最后发送报告给该组的主机。-开始定时器,为此接口上的组而定。使用一个唯一的选择值(从0到最大的响应时间间隔)延时值,在此最大的响应时间在查询中规定。如果这是一个非请求的报告,该定时器会被设为一个唯一的选择值(从0到最大的响应时间间隔)延时值。-重置定时器对于该接口上的组设为一个新的数值,其延时数值从从0到最大的响应时间间隔)延时值

20、,和开始定时器中所说的一样。-停止定时器对于接口上的该组。在所有如下的状态报文中,每一个状态传送弧都被标以引起该传送的事件,并且,在插入符中,有在传送中的一个反应标识。注意该传送已经被事件引发了;即使该反应是有条件的,该传送仍然发生。_|-|Non-Member|-|_|leavegroup|joingroup|leavegroup|(stoptimer,|(sendreport,|(sendleave|sendleaveif|setflag,|ifflagset)|flagset)|starttimer)|_|_|_|_|-|-|reportreceived|(stoptimer,|clea

21、rflag)|_|-|_|queryreceived|timerexpired|(resettimerif|(sendreport,|MaxRespTime|setflag)|-|_|timerexpires|IGMPv1query|_|received|(settimer)|-|IGMPv1|-|_|IGMPv1queryreceived|(settimer)|-7.路由器状态报文路由器的行为很大程度上由如下的传送提报文所定义。考虑到任一个单一的邻接网络,一个路由器可为两个可能状态中的一个:-查询者,当该路由器设计为在此网络上传送IGMP成员关系查询时。-非查询者,当此处是另一个设为在此网络

22、上传送IGMP成员关系查询的路由器。如下的三个事件能导致路由器改变状态:-查询定时器超时发生在定时器设为查询传送超时时。-从低IP地址的路由器上收到的查询消息发生在从在同一个网络上且有低IP地址的路由器上接收到IGMP成员查询时。-其它的查询者存在定时器超时发生在,当定时器设为提示另一个此网络上拥有低IP地址的查询者超时时。此处有三个反应,可用来响应以上的事件:-启动一般查询定时器针对一个邻接网络。-启动另一个查询者存在定时器针对于该邻接网络其它查询者存在周期。-发送一般查询在邻接网络上发送。一般的查询被发给所有的系统组(224.0.0.1),并且有查询响应周期的最大的响应时间。-_|_gen

23、.querytimer|-|expired|Initial|-|(sendgeneralquery,|-(sendgen.q.,|setgen.q.timer)|setinitialgen.q.|-timer)|Querier|-|Non|-|Querier|-|-|_|queryreceivedfroma|routerwithalowerIP|address|(setotherquerier|presenttimer)|-一个路由器应该在所有的邻接网络上开始于初始状态,并且立即移到查询者状态。另外,为了保持和那些有成员的组的联系,在考虑到任一个位于单个邻接的网络上的单一IP组播组时,一个路由

24、器可处于四个可能状态:-无成员存在状态,当已发送该组播组报告的网络上没有主机存在时。这对于该路由器上所有的组来说是一个初始状态;它不需要路由器的存储。-成员存在状态,当已发送该组播组报告的网络上有一个主机存在时。-版本1成员存在状态,当对于该组已发送版本1成员组报告的网络上有一个主机存在时。-检测成员关系状态,当路由器已接收到了一个离开组消息,今明两天没有听到针对组播组的成员报告。此处有六个明显的能导致路由器状态改变的事件:-版本v2报告收到发生在当路由器接收到针对该接口上该组的版本2成员关系报告时。为了有效,该报告消息必须至少有8个字节长,并且必须有正确的IGMP检测字。-版本v1报告收到发

25、生在当路由器收到了针对该接口上该组的版本1的成员报告。应用了同样合法的请求。-离开收到发生在当路由器接收到针对该接口上的该组的IGMP组离开消息时。为使其有效,此离开组的消息必须至少有8个字节长,并且必须有正确的IGMP校验字。-定时器超时发生在当定时器为一个组成员设置后超时时。-重传定时器超时发生在为重传一个特定组查询的定时器超时时。-版本v1主机定时器超时发生在当为提示版本1的主机作为组成员存在的定时越野时。此处有六个可能的反应,它可能对以上的事件反应:-开始定时器针对接口上的组成员-也重置定时嚣为其初始值组成员生存期如果该定时器当前正在运行。-开始定时器*针对接口上的的组成员-该替代的响

26、应设此计时器为最后的组成员生存期*最后的成员查询计数如果该路由器是一个查询者,或是包中的最大的响应时间*最后的成员查询计数如该路由器是一个非查询者。-开始重传定时器针对于该口上的组成员最后的成员查询周期。-开始版本1主机定时器针对于该接口上的组成员,也重置该定时器为其初始值组成员周期如果该定时器当前正在运行。-发送特定组查询针对于邻接网络上的组。特定组查询被发给所查询的组中,并且有着最后成员查询周期的最大的响应时间。-通知路由通知路由协议在此连接的网络上该组的成员。-通知路由-通知路由协议在此连接的网络上不在有该组的成员。对于路由器查询状态的状态报文如下:_-|Present|-|v1reportrecd|-|(notifyrouting+,|_|rexmttimer|starttimer,|expired|

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1