Internet 組管理協(xié)議稱為IGMP協(xié)議(Internet Group Management Protocol),是因特網(wǎng)協(xié)議家族中的一個組播協(xié)議。該協(xié)議運行在主機和組播路由器之間。IGMP協(xié)議共有三個版本,即IGMPv1、v2 和v3。
組播的可靠性IP 組播使用用戶數(shù)據(jù)報UDP 協(xié)議,然而UDP 是盡最大能力投遞的一種協(xié)議。因此,IP 組播應用勢必會遇到數(shù)據(jù)包丟失和亂序問題。為此,對于IGMP 不同類型的應用必須在確認方式( 肯定確認ACK 和否定確認NACK),集中確認與分布確認、重傳機制、流量控制、擁塞控制等方面綜合考慮,提出解決方案。迄今為止,盡管在廣域網(wǎng)環(huán)境中已經(jīng)存在許多可靠組播協(xié)議,包括可靠組播協(xié)議RMP(ReliableMulticast Protocol),可擴可靠組播SRM(Scalable Reliable Multicast),和可靠組播傳輸協(xié)議RMTP(ReliableMulticast Transport Protocol)。組播的可靠性研究仍然是重點研究課題之一。
組播安全性是只有注冊的主機才能夠向組發(fā)送數(shù)據(jù)和接收組播數(shù)據(jù)。然而IP 組播很難保證這一點。首先,IP 組播使用UDP,網(wǎng)絡中任何主機都可以向某個組播地址發(fā)送UDP 包;其次,Internet缺少對于網(wǎng)絡層的訪問控制,組成員可以隨時加入和退出組播組,使得組播安全性問題仍然是一個技術難點。IGMP 組播協(xié)議是IPv4 環(huán)境下重要的協(xié)議。IGMPv1 實現(xiàn)簡單,但是主機離開多播組延遲過大,選擇查詢路由器需要依賴具體的組播路由協(xié)議;IGMPv2缺少對主機進程加入多播組的定義,制約了其應用范圍。IGMPv3 主要改進是支持源特定組播。大部分的網(wǎng)絡設備和主機操作系統(tǒng)協(xié)議棧都支持IGMPv1 和IGMPv2,但為適應復雜的網(wǎng)絡需求,必須大力推進IGMPv3 協(xié)議的用應用。Windows XP 已經(jīng)支持IGMPv3 ,UNIX 操作系統(tǒng)也可以與IGMP v1/ v2 版本向后兼容,組播技術有著廣闊的發(fā)展前景。
IGMP的組成員查詢利用報文中類型字段0x11來標識。IGMP的組成員查詢包含了兩種子類型:一般組成員查詢(General Query)和特定組成員查詢(Group-Specific Query)。子類型利用報文中的組播組地址(Group Address)字段來區(qū)分:組地址段等于0,表示一般組成員查詢;組地址地段不等于0,則表示特定組成員查詢,用于查詢本地網(wǎng)絡中的每個指定組播組的成員,其中組播組的地址由組地址(Group Address)字段來指定被查詢的組播組。在IGMPv1中只支持一般組成員查詢,IGMPv2支持特定組成員查詢。
IGMP約定,本地路由器利用一般組成員查詢方式來周期性地向本網(wǎng)絡內(nèi)的所有主機發(fā)送IGMP組成員查詢報文;本地網(wǎng)絡中的主機在接收到IGMP查詢報文時,將會對該報文作出相應,返回一個組成員報告報文,通知路由器本主機所在的組播組的地址。
正常情況下,IGMP采用一般組播組成員查詢來輪詢本地網(wǎng)絡中的組成員信息。這種查詢并非針對某一個組播組,而是針對本地網(wǎng)絡中所有組進行查詢。在某些特定環(huán)境中,路由器也需要查詢在本地網(wǎng)絡中是否存在某個特定組播組的成員。這時可使用特定組成員查詢。