利索能及
我要发布
收藏
专利号: 201310256706X
申请人: 常熟理工学院
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,所述6LoWPAN无线传感器网络通过一个外部接入路由器与IPv6互联网相连;6LoWPAN无线传感器网络包含三类节点:簇首节点,簇内节点和新节点;簇首节点为已经配置IPv6地址的全功能节点,一个外部接入节点与所有簇首节点构建成一个树状结构,外部接入路由器为树状结构的根节点;簇内节点为已经配置IPv6地址的部分功能节点,新节点为没有配置IPv6地址的全功能节点或者部分功能节点;全功能节点为固定节点,部分功能节点为移动节点;6LoWPAN无线传感器网络划分为一个以上的簇,每个簇包括一个簇首节点和一个以上的簇内节点;簇首节点有两个通信半径,即簇内通信半径和簇间通信半径,簇内通信半径是簇首节点与簇内节点通信的半径,簇间通信半径是两个簇首节点之间通信的半径,簇间通信半径大于簇内通信半径;簇内节点与本簇簇首节点的最大距离长度为H个簇内通信半径,其中,H为大于

1的正整数;

6LoWPAN无线传感器网络节点的IPv6地址包括三部分,第一部分是全局路由前缀,一个6LoWPAN无线传感器网络中所有节点的全局路由前缀都相同;第二部分为簇ID,一个簇中所有簇内节点的簇ID都相同,其值等于本簇簇首节点的簇ID,第三部分为节点ID,它唯一表示一个簇内节点;簇首节点的节点ID为0;

簇内节点与本簇簇首节点的距离每增加一跳,簇内节点的节点ID长度增加k比特,k为大于0的正整数;如果一个簇内节点与本簇簇首节点的距离为h跳,1≤h≤H,那么簇内节点的节点ID的长度为k和h的乘积;

接入路由器的IPv6地址预先配置;在初始状态下,全功能节点和部分功能节点均为新节点;6LoWPAN无线传感器网络中的节点定期广播信标帧;

如果节点X收到节点Y广播的信标帧,节点X采用定位算法获取与节点Y的相对位置(θ,d),其中θ为节点X与节点Y之间的角度,θ大于或者等于0度且小于360度,d为节点X与节点Y的距离;

如果节点X1与节点Y之间的角度为θ1,距离为d1,节点X2与节点Y之间的角度为θ2,距离为d2,那么节点Y采用下述算法计算节点X1和节点X2的权重:

1)如果距离d1小于距离d2,则节点X1的权重大于节点X2,否则,如果距离d1大于距离d2,节点X1的权重小于节点X2;

2)如果距离d1等于距离d2且角度θ1小于角度θ2,则节点X1的权重大于节点X2,如果距离d1等于距离d2且角度θ1大于角度θ2,则节点X1的权重小于节点X2;

3)如果距离d1等于距离d2且角度θ1等于角度θ2,那么节点X1的权重等于节点X2。

2.根据权利要求1所述的基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,簇首节点地址初始化过程由外部接入路由器发起,全功能的新节点配置IPv6地址且转变为簇首节点的过程包括以下步骤:步骤101:开始;

步骤102:全功能的新节点收到邻居接入路由器或者邻居簇首节点广播的信标帧后,获取与邻居接入路由器或者邻居簇首节点的相对位置,并广播信标帧,信标帧负载为与邻居接入路由器或者邻居簇首节点的相对位置、邻居接入路由器或者邻居簇首节点的簇ID,信标帧的源地址为0xFF;

步骤103:邻居全功能的新节点收到步骤102中全功能的新节点的信标帧后,判断自己与邻居接入路由器或者邻居簇首节点的相对位置是否与信标帧中的相对位置相同,如果是,进行步骤104,否则进行步骤105;

步骤104:邻居全功能的新节点转入休眠状态;

步骤105:如果邻居接入路由器或者邻居簇首节点收到n个全功能的新节点的信标帧,则将所有n个全功能的新节点的权重由大到小进行递减排序,并广播信标帧,信标帧负载为n个排序后的相对位置,同时记录下已分配簇ID的集合和全功能的新节点的簇ID需要c-1 c增加的比特长度c,2 -2

步骤106:全功能的新节点收到邻居接入路由器或者邻居簇首节点的信标帧后,根据n值选择增加的比特长度c,并查看自己与邻居接入路由器或者邻居簇首节点的相对位置在信标帧中的位置x,全功能的新节点将簇ID的有效长度设置为c1+c,c1为邻居接入路由器或者邻居簇首节点簇ID的长度,前c1个比特的值等于邻居接入路由器或者邻居簇首节点的簇ID值,后c个比特的值设置为x,然后将生成的簇ID与邻居接入路由器或者邻居簇首节点的全局路由前缀相结合获取IPv6地址,同时全功能的新节点将自己标记为簇首节点,将邻居接入路由器或者邻居簇首节点标记为父节点,广播信标帧,信标帧负载为簇ID的有效长度;

步骤107:重复步骤102至步骤106,直到所有全功能的新节点获取IPv6地址并且转变为簇首节点;

步骤108:结束。

3.根据权利要求1所述的基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,如果在一个节点的传输半径范围内有两个以上部分功能的新节点与邻居簇首节点或者邻居簇内节点的相对位置相同,则采用内部ID来区分所述部分功能的新节点;所述部分功能的新节点获取内部ID的算法包括以下步骤:如果部分功能的新节点在广播信标帧之前收到j个与同一个邻居簇首节点或者邻居簇内节点的相对位置相同的信标帧,0≤j,则部分功能的新节点广播的信标帧中的内部ID为j。

4.根据权利要求3所述的基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,如果部分功能的新节点收到簇首节点广播的信标帧,则选择从簇ID有效位长度最小的邻居簇首节点获取地址,如果部分功能的新节点没有收到簇首节点广播的信标帧但是收到了簇内节点广播的信标帧,则选择从节点ID有效位长度最小的邻居簇内节点获取地址;部分功能的新节点获取与邻居簇首节点或者邻居簇内节点的相对位置,广播信标帧,信标帧负载为部分功能的新节点与邻居簇首节点或者邻居簇内节点的相对位置、部分功能的新节点的内部ID以及请求加入簇的簇首节点的簇ID;

部分功能的新节点从邻居簇首节点获取IPv6地址的初始化过程包括如下步骤:

步骤201:开始;

步骤202:部分功能的新节点收到邻居簇首节点广播的信标帧后,获取自己与邻居簇首节点的相对位置,并广播信标帧,信标帧负载为自己与邻居簇首节点的相对位置、邻居簇首节点的簇ID、到达簇首节点的距离h1以及部分功能的新节点自己的内部ID,信标帧的源地址为0xFFFF;

步骤203:邻居簇首节点收到负载为自己的簇ID的信标帧后,计算广播这些信标帧的部分功能的新节点的权重并由大到小进行递减排序,如果权重相同的节点,则按照内部ID由小到大递增排序;然后广播信标帧,信标帧负载为排序后的部分功能的新节点的相对位置,同时记录下已分配的节点ID集合;

步骤204:部分功能的新节点收到邻居簇首节点的信标帧后,查看自己与邻居簇首节点的相对位置在信标帧中的位置y,然后部分功能的新节点将节点ID的有效位长度设置为(h1+1)×k,前h1×k比特位的值等于邻居簇首节点的节点ID值,后k比特位的值设置为y,部分功能的新节点将邻居簇首节点的簇ID、全局路由前缀与自己的节点ID相结合获取IPv6地址,同时将自己标记为簇内节点,广播信标帧;

步骤205:重复步骤202至步骤204,直到所有部分功能的新节点获取IPv6地址并且转变为簇内节点;

步骤206:结束;

部分功能的新节点从邻居簇内节点获取IPv6地址的初始化过程包括如下步骤:

步骤701:开始;

步骤702:部分功能的新节点收到邻居簇内节点广播的信标帧后,获取与邻居簇内节点的相对位置,并广播信标帧,信标帧负载为部分功能的新节点与邻居簇内节点的相对位置、邻居簇内节点的簇ID和节点ID,部分功能的新节点到达要加入簇的簇首节点的距离h2和部分功能的新节点自己的内部ID,信标帧的源地址为0xFFFF;

步骤703:邻居簇内节点收到负载为自己的簇ID和节点ID的信标帧后,计算广播所述信标帧的部分功能的新节点的权重,并由大到小进行递减排序,对于权重相同的节点,则按照内部ID由小到大递增排序;然后广播信标帧,信标负载为排序后的部分功能的新节点的相对位置,同时记录下已分配的节点ID集合;

步骤704:部分功能的新节点收到邻居簇内节点的信标帧后,查看自己与邻居簇内节点的相对位置在信标帧中的位置y1,然后部分功能的新节点将节点ID的有效位长度设置为(h2+1)×k,前h2×k比特位的值等于邻居簇内节点的节点ID值,后k比特位的值设置为y,部分功能的新节点将邻居簇内节点的簇ID、全局路由前缀与自己的节点ID相结合获取IPv6地址,同时将自己标记为簇内节点,广播信标帧;

步骤705:重复步骤702至步骤704,直到所有部分功能的新节点获取IPv6地址并且转变为簇内节点;

步骤706:结束。

5.根据权利要求4所述的基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,地址初始化过程结束后,簇首节点广播的信标帧为未分配簇ID的集合,自己的簇ID有效长度c1,自己的子节点增加的比特长度c以及未分配节点ID的集合;

地址初始化过程结束后,如果全功能的新节点接收到多个邻居簇首节点广播的信标帧,则选择从未分配簇ID集合长度最大的邻居簇首节点获取地址,包括如下步骤:步骤301:开始;

步骤302:全功能的新节点广播信标帧,信标帧负载为与邻居簇首节点的相对位置,邻居簇首节点的簇ID,信标帧的源地址为0xFF;

步骤303:邻居全功能的新节点收到全功能的新节点的信标帧后,邻居全功能的新节点判断它与邻居簇首节点的相对位置与接收到的信标帧中的相对位置是否相同,如果是,进行步骤304,否则进行步骤305;

步骤304:邻居全功能的新节点转入休眠状态;

步骤305:邻居簇首节点收到n1个全功能的新节点的信标帧,将n1个全功能的新节点的权重由大到小进行递减排序,更新未分配簇ID集合,即从未分配簇ID原来集合中去除前n1个最小的元素,然后广播信标帧,信标帧负载为排序后的n1个全功能的新节点的相对位置以及需要增加的比特长度c;

步骤306:全功能的新节点收到邻居簇首节点的信标帧后,查看自己与邻居簇首节点相对位置在信标帧中的位置x,判断位置x是否大于邻居簇首节点原来的未分配簇ID集合长度,如果是进行步骤307,否则进行步骤308;

步骤307:全功能的新节点重新选取邻居簇首节点获取地址,进行步骤309;

步骤308:全功能的新节点将簇ID的有效位长度设置为c1+c,前c1比特位的值等于邻居簇首节点的簇ID值,后c比特位的值设置为邻居簇首节点未分配簇ID集合中第x个最小未分配的簇ID,然后将簇ID与邻居簇首节点的全局路由前缀相结合获取IPv6地址,同时将自己标记为簇首节点,将邻居簇首节点标记为父节点;

步骤309:结束。

6.根据权利要求5所述的基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,地址初始化过程结束后,簇内节点广播的信标帧为未分配节点ID的集合以及到达本簇簇首节点的距离;

地址初始化过程结束后,如果部分功能的新节点接收到多个邻居簇首节点或者邻居簇内节点广播的信标帧,则选择从未分配节点ID集合长度最大的邻居簇首节点或者邻居簇内节点获取地址,包括如下步骤:步骤401:开始;

步骤402:部分功能的新节点广播信标帧,信标帧负载为部分功能的新节点与邻居簇首节点或者邻居簇内节点的相对位置,邻居簇首节点的簇ID,或者邻居簇内节点的簇ID和节点ID,以及部分功能的新节点自己的内部ID,信标帧的源地址为0xFFFF;

步骤403:如果邻居簇首节点或者邻居簇内节点收到n3个部分功能的新节点广播的信标帧,且信标帧负载的簇ID以及节点ID与自己的簇ID和节点ID都相同,那么邻居簇首节点或者邻居簇内节点将n3个部分功能的新节点的权重由大到小进行递减排序,如果权重相同,则按照内部ID由小到大递增排序,然后广播信标帧,信标帧负载为排序后的n3个部分功能的新节点的相对位置,最后更新未分配节点ID集合,即去除未分配节点ID集合中前n3个最小的元素;

步骤404:部分功能的新节点收到邻居簇首节点或者邻居簇内节点的信标帧后,查看自己与邻居簇首节点或者邻居簇内节点相对位置在信标帧中的位置y2,判断位置y2是否大于邻居簇首节点或者邻居簇内节点原来未分配节点ID集合的长度,如果是,进行步骤

405,否则进行步骤406;

步骤405:部分功能的新节点重新选取邻居簇首节点或者邻居簇内节点获取地址,进行步骤407;

步骤406:部分功能的新节点将节点ID的有效位设置为(h+1)×k,其中h×k为邻居簇首节点或者邻居簇内节点的节点ID的比特长度,部分功能的新节点将前h×k比特位的值设置为邻居簇首节点或者邻居簇内节点的节点ID,后k个比特位的值设置为邻居簇首节点或者邻居簇内节点未分配节点ID集合中第y个最小未分配的节点ID;部分功能的新节点将邻居簇首节点或者邻居簇内节点的簇ID、全局路由前缀与自己的节点ID相结合获取IPv6地址,同时将自己标记为簇内节点;

步骤407:结束。

7.根据权利要求6所述的基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,簇内节点在无线传感器网络内任意移动;簇内节点广播的信标帧负载包括与本簇簇首节点的距离参数;如果簇内节点能收到本簇簇首节点广播的信标帧,则距离参数值为1,否则它选择本簇簇内节点广播的具有最小距离参数的信标帧,并将该距离值加1作为自己的距离参数值;

簇内节点与IPv6互联网节点进行通信的路由算法包括以下步骤:

步骤501:开始;

步骤502:簇内节点判断自己的距离参数是否为1,如果是,进行步骤503,否则进行步骤504;

步骤503:簇内节点直接将数据消息传给本簇簇首节点,进行步骤508;

步骤504:簇内节点将数据消息发送给比自己距离参数值小的本簇邻居簇内节点;

步骤505:本簇邻居簇内节点收到数据消息后,记录到达簇内节点的路由路径,判断自己距离参数是否为1,如果是,进行步骤506,否则进行步骤507;

步骤506:邻居簇内节点直接将数据消息传给本簇簇首节点,进行步骤508;

步骤507:邻居簇内节点将数据消息发送给比自己距离参数值小的本簇的另一个邻居簇内节点,进行步骤505;

步骤508:本簇簇首节点收到数据消息后,记录到达簇内节点的路由路径,然后将数据消息传给其父节点,父节点再将数据消息传给它的父节点,直到数据消息到达接入路由器;

步骤509:接入路由器将数据消息发送到IPv6互联网,最后,该数据消息到达目的IPv6互联网节点;

步骤510:IPv6互联网节点返回的数据消息首先到达接入路由器,接入路由器选择与目的簇ID最匹配的下一跳簇首节点,将数据消息发送到下一跳簇首节点;下一跳簇首节点收到消息后将数据消息发送给与目的簇ID最大匹配的下一跳簇首节点,直到数据消息最终到达目的簇内节点所在簇的簇首节点;

步骤511:簇首节点收到数据消息后,判断目的簇内节点是否在其一跳范围内,即距离参数是否为1,如果是,进行步骤512,否则进行步骤513;

步骤512:簇首节点直接将数据消息传给目的簇内节点,进行步骤514;

步骤513:簇首节点根据记录的到达簇内节点的路由信息将数据消息路由到目的簇内节点;

步骤514:结束。

8.根据权利要求7所述的基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,如果簇首节点没有收到父节点的信标帧,则判定父节点失效,同时簇首节点将自己标记为全功能的新节点并重新获取IPv6地址;如果簇首节点失效,现在距离参数为1的簇内节点则无法收到簇首节点的信标帧,所述簇内节点将距离参数更新为0,广播信标帧,然后将自己标记为部分功能的新节点;其他距离参数大于1的簇内节点收到距离参数为0的信标帧后,判定簇首节点失效,同样将距离参数更新为0,广播信标帧,然后将自己标记为部分功能的新节点;直到整个簇的簇内节点都转变为部分功能的新节点;

如果簇首节点没有收到子节点的信标帧,则认为子节点失效,同时将子节点占用的簇ID加入到未分配簇ID集合。

9.根据权利要求1所述的一种基于簇的6LoWPAN无线传感器网络地址配置方法,其特征在于,簇内节点脱离所在簇后,重新将自己标记为部分功能的新节点同时加入一个新的簇获取IPv6地址;

如果部分功能的新节点的所有邻居簇首节点或者邻居簇内节点的未分配节点ID集合为空,那么部分功能的新节点选择一个邻居簇首节点并请求节点ID回收操作,包括以下步骤:步骤601:开始;

步骤602:部分功能的新节点向邻居簇首节点发送信标帧,消息源地址为0xFF,消息负载为空;

步骤603:邻居簇首节点收到部分功能的新节点发送的消息负载为空的信标帧,邻居簇首节点在簇内广播信标帧,信标帧负载为空;

步骤604:本簇簇内节点收到本簇簇首节点的负载为空的信标帧后,向本簇簇首节点返回信标帧,信标帧负载为未分配节点ID集合;

步骤605:簇首节点获取簇内节点的为分配节点ID集合后,将脱离本簇或者失效的簇内节点占用的节点ID作为信标帧的负载再次分配给簇内节点,簇内节点收到簇首节点的信标帧后,将再次分配的节点ID加入到未分配节点ID集合中,实现地址回收;

步骤606:结束。