当前位置:文档之家› IGMP 组播协议

IGMP 组播协议

1.IGMP (V3)

Internet Group Management Protocol

IP D类地址:224.0.0.0 ~ 239.255.255.255 (前4个比特为1110)

IGMP用于主机和路由器之间的通信(它也定义了路由器和主机的行为),从而进行组播组的管理,它使得一台主机可以接收:

1)发往某个组播组的数据包

2)从某些主机发往某个组播组的数据包

3)不是从某些主机发出的,发往某个组播组的数据包

IGMP协议:

1)组播路由器保存所有临近网络中有成员存在的组播组列表。(不是所有成员的列表)

2)IGMP只有两类消息,查询(路由器查询是否有主机处于组播组)和报告(主机报告自己加入,处于,或离开组播组)。(IGMP-V2中还有一个离开组消息)

3)查询消息由路由器发往主机,分为

一般查询(General Query):目的地址为224.0.0.1,数据包中组地址为0,源数量为0

指定组查询(Group-Specific Query):目的地址为指定的组播地址,数据包中组地址为指定的组播地址,源数量为0

指定组和源查询(Group-and-Source-Specific Query):目的地址为指定的组播地址,数据包中组地址为指定的组播地址,源数量不为0

4)一般查询的周期:

IGMP-V1:正常一分钟不超过一次(路由器启动时周期短)

IGMP-V2/3:缺省125秒(路由器启动时为1/4查询周期),一般查询消息中的最大的响应时间默认值为100(10秒),启动查询消息数量为健壮变量(Robustness Variable)

查询消息

5)不同IGMP版本的报告消息类型不一样:V1:0x12; V2: 0x16; V3: 0x22

6)IGMP-V3报告的记录类型

MODE_IS_INCLUDE (包含某些源)

MODE_IS_EXCLUDE (排除某些源)

CHANGE_TO_INCLUDE_MODE (改变为包含某些源)

CHANGE_TO_EXCLUDE_MODE (改变为排除某些源)

ALLOW_NEW_SOURCE (增加某些源为允许接收)

BLOCK_OLD_SOURCE (阻止某些源的接收)

7)报告消息的目的地址:

IGMP-V3:224.0.0.22 (IGMPv3路由器在这个地址上侦听)

IGMP-V1/2: 消息中的组播地址

成员关系报告消息

Group Record 结构

组播地址分配:

224.0.0.0被保证不分配给任何组(包括网关)。

224.0.0.1被分配给本地子网的所有主机(包括网关)。它被用于标记在直接相连的网络中所有多播主机。每个多播主机都必须加入这个组。

(IGMP-V1只对以上两个IP多播地址做了规定。)

224.0.0.2:(IGMP-V2规定)所有本地路由器(IGMP-V2的离开消息发往此地址)

224.0.0.22:IGMP-V3路由器

消息流图

1. 加入组播组

X: 组播地址; N: 源数量

2. 一般查询

3. 离开组播组时进行指定查询

相关主题