IPV6 組播學習理解


一. 理解IPV6的組播地址

IPv6的 組播地址通常是為IPv6的組播服務,而IPv6通信的核心大量的使用了組播,IPv6不再使用廣播,這與IPv4的通信不同,然而要理解IPv6的組 播,

首先需要明白三個關鍵點:

  第一、任何節點都能夠成為一個多播組成員也叫做組播組成員;

  第二、源節點可以發送數據包到多播組,

  第三、在一個多播組的節點 都能收到發往該組播組的數據。

而對於IPv6組播地址是由固定的8bit地址前綴FF::/8,4bit的標志位,4bit組播范圍和112bit多播組標識符(組ID)組成。

|         8          |  4        |      4     |                     112                                  |
        +---------------+--------+---------+---------------------------------------------+
         |11111111  |   flgs   |   scop  |                  group ID                            |
        +---------------+--------+---------+----------------------------------------------+

  組播地址高8bit為固定值FF,此高8bit4bitflgs位,4bit為組播組的泛洪范圍。

  flgs位: 為4bit|0|R|P|T| , flgs位的高1bit為保留,必須設置為0

  T位: 如果為置0表示永久分配或者是well-known組播地址,如果置1表示臨時分配動態的地址,不固定。

  P位: 如果置1的話表示此組播地址是一個基於單播前綴的ipv6組播地址。默認為0,如果P位設置為1,那么T位必須為1

  R位: 如果置1的話表示此組播地址是一個內嵌RP地址的ipv6組播地址。默認為0

 

二. 理解請求節點的組播地址

 

  理 解IPv6的請求節點組播地址非常重要,因為IPv6的請求節點組播地址提高了數據鏈路層地址解析的效率,在IPv4的環境中,通信需要同時獲得目標主機 的IP地址與MAC地址,當知道目標IP地址時會使用ARP協議去解析數據鏈路層的MAC地址,ARP的地址請求消息是使用廣播發送的,然而在IPv6的 應用環境中不再使用廣播,所以放棄了ARP協議的使用,取而代之的是ICMPv6的節點請求消息,現在需要深入理解的兩個問題:

  

n節點請求主機是如何高效率的去替代IPv4的ARP協議?

 

n節點請求主機是如何去實現該技術?該技術中的IPv6組播地址是如何生成的?

1)在IPv4環境的的ARP地址解析協議是使用目標地址為廣播 (255.255.255.255或者FFFF.FFFF.FFFF)將MAC地址請求消息發送到整個以太網鏈路上的所有主機,即便是A主機只請求D主機 的MAC,B主機與C主機也同樣會收到這個請求廣播,從性能與效率上講這明顯不科學。所以在IPv6的環境中放棄了廣播的的方式,而是采用組播方式將 MAC地址的解析請求,以點對點的形式直接組播到D主機的請求節點組播地址FF02::1:FFAA:4C3E。而不再將請求消息發送到無關的主機B和主 機C,所以IPv6的節點請求的確是高效率去替代IPv4的ARP協議。

 

 

  2)節點請求主機能夠以一種“點對點”的形式將MAC地址請求消息發送到目標主機D,是因為D主機的請求節點組播地址FF02::1:FFAA:4C3E在整個鏈路上是唯一的,所以源主機可以直接將節點請求信息發到目標主機節點請求組播地址上,節點請求組播地址是提高MAC地址解析的核心技術,那么這個目標主機的節點請求組播是如何生成的?

節點請求組播的構成如下圖12.60所示,該組播地址是將一個單播IPv6地址(可以是本地鏈路地址也可以是全球單播地址)的后24位填充到一個請求節點組播地址的124位的固定前綴FF02::1:FF中,生成一個唯一的節點請求組播地址。

 

121929178.png

 

 

 

三. 理解IPV6的組播地址與MAC地址的映射關系

IPv6的節點請求多播地址去替代了ARP地址解析協議的目標廣播地址255.255.255.255,注意:這只能表示IPv6的節點請求從網絡層上的優化與改進,在數據鏈路層會有什么樣改進這是本小節討論的重點。

在 IPv4的ARP地址解析協議中的請求消息報文的目標鏈路層地址為FFFF.FFFF.FFFF哪么在IPv6中節點請求消息報文的目標鏈路層地址是什 么?在IPv4中組播的IP地址是可以映射成為數據鏈路層的MAC地址,在IPv6中這個概念仍然生效,IPv6的節點請求組播地址也可以映射成數據鏈路 層地址,具體方法如下圖12.62所示組播的MAC地址是通地IPv6的組播IP地址映射而來,映射的原則是:將IPv6組播地址的后32位取出,填充到固定前綴是3333的MAC地址中來生成數據鏈路層地址。

 

122107606.png

 

比如一個眾所周知的IPv6組播地址:FF02::1它所對應的MAC地址是什么?首先將該“零壓縮”的IPv6地址還原為完整格式的IPv6地址為:FFF02:0000:0000:0000:0000:0000: 0000: 0001,然后將該地址的最后32個二進制位取出,一個十六進制位就為4個二進制位,所以最后32個二進制位就是0000:0001,將這部分填充到IPv6組播MAC的固定前綴3333,就得到FF02::1所對應的MAC地址是3333:0000:0001。具體過程如圖所示。

 

122227473.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM