(數(shù)據(jù)事業(yè)部 IP網(wǎng)絡(luò)產(chǎn)品處 沈 軍)
IPv6(Internet Protocol version 6)作為下一代互聯(lián)網(wǎng)(IPng)的基礎(chǔ),是目前互聯(lián)網(wǎng)領(lǐng)域替代IPV4的主流技術(shù)。目前IETF已經(jīng)制定了大量的IPv6相關(guān)標(biāo)準(zhǔn),包括地址結(jié)構(gòu)、域名解析、自動配置、鄰居發(fā)現(xiàn)、路由協(xié)議等方面,其他諸如安全、流量工程及服務(wù)質(zhì)量等方面還在制定之中。IETF還于1996年建立了全球范圍的試驗床6Bone。目前世界各國的研究機(jī)構(gòu)及運營商都在積極進(jìn)行有關(guān)IPV6技術(shù)的研究和實驗,以便為IPV6時代的來臨積累足夠的經(jīng)驗。
一、為什么要IPv6?
IPV6協(xié)議的出現(xiàn)是互聯(lián)網(wǎng)的快速發(fā)展以及IPV4協(xié)議本身的不足的必然產(chǎn)物。IPV4地址空間嚴(yán)重不足,IPV4定義的IP地址長度為32bit。根據(jù)所支持的網(wǎng)絡(luò)數(shù)和主機(jī)數(shù)的不同,又將地址分為A,B,C三類。由于對互聯(lián)網(wǎng)發(fā)展的速度估計不足,在互聯(lián)網(wǎng)的初期,人們認(rèn)為地址空間非常寬裕,因此往往一個公司就能獲得一個A類或B類地址。但是隨著互聯(lián)網(wǎng)的發(fā)展和移動上網(wǎng)和信息家電等新應(yīng)用的出現(xiàn),對IP地址的需求也呈指數(shù)級的增長。雖然人們認(rèn)識到IPV4地址資源有可能不足之后,采取了CIDR及地址翻譯(NAT)等補(bǔ)救措施,但終究無法根本解決IPV4地址匱乏的問題。
根據(jù)APNIC的統(tǒng)計亞太地區(qū)最近六個月的地址消耗率為34.3個B類地址/月,且這個數(shù)字呈逐月上升的趨勢。目前全球可用地址已經(jīng)不足半數(shù),據(jù)專家估計,按現(xiàn)在的消耗速度,預(yù)計2005年IPV4地址將全部耗盡。因此現(xiàn)在IANA、APNIC等地址管理機(jī)構(gòu)對地址申請的審批越來越嚴(yán)格。現(xiàn)在總部要為某省申請地址,往往需要提供地址使用情況、網(wǎng)絡(luò)規(guī)劃、設(shè)備訂單等一系列材料,歷時1-2月的時間才能完成。
由于中國電信Chinanet近幾年網(wǎng)絡(luò)規(guī)模和用戶數(shù)量都在飛速發(fā)展,對地址的需求也隨之大大增加。雖然經(jīng)過各方的努力,Chinanet擁有的地址量有了成倍地增加,但我們也深刻地感覺到IP地址空間不足及網(wǎng)絡(luò)迅速發(fā)展之間的矛盾給地址申請工作及網(wǎng)絡(luò)的持續(xù)發(fā)展帶來的巨大壓力。
IPV4地址空間的不足已經(jīng)成為采用IPV6的最直接原因。
路由表的膨脹
由于IPV4的地址分級結(jié)構(gòu)不完善,以及由于地址緊缺而導(dǎo)致的地址分配機(jī)構(gòu)分配的地址比較分散,使得各級路由器的路由表難以很好地聚合,路由表的路由條數(shù)在不斷的增長,F(xiàn)在全球路由表有10.5萬條,比三年前幾乎翻了一倍。龐大的路由表使得路由器在尋路時的負(fù)載和工作效率大大降低。IPV6雖然沒有根本解決路由數(shù)量的問題,但其良好的分級結(jié)構(gòu)將有利于提高路由器的工作效率。
網(wǎng)絡(luò)管理變得越來越復(fù)雜
隨著互聯(lián)網(wǎng)的不斷擴(kuò)張,越來越多的主機(jī)接入互聯(lián)網(wǎng),而IPV4難以實現(xiàn)自動發(fā)現(xiàn)和地址自動配置等功能,給網(wǎng)絡(luò)管理帶來了巨大的壓力。IPV6中由于地址結(jié)構(gòu)的改善,可以使得主機(jī)自動配置本機(jī)地址,從而簡化了配置過程。
新的應(yīng)用的出現(xiàn)對IP網(wǎng)絡(luò)提出了新的要求
由于視頻服務(wù)等新的應(yīng)用的出現(xiàn),客戶對互聯(lián)網(wǎng)的服務(wù)質(zhì)量和安全性等有了更高的要求,而IPV4在設(shè)計時并沒有考慮這些因素。同時IPV4對移動設(shè)備訪問互聯(lián)網(wǎng)也沒有提供很好的支持。
雖然以上問題,在IPV4中已經(jīng)采取了一些技術(shù)加以解決,如DHCP、VPN等,但采用IPV6后效率將變得更高,功能也會更加完善。
二、IPV6數(shù)據(jù)包結(jié)構(gòu)
IPV6數(shù)據(jù)包由一個固定大小的基本包頭和零個或多個擴(kuò)展包頭及數(shù)據(jù)段組成,如下圖:
基本包頭
擴(kuò)展包頭1
………
擴(kuò)展包頭N
數(shù)據(jù)
圖1 IPV6數(shù)據(jù)包結(jié)構(gòu)
這種結(jié)構(gòu)的使用使得IPV6數(shù)據(jù)包變得功能強(qiáng)大,靈活,且便于處理。
IPV6基本包頭
基本包頭是IPV6包頭的核心。首先看一下IPV4和IPV6包頭的結(jié)構(gòu),如下圖:
圖2 IPV4包頭
圖3 IPV6包頭
從IPV4和IPV6包頭的比較可以看出,IPV6包頭比IPV4的包頭簡單了很多,這樣有利于提高路由器等的工作效率。另外兩者的區(qū)別還在于:在IPV4和IPV6包頭中都保留了版本號,但數(shù)值分別為4和6。
由于IPV4包頭的長度是不固定的,因此有一個頭長度字段,而IPV6基本包頭的長度是固定的40個字節(jié),因此取消了這一字段。同時,IPV4中數(shù)據(jù)包總長度字段被IPV6中的負(fù)載長度所替代。固定長度的包頭也有利于提高軟件處理包頭的效率。
IPV4包頭中的業(yè)務(wù)類型在IPV6包頭中更名為流量類型。利用這一字段可以將IP包分為若干個級別,當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時,可根據(jù)IP包優(yōu)先級的高,采取丟棄或保留等不同手段實現(xiàn)QOS。
IPV4包頭中的TTL在IPV6包頭中更名為跳數(shù)限制。該字段是為了防止路由循環(huán)設(shè)置的,更名后使其名稱和作用更加相符。
IPV6包頭中刪除了IPV4包頭中分段偏移量,標(biāo)識符,flags等字段,而將他們移到擴(kuò)展包頭中去了。
由于壞包將在鏈路層或傳輸層的校驗下被丟棄,因此在網(wǎng)絡(luò)層就沒有必要再進(jìn)行校驗。因此IPV6包頭中取消了IPV4包頭中的校驗項。
IPV4包頭中的選項是為了提供安全、源路由等信息而設(shè)的。而在IPV6中這些功能都將在擴(kuò)展包頭中實現(xiàn),因此在基本包頭中刪除了此字段。
IPV6中的數(shù)據(jù)流標(biāo)記是用于為不同的數(shù)據(jù)流預(yù)留資源而設(shè)的,目前RSVP協(xié)議就已經(jīng)定義了該字段的使用。
IPV6的下一包頭字段用于說明下一擴(kuò)展包頭的類型。
IPV6中的源和目的地址不同于IPV4的32bits,是128bits。
IPV6擴(kuò)展包頭
擴(kuò)展報頭IPV6的擴(kuò)展包頭實現(xiàn)了IPV4包頭中選項字段的功能,并進(jìn)行了擴(kuò)展。每一個擴(kuò)展包頭都有一個next header 字段,用于指明下一個擴(kuò)展包頭的類型。如下圖:
基本包頭
next header=routing
路由包頭
next header=AH
認(rèn)證包頭
next header=TCP
TCP數(shù)據(jù)段
圖4 擴(kuò)展包頭示例
目前IPV6定義的擴(kuò)展包頭有:逐跳選項報頭、路由包頭、分段包頭、目的地選項包頭、認(rèn)證包頭、負(fù)載安全封裝包頭等等。
三、IPV6地址
IPV6協(xié)議中最重要的就是對地址的擴(kuò)充。IPV6地址為128比特,是IPV4地址長度的4倍。
IPV6地址的表示方法
IPV6地址的表示采用16進(jìn)制的表示方法。將128bit分為8組,每組16比特,用4個16進(jìn)制數(shù)表示,各組之間用“:”隔開,每組中最前面的0可以省略,但每組必須得有一個數(shù),如:
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
1080:0:0:0:8:800:200C:417A
在IPV6地址段中有時會出現(xiàn)連續(xù)的幾組0,這時這些0可以用“::”代替,但一個地址中只能出現(xiàn)一次“::”。如:
1080:0:0:0:8:800:200C:417A =1080::8:800:200C:417A
FF01:0:0:0:0:0:0:101=FF01::101
0:0:0:0:0:0:0:1=::1
某些情況下,IPV4地址需要包含在IPV6地址中,這時,最后兩組用現(xiàn)在習(xí)慣使用的IPV4的十進(jìn)制表示方法,前六組表示方法同上,如:
0:0:0:0:0:0:61.1.133.1 或::61.1.133.1
IPV6地址的類型
同IPV4地址一樣,IPV6也被劃分為若干種類型,主要有:
單播地址(unicast)
該地址標(biāo)識某一單個接口。發(fā)往單播地址的包將被傳送到該地址指向的接口。
任播地址(anycast)
該地址標(biāo)識屬于不同節(jié)點的一組接口。發(fā)往任播地址的包將被傳送到該地址標(biāo)識的某一個接口,通常是路由協(xié)議計算出的最近的那個接口。
組播地址(multicast)
同樣該地址標(biāo)識屬于不同節(jié)點的一組接口。但發(fā)往組播地址的包將被傳送到該地址標(biāo)識的所有接口。
可聚類單播地址
單播地址分為若干種,可聚類單播地址是其中最重要和最常用的一種。其前綴為2000::/3。
有人計算,地球上每平方公里可分配4個IPV4地址,而每平方米就可以分配6*10^23個地址面對如此巨大的地址空間,如何進(jìn)行合理的分配,成為一個重要問題。一種合理的分配地址的方法就是將地址的分級結(jié)構(gòu)與網(wǎng)絡(luò)的分級結(jié)構(gòu)聯(lián)系起來。
為此可聚類單播地址被劃分以下結(jié)構(gòu):
3
13
8
24
16
64bit
FP
TLA ID
RES
NLA ID
SLA ID
Inerface ID
圖5 單播地址結(jié)構(gòu)
FP:格式前綴,為001;
TLA ID :Top-Level Aggregation Identifier,標(biāo)識該地址處于路由分級結(jié)構(gòu)的頂級。
RES:8bit。預(yù)留,需設(shè)置為0。當(dāng)TLA ID或NLA ID不夠用時,可向RES擴(kuò)展。
NLA ID:Next-Level Aggregation Identifier用于擁有TLA ID的網(wǎng)絡(luò)標(biāo)識其下一級的各個網(wǎng)絡(luò)。
SLA ID:Site-Level Aggregation Identifier用于標(biāo)識某一網(wǎng)絡(luò)其內(nèi)部的分級結(jié)構(gòu)。
Inerface ID:64bit,為符合EUI-64格式的接口地址,用于標(biāo)識某條鏈路上的接口。大多數(shù)情況下為接口的鏈路層地址。
各種網(wǎng)絡(luò)協(xié)議對IPV6的支持
目前,IETF已經(jīng)制定了一系列RFC,以支持IPV6網(wǎng)絡(luò)的運行,主要有:
RFC2545 Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
RFC2740 OSPF for IPv6
RFC2461 Neighbor Discovery for IP Version 6
RFC2463 ICMP for IP Version 6
RFC2464 Transmission of IPv6 Packets over Ethernet Networks
RFC2472 IP Version 6 over PPP
RFC1886 DNS Extensions to support IP version 6
(未完待續(xù))
摘自《中國數(shù)據(jù)通信網(wǎng)》