新聞中心

        EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 一種能量感知型無(wú)線傳感器網(wǎng)絡(luò)跨層式通信協(xié)議

        一種能量感知型無(wú)線傳感器網(wǎng)絡(luò)跨層式通信協(xié)議

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

        前向鄰居(Forward Vicinage):數(shù)據(jù)傳輸過(guò)程中可以成為節(jié)點(diǎn)A下一跳節(jié)點(diǎn)的鄰居。節(jié)點(diǎn)A的所有前向鄰居構(gòu)成它的前向鄰居集;記為FVSA。
        后向鄰居(Backward Vicinage):如果節(jié)點(diǎn)A是節(jié)點(diǎn)B的前向鄰居,那么節(jié)點(diǎn)B就稱為節(jié)點(diǎn)A的后向鄰居。節(jié)點(diǎn)A的所有后向鄰居構(gòu)成它的后向鄰居集,記為BVSA。
        目的節(jié)點(diǎn)(Termini Node):不需其他節(jié)點(diǎn)路由,可直接將數(shù)據(jù)包發(fā)送給Sink的節(jié)點(diǎn)。
        熱度:節(jié)點(diǎn)建立鏈路的頻繁程度。
        2.2 信道接入
        信道訪問(wèn)機(jī)制采用IEEE802.11 CSMA/CA機(jī)制。需要使用信道的節(jié)點(diǎn)首先偵聽(tīng)信道是否空閑,如果信道空閑且經(jīng)過(guò)一個(gè)DIFS時(shí)序間隔后仍為空閑狀態(tài),那么發(fā)送節(jié)點(diǎn)直接開(kāi)始發(fā)送分組數(shù)據(jù);否則發(fā)送節(jié)點(diǎn)一直偵聽(tīng)信道直至信道最終空閑下來(lái)并且超過(guò)DIFS時(shí)序間隔,此時(shí)發(fā)送節(jié)點(diǎn)將啟動(dòng)退避機(jī)制。圖1描述了CSMA/CA機(jī)制的基本訪問(wèn)方式。

        本文引用地址:http://www.104case.com/article/158051.htm

        2.3 鏈路選擇
        當(dāng)系統(tǒng)布設(shè)完畢進(jìn)入穩(wěn)定狀態(tài)后,Sink節(jié)點(diǎn)開(kāi)始廣播HELL0消息,其格式如圖2所示。

        該數(shù)據(jù)包共16個(gè)字節(jié),其各字段含義如下:
        NOP:用來(lái)標(biāo)識(shí)采用何種,包括的名稱代碼、版本號(hào)等信息;
        TID:HELLo消息的來(lái)源,因?yàn)橄到y(tǒng)中往往不止一個(gè)節(jié)點(diǎn)可直接向Sink發(fā)送數(shù)據(jù);
        NOT:該數(shù)據(jù)包被轉(zhuǎn)發(fā)的次數(shù),Sink節(jié)點(diǎn)廣播此消息時(shí)該字段為O,每轉(zhuǎn)發(fā)一次,該字段值加1,終節(jié)點(diǎn)發(fā)送時(shí)此字段值為1;
        TRID:發(fā)出該數(shù)據(jù)包的節(jié)點(diǎn)ID;
        EREM:發(fā)出該數(shù)據(jù)包的節(jié)點(diǎn)的當(dāng)前剩余
        HELL0:消息內(nèi)容;
        HOT:發(fā)送該消息的節(jié)點(diǎn)“熱度”;
        0NM:用來(lái)標(biāo)記每次建立路由,在一次建立路由過(guò)程中,消息編碼固定,Sink節(jié)點(diǎn)移動(dòng)位置或其他情況下需要重建路由時(shí),修改該字段;
        SP:用來(lái)填補(bǔ)該數(shù)據(jù)包的空余,該字段值為O。
        當(dāng)某個(gè)節(jié)點(diǎn)收到此消息后,完成下面動(dòng)作:
        (1)檢測(cè)數(shù)據(jù)幀,檢測(cè)步驟如下:
        ①查看數(shù)據(jù)包的消息代碼字段,檢查與上次接收到的編號(hào)是否相同(首次接收到判為不同);若相同轉(zhuǎn)步驟③;否則轉(zhuǎn)步驟②;
        ②清除鄰居列表信息,重新建表;
        ③查看HELLO消息數(shù)據(jù)包的轉(zhuǎn)發(fā)節(jié)點(diǎn)ID字段,若該節(jié)點(diǎn)已包括在后向鄰居列表中,則丟棄該包;
        ④將轉(zhuǎn)發(fā)節(jié)點(diǎn)ID添加到前向鄰居列表。
        (2)發(fā)送一個(gè)名為“COUNTERSIGN”的確認(rèn)消息數(shù)據(jù)包,消息格式如圖3所示:

        該數(shù)據(jù)包共有16個(gè)字節(jié),各字段含義如下:
        NOP:與HELLO消息的相應(yīng)字段相同;
        TRID:產(chǎn)生并發(fā)送該消息的節(jié)點(diǎn)ID;
        COUNTERSIGN:消息內(nèi)容;
        REIDL:該字段包含了需接收該消息的全部節(jié)點(diǎn)ID;
        SP:與HELL0消息的相應(yīng)字段相同。
        (3)轉(zhuǎn)發(fā)HELLO消息,其過(guò)程為:
        ①修改轉(zhuǎn)發(fā)次數(shù)字段,給其值加1;
        ②將轉(zhuǎn)發(fā)節(jié)點(diǎn)ID、“熱度”、剩余替換為自己的相應(yīng)值;
        ③發(fā)送HELLO消息。
        (4)接收確認(rèn)消息,修改其后向鄰居表。
        2.4 建立鏈路
        當(dāng)某個(gè)節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)時(shí),它在自己的前向鄰居中選擇一個(gè)節(jié)點(diǎn)作為接收點(diǎn),其選擇步驟如下:
        (1)根據(jù)前向鄰居表內(nèi)各個(gè)鄰居的“熱度”,避開(kāi)比較熱的節(jié)點(diǎn);
        (2)啟用功率管理算法計(jì)算最佳傳輸距離范圍;
        (3)在最佳傳輸距離范圍內(nèi)選擇剩余最大的節(jié)點(diǎn)作為它的下一跳。
        2.5 數(shù)據(jù)傳輸
        節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包格式如圖4所示,數(shù)據(jù)包中各字段含義如下:
        NOP:與HELL0消息相同;
        REID:接收該數(shù)據(jù)包的節(jié)點(diǎn)ID;
        NOT:表示該數(shù)據(jù)包被發(fā)送的次數(shù);源節(jié)點(diǎn)發(fā)送時(shí)該字段值為1;
        TRID:發(fā)送該數(shù)據(jù)包的節(jié)點(diǎn)ID;
        DATE:數(shù)據(jù)包的內(nèi)容;
        SP:補(bǔ)充數(shù)據(jù)包的空余,該字段值為0。
        圖4數(shù)據(jù)幀格式數(shù)據(jù)包轉(zhuǎn)發(fā)過(guò)程如下:
        (1)當(dāng)某個(gè)節(jié)點(diǎn)接收到該數(shù)據(jù)包時(shí),檢測(cè)接收節(jié)點(diǎn)ID是否與自己ID一致,若不一致丟棄該包,再檢測(cè)發(fā)送節(jié)點(diǎn)ID是否在自己的后向鄰居列表中,若發(fā)送節(jié)點(diǎn)ID不在自己后向鄰居列表中,則丟棄該包。否則接收該包并緩存。
        (2)數(shù)據(jù)包被緩存后,該節(jié)點(diǎn)將該數(shù)據(jù)包的接收節(jié)點(diǎn)ID字段替換為它的下一跳ID,將發(fā)送節(jié)點(diǎn)ID字段修改為自己的ID,然后將數(shù)據(jù)包發(fā)送出去。



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 上饶市| 阜新| 象山县| 容城县| 衡水市| 康保县| 凤山县| 甘泉县| 汝南县| 乌鲁木齐县| 武胜县| 同仁县| 五台县| 崇明县| 怀宁县| 景德镇市| 吉水县| 远安县| 星子县| 四子王旗| 射阳县| 开鲁县| 万盛区| 新邵县| 昔阳县| 织金县| 日照市| 页游| 达州市| 深水埗区| 榆林市| 高邮市| 湖南省| 厦门市| 赤城县| 新巴尔虎右旗| 庄浪县| 新源县| 建德市| 奉贤区| 灌阳县|