IPv6

IPv6

互聯網工程的網絡協議
IPv6是英文“Internet Protocol Version 6”(互聯網協議第6版)的縮寫,是互聯網工程任務組(IETF)設計的用于替代IPv4的下一代IP協議,其地址數量号稱可以為全世界的每一粒沙子編上一個地址。由于IPv4最大的問題在于網絡地址資源不足,嚴重制約了互聯網的應用和發展。IPv6的使用,不僅能解決網絡地址資源數量的問題,而且也解決了多種接入設備連入互聯網的障礙。
    中文名:互聯網協議第6版 外文名:IPv6(Internet Protocol Version 6) 所屬學科: 數 量:2^128(約3.4×10^38) 類 型:網絡協議 地址長度:128位

發展曆史

至1992年初,一些關于互聯網地址系統的建議在IETF(互聯網工程任務組)上提出,并于1992年底形成白皮書。在1993年9月,IETF建立了一個臨時的ad-hoc下一代IP(IPng)領域來專門解決下一代IP的問題。這個新領域由Allison Mankin和Scott Bradner領導,成員由15名來自不同工作背景的工程師組成。IETF于1994年7月25日采納了IPng模型,并形成幾個IPng工作組。

從1996年開始,一系列用于定義IPv6的RFC發表出來,最初的版本為RFC1883。由于IPv4和IPv6地址格式等不相同,因此在未來的很長一段時間裡,互聯網中出現IPv4和IPv6長期共存的局面。在IPv4和IPv6共存的網絡中,對于僅有IPv4地址,或僅有IPv6地址的端系統,兩者無法直接通信的,此時可依靠中間網關或者使用其他過渡機制實現通信。

2003年1月22日,IETF發布了IPv6測試性網絡,即6bone網絡。它是IETF用于測試IPv6網絡而進行的一項IPng工程項目,該工程目的是測試如何将IPv4網絡向IPv6網絡遷移。作為IPv6問題測試的平台,6bone網絡包括協議的實現、IPv4向IPv6遷移等功能。6bone操作建立在IPv6試驗地址分配基礎上.并采用3FFE::/16的IPv6前綴,為IPv6産品及網絡的測試和試商用部署提供測試環境。

截至2009年6月,6bone網絡技術已經支持了39個國家的260個組織機構。6bone網絡被設計成為一個類似于全球性層次化的IPv6網絡,同實際的互聯網類似,它包括僞頂級轉接提供商、僞次級轉接提供商和僞站點級組織機構。由僞頂級提供商負責連接全球範圍的組織機構,僞頂級提供商之間通過IPv6的lBGP-4擴展來盡力通信,僞次級提供商也通過BGP-4連接到僞區域性頂級提供商,僞站點級組織機構連接到僞次級提供商。僞站點級組織機構可以通過默認路由或BGP-4連接到其僞提供商。6bone最初開始于虛拟網絡,它使用IPv6-over-IPv4隧道過渡技術。因此,它是一個基于IPv4互聯網且支持IPv6傳輸的網絡,後來逐漸建立了純IPv6鍊接。

從2011年開始,主要用在個人計算機和服務器系統上的操作系統基本上都支持高質量IPv6配置産品。例如,Microsoft Windows從Windows 2000起就開始支持IPv6,到Windows XP時已經進入了産品完備階段。而Windows Vista及以後的版本,如Windows 7、Windows 8等操作系統都已經完全支持IPv6,并對其進行了改進以提高支持度。Mac OS X Panther(10.3)、Linux 2.6、FreeBSD和Solaris同樣支持IPv6的成熟産品。一些應用基于IPv6實現.如BitTorrent點到點文件傳輸協議等,避免了使用NAT的IPv4私有網絡無法正常使用的普遍問題。

2012年6月6日,國際互聯網協會舉行了世界IPv6啟動紀念日,這一天,全球IPv6網絡正式啟動。多家知名網站,如Google、Facebook和Yahoo等,于當天全球标準時間0點(北京時間8點整)開始永久性支持IPv6訪問。

根據飓風電子統計,截至2013年9月,互聯網318個頂級域名中的283個支持IPv6接入它們的DNS。約占89.0%,其中276個域名包含IPv6黏附記錄,共5,138,365個域名在各自的域内擁有IPv6地址記錄。

2017年11月26日,中共中央辦公廳、國務院辦公廳印發《推進互聯網協議第六版(IPv6)規模部署行動計劃》。

2018年7月,百度雲制定了中國的IPv6改造方案。11月,國家下一代互聯網産業技術創新戰略聯盟在北京發布了中國首份IPv6業務用戶體驗監測報告顯示,移動寬帶IPv6普及率為6.16%,IPv6覆蓋用戶數為7017萬戶,IPv6活躍用戶數僅有718萬戶,與國家規劃部署的目标還有較大距離。 

2019年4月16日,工業和信息化部發布《關于開展2019年IPv6網絡就緒專項行動的通知》。

2020年3月23日,工業和信息化部發布《關于開展2020年IPv6端到端貫通能力提升專項行動的通知》,要求到2020年末,IPv6活躍連接數達到11.5億,較2019年8億連接數的目标提高了43%。

組成結構

表示方法

IPv6的地址長度為128位,是IPv4地址長度的4倍。于是IPv4點分十進制格式不再适用,采用十六進制表示。IPv6有3種表示方法。

一、冒分十六進制表示法

格式為X:X:X:X:X:X:X:X,其中每個X表示地址中的16b,以十六進制表示,例如:

ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

這種表示法中,每個X的前導0是可以省略的,例如:

2001:0DB8:0000:0023:0008:0800:200C:417A→2001:DB8:0:23:8:800:200C:417A

二、0位壓縮表示法

在某些情況下,一個IPv6地址中間可能包含很長的一段0,可以把連續的一段0壓縮為“::”。但為保證地址解析的唯一性,地址中”::”隻能出現一次,例如:

FF01:0:0:0:0:0:0:1101→FF01::1101

0:0:0:0:0:0:0:1→::1

0:0:0:0:0:0:0:0→::

三、内嵌IPv4地址表示法

為了實現IPv4-IPv6互通,IPv4地址會嵌入IPv6地址中,此時地址常表示為:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六進制表示,而最後32b地址則使用IPv4的點分十進制表示,例如::192.168.0.1與::FFFF:192.168.0.1就是兩個典型的例子,注意在前96b中,壓縮0位的方法依舊适用。

報文内容

IPv6報文的整體結構分為IPv6報頭、擴展報頭和上層協議數據3部分。IPv6報頭是必選報文頭部,長度固定為40B,包含該報文的基本信息;擴展報頭是可選報頭,可能存在0個、1個或多個,IPv6協議通過擴展報頭實現各種豐富的功能;上層協議數據是該IPv6報文攜帶的上層數據,可能是ICMPv6報文、TCP報文、UDP報文或其他可能報文。

IPv6的 報文頭部結構如圖:

版本号

表示協議版本.值為6

流量等級

主要用于QoS

流标簽

用來标識同一個流裡面的報文

載荷長度

表明該IPv6包頭部後包含的字節數,包含擴展頭部

下一報頭

該字段用來指明報頭後接的報文頭部的類型,若存在擴展頭,表示第一個擴展頭的類型,否則表示其上層協議的類型,它是IPv6各種功能的核心實現方法

跳數限制

該字段類似于IPv4中的TTL,每次轉發跳數減一,該字段達到0時包将會被丢棄

源地址

标識該報文的來源地址

目的地址

标識該報文的目的地址

擴展頭部:IPv6報文中不再有“選項”字段,而是通過“下一報頭”字段配合IPv6擴展報頭來實現選項的功能。使用擴展頭時,将在IPv6報文下一報頭字段表明首個擴展報頭的類型,再根據該類型對擴展報頭進行讀取與處理。每個擴展報頭同樣包含下一報頭字段,若接下來有其他擴展報頭,即在該字段中繼續标明接下來的擴展報頭的類型,從而達到添加連續多個擴展報頭的目的。在最後一個擴展報頭的下一報頭字段中,則标明該報文上層協議的類型,用以讀取上層協議數據。

地址類型

單播地址

IPv6單播地址與IPv4單播地址一樣,都隻标識了一個接口。為了适應負載平衡系統,RFC3513允許多個接口使用同一個地址,隻要這些接口作為主機上實現的IPv6的單個接口出現。單播地址包括四個類型:全局單播地址、本地單播地址、兼容性地址、特殊地址。

一、全球單播地址:等同于IPv4中的公網地址,可以在IPv6 Internet上進行全局路由和訪問。這種地址類型允許路由前綴的聚合,從而限制了全球路由表項的數量。

二、本地單播地址:

鍊路本地地址和唯一本地地址都屬于本地單播地址,在IPv6中,本地單播地址就是指本地網絡使用的單播地址,也就是IPV4地址中局域網專用地址。每個接口上至少要有一個鍊路本地單播地址,另外還可分配任何類型(單播、任播和組播)或範圍的IPv6地址。

(1)鍊路本地地址(FE80::/10):僅用于單個鍊路(鍊路層不能跨VLAN),不能在不同子網中路由。結點使用鍊路本地地址與同一個鍊路上的相鄰結點進行通信。例如,在沒有路由器的單鍊路IPv6網絡上,主機使用鍊路本地地址與該鍊路上的其他主機進行通信。

(2)唯一本地地址(FC00::/7):唯一本地地址是本地全局的,它應用于本地通信,但不通過Internet路由,将其範圍限制為組織的邊界。

(3)站點本地地址(FEC0::/10,新标準中已被唯一本地地址代替)

三、兼容性地址:在IPv6的轉換機制中還包括了一種通過IPv4路由接口以隧道方式動态傳遞IPv6包的技術。這樣的IPv6結點會被分配一個在低32位中帶有全球IPv4單播地址的IPv6全局單播地址。另有一種嵌入IPv4的IPv6地址,用于局域網内部,這類地址用于把IPv4結點當作IPv6結點。此外,還有一種稱為“6to4”的IPv6地址,用于在兩個通過Internet同時運行IPv4和IPv6的結點之間進行通信。

四、特殊地址:包括未指定地址和環回地址。未指定地址(0:0:0:0:0:0:0:0或::)僅用于表示某個地址不存在。它等價于IPv4未指定地址0.0.0.0。未指定地址通常被用做嘗試驗證暫定地址唯一性數據包的源地址,并且永遠不會指派給某個接口或被用做目标地址。環回地址(0:0:0:0:0:0:0:1或::1)用于标識環回接口,允許節點将數據包發送給自己。它等價于IPv4環回地址127.0.0.1。發送到環回地址的數據包永遠不會發送給某個鍊接,也永遠不會通過IPv6路由器轉發。

組播地址

IPv6組播地址可識别多個接口,對應于一組接口的地址(通常分屬不同節點)。發送到組播地址的數據包被送到由該地址标識的每個接口。使用适當的組播路由拓撲,将向組播地址發送的數據包發送給該地址識别的所有接口。任意位置的IPv6節點可以偵聽任意IPv6組播地址上的組播通信。IPv6節點可以同時偵聽多個組播地址,也可以随時加入或離開組播組。

IPv6組播地址的最明顯特征就是最高的8位固定為1111 1111。IPv6地址很容易區分組播地址,因為它總是以FF開始的。

任播地址

一個IPv6任播地址與組播地址一樣也可以識别多個接口,對應一組接口的地址。大多數情況下,這些接口屬于不同的節點。但是,與組播地址不同的是,發送到任播地址的數據包被送到由該地址标識的其中一個接口。

通過合适的路由拓撲,目的地址為任播地址的數據包将被發送到單個接口(該地址識别的最近接口,最近接口定義的根據是因為路由距離最近),而組播地址用于一對多通信,發送到多個接口。一個任播地址必須不能用作IPv6數據包的源地址;也不能分配給IPv6主機,僅可以分配給IPv6路由器。

使用協議

地址配置協議

IPv6使用兩種地址自動配置協議,分别為無狀态地址自動配置協議(SLAAC)和IPv6動态主機配置協議(DHCPv6)。SLAAC不需要服務器對地址進行管理,主機直接根據網絡中的路由器通告信息與本機MAC地址結合計算出本機IPv6地址,實現地址自動配置;DHCPv6由DHCPv6服務器管理地址池,用戶主機從服務器請求并獲取IPv6地址及其他信息,達到地址自動配置的目的。

一、無狀态地址自動配置

無狀态地址自動配置的核心是不需要額外的服務器管理地址狀态,主機可自行計算地址進行地址自動配置,包括4個基本步驟:

1.鍊路本地地址配置。主機計算本地地址。

2.重複地址檢測,确定當前地址唯一。

3.全局前綴獲取,主機計算全局地址。

4.前綴重新編址,主機改變全局地址。

二、IPv6動态主機配置協議

IPv6動态主機配置協議DHCPv6是由IPv4場景下的DHCP發展而來。客戶端通過向DHCP服務器發出申請來獲取本機IP地址并進行自動配置,DHCP服務器負責管理并維護地址池以及地址與客戶端的映射信息。

DHCPv6在DHCP的基礎上,進行了一定的改進與擴充。其中包含3種角色:DHCPv6客戶端,用于動态獲取IPv6地址、IPv6前綴或其他網絡配置參數;DHCPv6服務器,負責為DHCPv6客戶端分配IPv6地址、IPv6前綴和其他配置參數;DHCPv6中繼,它是一個轉發設備。通常情況下。DHCPv6客戶端可以通過本地鍊路範圍内組播地址與DHCPv6服務器進行通信。若服務器和客戶端不在同一鍊路範圍内,則需要DHCPv6中繼進行轉發。DHCPv6中繼的存在使得在每一個鍊路範圍内都部署DHCPv6服務器不是必要的,節省成本,并便于集中管理。

路由協議

IPv4初期對IP地址規劃的不合理,使得網絡變得非常複雜,路由表條目繁多。盡管通過劃分子網以及路由聚集一定程度上緩解了這個問題,但這個問題依舊存在。因此IPv6設計之初就把地址從用戶擁有改成運營商擁有,并在此基礎上,路由策略發生了一些變化,加之IPv6地址長度發生了變化,因此路由協議發生了相應的改變。

與IPv4相同,IPv6路由協議同樣分成内部網關協議(IGP)與外部網關協議(EGP),其中IGP包括由RIP變化而來的RIPng,由OSPF變化而來的OSPFv3,以及IS-IS協議變化而來的IS-ISv6。EGP則主要是由BGP變化而來的BGP4+。

一、RIPng

下一代RIP協議(RIPng)是對原來的RIPv2的擴展。大多數RIP的概念都可以用于RIPng。為了在IPv6網絡中應用,RIPng對原有的RIP協議進行了修改:

UDP端口号:使用UDP的521端口發送和接收路由信息。

組播地址:使用FF02::9作為鍊路本地範圍内的RIPng路由器組播地址。

路由前綴:使用128位的IPv6地址作為路由前綴。

下一跳地址:使用128位的IPv6地址。

二、OSPFv3

RFC 2740定義了OSPFv3,用于支持IPv6。OSPFv3與OSPFv2的主要區别如下:

1.修改了LSA的種類和格式,使其支持發布IPv6路由信息。

2.修改了部分協議流程。主要的修改包括用Router-lD來标識鄰居,使用鍊路本地地址來發現鄰居等,使得網絡拓撲本身獨立于網絡協議,以便于将來擴展。

3.進一步理順了拓撲與路由的關系。OSPFv3在LSA中将拓撲與路由信息相分離,在一、二類LSA中不再攜帶路由信息,而隻是單純的拓撲描述信息,另外增加了八、九類LSA,結合原有的三、五、七類LSA來發布路由前綴信息。

4.提高了協議适應性。通過引入LSA擴散範圍的概念進一步明确了對未知LSA的處理流程,使得協議可以在不識别LSA的情況下根據需要做出恰當處理,提高了協議的可擴展性。

三、BGP 4+

傳統的BGP 4隻能管理IPv4的路由信息,對于使用其他網絡層協議(如IPv6等)的應用,在跨自治系統傳播時會受到一定的限制。為了提供對多種網絡層協議的支持,IETF發布的RFC2858文檔對BGP 4進行了多協議擴展,形成了BGP4+。

為了實現對IPv6協議的支持,BGP 4+必須将IPv6網絡層協議的信息反映到NLRl(Network Layer Reachable Information)及下一跳(Next Hop)屬性中。為此,在BGP4+中引入了下面兩個NLRI屬性。

MP_REACH_NLRI:多協議可到達NLRI,用于發布可到達路由及下一跳信息。

MP_UNREACH_NLRI:多協議不可達NLRI,用于撤銷不可達路由。

BGP 4+中的Next Hop屬性用IPv6地址來表示,可以是IPv6全球單播地址或者下一跳的鍊路本地地址。BGP 4原有的消息機制和路由機制沒有改變。

四、ICMPv6協議

ICMPv6協議用于報告IPv6節點在數據包處理過程中出現的錯誤消息,并實現簡單的網絡診斷功能。ICMPv6新增加的鄰居發現功能代替了ARP協議的功能,所以在IPv6體系結構中已經沒有ARP協議了。除了支持IPv6地址格式之外,ICMPv6還為支持IPv6中的路由優化、IP組播、移動IP等增加了一些新的報文類型。

過渡技術

IPv6不可能立刻替代IPv4,因此在相當一段時間内IPv4和IPv6會共存在一個環境中。要提供平穩的轉換過程,使得對現有的使用者影響最小,就需要有良好的轉換機制。這個議題是IETF ngtrans工作小組的主要目标,有許多轉換機制被提出,部分已被用于6Bone上。IETF推薦了雙協議棧、隧道技術以及網絡地址轉換等轉換機制:

一、IPv6/IPv4雙協議棧技術

雙棧機制就是使IPv6網絡節點具有一個IPv4棧和一個IPv6棧,同時支持IPv4和IPv6協議。IPv6和IPv4是功能相近的網絡層協議,兩者都應用于相同的物理平台,并承載相同的傳輸層協議TCP或UDP,如果一台主機同時支持IPv6和IPv4協議,那麼該主機就可以和僅支持IPv4或IPv6協議的主機通信。

二、隧道技術

隧道機制就是必要時将IPv6數據包作為數據封裝在IPv4數據包裡,使IPv6數據包能在已有的IPv4基礎設施(主要是指IPv4路由器)上傳輸的機制。随着IPv6的發展,出現了一些運行IPv4協議的骨幹網絡隔離開的局部IPv6網絡,為了實現這些IPv6網絡之間的通信,必須采用隧道技術。隧道對于源站點和目的站點是透明的,在隧道的入口處,路由器将IPv6的數據分組封裝在IPv4中,該IPv4分組的源地址和目的地址分别是隧道入口和出口的IPv4地址,在隧道出口處,再将IPv6分組取出轉發給目的站點。隧道技術的優點在于隧道的透明性,IPv6主機之間的通信可以忽略隧道的存在,隧道隻起到物理通道的作用。隧道技術在IPv4向IPv6演進的初期應用非常廣泛。但是,隧道技術不能實現IPv4主機和IPv6主機之間的通信。

三、網絡地址轉換技術

網絡地址轉換(Network Address Translator,NAT)技術是将IPv4地址和IPv6地址分别看作内部地址和全局地址,或者相反。例如,内部的IPv4主機要和外部的IPv6主機通信時,在NAT服務器中将IPv4地址(相當于内部地址)變換成IPv6地址(相當于全局地址),服務器維護一個IPv4與IPv6地址的映射表。反之,當内部的IPv6主機和外部的IPv4主機進行通信時,則IPv6主機映射成内部地址,IPv4主機映射成全局地址。NAT技術可以解決IPv4主機和IPv6主機之間的互通問題。

優勢特點

與IPV4相比,IPV6具有以下幾個優勢:

一、IPv6具有更大的地址空間。IPv4中規定IP地址長度為32,最大地址個數為2^32;而IPv6中IP地址的長度為128,即最大地址個數為2^128。與32位地址空間相比,其地址空間增加了2^128-2^32個。

二、IPv6使用更小的路由表。IPv6的地址分配一開始就遵循聚類(Aggregation)的原則,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網,大大減小了路由器中路由表的長度,提高了路由器轉發數據包的速度。

三、IPv6增加了增強的組播(Multicast)支持以及對流的控制(Flow Control),這使得網絡上的多媒體應用有了長足發展的機會,為服務質量(QoS,Quality of Service)控制提供了良好的網絡平台。

四、IPv6加入了對自動配置(Auto Configuration)的支持。這是對DHCP協議的改進和擴展,使得網絡(尤其是局域網)的管理更加方便和快捷。

五、IPv6具有更高的安全性。在使用IPv6網絡中用戶可以對網絡層的數據進行加密并對IP報文進行校驗,在IPV6中的加密與鑒别選項提供了分組的保密性與完整性。極大的增強了網絡的安全性。

六、允許擴充。如果新的技術或應用需要時,IPV6允許協議進行擴充。

七、更好的頭部格式。IPV6使用新的頭部格式,其選項與基本頭部分開,如果需要,可将選項插入到基本頭部與上層數據之間。這就簡化和加速了路由選擇過程,因為大多數的選項不需要由路由選擇。

八、新的選項。IPV6有一些新的選項來實現附加的功能。

安全性能

原來的Internet安全機制隻建立于應用程序級,如E-mail加密、SNMPv2網絡管理安全、接入安全(HTTP、SSL)等,無法從IP層來保證Internet的安全。IP級的安全保證分組的鑒權和私密特性,其具體實現主要由IP的AH(Authentication Header)和ESP(Encapsulating Security Payload)标記來實現。IPv6實現了IP級的安全。

一、安全協議套:是發送者和接收者的雙向約定,隻由目标地址和安全參數索引(SPI)确定。

二、包頭認證:提供了數據完整性和分組的鑒權。

三、安全包頭封裝:ESP根據用戶的不同需求,支持IP分組的私密和數據完整性。它既可用于傳送層(如TCP、UDP、ICMP)的加密,稱傳送層模式ESP,同時又可用于整個分組的加密,稱隧道模式ESP。

四、ESPDES-CBC方式:ESP處理一般必須執行DES-CBC加密算法,數據分為以64位為單位的塊進行處理,解密邏輯的輸入是現行數據和先前加密數據塊的與或。

五、鑒權加私密方式:根據不同的業務模式,兩種IP安全機制可以按一定的順序結合,從而達到分組傳送加密的目的。按順序的不同,分為鑒權之前加密和加密之前鑒權。

應用前景

雖然IPv6在全球範圍内還僅僅處于研究階段,許多技術問題還有待于進一步解決,并且支持IPv6的設備也非常有限。但總體來說,全球IPv6技術的發展不斷進行着,并且随着IPv4消耗殆盡,許多國家已經意識到了IPv6技術所帶來的優勢,特别是中國,通過一些國家級的項目,推動了IPv6下一代互聯網全面部署和大規模商用。随着IPv6的各項技術日趨完美,IPv6成本過高、發展緩慢、支持度不夠等問題将很快淡出人們的視野。

相關通知

2021年7月12日,中央網絡安全和信息化委員會辦公室、國家發展和改革委員會、工業和信息化部發布關于加快推進互聯網協議第六版(IPv6)規模部署和應用工作的通知。

2021年10月11日,中國IPv6(互聯網協議第六版)網絡基礎設施規模全球領先,已申請的IPv6地址資源位居全球第一。中國IPv6“高速公路”全面建成。

相關詞條

相關搜索

其它詞條