利索能及
我要发布
收藏
专利号: 2015105642697
申请人: 常熟理工学院
专利类型:发明专利
专利状态:无效专利
更新日期:2025-10-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种无线传感网路由的实现方法,其特征在于,所述无线传感网包含两种节点:全功能节点和部分功能节点;全功能节点具有路由转发功能,部分功能节点不具有路由转发功能,部分功能节点用于感知环境参数;所述无线传感网通过接入路由器连接到下一代互联网,接入路由器和所述无线传感网中的所有全功能节点构建成一个树状结构,称为地址树,地址树的根节点为接入路由器;部分功能节点通过地址树与其他节点进行通信,地址树中与部分功能节点直接通信的全功能节点称为部分功能节点的关联节点;

所述无线传感网节点的IPv6地址由四部分构成,第一部分为树ID,它唯一标识一个无线传感网,一个无线传感网中所有传感器节点的树ID都相同,其值等于相同无线传感网内的接入路由器的树ID;第二部分为1比特的类型域,类型域表示一个传感器节点的类型,当类型域为1时,表示该节点为全功能节点,当类型域为0时,表示该节点为部分功能节点;第三部分为i比特的树枝ID,它唯一标识一个全功能节点,第四部分为j比特的节点ID,它唯一标识一个部分功能节点;接入路由器的IPv6地址的类型域值为1,树枝ID为0,节点ID为非零自然数;接入路由器的树ID预先设置;

类型域,树枝ID和节点ID构成链路地址,其长度为16比特或者64比特;

一个全功能节点的树枝ID的有效长度L与该节点所在地址树的深度d成正比,L≤i,如公式(1)所示,L=d·c       公式(1),

其中,c是衡量一个全功能节点拥有的最大子节点数量的变量,即2c-1是一个全功能节点拥有的最大子节点数;

全功能节点获取IPv6地址后定期广播信标帧,信标帧负载包括树ID,可供分配的树枝ID数量和节点ID数量;地址树中每个节点保存一个树枝ID表,具有2c-1个表项,每个表项包含三个域:树枝ID域,分配状态和生命周期,其中分配状态具有两个值,已分配和未分配,如果分配状态值为已分配,那么生命周期域值随着时钟递减,如果在生命周期内收到对应该树枝ID的全功能节点广播的信标帧,那么将生命周期域值设置为最大值;如果生命周期衰减为0,那么将该树枝ID的分配状态改为未分配;

全功能节点启动后,用自己的硬件ID作为临时链路地址,并侦听邻居接入路由器或者全功能节点广播的信标帧,获取树ID,然后选择距离接入路由器最近且可供分配树枝ID最大的邻居接入路由器或者全功能节点获取地址,包括以下步骤:步骤101:开始;

步骤102:全功能节点向邻居接入路由器或者全功能节点发送树枝ID请求命令帧,源链路地址为全功能节点的临时链路地址;

步骤103:邻居接入路由器或者全功能节点收到树枝ID请求命令帧后,查看树枝ID表,选择最小未分配的树枝ID,向全功能节点返回树枝ID响应命令帧,树枝ID响应命令帧负载为分配的树枝ID,同时将该树枝ID的分配状态设置为已分配,生命周期设置为最大值;

步骤104:全功能节点收到树枝ID响应命令帧后,将自己的树枝ID设置为邻居接入路由器或者全功能节点的树枝ID,然后将自己的树枝ID扩展c个比特,并将扩展的c个比特的值设置为树枝ID响应命令帧中分配的树枝ID值,然后将树ID与自己的树枝ID相结合构建成IPv6地址,其中,类型域为1,节点ID为0;

步骤105:结束;

树状结构中每个节点保存一个节点ID表,具有2j-1个表项,每个表项包含三个域:节点ID,分配状态和生命周期,其中,分配状态具有两个值,已分配状态和未分配状态;如果分配状态值为已分配,那么生命周期域值随着时钟递减,如果在生命周期内收到该节点ID的部分功能节点广播的信标帧,那么将生命周期域值设置为最大值;生命周期设置为信标帧广播周期的整数倍;如果生命周期衰减为0,那么将该节点ID的分配状态改为未分配;

部分功能节点启动后,用自己的硬件ID作为临时链路地址,并侦听全功能节点广播的信标帧,获取树ID,然后选择距离接入路由器最近且可供分配节点ID数量最大的全功能节点获取地址,包括以下步骤:步骤201:开始;

步骤202:部分功能节点向全功能节点发送节点ID请求命令帧,源地址为部分功能节点临时链路地址;

步骤203:全功能节点收到节点ID请求命令帧后,查看节点ID表,选择最小未分配的节点ID,向部分功能节点返回节点ID响应命令帧,节点ID响应命令帧负载为分配的节点ID,同时将该节点ID的分配状态设置为已分配状态,生命周期设置为最大值;

步骤204:部分功能节点收到节点ID响应命令帧后,将自己的树枝ID设置为全功能节点的树枝ID,将节点ID设置为节点ID响应命令帧中的节点ID值,然后将树ID,树枝ID以及节点ID相结合构建成IPv6地址,其中,类型域值为0;

步骤205结束。

2.根据权利要求1所述的一种无线传感网路由的实现方法,其特征在于,全功能节点获取IPv6地址后,构建一跳邻居表和两跳邻居表,一跳邻居表用于记录一跳范围内的全功能节点,每个表项包含两个域:邻居节点的链路地址和生命周期;二跳邻居表用于记录两跳范围内的全功能节点,每个表项包括三个域:两跳邻居节点的链路地址,一跳邻居节点的链路地址,以及生命周期,其中一跳邻居节点的链路地址为到达该两跳邻居节点所经过的一跳邻居节点的链路地址;

全功能节点配置地址后,广播的信标帧包括树ID,可供分配的树枝ID数量和节点ID数量,以及一跳邻居表和两跳邻居表;

全功能节点根据下述过程建立一跳邻居表和二跳邻居表:

步骤301:开始;

步骤302:全功能节点收到邻居全功能节点的信标帧后,判断该邻居全功能节点是否在自己的一跳邻居表内,如果是进行步骤303,否则进行步骤304:步骤303:全功能节点将该邻居全功能节点加入到一跳邻居列表中,生命周期设置为最大值;

步骤304:全功能节点查看信标帧中一跳邻居表的每个表项,判断该表项标识的全功能节点是否为自己的一跳邻居全功能节点,如果是,进行步骤306,否则进行步骤305;

步骤305:全功能节点将该表项标识的全功能节点加入到二跳邻居表中,其中,二跳邻居节点的链路地址为该表项标识的全功能节点的链路地址,一跳邻居节点的链路地址为该信标帧的源链路地址,生命周期设置为最大值;

步骤306:全功能节点判断是否执行了步骤303或者步骤305,如果是,进行步骤307,否则执行步骤308;

步骤307:全功能节点重复步骤302~步骤306;

步骤308:结束。

3.根据权利要求1所述的一种无线传感网路由的实现方法,其特征在于,如果全功能节点Y1是全功能节点Y2的祖先节点,全功能节点Y1的树枝ID的有效长度为L1,全功能节点Y2的树枝ID的有效长度为L2,那么全功能节点Y2到达全功能节点Y1的距离h如公式(2)所示:如果一个数据帧的目的链路地址的树枝ID与全功能节点X的树枝ID相同,那么该数据帧路由到全功能节点X的过程如下所示:步骤401:开始;

步骤402:收到该数据帧的当前全功能节点查看一跳邻居节点表和二跳邻居节点表,并判断全功能节点X是否为自己的一跳邻居节点,如果是,进行步骤403,否则进行步骤404;

步骤403:当前全功能节点将该数据帧发动到全功能节点X,进行步骤410;

步骤404:当前全功能节点判断全功能节点X是否为自己二跳邻居节点表中一个表项中的二跳邻居节点,如果是,进行步骤405,否则进行步骤406;

步骤405:当前全功能节点将该数据帧转发给全功能节点X对应表项的一跳邻居节点域对应的全功能节点,进行步骤402;

步骤406:如果当前全功能节点的一跳邻居节点表T1存在n个表项,每个表项所标识的邻居全功能节点为Yk,1≤k≤n,二跳邻居节点表T2存在m个表项,每个表项所标识的二跳邻居全功能节点为Zb,1≤b≤m,全功能节点Yk与全功能节点X的共同祖先为Ak,全功能节点Yk到达全功能节点Ak的距离与全功能节点X到达全功能节点Ak的距离之和为hk,全功能节点Zb与全功能节点X的共同祖先为全功能节点Ab,全功能节点Zb到达全功能节点Ab的距离与全功能节点X到达全功能节点Ab的距离之和为hb,当前全功能节点判断其一跳邻居节点表T1中是否存在满足公式(3)的全功能节点,如果是,执行步骤407,否则执行步骤408;

步骤407:当前全功能节点将数据帧转发给满足公式(3)的一跳全功能节点,执行步骤

402;

步骤408:当前全功能节点从自己的二跳邻居节点表T2中选择满足公式(4)的全功能节点;

步骤409:当前全功能节点将数据帧转发给满足公式(4)的两跳邻居节点对应表项中一跳邻居节点域对应的全功能节点,执行步骤402;

步骤410:结束。

4.根据权利要求3所述的一种无线传感网路由的实现方法,其特征在于,在部分功能节点Z2的关联节点为X2,部分功能节点Z8的关联节点为X8的情况下,部分功能节点Z2与部分功能节点Z8的通信过程包括如下步骤:步骤501:开始;

步骤502:部分功能节点Z2构建一个数据帧,源地址为自己的链路地址,目的地址为部分功能节点Z8的链路地址,然后将数据帧发送到自己的关联节点X2;

步骤503:根据目的链路地址的树枝ID,数据帧通过步骤401到步骤409从全功能节点X2路由到全功能节点X8;

步骤504:全功能节点X8收到数据帧后,根据数据帧的目的链路地址,将数据帧转发到部分功能节点Z8;

步骤505:结束。

5.根据权利要求1所述的一种无线传感网路由的实现方法,其特征在于,全功能节点X1检测到父节点Y1失效后,全功能节点X1侦听邻居全功能节点广播的信标帧,选择可供分配树枝ID最大并且不是全功能节点Y1的子孙节点的全功能节点Y2获取新的树枝ID和IPv6地址,并对自己子孙节点的地址进行更新,过程如下所示:步骤601:开始;

步骤602:全功能节点X1或者子孙节点获取新的链路地址后,采用新的链路地址广播信标帧,信标帧负载为原来的链路地址;

步骤603:如果收到该信标帧的部分功能节点的树枝ID等于信标帧负载中的链路地址的树枝ID,则将自己的树枝ID设置为信标帧源地址的树枝ID,节点ID不变;

步骤604:如果收到信标帧的节点为全功能节点X1的子孙节点,则将自己的树枝ID设置为信标帧源链路地址的树枝ID,然后将自己的树枝ID扩展c个比特,将扩展的c个比特的值设置为自己原来链路地址的最后c个比特有效位的值;

步骤605:重复步骤602到步骤604,直到全功能节点X1的所有子孙节点都更新了链路地址并且采用新的链路地址广播了信标帧;

步骤606:结束。

6.根据权利要求5所述的一种无线传感网路由的实现方法,其特征在于,如果全功能节点Y1失效,那么在其子孙节点在地址更新期间仍然采用原来的IPv6地址进行通信,全功能节点Y1的邻居全功能节点收到数据帧后,该数据帧的目的链路地址的树枝ID等于全功能节点Y3的树枝ID,在全功能节点Y3不是全功能节点Y1的子孙节点的情况下,如果邻居节点根据步骤401到步骤410判断数据帧的下一跳节点为全功能节点Y1,那么邻居节点进行如下步骤以将数据帧送到目的节点:步骤701:开始;

步骤702:收到数据帧的当前全功能节点查看一跳邻居节点表和二跳邻居节点表,判断全功能节点Y3是否为当前全功能节点的邻居节点,如果是,进行步骤703,否则进行步骤

704;

步骤703:当前全功能节点直降将数据帧转发给全功能节点Y3,进行步骤712;

步骤704:当前全功能节点判断全功能节点Y3是否为自己的两跳邻居节点,如果是,进行步骤705,否则进行步骤706;

步骤705:当前全功能节点将数据帧转发给全功能节点Y3对应二跳表项的一跳邻居节点域对应的邻居节点,进行步骤702;

步骤706:当前全功能节点判断一跳表中是否全部是全功能节点Y1的子孙节点,如果是,进行步骤708,否则进行步骤707;

步骤707:如果当前全功能节点有n1个不是全功能节点Y1的子孙节点的一跳邻居全功能节点,记作Nk1,1≤k1≤n1,全功能节点Nk1与全功能节点Y3的共同祖先为全功能节点Ak1,全功能节点Nk1到达全功能节点Ak1的距离与全功能节点Y3到达全功能节点Ak1的距离之和为hk1,那么当前全功能节点将数据帧转发给满足公式(5)的一跳邻居全功能节点,进行步骤

711;

步骤708:当前全功能节点判断二跳表中是否全部是全功能节点Y1的子孙节点,如果是,进行步骤710,否则进行步骤709;

步骤709:如果当前全功能节点有m1个不是全功能节点Y1的子孙节点的二跳邻居全功能节点,记作Mb1,1≤b1≤m1,全功能节点Mb1与全功能节点Y3的共同祖先为Ab1,全功能节点Mb1到达全功能节点Ab1的距离与全功能节点Y3到达全功能节点Ab1的距离之和为hb1,那么当前全功能节点将数据帧转发给满足公式(6)的二跳邻居全功能节点,进行步骤702;

步骤710:当前全功能节点选择一个一跳邻居全功能节点,该邻居节点距离接入路由器最近且邻居节点相对较多,然后将数据帧转发给该邻居节点,执行步骤702;

步骤711:不是全功能节点Y1的子孙节点的一跳邻居全功能节点收到数据帧后,根据树状结构,将数据帧路由到接入路由器,然后接入路由器再根据树状结构将数据帧路由到全功能节点Y3;

步骤712:结束。

7.根据权利要求5所述的一种无线传感网路由的实现方法,其特征在于,全功能节点建立一跳邻居表之后,向接入路由器发送注册命令帧,注册命令帧负载为一跳邻居表;

全功能节点Y1的邻居全功能节点收到数据帧后,该数据帧的目的链路地址的树枝ID等于全功能节点X6的树枝ID,全功能节点X6是全功能节点Y1的子孙节点,如果全功能节点Y1的邻居全功能节点根据步骤401到步骤410判断数据帧的下一跳节点为全功能节点Y1,那么它进行如下步骤以将数据帧送到目的节点:步骤801:开始;

步骤802:全功能节点Y1的邻居全功能节点收到数据帧后,如果邻居全功能节点是全功能节点Y1的子节点,则进行步骤803,否则执行步骤804;

步骤803:邻居全功能节点根据步骤701到步骤712将数据帧路由到接入路由器,执行步骤805;

步骤804:邻居全功能节点根据树状结构将数据帧路由到接入路由器;

步骤805:接入路由器查看全功能节点Y1子孙节点的一跳邻居节点列表,判断全功能节点X6的一跳邻居节点是否都是全功能节点Y1的子孙节点,如果是,进行步骤807,否则进行步骤806;

步骤806:接入路由器通过树状结构将数据帧路由到不是全功能节点Y1子孙节点的一跳邻居节点,该一跳邻居节点收到数据帧后,将数据帧转发给全功能节点X6,进行步骤808;

步骤807:如果全功能节点X6的x-1跳范围内的邻居全功能节点都是全功能节点Y1的子孙节点,x≥2,那么接入路由器查看全功能节点X6的x跳邻居全功能节点,直到发现一个不是全功能节点Y1子孙节点的邻居全功能节点,且该邻居全功能节点到达全功能节点X6的路由路径不经过全功能节点Y1,然后接入路由器采用路由头部将数据帧路由到全功能节点X6,其中路由头部的值为该邻居全功能节点到达全功能节点X6的路由路径;

步骤808:结束。