計算機網路中的IGMP是什麼?


IGMP代表網際網路組管理協議。它是一種允許多個裝置共享一個IP地址的協議,以便它們都可以接收相同的資料。IGMP 是一種網路層協議,用於在使用網際網路協議版本 4 (IPv4) 的網路上建立組播。具體來說,IGMP 允許裝置加入組播組。

IGMP 不是組播路由協議;它是一個管理組成員資格的協議。在任何網路中,都存在一個或多個組播路由器,它們將組播資料包分發到主機或其他路由器。

IGMP 協議向組播路由器提供有關連線到網路的主機(路由器)的成員資格狀態的資訊。

組播路由器每天可能會為不同的組接收數千個組播資料包。如果路由器不瞭解主機的成員資格狀態,則必須廣播所有這些資料包。

這會產生大量流量並消耗頻寬。更好的解決方案是在網路中保留一個組列表,這些組至少有一個忠實成員。IGMP 幫助組播路由器建立和更新此列表。

IGMP 的操作

IGMP 在本地執行。連線到網路的組播路由器具有一個組播地址列表,這些地址對應於網路中至少有一個忠實成員的組,如下圖所示:

對於每個組,都有一個路由器負責分發發往該組的組播資料包。這意味著,如果三個組播路由器連線到網路,則它們的組 ID 列表是互斥的。

主機或組播路由器可以成為組的成員。當主機成為成員時,意味著它的某個程序(應用程式)從某個組接收組播資料包。當路由器成為成員時,意味著連線到其其他介面的網路連線接收這些組播資料包。我們說主機或路由器對該組有興趣。在這兩種情況下,主機和路由器都保留一個組 ID 列表,並將它們的興趣轉發給分發路由器。

還有兩個其他組播路由器(R1 和 R2),根據路由器 R 維持的組列表,它們可能是此網路中路由器 R 的接收方。路由器 RI 和 R2 可能是其他網路中某些組的分發器,但不在此網路中。

加入組

主機或路由器可以加入組。主機維護一個程序列表,這些程序是組的成員。當某個程序想要加入新組時,它會向主機發送請求。

主機將程序名稱和請求的組名稱新增到其列表中。如果這是此特定組的第一個條目,則主機發送成員資格報告訊息。如果不是第一個條目,則無需傳送成員資格報告。由於主機已經是該組的成員;它接收該組的組播資料包。

協議要求成員資格報告發送兩次,一次接一次,在幾秒鐘內。這樣,如果第一個報告丟失或損壞,則第二個報告會替換它。

離開組

當主機發現沒有程序對特定組感興趣時,它會發送離開報告。類似地,當路由器發現連線到其介面的網路中沒有網路對特定組感興趣時,它會發送有關該組的離開報告。

但是,當組播路由器收到離開報告時,它不能立即從其列表中清除該組。這是因為該報告僅來自一臺主機或路由器,並且可能還有其他主機或路由器仍然對該組感興趣。為了確保這一點,路由器會發送一條特殊的查詢訊息,並插入與該組相關的組 ID 或組播地址。

路由器允許任何主機或路由器在指定的時間內響應。如果在此期間未收到任何興趣(成員資格報告),則路由器假設網路中沒有忠實成員,並將其列表中的組清除。

更新於: 2021年5月4日

8K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.