网络协议学习笔记-IGMP协议



网络协议学习笔记-IGMP协议

http://hi.baidu.com/clxye/item/3db870336d86c0c11a969614


IGMP协议(Internet Group Management Protocol):Internet组管理协议。它让一个物理网络上的所有系统知道主机当前艘在的多播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。


IGMP报文V1版本:

版本字段:IGMP共有三个版本1、2和3。目前普遍使用的是版本2。

类型字段:为1说明是由多播路由器发出的查询报文。
                 为2说明是主机发出的报告报文。

校验和字段:

组地址字段:32位D类IP地址。

IGMP报文V2版本

类型字段:原版本和类型合并

最大响应时间:缺省为10秒,规定在发送回应报告之前的最大延迟时间,1/10秒为单位

校验和字段:

组地址字段:32位D类IP地址。

IGMP报文V2版本

RFC 3376
添加/删除源地址列表
添加了新API:IPMulticastListen
需要新协议栈 / 重写应用程序
224.0.0.22 IGMP V3路由器
没有IGMP回应抑制

IGMP协议

一般路由器发送IGMP查询,主机发送IGMP报告。

IGMP只适用于主机和路由器之间的一种组播数据转发,而路由器之间的主播数据转发则是路由协议来实现的而不是IGMP协议。

主机发送报告的时间具有一定的随机性(0~10秒的范围内随机选择),而路由器的查询则是周期性的。

当一个进程加入组时,主机就发送一个IGMP报告。

进程离开一个组时,主机不发送IGMP报告(版本1,版本2发送)。

当检测到一个网段里面有其它的成员已经发送了报告了,其它主机就没有必要再发送报告了。

只要有一台主机在当前网段里,路由器就必须要发送主播信息到该网段。

必须是组成员,才可以接收组播数据。

组播地址代表所有组成员。

发送者不必是组成员。

多播地址只能作为目标地址。

IGMP的版本

IGMP v1
    RFC 1112
    Windows 95

IGMP v2
    RFC 2236
    Windows和多数Unix

IGMP v3
    RFC 3376
    Windows和部分Unix

加入组

这是版本1和版本2都支持的消息。

◆ 发送加入消息


维护组

◆ 路由器查询发往224.0.0.1
◆ 一个成员发送回应
◆ 其它成员抑制回应



查询者选取(版本2中)

◆ 最初所有路由器发送查询

◆ 最低IP地址路由器被选为查询者

◆ 其它路由器成为非查询者



离开组(版本1)

◆ 主机安静离开组(离开组之前不发送任何信息)
◆ 路由器发送3此查询无回应(3分钟左右),则超时。



离开组(版本2)

◆ 主机发送离开报告
◆ 路由器发送查询无回应,则超时

◆ 约3秒钟




生存时间字段

  IGMP报告和查询的生存时间(TTL)均设置为1,这将使多播数据报仅限于同一子网内传送。更大的TTL值能被多播路由器转发。224.0.0.0-224.0.0.255的特殊地址使打算用于多播范围不超过1跳的应用,不管TTL是多少,多播路由器均不转发目的地址为这些地址中的任何一个地址的数据报。


所有主机组

  224.0.0.1地址称为所有主机组地址,它涉及在一个物理网络中所有具备多播能力的主机和路由器。当接口初始化后,所有具备多播能力接口上的主机均自动加入这个多播组。这个组的成员无需发送IGMP报告。




理解:
到子网时,只能是广播了。但是这个广播不影响网络。
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值