好文收藏!詳解IPv4、IPv6組播地址范圍、含義及組播MAC地址映射關系!
組播地址簡介
為了使組播源和組播組成員進行通信,需要提供網(wǎng)絡層組播,使用IP組播地址。為了在本地物理網(wǎng)絡上實現(xiàn)組播信息的正確傳輸,需要提供鏈路層組播,使用組播MAC地址。必須存在一種技術將IP組播地址映射為組播MAC地址。
IPv4組播地址
IANA(Internet Assigned Numbers Authority,互聯(lián)網(wǎng)編號分配委員會)將D類地址空間分配給IPv4組播使用。IPv4地址一共32位,D類地址最高4位為1110,因此地址范圍從224.0.0.0到239.255.255.255,具體分類及含義見表1。
表1 IPv4組播地址的范圍及含義:
表2 常見的永久組地址列表:
IPv6組播地址
IPv6地址長度是128位,在RFC4291中對組播地址的定義如圖1所示。
圖1 IPv6組播地址的格式
和IPv4組播地址相比,IPv6組播地址有了明確的Group ID字段用于標識組播組。
- 0xFF:最高8位為11111111,標識此地址為組播地址。即IPv6組播地址總是以FF開頭。
- Flags字段(4位),用來標識組播地址的狀態(tài)。格式如下:
圖2 Flags字段格式
Scope字段(4位):用來標識組播組的應用范圍,例如是只包含同一本地網(wǎng)絡、同一站點、同一機構中的節(jié)點,還是包含全球地址空間內(nèi)的任何節(jié)點。其含義如下:
表4 Scope字段的取值及含義
Group ID(112位):組播組標識號。用來在由Scope字段所指定的范圍內(nèi)唯一標識組播組,該標識可能是永久分配的或臨時的,這由Flags字段的T位決定。
固定的IPv6組播地址的范圍及含義如表5、表6。
表5 IPv6組播地址的范圍及含義
表6 IPv6常用組播地址范圍及含義
IPv4組播MAC地址映射關系
以太網(wǎng)傳輸IPv4單播報文的時候,目的MAC地址使用的是接收者的MAC地址。但是在傳輸組播數(shù)據(jù)時,其目的地不再是一個具體的接收者,而是一個成員不確定的組,所以要使用IPv4組播MAC地址,即IPv4組播地址映射到鏈路層中的地址。
IANA規(guī)定,IPv4組播MAC地址的高24位為0x01005e,第25位為0,低23位為IPv4組播地址的低23位,映射關系如圖3所示。例如組播組地址224.0.1.1對應的組播MAC地址為01-00-5e-00-01-01。
圖3 IPv4組播地址與IPv4組播MAC地址的映射關系
IPv4組播地址的前4位是固定的1110,對應組播MAC地址的高25位,后28位中只有23位被映射到MAC地址,因此丟失了5位的地址信息,直接結果是有32個IPv4組播地址映射到同一MAC地址上。例如IP地址為224.0.1.1、224.128.1.1、225.0.1.1、239.128.1.1等組播組的組播MAC地址都為01-00-5e-00-01-01。網(wǎng)絡管理員在分配地址時必須考慮這種情況。
IPv6組播MAC映射關系
IPv6組播MAC地址的高16位為0x3333,低32位為IPv6組播地址的低32位。如圖4所示,是IPv6組播地址FF01::1111:1的MAC地址映射舉例。
圖4 IPv6組播地址的MAC地址映射舉例
可見IPv6中會有更多的組地址使用同一個MAC地址。