IGMPv2的變化
IGMPv2的工作機(jī)制與IGMPv1基本相同,最大的不同之處在于IGMPv2增加了離開(kāi)組機(jī)制晓锻。成員主機(jī)離開(kāi)組播組時(shí)收夸,會(huì)主動(dòng)發(fā)送成員離開(kāi)報(bào)文通知IGMP查詢(xún)器途事;IGMP查詢(xún)器收到成員離開(kāi)報(bào)文后萍膛,會(huì)連續(xù)發(fā)送特定組查詢(xún)報(bào)文吭服,詢(xún)問(wèn)該組播組是否還存在組成員。如果在一段時(shí)間內(nèi)沒(méi)有收到成員主機(jī)發(fā)送的報(bào)告報(bào)文卦羡,IGMP查詢(xún)器將不再維護(hù)該組的組成員關(guān)系噪馏。IGMPv2可以使IGMP查詢(xún)器及時(shí)了解到網(wǎng)段內(nèi)哪些組播組已不存在成員麦到,從而及時(shí)更新組成員關(guān)系绿饵,減少網(wǎng)絡(luò)中冗余的組播流量。
?
IGMPv2報(bào)文
與IGMPv1相比瓶颠,IGMPv2的變化如下:
除了普遍組查詢(xún)報(bào)文和成員報(bào)告報(bào)文之外拟赊,IGMPv2新增了兩種報(bào)文:
??成員離開(kāi)報(bào)文(Leave):成員離開(kāi)組播組時(shí)主動(dòng)向查詢(xún)器發(fā)送的報(bào)文,用于宣告自己離開(kāi)了某個(gè)組播組粹淋。
??特定組查詢(xún)報(bào)文(Group-Specific Query):查詢(xún)器向共享網(wǎng)段內(nèi)指定組播組發(fā)送的查詢(xún)報(bào)文吸祟,用于查詢(xún)?cè)摻M播組是否存在成員。
IGMPv2的文格式如下所示:
查詢(xún)器選舉機(jī)制
IGMPv2使用獨(dú)立的查詢(xún)器選舉機(jī)制桃移,當(dāng)共享網(wǎng)段上存在多個(gè)組播路由器時(shí)屋匕,IP地址最小的路由器成為查詢(xún)器。
相對(duì)于IGMPv1借杰,IGMPv2使用獨(dú)立的查詢(xún)器選舉機(jī)制过吻。
??所有IGMPv2路由器在初始狀態(tài)時(shí)都認(rèn)為自己是查詢(xún)器,向本地網(wǎng)段內(nèi)的所有主機(jī)和路由器發(fā)送普遍組查詢(xún)報(bào)文。其他路由器在收到該報(bào)文后纤虽,將報(bào)文的源IP地址與自己的接口地址作比較乳绕。IP地址最小的路由器將成為查詢(xún)器,其他路由器成為非查詢(xún)器逼纸。如圖所示洋措,RTA的接口IP地址小于RTB的接口IP地址,則RTA當(dāng)選為查詢(xún)器杰刽。IGMP的查詢(xún)器和非查詢(xún)器都會(huì)處理IGMP組加入信息菠发,但是只有查詢(xún)器負(fù)責(zé)發(fā)送查詢(xún)報(bào)文。IGMP非查詢(xún)器不處理IGMPv2離開(kāi)報(bào)文专缠。
??所有非查詢(xún)器上都會(huì)啟動(dòng)一個(gè)定時(shí)器雷酪。如果在該定時(shí)器超時(shí)前收到了來(lái)自查詢(xún)器的查詢(xún)報(bào)文,則重置該定時(shí)器涝婉;否則就認(rèn)為原查詢(xún)器失效并發(fā)起新的查詢(xún)器選舉哥力。
?
離開(kāi)組機(jī)制
如圖所示,在IGMPv2中墩弯,Client B離開(kāi)組播組G2的過(guò)程如下:
1)?Client B向本地網(wǎng)段內(nèi)的所有組播路由器(目的地址為224.0.0.2)發(fā)送針對(duì)組G2的離開(kāi)報(bào)文吩跋。
2)?查詢(xún)器收到離開(kāi)報(bào)文,會(huì)發(fā)送針對(duì)G2的特定組查詢(xún)報(bào)文渔工,同時(shí)啟動(dòng)組成員關(guān)系定時(shí)器Timer-Membership=發(fā)送間隔x發(fā)送次數(shù)锌钮。缺省每隔1秒發(fā)送一次,一共發(fā)送兩次引矩,發(fā)送間隔和發(fā)送次數(shù)可以配置梁丘。
3)?如果網(wǎng)段內(nèi)不存在其他組G2的成員,則路由器不會(huì)收到組G2的成員報(bào)告報(bào)文旺韭。在Timer-Membership超時(shí)后氛谜,刪除組播轉(zhuǎn)發(fā)表項(xiàng)中對(duì)應(yīng)的下游接口。路由器將不再向該網(wǎng)段轉(zhuǎn)發(fā)G2的組播數(shù)據(jù)区端。如果網(wǎng)段內(nèi)還有G2的其他成員值漫,則這些成員在收到特定組查詢(xún)報(bào)文后,會(huì)在最大響應(yīng)時(shí)間內(nèi)發(fā)送G2的成員報(bào)告報(bào)文织盼。路由器繼續(xù)向該網(wǎng)段轉(zhuǎn)發(fā)G2的組播數(shù)據(jù)杨何。