• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

IPv6組播技術白皮書

關鍵詞:IPv6,組播,MLDPIMEmbedded RPSSM

    要:本文介紹了IPv6組播地址和IPv6組播協議等技術要點。

縮略語:

縮略語

英文全名

中文解釋

DM

Dense Mode

密集模式

ICMP

Internet Control Message Protocol

互聯網控製報文協議

IGMP

Internet Group Management Protocol

互聯網組管理協議

MBGP

Multicast Border Gateway Protocol

組播邊界網關協議

MLD

Multicast Listener Discovery

組播偵聽者發現協議

MLD Snooping

Multicast Listener Discovery Snooping

組播偵聽者發現協議窺探

MSDP

Multicast Source Discovery Protocol

組播源發現協議

PIM

Protocol Independent Multicast

協議無關組播

RP

Rendezvous Point

彙集點

SM

Sparse Mode

稀疏模式

SSM

Source-Specific Multicast

指定信源組播

 



概述

作為IPv4協議的替代,IPv6協議使用128位的地址結構解決了IP地址不足的問題,同時對一些特性進行了優化處理。出現於IPv4時代的組播技術,由於其有效解決了單點發送、多點接收的問題,實現了網絡中點到多點的高效數據傳送,能夠大量節約網絡帶寬、降低網絡負載,因此在IPv6中的應用得到了進一步的豐富和加強。

IPv6組播與IPv4組播的最大不同在於IPv6組播地址機製的極大豐富,而其它諸如組成員管理、組播報文轉發以及組播路由建立等與IPv4組播基本相同。因此,本文將重點介紹組播地址對IPv6的支持情況;對於IPv6組播協議,隻對其與IPv4組播協議的異同進行大致的介紹。

IPv6組播技術實現

2.1  IPv6組播地址

在介紹IPv6組播地址之前,先簡單回顧一下IPv6的地址結構:IPv6地址的長度為128比特,由使用冒號分隔的八節16比特的十六進製數表示,例如:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

2.1.1  IPv6組播地址格式

IPv6組播地址用來標識一組接口,一般這些接口屬於不同的節點。一個節點可能屬於0到多個組播組。發往組播地址的報文被組播地址標識的所有接口接收。

圖1 IPv6組播地址格式

IPv6組播地址的格式如1所示,其中各字段的含義如下:

(1)        0xFF:最高8比特為11111111,標識此地址為組播地址。

(2)        Flags4比特。如2所示,Flags字段中各位的取值如下:

圖2 Flags字段格式

l              最高位為保留位,必須為0

l              R位取0表示非內嵌RP的組播地址;取1則表示內嵌RP的組播地址,此時PT位也必須置1

l              P位取0表示非基於單播前綴的組播地址;取1則表示基於單播前綴的組播地址,此時T位也必須置1

l              T位取0表示永久分配組播地址;取1則表示非永久分配的組播地址。

(3)        Scope4比特。用來標識此組播組的應用範圍,其取值及含義如1所示。

表1 Scope字段的取值及其含義

取值

含義

03F

保留(reserved

1

接口本地範圍(interface-local scope

2

鏈路本地範圍(link-local scope

4

管理本地範圍(admin-local scope

5

站點本地範圍(site-local scope

679D

未分配(unassigned

8

機構本地範圍(organization-local scope

E

全球範圍(global scope

 

(4)        Group ID112比特,組播組標識號。用來在由Scope字段所指定的範圍內唯一標識組播組,該標識可能是永久分配的或臨時的,這由Flags字段的T位決定。

2.1.2  永久分配的IPv6組播地址

根據RFC 4291,目前已被永久分配的IPv6組播地址如2所示。

表2 永久分配的IPv6組播地址

名稱

地址

說明

保留組播地址

l      FF0x::

不能分配給任何組播組

所有節點組播地址

l      FF01::1(節點本地)

l      FF02::1(鏈路本地)

-

所有路由器組播地址

l      FF01::2(節點本地)

l      FF02::2(鏈路本地)

l      FF05::2(站點本地)

-

被請求節點組播地址

l      FF02::1:FFxx:xxxx

由在被請求節點單播或任播地址的低24位前增加地址前綴FF02::1:FF00::/104而得,如4037::01:800:200E:8C6C對應於FF02::1:FF0E:8C6C

 

&  說明:

2中的x代表0F的任意一個十六進製數。

 

2.1.3  基於單播前綴的IPv6組播地址

RFC 3306中規定了一種動態分配IPv6組播地址的方式——基於單播前綴的IPv6組播地址。這種IPv6組播地址中包含了其組播源網絡的單播地址前綴,通過這種方式分配全局唯一的組播地址。

圖3 基於單播前綴的IPv6組播地址格式

基於單播前綴的IPv6組播地址的格式如3所示,其中各字段的含義如下:

(1)        Flags字段的R位置0PT位則分別置1,表示基於單播前綴的組播地址。

(2)        Reserved8比特。保留字段,必須為0

(3)        Plen8比特。表示網絡前綴的有效長度(單位為比特)。

(4)        Network prefix64比特。表示該組播地址所屬子網的單播前綴,有效長度由Plen字段指定。

(5)        Group ID:縮短為32比特,含義不變。

&  說明:

其它字段的介紹請參見“2.1.1  IPv6組播地址格式”一節。

 

例如:單播前綴為3FFE:FFFF:1::/48的網絡分配基於單播前綴的組播地址為FF3x:30:3FFE:FFFF:1::/96x表示任意合法的Scope)。

2.1.4  內嵌RP地址的IPv6組播地址

1. 地址格式

嵌入式RPEmbedded RP)是IPv6 PIM中特有的RP發現機製,該機製使用內嵌RP地址的IPv6組播地址,使得組播路由器可以直接從該地址中解析出RP的地址。

圖4 內嵌RP地址的IPv6組播地址格式

4所示,內嵌RP地址的IPv6組播地址使用基於單播前綴的IPv6組播地址格式,其中各字段的含義如下:

(1)        Flags字段的RPT位均置1,表示內嵌RP地址的組播地址。

(2)        Reserved4比特。保留字段,必須為0

(3)        RIID4比特。表示RP地址的接口ID

(4)        Plen8比特。表示RP地址前綴的有效長度(單位為比特)。

(5)        Network prefix64比特。表示RP地址前綴,有效長度由Plen字段指定。

(6)        Group ID:縮短為32比特,含義不變。

&  說明:

其它字段的介紹請參見“2.1.1  IPv6組播地址格式”一節。

 

2. 計算規則

內嵌於IPv6組播地址中的RP地址的計算規則如下:

(1)        先將IPv6組播地址Network prefix字段的前Plen位作為RP地址的網絡前綴;

(2)        再將IPv6組播地址RIID字段填充到RP地址的最低4位;

(3)        最後,將RP地址的所有剩餘位補0

例如:對於IPv6組播地址FF7E:F40:2001:DB8:BEEF:FEED::1234,內嵌於其中的RP地址的前綴為Network prefix字段的前Plen(這裏為0x40 = 64 bits)位,最低4位與RIID字段同為0xF,其餘位均為0,如5所示。

圖5 嵌入式RP計算舉例

3. 應用舉例

假設網絡管理員想在2001:DB8:BEEF:FEED::/64網段中設置RP,則內嵌RP地址的IPv6組播地址為FF7x:y40:2001:DB8:BEEF:FEED::/96,可分配32比特的Group ID,內嵌於其中的RP地址為2001:DB8:BEEF:FEED::y/64

如果網絡管理員想在IPv6組播地址中保留更多可分配的Group ID,可以選擇更短的RP地址前綴:譬如取Plen = 0x20 = 32 bits,則此時內嵌RP地址的IPv6組播地址為FF7x:y20:2001:DB8::/64,可分配64比特的Group ID,內嵌於其中的RP地址為2001:DB8::y/32

&  說明:

本節中的x表示任意合法的Scopey代表1F的任意一個十六進製數。

 

2.1.5  IPv6 SSM組播地址

IPv6 SSM組播地址也使用基於單播前綴的IPv6組播地址格式,其中的Plen字段和Network prefix字段均取0。按照這個規定,IPv6 SSM組播地址範圍為FF3x::/32x表示任意合法的Scope)。

2.1.6  IPv6組播MAC地址

IPv6組播MAC地址以0x3333開頭,低32位為IPv6組播地址的低32位,最終形成48比特的組播MAC地址。如6所示,IPv6組播地址FF1E::F30E:101所對應的組播MAC地址為33-33-F3-0E-01-01

圖6 IPv6組播地址的MAC地址映射舉例

2.2  IPv6組播協議

IPv6支持的組播協議包括MLDMLD SnoopingIPv6 PIMIPv6 MBGP等。

2.2.1  組播組管理協議

MLD協議源自IGMP協議——MLDv1對應於IGMPv2MLDv2對應於IGMPv3。與IGMP協議采用IP協議號為2的報文類型不同,MLD協議采用ICMPv6IP協議號為58)的報文類型,包括MLD查詢報文(類型值130)、MLDv1報告報文(類型值131)、MLDv1離開報文(類型值132)和MLDv2報告報文(類型值143)。MLD協議與IGMP協議除報文格式不同外,協議行為完全相同。

同樣地,MLD SnoopingIGMP Snooping協議也基本相同。

2.2.2  組播路由協議

IPv6 PIM協議與IPv4 PIM協議除報文中IP地址結構不同外,其它協議行為基本相同,IPv6 PIM也支持SMDMSSM這三種模式。

IPv6 PIM發送鏈路本地範圍的協議報文(包括PIM HelloJoin-PruneAssertBootstrapGraftGraft-AckState-refresh報文)時,報文的源IPv6地址使用發送接口的鏈路本地地址;IPv6 PIM發送全球範圍的協議報文(包括RegisterRegister-StopC-RP Advertisement報文)時,報文的源IPv6地址使用發送接口的全球單播地址。

IPv6組播並不支持MSDP協議,如果需要接收來自其它IPv6 PIM域的組播數據,有以下兩種實現方式:

l              通過其它方式(譬如廣告等)直接獲取其它IPv6 PIM域內的組播源地址,使用IPv6 PIM-SSM發起指定源組的加入;

l              使用嵌入式RP機製,通過嵌入RP地址的IPv6組播地址來獲取其它IPv6 PIM域內的RP地址,向其它域內的RP發起組加入。

對於域間IPv6組播路由信息的傳遞,則可以使用IPv6MBGP協議,其與IPv4MBGP協議也基本相同。

參考文獻

l              RFC 4291IP Version 6 Addressing Architecture

l              RFC 3306Unicast-Prefix-based IPv6 Multicast Addresses

l              RFC 3956Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address

 

Copyright ©2008 杭州華三通信技術有限公司 版權所有,保留一切權利。

非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。

本文檔中的信息可能變動,恕不另行通知。

附件下載

BOB登陆
官網
聯係我們