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