CN101420463A - 一种无线传感器网络地址分配机制 - Google Patents

一种无线传感器网络地址分配机制 Download PDF

Info

Publication number
CN101420463A
CN101420463A CNA2007100097204A CN200710009720A CN101420463A CN 101420463 A CN101420463 A CN 101420463A CN A2007100097204 A CNA2007100097204 A CN A2007100097204A CN 200710009720 A CN200710009720 A CN 200710009720A CN 101420463 A CN101420463 A CN 101420463A
Authority
CN
China
Prior art keywords
node
network
branch
network topology
topology table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007100097204A
Other languages
English (en)
Other versions
CN101420463B (zh
Inventor
石江宏
周劼男
吴晓芳
谢丽惠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen University
Original Assignee
Xiamen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen University filed Critical Xiamen University
Priority to CN2007100097204A priority Critical patent/CN101420463B/zh
Publication of CN101420463A publication Critical patent/CN101420463A/zh
Application granted granted Critical
Publication of CN101420463B publication Critical patent/CN101420463B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种无线传感器网络地址分配机制,首先由普通节点开始向上进行拓扑信息收集,建立网络拓扑表,并向上一级级传递直到根节点;根节点收到所有子节点的网络拓扑表后,提取全网拓扑信息、计算预留地址段、分配LogID及完备网络拓扑表,将分配好的LogID开始一级级向下通知各个子节点,发布已建立的网络拓扑表;由于本发明的LogID号中包含了网络拓扑信息,可用于路由的计算,这将大大降低路由建立的开销,且留有足够的预留地址,可保证随机入网和退网,及节点失效时的网络自愈与修复时,不会与LogID的分配规则相矛盾;同时,每个节点都保留邻居节点和曾通信过节点的信息,可较快获得目的节点的LogID,再进行快速路由的计算,从而减少通信路径,进一步降低系统功耗。

Description

一种无线传感器网络地址分配机制
技术领域
本发明涉及一种无线传感器网络地址分配机制。
背景技术
无线传感器网络(Wireless Sensor Network,WSN)是由部署在检测区域内大量廉价的集成有传感器、嵌入式处理器和通信模块的微型传感器节点,通过无线通信的方式形成的一个多跳的自组织的网络系统。它借助于传感器节点中内置的形式多样的传感器,测量所在周边环境中的热、红外线、声纳、雷达和地震波信号,从而探测包括温度、湿度、噪声、光强度、压力、土壤成分、移动物理的大小、速度和方向等众多人类感兴趣的物质现象。
典型的传感器网络结构通常由传感器节点(sensor node)、数据汇聚节点(sink node)、中继网络和远程管理节点组成。大量传感器节点随机部署在监测区域(sensor field)内部或附近,能够通过自组织方式构成网络。传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到数据汇聚节点,最后通过互联网或卫星到达管理节点。用户通过管理节点对传感器网络进行配置和管理,发布监测任务以及收集监测数据。图1给出了习有传感器网络体系结构一般形式的描述。
如图2所示,习有的传感器网络协议栈包括物理层、数据链路层、网络层、传输层和应用层,与互联网协议栈的五层协议相对应。另外,协议栈还包括能量管理平台、移动管理平台和任务管理平台。这些管理平台使得传感器节点能够按照能源高效的方式协同工作,在节点移动的传感器网络中转发数据,并支持多任务和资源共享。
IEEE802.15.4中设计了一种基于分层簇树拓扑结构的无线传感器网络,这种拓扑结构便于扩展且路由相对简单。同时采用簇树结构能够简化与Internet的连接,只需在根节点中加入一个网关即可。IEEE802.15.4协议中的基于分层簇树拓扑结构的地址分配机制和路由协议简要描述如下;
1、网络地址的划分
IEEE802.15.4协议中的基于分层簇树拓扑结构的地址分配协议规定,每一个节点分配16bits网络地址,其中8bit称为簇ID(clusteridentification,CID),另外8bit称为节点ID(node identification,,NID)。 整个网络结构如图3所示。CID的数值从0到255,0表示整个网络的根节点,也称为指派设备(Designated Device,DD),CID为255就表示广播信息用于所有簇,其他数值用于区分不同簇。NID的数值从0到255,0表示簇的簇头(CH),255表示广播信息用于簇内的所有节点,其他数值用于区分同一簇下的不同节点。
如图3所示,根节点DD的CID和NID就被定义为0。作为这个多簇网络的根节点DD的计算能力(如存储容量和处理器速度)通常强于一般的网络节点。图中的簇树网络是一种多跳网络,在节点加入网络时,关联过程中与之通信的网络节点定义为节点的父节点;加入节点本身成为父节点的子节点。簇0中的节点3是节点10和节点22的父节点;节点10和节点22是节点3的子节点。
2、组网过程中的地址分配
分层簇树拓扑结构网络中的所有节点定期发送信标,信标中包含节点的网络地址,包括它的簇ID和节点ID等。在入网前,新节点周期性地侦听这些信标,一旦接收到一个信标,新节点就发送请求连接(CONNECTION REQUEST)控制消息申请入网。如果收到了来自多个节点的信标,新节点就选择最早发出信标的的节点做出响应。此时新节点就成为候选节点,预期的父节点收到请求连接控制消息后会向其所在簇的簇头发送请求节点ID(NODE ID REQUEST)消息,该消息可以通过簇中的中间节点路由到簇头。
如果簇头能够接受该候选节点入网,它将回送表示同意的节点ID响应(NODE ID RESPONSE)消息并被转换为连接响应(CONNECTION RESPONSE)消息后中继到候选节点,给候选节点分配一个该簇中的NID。如果簇头不能接受该候选节点入网,它会发送一个CID请求(CLUSTER ID REQUEST)消息给根节点DD,请求建立一个新簇。根节点DD会发送一个CID响应(CLUSTER IDRESPONSE)消息响应请求,为候选节点分配一个新的CID和一个NID号为0。接收到该响应消息后,簇头会向候选节点发送NID响应(NODE ID RESPONSE)消息。得到确认后,候选节点就正式成为网络成员开始发送信标。
3、路由协议
每个网络节点都保存一张路由表,开始时表中仅保存邻居节点的CID和NID及该节点能够侦听到的其他节点的CID和NID,父节点的相关信息也存储在该路由表中。根节点DD保存整个网络节点的信息。
根节点DD定期向簇树中的所有叶节点发送请求链接状态(LINKSTATE REQUEST)消息。接收到该消息后,叶节点响应一个链接状态响应(LINK STATE RESPONSE)消息,其中包含自身的CID和NID以及所有它能够侦听到且CID值与自身不同的节点的CID。该消息被发往簇头的过程中,中继节点会“窃听”消息内容,以确定节点覆盖范围之外的下游节点和簇,这些下游节点和簇被加入到它们的路由表中,并把提供链接状态响应消息的节点列为路由中的第一个中继节点。然后,中继节点在消息的节点列表中添加自身信息,再继续向上游簇头的方向转发该消息。簇头将链接状态响应消息中的信息添加到自身的路由表中,进行融合处理,产生一个新的链接状态响应消息再向上游方向转发。在接收到所有链接状态响应消息后,根节点DD将对网络结构有所了解。
在路由选择过程中,如果目标节点的CID和与中继节点的CID不同,中继节点就搜索自己的路由表,查找相应的CID。如果找到了含有该CID的路由表项,它就将该消息路由到表中该CID对应的中继节点;如果找不到,它就将该消息路由到自己的父节点。
如果目标节点的CID和中继节点的CID相同,中继节点就搜索自己的路由表,查表CID和NID都匹配的项,如果发现目标节点是自己的邻居节点,它就直接把消息发送给该邻居节点。如果目标节点是在“窃听”链路状态响应消息时加入路由表的,它就将该消息转发给向它发送链路状态消息距离最近(单跳)的下游节点;如果在路由表中找不到该目标节点,它就将消息转发给自己的父节点(上游),由其父节点继续寻找路由。
上述802.15.4协议的一个重要特征就是网络的地址分配是边组网边分配逻辑地址,网络为树状结构。树状结构的网络有一个共同的弱点,就是网络的健壮性比较差,一旦中继节点出现故障,会导致枝叶节点进行重构,进而导致网络拓扑发生变化,消耗了节点能量。针对树状结构的网络,一个恰当的地址分配方式和路由机制将会加快网络组网和重构,节约网络节点的能量,增加网络的健壮性。
发明内容
本发明提出了一种简单高效、适合于无线传感器网络节点节能,并且可以实现节点地址与网络拓扑信息关联的地址分配机制。
一种无线传感器网络地址的分配机制,当一个树状网络组建好后,首先由普通节点开始向上进行节点计数及拓扑信息收集,建立网络拓扑表;无论是普通节点还是协调器节点,在自身网络拓扑表建立完成后,即将其发送给自己的父节点,直到根节点;根节点收到所有子节点的网络拓扑表后,根据从网络拓扑表中所获得的信息,完成全网拓扑信息的提取、预留地址段的计算、LogID的分配以及完备网络拓扑表的任务,根节点分配好地址后,将分配好的LogID开始一级级向下通知各个子节点,发布已建立的网络拓扑表。
所述的网络拓扑表建立和节点计数流程为:
在申请组网的过程中,申请入网的节点可以通过父节点的时标帧得知自身的级数Level,而节点的物理地址PhyID在布网过程中已经预先设定好了,当树状网络组好之后,处于支路末梢的普通节点首先发起节点计数流程;
A、普通节点对支路节点计数器进行初始化,设支路节点数的初值为1,即Branch_Node[branch]=1,并将自身节点的物理地址PhyID、级数Level及支路节点数Branch_Node[branch]保存到自己的网络拓扑表中,发送给父节点;
B、非支路末梢的节点为协调器节点,它等待收集自己的所有子节点网络拓扑表后,首先建立自己的网络拓扑表,将收集到的拓扑表中的所有支路节点数Branch_Node[branch]计数值累加,再加1,把最终计数值保存到自己的网络拓扑表中;与此同时,协调器节点将所有子节点的网络拓扑表编上分支号并加入到自身的网络拓扑表中,其他未知的值依然保持初始值。
所述的根节点全网拓扑信息的提取、预留地址段的计算、LogID的分配以及完备网络拓扑表的流程如下:
步骤1:根节点完善网络拓扑表中的分支号与节点数
根节点根据收到的来自子节点的网络拓扑表,可以计算出全网节点数Branch_Node[0];根节点收到的各个网络拓扑表的第一项信息就是1级子节点的信息,且1级子节点的个数Child_Node[0]等于根节点收到网络拓扑表的个数;根节点为第1级节点分配分支号Branch_No=[1,2,3,......,Child_Node[0]],并将分配好的分支号Branch_No填入各个网络拓扑表中的相应位置;
步骤2、提取网络拓扑信息
根节点在收到所有1级子节点的网络拓扑表后,即可从网络拓扑表中获得完整的网络拓扑信息;
步骤3、根节点完成预留地址段的计算、逻辑地址LogID的分配以及完备网络拓扑表的工作
根节点将根据所了解的网络中各节点的级数Level、各一级节点的分支号k(k=0,1,2,......,Child_Node[0])及其带领的支路节点总数Branch_Node[k]、子节点在一级节点拓扑表下的序列号i(i=0,1,2,......,Branch_Node[k])的信息及初始预留地址倍数Pre_Multiple来计算全网各节点的逻辑地址LogID及节点的预留地址段。
根节点对全网所有节点的逻辑地址分配算法表示为:
LogID = Pre _ Multiple × ( i + Σ j = 1 k - 1 Branch _ Nod e [ j ] ) + 1
Pre_Multiple为预留地址倍数,决定节点可接入的最大子节点数。
最终,根节点将全网所有网络拓扑表中的LogID与初始Pre_Multiple补充完整。
所述的各协调器节点收到传给自己的网络拓扑表后,需要依次完成如下任务:
A、从表中第一项中获取自身的地址信息LogID;
B、计算自身的预留地址段
(LogID)~(Pre_Last_ID)=(LogID)~(LogID+Pre_Multiple×Branch_Node-1);
C、提取信息构建ART表(Adaptive Robust Tree)和关联节点表(含父节点信息、子孙节点信息、邻居节点信息及感兴趣节点(近期通信过的节点)信息);
D、根据下一级子节点个数n将网络拓扑表拆成以下级子节点为第一项n个子节点的子节点网络拓扑表,并按分支号的顺序发给对应的下级子节点;
对于支路末梢的普通节点则只需提取自身的网络地址LogID、计算节点的预留地址段及提取关联节点表。
本发明的一种无线传感器网络地址的分配机制充分利用了网络的树状拓扑信息,即节点的逻辑地址LogID中包含网络拓扑信息,根据这个网络拓扑信息就能计算出路由,这大大降低了路由建立的开销,另外,在地址分配过程中留有足够的预留地址,这保证了节点在随机入网和随机退网、节点失效时的网络自愈与修复机制等不会与LogID的分配规则相矛盾。
附图说明
图1是习有的无线传感器网络体系结构示意图;
图2是习有的无线传感器网络协议栈;
图3是习有的簇树网络结构示意图;
图4是本发明协调器节点(左)与普通节点收到网络拓扑表工作流程图;
图5是本发明节点间通信中的路由建立示意图;
图6是本发明节点间通信中的快速路由建立示意图;
图7为本发明中失效支路原父节点及其上级节点修复流程示意图。
具体实施方式
本实施例涉及的网络采用树状拓扑结构,全网仅有一个中心节点作为根节点。网络最大容量256个节点,对网络级数和每级最大节点个数不做限制,根节点设为0级,其它的每经过一个树枝加一级。该网络中所有节点都是传感器节点,向全网唯一的根节点发送采集到的数据;节点间为双向链路;各节点的初始能源值相等,且在网络生命周期初期,各节点都有足够的能量与根节点或协调器节点通信;每个节点均采用全向天线。
全网分三类节点:根节点、协调器节点、普通节点。
根节点:负责网络初始化的发起工作,是组网命令的发起者,一般承担网络拓扑服务器、网关、网管和应用层接口服务工作。
协调器节点:树状拓扑的非末梢节点都称为协调器节点,承担地址分配、数据中继等工作。
普通节点:树状拓扑的末梢节点都称为普通节点,根据实际需要可转换为协调器节点。
本发明采用先组网后地址分配的机制:当一个树状网络组建好后,首先由普通节点开始向上进行节点计数及拓扑信息收集,再由根节点开始一级级向下分配地址,发布已建立的网络拓扑表。
一、传感器网络的网络拓扑表建立流程和节点计数流程
在申请组网的过程中,申请入网的节点可以通过父节点的时标帧得知自身的级数Level,而节点的物理地址PhyID在布网过程中已经预先设定好了。
当树状网络组好之后,处于支路末梢的普通节点首先发起节点计数流程。
A、普通节点对支路节点计数器进行初始化,设支路节点数的初值为1,即Branch_Node[branch]=1,并将自身节点的物理地址PhyID、级数Level及支路节点数Branch_Node[branch]保存到自己的网络拓扑表中,发送给父节点;
B、非支路末梢的节点为协调器节点,它等待收集自己的所有子节点网络拓扑表后,首先建立自己的网络拓扑表,将收集到的拓扑表中的所有支路节点数Branch_Node[branch]计数值累加,再加1,把最终计数值保存到自己的网络拓扑表中;与此同时,协调器节点将所有子节点的网络拓扑表编上分支号并加入到自身的网络拓扑表中,其他未知的值依然保持初始值,例如:
 
Branch_No. Level PhyID LogID Pre_Multiple BBranch_Node[branch]
2 310 3
 
1 3 405 1
2 3 407 1
其中LogID项需要等待各支路信息全部汇总到根节点后由根节点统一分配,Pre_Multiple为预留地址倍数,决定节点可接入的最大子节点数。
C、无论是普通节点还是协调器节点,在自身网络拓扑表建立完成后,即将其发送给自己的父节点,直到根节点。
二、根节点分配地址机制
根节点收到所有子节点的网络拓扑表后,根据从网络拓扑表中所获得的信息,完成全网拓扑信息的提取、预留地址段的计算、LogID的分配以及完备网络拓扑表的任务。
步骤1:根节点完善网络拓扑表中的分支号与节点数
根节点根据收到的来自子节点的网络拓扑表,可以计算出全网节点数Branch_Node[0]。根节点收到的各个网络拓扑表的第一项信息就是1级子节点的信息,且1级子节点的个数Child_Node[0]等于根节点收到网络拓扑表的个数。根节点为第1级节点分配分支号Branch_No=[1,2,3,......,Child_Node[0]],并将分配好的分支号Branch_No填入各个网络拓扑表中的相应位置。这样,所有网络拓扑表中的分支号和支路节点数都已完善;
步骤2、提取网络拓扑信息
根节点在收到所有1级子节点的网络拓扑表后,即可从网络拓扑表中获得完整的网络拓扑信息。因为网络拓扑表的构建时,进行一级级地嵌套,因此在网络拓扑表中,级数相同的节点之间的节点信息即为前一个节点的所有子孙节点信息。
根节点将进行以下步骤的操作:
假设根节点收到来自自己的子节点PhyID=101、102、103号节点,这三个节点为1级节点;
以PhyID=101号节点的网络拓扑表为例(见下表),根节点把PhyID=101号节点所带的支路编号为1,然后从该网络拓扑表中获取其子孙节点信息;
其中,PhyID=104号节点,其级数为2,分支号为1,从而可知PhyID=104号节点在全网中为1-1支路;
PhyID=203号节点,其级数为3,分支号为1,从而可知PhyID=203号节点在全网中为1-1-1支路;
PhyID=204号节点,其级数为3,分支号为2,从而可知PhyID=204号节点在全网中为1-1-2支路;
以此类推。按照这种网络拓扑表中的嵌套方式,根节点可以直接获取树状拓扑信息。
 
Branch_No. Level PhyID LogID Pre_Multiple Branch_Node[branch]
1 1 101 10
1 2 104 4
1 3 203 1
2 3 204 1
3 3 301 1
2 2 201 2
1 3 302 1
3 2 202 3
1 3 303 1
2 3 304 1
步骤3、根节点完成预留地址段的计算、逻辑地址LogID的分配以及完备网络拓扑表的工作
在根节点获取网络拓扑信息之后,它对整个网络拓扑就有了整体的了解,包括网络中各节点的级数Level、各一级节点的分支号k(k=0,1,2,......,Child_Node[0])及其带领的支路节点总数Branch_Node[k]、子节点在一级节点拓扑表下的序列号i(i=0,1,2,......,Branch_Node[k])等。根节点将根据如上信息及初始预留地址倍数Pre_Multiple来计算全网各节点的逻辑地址LogID及节点的预留地址段。
根节点对全网所有节点的逻辑地址分配算法表示为:
LogID = Pre _ Multiple × ( i + Σ j = 1 k - 1 Branch _ Nod e [ j ] ) + 1
Pre_Multiple为预留地址倍数,决定节点可接入的最大子节点数。
在组网过程中,每个节点都被分配了一块连续的地址,且地址段的长度大于支路上的实际节点个数,即预留了一段地址段。这就允许了后面再添加新的树枝,同时也可以更有效地修复树。
最终,根节点将全网所有网络拓扑表中的LogID与初始Pre_Multiple补充完整。根节点分配好地址后,将分配好的LogID向下通知各个子节点。即根节点向下一级级传送网络拓扑表,
三、节点获取地址段信息
各协调器节点收到传给自己的网络拓扑表后,需要依次完成如下任务:
A、从表中第一项中获取自身的地址信息LogID;
B、计算自身的预留地址段
(LogID)~(Pre_Last_ID)=(LogID)~(LogID+Pre_Multiple×Branch_Node-1);
C、提取信息构建ART表(Adaptive RobustTree)和关联节点表(含父节点信息、子孙节点信息、邻居节点信息及感兴趣节点(近期通信过的节点)信息);
D、根据下一级子节点个数n将网络拓扑表拆成以下级子节点为第一项n个子节点的子节点网络拓扑表,并按分支号的顺序发给对应的下级子节点,这个过程可以视为网络拓扑表建立过程的逆过程。
协调器节点和普通节点上的节点获取地址段过程如图4所示。
对于支路末梢的普通节点则只需提取自身的网络地址LogID、计算节点的预留地址段及提取关联节点表。
四、路由选择与建立机制
因为节点的网络地址带有拓扑信息,因此大大简化了网络路由机制,而且路由过程充分利用了网格型树状网络结构来建立快速路由,从而减短路径,进一步降低能耗。
1、逻辑地址LogID查找
节点之间进行通信时,源节点在路由建立之前,需要通过目的节点的物理地址PhyID来查找对应的逻辑地址LogID,规则为:在没有找到对应目的节点逻辑地址LogID或收到目的节点逻辑地址LogID响应消息之前,源节点根据目的节点的物理地址PhyID依次查找自己的关联节点表;向父节点、子节点和邻居节点广播目的节点逻辑地址LogID的查找信息,直到收到目的节点逻辑地址LogID的响应消息后才停止查找过程,若还未收到相应消息则由其父节点代替源节点重复以上步骤,直到查到目的节点的逻辑地址LogID为止。
若查到目的节点逻辑地址LogID的节点是源节点本身,则逻辑地址LogID查找过程结束,进入路由建立过程;若是其父级节点,则向下一级级传给自己的子节点,直到源节点。
2、路由选择与建立机制
由于节点地址本身就带有一定的路由信息,基于本发明的地址分配机制下的路由机制就变得简单了。
当节点收到一个数据包时,检查该数据包的目的地址是否属于自身所拥有的地址段;如果超出自身的地址段,则将此数据包转发给自身的父节点;如果目的地址属于自身所拥有的地址段,检查属于哪个分支的地址段,继续中继,直到找到目的地址。
图5所示为一次节点间通信的路由建立示例,当节点I有数据包需要传送给节点F,Source=0x0071,Destination=0x0041,数据传送过程如下:
步骤1、Destination=0x0041!∈[0x0071,0x0080],I将此数据包传送给父节点H;
步骤2、H收到数据包后发现Destination=0x0041!∈[0x0061,0x0080],H将此数据包传送给父节点B;
步骤3、B收到数据包后发现Destination=0x0041∈[0x0001,0x0080],且查找到该地址属于C(分支1),B将此数据包传送给C;
步骤4、C收到数据包后发现Destination=0x0041∈[0x0011,0x0060],且查找到该地址属于E(分支2),C将此数据包传给E;
步骤5、E收到数据包后发现Destination=0x0041∈[0x0031,0x0050],且查找到该地址属于F(分支1),E将此数据包传给F;
步骤6、F收到数据包后Destination=0x0041∈[0x0041,0x0050],此时F接受该数据包。
3、快速路由的选择与建立机制
在树状路由选择的基础上,节点可结合ART表以及周期性更新的关联节点表进行快速路由的选择与建立,从而减短通信路径,进一步降低系统功耗。如图6为一次节点间通信中快速路由的示例,实线表示原有树状连接,虚线连接相邻节点,使得网络的连接成为网格型的树状结构。网格型树状结构中,从每个独立的节点的观点来看,网络仍然可以视为树状的,任意两个通过网格连接起来的节点相互地把对方节点看作自身的子节点。例如,图6中的节点K把H视为自己的子节点,反之亦然。
举个简单的例子,图6中从M到I的数据包可以直接传递,这是M将I视为自身的一个子节点。源节点M有数据包发给目的节点I,M先在自己保存的关联节点表中查到I是自己的邻居节点,就直接建立M-I的路径。如果没有快速路由,则通常的路径为M-L-K-J-A-B-H-I。
五、路由维护与修复机制
网络完成组网即地址信息的分配等任务后,转入通信状态。在通信状态下允许新节点的加入及因节点失效或链路出错等原因造成的小规模的网络拓扑变化。因为每个节点都分配有预留地址,所以本发明可以保证路由维护与修复机制造成小规模的网络拓扑变化不会与全网的逻辑地址LogID分配规则相矛盾。
具体的路由维护与修复机制如下:节点失效后进入的修复状态分为两部分,一部分是父节点发现自己某个子节点失效导致该子节点所带的整个支路失效时,父节点进行的网络修复;另一部分是子节点无法再与自己的父节点通信时,该子节点需要进行的网络自愈和修复。
1.父节点的路由修复机制:
当父节点发现自己的某个子节点失效,导致该子节点所带的整个支路都无法再与父节点通信时,由父节点发起路由修复,路由修复需要完成的任务主要是删除失效支路的在其所有上级节点的ART、关联节点表项中的记录,避免过期或无效的表项造成路由选择出错。具体步骤如图7所示。
当有失效支路向某一节点申请入网时,该节点即作为失效支路的目标父节点,需要对该支路进行修复,使之能够重新接入网络。根据该失效支路上的节点个数Invalid_Node、目标父节点自身预留地址数Pre_Multiple-1以及目标父节点的整个预留地址段(LogID)~(Pre_Last_ID)中的实际预留地址数(Pre_Multiple-1)×Branch_Node,分不同的情况进行处理。
1)Invalid_Node≤Pre_Multiple-1
即当目标父节点自身预留地址数大于失效支路的节点数,,目标父节点直接将自身预留地址依次分配给失效支路的全部节点,并将修复后的支路信息逐级向上游节点发送,直到根节点收到该信息,更新网络拓扑。
2)Pre_Multiple-1<Invalid_Node≤(Pre_Multiple-1)×Branch_Node
即当目标节点自身的预留地址段不够分配而其整支的预留总地址数足够分配给失效支路的全部节点时,目标父节点上报相关地址信息,由根节点调整网络拓扑表,将表项中的失效支路加入目标父节点所带原支路中,并给合并后的新支路重新计算预留倍数New_Pre_Multiple。
New_Pre_Multiple=Pre_Multiple×Branch_Node÷(Branch_Node+Invalide_Node)
根节点根据新的预留倍数New_Pre_Multiple,按照组网过程中的地址分配机制给该新支路重新分配地址,同时更新原Pre_Multiple为New_Pre_Multiple,目标父节点所带领的新支路接收新的网络拓扑表,按照前文叙述的方法获取新的地址段信息。
3)(Pre_Multiple-1)*Branch_Node<Invalid_Node
即目标父节点所带支路的全部预留地址段仍然小于失效支路的节点个数,则目标父节点将该失效支路的原地址段信息逐级向上游节点发送,直到根节点收到该信息。根节点查网络拓扑表中的目标父节点所带的原支路和失效支路原所在支路,将该失效支路从原支路所在网络拓扑表表段中更改到新的目标父节点所带支路的网络拓扑表段中,然后在不改变原Pre_Multiple的情况下,按照组网过程中的地址分配机制,给这两条相关支路重新分配地址,最后将修复后的网络拓扑表内容分别发送给更新的支路;各个相关节点按照组网过程中的节点获取地址信息机制,更新自身信息。
2.子节点的路由修复机制:当节点无法再与自己的父节点通信时,该子节点需要进行网络的自愈与修复。
子节点的路由修复与父节点的路由修复是对应关联的,而父节点的路由修复机制已经解决了新接入支路的逻辑地址LogID的分配问题,子节点的路由修复机制则主要考虑以下几个任务目标即可:
(1)、通知子孙节点进入网络修复状态;
(2)、父节点的选择、备份与接入;
(3)、接收根节点发送过来的拓扑更新,提取地址信息。
与组网过程不同的是,此时网络拓扑表的更新、节点获取地址信息的过程只限于需要修复的支路,其他不相关节点不进行。当修复支路上的所有子孙节点都重新分配到LogID号,且该支路的所有父级节点也更新了自己的ART表和关联节点表时,网络修复完成。
若接入网络不成功,则该子节点暂时无法再接入网络,该节点将通知自己的下一级子节点,由下一级子节点分别带领自己的支路进入子节点的修复过程;无法再接入网络的子节点则需等待一段时间后再进入随机入网状态,因为等待一段时间后,自己下级子节点自愈成功后,该节点有希望再接入网络。
需要注意的是,由于本发明在节点接入网络的过程中主动选择父节点,并且在几个备份父节点中多次尝试入网,避免错过其他尚有足够接入能力的预期父节点,从而避免过多地进行簇分裂、造成网络拓扑结构的不均衡。
基于本发明的一种无线传感器网络地址分配机制的路由协议中,为了找到通往目的节点的路由,源节点首先查看自身是否保存了目的节点的LogID,如果已知目的节点的LogID,由于LogID中包含了一定的拓扑信息,于是可以用于计算路由,否则,源节点将向拓扑服务器(每个协调器节点都可能起到拓扑服务器的作用,根据该协调其节点处于树状网络中的位置不同而所包含的拓扑信息量有所不同)查询该目的节点的LogID,然后,源节点可以根据目的节点的LogID和自身的关联节点表(该表中包含父节点,子孙节点,邻居节点,感兴趣节点的信息)来判断目的节点是否处于自己的某个关联节点的支路上,如果是,则直接建立源节点到这个关联节点的路由,由该关联节点中继给目的节点;如果目的节点并不在任何关联节点的支路上,源节点将数据发给自己的父节点,由父节点来查找自身的关联节点表进行上述判断和处理。另外,节点的失效可能导致原来的路由不可用,针对这种情况,路由协议有两种处理方式:拓扑更新和路由修复。
由于每个节点没有办法知道全网所有节点的物理地址PhyID和分配的逻辑地址LogID的对应情况。本发明的每个协调器节点都保留自己所包含子节点的PhyID和LogID的信息,而且每个节点都保留邻居节点的这些信息和感兴趣(曾通信过)节点的信息,则可以较快获得目的节点的LogID,再进行快速路由的计算。

Claims (6)

1、一种无线传感器网络地址分配机制,其特征在于:当一个树状网络组建好后,首先由普通节点开始向上进行节点计数及拓扑信息收集,建立网络拓扑表;无论是普通节点还是协调器节点,在自身网络拓扑表建立完成后,即将其发送给自己的父节点,直到根节点;根节点收到所有子节点的网络拓扑表后,根据从网络拓扑表中所获得的信息,完成全网拓扑信息的提取、预留地址段的计算、LogID的分配以及完备网络拓扑表的任务,根节点分配好地址后,将分配好的LogID开始一级级向下通知各个子节点,发布已建立的网络拓扑表。
2、根据权利要求1所述的一种无线传感器网络地址分配机制,其特征在于:所述的网络拓扑表建立和节点计数流程为:
在申请组网的过程中,申请入网的节点可以通过父节点的时标帧得知自身的级数Level,而节点的物理地址PhyID在布网过程中已经预先设定好了,当树状网络组好之后,处于支路末梢的普通节点首先发起节点计数流程;
A、普通节点对支路节点计数器进行初始化,设支路节点数的初值为1,即Branch_Node[branch]=1,并将自身节点的物理地址PhyID、级数Level及支路节点数Branch_Node[branch]保存到自己的网络拓扑表中,发送给父节点;
B、非支路末梢的节点为协调器节点,它等待收集自己的所有子节点网络拓扑表后,首先建立自己的网络拓扑表,将收集到的拓扑表中的所有支路节点数Branch_Node[branch]计数值累加,再加1,把最终计数值保存到自己的网络拓扑表中;与此同时,协调器节点将所有子节点的网络拓扑表编上分支号并加入到自身的网络拓扑表中,其他未知的值依然保持初始值。
3、根据权利要求1所述的一种无线传感器网络地址分配机制,其特征在于:所述的根节点全网拓扑信息的提取、预留地址段的计算、LogID的分配以及完备网络拓扑表的流程如下:步骤1:根节点完善网络拓扑表中的分支号与节点数
根节点根据收到的来自子节点的网络拓扑表,可以计算出全网节点数Branch_Node[0];根节点收到的各个网络拓扑表的第一项信息就是1级子节点的信息,且1级子节点的个数Child_Node[0]等于根节点收到网络拓扑表的个数;根节点为第1级节点分配分支号Branch_No=_[1,2,3,......,Child_Node[0]],并将分配好的分支号Branch_No填入各个网络拓扑表中的相应位置;
步骤2、提取网络拓扑信息
根节点在收到所有1级子节点的网络拓扑表后,即可从网络拓扑表中获得完整的网络拓扑信息;
步骤3、根节点完成预留地址段的计算、逻辑地址LogID的分配以及完备网络拓扑表的工作
根节点将根据所了解的网络中各节点的级数Level、各一级节点的分支号k(k=0,1,2,......,Child_Node[0])及其带领的支路节点总数Branch_Node[K]、子节点在一级节点拓扑表下的序列号i(i=0,1,2,......,Branch_Node[k])的信息及初始预留地址倍数Pre_Multiple来计算全网各节点的逻辑地址LogID及节点的预留地址段。
根节点对全网所有节点的逻辑地址分配算法表示为:
LogID = Pre _ Multiple &times; ( i + &Sigma; j = 1 k - 1 Branch _ Nod e [ j ] ) + 1
Pre_Multiple为预留地址倍数,决定节点可接入的最大子节点数。
最终,根节点将全网所有网络拓扑表中的LogID与初始Pre_Multiple补充完整。
4、根据权利要求1所述的一种无线传感器网络地址分配机制,其特征在于:所述的各协调器节点收到传给自己的网络拓扑表后,需要依次完成如下任务:
A、从表中第一项中获取自身的地址信息LogID;
B、计算自身的预留地址段
(LogID)~(Pre_Last_ID)=(LogID)~(LogID+Pre_Multiple×Branch_Node-1);
C、提取信息构建ART表(Adaptive Robust Tree)和关联节点表(含父节点信息、子孙节点信息、邻居节点信息及感兴趣节点(近期通信过的节点)信息);
D、根据下一级子节点个数n将网络拓扑表拆成以下级子节点为第一项n个子节点的子节点网络拓扑表,并按分支号的顺序发给对应的下级子节点;
对于支路末梢的普通节点则只需提取自身的网络地址LogID、计算节点的预留地址段及提取关联节点表。
CN2007100097204A 2007-10-25 2007-10-25 一种无线传感器网络地址分配机制 Expired - Fee Related CN101420463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100097204A CN101420463B (zh) 2007-10-25 2007-10-25 一种无线传感器网络地址分配机制

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100097204A CN101420463B (zh) 2007-10-25 2007-10-25 一种无线传感器网络地址分配机制

Publications (2)

Publication Number Publication Date
CN101420463A true CN101420463A (zh) 2009-04-29
CN101420463B CN101420463B (zh) 2012-05-30

Family

ID=40631064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100097204A Expired - Fee Related CN101420463B (zh) 2007-10-25 2007-10-25 一种无线传感器网络地址分配机制

Country Status (1)

Country Link
CN (1) CN101420463B (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815287A (zh) * 2010-03-11 2010-08-25 北京交通大学 基于树状网的无线传感网路由方法及路由系统
CN101848459A (zh) * 2010-03-30 2010-09-29 北京交通大学 一种基于ieee 802.15.4的无线传感器网络地址配置方法
CN101951661A (zh) * 2010-09-28 2011-01-19 华为技术有限公司 传感器网络中的地址分配方法及传感器网络节点
CN102056263A (zh) * 2011-01-31 2011-05-11 中控科技集团有限公司 基于树形无线传感器网络的路由方法和装置及传感器设备
CN101600156B (zh) * 2009-06-03 2012-02-22 南京邮电大学 一种移动自组织网络地址自动分配方法
CN102946450A (zh) * 2012-12-06 2013-02-27 中国科学技术大学苏州研究院 树形泛在网络中资源受限节点的地址分配方法
CN102984715A (zh) * 2012-12-11 2013-03-20 武汉邮电科学研究院 无线传感器网络的组网方法
CN103052032A (zh) * 2012-12-25 2013-04-17 上海桑锐电子科技有限公司 广播无线网络的组网和数据通讯方法
CN103108387A (zh) * 2013-01-31 2013-05-15 中国科学院上海微系统与信息技术研究所 一种应用于农业的多跳无线自组织网络的建立方法
CN104104746A (zh) * 2014-07-16 2014-10-15 苏州博联科技有限公司 一种无线自组网的分段式地址分配方法
CN104410537A (zh) * 2014-12-22 2015-03-11 上海斐讯数据通信技术有限公司 一种树状网络拓扑图的生成系统及其生成方法
CN102598635B (zh) * 2009-07-20 2015-04-01 爱立信电讯公司 网络地址分配方法
CN104618980A (zh) * 2015-03-05 2015-05-13 江苏物联网研究发展中心 无线多跳链状网的路由实现方法
CN106302863A (zh) * 2016-10-13 2017-01-04 陕西尚品信息科技有限公司 一种应用于Ad‑hoc网络的IP地址动态分配方法
CN106341250A (zh) * 2015-07-10 2017-01-18 南宁富桂精密工业有限公司 网络装置及网络地址初始化分配方法
CN107633668A (zh) * 2016-07-19 2018-01-26 重庆无线绿洲通信技术有限公司 一种车联网中电池管理的红外通信方法及装置
CN108712297A (zh) * 2018-06-22 2018-10-26 青岛清控人居数据科技有限公司 一种物联网节点设备自主切换网关的方法
CN109067929A (zh) * 2018-06-22 2018-12-21 北京格瑞空间科技有限公司 一种物联网节点设备分配识别码的方法
CN109511151A (zh) * 2018-12-19 2019-03-22 中国电子科技集团公司电子科学研究院 星联网的组网方法及通信方法
WO2019101194A1 (zh) * 2017-11-24 2019-05-31 乐鑫信息科技(上海)股份有限公司 一种基于网状网络的组网方法及系统
CN109981468A (zh) * 2019-03-29 2019-07-05 中国人民银行清算总中心 链路状态维护方法和装置
CN110149273A (zh) * 2018-02-11 2019-08-20 乐鑫信息科技(上海)股份有限公司 一种mesh网络内路由表的添加与删除方法
CN113155182A (zh) * 2021-03-04 2021-07-23 东莞理工学院 一种多功能智能传感器及基于其的建筑结构性态监测系统
CN113207113A (zh) * 2021-04-20 2021-08-03 上海富芮坤微电子有限公司 多连接组网系统、方法、存储介质及电子设备
CN113747473A (zh) * 2021-09-01 2021-12-03 苏州佩林软件技术有限公司 一种自组网的方法和自组网系统
CN114465944A (zh) * 2022-02-16 2022-05-10 北京升哲科技有限公司 一种节点信息的更新方法、装置、设备及存储介质
CN114513796A (zh) * 2022-02-17 2022-05-17 中建安装集团有限公司 一种不依赖电力与通信基础设施的窄带物联网组网方法
CN115174653A (zh) * 2022-07-07 2022-10-11 苏州磐联集成电路科技股份有限公司 节点配对方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585327B1 (ko) * 2004-07-29 2006-06-01 삼성전자주식회사 무선 네트워크의 규모 변화에 따른 적응적 주소 재설정방법

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101600156B (zh) * 2009-06-03 2012-02-22 南京邮电大学 一种移动自组织网络地址自动分配方法
CN102598635B (zh) * 2009-07-20 2015-04-01 爱立信电讯公司 网络地址分配方法
CN101815287B (zh) * 2010-03-11 2013-05-15 北京交通大学 基于树状网的无线传感网路由方法及路由系统
CN101815287A (zh) * 2010-03-11 2010-08-25 北京交通大学 基于树状网的无线传感网路由方法及路由系统
CN101848459A (zh) * 2010-03-30 2010-09-29 北京交通大学 一种基于ieee 802.15.4的无线传感器网络地址配置方法
CN101848459B (zh) * 2010-03-30 2012-10-31 北京交通大学 一种基于ieee 802.15.4的无线传感器网络地址配置方法
CN101951661B (zh) * 2010-09-28 2013-06-05 华为技术有限公司 传感器网络中的地址分配方法及传感器网络节点
CN101951661A (zh) * 2010-09-28 2011-01-19 华为技术有限公司 传感器网络中的地址分配方法及传感器网络节点
CN102056263B (zh) * 2011-01-31 2013-04-17 中控科技集团有限公司 基于树形无线传感器网络的路由方法和装置及传感器设备
CN102056263A (zh) * 2011-01-31 2011-05-11 中控科技集团有限公司 基于树形无线传感器网络的路由方法和装置及传感器设备
CN102946450A (zh) * 2012-12-06 2013-02-27 中国科学技术大学苏州研究院 树形泛在网络中资源受限节点的地址分配方法
CN102984715A (zh) * 2012-12-11 2013-03-20 武汉邮电科学研究院 无线传感器网络的组网方法
CN102984715B (zh) * 2012-12-11 2015-08-19 武汉邮电科学研究院 无线传感器网络的组网方法
CN103052032A (zh) * 2012-12-25 2013-04-17 上海桑锐电子科技有限公司 广播无线网络的组网和数据通讯方法
CN103052032B (zh) * 2012-12-25 2016-01-27 上海桑锐电子科技股份有限公司 广播无线网络的组网和数据通讯方法
CN103108387A (zh) * 2013-01-31 2013-05-15 中国科学院上海微系统与信息技术研究所 一种应用于农业的多跳无线自组织网络的建立方法
CN103108387B (zh) * 2013-01-31 2016-09-28 中国科学院上海微系统与信息技术研究所 一种应用于农业的多跳无线自组织网络的建立方法
CN104104746B (zh) * 2014-07-16 2017-11-10 苏州博联科技有限公司 一种无线自组网的分段式地址分配方法
CN104104746A (zh) * 2014-07-16 2014-10-15 苏州博联科技有限公司 一种无线自组网的分段式地址分配方法
CN104410537A (zh) * 2014-12-22 2015-03-11 上海斐讯数据通信技术有限公司 一种树状网络拓扑图的生成系统及其生成方法
CN104410537B (zh) * 2014-12-22 2019-10-11 上海斐讯数据通信技术有限公司 一种树状网络拓扑图的生成系统及其生成方法
CN104618980A (zh) * 2015-03-05 2015-05-13 江苏物联网研究发展中心 无线多跳链状网的路由实现方法
CN104618980B (zh) * 2015-03-05 2018-09-28 江苏中科羿链通信技术有限公司 无线多跳链状网的路由实现方法
CN106341250A (zh) * 2015-07-10 2017-01-18 南宁富桂精密工业有限公司 网络装置及网络地址初始化分配方法
CN106341250B (zh) * 2015-07-10 2019-11-22 南宁富桂精密工业有限公司 网络装置及网络地址初始化分配方法
CN107633668A (zh) * 2016-07-19 2018-01-26 重庆无线绿洲通信技术有限公司 一种车联网中电池管理的红外通信方法及装置
CN106302863A (zh) * 2016-10-13 2017-01-04 陕西尚品信息科技有限公司 一种应用于Ad‑hoc网络的IP地址动态分配方法
CN106302863B (zh) * 2016-10-13 2019-08-20 陕西尚品信息科技有限公司 一种应用于Ad-hoc网络的IP地址动态分配方法
WO2019101194A1 (zh) * 2017-11-24 2019-05-31 乐鑫信息科技(上海)股份有限公司 一种基于网状网络的组网方法及系统
CN110149273A (zh) * 2018-02-11 2019-08-20 乐鑫信息科技(上海)股份有限公司 一种mesh网络内路由表的添加与删除方法
CN109067929A (zh) * 2018-06-22 2018-12-21 北京格瑞空间科技有限公司 一种物联网节点设备分配识别码的方法
CN108712297A (zh) * 2018-06-22 2018-10-26 青岛清控人居数据科技有限公司 一种物联网节点设备自主切换网关的方法
CN109511151A (zh) * 2018-12-19 2019-03-22 中国电子科技集团公司电子科学研究院 星联网的组网方法及通信方法
CN109511151B (zh) * 2018-12-19 2022-03-11 中国电子科技集团公司电子科学研究院 星联网的组网方法及通信方法
CN109981468A (zh) * 2019-03-29 2019-07-05 中国人民银行清算总中心 链路状态维护方法和装置
CN109981468B (zh) * 2019-03-29 2022-05-03 中国人民银行清算总中心 链路状态维护方法和装置
CN113155182A (zh) * 2021-03-04 2021-07-23 东莞理工学院 一种多功能智能传感器及基于其的建筑结构性态监测系统
CN113207113B (zh) * 2021-04-20 2023-01-13 上海富芮坤微电子有限公司 多连接组网系统、方法、存储介质及电子设备
CN113207113A (zh) * 2021-04-20 2021-08-03 上海富芮坤微电子有限公司 多连接组网系统、方法、存储介质及电子设备
CN113747473A (zh) * 2021-09-01 2021-12-03 苏州佩林软件技术有限公司 一种自组网的方法和自组网系统
CN114465944A (zh) * 2022-02-16 2022-05-10 北京升哲科技有限公司 一种节点信息的更新方法、装置、设备及存储介质
CN114465944B (zh) * 2022-02-16 2023-06-16 北京升哲科技有限公司 一种节点信息的更新方法、装置、设备及存储介质
CN114513796A (zh) * 2022-02-17 2022-05-17 中建安装集团有限公司 一种不依赖电力与通信基础设施的窄带物联网组网方法
CN115174653A (zh) * 2022-07-07 2022-10-11 苏州磐联集成电路科技股份有限公司 节点配对方法
CN115174653B (zh) * 2022-07-07 2024-01-30 苏州磐联集成电路科技股份有限公司 节点配对方法

Also Published As

Publication number Publication date
CN101420463B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN101420445B (zh) 一种无线传感器网络的快速路由协议
CN101420463B (zh) 一种无线传感器网络地址分配机制
CN102281558B (zh) 一种应用于物联网数据传输的无线传感器网络组网方法
CN101562861B (zh) 无线传感器网络中基于跳数和能量的跨层双向路由方法
CN103415018B (zh) 一种无线传感器网络通信资源分配方法
CN102340838B (zh) 无线体域网中延长网络生存时间的媒体接入控制方法
CN102158812B (zh) AC-AP架构无线Mesh网组播通信方法
CN101119372B (zh) 适用于移动无线传感器网络的协作节能路由图构造方法
CN102185749B (zh) 采用树形拓扑关系避免路由环路的方法
CN105451290A (zh) 一种微功率无线网络自组网方法和微功率无线网络
CN103457852B (zh) 一种多播虚拟网络的抗毁性映射方法
CN103491590B (zh) 一种下一代无线传感器网络路由的实现方法
CN103582065A (zh) 一种无线传感器网络的高效自组网路由方法
CN102291448A (zh) 移动自组织网络中基于地理位置的ip地址自动分配方法
CN103781094A (zh) 一种工业无线网络的组网优化方法
CN106658523B (zh) 认知AdHoc网络中构建K信道连通的分布式拓扑方法
CN101867920B (zh) 分级式无线传感器网络组网方法
Jan et al. Dependability and reliability analysis of intra cluster routing technique
Lee et al. LPT for data aggregation in wireless sensor networks
Slama et al. Topology control and routing in large scale wireless sensor networks
CN110418389A (zh) 一种能源计量网络的抄表方法
Pradhan et al. A survey on hierarchical clustering algorithm for wireless sensor networks
CN101547188B (zh) 一种实现无线传感器网络通用路由协议的系统及方法
CN111246580B (zh) 自组织网络中支持多跳流式业务的时隙分配方法
CN102802166A (zh) 一种改进的Zigbee网络分层方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120530

Termination date: 20211025