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