網際網路群組管理通訊協定 (IGMP) 可讓一組網路裝置共用相同的 IP 位址並接收相同的訊息。
閱讀本文後,您將能夠:
複製文章連結
網際網路群組管理通訊協定 (IGMP) 是一種通訊協定,可讓多個裝置共用一個 IP 位址,以便所有裝置都能接收相同的資料。IGMP 是一種網路層通訊協定,用來在使用網際網路通訊協定第 4 版 (IPv4) 的網路上設定多點傳送。具體來說,IGMP 允許裝置加入多點傳送群組。
多點傳送是指一組裝置全部接收相同的訊息或封包。多點傳送的運作方式是在多個裝置之間共用 IP 位址。任何導向該 IP 位址的網路流量都會傳送到共用該 IP 位址的所有裝置,而非只有一個裝置。這很像一組員工都收到針對某個電子郵件別名的公司電子郵件。
當想要加入一個多點傳送群組時,連接到網路的電腦和其他裝置都使用 IGMP。支援 IGMP 的路由器會聆聽來自裝置的 IGMP 傳輸,以找出哪個裝置屬於哪個多點傳送群組。
IGMP 使用預留用於多點傳送的 IP 位址。多點傳送 IP 位址在 224.0.0.0 和 239.255.255.255 之間的範圍內。(相比之下,Anycast 網路可以使用任何常規 IP 位址。)每個多點傳送群組共用其中一個 IP 位址。當路由器收到指向共用 IP 位址的一系列封包時,它會複製這些封包,並將複本傳送給多點傳送群組的所有成員。
IGMP 多點傳送群組可隨時變更。裝置可以隨時傳送 IGMP「加入群組」或「離開群組」訊息。
IGMP 可直接在網際網路通訊協定 (IP) 之上運作。每個 IGMP 封包都有一個 IGMP 標頭和一個 IP 標頭。就像 ICMP 一樣,IGMP 不使用 TCP 或 UDP 之類的傳輸層通訊協定。
IGMP 通訊協定允許多種 IGMP 訊息:
IGMP 是一種網路層通訊協定,只有知道網路層的網路裝置才能傳送和接收訊息。路由器在網路層上運作,而網路交換器可能只知道第 2 層,也稱為資料連結層。因此,交換器可能不知道哪些網路裝置是多點傳送群組的一部分,哪些裝置並不是。最終可能會將多點傳送流量轉送到不需要的裝置,這會佔用網路頻寬和裝置處理能力,從而降低整個網路的速度。
IGMP 窺探透過啟用交換器以「窺探」IGMP 訊息來解決此問題。通常,第 2 層交換器不會知道 IGMP 訊息,但他們可以透過 IGMP 窺探來聆聽這些訊息。這可讓使用者識別多點傳送訊息的轉寄位置,以便只有正確的裝置接收多點傳送流量。
IPv4 和 IPv6 是網際網路通訊協定 (IP) 的兩種不同版本。IPv6 是更現代的,但 IPv4 仍在廣泛使用。在 IPv6 中,多點傳送接聽程式探索 (MLD) 是多點傳送的通訊協定,而不是 IGMP。
Anycast 是另一種可讓網路通訊到多個地方的技術。與多點傳送類似,Anycast 網路可讓相同的伺服器群組共用一或多個 IP 位址。然而,並非所有伺服器都接收到這些 IP 位址的所有流量,而是網路根據一組預先決定的標準將流量路由到這些伺服器中的一個。與多點傳送群組相比,Anycast 網路也可以支援更廣泛的 IP 位址。例如,Cloudflare 網路使用 Anycast 將所有使用者流量路由到最近的資料中心。
「Unicast」描述了大多數網際網路的運作方式。在 Unicast 網路中,網路上每個連接的裝置都有一個唯一的位址。導向至該位址(在網際網路上是 IP 位址)的訊息只會傳送至該裝置,而不是像多點傳送一樣傳送到多個裝置。
入門
關於網路層級
網路類型