IPV6
IPv6是Internet Protocol Version 6的縮寫,其中Internet Protocol譯為“互聯網協議”。IPv6是IETF(互聯網工程任務組,Internet Engineering Task Force)設計的用于替代現行版本IP協議(IPv4)的下一代IP協議。目前的全球因特網所采用的協議族是TCP/IP協議族。IP是TCP/IP協議族中網絡層的協議,是TCP/IP協議族的核心協議。目前IP協議的版本號是4(簡稱為IPV4),它的下一個版本就是IPv6。IPv6正處在不斷發(fā)展和完善的過程中,它在不久的將來將取代目前被廣泛使用的IPv4。每個人將擁有更多IP地址。
2012年6月6日,新一代因特網協議IPv6將在今天正式上線。根據IPv6LaunchDay官網的統計,截至4日為止美國參加IPv6Launch的網站已有71%可在IPv6上存取,中國則為65%左右。
背景與目標
促使IPv6形成的主要原因是網絡空間的匱乏。從1990年開始,網際網路工程任務小組(Internet Engineering Task Force,簡稱IETF)開始規(guī)劃IPv4的下一代協定,除要解決即將遇到的IP位址短缺問題外,還要發(fā)展更多的擴充功能,為此IETF小組創(chuàng)建IPng,以讓后續(xù)工作順利進行。1994年,各IPng領域的代表們于多倫多舉辦的IETF會議中正式提議IPv6發(fā)展計劃,該提議直到同年的11月17日才被認可,并于1998年8月10日成為IETF的草案標準。
IPv6的計劃是建立未來互聯網擴充的基礎,其目標是取代IPv4,預計在2025年以前IPv4仍會被支持,以便給新協議的修正留下足夠的時間。
雖然IPv6在1994年就已被IETF指定作為IPv4的下一代標準,然而在世界范圍內使用IPv6部署的公眾網與IPv4相比還非常的少。
IPv6所能夠解決的核心問題與互聯網目前所面臨的關鍵問題之間出現了明顯的偏差,難以給互聯網的發(fā)展帶來革命性的影響。與IPv4的各種地址復用解決方案相比,IPv6能夠降低復雜性和成本,但卻是只有制造商目前才能夠感受到,用戶和運營商不能直接感受到,結果導致整個產業(yè)鏈缺乏推動IPv6的動力。
IPV6的特點
- IPV6地址長度為128比特,地址窨增大了296倍;
- 靈活的IP報文頭部格式。使用一系列固定格式的擴展頭部取代了IPV4中可變長度的選項字段。IPV6中選項部分的出現方式也有所變化,使路由器可以簡單路過選項而不做任何處理,加快了報文處理速度。
- IPV6簡化了報文頭部格式,字段只有7個,加快報文轉發(fā),提高了吞吐量;
- 提高安全性。身份認證和隱私權是IPV6的關鍵特性。
- 支持更多的服務類型;
- 允許協議繼續(xù)演變,增加新的功能,使之適應未來技術的發(fā)展。
IPV6的優(yōu)勢
與IPV4相比,IPV6具有以下幾個優(yōu)勢:
- IPv6具有更大的地址空間。IPv4中規(guī)定IP地址長度為32,即有2^32-1(符號^表示升冪,下同)個地址;而IPv6中IP地址的長度為128,即有2^128-1個地址。
- IPv6使用更小的路由表。IPv6的地址分配一開始就遵循聚類(Aggregation)的原則,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網,大大減小了路由器中路由表的長度,提高了路由器轉發(fā)數據包的速度。
- IPv6增加了增強的組播(Multicast)支持以及對流的支持(Flow Control),這使得網絡上的多媒體應用有了長足發(fā)展的機會,為服務質量(QoS,Quality of Service)控制提供了良好的網絡平臺。
- IPv6加入了對自動配置(Auto Configuration)的支持。這是對DHCP協議的改進和擴展,使得網絡(尤其是局域網)的管理更加方便和快捷。
- IPv6具有更高的安全性。在使用IPv6網絡中用戶可以對網絡層的數據進行加密并對IP報文進行校驗,極大的增強了網絡的安全性。
IPV6 封包
IPv6封包由兩個主要部分組成:頭部和負載。
包頭是包的前40字節(jié)并且包含有源和目的地址,協議版本,通信類別(8位元,包優(yōu)先級),流標記(20位元,QoS服務質量控制),負載長度(16位),下一個頭部(用于向后兼容性),和跳段數限制(8位元,生存時間,相當于IPv4中的TTL)。后面是負載,至少1280字節(jié)長,或者在可變MTU(最大傳輸單元)大小環(huán)境中這個值為1500字節(jié)。負載在標準模式下最大可為65535字節(jié),或者在擴展包頭的"jumbo payload"選項進行設置。
IPv6曾有兩個有著細微差別的版本;在RFC 1883中定義的原始版本(現在廢棄)和RFC 2460中描述的現在提議的標準版本。兩者主要在通信類別這個選項上有所不同,它的位數由4位變?yōu)榱?位。其他的區(qū)別都是微不足道的。
分段(Fragmentation)只在IPv6的主機中被處理。在IPv6中,可選項都被從標準頭部中移出并在協議字段中指定,類似于IPv4的協議字段功能。
IPV6和域名系統
IPv6地址在域名系統中為執(zhí)行正向解析表示為AAAA記錄(所謂4A記錄)(類似的IPv4表示為A記錄A records);反向解析在ip6.arpa(原先ip6.int)下進行,在這里地址空間為半字節(jié)16進制數字格式。這種模式在RFC 3596給與了定義。
AAAA模式是IPv6結構設計時的兩種提議之一。另外一種正向解析為A6記錄并且有一些其他的創(chuàng)新像二進制串標簽和DNAME記錄等。RFC 2874和它的一些引用中定義了這種模式。
AAAA模式只是IPv6域名系統的簡單概括,A6模式使域名系統中檢查更全面,也因此更復雜:
- 6記錄允許一個IPv6地址在分散于多個記錄中,或許在不同的區(qū)域;舉例來說,這就在原則上允許網絡的快速重編號。
- 使用域名系統記錄委派地址被DNAME記錄(類似于現有的CNAME,不過是重命名整棵樹)所取代。
- 一種新的叫做比特標簽的類型被引入,主要用于反向解析。
2002年8月的RFC 3363中對AAAA模式給與了有效的標準化(在RFC 3364有著對于兩種模式優(yōu)缺點的更深入的討論)。
IPV6部署與應用
2004年七月的ICANN聲稱互聯網的根域名服務器已經經過改進同時支持IPv6和IPv4。
缺點:
- 需要在整個互聯網和它所連接到的設備上建立對IPv6的支持
- 從IPv4訪問時的轉換過程中,在網關路由器(IPv6<-->IPv4)還是需要一個IPv4地址和一些NAT(共享的IP地址),增加了它的復雜性,還意味著IPv6許諾的巨大的空間地址不能夠立刻被有效的使用。
- 遺留的結構問題,例如在對IPv6 multihoming支持上一致性的匱乏。
工作:
- 6bone
- ICMPv6
- IPv6 multihoming
轉換機制
雙堆疊
將 IPv6 視為一種 IPv4 的延伸,以共享程式碼的方式去實作網路堆疊,其可以同時支援 IPv4 和 IPv6 ,如此是相對較為容易的。如此的實作稱為雙堆疊,并且,一個實作雙堆疊的主機稱為雙堆疊主機。這步驟描述于 RFC 4213 。
目前大部分 IPv6 的實現使用雙堆疊。一些早期實驗性實作使用獨立的 IPv4 和 IPv6 堆疊。
穿隧
為了連通 IPv6 網際網路,一個孤立主機或網路需要使用現存 IPv4 的基礎設施來攜帶 IPv6 封包。這可由將 IPv6 封包裝入 IPv4 封包的穿隧協議來完成,實際上就是將 IPv4 當成 IPv6 的連結層。
IP 協議號碼的 41 號用來標示將 IPv6 資料訊框直接裝入 IPv4 封包。IPv6 亦能將入 UDP 封包,如為了跨過一些會阻擋協議 41 交通的路由器或 NAT 設備。其它流行的封裝機制則有AYIYA和GRE。
自動穿隧
自動穿隧指路由設施自動決定隧道端點的技術。RFC 3056 建議使用6to4穿隧技術來自動穿隧,其會使用 41 協議來封裝。 隧道端點是由遠端知名的 IPv4 任播位址所決定,并在本地端嵌入 IPv4 位址資訊到 IPv6 中?,F今 6to4 是廣泛布署的。
Teredo 是使用 UDP 封裝的穿隧技術,據稱可跨越多個 NAT 設備。 Teredo 并非廣泛用于布署的,但一個實驗性版本的 Teredo 已安裝于 Windows XP SP2 IPv6 堆疊中。IPv6,包含 6to4 穿隧和 Teredo 穿隧,在 Windows Vista 中預設是啟動的。許多 Unix 系統只支援原生的 6to4,但 Teredo 可由如 Miredoo 的第三方軟體來提供。
ISATAP[8] 借由將 IPv4 位址對應到 IPv6 的 link-local 位址,從而將 IPv4 網路視為一種虛擬的 IPv6 區(qū)域連線。不像 6to4 和 Teredo 是站點間的穿隧機制, ISATAP 是一種站點內機制,意味著它是用來設計提供在一個組織內節(jié)點之間的 IPv6 連接性。
組態(tài)穿隧 (6in4)
在組態(tài)穿隧中,如6in4穿隧,隧道端點是要明確組態(tài)過的,可以是借由管理員手動或作業(yè)系統的組態(tài)機制,或者借由如 tunnel broker 等的自動服務。組態(tài)穿隧通常比自動穿隧更容易去除錯,故建議用于大型且良好管理的網路。
組態(tài)穿隧在 IPv4 隧道上,使用網際協議中號碼的 41 號。
只支持IPv6主機的代理和轉譯
在區(qū)域網際網路注冊管理機構耗盡所有可使用的 IPv4 位址后,非常有可能新加入網際網路的主機只具有 IPv6 連接能力。對這些須要向后相容以能存取 IPv4 資源的客戶端,須要布署合適的轉換機制。
一種轉換技術是使用雙堆疊的應用層代理,如網頁代理服務器。
一些對于應用程式無法得知但在其低層使用類 NAT 轉換技術也曾被提出。但因為一般應用層協議所要求的能力其應用太廣,其中大部分都被認定在實際上太不可靠,并且被認為應刪除。