由第四代版本互聯網協議(IPv4)到第六代版本互聯網協議(IPv6),其最直接的動因主要是IP地址的嚴重匱乏,在20世紀70年代開發的IPv4(由IETF的RFC 791規定)的地址字段長為32bit,而IPv6(由IETF的RFC 2460所規定)的地址字段長達128bit,為IPv4的4倍,使下一代互聯網(NGI)技術的IP地址能力發生了本質的飛躍,可支持3.40282×1038個惟一的128位地址,約為IPv4地址量的79228×1024倍,即約為其8萬兆兆平方倍。有人甚至不無夸張地聲稱,它可賦予地球上每一粒沙子及每一滴水以相應的地址。
欲詳細了解IPv4地址技術的請進入。
一、IPv6地址長度問題
事實上,IPv6分組頭固定字段部分長度變化最大的是地址字段,由4字節變為16字節。有關IP地址長度和結構問題也是在IPv6標準(即RFC 2460)制訂過程中爭論較多的問題。
根據美國人口調查局的估計數字,到2050年,全世界將有90億人口。從理論上講,IPv4可支持40億個IP地址,足以應付目前的人口數。但是,由于多方面原因,實際上能真正作為用戶計算機的地址數,遠少于40億。首先,“組播”(Multicast)用“D”類地址(即4比特“特征位”為“1110”)占用了十六分之一的地址空間;保留的“E”類地址(即5比特“特征位”為“11110”),占用三十二分之一的地址空間;此外,某些特定組合用于表示“本主機”、“本網上主機”、 “本地網上的廣播”和“A”類地址中以“01111111”開頭的地址號用于回繞測試都占用了部分地址空間。另外,網絡中的路由器也需要占用大量的地址空間(每個邊界路由器需占用1個或1個以上的IP地址,中間路由器占用2個或2個以上的IP地址)。加上地址分配的不合理,許多子網內留有過多的富裕量,地址的使用不充分,而另一些單位卻地址嚴重不足,隨著Internet用戶計算機和服務器數量的不斷增加,其可用的IPv4地址空間不足的問題日益嚴重。
有關地址長度的問題也有人爭辯說:地址的不足可以通過使用“內部地址”和使用地址轉換(NAT,即Network Address Translation)技術來解決。反對的人則認為:在大范圍內采用NAT技術來解決地址不足問題既存在技術上的困難,也存在實踐上的配置難度。為了最大限度地適應潛在的地址需求,最后確定的地址長度為128比特,為現有IPv4地址長度的4倍。IPv6的地址空間為2128個,即340 282 366 920 938 463 463 374 607 431 768 211 456個可能的地址(或為3.4×1038個),相當于為地球表面每平方米的面積提供了665 570 793 348 866 943 898 599(或6.65×1023)個地址。根據RFC 1700,目前已明確分配的地址僅占可用地址的15%,其余部分保留將來使用。
事實上,在RFC 2460《Internet Protocol, Version 6(IPv6)Specification》(互聯網協議版本6(IPv6)規范)中,對于IPv6地址內容的描述介紹是引用的RFC 2373《IP Version 6 Addressing Architecture》(IPv6尋址架構)。RFC 2373規范定義了IPv6的尋址體系結構,包括IPv6尋址模型、IPv6地址的文本表示、IPv6單播地址、任播地址和組播地址的定義以及所有IPv6節點所需的地址。這里依據RFC 2373介紹其IPv6地址技術.
欲詳細了解RFC 2373標準內容的請進入。
二、IPv6地址的分類與組成
1、類型
IPv6將可尋址的地址類型分為三類:單播(Unicast)、組播(Muiticast)和任播(Anycast)也有稱組代播,IPv6地址的分類及含義詳見下表2-1。
表2-1:IPv6地址的分類及含義
欲詳細了解IPv6三種地址類型介紹的請進入。
2、組成
128比特的IPv6地址通常是由兩部分組成的:第一部分是最高64位的子網標識符,稱為子網空間。以滿足3個不同級別的ISP(這3個級別的ISP位于您的機構和Internet骨干網絡之間)以及你的機構的尋址需求。第二部分是低64位的接口標識符,稱為接口空間。用于當前和未來的鏈路層MAC地址映射等。
三、IPv6地址的表示
在RFC 2373中給出了IPv6地址的多種文本表示形式(Text Representation of IPv6 Addresses),其目的是盡可能簡化表示,以便日常使用。常用的有:
1、首選的表示形式
IPv6地址字段采用128比特,為IPv4地址長度的4倍,如果采用“點分隔十進制標記法”縮寫后仍將有16段十進制數,需要用15個“.”來分隔,讀寫和記憶都很不方便。為此,RFC 2373規定了一種“冒號分隔十六進制標記法(Colon Hexadecimal)”,即:把16比特的地址分為一段(注意:比IPv4的8比特地址長一倍),段內由4個二--十六進制(0~9和A~F)數來表示一個地址段(注意:8比特最多只需要兩個數字或符號表示,而用十進制最多要3個十進制數字);共8個地址段,地址段之間用冒號“∶”來分隔。這即是IPv6地址首選的表示形式。例如:
“FEDC∶BA98∶7654∶3210∶FEDC∶BA98∶7654∶3210”
為了簡化上述表示形式,還規定了在單個地址段中省去前導零的形式。即:冒號間的地址段的二--十六進制之值為“0”時,可只用單個“0”表示;數字或字母之前的二--十六進制之值為“0”時,“0”可以省去(如下例中 “:0:”、“:A:”和“:8:”中的0、A和8前面的0省去了),但每個地址段中必須至少有一個數字。例如:
“1080∶0∶A∶0∶8∶800∶200C∶417A”。
2、零壓縮法的表示形式
盡管首選形式,即“冒號分隔十六進制標記法”將128比特的IPv6地址的表達形式大大縮短,但1個IPv6地址最長的表達式仍需要分為8段,每段最多需要4個二--十六進制數表示,再用7個“:”加以分隔。
但現實是:其一,由于IPv6的地址空間太大,目前已分配的地址很少,地址中可能會出現連續的“0”比特;其二,由于一些分配IPv6地址特定樣式的方式,如下表3-2所描述的幾種情況,也都呈現了16比特連續的“0”情形。為了在這類情況下進一步縮短地址表達形式,采用了稱為零壓縮法的形式,即:當出現16比特連續“0”時,冒號間可用單個“0”表示;多個連續的由冒號分隔的“0”,可用雙冒號“::”取代,如:
“1080∶0∶0∶0∶8∶800∶200C∶417A”,可進一步記為壓縮形式:
“1080∶∶8∶800∶200C∶417A”。表3-2中展示了其它情形。
表 3-2:零壓縮法的表示形式
那么,要確定“::”之間代表了多少位“0”可以用下式計算:
0的位數 =(8-地址中的段數)×16
如在地址FF02∶∶101中,“::”表示有“0”的位數是:
(8-2)×16 = 96
注意:在一個給定的地址中,零壓縮法只能使用一次。否則就無法確定每個“::”之間到底代表了多少位“0”。
3、IPv4和IPv6混合表示形式
由于在IPv6完全取代IPv4地址之前很長一段時間內,IPv6將與IPv4地址同時并存。因此,在節點為IPv4和IPv6混合環境下,允許IPv6地址的后32比特采用大多數人熟悉的“點分隔十進制標記法”。于是可能出現兩種標記法混合使用的情況:x:x:x:x:x:x:d.d.d.d,即高階的前96比特“x“采用“冒號分隔十六進制標記法;后低階的32比特采用“點分隔十進制標記法”。如地址:
“0:0:0:0:0:0:FFFF:129.144.52.38”,也可進一步記為零壓縮形式:“::FFFF:129.144.52.38”。
4、地址前綴(Address Prefixes)表示形式
IPv6地址前綴的文本表示形式類似于IPv4地址前綴用“無類別域間路由(CIDR,Classless Inter-Domain Routing)表示法(RFC 1519中規定)書寫的方式。IPv6地址前綴由表示法的表示形式為:
Ipv6-address / Prefix-length
其中:“Ipv6-address”可為前面介紹過的IPv6地址表達形式中的任一種,而“Prefix-length”為十進制數字,用于描述該地址前綴由地址中多少個最左方連續的二進制比特組成。例如:1個60比特的前綴“12AB00000000CD3”(15個二--十六進制數)的合法表達形式可有:
12AB:0000:0000:CD30:0000:0000:0000:0000/60(注:采用最原始的1Pv6地址表達形式);
12AB::CD30:0:0:0:0/60(注:前面的連續32比特“0”用“::”簡化);
12AB:0:0:CD30::/60(注:后面的連續64比特“0”用“::”簡化)。
在某些場合,地址前綴可用于標志通信子網(Sub-network)、鏈路接口、定義域或管理域(如ISO的OSI NSAP、IPX、Ethernet等)。
四、IPv6地址空間的分配
IPv6地址空間也是基于地址中高位的值來進行劃分的。高位和它們的固定值被稱為格式前綴(FP)。目前IPv6的地址空間已分配的僅占15%,其余的85%保留今后再分配。依據RFC 2373的定義,已分配的地址如下列表所示,包括:表4-1給出了IPv6已分配的地址前綴(FP);表4-2給出了已分配的7種特殊地址。
表 4-1:IPv6已分配的地址前綴簡表
表 4-2:IPv6已分配的特殊地址簡表
五、IPv4地址與IPv6地址的對應關系
為了使IPv4地址與IPv6地址有一個比較,下表5列出了它們之間的對應關系(以IPv4中的地址和尋址方式與IPv6地址來等價)對比。
表 5:IPv4地址與IPv6地址之間的對比對應
欲進一步了解IPv6分組格式的請進入。