您的位置:首页 > 理论基础 > 计算机网络

IGMPv1,v2,v3总结

2018-01-29 21:43 281 查看
 本章主要阐述IGMPv1,v2,v3的数据包格式与版本区别
IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责IP 组播成员管理的协议
IGMP通过Query/Report报文维护路由器与用户之间的关系,Query报文默认60s发送一次,默认超时时间为120s(下发Query之后的120s内如果没有收到Report消息,则会删除关于该组的组播路由)

在本文的开头介绍一下前几个常用的保留组播地址的作用

224.0.0.1        所有主机,路由器

224.0.0.2        所有路由器

224.0.0.4        所有 DVMRP路由器

224.0.0.5        OSPF中DR或BDR发送更新与获取更新时所发送的地址

224.0.0.6        DRother向DR,BDR发送更新时所使用的地址

224.0.0.9        RIPv2更新地址

224.0.0.10       EIGRP使用地址

IGMPv1:周期性发送Query包,静默离组,由DR同时担任转发者与查询者

以下将介绍IGMPv1的特性与数据包格式

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Version| Type  |    Unused     |            Checksum         |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                          Group Address                      |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Version---代表IGMP版本号

Type---为1代表Query主机查询,为2代表Query主机响应

Unused---未使用

Checksum---校验和

Group Address:如果是Query则为0.0.0.0,Report包则为用户希望加入的组地址

以下是使用Wireshark抓取的Query包与Report包,先介绍Query包,再介绍Report包



IGMP(2):IGMPv2版本

Source:发出该报文的源

Destination(224.0.0.1):发向所有的主机

Max Resp Time:代表主机必须在10秒内给予Report的回应

Multicast Address(0.0.0.0):因为发送的是查询报文,让用户将想加入的组填写在Report的回包当中

以下介绍Report包



Source:发送该数据包的主机

Destination(224.123.123.123):这里填写224.123.123.123而不填写224.0.0.2的原因是:当路由器向下发送了Query之后,目的是确认自己有没有组成员,当收到一个Report包时,路由器就已经知道自己有组成员,那也就不需要知道其他人的存在了,与此同时,这个网络中属于224.123.123.123这个组的主机也会知道,这个组里还有其他的成员,当主机收到这到来自其他主机关于这个组的Report报文之后,它将抑制自己即将发送的Report报文

Multicast Address(224.123.123.123):告诉路由器1.1.1.2这台主机属于哪个组

IGMPv1

1.静默离组

(1)当一个组成员不在需要组流量后,会默默的断开连接,而不会给路由器发送任何信息,这就有了一个弊端,也就是,如果网络中最后一台主机离线,路由器并没有办法知道主机下线,所以路由器会继续转发组播流量,直到180秒后,才切断组播流量的转发,在IGMPv2中,增加了离组消息

2.DR同时担任转发者与查询者

(1)在这样的一个多路访问的网络中,R1和R2将比较IP地址,IP地址较大的那个选为DR,查询与转发的工作都由R2来完成,这样也就加大了网络的负担,很不均衡,所以在IGMPv2中,增加了查询者的选举

IGMPv2比IGMPv1增加了查询者选举机制和离开组机制

IGMPv2

1.查询者选举机制

(1)在一段多路访问的网络中,所有路由器在初始情况下都认为自己是查询者,并向网络中的所有主机发送IGMP组查询

(2)本地网络中的其他路由器收到该查询报文后,将自己的接口地址与数据包中的源地址进行比较,比较之后,IP地址最小的成为查询者,其他路由器成为非查询者

(3)所有非查询者都会有一个计时器,在定时器所规定的范围内没有收到查询者发出的查询包,则认为查询者失效,并开始重新选举查询者,相反,如果收到查询者发出的查询报文,则重置计时器

2.离开组机制

(1)当一台主机要离开这个组时,会向224.0.0.2(全体路由器)发送离开组(Leave Group)报文

(2)当路由器收到该报文后,会向主机离开的那个组发送一个特定组查询报文,会发送2个,每个包最大响应时间为1s,成员收到该报文之后,必须在1秒内做出回应

(3)如果在最大响应时间内收到了该组播组成员发送的Report报文,查询者将会继续维持该组与组成员的关系,如果没有收到Report消息,则不再维护这个组播组与成员的关系

以下介绍离组报文与特定组查询报文的数据包内容,先看离组报文



Type(0x17)为离组报文类型

Multicast Address(224.123.123.123):代表要离开的组号

      以下是特定组查询的数据包内容



Max Rsep Time(最大响应时间):1s

Multicast Address(224.123.123.123):向这个组查询这个组是否还存在用户

IGMPv3

       IGMPv3兼容v1,v2,更进一步的提升了主机控制能力,增强了查询和报告报文的功能

主机控制能力的增强

       (1)IGMPv3增加了针对组播源的过滤模式(Include/Exclude),使主机加入某个组时,可以明确的要求接收或拒绝来自某个特定组播源的组播信息

       (2)如果要求只接收来自组播源S1、S2的组播信息,则可以在报文中标记Include Souces(S1、S2……)

       (3)如果要求拒绝接收来自组播源S1、S2的组播信息,则气报告报文中可以标记Exclude Sources(S1、S2……)

指定源组的组播流路经



如上图所示,网络中存在Source 1(S1)和Source 2(S2)两个组播源,均向组播组G发送组播报文。Host B仅对从Source 1 发往G的信息感兴趣,而对来自Source 2 的信息没有兴趣。
 
如果主机与路由器之间运行的是IGMPv1或IGMPv2,Host B 加入组播组G时无法对组播源进行选择,因此无论Host B 是否需要,来自Source1 和Source 2 的组播信息都将传递给Host B。

当主机与路由器之间运行了IGMPv3之后,Host B 就可以要求只接收来自Source 1、发往G 的组播信息(S1,G),或要求拒绝来自Source 2、发往G 的组播信息(S2,G),这样就只有来自Source 1 的组播信息才能传递给Host B 了。

查询和报告报文功能的增强
1.携带源地址的查询报文
IGMPv3 不仅支持IGMPv1 的普遍组查询IGMPv2 的特定组查询,而且还增加了对特定源组查询的支持:
(1)普遍组查询报文中,既不携带组地址,也不携带源地址;
(2)特定组查询报文中,携带组地址,但不携带源地址;
(3)特定源组查询报文中,既携带组地址,还携带一个或多个源地址。
2.包含多组记录的报告报文
IGMPv3 报告报文的目的地址为224.0.0.22,可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。组记录可以分为多种类型,如下:
(1)IS_IN:表示组播组与组播源列表之间的过滤模式为INCLUDE,即只接收从指定组播源列表发往该组播组的组播数据。
(2)IS_EX:表示组播组与组播源列表之间的过滤模式为EXCLUDE,即只接收从指定组播源列表之外的组播源发往该组播组的组播数据。
(3)TO_IN:表示组播组与组播源列表之间的过滤模式由EXCLUDE 转变为INCLUDE。
(4)TO_EX:表示组播组与组播源列表之间的过滤模式由INCLUDE 转变为EXCLUDE。
(5)ALLOW:表示在现有状态的基础上,还希望从某些组播源接收组播数据。如果当前的对应关系为INCLUDE,则向现有组播源列表中添加这些组播源;如果当前的对应关系为EXCLUDE,则从现有组播源列表中删除这些组播源。
(6)BLOCK:表示在现有状态的基础上,不再希望从某些组播源接收组播数据。如果当前的对应关系为INCLUDE,则从现有组播源列表中删除这些组播源;如果当前的对应关系为EXCLUDE,则向现有组播源列表中添加这些组播源
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  路由 Internet igmp 网络