陳仲華
(中國(guó)電信股份有限公司上海研究院 上海 200122)
物聯(lián)網(wǎng)豐富的應(yīng)用和龐大的節(jié)點(diǎn)規(guī)模既帶來(lái)了商業(yè)上的巨大潛力,同時(shí)也帶來(lái)了技術(shù)上的挑戰(zhàn)。
首先,物聯(lián)網(wǎng)由眾多的節(jié)點(diǎn)連接構(gòu)成,無(wú)論是采用自組織方式,還是采用現(xiàn)有的公眾網(wǎng)進(jìn)行連接,這些節(jié)點(diǎn)之間的通信必然牽涉到尋址問(wèn)題。目前物聯(lián)網(wǎng)的尋址系統(tǒng)可以采用兩種方式,一種方式是采用基于E.164電話號(hào)碼編址的尋址方式,但由于目前大多數(shù)物聯(lián)網(wǎng)應(yīng)用的網(wǎng)絡(luò)通信協(xié)議都采用TCP/IP協(xié)議,電話號(hào)碼編址的方式必然需要對(duì)電話號(hào)碼與IP地址進(jìn)行轉(zhuǎn)換,這提高了技術(shù)實(shí)現(xiàn)的難度,并增加了成本。同時(shí)由于E.164編址體系本身的地址空間較小,也無(wú)法滿足大量節(jié)點(diǎn)的地址需求。另一種方式是直接采用IPv4地址的尋址體系來(lái)進(jìn)行物聯(lián)網(wǎng)節(jié)點(diǎn)的尋址,隨著互聯(lián)網(wǎng)本身的快速發(fā)展,IPv4的地址已經(jīng)日漸匱乏,從目前的地址消耗速度來(lái)看,IPv4地址空間已經(jīng)很難再滿足物聯(lián)網(wǎng)對(duì)網(wǎng)絡(luò)地址的龐大需求。從另一方面來(lái)看,物聯(lián)網(wǎng)對(duì)海量地址的需求,也對(duì)地址分配方式提出了要求,海量地址的分配無(wú)法使用手工分配,使用傳統(tǒng)DHCP的分配方式對(duì)網(wǎng)絡(luò)中的DHCP服務(wù)器也提出了極高的性能和可靠性要求,可能造成DHCP服務(wù)器性能不足,成為網(wǎng)絡(luò)應(yīng)用的一個(gè)瓶頸。
其次,目前互聯(lián)網(wǎng)的移動(dòng)性不足也造成了物聯(lián)網(wǎng)移動(dòng)能力的瓶頸。IPv4協(xié)議在設(shè)計(jì)之初并沒(méi)有充分考慮到節(jié)點(diǎn)移動(dòng)性帶來(lái)的路由問(wèn)題,即當(dāng)一個(gè)節(jié)點(diǎn)離開(kāi)了它原有的網(wǎng)絡(luò),如何再保證這個(gè)節(jié)點(diǎn)訪問(wèn)可達(dá)性的問(wèn)題。由于IP網(wǎng)絡(luò)路由的聚合特性,在網(wǎng)絡(luò)路由器中路由條目都是按子網(wǎng)來(lái)進(jìn)行匯聚的,當(dāng)節(jié)點(diǎn)離開(kāi)原有網(wǎng)絡(luò),其原來(lái)的IP地址離開(kāi)了該子網(wǎng),而節(jié)點(diǎn)移動(dòng)到目的子網(wǎng)后,網(wǎng)絡(luò)路由器設(shè)備的路由表中并沒(méi)有該節(jié)點(diǎn)的路由信息(為了不破壞全網(wǎng)路由的匯聚,也不允許目的子網(wǎng)中存在移動(dòng)節(jié)點(diǎn)的路由),會(huì)導(dǎo)致外部節(jié)點(diǎn)無(wú)法找到移動(dòng)后的節(jié)點(diǎn)。因此如何支持節(jié)點(diǎn)的移動(dòng)能力是需要通過(guò)特殊機(jī)制實(shí)現(xiàn)的,在 IPv4中 IETF提出了 MIPv4(移動(dòng) IP)的機(jī)制來(lái)支持節(jié)點(diǎn)的移動(dòng)。但這樣的機(jī)制引入了著名的三角路由問(wèn)題,對(duì)于少量節(jié)點(diǎn)的移動(dòng),該問(wèn)題引起的網(wǎng)絡(luò)資源損耗較小,而對(duì)于大量節(jié)點(diǎn)的移動(dòng),特別是物聯(lián)網(wǎng)中特有的節(jié)點(diǎn)群移動(dòng)和層移動(dòng),會(huì)導(dǎo)致網(wǎng)絡(luò)資源被迅速耗盡,使網(wǎng)絡(luò)處于癱瘓的狀態(tài)。
再次,網(wǎng)絡(luò)質(zhì)量保證也是物聯(lián)網(wǎng)發(fā)展過(guò)程中必須解決的問(wèn)題。目前IPv4網(wǎng)絡(luò)中實(shí)現(xiàn)QoS有兩種技術(shù),其一采用資源預(yù)留(interserv)的方式,利用RSVP等協(xié)議為數(shù)據(jù)流保留一定的網(wǎng)絡(luò)資源,在數(shù)據(jù)包傳送過(guò)程中保證其傳輸?shù)馁|(zhì)量;其二采用Diffserv技術(shù),由IP包自身攜帶優(yōu)先級(jí)標(biāo)記,網(wǎng)絡(luò)設(shè)備根據(jù)這些優(yōu)先級(jí)標(biāo)記來(lái)決定包的轉(zhuǎn)發(fā)優(yōu)先策略。目前IPv4網(wǎng)絡(luò)中服務(wù)質(zhì)量的劃分基本是從流的類型出發(fā),使用Diffserv來(lái)實(shí)現(xiàn)端到端服務(wù)質(zhì)量保證,例如視頻業(yè)務(wù)有低丟包、時(shí)延、抖動(dòng)的要求,就給它分配較高的服務(wù)質(zhì)量等級(jí);數(shù)據(jù)業(yè)務(wù)對(duì)丟包、時(shí)延、抖動(dòng)不敏感,就分配較低的服務(wù)質(zhì)量等級(jí),這樣的分配方式僅考慮了業(yè)務(wù)的網(wǎng)絡(luò)側(cè)質(zhì)量需求,沒(méi)有考慮業(yè)務(wù)的應(yīng)用側(cè)的質(zhì)量需求,例如,一個(gè)普通視頻業(yè)務(wù)對(duì)服務(wù)質(zhì)量的需求可能比一個(gè)基于物聯(lián)網(wǎng)傳感的手術(shù)應(yīng)用對(duì)服務(wù)質(zhì)量的需求要低。因此物聯(lián)網(wǎng)中的服務(wù)質(zhì)量保障必須與具體的應(yīng)用相結(jié)合。
最后,物聯(lián)網(wǎng)節(jié)點(diǎn)的安全性和可靠性也需要重新考慮。由于物聯(lián)網(wǎng)節(jié)點(diǎn)限于成本約束很多都是基于簡(jiǎn)單硬件的,不可能處理復(fù)雜的應(yīng)用層加密算法,同時(shí)單節(jié)點(diǎn)的可靠性也不可能做得很高,其可靠性主要還是依靠多節(jié)點(diǎn)冗余來(lái)保證。因此,靠傳統(tǒng)的應(yīng)用層加密技術(shù)和網(wǎng)絡(luò)冗余技術(shù)很難滿足物聯(lián)網(wǎng)的需求。
IPv6擁有巨大的地址空間,同時(shí)128 bit的IPv6的地址被劃分成兩部分,即地址前綴和接口地址。與IPv4地址劃分不同的是,IPv6地址的劃分嚴(yán)格按照地址的位數(shù)來(lái)進(jìn)行,而不采用IPv4中的子網(wǎng)掩碼來(lái)區(qū)分網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)。IPv6地址的前64位被定義為地址前綴,地址前綴用來(lái)表示該地址所屬的子網(wǎng)絡(luò),即地址前綴用來(lái)在整個(gè)IPv6網(wǎng)中進(jìn)行路由。而地址的后64位被定義為接口地址,接口地址用來(lái)在子網(wǎng)絡(luò)中標(biāo)識(shí)節(jié)點(diǎn)。在物聯(lián)網(wǎng)應(yīng)用中可以使用IPv6地址中的接口地址來(lái)標(biāo)識(shí)節(jié)點(diǎn),在同一子網(wǎng)絡(luò)下,可以標(biāo)識(shí)264個(gè)節(jié)點(diǎn)。這個(gè)標(biāo)識(shí)空間約有185億億個(gè)地址空間,這樣的地址空間完全可以滿足節(jié)點(diǎn)標(biāo)識(shí)的需要。
另一方面,IPv6采用了無(wú)狀態(tài)地址分配的方案來(lái)解決高效率海量地址分配的問(wèn)題。其基本思想是網(wǎng)絡(luò)側(cè)不管理IPv6地址的狀態(tài),包括節(jié)點(diǎn)應(yīng)該使用什么樣的地址、地址的有效期有多長(zhǎng),且基本不參與地址的分配過(guò)程。節(jié)點(diǎn)設(shè)備連接到網(wǎng)絡(luò)中后,將自動(dòng)選擇接口地址(通過(guò)算法生成IPv6地址的后64位),并加上FE80的前綴地址,作為節(jié)點(diǎn)的本地鏈路地址,本地鏈路地址只在節(jié)點(diǎn)與鄰居之間的通信中有效,路由器設(shè)備將不路由以該地址為源地址的數(shù)據(jù)包。在生成本地鏈路地址后,節(jié)點(diǎn)將進(jìn)行DAD(地址沖突檢測(cè)),檢測(cè)該接口地址是否有鄰居節(jié)點(diǎn)已經(jīng)使用,如果節(jié)點(diǎn)發(fā)現(xiàn)地址沖突,則無(wú)狀態(tài)地址分配過(guò)程將終止,節(jié)點(diǎn)將等待手工配置IPv6地址。如果在檢測(cè)定時(shí)器超時(shí)后仍沒(méi)有發(fā)現(xiàn)地址沖突,則節(jié)點(diǎn)認(rèn)為該接口地址可以使用,此時(shí)終端將發(fā)送路由器前綴通告請(qǐng)求,尋找網(wǎng)絡(luò)中的路由設(shè)備,當(dāng)網(wǎng)絡(luò)中配置的路由設(shè)備接收到該請(qǐng)求,則將發(fā)送地址前綴通告響應(yīng),將節(jié)點(diǎn)應(yīng)該配置的IPv6地址前64位的地址前綴通告給網(wǎng)絡(luò)節(jié)點(diǎn),網(wǎng)絡(luò)節(jié)點(diǎn)將地址前綴與接口地址組合,構(gòu)成節(jié)點(diǎn)自身的全球IPv6地址。
采用無(wú)狀態(tài)地址分配之后,網(wǎng)絡(luò)側(cè)不再需要保存節(jié)點(diǎn)的地址狀態(tài),維護(hù)地址的更新周期,這大大簡(jiǎn)化了地址分配的過(guò)程,網(wǎng)絡(luò)可以以很低的資源消耗來(lái)達(dá)到海量地址分配的目的。
反傾銷是木質(zhì)家具出口中比較常見(jiàn)的貿(mào)易爭(zhēng)端,例如2005年中國(guó)臥室家具遭遇的反傾銷案例,該案例始于2004年美國(guó)國(guó)內(nèi)制造商訴訟中國(guó)臥室家具價(jià)格不公平,2005年美國(guó)商務(wù)部對(duì)中國(guó)臥室家具增收進(jìn)口稅達(dá)200%以上,對(duì)中美臥室家具貿(mào)易造成了嚴(yán)重影響。2015年美國(guó)貿(mào)易委員會(huì)啟動(dòng)了第二輪評(píng)估,評(píng)估對(duì)中國(guó)制造的臥室家具的高關(guān)稅是否合理。
IPv6協(xié)議設(shè)計(jì)之初就充分考慮了對(duì)移動(dòng)性的支持。針對(duì)移動(dòng)IPv4網(wǎng)絡(luò)中的三角路由問(wèn)題,移動(dòng)IPv6提出了相應(yīng)的解決方案。
首先,從終端角度IPv6提出了IP地址綁定緩沖的概念,即IPv6協(xié)議棧在轉(zhuǎn)發(fā)數(shù)據(jù)包之前需要查詢IPv6數(shù)據(jù)包目的地址的綁定地址,如果查詢到綁定緩沖中目的IPv6地址存在綁定的轉(zhuǎn)交地址,則直接使用這個(gè)轉(zhuǎn)交地址為數(shù)據(jù)包的目的地址,這樣發(fā)送的數(shù)據(jù)流量就不會(huì)再經(jīng)過(guò)移動(dòng)節(jié)點(diǎn)的家鄉(xiāng)代理,而直接轉(zhuǎn)發(fā)到移動(dòng)節(jié)點(diǎn)本身。
其次,MIPv6引入了探測(cè)節(jié)點(diǎn)移動(dòng)的特殊方法,即某一區(qū)域的接入路由器以一定時(shí)間進(jìn)行路由器接口的前綴地址通告,當(dāng)移動(dòng)節(jié)點(diǎn)發(fā)現(xiàn)路由器前綴通告發(fā)生變化,則表明節(jié)點(diǎn)已經(jīng)移動(dòng)到新的接入?yún)^(qū)域。與此同時(shí)根據(jù)移動(dòng)節(jié)點(diǎn)獲得的通告,節(jié)點(diǎn)又可以生成新的轉(zhuǎn)交地址,并將其注冊(cè)到家鄉(xiāng)代理上。
MIPv4與MIPv6轉(zhuǎn)發(fā)比較如圖1所示。
由圖1可知MIPv6的數(shù)據(jù)流量可以直接發(fā)送到移動(dòng)節(jié)點(diǎn),而MIPv4流量必須經(jīng)過(guò)家鄉(xiāng)代理的轉(zhuǎn)發(fā)。在物聯(lián)網(wǎng)應(yīng)用中,傳感器有可能密集地部署在一個(gè)移動(dòng)物體上,例如為了監(jiān)控地鐵的運(yùn)行參數(shù)等,需要在地鐵車廂內(nèi)部署許多傳感器,從整體上來(lái)看,地鐵的移動(dòng)就等同于一群傳感器的移動(dòng),在移動(dòng)過(guò)程中必然發(fā)生傳感器的群體切換,在MIPv4的情況下,每個(gè)傳感器都需要建立到家鄉(xiāng)代理的隧道連接,這樣對(duì)網(wǎng)絡(luò)資源的消耗非常大,很容易導(dǎo)致網(wǎng)絡(luò)資源耗盡而癱瘓。在MIPv6的網(wǎng)絡(luò)中,傳感器進(jìn)行群切換時(shí)只需要向家鄉(xiāng)代理注冊(cè),之后的通信完全由傳感器和數(shù)據(jù)采集的設(shè)備之間直接進(jìn)行,這樣就可以使網(wǎng)絡(luò)資源消耗的壓力大大下降。因此,在大規(guī)模部署物聯(lián)網(wǎng)應(yīng)用,特別是移動(dòng)物聯(lián)網(wǎng)應(yīng)用時(shí),MIPv6是一項(xiàng)關(guān)鍵性的技術(shù)。
在網(wǎng)絡(luò)服務(wù)質(zhì)量保障方面,IPv6在其數(shù)據(jù)包結(jié)構(gòu)中定義了流量類別字段和流標(biāo)簽字段。流量類別字段有8位,和IPv4的服務(wù)類型(ToS)字段功能相同,用于對(duì)報(bào)文的業(yè)務(wù)類別進(jìn)行標(biāo)識(shí);流標(biāo)簽字段有20位,用于標(biāo)識(shí)屬于同一業(yè)務(wù)流的包。流標(biāo)簽和源、目的地址一起,惟一標(biāo)識(shí)了一個(gè)業(yè)務(wù)流。同一個(gè)流中的所有包具有相同的流標(biāo)簽,以便對(duì)有同樣QoS要求的流進(jìn)行快速、相同的處理。
目前,IPv6的流標(biāo)簽定義還未完善。但從其定義的規(guī)范框架來(lái)看,IPv6流標(biāo)簽提出的支持服務(wù)質(zhì)量保證的最低要求是標(biāo)記流,即給流打標(biāo)簽。流標(biāo)簽應(yīng)該由流的發(fā)起者信源節(jié)點(diǎn)賦予一個(gè)流,同時(shí)要求在通信的路徑上的節(jié)點(diǎn)都能夠識(shí)別該流的標(biāo)簽,并根據(jù)流標(biāo)簽來(lái)調(diào)度流的轉(zhuǎn)發(fā)優(yōu)先級(jí)算法。這樣的定義可以使物聯(lián)網(wǎng)節(jié)點(diǎn)上的特定應(yīng)用有更大的調(diào)整自身數(shù)據(jù)流的自由度,節(jié)點(diǎn)可以只在必要的時(shí)候選擇符合應(yīng)用需要的服務(wù)質(zhì)量等級(jí),并為該數(shù)據(jù)流打上一致的標(biāo)記。在重要數(shù)據(jù)轉(zhuǎn)發(fā)完成后,即使通信沒(méi)有結(jié)束節(jié)點(diǎn)也可以釋放該流標(biāo)記,這樣的機(jī)制再結(jié)合動(dòng)態(tài)服務(wù)質(zhì)量申請(qǐng)和認(rèn)證、計(jì)費(fèi)的機(jī)制,就可以做到使網(wǎng)絡(luò)按應(yīng)用的需要來(lái)分配服務(wù)質(zhì)量。同時(shí),為了防止節(jié)點(diǎn)在釋放流標(biāo)簽后又誤用該流標(biāo)簽,造成計(jì)費(fèi)上的問(wèn)題,信源節(jié)點(diǎn)必須保證在120 s內(nèi)不再使用釋放了的流標(biāo)簽。
在物聯(lián)網(wǎng)應(yīng)用中普遍存在節(jié)點(diǎn)數(shù)量多,通信流量突發(fā)性強(qiáng)的特點(diǎn)。與IPv4相比,由于IPv6的流標(biāo)簽有20 bit,足夠標(biāo)記大量節(jié)點(diǎn)的數(shù)據(jù)流,同時(shí)與IPv4中通過(guò)五元組(源、目的IP地址,源、目的端口、協(xié)議號(hào))不同,IPv6可以在一個(gè)通信過(guò)程中(五元組沒(méi)有變化),只在必要的時(shí)候數(shù)據(jù)包才攜帶流標(biāo)簽,即在節(jié)點(diǎn)發(fā)送重要數(shù)據(jù)時(shí),動(dòng)態(tài)提高應(yīng)用的服務(wù)質(zhì)量等級(jí),做到對(duì)服務(wù)質(zhì)量的精細(xì)化控制。
當(dāng)然IPv6的QoS特性并不完善,由于使用的流標(biāo)簽位于IPv6包頭,容易被偽造,產(chǎn)生服務(wù)盜用的安全問(wèn)題。因此,在IPv6中流標(biāo)簽的應(yīng)用需要開(kāi)發(fā)相應(yīng)的認(rèn)證加密機(jī)制。同時(shí)為了避免流標(biāo)簽使用過(guò)程中發(fā)生沖突,還要增加源節(jié)點(diǎn)的流標(biāo)簽使用控制的機(jī)制,保證在流標(biāo)簽使用過(guò)程中不會(huì)被誤用。
首先,在物聯(lián)網(wǎng)的安全保障方面,由于物聯(lián)網(wǎng)應(yīng)用中節(jié)點(diǎn)部署的方式比較復(fù)雜,節(jié)點(diǎn)可能通過(guò)有線方式或無(wú)線方式連接到網(wǎng)絡(luò),因此節(jié)點(diǎn)的安全保障的情況也比較復(fù)雜。在使用IPv4的場(chǎng)景中一個(gè)黑客可能通過(guò)在網(wǎng)絡(luò)中掃描主機(jī)IPv4地址的方式來(lái)發(fā)現(xiàn)節(jié)點(diǎn),并尋找相應(yīng)的漏洞。而在IPv6場(chǎng)景中,由于同一個(gè)子網(wǎng)支持的節(jié)點(diǎn)數(shù)量極大(達(dá)到百億億數(shù)量級(jí)),黑客通過(guò)掃描的方式找到主機(jī)難度大大增加。
在IP基礎(chǔ)協(xié)議棧的設(shè)計(jì)方面,IPv6將IPSec協(xié)議嵌入到基礎(chǔ)的協(xié)議棧中,通信的兩端可以啟用IPSec加密通信的信息和通信的過(guò)程。網(wǎng)絡(luò)中的黑客將不能采用中間人攻擊的方法對(duì)通信過(guò)程進(jìn)行破壞或劫持。同時(shí),黑客即使截取了節(jié)點(diǎn)的通信數(shù)據(jù)包,也會(huì)因?yàn)闊o(wú)法解碼而不能竊取通信節(jié)點(diǎn)的信息。
同時(shí),由于IP地址的分段設(shè)計(jì),將用戶信息與網(wǎng)絡(luò)信息分離,使用戶在網(wǎng)絡(luò)中的實(shí)時(shí)定位很容易,這也保證了在網(wǎng)絡(luò)中可以對(duì)黑客行為進(jìn)行實(shí)時(shí)的監(jiān)控,提升了網(wǎng)絡(luò)的監(jiān)控能力。
在另一個(gè)方面,物聯(lián)網(wǎng)應(yīng)用中由于成本限制,節(jié)點(diǎn)通常比較簡(jiǎn)單,節(jié)點(diǎn)的可靠性也不可能做得太高,因此,物聯(lián)網(wǎng)的可靠性要靠節(jié)點(diǎn)之間的互相冗余來(lái)實(shí)現(xiàn)。又因?yàn)楣?jié)點(diǎn)不可能實(shí)現(xiàn)較復(fù)雜的冗余算法,因此一種較理想的冗余實(shí)現(xiàn)方式是采用網(wǎng)絡(luò)側(cè)的任播技術(shù)來(lái)實(shí)現(xiàn)節(jié)點(diǎn)之間的冗余。
采用IPv6的任播技術(shù)后,多個(gè)節(jié)點(diǎn)采用相同的IPv6任播地址(任播地址在IPv6中有特殊定義)。在通信過(guò)程中發(fā)往任播地址的數(shù)據(jù)包將被發(fā)往由該地址標(biāo)識(shí)的 “最近”的一個(gè)網(wǎng)絡(luò)接口,其中“最近”的含義指的是在路由器中該節(jié)點(diǎn)的路由矢量計(jì)算值最小的節(jié)點(diǎn)。當(dāng)一個(gè)“最近”節(jié)點(diǎn)發(fā)生故障時(shí),網(wǎng)絡(luò)側(cè)的路由設(shè)備將會(huì)發(fā)現(xiàn)該節(jié)點(diǎn)的路由矢量不再是“最近”的,從而會(huì)將后續(xù)的通信流量轉(zhuǎn)發(fā)到其他的節(jié)點(diǎn),這樣物聯(lián)網(wǎng)的節(jié)點(diǎn)之間就自動(dòng)實(shí)現(xiàn)了冗余保護(hù)的功能,而節(jié)點(diǎn)上基本不需要增加算法,只需要應(yīng)答路由設(shè)備的路由查詢,并返回簡(jiǎn)單信息給路由設(shè)備即可。
IPv6具有很多適合物聯(lián)網(wǎng)大規(guī)模應(yīng)用的特性,但目前也存在一些技術(shù)問(wèn)題需要解決,例如,無(wú)狀態(tài)地址分配中的安全性問(wèn)題,移動(dòng)IPv6中的綁定緩沖安全更新問(wèn)題,流標(biāo)簽的安全防護(hù),全球任播技術(shù)的研究等。雖然IPv6還有眾多的技術(shù)細(xì)節(jié)需要完善,但從整體來(lái)看,使用IPv6不僅能夠滿足物聯(lián)網(wǎng)的地址需求,同時(shí)還能滿足物聯(lián)網(wǎng)對(duì)節(jié)點(diǎn)移動(dòng)性、節(jié)點(diǎn)冗余、基于流的服務(wù)質(zhì)量保障的需求,很有希望成為物聯(lián)網(wǎng)應(yīng)用的基礎(chǔ)網(wǎng)絡(luò)技術(shù)。