王飛
摘要: 目前逐漸從基于虛擬信息的網絡時代進入到萬物互聯的物聯網時代,但是連接網絡的可用IPv4地址已經枯竭。IPv6將逐漸成為解決因特網網絡地址來源的主要途徑,同時也為物聯網的大規模應用提供了可能。由于因特網主干網絡仍然基于IPv4地址運行著,將長期存在IPv6與IPv4共存局面,必須通過一些可行的過渡策略去解決二者的共存問題。
關鍵詞:IPv6;IPv4;物聯網;隧道技術;雙協議棧
中圖分類號:TP393.04 文獻標識碼:A 文章編號:1009-3044(2017)34-0047-03
Abstract:Today is changing from the virtual information Based on the Internet age into the Internet of things Internet era, but the connection network available IPv4 address has been exhausted. IPv6 will gradually become the main way to solve the Internet network address source, which will be possible for the large-scale application of the Internet of Things. As the Internet backbone network is still Based on IPv4 address running, there will be long-term coexistence of IPv6 and IPv4 situation, and some feasible transition strategy should be designed to solve the coexistence of the two issues.
Key words:IPv6; IPv4; IoT; tunnel technology; bi-protocol stack
因特網(Internet)已經成為人類生活的一部分,深刻影響著人們的工作、學習、社交以及日常生活。[1] 已經從基于信息的互聯網時代進入到“萬物互聯”的物聯網時代。物聯網的核心是因特網,因為需要連接的物體都必須分配可訪問的IP地址,然而使用的是IPv4版本(IP version 4)的地址已經不能滿足這樣的需求。為有效提升IP地址空間和使用效率進行過相關研究并引入過一些方法和策略,譬如:地址轉換協議(Network Address Translation, NAT)、可變長子網劃分(Variable Length Subnetwork Mask ,VLSM)、無類別域間路由(Classless Inter-Domain Routing, CIDR)等方法,確實有效提高了IPv4地址的使用效率,對IP地址的使用起到一定的緩解作用,但終究是不能滿足日益膨脹的因特網應用及物聯網工程的需求。引入下一代互聯網協議—— IPv6版本(IP version 6)已經成為必然,[2]主要因為IPv6擁有海量的IP地址空間,其絕對量已經非常之大完全可以解決IPv4地址空間不足的問題,滿足物聯網的需求。由于當前主要網絡應用、因特網主干網、物聯網設備等仍然是基于IPv4的協議標準,同時小規模IPv6網絡已經開始建立并嘗試著應用。因此,如何處理IPv4與IPv6的共存和過渡遷移是值得研究的問題。
1 IPv4與IPv6的區別
IPv6是由互聯網工程任務組(The Internet Engineering Task Force,IETF)于1998年開發的下一代互聯網協議或下一版本的互聯網協議。IPv4就是互聯網的傳統IP協議,即互聯網協議(IP,Internet Protocol)的第四版,被廣泛應用于互聯網的構建中,是現今互聯網技術的應用基石協議。IPv6與IPv4的區別表現在以下方面:
(1) 地址空間數量不同
IPv4中規定IP地址長度為32,即有232-1個地址;而IPv6中IP地址的長度為128,即有2128-1個地址。
(2) 地址格式不同
IPv4的32位地址,由4個地址節組成,每個地址節長8位,用十進制書寫,地址節之間用點號(“.”)分隔,如:127.0.0.1和192.168.1.2這樣的IP地址都是典型IPv4地址。而IPv6的128位地址,由8個地址節組成,每個地址節長16位,用十六進制書寫,地址節之間用冒號(“:”)分隔,如:CDEA:1025:CCAA:3435:1111:3900:5498:2013是合法的IPv6地址。
(3) 報頭結構不同
IPv4的報頭采用32位的結構組織,由13個字段構成。如表1所示。
IPv6的報頭其長度為 40字節,有8個必要字段[3]。如表2所示。
(4) 服務質量(QoS)不同
由于IPv4協議面向無連接的、不可靠的、點對點的分組發送服務,這種基于“盡力投遞”的傳輸機制難以保證良好的帶寬、低的時延和低的丟包率,而且流量控制也很難實現。但是IPv6精簡了報頭信息,并且采用聚類機制減小了路由表容量,有效提高了通過路由轉發數據包的速度,服務質量(Quality of Service, QoS)性能改善能夠提供比IPv4更強大的數據處理能力。
(5) 移動應用和自動配置不同
IPv4僅支持單個移動IP服務,而且其結點配置較為復雜。對于IP地址經常需要變化的結點以及移動應用需求,盡管可以使用動態主機配置協議(Dynamic Host Configuration Protocol, DHCP),但是無法實現“無狀態自動配置”功能,也就無法支持“即插即用”。在DHCP的基礎上,IPv6完全支持自動配置地址,既可以是全狀態也可以是無狀態的場景,極大地提高了管理網絡的效率,符合移動應用、自動配置、即插即用的使用要求。
(6) 安全性能不同
由于IPv4本身結構存在固有安全漏洞,缺乏對網絡層數據包的真實性、安全性和私有性認證機制。IPv6可以實現網絡層數據加密并校驗,因為該協議內置了必選的IPsec安全協議,通過完善的認證機制保證了數據的完整性,通過加密算法保證了數據的機密性,通過端到端加密保證了數據傳輸的安全性。
2 IPv4與IPv6共存方式及過渡策略
IPv6作為新的聯網協議的標準,有很多IPv4不具備的優點,如超大地址空間、簡化的數據包頭、安全認證機制等。由于IPv4的發展及應用已有比較長的歷史,現有的網絡及其連接設備幾乎都支持IPv4,因此直接從IPv4轉換到IPv6是無法完成,短時間實現也是不切合實際的。而是IPv4與IPv6會在一個環境中共存一段相當的時間。必須逐漸平穩的轉換,建立良好的轉換機制使得對現有的使用者影響最小。而且IPv6必須能夠解決從IPv4轉換后的遺留問題,尤其是用戶的投資、使用習慣、管理難易等。所以從IPv4向IPv6的演進必須是平滑漸進的。IPv4向IPv6的過渡或遷移一定會需要相當長的時間才能實現。[3]因此,兩種協議必然會有共存期,兩種協議也必須支持互操作性。
隨著IPv6協議的逐漸推廣應用,因特網中基于IPv6的網絡和基于IPv4的網絡規模終將出現此消彼長的局面,正如前面所述,但二者必然會長期共存,不同階段共存的方式會有所不同,主要存在的形式及過渡策略如下:
2.1 IPv6 over IPv4
現行的因特網依然將IPv4作為骨干網絡的運行協議,雖然局部出現了小規模的試運行的IPv6網絡,但是這些小規模的IPv6網絡還是被運行著IPv4協議的主干網絡隔離開來,從而變成了“IPv6孤島”。為了讓這些IPv6網絡實現真正的互聯互通,目前也只能通過IPv4骨干網絡將它們起來,并借助于相應的轉換機制和管理策略才能得以實現。
針對現階段小規模IPv6網絡的應用情況,要實現將這些IPv6網絡相互聯通,可以使用隧道技術[4]。網絡隧道(Tunnel)技術就是采用運行于IPv4協議的因特網骨干網絡將處于某個或某些局部的IPv6網絡連接起來,最終實現IPv6網絡與IPv4網絡互通的技術,其中IPv4網絡的骨干網起到的作用就是“隧道”。從網絡協議結構上來講,隧道就是將其中一種協議的報頭信息封裝于另一種協議報頭之中。這樣就可以實現一種協議通過另一種協議的封裝進行互聯互通。如果將IPv4骨干網作為隧道,也就是說將發送端IPv6報頭信息封裝于IPv4報頭之中,在數據轉發過程中,實現了IPv6協議數據包穿越IPv4網絡的情況,接收端通過解封裝得到IPv6報頭信息并且轉發至目的網絡,完成IPv6網絡之間的通信。這一過程的實現可以采用兩種建立隧道的機制:手工配置建立隧道和自動建立隧道。其工作原理如圖1所示。
2.2 IPv6 to IPv4
當IPv6網絡規模的擴大到一定程度,可以通過在IPv6結點中嵌入IPv4協議棧的方式來實現IPv6結點與IPv4結點互相通信。[5]這種兼有雙協議棧的結點被稱作“IPv4/IPv6結點”,這些結點既可以收發IPv4分組,也可以收發IPv6分組。不僅可以使用IPv4協議實現IPv4結點互通,也可以直接使用IPv6協議實現IPv6結點互通。要求該網絡鏈路中至少有兩臺路由器同時支持雙棧。[6]
這種機制借助于中繼路由器(Relay Router)完成通信,中繼路由器有時也稱為雙棧路由器,通過在該雙棧路由器上運行邊界網關協議(Border Gateway Protocol version 4,BGP4)就可以實現兩個端點之間非IPv4連接的通信。由于從正常IPv4鏈路中收發的數據流都是按照IPv4協議標準來處理。同樣從正常的IPv6網絡收發的數據流也是按照IPv6協議標準被處理。在實現的過程中可以采用附加的基于源地址的包過濾技術防止地址欺騙,主要通過檢查被封裝的IPv6報頭地址與用于封裝的IPv4地址一致性。為達到這種檢查目的,需要要在中繼路由器中進行相應的配置。其工作原理如圖2所示。
2.3 IPv4 over IPv6
將來,隨著IPv6技術的成熟,特別是物聯網應用需求進一步加大了對IPv6的依賴,IPv6網絡將逐漸成為互聯網的骨干網絡。屆時將有大量IPv4網絡需要借助于IPv6骨干網來實現互通。在這種IPv4/IPv6互聯網絡拓撲結構中,其中那些僅運行IPv6網絡協議棧的路由器組成了純IPv6的骨干網。因為大量IPv4應用已經客觀存在并在一定時期內將仍然被廣泛使用,所以要求這種純IPv6骨干網必須能為邊界網絡提供IPv4協議棧的接入,為周邊的IPv4網絡服務并實現互通。
對于IPv6網絡中的邊界路由器或雙協議棧路由器需要同時運行IPv4和IPv6雙協議棧。[7]該雙協議棧路由器通過IPv6協議來連接純IPv6骨干網,通過IPv4協議將IPv4單協議棧路由器連接的邊緣網絡接入該網絡,從而實現對已有IPv4網絡提供了接入服務。這種機制是采用了IPv6隧道技術將IPv4網絡通過IPv6主干網實現互聯。[8]
這種IPv4 over IPv6機制存在“控制”和“數據”兩方面的問題。其中“控制”主要解決如何通過隧道端結點發現機制來構建隧道。因為在IPv6網上存在多個路由器,為了將封裝IPv4的分組準確轉發至某個出口路由器,網絡中的入口路由器就需要能準確判別出口路由器。IPv6骨干網發送端將封裝了IPv4目的網絡信息和隧道端結點信息的傳輸到IPv6骨干網的另一端并建立起無狀態的隧道。在已建立的隧道基礎上,“數據”主要關注數據的封裝、分組轉發和解封裝等處理過程。因此其工作過程就是入口路由器按照“控制”機制確定了出口路由器后,也就建立了IPv6隧道,然后入口路由器采用特定的封裝機制來封裝原始IPv4分組并沿著隧道進行轉發,出口路由器從IPv6隧道收到封裝分組后,該出口路由器對收到的分組進行解封裝,并轉發至相應的IPv4目的網絡。具體工作原理如圖3所示。
2.4 IPv4 to IPv6
隨著IPv4網絡的萎縮及IPv6網絡規模的擴大,同時IPv4網絡還不能完全過渡到IPv6的情況下,仍然可以這種共存方式與互通策略。首先通過發送端網關利用地址轉換機制將IPv4格式的數據包的地址轉化成特殊的IPv6地址,然后轉發至IPv6網絡,由IPv6網絡按照IPv6協議繼續轉發到目的端網關,并由目的端網關進行解封裝并完成轉化為IPv4格式的數據包,繼續轉發至IPv4的目的網絡。[9]
這種共存機制與互通方式中起關鍵轉換作用的是網關,在網關中采用了與IPv4地址對應特殊的內嵌IPv6地址。這種特殊的IPv6地址分為兩類,這兩類共同之處是高80位均為0,低32位為IPv4地址。區別在于中間的16位,當中間的16位為1時,稱為“IPv6映射地址”,表示的地址為IPv4地址映射而來的IPv6地址;當中間16位為0時,稱為“IPv6兼容地址”,表示的地址為IPv4兼容的IPv6地址。[10]具體工作原理,如圖4所示。
3 結束語
IPv4可分配地址的已經用完,盡管通過一些辦法和策略來解決地址的不足,但是不能徹底解決IPv4地址本身的絕對量與需求不匹配的問題,新的網絡應用不斷涌現,特別是物聯網應用需求在快速增長。下一代網絡地址——IPv6地址逐漸引起人們的關注,已經從試驗開始投入實際應用。但是IPv4應用基礎已經相當成熟、應用簡單、用戶已經習慣了這種的應用體驗,現有IPv4網絡平臺龐大,設備配備、管理維護投入相當驚人。使得IPv4網絡不可能立即直接切換到IPv6網絡,二者必然經歷一段時間的共存與過渡期。由于IPv6的優點和IPv4自身的不足,不能解決IPv4網絡主機與IPv6網絡主機的直接互相通信,IPv6終將代替IPv4成為Internet的骨干網協議。
參考文獻:
[1] 楊云,高鴻峰.IPv6技術與應用[M].北京:清華大學出版社,2010,2(1).
[2] 陳仲華.IPv6 技術在物聯網中的應用[J]. 電信科學, 2010(4):16-19.
[3] 王洪智,尚尊義.IPv4與IPv6的比較與過渡策略[J].科技導報,2011,29(24):77.
[4] 尹韶峰.Ipv4與Ipv6雙棧網絡設計[J].微計算機信息,2010,26(11):90-92.
[5] 王浩.IPv4與IPv6相互轉換技術研究[J].計算機與數字工程,2010,38(1):114-117.
[6] 蘇云成,宋如敏.實現IPv4向IPv6過渡的雙協議棧技術和隧道技術[J].電腦知識與技術,2009,7(5):5394-5395.
[7] 袁艷君.IPv4與IPv6協議上數據傳輸相關技術[J].黑龍江科技信息,2012(31).
[8] 葛敬國,弭偉,吳玉磊.IPv6 過渡機制:研究綜述、評價指標與部署考慮[J]. 軟件學報, 2014,25(4):896?912.
[9] 張平,李春青.IPv4 與 IPv6 隧道技術的研究及實現[J]. 計算機技術與發展, 2012,22(8):135-138.
[10] 沈慶偉,張霖.基于隧道的 IPv4/IPv6 過渡技術分析[J]. 計算機技術與發展, 2007,17(5):170-176.