原理
運行IGMP Snooping的二層設備通過對收到的IGMP報文進行分析,為連線埠和MAC組播地址建立起映射關係,並根據這樣的映射關係轉發組播數據。當二層設備沒有運行IGMP Snooping時,組播數據在二層被廣播;當二層設備運行了IGMP Snooping後,已知組播組的組播數據不會在二層被廣播,而在二層被組播給指定的接收者。
IGMP Snooping和IGMP協定一樣,兩者都用於組播組的管理和控制,它們都使用IGMP報文。IGMP協定運行在網路層,而IGMP Snooping則運行在鏈路層,當二層乙太網交換機收到主機和路由器之間傳遞的IGMP報文時,IGMP Snooping分析IGMP報文所帶的信息,在二層建立和維護MAC表,以後從路由器下發的組播報文就根據MAC表進行轉發。IGMP Snooping只有在收到某一連線埠的IGMP離開報文或者某一連線埠的老化時間定時器逾時的時候才會主動向連線埠發IGMP特定組查詢報文,除此之外,它不會向連線埠發任何IGMP報文。
套用
IGMP Snooping,就是監聽IGMP協定包,提取相應的信息,形成組播成員關係表,然後對組播業務按照組成員關係進行轉發,保證組成員收到正確的的組播業務,而其餘主機無法收到。
IGMP Snooping相對於路由器和主機是透明的,它僅僅監聽兩者之間的IGMP報文,來建立自己的組播成員關係表。