目前,因特網(wǎng)所采用的協(xié)議族是TCP/IP協(xié)議族,IP則是TCP/IP協(xié)議族中網(wǎng)絡層的協(xié)議,是TCP/IP協(xié)議族的核心協(xié)議。當前IP協(xié)議的版本號是4(簡稱為IPv4),發(fā)展至今已經(jīng)使用了30多年。由于IPv4的地址位數(shù)為32位,也就是最多有2的32次方的電腦可以聯(lián)到Internet上。近十年來由于互聯(lián)網(wǎng)的蓬勃發(fā)展,IP位址的需求量愈來愈大,使得IP位址的發(fā)放愈趨嚴格,各項資料顯示全球IPv4位址可能在2005至2008年間全部發(fā)完。
1995年12月,IETF工作組提出的RFC2460標準協(xié)議文檔,標志著IPv6的誕生。到1998年,IPv6協(xié)議族得到了進一步的更新和完善,基本上形成了一個完整的協(xié)議體系。IPv6從根本上解決了IPv4地址即將枯竭的致命缺陷,并且在地址分類、報頭格式、安全性、QoS、Plug&Play功能、移動性、尋徑效率、ICMP等諸多方面進行了協(xié)議優(yōu)化和更新,使之更加適應未來網(wǎng)絡運行的發(fā)展需要。同時,也成為移動通信的協(xié)議核心,而且,對信息家電的誕生和發(fā)展起到了主流推動作用。
IPv6是對目前統(tǒng)治著互聯(lián)網(wǎng)的IPv4協(xié)議的升級和優(yōu)化,是下一代網(wǎng)絡體系的核心。有專家預測,IPv4到IPv6的過渡,將產(chǎn)生10,000億美元的商機。
1、IPv6簡介
(1)什么是IPv6?
IPv6是下一版本的互聯(lián)網(wǎng)協(xié)議,也可以說是下一代互聯(lián)網(wǎng)的協(xié)議,它的提出最初是因為隨著互聯(lián)網(wǎng)的迅速發(fā)展,IPv4定義的有限地址空間將被耗盡,地址空間的不足必將妨礙互聯(lián)網(wǎng)的進一步發(fā)展。為了擴大地址空間,擬通過IPv6重新定義地址空間。IPv6采用128位地址長度,幾乎可以不受限制地提供地址。按保守方法估算IPv6實際可分配的地址,整個地球的每平方米面積上仍可分配1000多個地址。在IPv6的設計過程中除了一勞永逸地解決了地址短缺問題以外,還考慮了在IPv4中解決不好的其它問題,主要有端到端IP連接、服務質(zhì)量(QoS)、安全性、多播、移動性、即插即用等。
(2)IPv6與IPv4相比有什么特點和優(yōu)點?
更大的地址空間。IPv4中規(guī)定IP地址長度為32,即有2^32-1個地址;而IPv6中IP地址的長度為128,即有2^128-1個地址。
· 更小的路由表。IPv6的地址分配一開始就遵循聚類(Aggregation)的原則,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網(wǎng),大大減小了路由器中路由表的長度,提高了路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的速度。
· 增強的組播(Multicast)支持以及對流的支持(Flow-control)。這使得網(wǎng)絡上的多媒體應用有了長足發(fā)展的機會,為服務質(zhì)量(QoS)控制提供了良好的網(wǎng)絡平臺。
· 加入了對自動配置(Auto-configuration)的支持。這是對DHCP協(xié)議的改進和擴展,使得網(wǎng)絡(尤其是局域網(wǎng))的管理更加方便和快捷。
· 更高的安全性.在使用IPv6網(wǎng)絡中用戶可以對網(wǎng)絡層的數(shù)據(jù)進行加密并對IP報文進行校驗,這極大的增強了網(wǎng)絡安全。
2、IPv6地址方案
和IPv4相比,IPv6的主要改變就是地址的長度為128位,也就是說可以有2的128次方的IP地址,相當于10的后面有38個零。這么龐大的地址空間,足以保證地球上的每個人擁有一個或多個IP地址。
(1)IPv6地址類型
在RFC1884中指出了三種類型的IPv6地址,他們分別占用不同的地址空間:
·單點傳送:這種類型的地址是單個接口的地址。發(fā)送到一個單點傳送地址的信息包只會送到地址為這個地址的接口。
·任意點傳送:這種類型的地址是一組接口的地址,發(fā)送到一個任意點傳送地址的信息包只會發(fā)送到這組地址中的一個(根據(jù)路由距離的遠近來選擇)
·多點傳送:這種類型的地址是一組接口的地址,發(fā)送到一個多點傳送地址的信息包會發(fā)送到屬于這個組的全部接口。
和IPv4不同的是,IPv6中出現(xiàn)了任意點傳送地址,并以多點傳送地址代替了IPv4中的廣播地址。
(2)IPv6地址表示
我們知道,IPv4地址長度為32位(4個字節(jié))。書寫IPv4的地址是用一個字節(jié)來代表一個無符號十進制整數(shù),四個字節(jié)寫成由3個點分開的四個十進制數(shù),例如:
10.1.123.56
對于128位的IPv6地址,定義相似的表示方法是必要的。 考慮到IPv6地址的長度是原來的四倍,RFC1884規(guī)定的標準語法建議把IPv6地址的128位(16個字節(jié))寫成8個16位的無符號整數(shù),每個整數(shù)用四個十六進制位表示,這些數(shù)之間用冒號(:)分開,例如:
3ffe:3201:1401:1:280:c8ff:fe4d:db39
從上面的例子我們看到了手工管理IPv6地址的難度,也看到了DHCP和DNS的必要性。為了進一步簡化IPv6的地址表示,可以用0來表示0000,用1來表示0001,用20來表示0020, 用300來表示0300,只要保證數(shù)值不便,就可以將前面的0省略。比如:
1080:0000:0000:0000:0008:0800:200C:417A
0000:0000:0000:0000:0000:0000:0A00:0001
可以簡寫為:
1080:0:0:0:8:800:200C:417A
0:0:0:0:0:0:A00:1
另外,還規(guī)定可以用符號::表示一系列的0。那么上面的地址又可以簡化為:
1080::0:8:800:200C:417A
::A00:1
IPv6地址的前綴(FP, Format Prefix)的表示和IPv4地址前綴在CIDR中的表示方法類似。比如 0020:0250:f002::/48表示一個前綴為48位的網(wǎng)絡地址空間。
(3)IPv6地址分配
RFC1881規(guī)定, IPv6地址空間的管理必須符合Internet團體的利益,必須是通過一個中心權(quán)威機構(gòu)來分配。目前這個權(quán)威機構(gòu)就是IANA(Internet Assigned Numbers Authority,Internet分配號碼權(quán)威機構(gòu))。 IANA會根據(jù)IAB(Internet Architecture Board)和IEGS的建議來進行IPv6地址的分配.
3、IPv6概述
現(xiàn)有Internet的基礎是IPv4,到目前為止有近30年的歷史了。由于Internet的迅猛發(fā)展,據(jù)統(tǒng)計平均每年Internet的規(guī)模就擴大一倍。IPv4的局限性就越來越明顯。個人電腦市場的急劇擴大、還有個人移動計算設備的上網(wǎng)、網(wǎng)上娛樂服務的增加、多媒體數(shù)據(jù)流的加入、以及出于安全性等方面的需求都迫切要求新一代IP協(xié)議的出現(xiàn)。
因此,對新一代互聯(lián)網(wǎng)絡協(xié)議(Internet Protocol Next Generation - IPng)的研究和實踐已經(jīng)成為世界性的熱點,其相關(guān)工作也早已展開。圍繞IPng的基本設計目標,以業(yè)已建立的全球性試驗系統(tǒng)為基礎,對安全性、可移動性、服務質(zhì)量的基本原理、理論和技術(shù)的探索已經(jīng)展開。
90年代初,人們就開始討論新的互聯(lián)網(wǎng)絡協(xié)議。IETF的IPng工作組在1994年9月提出了一個正式的草案"The Recommendation for the IP Next Generation Protocol",1995年底確定了IPng的協(xié)議規(guī)范,并稱為"IP版本6"(IPv6),同現(xiàn)在使用的版本4相區(qū)別;1998年作了較大的改動。IPv6在IPv4的基礎上進行改進,它的一個重要的設計目標是與IPv4兼容,因為不可能要求立即將所有節(jié)點都演進到新的協(xié)議版本,如果沒有一個過渡方案,再先進的協(xié)議也沒有實用意義。IPv6面向高性能網(wǎng)絡網(wǎng)絡(如ATM),同時,它也可以在低帶寬的網(wǎng)絡(如無線網(wǎng))上有效的運行。
在國際上,對IPv6的各項研究和實現(xiàn)已經(jīng)展開。法國INRIA、日本KAME、美國NRL等研究機構(gòu),IBM、Sun Microsystems、Trumpet、Hitachi等公司,分別研制開發(fā)了不同平臺上的IPv6系統(tǒng)軟件和應用軟件;Cisco、Bay等路由器廠商已經(jīng)開發(fā)出了面向IPv6網(wǎng)絡的路由器產(chǎn)品。1996年,一個以研究IPv6為目標的虛擬實驗網(wǎng)絡,國際IPv6試驗床6Bone建立,歐洲、美洲、亞洲的許多國家和組織都已經(jīng)加入了6BONE。1998年底,面向?qū)嵱玫娜蛐訧Pv6研究和教育網(wǎng)(6REN)開始啟動。這期間以STAR TAP為依托的6TAP(IPv6 Transit Access Point)得以實施,建立了以ATM交換機為中心的IPv6洲際網(wǎng)絡。今年,IETF確定IPv6進入實用階段,并指定6Bone為對商用IPv6地址申請者進行評估的平臺。
4、IPv6和域名服務
互聯(lián)網(wǎng)域名系統(tǒng)的設計是同網(wǎng)絡的傳輸體制無關(guān)的。所以,為IPv6網(wǎng)絡建立的域名系統(tǒng)可以和傳統(tǒng)的IPv4域名系統(tǒng)結(jié)合在一起,而不需要另外建立一套獨立的IPv6域名系統(tǒng),F(xiàn)在Internet上最通用的域名服務軟件BIND版本9已經(jīng)實現(xiàn)了對IPv6地址的支持,所以要解決IPv6地址和主機名之間的映射就很容易實現(xiàn)了。
要支持IPv6, 域名服務系統(tǒng)需要支持以下的新特性:
·解析IPv6地址的類型(type),即AAAA和A6類型
·為IPv6地址的逆向解析提供的反向域,即ip6.int.
·識別上述新特性的域名服務器就可以為IPv6的地址-名字解析提供服務。
(1)正向解析
IPv4的地址正向解析的資源記錄是"A",而IPv6地址的正向解析目前有兩種資源記錄,即"AAAA"和"A6"記錄。其中"AAAA"較早提出,它是對IPv4協(xié)議"A""錄的簡單擴展,由于IP地址由32位擴展到128位,擴大了4倍,所以資源記錄由"A"擴大成4個"A"。但"AAAA"用來表示域名和IPv6地址的對應關(guān)系,并不支持地址的層次性。
AAAA資源記錄類型用來將一個合法域名解析為IPv6地址,與IPv4所用的A資源記錄類型相兼容。之所以給這新資源記錄類型取名為AAAA,是因為128位的IPv6地址正好是32位IPv4地址的四倍,下面是一條AAAA資源記錄實例:
host1.microsoft.com IN AAAA FEC0::2AA:FF:FE3F:2A1C
"A6"是在RFC2874基礎上提出,它是把一個IPv6地址與多個"A6"記錄建立聯(lián)系,每個"A6"記錄都只包含了IPv6地址的一部分,結(jié)合后拼裝成一個完整的IPv6地址。"A6"記錄支持一些"AAAA"所不具備的新特性,如地址聚集,地址更改(Renumber)等。
"A6"記錄根據(jù)可聚集全局單播地址中的TLA、NLA和SLA項目的分配層次把128位的IPv6的地址分解成為若干級的地址前綴和地址后綴,構(gòu)成了一個地址鏈。每個地址前綴和地址后綴都是地址鏈上的一環(huán),一個完整的地址鏈就組成一個IPv6地址。這種思想符合IPv6地址的層次結(jié)構(gòu),從而支持地址聚集。
同時,用戶在改變ISP時,要隨ISP改變而改變其擁有的IPv6地址。如果手工修改用戶子網(wǎng)中所有在DNS中注冊的地址,是一件非常繁瑣的事情。而在用"A6"記錄表示的地址鏈中,只要改變地址前綴對應的ISP名字即可,可以大大減少DNS中資源記錄的修改。并且在地址分配層次中越靠近底層,所需要改動的越少。
(2)反向解析
IPv6反向解析的記錄和IPv4一樣,是"PTR",但地址表示形式有兩種。一種是用"."分隔的半字節(jié)16進制數(shù)字格式(Nibble Format),低位地址在前,高位地址在后,域后綴是"IP6.INT."。另一種是二進制串(Bit-string)格式,以"\["開頭,16進制地址(無分隔符,高位在前,低位在后)居中,地址后加"]",域后綴是"IP6.ARPA."。半字節(jié)16進制數(shù)字格式與"AAAA"對應,是對IPv4的簡單擴展。二進制串格式與"A6"記錄對應,地址也象"A6"一樣,可以分成多級地址鏈表示,每一級的授權(quán)用"DNAME"記錄。和"A6"一樣,二進制串格式也支持地址層次特性。
IP6.INT域用于為IPv6提供逆向地址到主機名解析服務。逆向檢索也稱為指針檢索,根據(jù)IP地址來確定主機名。為了給逆向檢索創(chuàng)建名字空間,在IP6.INT域中,IPv6地址中所有的32位十六進制數(shù)字都逆序分隔表示。例如,為地址FEC0::2AA:FF:FE3F:2A1C(完全表達式為:FEC0:0000:0000:0000:02AA:00FF:FE3F:2A1C)查找域名時,在IP6.INT域中是:C.1.A.2.F.3.E.F.F.F.0.0.A.A.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.C.E.F.IP6.INT.
總之,以地址鏈形式表示的IPv6地址體現(xiàn)了地址的層次性,支持地址聚集和地址更改。但是,由于一次完整的地址解析要分成多個步驟進行,需要按照地址的分配層次關(guān)系到不同的DNS服務器進行查詢,并且所有的查詢都成功才能得到完整的解析結(jié)果。這勢必會延長解析時間,出錯的機會也增加。因此,在技術(shù)方面IPv6協(xié)議需要進一步改進DNS地址鏈功能,提高域名解析的速度才能為用戶提供理想的服務。
5、從IPv4到IPv6的過渡策略
如何完成從IPv4到IPv6的轉(zhuǎn)換是IPv6發(fā)展需要解決的第一個問題。現(xiàn)有的幾乎每個網(wǎng)絡及其連接設備都支持IPv4,因此要想一夜間就完成從IPv4到IPv6的轉(zhuǎn)換是不切實際的。IPv6必須能夠支持和處理IPv4體系的遺留問題?梢灶A見,IPv4向IPv6的過渡需要相當長的時間才能完成。目前,IETF已經(jīng)成立了專門的工作組,研究IPv4到IPv6的轉(zhuǎn)換問題,并且已提出了很多方案,主要包括以下幾個類型:
(1)雙協(xié)議棧技術(shù)
IPv6和IPv4是功能相近的網(wǎng)絡層協(xié)議,兩者都基于相同的物理平臺,而且加載于其上的傳輸層協(xié)議TCP和UDP又沒有任何區(qū)別。如果一臺主機同時支持IPv6和IPv4兩種協(xié)議,那么該主機既能與支持IPv4協(xié)議的主機通信,又能與支持IPv6協(xié)議的主機通信,這就是雙協(xié)議棧技術(shù)的工作機理。
(2)隧道技術(shù)
隨著IPv6網(wǎng)絡的發(fā)展,出現(xiàn)了許多局部的IPv6網(wǎng)絡,但是這些IPv6網(wǎng)絡需要通過IPv4骨干網(wǎng)絡相連。將這些孤立的"IPv6島"相互聯(lián)通必須使用隧道技術(shù)。利用隧道技術(shù)可以通過現(xiàn)有的運行IPv4協(xié)議的Internet骨干網(wǎng)絡(即隧道)將局部的IPv6網(wǎng)絡連接起來,因而是IPv4向IPv6過渡的初期最易于采用的技術(shù)。
路由器將IPv6的數(shù)據(jù)分組封裝入IPv4,IPv4分組的源地址和目的地址分別是隧道入口和出口的IPv4地址。在隧道的出口處,再將IPv6分組取出轉(zhuǎn)發(fā)給目的站點。隧道技術(shù)只要求在隧道的入口和出口處進行修改,對其他部分沒有要求,因而非常容易實現(xiàn)。但是隧道技術(shù)不能實現(xiàn)IPv4主機與IPv6主機的直接通信。
(3)網(wǎng)絡地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換技術(shù)
網(wǎng)絡地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換技術(shù)NAT-PT(Network Address Translation - Protocol Translation)通過與SIIT協(xié)議轉(zhuǎn)換和傳統(tǒng)的IPv4下的動態(tài)地址翻譯(NAT)以及適當?shù)膽脤泳W(wǎng)關(guān)(ALG)相結(jié)合,實現(xiàn)了只安裝了IPv6的主機和只安裝了IPv4機器的大部分應用的相互通信。