組播和ICMP
組播
組播技術的初衷是在IP網路中,以"盡力而為"的形式傳送資訊到某個目標組,這個目標組稱為組播組,這樣在有源主機向多點目標主機傳送資訊需求時,源主機只傳送一份資料,資料的目的地址是組播組地址,這樣,凡是屬於該組的成員,都可以接收到一份原主機傳送的資料的拷貝,此組播方式下,只有真正資訊需要的成員會收到資訊,其他主機不會收到。因此組播方式解決了單播情況下資料的重複拷貝及頻寬的重複佔用,也解決了廣播方式下頻寬資源的浪費。
組播IP地址用於標識一個IP組播組。IANA(internet assigned number authority)把D類地址空間分配給IP組播,其範圍是從224.0.0.0到239.255.255.255
組播地址
組播組可以是永久的也可以是臨時的。組播組地址中,有一部分由官方分配的,稱為永久組播組。永久組播組保持不變的是它的ip地址,組中的成員構成可以發生變化。永久組播組中成員的數量都可以是任意的,甚至可以為零。那些沒有保留下來供永久組播組使用的ip組播地址,可以被臨時組播組利用。
224.0.0.0~224.0.0.255為預留的組播地址(永久組地址),地址224.0.0.0保留不做分配,其它地址供路由協議使用;
224.0.1.0~224.0.1.255是公用組播地址,可以用於Internet;
224.0.2.0~238.255.255.255為使用者可用的組播地址(臨時組地址),全網範圍內有效;
239.0.0.0~239.255.255.255為本地管理組播地址,僅在特定的本地範圍內有效。
組播MAC地址
組播MAC地址的高24bit為0x01005e,第25bit為0,即高25bit為固定值。MAC地址的低23bit為組播IP地址的低23bit。由於 IP組播地址的前4bit 是1110,代表組播標識,而後28bit 中只有23bit 被對映到MAC 地址,這樣IP 地址中就有5bit 資訊丟失,導致的結果是出現了32 個IP 組播地址對映到同一MAC 地址上。出現這樣的現象的概率為1/32。
ICMP
Internet 組管理協議稱為IGMP協議(Internet Group Management Protocol),是因特網協議家族中的一個組播協議。該協議執行在主機和組播路由器之間。IGMP協議共有三個版本,即IGMPv1、v2 和v3。
IGMP規定,當主機要加入一個群組時,必須向本地組播路由器(可以是本地網路中的一個一般的路由器,但支援組播)傳送IGMP報文,其中包含該群組的地址,以宣佈其成員狀態;組播路由器收到報文後,向網際網路上的其他組播路由器傳播該資訊,以建立必要的路由。
為了適應成員的動態變化,組播路由器週期性地輪詢本地網路上的主機,以確定現在各個群組中有哪些主機。如果經過若干次輪詢後,某個群組中始終沒有主機應答,則組播路由器就認為本地網路 不在有該群組的成員,並停止向其他組播路由器通告該群組的成員資訊。
ICMP組播成員查詢
IGMP的組成員查詢利用報文中型別欄位0x11來標識。IGMP的組成員查詢包含了兩種子型別:一般組成員查詢(General Query)和特定組成員查詢(Group-Specific Query)。子型別利用報文中的組播組地址(Group Address)欄位來區分:組地址段等於0,表示一般組成員查詢;組地址地段不等於0,則表示特定組成員查詢,用於查詢本地網路中的每個指定組播組的成員,其中組播組的地址由組地址(Group Address)欄位來指定被查詢的組播組。在IGMPv1中只支援一般組成員查詢,IGMPv2支援特定組成員查詢。 [1]
一般組成員查詢
IGMP約定,本地路由器利用一般組成員查詢方式來週期性地向本網路內的所有主機傳送IGMP組成員查詢報文;本地網路中的主機在接收到IGMP查詢報文時,將會對該報文作出相應,返回一個組成員報告報文,通知路由器本主機所在的組播組的地址。
特定組成員查詢
正常情況下,IGMP採用一般組播組成員查詢來輪詢本地網路中的組成員資訊。這種查詢並非針對某一個組播組,而是針對本地網路中所有組進行查詢。在某些特定環境中,路由器也需要查詢在本地網路中是否存在某個特定組播組的成員。這時可使用特定組成員查詢。
相關文章
- icmp和arp協議協議
- IP組播
- 組播地址
- HCNP Routing&Switching之組播技術-組播地址
- IPSec組播概要
- ICMP協議協議
- 6、ICMP隧道
- HCNP Routing&Switching之組播技術-組播基礎
- HCNP Routing&Switching之組播技術-組播分發
- HCNP Routing&Switching之組播技術-組播協議IGMP協議
- HCNP Routing&Switching之組播技術-組播路由協議PIM路由協議
- 組播協議詳解協議
- 正向傳播和反向傳播反向傳播
- Java 基於UDP 實現單播、組播、廣播 Socket 程式設計JavaUDP程式設計
- 組播分發 SPT&RPT
- ICMP路由重定向攻擊路由
- ICMP與IGMP的區別
- 華為 組播理論知識
- ICMP Internet控制資訊協議協議
- 13、利用 ICMP 隧道穿透防火牆穿透防火牆
- Windows7/10實現ICMP(ping命令)Windows
- 《戰爭藝術》大師賽主播邀請賽C組D組回顧 十六名主播上演巔峰對決
- 解析原生IP和廣播IP
- 廣播:直播和無處不在
- Android 和 iOS 圖片輪播AndroidiOS
- 計算機網路之四:ICMP協議計算機網路協議
- Windows ICMP DNS隧道是一種利用ICMP和DNS協議進行網路隧道傳輸的技術。它透過將資料包封裝在ICMP或DNS報文中,繞過防火牆和其他安全裝置,實現在受限網路之間傳輸資料的方法。WindowsDNS協議封裝防火牆
- C++ Qt開發:QUdpSocket實現組播通訊C++QTUDP
- HCNP Routing&Switching之組播技術-IGMP-SnoopingOOP
- 組播推流工具有接單的小夥伴不?
- 雲端計算替代傳統 IT,承載奧運的組織、運營和賽事轉播。
- 淺談TCP、UDP、ICMP三種常見協議TCPUDP協議
- 網路通訊協議-ICMP協議詳解!協議
- ICMP隱蔽隧道攻擊分析與檢測(二)
- ICMP隱蔽隧道攻擊分析與檢測(三)
- ICMP隱蔽隧道攻擊分析與檢測(四)
- Ping 的工作原理你懂了,那 ICMP 你懂不懂?
- HCNP Routing&Switching之組播技術PIM-SM RP