• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 手機與無線通信 > 設計應用 > 一種能量感知型無線傳感器網絡跨層式通信協議

    一種能量感知型無線傳感器網絡跨層式通信協議

    作者: 時間:2009-05-14 來源:網絡 收藏

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

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

    2.3 鏈路選擇
    當系統布設完畢進入穩定狀態后,Sink節點開始廣播HELL0消息,其格式如圖2所示。

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

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 岑巩县| 微博| 舞钢市| 花莲县| 常宁市| 海门市| 宕昌县| 石河子市| 阆中市| 周宁县| 北海市| 新和县| 灵台县| 南澳县| 边坝县| 溆浦县| 定襄县| 临夏市| 新余市| 织金县| 大城县| 瓦房店市| 莱阳市| 方山县| 左贡县| 晋中市| 宁海县| 湖北省| 政和县| 沁水县| 大渡口区| 措勤县| 阳信县| 宜都市| 甘谷县| 泸定县| 汉寿县| 个旧市| 达日县| 铅山县| 中卫市|