IPv6地址的表示方法
IPv6地址總長(zhǎng)度為128比特,通常分為8組,每組為4個(gè)十六進(jìn)制數(shù)的形式,每組十六進(jìn)制數(shù)間用冒號(hào)分隔。例如:FC00130F0000876A:130B,這是IPv6地址的首選格式。
為了書寫方便,IPv6還提供了壓縮格式,以上述IPv6地址為例,具體壓縮規(guī)則為:
每組中的前導(dǎo)“0”都可以省略,所以上述地址可寫為:FC00130F0876A:130B。
地址中包含的連續(xù)兩個(gè)或多個(gè)均為0的組,可以用雙冒號(hào)“::”來(lái)代替,所以上述地址又可以進(jìn)一步簡(jiǎn)寫為:FC00130F:876A:130B。
說(shuō)明: 需要注意的是,在一個(gè)IPv6地址中只能使用一次雙冒號(hào)“::”, 否則當(dāng)計(jì)算機(jī)將壓縮后的地址恢復(fù)成128位時(shí),無(wú)法確定每個(gè)“::”代表0的個(gè)數(shù)。
IPv6地址的結(jié)構(gòu)
一個(gè)IPv6地址可以分為如下兩部分:
網(wǎng)絡(luò)前綴:n比特,相當(dāng)于IPv4地址中的網(wǎng)絡(luò)ID
接口標(biāo)識(shí):128-n比特,相當(dāng)于IPv4地址中的主機(jī)ID
說(shuō)明: 對(duì)于IPv6單播地址來(lái)說(shuō), 如果地址的前三bit不是000,則接口標(biāo)識(shí)必須為64位; 如果地址的前三位是000,則沒有此限制。
接口標(biāo)識(shí)可通過(guò)三種方法生成:手工配置、系統(tǒng)通過(guò)軟件自動(dòng)生成或IEEE EUI-64規(guī)范生成。其中,EUI-64規(guī)范自動(dòng)生成最為常用。
IEEE EUI-64規(guī)范是將接口的MAC地址轉(zhuǎn)換為IPv6接口標(biāo)識(shí)的過(guò)程。如圖1所示,MAC地址的前24位(用c表示的部分)為公司標(biāo)識(shí),后24位(用m表示的部分)為擴(kuò)展標(biāo)識(shí)符。從高位數(shù),第7位是0表示了MAC地址全球唯一。轉(zhuǎn)換的第一步將FFFE插入MAC地址的公司標(biāo)識(shí)和擴(kuò)展標(biāo)識(shí)符之間,第二步將從高位數(shù),第7位的0改為1表示此接口標(biāo)識(shí)本地唯一。
圖1 EUI-64規(guī)范示意圖
例如:MAC地址:000E-0C82-C4D4;轉(zhuǎn)換后:020EFE82:C4D4。
這種由MAC地址產(chǎn)生IPv6地址接口標(biāo)識(shí)的方法可以減少配置的工作量,尤其是當(dāng)采用無(wú)狀態(tài)地址自動(dòng)配置時(shí),只需要獲取一個(gè)IPv6前綴就可以與接口標(biāo)識(shí)形成IPv6地址。但是使用這種方式最大的缺點(diǎn)是任何人都可以通過(guò)二層MAC地址推算出三層IPv6地址。
IPv6的地址分類
IPv6地址分為單播地址、任播地址(Anycast Address)、組播地址三種類型。和IPv4相比,取消了廣播地址類型,以更豐富的組播地址代替,同時(shí)增加了任播地址類型。
IPv6單播地址
IPv6單播地址標(biāo)識(shí)了一個(gè)接口,由于每個(gè)接口屬于一個(gè)節(jié)點(diǎn),因此每個(gè)節(jié)點(diǎn)的任何接口上的單播地址都可以標(biāo)識(shí)這個(gè)節(jié)點(diǎn)。發(fā)往單播地址的報(bào)文,由此地址標(biāo)識(shí)的接口接收。
IPv6定義了多種單播地址,目前常用的單播地址有:未指定地址、環(huán)回地址、全球單播地址、鏈路本地地址、唯一本地地址ULA(Unique Local Address)。
未指定地址
IPv6中的未指定地址即 0000:0/128 或者::/128。該地址可以表示某個(gè)接口或者節(jié)點(diǎn)還沒有IP地址,可以作為某些報(bào)文的源IP地址(例如在NS報(bào)文的重復(fù)地址檢測(cè)中會(huì)出現(xiàn))。源IP地址是::的報(bào)文不會(huì)被路由設(shè)備轉(zhuǎn)發(fā)。
環(huán)回地址
IPv6中的環(huán)回地址即 0000:1/128 或者::1/128。環(huán)回與IPv4中的127.0.0.1作用相同,主要用于設(shè)備給自己發(fā)送報(bào)文。該地址通常用來(lái)作為一個(gè)虛接口的地址(如Loopback接口)。實(shí)際發(fā)送的數(shù)據(jù)包中不能使用環(huán)回地址作為源IP地址或者目的IP地址。
全球單播地址
全球單播地址是帶有全球單播前綴的IPv6地址,其作用類似于IPv4中的公網(wǎng)地址。這種類型的地址允許路由前綴的聚合,從而限制了全球路由表項(xiàng)的數(shù)量。
全球單播地址由全球路由前綴(Global routing prefix)、子網(wǎng)ID(Subnet ID)和接口標(biāo)識(shí)(Interface ID)組成,其格式如圖2所示:
圖2 全球單播地址格式
Global routing prefix:全球路由前綴。由提供商(Provider)指定給一個(gè)組織機(jī)構(gòu),通常全球路由前綴至少為48位。目前已經(jīng)分配的全球路由前綴的前3bit均為001。
Subnet ID:子網(wǎng)ID。組織機(jī)構(gòu)可以用子網(wǎng)ID來(lái)構(gòu)建本地網(wǎng)絡(luò)(Site)。子網(wǎng)ID通常最多分配到第64位。子網(wǎng)ID和IPv4中的子網(wǎng)號(hào)作用相似。
Interface ID:接口標(biāo)識(shí)。用來(lái)標(biāo)識(shí)一個(gè)設(shè)備(Host)。
鏈路本地地址
鏈路本地地址是IPv6中的應(yīng)用范圍受限制的地址類型,只能在連接到同一本地鏈路的節(jié)點(diǎn)之間使用。它使用了特定的本地鏈路前綴FE80::/10(最高10位值為1111111010),同時(shí)將接口標(biāo)識(shí)添加在后面作為地址的低64比特。
當(dāng)一個(gè)節(jié)點(diǎn)啟動(dòng)IPv6協(xié)議棧時(shí),啟動(dòng)時(shí)節(jié)點(diǎn)的每個(gè)接口會(huì)自動(dòng)配置一個(gè)鏈路本地地址(其固定的前綴+EUI-64規(guī)則形成的接口標(biāo)識(shí))。這種機(jī)制使得兩個(gè)連接到同一鏈路的IPv6節(jié)點(diǎn)不需要做任何配置就可以通信。所以鏈路本地地址廣泛應(yīng)用于鄰居發(fā)現(xiàn),無(wú)狀態(tài)地址配置等應(yīng)用。
以鏈路本地地址為源地址或目的地址的IPv6報(bào)文不會(huì)被路由設(shè)備轉(zhuǎn)發(fā)到其他鏈路。鏈路本地地址的格式如圖3所示:
圖3 鏈路本地地址格式
唯一本地地址
唯一本地地址是另一種應(yīng)用范圍受限的地址,它僅能在一個(gè)站點(diǎn)內(nèi)使用。由于本地站點(diǎn)地址的廢除(RFC3879),唯一本地地址被用來(lái)代替本地站點(diǎn)地址。
唯一本地地址的作用類似于IPv4中的私網(wǎng)地址,任何沒有申請(qǐng)到提供商分配的全球單播地址的組織機(jī)構(gòu)都可以使用唯一本地地址。唯一本地地址只能在本地網(wǎng)絡(luò)內(nèi)部被路由轉(zhuǎn)發(fā)而不會(huì)在全球網(wǎng)絡(luò)中被路由轉(zhuǎn)發(fā)。唯一本地地址格式如圖4所示:
·圖4 唯一本地地址格式
Prefix:前綴;固定為FC00::/7。
L:L標(biāo)志位;值為1代表該地址為在本地網(wǎng)絡(luò)范圍內(nèi)使用的地址;值為0被保留,用于以后擴(kuò)展。
Global ID:全球唯一前綴;通過(guò)偽隨機(jī)方式產(chǎn)生。
Subnet ID:子網(wǎng)ID;劃分子網(wǎng)使用。
Interface ID:接口標(biāo)識(shí)。
唯一本地地址具有如下特點(diǎn):
具有全球唯一的前綴(雖然隨機(jī)方式產(chǎn)生,但是沖突概率很低)。
可以進(jìn)行網(wǎng)絡(luò)之間的私有連接,而不必?fù)?dān)心地址沖突等問題。
具有知名前綴(FC00::/7),方便邊緣設(shè)備進(jìn)行路由過(guò)濾。
如果出現(xiàn)路由泄漏,該地址不會(huì)和其他地址沖突,不會(huì)造成Internet路由沖突。
應(yīng)用中,上層應(yīng)用程序?qū)⑦@些地址看作全球單播地址對(duì)待。
獨(dú)立于互聯(lián)網(wǎng)服務(wù)提供商ISP(Internet Service Provider)。
IPv6組播地址
IPv6的組播與IPv4相同,用來(lái)標(biāo)識(shí)一組接口,一般這些接口屬于不同的節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)可能屬于0到多個(gè)組播組。發(fā)往組播地址的報(bào)文被組播地址標(biāo)識(shí)的所有接口接收。例如組播地址FF02::1表示鏈路本地范圍的所有節(jié)點(diǎn),組播地址FF02::2表示鏈路本地范圍的所有路由器。
一個(gè)IPv6組播地址由前綴,標(biāo)志(Flag)字段、范圍(Scope)字段以及組播組ID(Global ID)4個(gè)部分組成:
前綴:IPv6組播地址的前綴是FF00::/8。
標(biāo)志字段(Flag):長(zhǎng)度4bit,目前只使用了最后一個(gè)比特(前三位必須置0),當(dāng)該位值為0時(shí),表示當(dāng)前的組播地址是由IANA所分配的一個(gè)永久分配地址;當(dāng)該值為1時(shí),表示當(dāng)前的組播地址是一個(gè)臨時(shí)組播地址(非永久分配地址)。
范圍字段(Scope):長(zhǎng)度4bit,用來(lái)限制組播數(shù)據(jù)流在網(wǎng)絡(luò)中發(fā)送的范圍,該字段取值和含義的對(duì)應(yīng)關(guān)系如圖5所示。
組播組ID(Group ID):長(zhǎng)度112bit,用以標(biāo)識(shí)組播組。目前,RFC2373并沒有將所有的112位都定義成組標(biāo)識(shí),而是建議僅使用該112位的最低32位作為組播組ID,將剩余的80位都置0。這樣每個(gè)組播組ID都映射到一個(gè)唯一的以太網(wǎng)組播MAC地址(RFC2464)。
IPv6組播地址格式如圖5所示:
圖5 IPv6組播地址格式
被請(qǐng)求節(jié)點(diǎn)組播地址
被請(qǐng)求節(jié)點(diǎn)組播地址通過(guò)節(jié)點(diǎn)的單播或任播地址生成。當(dāng)一個(gè)節(jié)點(diǎn)具有了單播或任播地址,就會(huì)對(duì)應(yīng)生成一個(gè)被請(qǐng)求節(jié)點(diǎn)組播地址,并且加入這個(gè)組播組。一個(gè)單播地址或任播地址對(duì)應(yīng)一個(gè)被請(qǐng)求節(jié)點(diǎn)組播地址。該地址主要用于鄰居發(fā)現(xiàn)機(jī)制和地址重復(fù)檢測(cè)功能。
IPv6中沒有廣播地址,也不使用ARP。但是仍然需要從IP地址解析到MAC地址的功能。在IPv6中,這個(gè)功能通過(guò)鄰居請(qǐng)求NS(Neighbor Solicitation)報(bào)文完成。當(dāng)一個(gè)節(jié)點(diǎn)需要解析某個(gè)IPv6地址對(duì)應(yīng)的MAC地址時(shí),會(huì)發(fā)送NS報(bào)文,該報(bào)文的目的IP就是需要解析的IPv6地址對(duì)應(yīng)的被請(qǐng)求節(jié)點(diǎn)組播地址;只有具有該組播地址的節(jié)點(diǎn)會(huì)檢查處理。
被請(qǐng)求節(jié)點(diǎn)組播地址由前綴FF02:FF00:0/104和單播地址的最后24位組成。
IPv6任播地址
任播地址標(biāo)識(shí)一組網(wǎng)絡(luò)接口(通常屬于不同的節(jié)點(diǎn))。目標(biāo)地址是任播地址的數(shù)據(jù)包將發(fā)送給其中路由意義上最近的一個(gè)網(wǎng)絡(luò)接口。
任播地址設(shè)計(jì)用來(lái)在給多個(gè)主機(jī)或者節(jié)點(diǎn)提供相同服務(wù)時(shí)提供冗余功能和負(fù)載分擔(dān)功能。目前,任播地址的使用通過(guò)共享單播地址方式來(lái)完成。將一個(gè)單播地址分配給多個(gè)節(jié)點(diǎn)或者主機(jī),這樣在網(wǎng)絡(luò)中如果存在多條該地址路由,當(dāng)發(fā)送者發(fā)送以任播地址為目的IP的數(shù)據(jù)報(bào)文時(shí),發(fā)送者無(wú)法控制哪臺(tái)設(shè)備能夠收到,這取決于整個(gè)網(wǎng)絡(luò)中路由協(xié)議計(jì)算的結(jié)果。這種方式可以適用于一些無(wú)狀態(tài)的應(yīng)用,例如DNS等。
IPv6中沒有為任播規(guī)定單獨(dú)的地址空間,任播地址和單播地址使用相同的地址空間。目前IPv6中任播主要應(yīng)用于移動(dòng)IPv6。
說(shuō)明: IPv6任播地址僅可以被分配給路由設(shè)備,不能應(yīng)用于主機(jī)。任播地址不能作為IPv6報(bào)文的源地址。
子網(wǎng)路由器任播地址
子網(wǎng)路由器任播地址是已經(jīng)定義好的一種任播地址(RFC3513)。發(fā)送到子網(wǎng)路由器任播地址的報(bào)文會(huì)被發(fā)送到該地址標(biāo)識(shí)的子網(wǎng)中路由意義上最近的一個(gè)設(shè)備。所有設(shè)備都必須支持子網(wǎng)任播地址。子網(wǎng)路由器任播地址用于節(jié)點(diǎn)需要和遠(yuǎn)端子網(wǎng)上所有設(shè)備中的一個(gè)(不關(guān)心具體是哪一個(gè))通信時(shí)使用。例如,一個(gè)移動(dòng)節(jié)點(diǎn)需要和它的“家鄉(xiāng)”子網(wǎng)上的所有移動(dòng)代理中的一個(gè)進(jìn)行通信。
子網(wǎng)路由器任播地址由n bit子網(wǎng)前綴標(biāo)識(shí)子網(wǎng),其余用0填充。格式如圖6所示:
圖6 子網(wǎng)路由器任播地址格式
審核編輯:湯梓紅
-
接口
+關(guān)注
關(guān)注
33文章
9565瀏覽量
157447 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
8313瀏覽量
95454 -
IPv6
+關(guān)注
關(guān)注
6文章
736瀏覽量
62806 -
Mac
+關(guān)注
關(guān)注
0文章
1130瀏覽量
55505
原文標(biāo)題:IPv6地址結(jié)構(gòu)、地址分類以及表示方法
文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
STMCUBE如何設(shè)置IPV6地址?
RT-Thread+STM32F429IGT6+LWIP(2.1.2)開啟IPV6功能,無(wú)法獲取有效IPV6地址怎么處理?
IPv6地址是什么,IPv6的意思
企業(yè)如何進(jìn)行IPv6地址規(guī)劃與分配
如何去完成IPV6的地址格式及分類呢
這三個(gè)獲取IPv6地址的方法你了解多少?
IPv6環(huán)境獲取IPV6地址的優(yōu)點(diǎn)
活躍用戶數(shù)超3億 我國(guó)已真正使用IPv6地址
恒訊科技分析:在Ubuntu怎么配置ipv6地址?
什么是ipv4什么是ipv6 ipv6技術(shù)的優(yōu)缺點(diǎn)
IPv6地址如何劃分?這篇文章看完必懂!
IP地址:IPV4和IPV6的區(qū)別
IPv6地址結(jié)構(gòu)、地址分類以及表示方法
評(píng)論