IGMP V1/V2/V3 比较
闲来有时间,整理最近工作中学习的一些知识,包括IGMP协议.
首先,提出我所想的疑问, 请带着以下几个问题来看这篇文章,
1,为什么要诞生IGMP V2, V2比V1有什么大改进吗?
2,为什么又诞生了IGMP V3, V3又比V2好在什么地方呢?
其次, 个人总结,
1, IGMP V1: 支持包类型, 两种 query 和report;
router 等待超时时间才知道组成员已经不存在;
2,IGMP V2: 支持包类型, 三种, query,report和Leave,
增加Leave包的目的是,当组中最后一个成员离开时,通知路由器,快速收敛.
而且Query包也分为两种, 一为正常的Query,查询所有的组是否有成员(类似于V1);一种为特殊的query,在收到Leave包后, 路由器所发出的只查询该组的query包;
3,IGMP V3: 支持包的类型,两种, query和report.
增加Source filtering功能, host可以通知路由器,指定只收或者不收,某些特定的组和原地址的包. 防止了Unkonw host的DOS攻击.
query分为三种, 查询所有组的/特殊组的/特殊组和特殊源地址的;
关于V3为什么要取消Leave这个有助于快速收敛的包呢? 其实他将V2的Leave包的功能加入到report包中来了, 当host有任何变动且认为应该通知Router时,他就会发送report包. 还有一种情况下发生report包是回复query包的时候.
再次, 如何选举querier?
The querier election algorithm elects the router which has the smallest IP address as the network's querier.
再再次,顺便一起把Snooping也总结下,
Snooping主要是用于交换机上,来决定将收到的组播包转发到哪个或者哪些端口.
一个不支持snooping的交换机会将组播包当作广播处理,会转发到所有的端口,浪费资源.
最后, 参考资料.
RFC 3367
Cisco 关于IGMP V3的介绍
没有评论:
发表评论