发明名称 一种基于6LoWPAN的无线传感器网络节能数据传递方法
摘要 一种基于6LoWPAN的无线传感器网络节能数据传递方法,通过在信源和信宿之间寻找一个最优的临时拼装节点TAN,信源先把IPv6数据包分片再将分片逐一通过6LoWPAN协议的MUR路由即Mesh-under Routing方法将数据包传递到TAN,TAN将所有接收到的分片拼装成原来的IPv6数据包,然后,再把该IPv6数据包分片且逐一把分片通过MUR传递到信宿节点,以此降低节点发送数据包的总能耗。其中,“TAN寻找方法”是本发明的关键,其核心是式(19)。本发明可以降低无线传感器网络节点传递数据包的能耗、数据包的重传次数以及通信时延。
申请公布号 CN102711211B 申请公布日期 2014.12.03
申请号 CN201210179768.0 申请日期 2012.05.30
申请人 浙江工业大学 发明人 朱艺华;池凯凯;戴光麟;朱益军;陈淦
分类号 H04W40/02(2009.01)I;H04W52/02(2009.01)I 主分类号 H04W40/02(2009.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;王利强
主权项 一种基于6LoWPAN的无线传感器网络节能数据传递方法,其特征在于:所述无线传感器网络节能数据传递方法包括以下过程:首先,通过在信源和信宿之间寻找一个最优的临时拼装节点TAN,选择临时拼装节点TAN的方法如下:步骤1:以&lt;A<sub>i</sub>,A<sub>j</sub>&gt;表示连接节点A<sub>i</sub>和节点A<sub>j</sub>的链路,以&lt;A<sub>0</sub>,A<sub>1</sub>,...,A<sub>n</sub>&gt;表示以A<sub>0</sub>为信源节点、A<sub>n</sub>为信宿节点并且经过节点A<sub>1</sub>,A<sub>2</sub>,A<sub>3</sub>,...和A<sub>n‑1</sub>的数据包传递路径,共n跳;步骤2:按式(19)计算E<sub>avg</sub>(n),并取Min_E=E<sub>avg</sub>(n),并记Best_Pair={n};<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><msub><mi>E</mi><mi>avg</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>&equiv;</mo><msub><mi>P</mi><mi>Succ</mi></msub><msubsup><mi>E</mi><mi>Total</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow></msubsup><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>P</mi><mi>Succ</mi></msub><mo>)</mo></mrow><msubsup><mi>E</mi><mi>Total</mi><mrow><mo>(</mo><mi>F</mi><mo>)</mo></mrow></msubsup></mtd></mtr><mtr><mtd><mo>=</mo><msub><mi>S</mi><mi>IP</mi></msub><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo></mrow><mi>M</mi></msup><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>2</mn><msub><mi>E</mi><mi>elec</mi></msub><mo>+</mo><msub><mi>&epsiv;</mi><mi>amp</mi></msub><msubsup><mi>d</mi><mi>i</mi><mi>&gamma;</mi></msubsup><mo>]</mo><mfrac><mrow><mn>1</mn><mo>-</mo><mrow><mo>(</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msup><msub><mi>q</mi><mi>i</mi></msub><mi>N</mi></msup><mo>+</mo><msup><msub><mi>q</mi><mi>i</mi></msub><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><mrow><mn>1</mn><mo>-</mo><msub><mi>q</mi><mi>i</mi></msub></mrow></mfrac><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo></mrow><mi>M</mi></msup><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mi>t</mi><mo>[</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi>k</mi><mrow><mo>(</mo><mi>N</mi><mo>[</mo><msub><mrow><mn>2</mn><mi>E</mi></mrow><mi>elec</mi></msub><mo>+</mo><msub><mi>&epsiv;</mi><mi>amp</mi></msub><msubsup><mi>d</mi><mi>j</mi><mi>&gamma;</mi></msubsup><mo>]</mo><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><mfrac><mrow><mn>1</mn><mo>-</mo><mrow><mo>(</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msup><msub><mi>q</mi><mi>i</mi></msub><mi>N</mi></msup><mo>+</mo><msup><msub><mi>Nq</mi><mi>i</mi></msub><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><mrow><mn>1</mn><mo>-</mo><msub><mi>q</mi><mi>i</mi></msub></mrow></mfrac><mo>[</mo><msub><mrow><mn>2</mn><mi>E</mi></mrow><mi>elec</mi></msub><mo>+</mo><msub><mi>&epsiv;</mi><mi>amp</mi></msub><msubsup><mi>d</mi><mi>i</mi><mi>&gamma;</mi></msubsup><mo>]</mo><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo><mo>+</mo><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mi>t</mi><mo>)</mo></mrow><mi>k</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>2</mn><msub><mi>E</mi><mi>elec</mi></msub><mo>+</mo><msub><mi>&epsiv;</mi><mi>amp</mi></msub><msubsup><mi>d</mi><mi>i</mi><mi>&gamma;</mi></msubsup><mo>]</mo><mfrac><mrow><mn>1</mn><mo>-</mo><mrow><mo>(</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msup><msub><mi>q</mi><mi>i</mi></msub><mi>N</mi></msup><mo>+</mo><msup><msub><mi>Nq</mi><mi>i</mi></msub><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><mrow><mn>1</mn><mo>-</mo><msub><mi>q</mi><mi>i</mi></msub></mrow></mfrac></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo><mo>)</mo></mrow><mi>t</mi></msup><msup><mrow><mo>(</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo><mo>)</mo></mrow><mrow><mi>M</mi><mo>-</mo><mi>t</mi></mrow></msup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>19</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519082320000011.GIF" wi="1753" he="792" /></maths>其中,S<sub>IP</sub>是IPv6数据包所包含的比特数;q<sub>i</sub>和d<sub>i</sub>分别是链路&lt;A<sub>i‑1</sub>,A<sub>i</sub>&gt;的丢包率和链路&lt;A<sub>i‑1</sub>,A<sub>i</sub>&gt;两端点的距离,i=1,2,…,n;M表示IPv6数据包被分成的片数;N表示单跳链路中MAC层的最大重传次数;E<sub>elec</sub>表示发射装置和接收电路每发送或接收单位比特的耗能;ε<sub>amp</sub>表示发射放大器在单位平方米传送每比特所耗的能量;γ是路径损耗参数;P<sub>succ</sub>表示M个分片全部被信宿接收的概率;<img file="FDA0000519082320000012.GIF" wi="113" he="78" />表示在IPv6数据包被成功传递到信宿的条件下路径&lt;A<sub>0</sub>,A<sub>1</sub>,...,A<sub>n</sub>&gt;上所有节点发送数据包的总能耗;<img file="FDA0000519082320000013.GIF" wi="109" he="78" />表示在IPv6数据包未能被成功传递到信宿的条件下,路径&lt;A<sub>0</sub>,A<sub>1</sub>,...,A<sub>n</sub>&gt;上所有节点发送数据包的总能耗;k表示一个数据包所占的比特数;t是求和变量,它依次取值t=1,2,…,M;步骤3:取n<sub>1</sub>=1;步骤4:取n<sub>2</sub>=n‑n<sub>1</sub>;步骤5:按式(19)计算E<sub>avg</sub>(n<sub>1</sub>)和E<sub>avg</sub>(n<sub>2</sub>);步骤6:如果E<sub>avg</sub>(n<sub>1</sub>)+E<sub>avg</sub>(n<sub>2</sub>)&lt;Min_E,则取Min_E=E<sub>avg</sub>(n<sub>1</sub>)+E<sub>avg</sub>(n<sub>2</sub>),并记Best_Pair={n<sub>1</sub>,n<sub>2</sub>};步骤7:n<sub>1</sub>=n<sub>1</sub>+1,如果n<sub>1</sub>&lt;n,转到步骤4;步骤8:如果Best_Pair有两个值n<sub>1</sub>和n<sub>2</sub>,则将距离信源n<sub>1</sub>跳的中间节点选取为TAN,否则,在信源和信宿之间不设TAN;接着,在TAN选取之后,信源节点A<sub>0</sub>把数据包分片,然后按照6LoWPAN协议中给出的MUR即Mesh‑under Routing方法把所有的分片发送到TAN;TAN的协议栈的适应层把接收到的所有分片上交到网络层,网络层将所有分片拼装成源IPv6数据包即信源节点A<sub>0</sub>所发送的数据包;之后,TAN的网络层提取IPv6数据包头部的目的IP地址,查找路由表获得下一跳节点地址,再将IPv6数据包分片并通过MUR路由到信宿节点A<sub>n</sub>,然后,信宿节点把接收到的数据分片拼装成原来的IPv6数据包。
地址 310014 浙江省杭州市下城区潮王路18号