CN101557608B - 一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法 - Google Patents
一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法 Download PDFInfo
- Publication number
- CN101557608B CN101557608B CN2009100837890A CN200910083789A CN101557608B CN 101557608 B CN101557608 B CN 101557608B CN 2009100837890 A CN2009100837890 A CN 2009100837890A CN 200910083789 A CN200910083789 A CN 200910083789A CN 101557608 B CN101557608 B CN 101557608B
- Authority
- CN
- China
- Prior art keywords
- node
- message
- neighbor node
- neighbor
- num
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法。该节点身份保护方法基于对邻居节点的统计和分析,实现了移动无线传感器网络中源节点Ni对消息Mi={MDATAi,MTIMEi}的分段打包、延时传输和延时转发。通过本发明的方法,在消息Mi={MDATAi,MTIMEi}的传输过程中,接收该消息Mi={MDATAi,MTIMEi}的普通节点Nj将无法定位消息Mi={MDATAi,MTIMEi}的发送地和接收地,也不能获得消息Mi={MDATAi,MTIMEi}的传输路径,因此该方法有效地对移动无线传感器网络中收发消息的节点进行了身份保护。
Description
技术领域
本发明涉及一种网络中各节点在传输信息时身份的保护,更特别地说,是指一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法。
背景技术
随着微机电系统、无线通信和数字电子技术的进步诞生了无线传感器网络。移动无线传感器网络能够实时地监测、感知和采集网络分布区域内的各种环境或监测对象的信息,并将处理过的信息传送给终端用户。无线传感器网络目前已经被广泛地应用于国防军事、国家安全、环境监测、交通管理、医疗卫生、制造业和反恐抗灾等领域。
现有的移动无线传感器网络应用中,节点间的传输协议重点考虑了传输的效率、节点能耗和拥塞控制等方面,而忽略了对节点本身的保护。由于移动无线传感器网络布设的环境比较复杂,网络中并不是所有节点都被认为是可靠的,一些节点可能会企图危害网络的正常运行。这些节点在网络中收集其他节点发送的消息,对所收集的消息进行分析,找出对自己不利的消息,并通过定位算法确认收发这些消息的节点对其进行破坏。这样将会对网络中的重要消息和关键节点的安全造成危害。因此,保护移动无线传感器网络中收发消息的节点是非常必要的。
发明内容
为了保护移动无线传感器网络中收发消息的节点的安全,本发明提出了一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法。该节点身份保护方法基于对邻居节点的统计和分析,实现了移动无线传感器网络中源节点对消息的分段打包、延时传输和延时转发。通过本发明的方法,在消息的传输过程中,接收消息的普通节点将无法定位消息的发送地和接收地,也不能获得该消息的传输路径,因此该节点身份保护方法有效地对移动无线传感器网络中收发消息的节点进行了身份保护。
本发明的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,其对于节点身份的保护包括有下列处理步骤:
步骤一、源节点Ni和目的节点Nt的确定
将所需传输的消息Mi人工输入给移动无线传感器网络中的任意一个节点,该节点记为源节点Ni;同时人工向网络中除源节点Ni以外的任意一个节点输入先验信息M_TRAi,对接收到该先验信息M_TRAi的节点记为目的节点Nt;
在移动无线传感器网络中,除源节点Ni和目的节点Nt以外的节点记为普通节点Nj;
步骤二、源节点Ni采用基于邻居节点统计的自适应消息分段方法对消息Mi进行分段打包;自适应消息分段方法的处理步骤如下所述:
步骤2-1:源节点Ni对接收到的消息Mi={MDATAi,MTIMEi}进行存储;
MDATAi表示在移动无线传感器网络中传输的消息Mi的数据,简称为消息内容;
MTIMEi表示在移动无线传感器网络中传输的消息Mi不再在此网络中传输的时间,简称为消息失效时间;
消息Mi={MDATAi,MTIMEi}均由人工输入;
步骤2-2:初始化源节点Ni用于自适应消息分段方法的各项参数F={Nbw,NNUM,NEW_NNUM,LOOP_NUM},Nbw表示第一邻居节点表单,NNUM表示邻居节点次数,NEW_NNUM表示邻居节点个数,LOOP_NUM表示源节点当前循环次数;
步骤2-3:源节点Ni向邻居节点广播的源节点广播NDM,邻居节点接收到该源节点广播NDM后向源节点Ni反馈响应NDM_ACK;
步骤2-4:源节点Ni在设置时间段T内对邻居节点响应NDM_ACK进行统计,获得当前消息分段打包参数;
步骤2-5:源节点Ni判断当前循环次数LOOP_NUM是否超过统计循环次数w,若超过,则执行步骤2-6,若没有超过则将LOOP_NUM加1,并返回至步骤2-3;
步骤2-6:依据统计循环次数w在设置时间段T内,对邻居节点次数NNUM与邻居节点个数NEW_NNUM的统计,获得消息发送周期
步骤2-7:依据邻居节点次数NNUM和统计循环次数w的比值,获得平均邻居节点个数
步骤2-8:源节点Ni将消息分段打包;
源节点Ni采用平均分配方法将消息Mi中的消息内容MDATAi分成k段,然后分别打包;每个数据包SEG_PACKET由如下项组成:
k | SEG_ID | SEG_DATAi | MTIMEi | SEND_TIMEi | NUM_AVGi |
k表示段数,SEG_ID表示数据段的ID,SEG_DATAi表示本段的消息内容,MTIMEi表示消息失效时间,SEND_TIMEi表示消息发送周期,NUM_AVGi表示平均邻居节点个数;
步骤三、源节点Ni采用基于邻居节点动态分析的消息延时传输方法对数据段SEG_PACKET进行延时传输,延时传输步骤为;
步骤3-1:初始化源节点Ni用于消息延时传输方法的各项参数P={Nbk,LOOP_NUM},Nbk表示第二邻居节点表单,LOOP_NUM表示源节点当前循环次数;
步骤3-2:源节点Ni向邻居节点广播源节点广播NDM,邻居节点接收到该源节点广播NDM后向源节点Ni反馈响应NDM_ACK;
步骤3-3:源节点Ni在设置时间段T内对邻居节点响应NDM_ACK进行统计,获得当前消息传输参数;源节点Ni从存储在缓存里的邻居节点响应NDM_ACK中提取出各个邻居节点的ID,如果ID和Nbk中所有的节点ID不相同时,将ID添加到Nbk的第LOOP_NUM行中;提取并比较所有NDM_ACK中的邻居节点ID,如果有邻居节点ID与Nbk中已有的节点ID相同,则将Nbk的第LOOP_NUM行清零,并返回至步骤3-2中;如果所有的邻居节点ID与Nbk中已有的节点ID都不相同,则执行步骤3-4;
步骤3-4:源节点Ni判断发现的邻居节点次数NNUM是否达到平均邻居节点个数NUM_AVGi;如果NNUM大于等于NUM_AVGi,则执行步骤3-5;如果NNUM小于NUM_AVGi,则将Nbk的第LOOP_NUM行清零,并返回至步骤3-2;
步骤3-5:源节点Ni发送一段数据;源节点Ni从源节点数据等待队列中,按照FIFO原则取出一段数据进行发送;每段数据只发送一次;
步骤3-6:判断是否所有的数据段都发送完毕;比较LOOP_NUM和k,如果LOOP_NUM≥k,则所有的数据段都已经发送完毕;否则将LOOP_NUM加1,返回步骤3-2中,继续数据段的发送;
步骤四、普通节点Nj采用基于邻居节点动态分析的消息延时转发方法对数据段SEG_PACKET进行转发,数据段经过一跳或多跳后,到达目的节点Nt,消息延时转发步骤为;
步骤4-1:初始化普通节点Nj的用于消息分段打包和消息延时转发步骤的邻居节点表单Nbw和普通节点当前循环次数LOOP_TIMES;
步骤4-2:普通节点Nj监听邻居节点广播的邻居广播NDM,如果监听到邻居广播NDM,执行步骤4-3;否则,跳转至步骤4-5;
步骤4-3:普通节点Nj发送响应NDM_ACK;
步骤4-4:在消息发送周期T内普通节点Nj接收由邻居节点发送的数据帧,并将接收到的数据帧存储至缓存中,然后跳转至步骤4-6;如果没有接收到邻居节点发送的数据帧,则执行步骤4-5;
步骤4-5:普通节点Nj判断是否普通节点的数据等待队列中有等待发送的数据段,如果有则跳转至步骤4-8,如果没有等待发送的数据段,则返回至步骤4-2;
步骤4-6:判断是否第一次接收该数据帧;从缓存里的数据帧中提取出数据段的SEG_ID,和普通节点Nj中存储的所有数据段SEG_ID做比较;如果该数据段的SEG_ID与存储在普通节点Nj中的所有SEG_ID均不相同,则存储此SEG_ID并执行步骤4-7;否则返回步骤4-2;
步骤4-7:将数据帧送入具有FIFO结构的数据等待队列,排队等待发送;该数据等待队列只存储节点接收后需要转发的数据帧;而步骤二中分段打包后的数据不可以存入普通节点的数据等待队列中进行发送;
步骤4-8:普通节点Nj向邻居节点广播的普通节点广播NDM;
步骤4-9:在消息发送周期SEND_TIMEi内,普通节点Nj对邻居节点响应NDM_ACK进行统计;普通节点Nj将接收到的邻居节点响应NDM_ACK存入节点的缓存;源节点Ni每接收到一条NDM_ACK,则邻居节点次数NNUM加1;普通节点Nj从存储在缓存里的邻居节点响应NDM_ACK中提取出各个邻居节点的ID,如果ID和Nbw中所有的节点ID不相同时,将ID添加到Nbw的第LOOP_TIMES行中;提取并比较所有NDM_ACK中的邻居节点ID,如果有邻居节点ID与Nbw中已有的节点ID相同,则将Nbw的第LOOP_TIMES行清零,并返回至步骤4-2;如果所有的邻居节点ID与Nbw中已有的节点ID都不相同,则执行步骤4-10;
步骤4-10:普通节点Nj判断发现的邻居节点次数NNUM是否达到平均邻居节点个数NUM_AVGi;如果NNUM大于等于NUM_AVGi,则执行下一步;否则将Nbw的第LOOP_TIMES行清零,并返回至步骤4-2;
步骤4-11:普通节点Nj发送一段数据;普通节点Nj从数据等待队列中,按照FIFO原则取出一段数据进行发送;每段数据只发送一次;然后将LOOP_NUM加1,并和w比较,如果LOOP_TIMES大于等于w,则将LOOP_TIMES和Nbw清零;
步骤五、目的节点Nt对消息的使用
目的节点Nt对接收到的消息Mi={MDATAi,MTIMEi}中的所有数据段,拾取出各个数据段的内容SEG_DATAi并按先后顺序排列,然后使用先验信息M_TRAi获得消息Mi={MDATAi,MTIMEi}中的MDATAi。
本发明的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法的优点在于:
(1)通过人工输入的消息Mi={MDATAi,MTIMEi}来判断节点的身份,解决了现有移动无线传感器网络中不对节点身份判别,缺乏对节点身份和安全进行保护的缺点,实现了对收发消息节点身份的有效保护。在本发明中,移动无线传感器网络中的任意节点只能知道自身身份,无法探知除自己外任何一个节点的身份,比现有的移动无线传感器网络更为安全可靠。
(2)源节点Ni采用基于邻居节点统计的自适应消息分段方法对消息Mi={MDATAi,MTIMEi}进行分段打包。能够解决移动无线传感器网络中消息不分段传输给发送节点带来的危险。在现有的移动无线传感器网络中,消息完整地在网络中进行传输,一旦消息被企图危害网络的节点截获,就能够实时地分析出消息的内容并对发送消息的节点定位,找出发送消息的节点并进行危害其安全的行为。将消息分段后,企图危害网络的节点仅仅通过接收到的一段数据无法获得消息Mi={MDATAi,MTIMEi}中的消息内容MDATAi,有利于对移动无线传感器网络中源节点Ni身份的保护。
(3)在基于邻居节点统计的自适应消息分段方法中,计算了两个参数:消息的发送周期SEND_TIMEi和平均邻居节点个数NUM_AVGi。消息的每段数据将以SEND_TIMEi为周期,进行发送条件的判断并在符合发送条件的情况下进行数据段的发送,确保了在移动网络中能够根据节点移动的情况来改变每条消息的发送周期,有利于提高消息在网络中传输安全性。平均邻居节点个数NUM_AVGi将在基于邻居节点动态分析的消息延时传输方法中使用,作为判断是否发送消息的一个条件,确保节点发送数据时不会被定位。
(4)源节点Ni采用基于邻居节点动态分析的消息延时传输方法对数据段SEG_PACKET进行延时传输,增加了除源节点Ni以外的任一节点完整地接收到一条消息的所有数据段时,源节点Ni已经离开该节点接收范围的概率。实现了对源节点Ni的安全保护,有利于移动无线传感器网络中发送消息节点的身份保护以及整个网络的正常运行。
(5)普通节点Nj采用基于邻居节点动态分析的消息延时转发方法对数据段SEG_PACKET进行转发,确保了普通节点Nj在接收消息的数据段SEG_PACKET时,无法获知消息的发送节点;确保了普通节点Nj向邻居节点广播转发消息的数据段SEG_PACKET时,无法获知消息的传输路径和目的节点Nt。有利于在移动无线传感器网络中消息的收发节点的身份和安全保护。
(6)并且在步骤三和步骤四中,节点在发送数据前需要对消息的发送条件进行判断。消息发送条件包括如下两条。条件1:节点发现的邻居节点个数大于等于平均邻居节点个数NUM_AVGi;条件2:节点发现的所有邻居节点标识和存储在节点邻居表单中的标识均不相同。只有同时满足这两个发送条件,数据段才会被发送。对消息发送条件进行判断确保了发送数据的节点不会被定位,有利于对网络中发送数据节点的身份保护。
(7)在现有的移动无线传感器网络中,消息不分段地在网络中进行传输,一旦消息被企图危害网络的节点截获,就能够实时地分析出消息的内容并对发送消息的节点定位,找出发送消息的节点并进行危害其安全的行为。将消息分段打包后在网络中延时传输,能够使得接收到消息某个数据段的节点,不能及时地分析出消息的内容。当节点完整地接收到一条消息的各个数据段后,发送消息的节点已经离开该节点的接收范围,实现了对发送消息节点的安全保护,有利于移动无线传感器网络中发送消息节点的安全以及整个网络的正常运行。
附图说明
图1是本发明移动无线传感器网络中各节点的工作流程图。
具体实施方式
下面将结合附图对本发明做进一步的详细说明。
在本发明中,是根据工作状态不同将移动无线传感器网络中的节点分为三种类型:源节点、目的节点和普通节点。
所述源节点是指在移动无线传感器网络中被人工输入了消息Mi(Mi={MDATAi,MTIMEi})的节点,该源节点能够对接收的消息Mi进行分段打包并传输给目的节点和/或者普通节点。在本发明中,移动无线传感器网络中的任意一个源节点记为Ni。
所述目的节点是指在移动无线传感器网络中被人工输入了消息Mi的先验信息M_TRAi的节点,记为Nt,该目的节点Nt能够对所述消息Mi进行有效利用。在本发明中,目的节点Nt不会在传输消息过程中被标识,从而达到自身身份的保护。
所述普通节点是指在移动无线传感器网络中除源节点和目的节点以外的节点。在本发明中,普通节点周期性地对网络进行监测并转发接收到的数据段SEG_PACKET。
本发明的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,对于节点身份的保护包括有下列处理步骤:
步骤一、源节点Ni和目的节点Nt的确定;
步骤二、源节点Ni采用基于邻居节点统计的自适应消息分段方法对消息Mi进行分段打包;
步骤三、源节点Ni采用基于邻居节点动态分析的消息延时传输方法对数据段SEG_PACKET进行延时传输;
步骤四、普通节点Nj采用基于邻居节点动态分析的消息延时转发方法对数据段SEG_PACKET进行转发,数据段经过一跳或多跳后,到达目的节点Nt;
步骤五、目的节点Nt对消息的使用。
在本发明中,所述步骤一对确定源节点Ni和目的节点Nt的具体处理为:
将所需传输的消息Mi人工输入给移动无线传感器网络中的任意一个节点,该节点记为源节点Ni;同时人工向网络中除源节点Ni以外的任意一个节点输入该消息Mi的验证信息(简称为先验信息M_TRAi),对能够接收到该先验信息M_TRAi的节点记为目的节点Nt。
在移动无线传感器网络中,除源节点Ni和目的节点Nt以外的节点记为普通节点Nj。
在本发明中,所述步骤二对源节点Ni采用了基于邻居节点统计的自适应消息分段方法对消息Mi进行分段打包的具体处理为:
步骤2-1:源节点Ni对接收到的消息Mi={MDATAi,MTIMEi}进行存储;
MDATAi表示在移动无线传感器网络中传输的消息Mi的数据,简称消息内容。
MTIMEi表示在移动无线传感器网络中传输的消息Mi不再在此网络中传输的时间,简称消息失效时间。
消息Mi={MDATAi,MTIMEi}均由人工输入。
步骤2-2:初始化源节点Ni用于自适应消息分段方法的各项参数,该消息分段参数表示为F={Nbw,NNUM,NEW_NNUM,LOOP_NUM};
Nbw表示第一邻居节点表单,该第一邻居节点表单的表达形式为 该第一邻居节点表单Nbw中各元素是指源节点Ni进行w次循环统计后,收集的所有邻居节点标识ID的集合。其中源节点Ni的邻居节点是指在源节点Ni传输范围内的所有节点。
Ni1 1表示源节点Ni进行第一次统计后得到的第一个邻居节点,
Ni2 1表示源节点Ni进行第一次统计后得到的第二个邻居节点,
Ni1 2表示源节点Ni进行第二次统计后得到的第一个邻居节点,
Ni2 2表示源节点Ni进行第二次统计后得到的第二个邻居节点,
Ni1 w表示源节点Ni进行第w次统计后得到的第一个邻居节点,
Ni2 w表示源节点Ni进行第w次统计后得到的第二个邻居节点,
如果在两次或多次统计中,重复收集到同一个节点,则该节点的标识将被分别记录在Nbw对应的行中。初始状态下,Nbw被初始化为w行1列的空表单。
NNUM表示源节点Ni发现的所有邻居节点次数,同一邻居节点如果被发现多次,则记为多次;初始化时设置NNUM为0。
NEW_NNUM表示源节点Ni发现的所有邻居节点的个数,同一邻居节点如果被发现多次,只记为1次;初始化时设置NEW_NNUM为0。
LOOP_NUM表示源节点当前循环次数,初始化设置LOOP_NUM为1。
步骤2-3:源节点Ni向邻居节点广播邻居发现消息NDM(简称源节点广播NDM),邻居节点接收到NDM后向源节点Ni反馈邻居节点响应消息NDM_ACK;
NDM的英文全称为Neighbor Discovery Message,是用于寻找节点传输范围内的所有节点的广播消息。NDM_ACK的英文全称为Neighbor DiscoveryMessage Acknowledgement,是NDM的响应消息。
步骤2-4:源节点Ni在设置时间段T内对邻居节点响应NDM_ACK进行统计,获得当前消息分段打包参数;在本发明中,该当前消息分段参数包含有消息分段参数F={Nbw,NNUM,NEW_NNUM,LOOP_NUM}中的前三项内容,即当前邻居节点标识记入Nbw中、发现的当前邻居节点次数记入NNUM、发现的当前邻居节点个数记入NEW_NNUM。
时间段T由人工设置,例如可将T设置为1分钟,2分钟或10分钟。
源节点Ni将接收到的邻居节点响应NDM_ACK存入节点的缓存。源节点Ni每接收到一条NDM_ACK,则邻居节点次数NNUM加1。
源节点Ni从存储在缓存里的邻居节点响应NDM_ACK中提取出各个邻居节点的ID,如果ID和Nbw中所有的节点ID均不相同,则NEW_NNUM加1。在完成上述处理后,将ID添加到Nbw的第LOOP_NUM行中。
该邻居节点响应NDM_ACK是指源节点Ni向邻居节点广播NDM后,邻居节点反馈给源节点Ni的一个响应。
在步骤2-4中的统计过程一共需要重复w次。
步骤2-5:源节点Ni判断当前循环次数LOOP_NUM是否超过统计循环次数w,若超过,则执行步骤2-6,若没有超过则将LOOP_NUM加1,并返回至步骤2-3;
步骤2-6:依据统计循环次数w在设置时间段T内,对邻居节点次数NNUM与邻居节点个数NEW_NNUM的统计,获得消息发送周期SEND_TIMEi(表达形式为 );
步骤2-7:依据邻居节点次数NNUM和统计循环次数w的比值,获得平均邻居节点个数NUM_AVGi(表达形式为 );
消息发送周期SEND_TIMEi和平均邻居节点个数NUM_AVGi将在基于邻居节点动态分析的消息延时传输方法和基于邻居节点动态分析的消息延时转发方法中使用,用来确保节点发送数据时不会被定位。
步骤2-8:源节点Ni将消息分段打包
源节点Ni采用平均分配方法将消息Mi中的消息内容MDATAi分成k段,然后分别打包。每个数据包SEG_PACKET由如下项组成:
k | SEG_ID | SEG_DATAi | MTIMEi | SEND_TIMEi | NUM_AVGi |
k表示段数,SEG_ID表示数据段的ID,SEG_DATAi表示本段的消息内容,MTIMEi表示消息的时效时间,SEND_TIMEi表示消息的发送周期,NUM_AVGi表示平均邻居节点个数。
在本发明中,将消息Mi={MDATAi,MTIMEi}中的消息内容MDATAi分的段数k越大,则消息被切割成的段数越多,所有数据段都被目的节点接收到的概率就越小。所以k值不建议过大,一般情况下,k取值为2或3。
在本发明中,所述步骤三对源节点采用基于邻居节点动态分析的消息延时传输方法对数据段SEG_PACKET进行延时传输的具体处理为:
步骤3-1:初始化源节点Ni用于消息延时传输方法的各项参数,该消息延时参数表达形式为P={Nbk,LOOP_NUM};
Nbk表示第二邻居节点表单,该第二邻居节点表单的表达形式为 该第二邻居节点表单Nbk中各元素是指源节点Ni完成k段数据的发送后,收集的所有邻居节点标识ID的集合。
Ni1 1表示源节点Ni完成第一段数据的发送后得到的第一个邻居节点,
Ni2 1表示源节点Ni完成第一段数据的发送后得到的第二个邻居节点,
Ni1 2表示源节点Ni完成第二段数据的发送后得到的第一个邻居节点,
Ni2 2表示源节点Ni完成第二段数据的发送后得到的第二个邻居节点,
Ni1 k表示源节点Ni完成第k段数据的发送后得到的第一个邻居节点,
Ni2 k表示源节点Ni完成第k段数据的发送后得到的第二个邻居节点,
LOOP_NUM表示源节点当前循环次数,初始化设置LOOP_NUM为1。
步骤3-2:源节点Ni向邻居节点广播NDM(简称源节点广播NDM),邻居节点接收到NDM后向源节点Ni响应NDM_ACK。源节点Ni将邻居节点次数NNUM置为0;
步骤3-3:源节点Ni在设置时间段T内对邻居节点响应NDM_ACK进行统计,获得当前消息传输参数;在本发明中,该当前消息传输参数包含有消息延时参数P={Nbk,LOOP_NUM}中的第一项内容,即当前邻居节点标识记入Nbk中。
源节点Ni将接收到的邻居节点响应NDM_ACK存入节点的缓存。源节点Ni每接收到一条NDM_ACK,则邻居节点次数NNUM加1。
源节点Ni从存储在缓存里的邻居节点响应NDM_ACK中提取出各个邻居节点的ID,如果ID和Nbk中所有的节点ID不相同时,将ID添加到Nbk的第LOOP_NUM行中。
提取并比较所有NDM_ACK中的邻居节点ID,如果有邻居节点ID与Nbk中已有的节点ID相同,则将Nbk的第LOOP_NUM行清零,并返回至步骤3-2中;如果所有的邻居节点ID与Nbk中已有的节点ID都不相同,则执行步骤3-4。
步骤3-4:源节点Ni判断发现的邻居节点次数NNUM是否达到平均邻居节点个数NUM_AVGi。如果NNUM大于等于NUM_AVGi,则执行步骤3-5;如果NNUM小于NUM_AVGi,则将Nbk的第LOOP_NUM行清零,并返回至步骤3-2。
步骤3-5:源节点Ni发送一段数据。源节点Ni从源节点数据等待队列中,按照FIFO(First In First Out)原则取出一段数据进行发送。每段数据只发送一次。
步骤3-6:判断是否所有的数据段都发送完毕。比较LOOP_NUM和k,如果LOOP_NUM≥k,则所有的数据段都已经发送完毕;否则将LOOP_NUM加1,返回步骤3-2中,继续数据段的发送。
在本发明中,步骤3-3、步骤3-4阐述了消息发送条件包括如下两条。条件1:节点发现的邻居节点个数大于等于平均邻居节点个数NUM_AVGi;条件2:节点发现的所有邻居节点标识和存储在节点邻居表单中的标识均不相同。只有同时满足这两个发送条件,数据段才会被发送。对消息发送条件进行判断确保了发送数据的节点不会被定位,有利于对网络中发送数据节点的身份保护。消息发送的两个判断条件,只有这两个条件都符合时,源节点才会进行数据的发送。当源节点广播一次NDM后发现的邻居节点个数大于等于平均邻居节点个数,并且所有的邻居均为新邻居(即不包括前LOOP_NUM次发现的任何邻居节点)。第一个条件保证了数据能够在网络中被发送给目的节点,第二个条件保证了发送消息的节点不会被定位。节点在发送数据前需要对消息的发送条件进行判断。
在本发明中,所述步骤四对普通节点Nj采用基于邻居节点动态分析的消息延时转发方法对数据段SEG_PACKET进行转发的具体处理为:
步骤4-1:初始化第一邻居节点表单Nbw和普通节点当前循环次数LOOP_TIMES。初始化时设置LOOP_TIMES为1;
步骤4-2:普通节点Nj监听邻居节点广播的NDM(简称邻居广播NDM),如果监听到邻居广播NDM,执行步骤4-3;否则,返回至步骤4-5;
步骤4-3:普通节点Nj发送响应NDM_ACK;
步骤4-4:在消息发送周期T内普通节点Nj接收由邻居节点发送的数据帧,并将接收到的数据帧存储至缓存中,然后返回至步骤4-6;如果没有接收到邻居节点发送的数据帧,则执行步骤4-5;
步骤4-5:普通节点Nj判断是否普通节点的数据等待队列中有等待发送的数据段,如果有则执行步骤4-8,如果没有等待发送的数据段,则返回至步骤4-2;
步骤4-6:判断是否第一次接收该数据帧。从缓存里的数据帧中提取出数据段的SEG_ID,和普通节点Nj中存储的所有数据段SEG_ID做比较。如果该数据段的SEG_ID为新ID,则存储此SEG_ID并执行步骤4-7;否则返回回步骤4-2。
步骤4-7:将数据帧送入具有FIFO结构的数据等待队列,排队等待发送。该数据等待队列只存储节点接收后需要转发的数据帧;而步骤二中分段打包后的数据不可以存入普通节点的数据等待队列中进行发送。
步骤4-8:普通节点Nj向邻居节点广播NDM(简称普通节点广播NDM),邻居节点接收到NDM后向普通节点Nj响应NDM_ACK。普通节点Nj将邻居节点次数NNUM置为0;
步骤4-9:在消息发送周期SEND_TIMEi内,普通节点Nj对邻居节点响应NDM_ACK进行统计。
普通节点Nj将接收到的邻居节点响应NDM_ACK存入节点的缓存。源节点Ni每接收到一条NDM_ACK,则邻居节点次数NNUM加1。
普通节点Nj从存储在缓存里的邻居节点响应NDM_ACK中提取出各个邻居节点的ID,如果ID和Nbw中所有的节点ID不相同时,将ID添加到Nbw的第LOOP_TIMES行中。
提取并比较所有NDM_ACK中的邻居节点ID,如果有邻居节点ID与Nbw中已有的节点ID相同,则将Nbw的第LOOP_TIMES行清零,并返回至步骤4-2;如果所有的邻居节点ID与Nbw中已有的节点ID都不相同,则执行步骤4-10;
步骤4-10:普通节点Nj判断发现的邻居节点次数NNUM是否达到平均邻居节点个数NUM_AVGi。如果NNUM大于等于NUM_AVGi,则执行下一步;则将Nbw的第LOOP_TIMES行清零,并返回至步骤4-2。
步骤4-11:普通节点Nj发送一段数据。普通节点Nj从数据等待队列中,按照FIFO原则取出一段数据进行发送。每段数据只发送一次。然后将LOOP_NUM加1,并和w比较,如果LOOP_TIMES大于等于w,则将LOOP_TIMES和Nbw清零。
消息Mi={MDATAi,MTIMEi}的各个数据段经过一跳或多跳转发后,到达目的节点Nt。目的节点Nt接收转发数据并对其进行使用。对于目的节点Nt接收并转发消息的工作流程和步骤4-5中的普通节点工作流程相同,故不做详细说明。
在本发明中,所述步骤五对目的节点Nt对消息的使用;目的节点Nt使用消息的流程为:目的节点Nt接收到消息Mi={MDATAi,MTIMEi}中的所有数据段后,拾取出各个数据段的内容SEG_DATAi并按先后顺序排列,然后使用先验信息M_TRAi获得消息Mi中的MDATAi。在本发明中,目的节点Nt不会在传输消息过程中被标识,从而达到了对自身身份保护的目的。
在本发明的移动无线传感器网络中,相对于一条消息,网络中任一节点的身份是唯一的;相对于多条消息而言,同一节点的身份是不同的。例如任意节点被人工输入了消息Mi={MDATAi,MTIMEi},相对于消息Mi={MDATAi,MTIMEi}其身份只能为源节点;除源节点以外的节点被人工输入了消息Mi={MDATAi,MTIMEi}的先验信息M_TRAi后,相对于消息Mi={MDATAi,MTIMEi}其身份只能是目的节点;网络中除源节点和目的节点外的任一节点均为消息Mi={MDATAi,MTIMEi}的普通节点。而在网络中其他消息的传输过程中,源节点可以是该消息的普通节点或目的节点;目的节点可以是该消息的普通节点或源节点。
本发明中引用字母的物理意义如下表说明:
Ni | 在无线移动传感器网络中,被输入了消息Mi={MDATAi,MTIMEi}的某一节点,记为源节点。 |
Nt | 在无线移动传感器网络中,被输入了消息Mi={MDATAi,MTIMEi}的先验信息M_TRAi的除源节点以外的某一节点,记为目的节点。 |
Nj | 在无线移动传感器网络中,除源节点、目的节点之外的节点,记为普通节点。 |
w | 执行统计中的总循环次数,w的数值是固化在程序中的,通常建议w=5,简称统计循环次数。 |
NDM | 源节点或者普通节点发送数据前的广播消息,用于寻找传输范围内的所有节点,简称邻居发现消息。 |
NDM_ACK | 邻居节点响应消息NDM_ACK是NDM的反馈消息,简称邻居节点响应消息。 |
Mi | 由人工输入给源节点Ni的消息Mi={MDATAi,MTIMEi},简称消息。 |
MDATAi | 在无线移动传感器网络中传输的消息Mi的数据,简称消息内容。 |
MTIMEi | 在无线移动传感器网络中传输的消息Mi不再在此无线移动传感器网络中传输的时间,简称消息失效时间。 |
Nbw | 源节点或者普通节点收集到的所有邻居节点响应消息NDM_ACK中节点标识的集合,该集合是用于消息分段打包和消息延时转发步骤中的邻居节点表单,简称第一邻居节点表单。 |
Nbk | 源节点Ni完成k段数据的发送后,收集到的所有邻居节点响应消息NDM_ACK中节点标识的集合,该集合是用于消息延时转发步骤中的邻居节点表单,简称第二邻居节点表单。 |
k | 在无线移动传感器网络中,将消息Mi={MDATAi,MTIMEi}中的消息内容MDATAi分成k段,记为消息总分段数。 |
NNUM | 源节点或者普通节点发现的所有邻居节点次数,简称邻居节点次数。在本发明中,同一邻居节点如果被发现多次,则记为多次。 |
NEW_NNUM | 源节点或者普通节点发现的所有邻居节点的个数,简称邻居节点个数。在本发明中,同一邻居节点如果被发现多次,只记为1次。 |
LOOP_NUM | 用于统计源节点的当前循环次数,简称源节点当前循环次数。 |
LOOP_TIMES | 用于统计普通节点的当前循环次数,简称普通节点当前循环次数。 |
SEND_TIMEi | 在基于邻居节点统计的自适应消息分段方法中计算所得到的消息Mi={MDATAi,MTIMEi}的发送周期,简称消息发送周期。在本发明中,在基于邻居节点动态分析的消息延时传输方法和基于邻居节点动态分析的消息延时转发方法中使用。 |
NUM_AVGi | 在基于邻居节点统计的自适应消息分段方法中计算所得到的源节点Ni周围的平均节点个数,简称平均邻居节点个数。在本发明中,在基于邻居节点动态分析的消息延时传输方法和基于邻居节点动态分析的消息延时转发方法中使用。 |
Claims (7)
1.一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,其特征在于对于节点身份的保护包括有下列处理步骤:
步骤一、源节点Ni和目的节点Nt的确定
将所需传输的消息Mi人工输入给移动无线传感器网络中的任意一个节点,该节点记为源节点Ni;同时人工向网络中除源节点Ni以外的任意一个节点输入先验信息M_TRAi,对能够接收到该先验信息M_TRAi的节点记为目的节点Nt;在移动无线传感器网络中,除源节点Ni和目的节点Nt以外的节点记为普通节点Nj;
步骤二、源节点Ni采用基于邻居节点统计的自适应消息分段方法对消息Mi进行分段打包;自适应消息分段方法的处理步骤如下所述:
步骤2-1:源节点Ni对接收到的消息Mi={MDATAi,MTIMEi}进行存储,其中,MDATAi表示消息内容,MTIMEi表示消息失效时间;
步骤2-2:初始化源节点Ni用于自适应消息分段方法的各项参数F={Nbw,NNUM,NEW_NNUM,LOOP_NUM},Nbw表示第一邻居节点表单,NNUM表示邻居节点次数,NEW_NNUM表示邻居节点个数,LOOP_NUM表示源节点当前循环次数;
步骤2-3:源节点Ni向邻居节点广播的源节点广播NDM,邻居节点接收到该源节点广播NDM后向源节点Ni反馈响应NDM_ACK;
步骤2-4:源节点Ni在设置时间段T内对邻居节点响应NDM_ACK进行统计,获得当前消息分段打包参数;
步骤2-5:源节点Ni判断当前循环次数LOOP_NUM是否超过统计循环次数w,若超过,则执行步骤2-6,若没有超过则将LOOP_NUM加1,并返回至步骤2-3;
步骤2-6:依据统计循环次数w在设置时间段T内,对邻居节点次数NNUM与邻居节点个数NEW_NNUM的统计,获得消息发送周期
步骤2-8:源节点Ni将消息分段打包
源节点Ni采用平均分配方法将消息Mi中的消息内容MDATAi分成k段,然后分别打包;每个数据包SEG_PACKET由如下项组成:
k表示段数,SEG_ID表示数据段的ID,SEG_DATAi表示本段的消息内容,MTIMEi表示消息的失效时间,SEND_TIMEi表示消息的发送周期,NNUM_AVGi表示平均邻居节点个数;
步骤三、源节点Ni采用基于邻居节点动态分析的消息延时传输方法对数据段SEG_PACKET进行延时传输,延时传输步骤为;
步骤3-1:初始化源节点Ni用于消息延时传输方法的各项参数P={Nbk,LOOP_NUM},Nbk表示消息延时传输时的邻居节点表单,LOOP_NUM表示源节点当前循环次数;
步骤3-2:源节点Ni向邻居节点广播源节点广播NDM,邻居节点接收到该源节点广播NDM后向源节点Ni反馈响应NDM_ACK;
步骤3-3:源节点Ni在设置时间段T内对邻居节点响应NDM_ACK进行统计,获得当前消息传输参数;源节点Ni从存储在缓存里的邻居节点响应NDM_ACK中提取出各个邻居节点的ID,如果ID和消息延时传输时的邻居节点表单Nbk中所有的节点ID不相同时,将ID添加到消息延时传输时的邻居节点表单Nbk的第LOOP_NUM行中;提取并比较所有NDM_ACK中的邻居节点ID,如果有邻居节点ID与Nbk中已有的节点ID相同,则返回至步骤3-2中;如果所有的邻居节点ID与Nbk中已有的节点ID都不相同,则执行步骤3-4;
步骤3-4:源节点Ni判断发现的邻居节点次数NNUM是否达到平均邻居节点数NNUM_AVGi;如果NNUM大于等于NNUM_AVGi,则执行步骤3-5;如果NNUM小于NNUM_AVGi,则返回至步骤3-2;
步骤3-5:源节点Ni从源节点数据等待队列中,按照FIFO原则取出一段数据进行发送,每段数据只发送一次;
步骤3-6:判断是否所有的数据段都发送完毕;比较LOOP_NUM和k,如果LOOP_NUM≥k,则所有的数据段都已经发送完毕;否则将LOOP_NUM加1,返回步骤3-2中,继续数据段的发送;
步骤四、普通节点Nj采用基于邻居节点动态分析的消息延时转发方法对数据段SEG_PACKET进行转发,数据段经过一跳或多跳后,到达目的节点Nt,消息延时转发步骤为;
步骤4-1:初始化普通节点Nj的第一邻居节点表单Nbw和循环次数LOOP_NUM;
步骤4-2:普通节点Nj监听邻居节点广播的邻居广播NDM,如果监听到邻居广播NDM,执行步骤4-3;否则,跳转至步骤4-5;
步骤4-3:普通节点Nj反馈NDM_ACK,并将邻居节点次数NNUM置0;
步骤4-4:在消息发送周期SEND_TIMEi内普通节点Nj接收由邻居节点发送的数据帧,并将接收到的数据帧存储至缓存中,然后跳转步骤4-6;如果没有接收到邻居节点发送的数据帧,则执行步骤4-5;
步骤4-5:普通节点Nj的数据等待队列中是否有等待发送的数据段,如果有则跳转步骤4-8,如果没有等待发送的数据段,则返回步骤4-2;
步骤4-6:判断是否第一次接收该数据帧;从缓存里的数据帧中提取出数据段的SEG_ID,和普通节点Nj中存储的所有数据段SEG_ID做比较;如果该数据段的SEG_ID为新ID,则存储此SEG_ID并执行步骤4-7;否则返回步骤4-2;
步骤4-7:将数据帧送入具有FIFO结构的数据等待队列,排队等待发送;该数据等待队列只存储节点接收后需要转发的数据帧;而步骤二中分段打包后的数据不可以存入普通节点的数据等待队列中进行发送;
步骤4-8:普通节点Nj向邻居节点广播的普通节点广播NDM;
步骤4-9:在消息发送周期SEND_TIMEi内,普通节点Nj对邻居节点响应NDM_ACK进行统计;普通节点Nj将接收到的邻居节点响应NDM_ACK存入节点的缓存;源节点Ni每接收到一条NDM_ACK,则邻居节点次数NNUM加1;普通节点Nj从存储在缓存里的邻居节点响应NDM_ACK中提取出各个邻居节点的ID,如果ID和第一邻居节点表单Nbw中所有的节点ID不相同时,将ID添加到第一邻居节点表单Nbw的第LOOP_NUM行中;提取并比较所有NDM_ACK中的邻居节点ID,如果有邻居节点ID与Nbw中已有的节点ID相同,则返回步骤4-2;如果所有的邻居节点ID与Nbw中已有的节点ID都不相同,则执行步骤4-10;
步骤4-10:普通节点Nj判断发现的邻居节点次数NNUM是否达到平均邻居节点数NNUM_AVGi;如果NNUM大于等于NNUM_AVGi,则执行下一步;否则返回步骤4-2;
步骤4-11:普通节点Nj发送一段数据;普通节点Nj从数据等待队列中,按照FIFO原则取出一段数据进行发送;每段数据只发送一次;然后将LOOP_NUM加1,并和w比较,如果LOOP_NUM大于等于w,则将LOOP_NUM和Nbw清零;
步骤五、目的节点Nt对消息的使用
目的节点Nt对接收到的消息Mi={MDATAi,MTIMEi}中的所有数据段,拾取出各个数据段的内容SEG_DATAi并按先后顺序排列,然后使用先验信息M_TRAi获得消息Mi={MDATAi,MTIMEi}中的MDATAi。
2.根据权利要求1所述的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,其特征在于:第一邻居节点表单的表达形式为
3.根据权利要求1所述的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,其特征在于:消息分段参数F={Nbw,NNUM,NEW_NNUM,LOOP_NUM}中的邻居节点次数NNUM初始化时设置为0;邻居节点的个数NEW_NNUM初始化时设置为0;源节点Ni的循环计数器LOOP_NUM初始化设置为1。
4.根据权利要求1所述的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,其特征在于:当前消息分段打包参数包含有消息分段参数F={Nbw,NNUM,NEW_NNUM,LOOP_NUM}中的前三项内容,即第一邻居节点表单、邻居节点次数和邻居节点个数。
5.根据权利要求1所述的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,其特征在于:将消息Mi={MDATAi,MTIMEi}中的消息内容MDATAi分的段数k越大,则消息被切割成的段数越多,所有数据段都被目的节点接收到的概率就越小;所以k取值为2或3。
6.根据权利要求1所述的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,其特征在于:消息延时传输时的邻居节点表单的表达形式为
7.根据权利要求1所述的一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法,其特征在于:消息Mi={MDATAi,MTIMEi}的各个数据段经过一跳或多跳回发后,到达目的节点Nt。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100837890A CN101557608B (zh) | 2009-05-14 | 2009-05-14 | 一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100837890A CN101557608B (zh) | 2009-05-14 | 2009-05-14 | 一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101557608A CN101557608A (zh) | 2009-10-14 |
CN101557608B true CN101557608B (zh) | 2011-05-04 |
Family
ID=41175497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100837890A Expired - Fee Related CN101557608B (zh) | 2009-05-14 | 2009-05-14 | 一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101557608B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854695B (zh) * | 2010-06-12 | 2012-07-25 | 苏州联科盛世科技有限公司 | 基于能量和时延蚁群算法来确定无线传感网络路由的方法 |
CN101977358A (zh) * | 2010-09-26 | 2011-02-16 | 北京握奇数据系统有限公司 | 一种数据短信的传输方法、装置及设备 |
CN102158357B (zh) * | 2011-03-25 | 2013-06-19 | 浙江大学 | 水平分解的单类闭合分叉汇集排队网络性能的分析方法 |
CN102123053B (zh) * | 2011-03-31 | 2014-01-01 | 浙江大学 | 水平分解的多类闭合分叉-汇集排队网络性能分析方法 |
CN102271089B (zh) * | 2011-08-29 | 2014-02-05 | 北京航空航天大学 | 一种基于时间预测和定向确认的容迟网络缓存清理方法 |
CN102843673B (zh) * | 2012-09-10 | 2015-02-11 | 江苏科技大学 | 一种无线传感器网络位置隐私保护方法 |
CN104219661A (zh) * | 2014-09-01 | 2014-12-17 | 北京邮电大学 | 抗tdoa定位追踪的源位置隐私保护路由方法 |
KR102397164B1 (ko) | 2016-09-13 | 2022-05-11 | 퀄컴 인코포레이티드 | 위성 통신 시스템에서 이웃 셀 리스트 |
-
2009
- 2009-05-14 CN CN2009100837890A patent/CN101557608B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101557608A (zh) | 2009-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101557608B (zh) | 一种基于消息延时条件传输的移动无线传感器网络节点身份保护方法 | |
CN100471141C (zh) | 无线传感器网络的混合入侵检测方法 | |
Malla et al. | Security attacks with an effective solution for dos attacks in VANET | |
CN103503511B (zh) | 监测被丢弃数据包的系统和方法 | |
JP2010532639A5 (zh) | ||
CN104754533B (zh) | 一种短信拦截的方法、装置及终端 | |
CN103763314B (zh) | 实际部署的跌倒检测系统中用户层数据的处理方法及装置 | |
CN106105106B (zh) | 用于收集和分析通过多个通道从相邻节点接收的通知的技术 | |
CN102752721B (zh) | 适用于无线传感器网络的干扰环境中的路由恢复方法 | |
CN107404718A (zh) | 一种无线传感器网络恶意节点检测方法 | |
CN103974277B (zh) | 一种数据传输方法、设备及系统 | |
CN108924825A (zh) | 一种面向SDWSNs的高能效信任管理与可信路由方法 | |
CN103929778B (zh) | 数据分级传输方法 | |
CN102035726A (zh) | Ad hoc 网络中基于多径路由和信任机制的虫洞攻击抵御方法 | |
CN103281743A (zh) | 基于路径延伸的抗追踪源位置隐私保护方法 | |
CN107306412A (zh) | 用以实现消息可靠传输的方法、用户设备和基站 | |
CN104718710B (zh) | 适合环境的快速跳频 | |
Dhingra et al. | A review of dis-flooding attacks in rpl based iot network | |
CN112995130B (zh) | 一种电力物联网数据传输系统 | |
CN104507122A (zh) | 用于移动通信系统中数据链路层的流量控制方法及系统 | |
CN108271431A (zh) | 服务中断报告 | |
KR100832964B1 (ko) | 무선 센서 네트워크의 데이터 분산 방법 및 그 장치 | |
Kamarei et al. | The More the Safe, the Less the Unsafe: An efficient method to unauthenticated packets detection in WSNs | |
CN101783763A (zh) | 防拥塞的处理方法及系统 | |
Gopal et al. | Techniques to identify and eliminate malicious nodes in cooperative wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110504 Termination date: 20150514 |
|
EXPY | Termination of patent right or utility model |