依據(jù)IETF的RFC 2373《IPv6尋址架構(gòu)》的規(guī)定,IPv6地址是接口和接口集的128位標(biāo)識(shí)符;并將IPv6地址的類型分為單播地址、組播地址和任播地址三類,其含義詳見下表0中。下述對(duì)IPv6的這三種地址類型給予介紹。
表 0:?jiǎn)尾サ刂?、組播地址和任播地址的釋義
欲具體了解RFC 2373標(biāo)準(zhǔn)內(nèi)容的請(qǐng)進(jìn)入。
“任播地址”與“組播地址”雖然都用于標(biāo)志一組物理接口,但是發(fā)向任播地址的IP分組將僅投遞給由該任播地址標(biāo)志的接口之一,具體哪個(gè)接口來(lái)代表全組,則取決于按照所采用的路徑算法,哪個(gè)接口離發(fā)送該IP分組的源的路徑最短。RFC 2460還把Anycast地址稱為“Cluster”地址,故國(guó)內(nèi)有人將它譯作群集地址。任播地址本質(zhì)上也是一種組地址,所不同的是網(wǎng)絡(luò)僅需將相關(guān)IP分組投遞給組中某一成員,而不是所有成員。
與IPv4不同的是:IPv6的尋址方式中除增加了任播方式外,還取消了廣播方式(Broadcasting)。從實(shí)際效果看,全Internet網(wǎng)的廣播沒(méi)有實(shí)際意義,子網(wǎng)內(nèi)的廣播可以通過(guò)組播來(lái)實(shí)現(xiàn)。在IPv4中,廣播方式還占用了通信子網(wǎng)中代碼為全“1”的地址。
一、單播地址(Unicast Address)
IPv6的單播地址(Unicast Address)是單個(gè)接口的標(biāo)識(shí)符,發(fā)送單播地址的數(shù)據(jù)包被送到該地址標(biāo)識(shí)的接口。IPv6的單播地址為整合型(Aggregtable)地址,可用若干比特的掩碼(Mask)分層選徑。IPv6標(biāo)準(zhǔn)中已定義的“單播地址”的形式,包括:整合全域型、NSAP型、IPX結(jié)構(gòu)化地址、環(huán)回(Loopback)型地址、線路局部型、場(chǎng)地局部型和支持IPv4主機(jī)地址(帶有嵌入式IPv4地址的IPv6地址)型等,某些具體詳見下表1-0。IPv6路由器可能對(duì)它將要處理的某些IPv6地址的內(nèi)部結(jié)構(gòu)有足夠的了解,但主機(jī)(Host)卻可能了解甚少。因此,在最壞情況下,網(wǎng)絡(luò)節(jié)點(diǎn)(主機(jī)或路由器)可能把“單播地址”視為128比特組成的無(wú)內(nèi)部結(jié)構(gòu)的地址;“知識(shí)”稍多的節(jié)點(diǎn)可能把“單播地址”視為由n比特子網(wǎng)前綴(Sub-network Prefix)和長(zhǎng)度為128比特減去n比特的接口標(biāo)志符(Interface ID)組成。根據(jù)節(jié)點(diǎn)在網(wǎng)絡(luò)中扮演的作用,它也可能具備某類地址內(nèi)部結(jié)構(gòu)的知識(shí)。
表 1-0:幾種“單播地址”的形式
1、接口標(biāo)志符(Interface ID)
IPv6中單播地址中的接口標(biāo)志符用于標(biāo)志一條線路上的接口,它必須在該線路上具備惟一性,也可能在更廣大的范圍內(nèi)具有惟一性。在許多場(chǎng)合,接口標(biāo)志符就是該接口的數(shù)據(jù)線路地址。對(duì)同一節(jié)點(diǎn),同一接口標(biāo)志符也可以用來(lái)標(biāo)志多個(gè)接口,因?yàn)橥还?jié)點(diǎn)的不同的接口可能有不同的子網(wǎng)前綴。
IPv6中的許多格式的前綴都要求接口標(biāo)志符為64比特;并且要求符合IEEE EUI-64的格式。以EUI-64為基礎(chǔ)的接口標(biāo)志符可能具備全局意義(如使用IEEE 48比特MAC地址時(shí)),也可能只具備局部意義(如串行線路上、在隧道端點(diǎn)等)。64比特的接口標(biāo)志符中的前3字節(jié)具有下圖1-1所示的格式。
圖 1-1:IPv6中64比特的接口標(biāo)志符中的前3個(gè)字節(jié)格式規(guī)定
欲具體了解EUI-64技術(shù)介紹的請(qǐng)進(jìn)入。
上圖中的C為二進(jìn)制比特,組成公司標(biāo)志符(Company-Id);U為全局/局部(Universal/Local)標(biāo)志位,“1”表示全局,“0”表示局部;G為單/組(Single/Group)標(biāo)志(注意:IPv6中對(duì)U比特的使用方法與EUI-64中的規(guī)定相反)。
2、整合全域型單播地址(Aggregatable Global Unicast Addresses)
整合型全域單播地址是為支持目前的服務(wù)提供商整合和交換整合兩種方式而設(shè)置的。二者的結(jié)合可使直接連接到網(wǎng)絡(luò)訪問(wèn)服務(wù)提供商的“用戶場(chǎng)地”(Site)與直接連接到交換機(jī)(Exchange)的“用戶場(chǎng)地”間高效地實(shí)現(xiàn)選徑方式的整合。不同場(chǎng)地的用戶可以選擇連接到上面兩種整合點(diǎn)之一上。整合型全域單播地址具有下圖1-2所示的格式,關(guān)于圖中的符號(hào)含義見下表1-2。整合型全域單播地址的詳細(xì)描述見RFC 2374。
圖 1-2:整合型全域單播地址格式
表 1-2:整合型全域單播地址格式中符號(hào)含義
3、局部用單播地址(Local-use Unicast Address)
局部用單播地址有兩類:線路局部(Link-Local)用單播地址和場(chǎng)地局部(Site-Local)用單播地址,分別在單鏈線路上和在單個(gè)場(chǎng)地內(nèi)使用。線路局部用單播地址的設(shè)計(jì)的目的是為了在單條鏈路上(為了進(jìn)行自動(dòng)地址配置和鄰居站點(diǎn)自動(dòng)發(fā)現(xiàn)的需要,或者在無(wú)路由器存在時(shí))進(jìn)行尋址。相關(guān)標(biāo)準(zhǔn)規(guī)定:路由器絕不能將“源地址”或“目的地址”為“線路局部用單播地址”格式的分組轉(zhuǎn)發(fā)到其他鏈路上。“線路局部用單播地址”的格式如下圖1-3-1所示,圖中Interface ID的格式如圖1-1。線路局部用單播地址的前綴總是FE80::/64。
圖 1-3-1:線路局部用單播地址格式
場(chǎng)地局部用單播地址的格式如下圖1-3-2所示。由于場(chǎng)地局部單播地址僅用于場(chǎng)地內(nèi)部,故圖中的Subnet ID(子網(wǎng)標(biāo)志符)為場(chǎng)地內(nèi)部的子網(wǎng)標(biāo)志符,可以在自己的機(jī)構(gòu)內(nèi)創(chuàng)建子網(wǎng),路由器不得把帶有“場(chǎng)地局部單播地址”的分組轉(zhuǎn)接到場(chǎng)地外部的網(wǎng)絡(luò)。場(chǎng)地局部用單播地址相當(dāng)于IPv4中的私有地址空間。場(chǎng)地局部用單播地址的前綴總是FEC0::/48。
圖 1-3-2:場(chǎng)地局部用單播地址格式
二、組播地址(Multicast Address)
IPv6的組播地址(Multicast Address)是一組接口(通常屬于不同節(jié)點(diǎn))的標(biāo)識(shí)符,發(fā)送到多播地址的數(shù)據(jù)包將被發(fā)送到由該地址標(biāo)識(shí)的所有接口。一個(gè)節(jié)點(diǎn)可以隸屬于任意多個(gè)廣播組。
1、組播地址格式
組播地址格式如下圖2-1所示。圖中各字段的解釋如下:
圖 2-1:組播地址格式
一是前綴(FP):8比特“11111111”,表示此地址為組播地址;
二是標(biāo)志(Flag):4比特,其中,前3比特保留,第4比特為“臨時(shí)”(T比特,即Transient)位,為“0”時(shí)表示為永久性組播地址,為“1”表示為臨時(shí)性組播地址;
三是有效域(Scope):4比特用于限制組播地址的有效作用范圍,目前RFC 2373定義的Scope值詳見下表2-1-3。
表 2-1-3:IPv6的組播地址的范圍字段的定義值
四是組播“組標(biāo)志符”(Group ID):用于標(biāo)志二個(gè)(獨(dú)立于Scope的)永久性組播成員組,或者用于標(biāo)志在Scope限定的范圍內(nèi)有效域臨時(shí)性組播成員組。RFC 2375定義了那些被永久分配的IPv6組播的初始方案,詳見下表2-1-4。
表 2-1-4:IPv6永久組播地址方案
注意:組播地址不能用作IPv6數(shù)據(jù)包中的源地址,也不能出現(xiàn)在任何路由頭中。
2、預(yù)定義組播地址
下表2-2是預(yù)定義的知名IPv6組播地址(Pre-Defined Multicast Addresses)。
表 2-2:預(yù)定義的知名IPv6組播地址
3、新IPv6組播地址的分配
當(dāng)前的方法將IPv6組播地址映射到IEEE 802 MAC地址,采用IPv6組播地址的低階32位并使用它來(lái)創(chuàng)建MAC地址(請(qǐng)注意令牌環(huán)網(wǎng)絡(luò)的處理方式不同)。組ID小于或等于32位將生成唯一的MAC地址。由于這個(gè)新的IPv6組播地址應(yīng)該分配,使組標(biāo)識(shí)符總是在低階32位,如下圖2-3所示(參見圖2-1)。圖中設(shè)置雖然這將永久IPv6組播組的數(shù)量限制在232,但這在未來(lái)不太可能成為限制。如果將來(lái)有必要超過(guò)這個(gè)限制,多播仍然可以工作,但處理速度會(huì)稍微慢一些。額外的IPv6組播新地址由互聯(lián)網(wǎng)號(hào)碼分配機(jī)構(gòu)(IANA)負(fù)責(zé)。
圖 2-3:低階32位的IPv6組播地址
三、任播地址(Anycast Address)
IPv6的任播地址(Anycast Address)是一組接口(通常屬于不同節(jié)點(diǎn))的標(biāo)識(shí)符,發(fā)送到任播地址的數(shù)據(jù)包被傳送到由該地址標(biāo)識(shí)的一個(gè)接口(根據(jù)路由協(xié)議的距離度量,是“最近的”接口)。任播地址指派給一個(gè)以上的接口(其典型情況為不同節(jié)點(diǎn)上的多個(gè)接口),發(fā)給任播地址的分組將被路由器按其“最短路徑”算法,投遞給該組接口中“最近”的一個(gè)。因此也有人稱“組代播地址”。任播地址占用“單播地址”空間,并使用任一種單播地址格式。當(dāng)“單播地址”被指派給一組接口時(shí),該地址就成為“任播地址”。被指派為“任播地址”的所有節(jié)點(diǎn)必須明確地配置得使它們知道其地址為“任播地址”。
“任播地址”具有下圖3所示的格式。圖中的Subnet Prefix為子網(wǎng)前綴(簡(jiǎn)稱“P”),用于標(biāo)志“任播地址”組內(nèi)所有接口的拓?fù)鋮^(qū)域。在該區(qū)域內(nèi),P組內(nèi)的每個(gè)成員必須作為一個(gè)獨(dú)立的地址表項(xiàng)以“廣告”方式進(jìn)入選徑表(通常稱為主機(jī)選徑)。在該區(qū)域之外,P作為標(biāo)志符,“任播地址”可以整合進(jìn)“P”的路徑“廣告”過(guò)程中。
圖 3:任播地址格式
應(yīng)當(dāng)指出:如果“任播地址”中的“P”為0時(shí),該地址的拓?fù)鋮^(qū)不再具有局部性,而成為整個(gè)Internet內(nèi)的全局“任播地址”,因而其“廣告”過(guò)程必須在整個(gè)Internet內(nèi)進(jìn)行。因此,不宜支持全網(wǎng)性“任播地址”。人們預(yù)料“任播地址”可能應(yīng)用將是用于標(biāo)志提供Internet服務(wù)的組織/機(jī)構(gòu)的路由器組、接入某通信子網(wǎng)的路由器組,或者進(jìn)入某特定路徑域的一組路由器。
注意:任意播地址不能作為IPv6報(bào)文的源地址。任意播地址不能分配給IPv6主機(jī),也就是說(shuō),它只能分配給IPv6路由器。
事實(shí)上,有關(guān)上述IPv6地址的分配是由互聯(lián)網(wǎng)號(hào)碼分配機(jī)構(gòu)(IANA)負(fù)責(zé)的。
欲詳細(xì)了解互聯(lián)網(wǎng)號(hào)碼分配機(jī)構(gòu)(IANA)關(guān)于IPv6地址分配情況的請(qǐng)進(jìn)入。
欲進(jìn)一步了解IPv6地址技術(shù)介紹的請(qǐng)進(jìn)入。