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的交換機會將組播包當作廣播處理,會轉發到所有的端口,浪費資源.
最後, 參考資料.
http://www.commsdesign.com/showArticle.jhtml?articleID=52200253
RFC 3367
Cisco 關於IGMP V3的介紹
http://www.commsdesign.com/showArticle.jhtml?articleID=52200253