一种下一代无线传感器网络路由的实现方法

文档序号:7772201阅读:121来源:国知局
一种下一代无线传感器网络路由的实现方法
【专利摘要】本发明提供了一种下一代无线传感器网络路由的实现方法,所述无线传感器网络包括四类节点:接入路由器,簇首节点,簇内节点和新节点;一个无线传感器网络只包含一个接入路由器,并通过接入路由器接入互联网,簇首节点为获取IPv6地址的全功能节点,簇内节点为获取IPv6地址的部分功能节点,新节点为没有获取IPv6地址的全功能节点或者部分功能节点;如果一个新节点是全功能节点即全功能新节点,且在一个簇首节点的一跳范围内,且没有邻居新节点是部分功能节点即部分功能新节点,它则转入休眠状态;通过地址树可以自动实现路由,无需存储路由数据也无需路由建立过程,因此提高了路由效率,降低了路由延迟,提高了通信质量。
【专利说明】一种下一代无线传感器网络路由的实现方法
【技术领域】
[0001]本发明涉及一种网络路由的实现方法,尤其涉及的是一种下一代无线传感器网络路由的实现方法。
【背景技术】
[0002]随着下一代互联网的不断成熟和发展,下一代无线传感器网络已成为未来发展的必然趋势。下一代无线传感器网络具有以下优势:
[0003](I) IPv6是下一代互联网的协议标准,下一代无线传感器网络有助于推动无线传感器网络通信协议的标准化;
[0004](2)IPv6的许多技术特点(如地址自动配置、移动性支持、安全性等)对大规模无线传感器网络的自组织管理提供了良好支持;
[0005](3)互联网的组网方式可以供无线传感器网络充分借鉴,使其成为无线传感器网络的一种合理拓展。
[0006]目前实现下一代无线传感器网络的路由关键技术还不成熟,主要表现在以下方面:
[0007](I)地址自动配置:地址自动配置是IPv6的一个重要技术特色,可以在无人干预的情况下为每个接口配置相应的IPv6地址。这一点与无线传感器网络自组织、自配置的设计目标非常吻合。但是,现有的IPv6地址自动配置方式在无线传感器网络中还存在一些问题,例如有状态地址配置会带来大量的控制消息开销、根据MAC地址生成IPv6地址的无状态地址配置对传感器节点间的路由寻址未带来任何方便,因此针对6LoWPAN无线传感器网络需要建立一种新的IPv6地址自动配置机制;
[0008](2)路由方案:无线传感器网络与IPv6网络不同,在IPv6网络中,路由器与普通节点之间有数据链路层连接,可以通过一跳到达,而无线传感器节点具有路由器与普通节点双重身份,节点之间没有数据链路层连接,因此在无线传感器网络中需要建立一种新的路由方式实现IPv6节点与传感器节点之间的通信。
[0009]本发明提出了一种下一代无线传感器网络地址配置和路由实现方法以解决上述存在的问题。

【发明内容】

[0010]发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种下一代无线传感器网络路由的实现方法。
[0011]技术方案:本发明公开了一种下一代无线传感器网络路由的实现方法,其特征在于,所述无线传感器网络包括四类节点:接入路由器,簇首节点,簇内节点和新节点;一个无线传感器网络只包含一个接入路由器,并通过接入路由器接入互联网,簇首节点为获取IPv6地址的全功能节点,簇内节点为获取IPv6地址的部分功能节点,新节点为没有获取IPv6地址的全功能节点或者部分功能节点;如果一个新节点是全功能节点即全功能新节点,且在一个簇首节点的一跳范围内,且没有邻居新节点是部分功能节点即部分功能新节点,它则转入休眠状态。
[0012]一个无线传感器网络划分为两个以上的簇,其中,簇首节点为固定的全功能节点,簇内节点为可移动的部分功能节点;接入路由器和所有簇首节点构建成一个树状结构,做为地址树,地址树的根节点为接入路由器;地址树能够自动实现路由。
[0013]上述过程中,地址树可以自动实现路由,无需路由发现和建立过程,因此大幅度讲了路由代价和延迟,增加了通信质量。
[0014]无线传感器网络节点的IPv6地址由三部分组成,第一部分是全局路由前缀,一个无线传感器网络中所有节点的全局路由前缀都相同,所有节点的全局路由前缀的值等于同一个无线传感器网络中接入路由器的全局路由前缀;第二部分为簇ID,一个簇中所有簇内节点的簇ID都相同,其值等于相同簇簇首节点的簇ID ;第三部分为簇内节点ID,其值在簇内具有唯一性;簇ID和簇内节点ID构成链路地址;接入路由器和簇首节点的簇内节点ID为O。
[0015]接入路由器和簇首节点的簇ID通过本发明的算法来获取,例如通过步骤101至115来获取簇ID。
[0016]簇ID划分为两个以上层次,k比特代表一个层次,一个簇ID的最大层次L如公式(I)所示:
[0017]
【权利要求】
1.一种下一代无线传感器网络路由的实现方法,其特征在于,所述无线传感器网络包括四类节点:接入路由器,簇首节点,簇内节点和新节点;一个无线传感器网络只包含一个接入路由器,并通过接入路由器接入互联网,簇首节点为获取IPv6地址的全功能节点,簇内节点为获取IPv6地址的部分功能节点,新节点为没有获取IPv6地址的全功能节点或者部分功能节点;如果一个新节点是全功能节点即全功能新节点,且在一个簇首节点的一跳范围内,且没有邻居新节点是部分功能节点即部分功能新节点,它则转入休眠状态; 一个无线传感器网络划分为两个以上的簇,其中,簇首节点为固定的全功能节点,簇内节点为可移动的部分功能节点;接入路由器和所有簇首节点构建成一个树状结构,做为地址树,地址树的根节点为接入路由器;地址树能够自动实现路由; 无线传感器网络节点的IPv6地址由三部分组成,第一部分是全局路由前缀,一个无线传感器网络中所有节点的全局路由前缀都相同,所有节点的全局路由前缀的值等于同一个无线传感器网络中接入路由器的全局路由前缀;第二部分为簇ID,一个簇中所有簇内节点的簇ID都相同,其值等于相同簇簇首节点的簇ID ;第三部分为簇内节点ID,其值在簇内具有唯一性;簇ID和簇内节点ID构成链路地址;接入路由器和簇首节点的簇内节点ID为O ; 簇ID划分为两个以上层次,k比特代表一个层次,一个簇ID的最大层次L如公式(I)所示:
2.根据权利要求1所述的下一代无线传感器网络路由的实现方法,其特征在于,地址树中的每个节点保存一个簇ID层次表,该表包含L个表项,每个表项包括两个域:层次值I以及第I层已分配最大值C1,1 < I < L,初始状态下,C1为O ; 地址树初始化由接入路由器发起,地址树的建立过程包括如下步骤: 步骤101:开始; 步骤102:接入路由器将自己标记为根节点,其簇ID的最大层数簇ID为1,第I层已分配的最大值设置为1,然后向权值最大的邻居全功能新节点发送初始化消息,消息负载为接入路由器的簇ID的最大层数值I以及第I层已分配的最大值C1 ;如果有两个以上权值最大且相同的邻居全功能新节点,则随机选择一个权值最大的邻居全功能新节点; 步骤103:邻居全功能新节点收到初始化消息后,执行赋值操作Cl=Cl+l,同时将自己簇ID的第I层值设置为C1,将簇ID的前1-1层的值设置为初始化消息源地址的前1-1层的值,将自己标记为簇首节点,并用获得的簇ID更新自己簇ID层次表,将发送初始化消息的节点作为父节点,簇首节点一跳范围内的部分功能新节点收到簇首节点的信标帧后,将自己标记为簇内节点; 步骤104:判断簇首节点一跳范围内的全功能新节点的所有邻居部分功能新节点是否都转变为簇内节点,如果是,进行步骤105,否则进行步骤106 ; 步骤105:簇首节点一跳范围内的全功能新节点进入休眠状态; 步骤106:簇首节点判断是否有处于活跃状态且权值为非0的邻居全功能新节点,如果是,进行步骤107,否则进行步骤`109 ; 步骤107:判断簇首节点的簇ID是否满足以下两个条件之一,如果是,进行步骤109,否则进行步骤108 ; 条件1:所在第I层等于L,且第L值已分配最大值为2k-l ; 条件2:所在第I层小于L且第1+1层的已分配最大值为2k-l ; 步骤108:簇首节点向处于活跃状态的权值最大的邻居全功能新节点发送初始化消息,消息负载为层数值I以及第I层已分配最大值C1,返回步骤103 ; 步骤109:簇首节点向父节点返回一个初始化确认消息,消息负载为簇首节点的簇ID的最大层次值I以及第I层已分配最大值C1,父节点根据初始化确认中的负载更新簇ID层次表; 步骤110:判断父节点是否为接入路由器,如果是,进行步骤114,否则进行步骤111 ;步骤111:判断父节点是否有处于活跃状态的权值为非0的邻居全功能新节点,如果是,进行步骤112,否则进行步骤109 ; 步骤112:判断父节点的簇ID是否满足以下两个条件之一,如果是,进行步骤109,否则进行步骤113 ; 条件1:所在层I等于L且第L值已分配最大值为2k-l ; 条件2:所在层I小于L且第1+1层的已分配最大值为2k-l ; 步骤113:父节点向处于活跃状态的权值最大的邻居全功能新节点发送初始化消息,消息负载为层数值I以及第I层已分配最大值C1,返回步骤103 ;步骤114:判断父节点是否有处于活跃状态的权值为非O的邻居全功能新节点,如果是,进行步骤112,否则进行步骤115 ; 步骤115:结束; 在簇首节点获取簇ID后,簇首节点将簇ID与接入路由器的全局路由前缀相结合获得IPv6地址。
3.根据权利要求2所述的下一代无线传感器网络路由的实现方法,其特征在于,簇首节点保存一个簇内节点ID分配集合,该集合用于记录本簇内已分配的簇内节点ID值; 簇首节点获取IPv6地址后,它的簇内节点通过下述步骤获取IPv6地址: 步骤201:开始; 步骤202:簇内节点随机产生一个簇内节点ID,并向簇首节点发送请求簇内节点ID消息,消息负载为产生的簇内节点ID,消息的源地址为临时地址; 步骤203:簇首节点收到请求簇内节点ID消息后,判断消息中的簇内节点ID是否被分配,如果是,进行步骤205,否则进行步骤204 ; 步骤204:簇首节点向簇内节点返回一个响应簇内节点ID消息,消息负载为空,同时将簇内节点的簇内节点ID加入到簇内节点ID分配集合中,进行步骤206 ; 步骤205:簇首节点选择一个没有分配的簇内节点ID并向簇内节点返回一个响应簇内节点ID消息,消息负载为分配的簇内节点ID,同时将分配给簇内节点的簇内节点ID加入到簇内节点ID分配集合中; 步骤206:簇内节点收到响应簇内节点ID消息后,判断消息负载是否为空,如果是,进行步骤207,否则进行步骤208 ; 步骤207:簇内节点将自己产生的簇内节点ID设置为自己的簇内节点ID,进行步骤209 ; 步骤208:簇内节点将负载中的簇内节点ID设置为自己的簇内节点ID ; 步骤209:簇内节点将自己的簇内节点ID与簇首节点的簇ID以及全局路由前缀相结合形成自己的IPv6地址; 步骤210:结束。
4.根据权利要求2所述的下一代无线传感器网络路由的实现方法,其特征在于,初始化结束后,簇首节点在一跳范围内广播信标帧,如果簇首节点的簇ID最大层次I小于L,那么信标帧负载为最大层次1、第1+1层已分配最大值c1+1,以及已分配簇内节点的个数,否则信标帧负载只包含已分配簇内节点的个数; 全功能新节点X加入无线传感器网络后,如果检测到其所有邻居部分功能节点都是簇内节点,则进入休眠状态;否则,全功能新节点X选择簇ID层次最小的邻居簇首节点Y获取IPv6地址,假设簇首节点Y的簇ID层次为1,且第1+1层簇ID的簇ID已分配最大值c1+1小于2k-l,则全功能新节点从邻居簇首节点Y获取地址的步骤如下: 步骤301:开始;步骤302:全功能新节点X执行赋值操作c1+1=c1+1+l,将自己簇ID的第1+1层值设置为c1+1,将簇ID的前I层的值设置为簇首节点Y前I层的值,然后向簇首节点Y发送簇ID请求消息,消息负载为全功能新节点X的簇ID的最大层1+1以及第1+1层已分配最大值c1+1 ;步骤303:簇首节点Y收到全功能新节点X的簇ID请求消息后,将簇ID层次表中第1+1层已分配最大值更新为C1+1,然后向全功能新节点X返回簇ID响应消息; 步骤304:全功能新节点X收到簇首节点Y的簇ID响应消息后,将自己标记为簇首节点,并用获得的簇ID更新簇ID层次表,将簇首节点Y作为父节点; 步骤305:结束; 如果簇首节点Y同时接收到多个负载内容相同的全功能新节点的簇ID请求消息,它只回复第一个接收到的簇ID请求消息。
5.根据权利要求4所述的下一代无线传感器网络路由的实现方法,其特征在于,如果簇首节点能量低于预先设定的阈值,则唤醒距离自己最近的全功能新节点,并向该全功能新节点发送一条失效消息,消息负载为自己的所有参数,然后转入休眠状态;全功能新节点收到簇首节点的失效消息后,采用簇首节点的IPv6并将自己标识为簇首节点,开始替代失效的簇首节点工作; 如果簇首节点X突然失效,其父节点F在设定时间没有收到该簇首节点X的信标帧后,判断该簇首节点X失效;如果父节点F簇ID最大层次为I,那么父节点F根据其子节点的簇ID层次表来更新自己的簇ID层次表,更新步骤为: 步骤401:开始; 步骤402:父节点F将簇ID层次表中第1+1层的已分配最大值更新为所有子节点中第.1+1层已分配最大值,将簇ID层次表中第I层的已分配最大值更新为所有子节点中第I层已分配最大值; 步骤403:父节点F判断所有子节点中第I层已分配最大值是否为0,如果是,进行步骤.404,否则进行步骤405 ; 步骤404:父节点F将簇ID层次表中第I层的已分配最大值更新为自己的簇ID第I层的值; 步骤405:父节点F判断更新后的簇ID层次表中第I层已分配最大值是否与原来的值相同,如果是,进行步骤411,否则进行步骤406 ; 步骤406:父节点F向自己的父节点发送更新消息,消息负载为层次I以及第I层次的已分配最大值; 步骤407:当前父节点的父节点收到更新消息后,将簇ID层次表中第I层的已分配最大值更新为更新消息负载中的第I层的已分配最大值; 步骤408:当前的父节点判断自己是否为接入路由器,如果是,进行步骤411,否则进行步骤409 ; 步骤409:当前的父节点判断其簇ID最大层次是否为1,如果是进行步骤410,否则进行步骤411 ; 步骤410:当前的父节点向其父节点发送更新消息,消息负载为层次I以及第I层次的已分配最大值,进行步骤407 ; 步骤411:结束; 如果子节点没有收到父节点的信标帧,则认为父节点失效,将自己标记为全功能新节点,重新获取IPv6地址并转换为簇首节点; 如果簇内节点没有收到簇首节点的信标帧,则认为簇首节点失效,将自己标记为部分功能新节点,然后选择加入已分配簇内节点个数最少的簇首节点所在的簇,并重新获取地址并转换为簇内节点; 如果簇首节点没有收到簇内节点的信标帧,则认为簇内节点脱离本簇,将该簇内节点的簇内节点ID从已分配簇内节点ID集合中删除从而实现地址回收;簇内节点移动到新的簇后,放弃原来的IPv6地址,从新的簇首节点获取IPv6地址。
6.根据权利要求4所述的下一代无线传感器网络路由的实现方法,其特征在于,簇首节点在一跳范围内广播信标帧,如果簇首节点的簇ID的最大层次值为LI,那么信标帧负载包括从I至LI层的已分配最大值; 簇首节点地址配置完成后,形成了以接入路由器为根节点的地址树;根据目的节点的链路地址,地址树自动建立到达目的节点的路由路径; 如果簇内节点M位于与接入路由器ARl相连的无线传感器网络中,簇内节点M的簇首节点为H,簇内节点M的簇ID的最大层次为L2,当IPv6节点向簇内节点M发送数据消息时,该数据消息到达簇内节点M的路由过程为: 步骤501:开始 ; 步骤502:目的地址为簇内节点M的数据消息首先到达接入路由器AR1,接入路由器ARl首先抽取簇内节点M的簇ID,如果簇内节点M的簇ID的第一层值ml位于其个子节点的簇ID的第一层值Vl以及第一层已分配最大值Cl之间,那么接入路由器ARl将数据包发送给该子节点; 步骤503:子节点收到数据消息后,首先抽取簇内节点M的簇ID,判断它的簇ID的第I层值V1是否等于簇内节点M的簇ID的第I层值Hi1且I等于L2,如果是,进行步骤507,否则进行步骤504 ; 步骤504:判断子节点的簇ID的第I层值V1等于M的簇ID的第I层值IH1且I小于L2,如果是进行步骤505,否则进行步骤506 ; 步骤505:子节点执行赋值操作1=1+1 ; 步骤506:子节点将数据消息发送给它的一个子节点,该子节点满足:簇内节点M的簇ID的第I层值Hi1位于该子节点的簇ID的第I层值V1以及第I层已分配最大值C1之间,进行步骤503 ; 步骤507:该子节点即为簇首节点H,簇首节点H将数据消息转发给簇内节点M,簇内节点M将返回的数据消息发给簇首节点H,簇首节点H再将数据消息发送给其父节点,父节点再将数据消息发送给自己的父节点,最终,数据消息到达接入路由器AR1,接入路由器ARl将数据消息在IPv6网络中路由给目的IPv6节点; 步骤508:结束。
【文档编号】H04W84/18GK103491590SQ201310452634
【公开日】2014年1月1日 申请日期:2013年9月26日 优先权日:2013年9月26日
【发明者】王晓喃, 董绘, 黄海利 申请人:常熟理工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1