专利名称:一种基于跨层的6LoWPAN无线传感器网络通信方法
技术领域:
本发明涉及一种网络通信方法,尤其涉及的是一种基于跨层的6LoWPAN无线传感器网络通信方法。
背景技术:
无线传感器网络具有移动性,但是无线传感器网络与IPv6网络体系结构的差异使得现有的IPv6移动协议无法应用到全IP无线传感器网络。目前,国内外研究人员研究并提出了多种移动管理方案,上述移动管理方案为研究全IP无线传感器网络的移动管理理论奠定了良好的基础,但是,上述方案仍然采用了传统的移动管理模式,因此延长了移动管理延迟。如何设计低功耗、低延迟的全IP无线传感器网络移动管理方案还有待进一步深入研究。因此,本发明提出了一种通信延迟短,数据丢失率低的基于跨层的6LoWPAN无线传感器网络通信方法。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于跨层的6LoWPAN无线传感器网络通信方法。技术方案:本发明公开了一种基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,6LoWPAN无线传感器网络包含两类传感器节点,全功能节点和部分功能节点;所述6LoWPAN无线传感网络由一个以上子网组成,每个子网包括一个网关、一个以上全功能节点,以及一个以上部分功能节点;其中网关为连接子网与IPv6网络中的接入路由器,网关与全功能节点是固定节点,具有路由转发功能,部分功能节点为移动节点,不具有路由转发功能。一个子网内的网关和所有全功能节点构建成路由骨干网,拓扑结构为树状,称为子网树,树根节点为网关;部分功能节点通过路由骨干网与IPv6互联网进行通信;与部分功能节点直接通信的路由骨干网中的全功能节点称作该部分功能节点的关联节点,同一时亥IJ,一个部分功能节点只有一个关联节点。部分功能节点由家乡地址唯一标识,在部分功能节点移动过程中家乡地址保持不变;部分功能节点的移动转交过程中无需配置转交地址,从而大幅度降低了移动转交的延迟和功耗,提高了通信质量。网关与传感器节点的IPv6地址由两部分组成:第一部分是子网ID,它是全局路由前缀,一个子网中网关和所有全功能节点以及从该子网获取地址的部分功能节点的子网ID都相同;第二部分是节点ID,节点ID唯一标识子网中的一个传感器节点;网关的IPv6地址预先设置且节点ID为O ;节点ID的长度由6LoWPAN传感器网络规模以及传感器节点分布密度来确定。网关、全功能节点和部分功能节点在一跳范围内定期广播信标帧,网关和全功能节点广播的信标帧负载为工作信道以及在子网树的深度值。一个全功能节点最多可拥有K个子节点,所有子节点都是全功能节点,每个子节点对应一条地址分配记录,每条地址分配记录包括两个域:子节点值k和子节点分配状态,其中I < k < K,子节点分配状态包括已分配和未分配两种状态。本发明所述方法中,全功能节点加入6LoWPAN无线传感器网络后,扫描所有信道并接收邻居网关或者邻居全功能节点广播的信标帧,选择从深度值最小的邻居网关或者邻居全功能节点获取地址;全功能节点Y从邻居全功能节点X获取IPv6地址的过程为:步骤101:开始;步骤102:全功能节点Y向邻居全功能节点X发送地址请求消息;步骤103:邻居全功能节点X收到地址请求消息后,选择最小未分配子节点值对应的地址分配记录,向全功能节点Y返回一个地址响应消息,消息负载为对应地址分配记录的子节点值k,同时将对应地址分配记录的子节点分配状态标识为已分配状态;步骤104:全功能节点Y收到地址响应消息后,根据公式⑴获取节点ID,其中,X为全功能节点X的节点ID,y为全功能节点Y的节点ID,然后将节点ID与全功能节点X的子网ID相结合获取自己的地址;y=K.x+k (I)步骤105:全功能节点Y将邻居全功能节点X标记为自己的父节点并采用父节点的信道进行通信;步骤106:结束;子网内的所有全功能节点通过上述过程获取IPv6地址,完成路由骨干网构建。上述过程中,全功能节点从一跳范围内的邻居节点获取地址且无需地址重复检测,从而大幅度降低了地址配置功耗和延迟,实现了分布式的地址配置,同时,在地址配置过程中,自动完成了路由骨干网的构建,因此降低了路由功耗和延迟。本发明所述方法中,部分功能节点Z加入6LoWPAN无线传感器网络后,扫描所有的信道并接收邻居网关或者邻居全功能节点广播的信标帧,选择从深度值最小的邻居网关或者邻居全功能节点Y获取地址;部分功能节点Z从邻居全功能节点Y获取IPv6地址的过程为:步骤201:开始。步骤202:部分功能节点Z向邻居全功能节点Y发送地址请求消息。步骤203:邻居全功能节点Y收到地址请求消息后,选择最小未分配子节点值对应的记录,向部分功能节点Z返回一个地址响应消息,消息负载为对应地址分配记录的子节点值k,同时将对应地址分配记录的子节点分配状态标识为已分配状态。步骤204:部分功能节点Z收到地址响应消息后,根据公式⑴获取节点ID,其中,X为全功能节点Y的节点ID,y为部分功能节点Z的节点ID,然后将节点ID与全功能节点Y的子网ID相结合获取自己的地址。步骤205:部分功能节点Z将全功能节点Y标记为关联节点。步骤206:结束。上述过程中,部分功能节点从一跳范围内的邻居节点获取地址且无需地址重复检测,从而大幅度降低了地址配置功耗和延迟,实现了分布式的地址配置。
本发明所述方法中,全功能节点获取IPv6地址后,扫描所有信道接收邻居全功能节点的信标帧,从而获取邻居全功能节点的工作信道,以及邻居全功能节点的相对位置。本发明所述方法中,当部分功能节点与IPv6节点进行通信时,数据包通过部分功能节点的关联节点所在的子网树首先到达子网的网关,然后由网关记录下部分功能节点与其关联节点的关联关系并将数据包按照IPv6路由方式路由到目的IPv6节点。本发明所述方法中,如果部分功能节点Xl的关联节点为全功能节点Y1,当全功能节点Yl检测到部分功能Xl即将离开自己的通信范围时,全功能节点Yl选择与部分功能节点Xl距离最近的全功能节点Y2作为部分功能节点Xl的下一个关联节点。如果全功能节点Yl与全功能节点Y2在同一个子网内且子网的网关为G,那么全功能节点Yi进行如下移动切换操作:步骤301:开始。步骤302:全功能节点Yl分别向部分功能节点Xl和网关G发送切换消息,发送给网关G的切换消息负载内容为部分功能节点Xl的IPv6地址以及全功能节点Y2的IPv6地址,发送给部分功能节点Xl的消息负载内容为节点Y2的工作信道。步骤303:网关G收到切换消息后,将部分功能节点Xl的关联节点更新为全功能节点Y2,并向全功能节点Yl返回切换确认消息。步骤304:部分功能节点X收到全功能节点Yl的切换消息后,直接采用全功能节点Y2的工作信道实现与全功能节点Y2的链路切换,并将全功能节点Y2作为新的关联节点。步骤305:全功能节点Yl收到切换确认消息后,将目的地址为部分功能节点Xl的消息路由至全功能节点Y2,然后全功能节点Y2将数据消息转发给部分功能节点Xl ;步骤306:结束。上述过程中,网络层移动切换与链路层移动切换同时进行,因此降低了移动切换延迟,从而降低了丢包率,在网络层移动切换过程中,部分功能节点在移动过程中无需配置转交地址,也无需参与移动切换过程,因此降低了移动切换延迟,在链路层切换过程中,部分功能节点无需扫描所有信道,通过获取的信道信息直接进行二层切换,因此缩短了切换延迟,降低了丢包率。本发明所述方法中,部分功能节点Xl与IPv6节点通信过程中,如果部分功能节点Xl的关联节点从全功能节点Yl变为全功能节点Y2,那么通信过程为:步骤401:开始。步骤402:目的地址为部分功能节点Xl的数据包首先到达与目的部分功能节点Xl所在子网连接的网关G。步骤403:网关G用MAC头部和Mesh头部对数据包进行封装,其中Mesh头部中的目的地址设置为部分功能节点Xl的当前关联节点Yl的节点ID,最终地址设置为部分功能节点Xl的节点ID,然后通过子网树将数据帧路由到当前关联节点Y1。步骤404:关联节点Yl将数据帧转发到部分功能节点Xl。步骤405:部分功能节点Xl的关联节点变为关联节点Y2,部分功能节点Xl将响应数据封装为响应数据帧,其中Mesh头部中的目的地址设置为网关G的节点ID,最终地址设置为0,然后将数据帧发送给当前关联节点Y2。
步骤406:关联节点Y2根据子网树将数据帧路由到网关G,网关G将数据帧中的响应信息封装为IPv6数据包,将IPv6数据包发送到IPv6网络上,最终该数据包按照IPv6路由方式到达目的IPv6节点。步骤407:结束。上述通信过程确保了路由的正确性,从而提高了通信质量。本发明所述方法中,如果部分功能节点Xl的关联节点为全功能节点Y1,当全功能节点Yl检测到部分功能节点Xl即将离开自己的通信范围时,全功能节点Yl选择与部分功能节点Xl距离最近的全功能节点Y2作为部分功能节点Xl的下一个关联节点;如果全功能节点Yl与全功能节点Y2属于不同的子网,全功能节点Yl所在子网的网关为G1,全功能节点Y2所在子网的网关为G2,那么全功能节点Yl进行如下移动切换操作:步骤501:开始。步骤502:全功能节点Yl分别向部分功能节点Xl和全功能节点Y2发送切换消息,发送给全功能节点Y2的消息负载内容为部分功能节点Xl的IPv6地址,发送给部分功能节点Xl的消息负载内容为全功能节点Y2的工作信道。步骤503:部分功能节点Xl收到全功能节点Yl的切换消息后,直接采用全功能节点Y2的工作信道实现与全功能节点Y2的链路切换,并将全功能节点Y2作为新的关联节点。步骤504:全功能节点Y2收到切换消息后,通过全功能节点Yl的IPv6地址判定全功能节点Yl属于不同的子网,全功能节点Y2向所在子网的网关G2发送切换消息,消息负载为部分功能节点Xl的地址。步骤505:网关G2收到切换消息后,建立部分功能节点Xl与全功能节点Y2的关联关系,同时向部分功能节点Xl获取地址的子网的网关HG发送切换消息。步骤506:网关HG收到切换消息后,将与部分功能节点Xl关联的网关从网关Gl更新为网关G2,并向网关G2返回切换确认消息,网关G2收到切换确认消息后,向全功能节点Y2返回切换确认消息,全功能节点Y2收到切换确认消息后,将切换确认消息转发给全功能节点Y1。步骤507:全功能节点Yl收到切换确认消息后,将目的地址为部分功能节点Xl的消息路由至全功能节点Y2,然后全功能节点Y2再将数据消息转发给部分功能节点XI。步骤508:结束。上述过程中,网络层移动切换与链路层移动切换同时进行,因此降低了移动切换延迟,从而降低了丢包率,在网络层移动切换过程中,部分功能节点在移动过程中无需配置转交地址,也无需参与移动切换过程,因此降低了移动切换延迟,在链路层切换过程中,部分功能节点无需扫描所有信道,通过获取的信道信息直接进行二层切换,因此缩短了切换延迟,降低了丢包率。本发明所述方法中,在移动切换过程中,部分功能节点Xl与IPv6节点N的通信过程为:步骤601:开始。步骤602:目的地址为部分功能节点Xl的数据包首先到达部分功能节点Xl获取地址所在子网的网关HG。步骤603:网关HG根据部分功能节点Xl的关联关系,将数据包路由到部分功能节点Xl所在子网的网关Gl。步骤604:网关Gl用MAC头部和Mesh头部对数据包进行封装,其中Mesh头部中的目的地址设置为部分功能节点Xl的关联节点Yl的节点ID,最终地址设置为部分功能节点Xl的IPv6地址的节点ID,然后通过子网树将数据帧路由到关联节点Y1。步骤605:关联节点Yl将数据发送到部分功能节点XI。步骤606:部分功能节点Xl的关联节点变为关联节点Y2,部分功能节点Xl将响应信息封装为响应数据帧,其中Mesh头部中的目的地址设置为网关G2的节点ID,最终地址设置为0,然后将数据帧发送给当前的关联节点Y2。步骤607:关联节点Y2根据子网树将数据帧路由到网关G2,然后网关G2将数据帧中的响应数据封装为IPv6数据包,将其发送到IPv6网络上,最终此数据包按照IPv6路由方式到达IPv6节点N。步骤608:结束。上述通信过程确保了路由的正确性,从而提高了通信质量。有益效果:本发明提供了一种基于跨层的6LoWPAN无线传感器网络通信方法,所述6LoWPAN无线传感器网络通过本发明所提供的通信方法,可保持移动过程中通信的连续性,缩短移动切换延迟,降低数据包丢失率,从而提高了服务质量,本发明可广泛应用于现代化农业、医疗监测等领域,具有广泛的应用前景。
下面结合附图和具体实施方式
对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。图1为本发明所述的全功能节点及部分功能节点结构示意图。图2为本发明所述的节点IPv6地址结构示意图。图3为本发明所述的地址分配记录表表项示意图。图4为本发明所述的全功能节点地址配置流程示意图。图5为本发明所述的部分节点地址配置流程示意图。图6为本发明所述的子网内移动切换流程示意图。图7为本发明所述的子网内通信流程示意图。图8为本发明所述的子网间移动切换流程示意图。图9为本发明所述的子网间通信流程示意图。
具体实施方式
:本发明提供了一种基于跨层的6LoWPAN无线传感器网络通信方法,所述6LoWPAN无线传感器网络通过本发明所提供的通信方法,可保持移动过程中通信的连续性,缩短移动切换延迟,降低数据包丢失率,从而提高了服务质量,本发明可广泛应用于现代化农业、医疗监测等领域,具有广泛的应用前景。图1为本发明所述的全功能节点及部分功能节点结构示意图。6LoWPAN无线传感器网络包含两类传感器节点,全功能节点I和部分功能节点2 ;所述6L0WPAN无线传感网络由一个以上子网3组成,每个子网3包括一个网关4、一个以上全功能节点1,以及一个以上部分功能节点2 ;其中网关4为连接子网3与IPv6网络中的接入路由器,网关4与全功能节点I是固定节点,具有路由转发功能,部分功能节点2为移动节点,不具有路由转发功能。一个子网3内的网关4和所有全功能节点I构建成路由骨干网,拓扑结构为树状,称为子网树5,树根节点为网关4 ;部分功能节点2通过路由骨干网与IPv6互联网进行通信;与部分功能节点2直接通信的路由骨干网中的全功能节点I称作该部分功能节点的关联节点,同一时刻,一个部分功能节点只有一个关联节点。图2为本发明所述的节点IPv6地址结构示意图。网关与传感器节点的IPv6地址由两部分组成:第一部分是子网ID,它是全局路由前缀,一个子网中网关和所有全功能节点以及从该子网获取地址的部分功能节点的子网ID都相同;第二部分是节点ID,节点ID唯一标识子网中的一个传感器节点;网关的IPv6地址预先设置且节点ID为O ;节点ID的长度由6LoWPAN传感器网络规模以及传感器节点分布密度来确定;部分功能节点由家乡地址唯一标识,在部分功能节点移动过程中家乡地址保持不变;部分功能节点的移动转交过程中无需配置转交地址,从而大幅度降低了移动转交的延迟和功耗,提高了通信质量。图3为本发明所述的地址分配记录表表项示意图。网关、全功能节点和部分功能节点在一跳范围内定期广播信标帧,网关和全功能节点广播的信标帧负载为工作信道以及在子网树的深度值;一个全功能节点最多可拥有K个子节点,所有子节点都是全功能节点,每个子节点对应一条地址分配记录,每条地址分配记录包括两个域:子节点值k和子节点分配状态,其中KkS K,子节点分配状态包括已分配和未分配两种状态。图4为本发明所述的全功能节点地址配置流程示意图。全功能节点加入6LoWPAN无线传感器网络后,扫描所有信道并接收邻居网关或者邻居全功能节点广播的信标帧,选择从深度值最小的邻居网关或者邻居全功能节点获取地址;全功能节点Y从邻居全功能节点X获取IPv6地址的过程为:步骤101:开始。步骤102:全功能节点Y向邻居全功能节点X发送地址请求消息。步骤103:邻居全功能节点X收到地址请求消息后,选择最小未分配子节点值对应的地址分配记录,向全功能节点Y返回一个地址响应消息,消息负载为对应地址分配记录的子节点值k,同时将对应地址分配记录的子节点分配状态标识为已分配状态。步骤104:全功能节点Y收到地址响应消息后,根据公式(I)获取节点ID,其中,x为全功能节点X的节点ID,y为全功能节点Y的节点ID,然后将节点ID与全功能节点X的子网ID相结合获取自己的地址。y=K.x+k (I)步骤105:全功能节点Y将邻居全功能节点X标记为自己的父节点并采用父节点的信道进行通信。步骤106:结束。子网内的所有全功能节点通过上述过程获取IPv6地址,完成路由骨干网构建。上述过程中,全功能节点从一跳范围内的邻居节点获取地址且无需地址重复检测,从而大幅度降低了地址配置功耗和延迟,实现了分布式的地址配置,同时,在地址配置过程中,自动完成了路由骨干网的构建,因此降低了路由功耗和延迟。图5为本发明所述的部分节点地址配置流程示意图。部分功能节点Z加入6LoWPAN无线传感器网络后,扫描所有的信道并接收邻居网关或者邻居全功能节点广播的信标帧,选择从深度值最小的邻居网关或者邻居全功能节点Y获取地址。部分功能节点Z从邻居全功能节点Y获取IPv6地址的过程为:步骤201:开始。步骤202:部分功能节点Z向邻居全功能节点Y发送地址请求消息。步骤203:邻居全功能节点Y收到地址请求消息后,选择最小未分配子节点值对应的记录,向部分功能节点Z返回一个地址响应消息,消息负载为对应地址分配记录的子节点值k,同时将对应地址分配记录的子节点分配状态标识为已分配状态。步骤204:部分功能节点Z收到地址响应消息后,根据公式⑴获取节点ID,其中,X为全功能节点Y的节点ID,y为部分功能节点Z的节点ID,然后将节点ID与全功能节点Y的子网ID相结合获取自己的地址。步骤205:部分功能节点Z将全功能节点Y标记为关联节点。步骤206:结束。上述过程中,部分功能节点从一跳范围内的邻居节点获取地址且无需地址重复检测,从而大幅度降低了地址配置功耗和延迟,实现了分布式的地址配置。图6为本发明所述的子网内移动切换流程示意图。全功能节点获取IPv6地址后,扫描所有信道接收邻居全功能节点的信标帧,从而获取邻居全功能节点的工作信道,以及邻居全功能节点的相对位置。当部分功能节点与IPv6节点进行通信时,数据包通过部分功能节点的关联节点所在的子网树首先到达子网的网关,然后由网关记录下部分功能节点与其关联节点的关联关系并将数据包按照IPv6路由方式路由到目的IPv6节点。如果部分功能节点Xl的关联节点为全功能节点Y1,当全功能节点Yl检测到部分功能Xi即将离开自己的通信范围时,全功能节点Yi选择与部分功能节点Xi距离最近的全功能节点Y2作为部分功能节点Xl的下一个关联节点。如果全功能节点Yl与全功能节点Y2在同一个子网内且子网的网关为G,那么全功能节点Yi进行如下移动切换操作:步骤301:开始。步骤302:全功能节点Yl分别向部分功能节点Xl和网关G发送切换消息,发送给网关G的切换消息负载内容为部分功能节点Xl的IPv6地址以及全功能节点Y2的IPv6地址,发送给部分功能节点Xl的消息负载内容为节点Y2的工作信道。步骤303:网关G收到切换消息后,将部分功能节点Xl的关联节点更新为全功能节点Y2,并向全功能节点Yl返回切换确认消息。步骤304:部分功能节点X收到全功能节点Yl的切换消息后,直接采用全功能节点Y2的工作信道实现与全功能节点Y2的链路切换,并将全功能节点Y2作为新的关联节点。步骤305:全功能节点Yl收到切换确认消息后,将目的地址为部分功能节点Xl的消息路由至全功能节点Y2,然后全功能节点Y2将数据消息转发给部分功能节点XI。步骤306:结束。
上述过程中,网络层移动切换与链路层移动切换同时进行,因此降低了移动切换延迟,从而降低了丢包率,在网络层移动切换过程中,部分功能节点在移动过程中无需配置转交地址,也无需参与移动切换过程,因此降低了移动切换延迟,在链路层切换过程中,部分功能节点无需扫描所有信道,通过获取的信道信息直接进行二层切换,因此缩短了切换延迟,降低了丢包率。图7为本发明所述的子网内通信流程示意图。部分功能节点Xl与IPv6节点通信过程中,如果部分功能节点Xl的关联节点从全功能节点Yl变为全功能节点Y2,那么通信过程为:步骤401:开始。步骤402:目的地址为部分功能节点Xl的数据包首先到达与目的部分功能节点Xl所在子网连接的网关G。步骤403:网关G用MAC头部和Mesh头部对数据包进行封装,其中Mesh头部中的目的地址设置为部分功能节点Xl的当前关联节点Yl的节点ID,最终地址设置为部分功能节点Xl的节点ID,然后通过子网树将数据帧路由到当前关联节点Y1。步骤404:关联节点Yl将数据帧转发到部分功能节点XI。步骤405:部分功能节点Xl的关联节点变为关联节点Y2,部分功能节点Xl将响应数据封装为响应数据帧,其中Mesh头部中的目的地址设置为网关G的节点ID,最终地址设置为0,然后将数据帧发送给当前关联节点Y2。步骤406:关联节点Y2根据子网树将数据帧路由到网关G,网关G将数据帧中的响应信息封装为IPv6数据包,将IPv6数据包发送到IPv6网络上,最终该数据包按照IPv6路由方式到达目的IPv6节点。步骤407:结束。上述通信过程确保了路由的正确性,从而提高了通信质量。图8为本发明所述的子网间移动切换流程示意图。如果部分功能节点Xl的关联节点为全功能节点Yl,当全功能节点Yl检测到部分功能节点Xl即将离开自己的通信范围时,全功能节点Yl选择与部分功能节点Xl距离最近的全功能节点Y2作为部分功能节点Xl的下一个关联节点。如果全功能节点Yl与全功能节点Y2属于不同的子网,全功能节点Yl所在子网的网关为G1,全功能节点Y2所在子网的网关为G2,那么全功能节点Yl进行如下移动切换操作:步骤501:开始。步骤502:全功能节点Yl分别向部分功能节点Xl和全功能节点Y2发送切换消息,发送给全功能节点Y2的消息负载内容为部分功能节点Xl的IPv6地址,发送给部分功能节点Xl的消息负载内容为全功能节点Y2的工作信道。步骤503:部分功能节点Xl收到全功能节点Yl的切换消息后,直接采用全功能节点Y2的工作信道实现与全功能节点Y2的链路切换,并将全功能节点Y2作为新的关联节点。步骤504:全功能节点Y2收到切换消息后,通过全功能节点Yl的IPv6地址判定全功能节点Yl属于不同的子网,全功能节点Y2向所在子网的网关G2发送切换消息,消息负载为部分功能节点Xl的地址。步骤505:网关G2收到切换消息后,建立部分功能节点Xl与全功能节点Y2的关联关系,同时向部分功能节点Xl获取地址的子网的网关HG发送切换消息。步骤506:网关HG收到切换消息后,将与部分功能节点Xl关联的网关从网关Gl更新为网关G2,并向网关G2返回切换确认消息,网关G2收到切换确认消息后,向全功能节点Y2返回切换确认消息,全功能节点Y2收到切换确认消息后,将切换确认消息转发给全功能节点Y1。步骤507:全功能节点Yl收到切换确认消息后,将目的地址为部分功能节点Xl的消息路由至全功能节点Y2,然后全功能节点Y2再将数据消息转发给部分功能节点XI。步骤508:结束。上述过程中,网络层移动切换与链路层移动切换同时进行,因此降低了移动切换延迟,从而降低了丢包率,在网络层移动切换过程中,部分功能节点在移动过程中无需配置转交地址,也无需参与移动切换过程,因此降低了移动切换延迟,在链路层切换过程中,部分功能节点无需扫描所有信道,通过获取的信道信息直接进行二层切换,因此缩短了切换延迟,降低了丢包率。图9为本发明所述的子网间通信流程示意图。在移动切换过程中,部分功能节点Xl与IPv6节点N的通信过程为:步骤601:开始。步骤602:目的地址为部分功能节点Xl的数据包首先到达部分功能节点Xl获取地址所在子网的网关HG。步骤603:网关HG根据部分功能节点Xl的关联关系,将数据包路由到部分功能节点Xl所在子网的网关Gl。步骤604:网关Gl用MAC头部和Mesh头部对数据包进行封装,其中Mesh头部中的目的地址设置为部分功能节点Xl的关联节点Yl的节点ID,最终地址设置为部分功能节点Xl的IPv6地址的节点ID,然后通过子网树将数据帧路由到关联节点Yl。步骤605:关联节点Yl将数据发送到部分功能节点XI。步骤606:部分功能节点Xl的关联节点变为关联节点Y2,部分功能节点Xl将响应信息封装为响应数据帧,其中Mesh头部中的目的地址设置为网关G2的节点ID,最终地址设置为0,然后将数据帧发送给当前的关联节点Y2。步骤607:关联节点Y2根据子网树将数据帧路由到网关G2,然后网关G2将数据帧中的响应数据封装为IPv6数据包,将其发送到IPv6网络上,最终此数据包按照IPv6路由方式到达IPv6节点N。步骤608:结束。上述通信过程确保了路由的正确性,从而提高了通信质量。综上所述,本发明提供了一种基于跨层的6LoWPAN无线传感器网络通信方法,所述6LoWPAN无线传感器网络通过本发明所提供的通信方法,可保持移动过程中通信的连续性,缩短移动切换延迟,降低数据包丢失率,从而提高了服务质量,本发明可广泛应用于现代化农业、医疗监测等领域,具有广泛的应用前景。本发明提供了一种基于跨层的6LoWPAN无线传感器网络通信方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
权利要求
1.一种基于跨层的6L0WPAN无线传感器网络通信方法,其特征在于,6L0WPAN无线传感器网络包含两类传感器节点,全功能节点和部分功能节点;所述6LoWPAN无线传感网络由一个以上子网组成,每个子网包括一个网关、一个以上全功能节点,以及一个以上部分功能节点;其中网关为连接子网与IPv6网络中的接入路由器,网关与全功能节点是固定节点,具有路由转发功能,部分功能节点为移动节点,不具有路由转发功能; 一个子网内的网关和所有全功能节点构建成路由骨干网,拓扑结构为树状,称为子网树,树根节点为网关;部分功能节点通过路由骨干网与IPv6互联网进行通信;与部分功能节点直接通信的路由骨干网中的全功能节点称作该部分功能节点的关联节点,同一时刻,一个部分功能节点只有一个关联节点;部分功能节点由家乡地址唯一标识,在部分功能节点移动过程中家乡地址保持不变;网关与传感器节点的IPv6地址由两部分组成:第一部分是子网ID,它是全局路由前缀,一个子网中网关和所有全功能节点以及从该子网获取地址的部分功能节点的子网ID都相同;第二部分是节点ID,节点ID唯一标识子网中的一个传感器节点;网关的IPv6地址预先设置且节点ID为O ; 网关、全功能节点和部分功能节点在一跳范围内定期广播信标帧,网关和全功能节点广播的信标帧负载为工作信道以及在子网树的深度值; 一个全功能节点最多可拥有K个子节点,所有子节点都是全功能节点,每个子节点对应一条地址分配记录,每条地址分配记录包括两个域:子节点值k和子节点分配状态,其中K,子节点分配状态包括已分配和未分配两种状态。
2.根据权利要求1所述的基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,全功能节点加入6LoWPAN无线传感器网络后,扫描所有信道并接收邻居网关或者邻居全功能节点广播的信标帧,选择从深度值最小的邻居网关或者邻居全功能节点获取地址;全功能节点Y从邻居全功能节点X获取IPv6地址的过程为: 步骤101:开始; 步骤102:全功能节点Y向邻居全功能节点X发送地址请求消息; 步骤103:邻居全功能节点X收到地址请求消息后,选择最小未分配子节点值对应的地址分配记录,向全功能节点Y返回一个地址响应消息,消息负载为对应地址分配记录的子节点值k,同时将对应地址分配记录的子节点分配状态标识为已分配状态; 步骤104:全功能节点Y收到地址响应消息后,根据公式(I)获取节点ID,其中,X为全功能节点X的节点ID,y为全功能节点Y的节点ID,然后将节点ID与全功能节点X的子网ID相结合获取自己的地址;y=K.x+k (1) 步骤105:全功能节点Y将邻居全功能节点X标记为自己的父节点并采用父节点的信道进行通信; 步骤106:结束; 子网内的所有全功能节点通过上述过程获取IPv6地址,完成路由骨干网构建。
3.根据权利要求2所述的基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,部分功能节点Z加入6LoWPAN无线传感器网络后,扫描所有的信道并接收邻居网关或者邻居全功能节点广播的信标帧,选择从深度值最小的邻居网关或者邻居全功能节点Y获取地址;部分功能节点Z从邻居全功能节点Y获取IPv6地址的过程为: 步骤201:开始; 步骤202:部分功能节点Z向邻居全功能节点Y发送地址请求消息; 步骤203:邻居全功能节点Y收到地址请求消息后,选择最小未分配子节点值对应的记录,向部分功能节点Z返回一个地址响应消息,消息负载为对应地址分配记录的子节点值k,同时将对应地址分配记录的子节点分配状态标识为已分配状态; 步骤204:部分功能节点Z收到地址响应消息后,根据公式(I)获取节点ID,其中,X为全功能节点Y的节点ID,y为部分功能节点Z的节点ID,然后将节点ID与全功能节点Y的子网ID相结合获取自己的地址; 步骤205:部分功能节点Z将全功能节点Y标记为关联节点; 步骤206:结束。
4.根据权利要求2所述的基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,全功能节点获取IPv6地址后,扫描所有信道接收邻居全功能节点的信标帧,从而获取邻居全功能节点的工作信道,以及邻居全功能节点的相对位置。
5.根据权利要求3所述的基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,当部分功能节点与IPv6节点进行通信时,数据包通过部分功能节点的关联节点所在的子网树首先到达子网的网关,然后由网关记录下部分功能节点与其关联节点的关联关系并将数据包按照IPv6路由方式路由到目的IPv6节点。
6.根据权利要求1所述的基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,如果部分功能节点Xl的关联节点为全功能节点Yl,当全功能节点Yl检测到部分功能Xl即将离开自己的通信范围时,全功能节点Yi选择与部分功能节点Xi距离最近的全功能节点Y2作为部分功能节点Xl的下一个关联节点; 如果全功能节点Yl与全功能节点Y2在同一个子网内且子网的网关为G,那么全功能节点Yl进行如下移动切换操作: 步骤301:开始; 步骤302:全功能节点Yl分别向部分功能节点Xl和网关G发送切换消息,发送给网关G的切换消息负载内容为部分功能节点Xl的IPv6地址以及全功能节点Y2的IPv6地址,发送给部分功能节点Xl的消息负载内容为节点Y2的工作信道; 步骤303:网关G收到切换消息后,将部分功能节点Xl的关联节点更新为全功能节点Y2,并向全功能节点Yl返回切换确认消息; 步骤304:部分功能节点X收到全功能节点Yl的切换消息后,直接采用全功能节点Y2的工作信道实现与全功能节点Y2的链路切换,并将全功能节点Y2作为新的关联节点;步骤305:全功能节点Yl收到切换确认消息后,将目的地址为部分功能节点Xl的消息路由至全功能节点Y2,然后全功能节点Y2将数据消息转发给部分功能节点Xl ; 步骤306:结束。
7.根据权利要求6所述的基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,部分功能节点Xl与IPv6节点通信过程中,如果部分功能节点Xl的关联节点从全功能节点Yl变为全功能节点Y2,那么通信过程为: 步骤401:开始;步骤402:目的地址为部分功能节点Xl的数据包首先到达与目的部分功能节点Xl所在子网连接的网关G ; 步骤403:网关G用MAC头部和Mesh头部对数据包进行封装,其中Mesh头部中的目的地址设置为部分功能节点Xl的当前关联节点Yl的节点ID,最终地址设置为部分功能节点Xl的节点ID,然后通过子网树将数据帧路由到当前关联节点Yl ; 步骤404:关联节点Yl将数据帧转发到部分功能节点Xl ; 步骤405:部分功能节点Xl的关联节点变为关联节点Y2,部分功能节点Xl将响应数据封装为响应数据帧,其中Mesh头部中的目的地址设置为网关G的节点ID,最终地址设置为.0,然后将数据帧发送给当前关联节点Y2 ; 步骤406:关联节点Y2根据子网树将数据帧路由到网关G,网关G将数据帧中的响应信息封装为IPv6数据包,将IPv6数据包发送到IPv6网络上,最终该数据包按照IPv6路由方式到达目的IPv6节点; 步骤407:结束。
8.根据权利要求1所述的基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,如果部分功能节点Xl的关联节点为全功能节点Y1,当全功能节点Yl检测到部分功能节点Xl即将离开自己的通信范围时,全功能节点Yl选择与部分功能节点Xl距离最近的全功能节点Y2作为部分功能节点Xl的下一个关联节点; 如果全功能节点Yl与全功能节点Y2属于不同的子网,全功能节点Yl所在子网的网关为G1,全功能节点Y2所在子网的网关为G2,那么全功能节点Yl进行如下移动切换操作:步骤501:开始; 步骤502:全功能节点Yl分别向部分功能节点Xl和全功能节点Y2发送切换消息,发送给全功能节点Y2的消息负载内容为部分功能节点Xl的IPv6地址,发送给部分功能节点Xl的消息负载内容为全功能节点Y2的工作信道; 步骤503:部分功能节点Xl收到全功能节点Yl的切换消息后,直接采用全功能节点Y2的工作信道实现与全功能节点Y2的链路切换,并将全功能节点Y2作为新的关联节点;步骤504:全功能节点Y2收到切换消息后,通过全功能节点Yl的IPv6地址判定全功能节点Yl属于不同的子网,全功能节点Y2向所在子网的网关G2发送切换消息,消息负载为部分功能节点Xl的地址; 步骤505:网关G2收到切换消息后,建立部分功能节点Xl与全功能节点Y2的关联关系,同时向部分功能节点Xl获取地址的子网的网关HG发送切换消息; 步骤506:网关HG收到切换消息后,将与部分功能节点Xl关联的网关从网关Gl更新为网关G2,并向网关G2返回切换确认消息,网关G2收到切换确认消息后,向全功能节点Y2返回切换确认消息,全功能节点Y2收到切换确认消息后,将切换确认消息转发给全功能节点Yl ; 步骤507:全功能节点Yl收到切换确认消息后,将目的地址为部分功能节点Xl的消息路由至全功能节点Y2,然后全功能节点Y2再将数据消息转发给部分功能节点Xl ; 步骤508:结束。
9.根据权利要求8所述的基于跨层的6LoWPAN无线传感器网络通信方法,其特征在于,在移动切换过程中,部分功能节点Xl与IPv6节点N的通信过程为:步骤601:开始; 步骤602:目的地址为部分功能节点Xl的数据包首先到达部分功能节点Xl获取地址所在子网的网关HG ; 步骤603:网关HG根据部分功能节点Xl的关联关系,将数据包路由到部分功能节点Xl所在子网的网关Gl ; 步骤604:网关Gl用MAC头部和Mesh头部对数据包进行封装,其中Mesh头部中的目的地址设置为部分功能节点Xl的关联节点Yl的节点ID,最终地址设置为部分功能节点Xl的IPv6地址的节点ID,然后通过子网树将数据帧路由到关联节点Yl ; 步骤605:关联节点Yl将数据发送到部分功能节点Xl ; 步骤606:部分功能节点Xl的关联节点变为关联节点Y2,部分功能节点Xl将响应信息封装为响应数据帧,其中Mesh头部中的目的地址设置为网关G2的节点ID,最终地址设置为.0,然后将数据帧发送给当前的关联节点Y2 ; 步骤607:关联节点Y2根据子网树将数据帧路由到网关G2,然后网关G2将数据帧中的响应数据封装为IPv6数据包,将其发送到IPv6网络上,最终此数据包按照IPv6路由方式到达IPv6节点N ; 步骤608: 束。
全文摘要
本发明公开了一种基于跨层的6LoWPAN无线传感器网络通信方法,6LoWPAN无线传感器网络包含两类传感器节点,全功能节点和部分功能节点;所述6LoWPAN无线传感网络由一个以上子网组成,每个子网包括一个网关、一个以上全功能节点,以及一个以上部分功能节点;其中网关为连接子网与IPv6网络中的接入路由器,网关与全功能节点是固定节点,具有路由转发功能,部分功能节点为移动节点,不具有路由转发功能。通过本发明所提供的通信方法,可保持移动过程中通信的连续性,缩短移动切换延迟,降低数据包丢失率,从而提高了服务质量,本发明可广泛应用于现代化农业、医疗监测等领域,具有广泛的应用前景。
文档编号H04W28/06GK103152772SQ20131011758
公开日2013年6月12日 申请日期2013年4月7日 优先权日2013年4月7日
发明者王晓喃 申请人:常熟理工学院