IGMP協議

IGMP:因特網組管理協議,手機TCP/IP協議族中負責IP組播成員管理的協議,它用來在接受者和與其直接相鄰的組播路由器之間創建、維護組播組成員關係。ide

接受者與路由器須要交換哪些信息呢spa

1.接受者須要聲明本身要接受哪一個組的數據blog

2.路由器須要瞭解哪些組播組存在接受者ip

組成員管理-IGMP:因特網組管理協議路由

IGMP協議運行在主機與組播路由器之間get

做用:it

主機側:經過IGMP協議向路由器通告組成員關係io

路由器側:經過IGMP協議維護組成員關係class

IGMPv1的工做機制:cli

wKioL1mdIiSRPaEvAAB5Cc8h9lM515.png

IGMPv1版本支持兩種報文:

廣泛組查詢報文(General Query):路由器會週期性的向224.0.0.1這個地址發送查詢報文,默認週期時間爲60S

成員關係報告報文(Membership Report):用於主機加入某個組播組

若是所示,廣泛組查詢和響應過程以下:

①RTA發送廣泛組的查詢報文

②網段內的全部主機都收到該查詢報文,clintA和clintC是屬於G1組的,因此他們就啓動定時器Timer-G1,clintB屬於G2組,因此啓動timer-G2。定時器的範圍是0-10s,定時器先超時的主機發送該組的成員關係

③原本當RTA發送一個查詢報文的時候,同一個網段內的全部主機都須要給RTA發送一個消息確認,這樣就形成了網段內的大量流量,因此,當clintC收到clintA發送的成員關係報文以後,則中止定時器,不在發送針對G1的成員關係報文,這樣就減小了協議流量,這就是抑制機制

IGMPv1成員加入:

若是有clintD加入這個組,爲了快速接受組播數據,clintD會主動發送IGMP成員關係報文,標識但願加入這個組,RTA收到之後,就會向該網段轉發數據

組成員的離開:

靜默離開:不打任何招呼就走了,很是討厭啊

組成員離開的話,RTA不會收到組成員關係報文,以後會在130s以後會刪除這個組播

查詢器選舉:

依賴於組播路由協議

選舉規則:

優先級以大爲優

若相同,IP地址以大爲優


IGMPv2:

改進了組成員離開

ClintB向本網段內的全部組播路由器(畝的地址爲224.0.0.2)發送針對組G2離開的消息,而後查詢器收到了離開的報文,會發送針對這個G2的特定組的查詢報文,同時啓動組成員關係定時器,每隔1s發送一次,一共發送2次,速度仍是很快的,比V1版本強太多了。若是G2組沒有成員了,那麼路由器就刪除了這個組播,若是這個組播還有主機,那麼就接着向該網段轉發數據

改進了查詢器選舉

獨立的查詢器選舉機制

全部的IGMPv2版本的路由器在初始狀態都認爲本身是查詢器,而後他們向本網段內的路由器和主機發送廣泛組查詢報文,而後另外一個路由器收到這個查詢報文以後,會將報文中的IP地址和本身的IP地址進行比較,哪一個IP地址小就成爲查詢器,也就是winer。

IGMPv3版本:

這個版本很簡單啦,簡單的來講,就是哪些我想接受,哪些我不想接受,把不想接受的過濾掉,留下我想接受的,簡單吧。

各個版本的差別:

wKiom1mdIkDhTEf_AAAwnvP_jwc923.png

相關文章
相關標籤/搜索