1.下一代无线传感网地址配置实现方法,其特征在于,所述无线传感网包括接入路由器、用户节点和传感节点,所述无线传感网划分为两个以上的子网,一个子网由一个接入路由器、两个以上的用户节点和传感节点构成,一个子网内,用户节点和传感节点与接入路由器链路相连;接入路由器与路由骨干网相连;
一个传感节点配置两种以上的资源,资源包括两类,一类是与地理坐标相关的资源,一种是与地理坐标无关的资源;
任何一种类型的资源均由一个资源名称来标识,资源名称由资源ID和坐标构成;与地理坐标无关的资源的资源ID的坐标为0;
接入路由器的IP地址预先设置,接入路由器配置IP地址后,定期发送路由器消息,该路由器消息的源IP地址为该接入路由器的IP地址;用户节点接收到路由器消息后,保存与其相连的路由器的IP地址;
用户节点的IP地址由网络前缀和节点ID构成,用户节点接收到路由器消息后,构建一个IP地址,该IP地址的网络前缀等于该路由器消息的源地址的网络前缀,节点ID等于自己的硬件地址;
传感节点的IP地址由网络前缀、资源名称以及内部ID构成;
传感节点启动后,创建一个资源表,一个资源表项包含序列号、坐标和资源ID域;对于该传感节点所配置的每一种资源,该传感节点执行下述操作:该传感节点计算资源表中所有资源表项的总数n1,创建一个资源表项,该资源表项的序列号为n1+1,资源ID为标识该种资源的资源ID,如果该种资源为与地理位置相关的资源,坐标域值则为该传感节点的坐标值,否则,坐标域值为空;
接入路由器维护一个本地表,一个本地表项包含地址域和生命周期域,一个传感节点利用地址集合来保存自己配置的IP地址;
传感节点SN1与接入路由器AR1链路相连,传感节点SN1接收到来自接入路由器AR1的路由器消息后,计算自己资源表中所有资源表项的总数n2,然后执行下述地址配置操作:步骤101:开始;
步骤102:传感节点SN1创建一个地址集合,设置一个变量k,变量k的初始值为1;
步骤103:传感节点SN1选择一个资源表项,该资源表项的序列号为k,创建一个IP地址,该IP地址的网络前缀等于接收到的路由器消息源地址的网络前缀,资源名称的坐标和资源ID分别等于该资源表项的坐标和资源ID域值,内部ID为一个随机数,传感节点SN1发送一个检测消息,该检测消息的源地址为创建的IP地址,目的地址为接收到的路由器消息的源地址,负载为时间戳;
步骤104:传感节点SN1将变量k递增1,如果k大于n2,则执行步骤105,否则执行步骤
103;
步骤105:接入路由器AR1接收到检测消息后,查看本地表,如果存在一个本地表项,该本地表项的地址域等于该检测消息的源地址,则执行步骤106,否则执行步骤107;
步骤106:接收到检测消息的接入路由器AR1选择一个随机数,该随机数不等于本地表中任何一个本地表项的地址域值的内部ID,接收到检测消息的接入路由器AR1创建一个IP地址,该IP地址的网络前缀和资源名称分别等于该检测消息源地址的网络前缀和资源名称,该IP地址的内部ID等于选取的随机数;接入路由器AR1创建一个本地表项,该本地表项的地址域等于创建的IP地址,生命周期为预先设置的最大值,发送一个新地址消息,该新地址消息的源地址等于该检测消息的目的地址,该新地址消息的目的地址等于该检测消息的源地址,负载为创建的IP地址和该检测消息负载中的时间戳;执行步骤108;
步骤107:接收到检测消息的接入路由器AR1创建一个本地表项,该本地表项的地址域等于该检测消息的源地址,生命周期为预先设置的最大值,发送一个确认消息,该确认消息的源地址等于该检测消息的目的地址,该确认消息的目的地址等于该检测消息的源地址,负载为该检测消息负载中的时间戳;
步骤108:如果传感节点接收到新地址消息,则执行步骤109,否则执行步骤112;
步骤109:接收到新地址消息的传感节点判断自己是否在该新地址消息负载中的时间戳定义的时间发送过检测消息且该检测消息的源地址等于该新地址消息的目的地址,如果是,执行步骤111,否则执行步骤110;
步骤110:接收到新地址消息的传感节点丢弃该新地址消息,执行步骤115;
步骤111:接收到新地址消息的传感节点将该新地址消息负载中的地址加入到创建的地址集合中,执行步骤115;
步骤112:接收到确认消息的传感节点判断自己是否在该确认消息负载中的时间戳定义的时间发送过检测消息,且该检测消息的源地址等于该确认消息的目的地址,如果是,执行步骤114,否则执行步骤113;
步骤113:接收到确认消息的传感节点丢弃该确认消息,执行步骤115;
步骤114:接收到确认消息的传感节点将该确认消息的目的地址加入到创建的地址集合中;
步骤115:结束。
2.根据权利要求1所述的下一代无线传感网地址配置实现方法,其特征在于,传感节点配置地址后,如果该传感节点的坐标发生变化,该传感节点查看自己的地址集合,对于地址集合中的每个地址,该传感节点执行下述操作:该传感节点判断该地址中的资源名称的坐标是否为空,如果不为空,则将该地址中资源名称的坐标更新为该传感节点当前的坐标,否则,不做任何操作;
传感节点配置地址后,定期执行下述操作来维护地址的有效性:
步骤201:开始;
步骤202:传感节点从地址集合中随机选取一个地址,发送信标消息,该信标消息的目的地址为接收到的路由器消息的源地址,源地址为选取的地址,负载为自己的地址集合;
步骤203:接入路由器接收到该信标消息后,对于信标消息负载中地址集合中的每个地址执行下述操作:从本地表中选择一个本地表项,该本地表项的地址域值等于该地址,将该本地表项的生命周期设置为最大值;
步骤204:结束;
如果一个本地表项的生命周期衰减为0,则删除该本地表项。
3.根据权利要求1所述的下一代无线传感网地址配置实现方法,其特征在于,接入路由器维护一个映射表,一个映射表项包含前地址集合域、当前地址集合域和生命周期域;接入路由器维护一个会话表,一个会话表项包含地址域、切换标识符、当前接入路由器和会话ID;
时刻T1时,传感节点SN1位于子网S1,子网S1的接入路由器为AR1,传感节点SN1在子网S1中的地址集合为AS1,时刻T2时,传感节点SN1移动到子网S3,子网S3的接入路由器为AR3,传感节点SN1接收到接入路由器AR3的路由器消息后,执行步骤101-115获取在子网S3的地址集合AS3,然后执行下述切换操作:步骤301:开始;
步骤302:传感节点SN1从地址集合AS3中随机选取一个地址,然后发送绑定消息,该绑定消息的源地址为选取的地址,目的地址为接入路由器AR3的地址,负载为地址集合AS1,地址集合AS3以及接入路由器AR1的地址;
步骤303:接入路由器AR3接收到绑定消息后,发送切换消息,该切换消息的源地址为接入路由器AR3的地址,目的地址为接入路由器AR1的地址,负载为地址集合AS1和地址集合AS3;
步骤304:接入路由器AR1接收到切换消息后查看会话表,如果至少存在一个会话表项,该会话表项的地址域值包含在该切换消息负载的地址集合AS1中,则执行步骤305,否则执行步骤306;
步骤305:接收到切换消息的接入路由器AR1查看会话表,选择所有满足条件1的会话表项,将这些会话表项的切换标识符设置为1,当前接入路由器域值设置为该切换消息的源地址;接入路由器AR1发送切换确认消息,该切换确认消息的源地址等于该切换消息的目的地址,该切换确认消息的目的地址等于该切换消息的源地址,负载等于该切换消息的负载,执行步骤307;
条件1:会话表项的地址域值包含在接入路由器AR1接收到的切换消息负载的地址集合AS1中;
步骤306:接入路由器AR1发送切换取消消息,该切换取消消息的源地址等于该切换消息的目的地址,该切换取消消息的目的地址等于该切换消息的源地址,负载为空;
步骤307:如果接入路由器AR3接收到切换确认消息,则执行步骤308,否则执行步骤
309;
步骤308:接收到切换确认消息的接入路由器AR3创建一个映射表项,该映射表项的前地址集合域等于该切换确认消息中的地址集合AS1,当前地址集合域值等于该切换确认消息中的地址集合AS3,生命周期域值为最大值,接收到切换确认消息的接入路由器AR3发送一个绑定确认消息,该绑定确认消息的源地址为步骤303中接收到的绑定消息的目的地址,该绑定确认消息的目的地址为接收到的绑定消息的源地址,负载为接收到的切换确认消息中的地址集合AS1,执行步骤310;
步骤309:接收到切换取消消息的接入路由器AR3发送一个绑定取消消息,该绑定取消消息的源地址为步骤303中接收到的绑定消息的目的地址,该绑定取消消息的目的地址为接收到的绑定消息的源地址,负载为接收到的切换确认消息中的地址集合AS1;
步骤310:传感节点SN1如果接收到绑定确认消息,则保留地址集合AS1,否则删除地址集合AS1;
步骤311:结束。
4.根据权利要求3所述的下一代无线传感网地址配置实现方法,其特征在于,用户节点U2与接入路由器AR2链路相连,数据D2由资源名称为RN1的资源产生,子网S1的接入路由器为AR1,资源名称RN1的坐标为0,如果用户节点U2准备获取子网S1中的资源产生的数据D2,则执行下述操作:步骤401:开始;
步骤402:用户节点U2发送初始化消息,该初始化消息的目的地址为接入路由器AR1的地址,源地址为用户节点U2的地址,负载为资源名称RN1和随机数R1;
步骤403:接入路由器AR1接收到初始化消息后,查看本地表,选择一个本地表项,该本地表项的地址域的资源名称等于该初始化消息负载中的资源名称;接入路由器AR1发送一个初始化确认消息,该初始化确认消息的源地址为该初始化消息的目的地址,该初始化确认消息的目的地址为该初始化消息的源地址,负载为选中的本地表项中的地址域值和随机数R1;接入路由器AR1创建一个会话表项,该会话表项的地址域值等于选中的本地表项的地址域值,切换标识符为0,当前接入路由器域值为0,会话ID等于该初始化消息负载中的随机数R1;
步骤404:用户节点U2接收到初始化确认消息后,发送一个请求消息,该请求消息的源地址为自己的地址,目的地址为该初始化确认消息负载中的地址,负载为随时数R1,该请求消息首先到达接入路由器AR1;
步骤405:接入路由器AR1接收到请求消息后,选择一个会话表项,该会话表项的会话ID等于该请求消息负载中的随机数R1,如果该会话表项的切换标识符为0,则执行步骤406,否则执行步骤407;
步骤406:接收到请求消息的接入路由器AR1将该请求消息转发到该请求消息目的地址所标识的目的传感节点;目的传感节点接收到该请求消息后,发送一个响应消息,该响应消息的目的地址等于该请求消息的源地址,该响应消息的源地址等于该请求消息的目的地址,负载为该请求消息的目的地址的资源名称所标识的资源产生的数据以及随机数R1;接入路由器AR1接收到该响应消息后,选择一个会话表项,该会话表项的会话ID等于该响应消息负载中的随机数R1,删除该会话表项,同时转发该响应消息,执行步骤409;
步骤407:接入路由器AR1接收到请求消息后,选择一个会话表项,该会话表项的会话ID等于该请求消息负载中的随机数R1,接入路由器AR1发送获取消息,该获取消息的目的地址等于该会话表项的当前接入路由器域值,源地址等于接入路由器AR1的地址,负载为接收到的请求消息的目的地址和随机数R1;该获取消息的目的地址标识的目的接入路由器接收到该获取消息后,查看映射表,选择一个映射表项,该映射表项的前地址集合域值包含该获取消息负载中的地址,然后从该映射表项的当前地址集合中选取一个地址,该地址的资源名称等于该获取消息负载中地址的资源名称,将该获取消息的目的地址更新为选中的地址,转发该获取消息;
步骤408:该获取消息目的地址标识的目的传感节点接收到该获取消息后,发送一个数据消息,该数据消息的目的地址等于该获取消息的源地址,该数据消息的源地址等于该获取消息负载中的地址,负载为该获取消息目的地址的资源名称所标识的资源产生的数据以及随机数R1;接入路由器AR1接收到该数据消息后,选择一个会话表项,该会话表项的会话ID等于该数据消息负载中的随机数R1,删除该会话表项,同时发送一个响应消息,该响应消息的源地址为该数据消息的源地址,目的地址为负载为随机数R1的请求消息的源地址,负载为该数据消息中的负载;
步骤409:用户节点U2接收到响应消息后,保存该响应消息负载中的数据;
步骤410:结束。
5.根据权利要求3所述的下一代无线传感网地址配置实现方法,其特征在于,用户节点U2与接入路由器AR2链路相连,数据D3由资源名称为RN2的资源产生,子网S1的接入路由器为AR1,资源名称RN2的坐标不为0且位于接入路由器AR1所在坐标的一跳范围内,用户节点U2通过下述过程获取数据D3:步骤501:开始;
步骤502:用户节点U2发送初始化消息,该初始化消息的目的地址为接入路由器AR1的地址,源地址为用户节点U2的地址,负载为资源名称RN2和随机数R2;
步骤503:接入路由器AR1接收到初始化消息后,查看本地表,选择一个本地表项,该本地表项的地址域的资源名称等于该初始化消息负载中的资源名称;接入路由器AR1发送一个初始化确认消息,该初始化确认消息的源地址为该初始化消息的目的地址,该初始化确认消息的目的地址为该初始化消息的源地址,负载为选中的本地表项中的地址域值和随机数R2;
步骤504:用户节点U2接收到初始化确认消息后,发送一个请求消息,该请求消息的源地址为自己的地址,目的地址为该初始化确认消息负载中的地址,负载为随时数R2;该请求消息首先到达接入路由器AR1;
步骤505:接入路由器AR1接收到请求消息后,查看本地表,如果存在一个本地表项,该本地表项的地址域等于该请求消息的目的地址,则执行步骤506,否则执行步骤507;
步骤506:接收到请求消息的接入路由器AR1将该请求消息转发到该请求消息目的地址所标识的目的传感节点;目的传感节点接收到该请求消息后,发送一个响应消息,该响应消息的目的地址等于该请求消息的源地址,该响应消息的源地址等于该请求消息的目的地址,负载为该请求消息的目的地址的资源名称所标识的资源产生的数据以及随机数R2,执行步骤508;
步骤507:接收到请求消息的接入路由器AR1查看本地表,选择一个本地表项,该本地表项的地址域的资源名称等于该请求消息目的地址的资源名称,将该请求消息的目的地址更新为该本地表项的地址域值,发送该请求消息;目的传感节点接收到该请求消息后,发送一个响应消息,该响应消息的目的地址等于该请求消息的源地址,该响应消息的源地址等于该请求消息的目的地址,负载为该请求消息的目的地址的资源名称所标识的资源产生的数据以及随机数R2;该响应消息首先达到接入路由器AR1,接入路由器AR1将该响应消息的源地址更新为负载为随机数R2的请求消息的目的地址,转发该响应消息;
步骤508:用户节点U2接收到响应消息后,保存该响应消息负载中的数据;
步骤509:结束。