本期與大家聊聊igmpv1(網際網路組管理協議),分享我個人見解,以及梳理一下igmpv1相關知識點。
一它是幹嘛用的?
我們學乙個協議時,首先,最想知道的就是它是幹嘛用的?什麼時候才需要它?部署場景?
1、它是幹嘛的?
igmp(internet group mangment protocl)網際網路組管理協議,開發該協議,主要是用於組播流接收主機和相鄰組播路由器之間維護組播組成員關係的。
說白了,主機通過它來表達自己想加入哪個組播組。組播路由器通過它可以清楚了解連線主機子網內有哪些組播組成員。
2、什麼時候才需要它? 部署場景?
當部署組播時候,有主機需要加入組播組時就需要它。
部署場景:
二igmp協議、原理介紹
1、協議發展:
2、協議具體介紹
igmp協議執行於主機和 與主機相鄰的組播路由器(最後一跳路由器)之間。
igmp工作機制,龍哥就從兩個維度來說把,就是主機和路由器。
3、igmp工作機制
聊igmp工作機制前,我個人還是偏向先了解一下報文格式,如果有報文格式讀透了,然後再去研究原理,就容易理解一些。
igmpv1報文格式
版本:即=1『
型別:0x11= 』成員關係查詢報文;0x12=成員加入報告報文。
如果是成員關係查詢報文,即等於0.0.0.0
如果是成員加入報告報文,即等於想要加入的組播位址。
結合上述格式,龍哥再抓個包給大家看,就會更加深刻了。
紅色部分,我們可知,igmp是基於ip之上進行封裝的,協議號為2。
在這,大家是不是能想到icmp,也是基於ip之上的,協議號為1。不過與icmp不同的是,igmp訊息僅侷限於本地資料鏈路,為啥呢? 看圖說話,ttl=1。
4、igmpv1成員加入
例如,pc1想加入239.1.1.1這個組播組,就會傳送igmpv1的成員報告報文,目的ip位址為想要加入的組。路由器收到後,就會了解到該網段有組播組239.1.1.1的成員,為其生成組播**表項(*,239.1.1.1) , *表示任意組播源。
路由器沒收到 成員報告 :
當pc1 傳送 成員報告報文,表示想加入239.1.1.1時,成員報告報文如下:
從報文,我們一下就知道了:
igmpv1的成員報告報文型別為:0x12
報文的目的ip為 所要加入組的組播ip位址。
5、igmpv1 成員維護。
值得一提的是,igmpv1 裡沒有查詢器這個東西,是依賴組播協議pim選擇產生的。
下面,我們通過配一下pim來看看是否就有查詢器了?
這樣,igmp 查詢器就產生了,就可以看到路由器週期傳送查詢報文。
(224.0.0.1 代表組內所有主機系統)
該網段的所有主機都能收到這個查詢報文,同時會啟動乙個延時定時器,值為0到10s之間,隨機取乙個。誰先到期,就由誰來傳送響應報文。這樣做的好處,避免重複的響應報文。
pc1先到期,然後就會發生響應報文。
其他pc也會收到pc1的響應報文,就會清除延時定時器,同時他們不會發響應報文的。
如果130s內沒有響應路由器,路由器就將該組對應的**表項刪除了。
6、igmpv1 成員離開。
igmpv1 沒有定義離開報文,所以pc離開時,不會發任何報文,路由器無法感知到,只能通過繼續週期查詢,如果查了3次還是沒有人響應,則認為該組沒有成員了。
TCP IP五層模型 網路層 IGMP協議
1.定義 igmp internet group management protocol 是網路組管理協議,該協議執行在主機和組播路由器之間。igmp協議共有三個版本,即igmpv1 v2 和v3。主要用於建立和管理多播組,對ip分組廣播進行控制。2.icmp和igmp的區別 internet控制訊...
http層協議是哪層通訊協議
如圖 http協議處於tcp ip協議體系的應用層。hppt協議屬於應用層的協議,因此工作在最高層,即應用層。圖中未標記出http協議,它與ftp dns等協議工作 在同一層。虛擬終端協議 telnet,telecommunications network 檔案傳輸協議 ftp,file trans...
mysql是4層協議 負載均衡 4層協議 7層協議
負載均衡 cloud load balancer,clb 提供安全快捷的流量分配服務,它可以無縫提供分配應用程式流量所需的負載均衡容量,以實現自動分配雲中多個 cvm 例項間應用程式的訪問流量,讓您實現更高水平的應用程式容錯能力。多協議 負載均衡 clb 支援四層協議請求 包括 tcp udp 協議...