<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于6LOWPAN的IPv6傳感器網(wǎng)絡(luò)報(bào)頭壓縮方案的設(shè)計(jì)與實(shí)現(xiàn)

          基于6LOWPAN的IPv6傳感器網(wǎng)絡(luò)報(bào)頭壓縮方案的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2011-09-21 來(lái)源:網(wǎng)絡(luò) 收藏

          2.2 改進(jìn)
          雖然RFC4944中提到的已經(jīng)很精簡(jiǎn),但是這種方法仍然存有冗余。中對(duì)于的跳數(shù)限制字段并沒有,而是始終占用1 B存放在未字段中。但是在實(shí)際中,1,64,255這三種跳數(shù)限制已經(jīng)可以滿足大部分的應(yīng)用需求,因此本文提出一種支持對(duì)跳數(shù)限制壓縮的壓縮方法,最理想情況下可以將壓縮到1B。
          如果將跳數(shù)限制壓縮,就要從HC1字節(jié)中節(jié)省出兩個(gè)比特,用來(lái)標(biāo)識(shí)跳數(shù)限制的4種狀態(tài)(未壓縮、1、64、255),HC1字節(jié)中前4個(gè)比特都用來(lái)描述IPv6源地址和目的地址的壓縮狀態(tài),存在一定的冗余性。因?yàn)楦鶕?jù)上文的分析,不需要1個(gè)比特來(lái)專門標(biāo)識(shí)IPv6接口標(biāo)識(shí)符的壓縮狀態(tài),如果IEEE 802.15.4尋址模式為64位擴(kuò)展地址,接口標(biāo)識(shí)符可以直接壓縮掉,如果尋址模式為16位短地址,接口標(biāo)識(shí)符不可以壓縮,需要攜帶在未壓縮字段中。因此HC1字節(jié)中只需要2個(gè)比特標(biāo)識(shí)IPv6地址前綴的壓縮狀態(tài),可以節(jié)省下2個(gè)比特用來(lái)標(biāo)識(shí)跳數(shù)限制的壓縮狀態(tài)。具體壓縮方案如圖4所示。

          本文引用地址:http://www.ex-cimer.com/article/161471.htm

          c.JPG


          2.3 流程
          為了IPv6報(bào)頭壓縮與解壓縮的功能,在適配層和層之間加入壓縮控制層,層的數(shù)據(jù)經(jīng)過壓縮控制層的處理之后交給適配層處理,同樣適配層的數(shù)據(jù)經(jīng)過壓縮控制層之后交給層處理,處理流程如圖5所示。系統(tǒng)頭文件中定義一個(gè)預(yù)編譯開關(guān)來(lái)控制IPv6報(bào)頭是否要進(jìn)行壓縮,當(dāng)開關(guān)打開時(shí),數(shù)據(jù)包將會(huì)進(jìn)入壓縮器進(jìn)行處理。壓縮器首先要完成節(jié)點(diǎn)本地環(huán)境的檢測(cè),主要包括對(duì)IEEE 802.15.4地址模式、IPv6地址前綴類型、服務(wù)類型和流標(biāo)簽狀態(tài)、下一個(gè)首部類型、跳數(shù)限制需求和下一個(gè)首部壓縮狀態(tài)的檢測(cè),之后根據(jù)節(jié)點(diǎn)本地環(huán)境進(jìn)行HC1字節(jié)和未壓縮字段的填充。
          數(shù)據(jù)包的解壓縮過程正好是數(shù)據(jù)包壓縮的逆程,解壓縮器首先要根據(jù)IEEE 802.15.4地址類型還原接口標(biāo)識(shí)符,然后通過解碼HC1字節(jié)可以將IPv6報(bào)頭中壓縮掉的字段恢復(fù)出來(lái),最后在配合未壓縮字段的內(nèi)容就可以還原完整的IPv6報(bào)頭。

          d.JPG



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();