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