- 類型:IP 工具大。23KB語言:中文 評(píng)分:10.0
- 標(biāo)簽:
IPv6(Internet Protocol version 6,互聯(lián)網(wǎng)通信協(xié)議第6版)是被指定為IPv4繼任者的下一代互聯(lián)網(wǎng)協(xié)議版本,互聯(lián)網(wǎng)中最先出現(xiàn)的應(yīng)用到現(xiàn)在依然占有優(yōu)勢(shì)。這是個(gè)用于分組交換互聯(lián)網(wǎng)絡(luò)的網(wǎng)絡(luò)層協(xié)議。驅(qū)使重新設(shè)計(jì)互聯(lián)網(wǎng)協(xié)議的主要原因是,90年代初有人擔(dān)心10年內(nèi)IPv4位址空間就會(huì)不敷用。IPv6在1998年12月被互聯(lián)網(wǎng)工程任務(wù)小組(Internet Engineering Task Force,簡(jiǎn)稱IETF)通過公布互聯(lián)網(wǎng)標(biāo)準(zhǔn)規(guī)范(RFC 2460)的方式定義出臺(tái)。
IPv6具有比IPv4大得多的地址空間。這是因?yàn)镮Pv6使用了128位的地址,而IPv4只用32位。因此新增的地址空間支持2128(約3.4 ×1038)個(gè)地址。這一擴(kuò)展提供了靈活的地址分配以及路由轉(zhuǎn)發(fā),并消除了對(duì)網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)的依賴。NAT是獲得了廣泛部署的減緩IPv4地址耗盡的最有效的方式。就以地球人口70億人計(jì)算,每人平均可分得約4.86 x 1028(4 穰8611秭7667 垓)個(gè)IPv6地址。
背景與目標(biāo)
促使IPv6形成的主要原因是網(wǎng)絡(luò)空間的匱乏。從1990年開始,互聯(lián)網(wǎng)工程任務(wù)小組(Internet Engineering Task Force,簡(jiǎn)稱IETF)開始規(guī)劃IPv4的下一代協(xié)議,除要解決即將遇到的IP地址短缺問題外,還要發(fā)展更多的擴(kuò)展,為此IETF小組創(chuàng)建IPng,以讓后續(xù)工作順利進(jìn)行。1994年,各IPng領(lǐng)域的代表們于多倫多舉辦的IETF會(huì)議中正式提議IPv6發(fā)展計(jì)劃,該提議直到同年的11月17日才被認(rèn)可,并于1998年8月10日成為IETF的草案標(biāo)準(zhǔn)。
IPv6的計(jì)劃是創(chuàng)建未來互聯(lián)網(wǎng)擴(kuò)充的基礎(chǔ),其目標(biāo)是取代IPv4,預(yù)計(jì)在2025年以前IPv4仍會(huì)被支持,以便給新協(xié)議的修正留下足夠的時(shí)間。
雖然IPv6在1994年就已被IETF指定作為IPv4的下一代標(biāo)準(zhǔn),然而在世界范圍內(nèi)使用IPv6部署的公眾網(wǎng)[2] 與IPv4相比還非常的少[3] 。
IPv6能解決的核心問題與互聯(lián)網(wǎng)目前所面臨的關(guān)鍵問題之間出現(xiàn)了明顯的偏差,難以給互聯(lián)網(wǎng)的發(fā)展帶來革命性的影響。與IPv4的各種地址復(fù)用解決方案相比,IPv6能夠降低復(fù)雜性和成本,然而目前卻只有制造商較能夠感受到這個(gè)優(yōu)勢(shì),用戶和運(yùn)營(yíng)商無法直接感受到,導(dǎo)致產(chǎn)業(yè)鏈缺乏推動(dòng)IPv6的動(dòng)力。 [4]
IPv6編址
從IPv4到IPv6最顯著的變化就是網(wǎng)絡(luò)地址的長(zhǎng)度。RFC 2373和RFC 2374定義的IPv6地址,就像下面章節(jié)所描述的,有128位長(zhǎng);IPv6地址的表達(dá)形式一般采用32個(gè)十六進(jìn)制數(shù)。
IPv6中可能的地址有2128 ≈ 3.4×1038個(gè)。也可以想像為1632個(gè)因?yàn)?2位地址每位可以取16個(gè)不同的值(參考組合數(shù)學(xué))。
在很多場(chǎng)合,IPv6地址由兩個(gè)邏輯部分組成:一個(gè)64位的網(wǎng)絡(luò)前綴和一個(gè)64位的主機(jī)地址,主機(jī)地址通常根據(jù)物理地址自動(dòng)生成,叫做EUI-64(或者64-位擴(kuò)展唯一標(biāo)識(shí))
IPv6格式
IPv6二進(jìn)位制下為128位長(zhǎng)度,以16位為一組,每組以冒號(hào)":"隔開,可以分為8組,每組以十六進(jìn)制方式表示。例如:
2001:0db8:85a3:08d3:1319:8a2e:0370:7344
是一個(gè)合法的IPv6地址。
同時(shí)IPv6在某些條件下可以省略,以下是省略規(guī)則
規(guī)則1:每項(xiàng)數(shù)字前導(dǎo)的0可以省略,省略后前導(dǎo)數(shù)字仍是0則繼續(xù),例如下組IPv6是等價(jià)的。
2001:0DB8:02de:0000:0000:0000:0000:0e132001:DB8:2de:0000:0000:0000:0000:e132001:DB8:2de:000:000:000:000:e132001:DB8:2de:00:00:00:00:e132001:DB8:2de:0:0:0:0:e13
規(guī)則2:若有連貫的0000的情形出現(xiàn),可以用雙冒號(hào)"::"代替,例如
如果四個(gè)數(shù)字都是零,可以被省略。例如下組IPv6是等價(jià)的。
2001:DB8:2de:0:0:0:0:e132001:DB8:2de::e13
再舉一個(gè)例子,遵照以上省略規(guī)則,下面這組IPv6都是等價(jià)的
2001:0DB8:0000:0000:0000:0000:1428:57ab2001:0DB8:0000:0000:0000::1428:57ab2001:0DB8:0:0:0:0:1428:57ab2001:0DB8:0::0:1428:57ab2001:0DB8::1428:57ab
不過請(qǐng)注意有的情形下省略是非法的,例如這個(gè)IPv6是非法的。
2001::25de::cade
因?yàn)樗锌赡苁窍路N情形之一,造成無法推斷。
2001:0000:0000:0000:0000:25de:0000:cade2001:0000:0000:0000:25de:0000:0000:cade2001:0000:0000:25de:0000:0000:0000:cade2001:0000:25de:0000:0000:0000:0000:cade
如果這個(gè)地址實(shí)際上是IPv4的地址,后32位可以用10進(jìn)制數(shù)表示;因此:
ffff:192.168.89.9等價(jià)于::ffff:c0a8:5909,但不等價(jià)于::192.168.89.9和::c0a8:5909。
ffff:1.2.3.4格式叫做IPv4映射地址,是不建議使用的。而::1.2.3.4格式叫做IPv4一致地址。
IPv4位址可以很容易的轉(zhuǎn)化為IPv6格式。舉例來說,如果IPv4的一個(gè)地址為135.75.43.52(十六進(jìn)制為0x874B2B34),它可以被轉(zhuǎn)化為0000:0000:0000:0000:0000:0000:874B:2B34或者::874B:2B34。同時(shí),還可以使用混合符號(hào)(IPv4-compatible address),則地址可以為::135.75.43.52。
IPv6地址的分類
IPv6地址可分為三種:[1]
單播(unicast)地址
單播地址標(biāo)示一個(gè)網(wǎng)絡(luò)接口。協(xié)議會(huì)把送往地址的分組投送給其接口。IPv6的單播地址可以有一個(gè)代表特殊地址名字的范疇,如link-local地址和唯一區(qū)域地址(ULA,unique local address)。
任播(anycast)地址
任播地址用于指定給一群接口,通常這些接口屬于不同的節(jié)點(diǎn)。若分組被送到一個(gè)任播地址時(shí),則會(huì)被轉(zhuǎn)送到成員中的其中之一。通常會(huì)根據(jù)路由協(xié)議,選擇"最近"的成員。任播地址通常無法輕易分別:它們擁有和正常單播地址一樣的結(jié)構(gòu),只是會(huì)在路由協(xié)議中將多個(gè)節(jié)點(diǎn)加入網(wǎng)絡(luò)中。
多播(multicast)地址
多播地址也被指定到一群不同的接口,送到多播地址的分組會(huì)被傳送到所有的地址。多播地址由皆為一的字節(jié)起始,亦即:它們的前置為FF00::/8。其第二個(gè)字節(jié)的最后四個(gè)位用以標(biāo)明"范疇"。
一般有node-local(0x1)、link-local(0x2)、site-local(0x5)、organization-local(0x8)和global(0xE)。多播地址中的最低112位會(huì)組成多播組群識(shí)別碼,不過因?yàn)閭鹘y(tǒng)方法是從MAC地址產(chǎn)生,故只有組群識(shí)別碼中的最低32位有使用。定義過的組群識(shí)別碼有用于所有節(jié)點(diǎn)的多播地址0x1和用于所有路由器的0x2。
另一個(gè)多播組群的地址為"solicited-node多播地址",是由前置FF02::1:FF00:0/104和剩余的組群識(shí)別碼(最低24位)所組成。這些地址允許經(jīng)由鄰居發(fā)現(xiàn)協(xié)議(NDP,Neighbor Discovery Protocol)來解譯連結(jié)層地址,因而不用干擾到在區(qū)網(wǎng)內(nèi)的所有節(jié)點(diǎn)。
特殊地址
IANA維護(hù)官方的[5]。全局的單播地址的指定可在RIR's或 中找到(英文)GRH DFP pages。
IPv6中有些地址是有特殊含義的:
未指定地址
::/128- 所有位皆為零的地址稱作未指定地址。這個(gè)地址不可指定給某個(gè)網(wǎng)絡(luò)接口,并且只有在主機(jī)尚未知道其來源IP時(shí),才會(huì)用于軟件中。路由器不可轉(zhuǎn)送包含未指定地址的分組。
Link local地址
::1/128- 是一種單播繞回地址。如果一個(gè)應(yīng)用程序?qū)⒎纸M送到此地址,IPv6堆棧會(huì)轉(zhuǎn)送這些分組繞回到同樣的虛擬接口(相當(dāng)于IPv4中的127.0.0.1)。
fe80::/10- 這些link-local地址指明,這些地址只在區(qū)域連接中是合法的,這有點(diǎn)類似于IPv4中的169.254.0.0/16。
唯一區(qū)域位域
fc00::/7-唯一區(qū)域地址(ULA,unique local address)只可在一群網(wǎng)站中繞送。這定義在RFC 4193中,是用來取代site-local位域。這地址包含一個(gè)40位的偽隨機(jī)數(shù),以減少當(dāng)網(wǎng)站合并或分組誤傳到網(wǎng)絡(luò)時(shí)碰撞的風(fēng)險(xiǎn)。這些地址除了只能用于區(qū)域外,還具備全局性的范疇,這點(diǎn)違反了唯一區(qū)域位域所取代的site-local地址的定義。
多播地址
ff00::/8-這個(gè)前置表明定義在"IP Version 6 Addressing Architecture"(RFC 4291)中的多播地址[2]。其中,有些地址已用于指定特殊協(xié)議,如ff0X::101將到達(dá)所有區(qū)域的NTP服務(wù)器(RFC 2375)。
Solicited-node多播地址
ff02::1:FFXX:XXXX-XX:XXXX為相對(duì)應(yīng)的單播或任播地址中的三個(gè)最低的字節(jié)。
IPv4轉(zhuǎn)譯地址
::ffff:x.x.x.x/96- 用于IPv4映射地址。(參見以下的Transition mechanisms)。
2001::/32- 用于Teredo tunneling。
2002::/16- 用于6to4。
ORCHID
2001:10::/28-ORCHID (Overlay Routable Cryptographic Hash Identifiers) (RFC 4843)。這些是不可繞送的IPv6地址,用于加密散列識(shí)別。
文件
2001:db8::/32- 這前置用于文件(RFC 3849)。這些地址應(yīng)用于IPV6地址的示例中,或描述網(wǎng)絡(luò)架構(gòu)。
遭舍棄或刪除的用法
::/96- 這個(gè)前置曾用于IPv4兼容地址,現(xiàn)已刪除。
fec0::/10- 這個(gè)site-local前置指明這地址只在組織內(nèi)合法。它已在2004年九月的RFC3879中拾,并且新系統(tǒng)不應(yīng)該支持這類型的地址。
IPv6分組
IPv6分組的架構(gòu)說明。
IPv6分組由兩個(gè)主要部分組成:頭部和負(fù)載。
包頭是包的前40字節(jié)并且包含有源和目的地址,協(xié)議版本,通信類別(8位,包優(yōu)先級(jí)),流標(biāo)記(20位,QoS服務(wù)質(zhì)量控制),負(fù)載長(zhǎng)度(16位),下一個(gè)頭部(用于向后兼容性),和跳段數(shù)限制(8位,生存時(shí)間,相當(dāng)于IPv4中的TTL)。后面是負(fù)載,至少1280字節(jié)長(zhǎng),或者在可變MTU(最大傳輸單元)大小環(huán)境中這個(gè)值為1500字節(jié)。負(fù)載在標(biāo)準(zhǔn)模式下最大可為65535字節(jié),或者在擴(kuò)展包頭的"jumbo payload"選項(xiàng)進(jìn)行設(shè)置。
IPv6曾有兩個(gè)有著細(xì)微差別的版本;在RFC 1883中定義的原始版本(現(xiàn)在廢棄)和RFC 2460中描述的現(xiàn)在提議的標(biāo)準(zhǔn)版本。兩者主要在通信類別這個(gè)選項(xiàng)上有所不同,它的位數(shù)由4位變?yōu)榱?位。其他的區(qū)別都是微不足道的。
分段(Fragmentation)只在IPv6的主機(jī)中被處理。在IPv6中,可選項(xiàng)都被從標(biāo)準(zhǔn)頭部中移出并在協(xié)議字段中指定,類似于IPv4的協(xié)議字段功能。
IPv6和域名系統(tǒng)
IPv6地址在域名系統(tǒng)中為執(zhí)行正向解析表示為AAAA記錄(所謂4A記錄,類似的IPv4表示為A記錄A records);反向解析在ip6.arpa(原先ip6.int)下進(jìn)行,在這里地址空間為半字節(jié)16進(jìn)制數(shù)字格式。這種模式在RFC 3596給與了定義。
AAAA模式是IPv6結(jié)構(gòu)設(shè)計(jì)時(shí)的兩種提議之一。另外一種正向解析為A6記錄并且有一些其他的創(chuàng)新像二進(jìn)制串標(biāo)簽和DNAME記錄等。RFC 2874和它的一些引用中定義了這種模式。
AAAA模式只是IPv6域名系統(tǒng)的簡(jiǎn)單概括,A6模式使域名系統(tǒng)中檢查更全面,也因此更復(fù)雜:
A6記錄允許一個(gè)IPv6地址在分散于多個(gè)記錄中,或許在不同的區(qū)域;舉例來說,這就在原則上允許網(wǎng)絡(luò)的快速重編號(hào)。
使用域名系統(tǒng)記錄委派地址被DNAME記錄(類似于現(xiàn)有的CNAME,不過是重命名整棵樹)所取代。
一種新的叫做比特標(biāo)簽的類型被引入,主要用于反向解析。
2002年8月的RFC 3363中對(duì)AAAA模式給與了有效的標(biāo)準(zhǔn)化(在RFC 3364有著對(duì)于兩種模式優(yōu)缺點(diǎn)的更深入的討論)。
IPv6部署與應(yīng)用
2004年7月的ICANN聲稱互聯(lián)網(wǎng)的根域名服務(wù)器已經(jīng)經(jīng)過改進(jìn)同時(shí)支持IPv6和IPv4[6] 。
缺點(diǎn):
需要在整個(gè)互聯(lián)網(wǎng)和它所連接到的設(shè)備上創(chuàng)建對(duì)IPv6的支持
從IPv4訪問時(shí)的轉(zhuǎn)換過程中,在網(wǎng)關(guān)路由器(IPv6<-->IPv4)還是需要一個(gè)IPv4地址和一些NAT(=共享的IP地址),增加了它的復(fù)雜性,還意味著IPv6許諾的巨大的空間地址不能夠立刻被有效的使用。
遺留的結(jié)構(gòu)問題,例如在對(duì)IPv6 multihoming支持上一致性的匱乏。
工作:
6bone
ICMPv6
IPv6 multihoming
轉(zhuǎn)換機(jī)制
在IPv6完全取代IPv4前,需要一些轉(zhuǎn)換機(jī)制[3]使得只支持IPv6的主機(jī)可以連絡(luò)IPv4服務(wù),并且允許孤立的IPv6主機(jī)及網(wǎng)絡(luò)可以借由IPv4設(shè)施連絡(luò)IPv6互聯(lián)網(wǎng)。
在IPv6主機(jī)和路由器與IPv4系統(tǒng)共存的時(shí)期時(shí),RFC2893和RFC2185定義了轉(zhuǎn)換機(jī)制。這些技術(shù),有時(shí)一起稱作簡(jiǎn)單互聯(lián)網(wǎng)轉(zhuǎn)換(SIT,Simple Internet Transition)。[4] 包含:
運(yùn)作于主機(jī)和路由器之間的雙堆棧IP實(shí)現(xiàn)
將IPv4嵌入IPv6地址
IPv6立于IPv4之上的隧道機(jī)制
IPv4/IPv6報(bào)頭轉(zhuǎn)換
雙堆棧
將IPv6視為一種IPv4的延伸,以共享代碼的方式去實(shí)現(xiàn)網(wǎng)絡(luò)堆棧,其可以同時(shí)支持IPv4和IPv6,如此是相對(duì)較為容易的。如此的實(shí)現(xiàn)稱為雙堆棧,并且,一個(gè)實(shí)現(xiàn)雙堆棧的主機(jī)稱為雙堆棧主機(jī)。這步驟描述于RFC 4213。
目前大部分IPv6的實(shí)現(xiàn)使用雙堆棧。一些早期實(shí)驗(yàn)性實(shí)現(xiàn)使用獨(dú)立的IPv4和IPv6堆棧。
穿隧
為了連通IPv6互聯(lián)網(wǎng),一個(gè)孤立主機(jī)或網(wǎng)絡(luò)需要使用現(xiàn)存IPv4的基礎(chǔ)設(shè)施來攜帶IPv6分組。這可由將IPv6分組裝入IPv4分組的穿隧協(xié)議來完成,實(shí)際上就是將IPv4當(dāng)成IPv6的連結(jié)層。
IP協(xié)議號(hào)碼的41號(hào)用來標(biāo)示將IPv6數(shù)據(jù)訊框直接裝入IPv4分組。IPv6亦能將入U(xiǎn)DP分組,如為了跨過一些會(huì)阻擋協(xié)議41交通的路由器或NAT設(shè)備。其它流行的封裝機(jī)制則有AYIYA和GRE。
自動(dòng)穿隧
自動(dòng)穿隧指路由設(shè)施自動(dòng)決定隧道端點(diǎn)的技術(shù)。RFC 3056建議使用6to4穿隧技術(shù)來自動(dòng)穿隧,其會(huì)使用41協(xié)議來封裝。[5] 隧道端點(diǎn)是由遠(yuǎn)程知名的IPv4任播地址所決定,并在本地端嵌入IPv4位址信息到IPv6中。現(xiàn)今6to4是廣泛布署的。
Teredo是使用UDP封裝的穿隧技術(shù),據(jù)稱可跨越多個(gè)NAT設(shè)備。 [6] Teredo并非廣泛用于布署的,但一個(gè)實(shí)驗(yàn)性版本的Teredo已安裝于Windows XP SP2 IPv6堆棧中。IPv6,包含6to4穿隧和Teredo穿隧,在Windows Vista中默認(rèn)是啟動(dòng)的。[7]許多Unix系統(tǒng)只支持本地的6to4,但Teredo可由如Miredoo的第三方軟件來提供。
ISATAP[8]借由將IPv4位址對(duì)應(yīng)到IPv6的link-local地址,從而將IPv4網(wǎng)絡(luò)視為一種虛擬的IPv6區(qū)域連接。不像6to4和Teredo是站點(diǎn)間的穿隧機(jī)制,ISATAP是一種站點(diǎn)內(nèi)機(jī)制,意味著它是用來設(shè)計(jì)提供在一個(gè)組織內(nèi)節(jié)點(diǎn)之間的IPv6連接性。
組態(tài)穿隧 (6in4)
在組態(tài)穿隧中,如6in4穿隧,隧道端點(diǎn)是要明確組態(tài)過的,可以是借由管理員手動(dòng)或操作系統(tǒng)的組態(tài)機(jī)制,或者借由如tunnel broker等的自動(dòng)服務(wù)。[9]組態(tài)穿隧通常比自動(dòng)穿隧更容易去除錯(cuò),故建議用于大型且良好管理的網(wǎng)絡(luò)。
組態(tài)穿隧在IPv4隧道上,使用網(wǎng)際協(xié)議中號(hào)碼的41號(hào)。
[編輯]用于只支持IPv6主機(jī)的代理和轉(zhuǎn)譯
在局域網(wǎng)際網(wǎng)絡(luò)注冊(cè)管理機(jī)構(gòu)耗盡所有可使用的IPv4位址后,非常有可能新加入互聯(lián)網(wǎng)的主機(jī)只具有IPv6連接能力。對(duì)這些須要向后兼容以能訪問IPv4資源的客戶端,須要布署合適的轉(zhuǎn)換機(jī)制。
一種轉(zhuǎn)換技術(shù)是使用雙堆棧的應(yīng)用層代理,如網(wǎng)頁代理服務(wù)器。
一些對(duì)于應(yīng)用程序無法得知但在其低層使用類NAT轉(zhuǎn)換技術(shù)也曾被提出。但因?yàn)橐话銘?yīng)用層協(xié)議所要求的能力其應(yīng)用太廣,其中大部分都被認(rèn)定在實(shí)際上太不可靠,并且被認(rèn)為應(yīng)刪除。
主要的IPv6公告
在2003年,日本經(jīng)濟(jì)新聞(在2003年被CNET亞洲機(jī)構(gòu)引用)報(bào)告中說日本、中國和韓國聲稱已經(jīng)決定要在網(wǎng)絡(luò)技術(shù)中尋求領(lǐng)先,將部分參與IPv6的開發(fā)并在2005年開始全面采用IPv6。
ICANN在2004年7月20日發(fā)表聲明,稱DNS根服務(wù)器已經(jīng)創(chuàng)建了對(duì)應(yīng)日本(.jp)和韓國(.kr)的頂級(jí)域名服務(wù)器的AAAA記錄,串行號(hào)為2004072000。對(duì)應(yīng)法國的(.fr)IPv6記錄會(huì)再晚一點(diǎn)時(shí)間加入。這就開放了IPv6的運(yùn)作。
2011年互聯(lián)網(wǎng)協(xié)會(huì)將6月8日定為世界IPv6日。包括Google、Facebook和雅虎在內(nèi)的參與者將在當(dāng)天對(duì)他們的主要服務(wù)啟用IPv6,以推進(jìn)互聯(lián)網(wǎng)工業(yè)加速部署全面IPv6支持[10]。