6L0WPAN在物聯(lián)網(wǎng)中的應(yīng)用仿真
引言
物聯(lián)網(wǎng)是一個基于互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)絡(luò)等信息載體,讓所有能夠被獨立尋址的普通物理對象實現(xiàn)互聯(lián)互通,從而提供智能服務(wù)的網(wǎng)絡(luò)系統(tǒng)。國家“十二五”規(guī)劃明確提出,物聯(lián)網(wǎng)將會在智能電網(wǎng)、智能交通、智能物流、金融與服務(wù)業(yè)、國防軍事等十大領(lǐng)域重點部署。根據(jù)物聯(lián)網(wǎng)低功耗、低成本等特點的要求,IEEE802.15.4是當(dāng)前最適合的底層技術(shù),但IEEE802.15.4標(biāo)準(zhǔn)只定義了其中的兩層,即物理層(PHY)和MAC子層。位于這兩層以上的層在IEEE802.15.4中并沒有定義,為此,本文根據(jù)IEEE802.15.4的特點,給出了ZigBee和6LoWPAN在其IEEE802.15.4標(biāo)準(zhǔn)上層應(yīng)用規(guī)范中的兩種最典型的實現(xiàn)形式。
1總體設(shè)計
圖1所示是基于IEEE802.15.4的網(wǎng)絡(luò)層協(xié)議示意圖。
本文主要研究的是基于6LoWPAN的物聯(lián)網(wǎng)。實際上,物聯(lián)網(wǎng)可能有很多個節(jié)點,并且可能通過Internet與其它節(jié)點互聯(lián)。為了能夠與其它IP設(shè)備互操作,物聯(lián)網(wǎng)網(wǎng)關(guān)需要使用IP協(xié)議作為網(wǎng)絡(luò)層協(xié)議,物聯(lián)網(wǎng)內(nèi)部節(jié)點間可以使用其它協(xié)議,但為了方便與網(wǎng)關(guān)連接,合理的方法應(yīng)該是采用IP協(xié)議。6LoWPAN的目標(biāo)就是在IEEE802.15.4MAC層上構(gòu)建IPv6協(xié)議棧,使物聯(lián)網(wǎng)能夠平滑地連接到IPv6Internet。
為了實現(xiàn)與IPv6Internet的互聯(lián),本文給出了如圖2所示的總體設(shè)計。該協(xié)議中間采用的是雙協(xié)議棧網(wǎng)關(guān),其中一邊是IPv6網(wǎng)絡(luò),一邊是由物聯(lián)網(wǎng)感知節(jié)點組成的網(wǎng)絡(luò),然后通過網(wǎng)關(guān)實現(xiàn)兩種網(wǎng)絡(luò)的相互通信。
但這種設(shè)計仍然存在以下問題:第一是IPv6包頭很大,而IEEE802.15.4MAC凈荷僅有127B,所以需要對IPv6包頭進行壓縮以便騰出位置;第二是IPv6數(shù)據(jù)包支持的最小字節(jié)數(shù)(1280B)遠大于IEEE802.15.4幀所能包含的字節(jié)數(shù)(127B),因此,必須拆包才能裝進IEEE802.15.4幀中;第三,因IPv6地址數(shù)量為海量,故將導(dǎo)致路由表太長,如果在IP層選路,則選路時間太長,難以接受。為此,本文在6L0WPAN體系結(jié)構(gòu)中引入了一個適配層,并在該層完成數(shù)據(jù)分片與數(shù)據(jù)重組、壓縮和選路等功能。圖3所示是其壓縮與分片示意圖。
1.1包頭壓縮的設(shè)計
雖然IEEE802.15.4幀保留了81B的空間來供IPv6使用,但是僅IPv6報頭就占了40B,而如果使用UDP報文的話,UDP報頭還要占用8B,剩余空間就更加有限。因此,必須使用報頭壓縮技術(shù)來提高報文的凈荷傳輸率。
6LoWPAN報頭壓縮的基本思想首先是使報頭中所有在連接過程中保持不變的域都可以完全壓縮掉;第二是使報頭中變化的、可以預(yù)先知道的域也可以壓縮掉;第三,使得報頭中由鏈路層可獲知的信息域也可以壓縮掉;第四,使報頭中有些域的存在是有條件的或是可選的,這樣,對于特定應(yīng)用就可以去掉。
其具體的壓縮見表1所列。
1.2MeshDelivery字段的改進
基于IEEE802.15.4可以構(gòu)建星形、樹狀和Mesh狀網(wǎng)絡(luò)拓撲結(jié)構(gòu)。星型拓撲的無線網(wǎng)絡(luò)結(jié)構(gòu)簡單,覆蓋范圍小,鏈路冗余度差,可靠性低,拓撲擴展不便;樹狀拓撲結(jié)構(gòu)適合于節(jié)點靜止或者移動少的場合,其路由屬于靜態(tài)路由,不需要存儲路由表,它對傳輸數(shù)據(jù)包的響應(yīng)較快,缺點是所選擇的路由并非是最佳的路由;而Mesh狀的網(wǎng)絡(luò)則適合節(jié)點移動頻繁和節(jié)點數(shù)目多的場景,因而更適合于實際的應(yīng)用。
字頭字段IPV6長度40B6LoWPANHC1長2B說明版本4――已認定為IPv6業(yè)務(wù)流分類810=不壓縮1=壓縮,業(yè)務(wù)類別與流標(biāo)簽均為0流標(biāo)簽20凈荷長度16――從MAC幀長度或適配層數(shù)據(jù)報大小(6LoWPAN的分拆字頭)得到下一頭部82分組總是使用TCP/UDP/ICMP6:11表示分拆頭,10表示多跳頭,01表示非6LoWPAN幀,00表示快信幀剩余跳數(shù)88不變源地址1282源和目的地的IPv6地址總是本地的,因此網(wǎng)絡(luò)前綴可壓縮為取值為1的1b,另一個比特設(shè)為1表示省略了64b的接口識別符,因為目的地能夠從鏈路層地址或網(wǎng)狀選路的尋我頭中導(dǎo)出目的地址1282HC2編碼――1跟著HC1字頭的另一種壓縮方案于節(jié)點靜止或者移動少的場合,其路由屬于靜態(tài)路由,不需要存儲路由表,它對傳輸數(shù)據(jù)包的響應(yīng)較快,缺點是所選擇的路由并非是最佳的路由;而Mesh狀的網(wǎng)絡(luò)則適合節(jié)點移動頻繁和節(jié)點數(shù)目多的場景,因而更適合于實際的應(yīng)用。表16LoWPAN對IPV6頭部的壓縮從適配層分片報文格式可知,除了第一片外,后續(xù)分片的MeshDelivery字段都要添加適應(yīng)層源地址和適應(yīng)層最終目的地址,這樣就無形中大大增加了網(wǎng)絡(luò)的負載。為了減少負載,可以對后續(xù)分片進行修改。由于后續(xù)分片和第一片的適應(yīng)層源地址和適應(yīng)層最終目的地址完全相同,因而可以取消后續(xù)片的地址字段。為了不改變原來的選路功能,可用datagram_tag字段取代地址字段,把原來較長的MeshDelivery地址字段改成僅需9b的datagram_tag字段,這樣就減少了后續(xù)分片所增加的負載,提高了網(wǎng)絡(luò)的利用率。在進行選路時,可通過讀取datagram_tag字段獲取地址,由于后續(xù)片的datagram_tag字段值和第一片相同,所以,就可通過該字段獲取第一片的地址,這樣就能實現(xiàn)選路功能。修改后的MeshDelivery字段格式如圖4所示。
另外,由于選路時讀取的是9b的datagram_tag字段值,要比讀取源地址和最終目的地址快得多,每個分片都會節(jié)省大量時間,這樣,總的時延也就減少了很多,從而大大降低了傳輸時延。
1.3感知節(jié)點與IPv6節(jié)點的通信過程
感知節(jié)點與IPv6節(jié)點進行通信時,首先由IPv6節(jié)點向目的感知節(jié)點發(fā)送一個獲取采集數(shù)據(jù)的請求數(shù)據(jù)包,此數(shù)據(jù)包到達網(wǎng)關(guān)時,網(wǎng)關(guān)將IPv6請求數(shù)據(jù)包進行精簡(即壓縮),然后根據(jù)IPv6報文是否需要分片的要求分別用相應(yīng)的適配層頭部封裝精簡過的IPv6數(shù)據(jù)包,最后將其封裝成IEEE802.15.4幀在鏈路層進行傳輸,然后到達目的感知節(jié)點;目的感知節(jié)點接收到所有的分片后,對分片進行重組,然后處理IPv6報文中的應(yīng)用層數(shù)據(jù)(即服務(wù)請求消息),處理完成后,再用精簡的IPv6報文頭部按分片的要求對響應(yīng)數(shù)據(jù)進行封裝,以將其封裝成IEEE802.15.4幀進行傳輸;之后,即可根據(jù)適配層頭部信息對返回的IPv6報文進行重組,并對精簡IPv6報頭進行還原操作;最后,再將完整的IPv6報文封裝到IPv6網(wǎng)絡(luò)所使用的鏈路層幀中,并將其發(fā)送到IPv6網(wǎng)絡(luò)上,IPv6網(wǎng)絡(luò)按照IPv6路由方式將此幀路由到源節(jié)點,以結(jié)束傳輸過程。
2仿真結(jié)果分析
改進結(jié)束后,即可在仿真環(huán)境下比較改進后的6LoWPAN協(xié)議與原協(xié)議的性能??稍诜抡鎱^(qū)域內(nèi)布置1個網(wǎng)關(guān)節(jié)點與150個感知節(jié)點,為了取得明顯的效果,選擇的數(shù)據(jù)包都應(yīng)是大于1500B的數(shù)據(jù)包,通過實驗可對改進后的6LoWPAN協(xié)議與原協(xié)議的平均傳輸成功率、平均延遲時間性能進行分析。其中,平均延遲時間是指發(fā)送方發(fā)送數(shù)據(jù)包時刻到接收方接收到數(shù)據(jù)包時刻之間的平均時間間隔,其分析結(jié)果如圖5所示。
由圖5所示的仿真結(jié)果可見,改進后的6LoWPAN協(xié)議,不但沒有對選路產(chǎn)生影響,反而還在一定程度上提高了數(shù)據(jù)包的接收率。另外,改進后的協(xié)議在減少開銷的同時,選路時也減少了延遲時間,其原因是對于分片的報文,只讀取了9b的datagram_tag字段,從而要比讀取較長地址字段大大節(jié)省時間。
3結(jié)語
本文提出了一種基于6LoWPAN物聯(lián)網(wǎng)的應(yīng)用方案,并在原有6LoWPAN協(xié)議的基礎(chǔ)上對Mesh路由字段進行了改進。最后,在網(wǎng)絡(luò)仿真環(huán)境下對本協(xié)議的數(shù)據(jù)包接收率、平均延遲時間等性能參數(shù)進行了比較分析。實驗數(shù)據(jù)表明,經(jīng)過改進的6LoWPAN協(xié)議具有更好的性能。
20211012_6165ad1baa794__6L0WPAN在物聯(lián)網(wǎng)中的應(yīng)用仿真