IGMP組播协议.doc
文本预览下载声明
IGMP (V3)
Internet Group Management Protocol
IP D类地址: 224.0.0.0 ~ 239.255.255.255 (前4个比特为1110)
IGMP用于主机和路由器之间的通信(它也定义了路由器和主机的行为),从而进行组播组的管理,它使得一台主机可以接收:
发往某个组播组的数据包
从某些主机发往某个组播组的数据包
不是从某些主机发出的,发往某个组播组的数据包
IGMP协议:
组播路由器保组播组不是所有成员的列表General Query):目的地址为224.0.0.1,数据包中组地址为0,源数量为0
指定组查询(Group-Specific Query):目的地址为指定的组播地址,数据包中组地址为指定的组播地址,源数量为0
指定组和源查询Group-and-Source-Specific Query):目的地址为指定的组播地址,数据包中组地址为指定的组播地址,源数量不为0
一般查询的周期:
IGMP-V1: 正常一分钟不超过一次(路由器启动时周期短)
IGMP-V2/3: 缺省125秒(路由器启动时为1/4查询周期),一般查询消息中的最大的响应时间Robustness Variable)
查询消息
不同IGMP版本的报告消息类型不一样: V1:0x12; V2: 0x16; V3: 0x22
IGMP-V3报告的记录类型
MODE_IS_INCLUDE (包含某些源)
MODE_IS_EXCLUDE (排除某些源)
CHANGE_TO_INCLUDE_MODE (改变为包含某些源)
CHANGE_TO_EXCLUDE_MODE (改变为排除某些源)
ALLOW_NEW_SOURCE (增加某些源为允许接收)
BLOCK_OLD_SOURCE (阻止某些源的接收)
报告消息的目的地址:
IGMP-V3:224.0.0.22 (IGMPv3路由器在这个地址上侦听
成员关系报告消息
Group Record 结构
组播地址分配:
224.0.0.0被保证不分配给任何组(包括网关)。224.0.0.1被分配给本地子网的所有主机(包括网关它被用于标记在直接相连的网络中所有多播主机。多播主机224.0.0.2: (IGMP-V2规定)所有本地路由器(IGMP-V2的离开消息发往此地址)
224.0.0.22: IGMP-V3路由器
消息流图
1. 加入组播组
X: 组播地址; N: 源数量
2. 一般查询
3. 离开组播组时进行指定查询
蚅肂
主机
路由器
成员关系报告: 目的地址:224.0.0.22
记录类型:CHANGE_TO_INCLUDE/EXCLUDE _MODE(X, N)
(???MODE_IS_INCLUDE/EXCLUDE)
主机
路由器
成员关系报告: 目的地址:224.0.0.22
记录类型:MODE_IS_INCLUDE/EXCLUDE(X, N)
查询: 目的地址:224.0.0.1
主机
路由器
成员关系报告: 目的地址:224.0.0.22
记录类型:CHANGE_TO_INCLUDE_MODE(X, 0)
查询: 目的地址:X
参数:X,N
成员关系报告: 目的地址:224.0.0.22
记录类型:MODE_IS_INCLUDE/EXCLUDE(X, N)
显示全部