1. 程式人生 > >組播IP轉換為組播MAC地址【轉載】

組播IP轉換為組播MAC地址【轉載】

映射關系 映射 過程 clas 網段 使用 3層 ans spa


鏈接:https://www.zhihu.com/question/36730567/answer/83083851
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

組播IP轉換為組播MAC地址是一種32:1的映射關系。
組播IP地址:
IANA將D類地址空間分配給IP組播地址。該空間的地址用二進制表示並且第一個八位組的前4位用1110表示,
技術分享

因此IP組播地址的範圍從224.0.0.0到239.255.255.255 。

組播MAC地址:IEEE MAC地址規定了第一個八位組的Octet 0的bit 0指明了目標地址是廣播/組播地址,還是單播地址。
技術分享

如果此位被置位,那麽MAC的幀即可以被定為任意的主機組(組播),也可以被定義為網絡的所有主機(廣播)。第2層IP組播利用此功能傳送IP組播信息包到局域網段的主機組(即組播IP到組播MAC的映射)。

以太網組播MAC地址映射:
就以太網而言,IP組播幀都使用以0x0100.5Exx.xxxx的24位前綴開始MAC層地址。剩下24位地址由於某些原因只有這些MAC地址的一半(即後23位)可以被IP組播使用。因剩下的MAC地址空間的23位作為第3層IP組播地址進入第2層MAC地址的映射使用。因為所以的第3層IP組播地址必須把32位的前4位設成0x1110,剩下28位作為有意義的IP組播地址信息。這28位必須映射成可用的只有23位的MAC地址。
技術分享因為第3層IP組播地址信息的全部28位不能映射進入只有23位可用的MAC地址空間,所以在映射過程中丟失了5位地址信息。將導致第3層IP地址映射成第2層IEEE MAC地址時2^5或32個IP組播地址映射成同一個組播MAC地址。這意味著每一個IEEE IP組播MAC地址能表示32個IP組播地址。
技術分享

-------------------------------------------------------------------
技術分享以上內容摘抄自《IP組播網絡設計開發(第1卷)》Beau Williamson著

組播IP轉換為組播MAC地址【轉載】