CN102694884A - 一种无线传感器网络IPv6地址配置及管理方法 - Google Patents
一种无线传感器网络IPv6地址配置及管理方法 Download PDFInfo
- Publication number
- CN102694884A CN102694884A CN2012102088751A CN201210208875A CN102694884A CN 102694884 A CN102694884 A CN 102694884A CN 2012102088751 A CN2012102088751 A CN 2012102088751A CN 201210208875 A CN201210208875 A CN 201210208875A CN 102694884 A CN102694884 A CN 102694884A
- Authority
- CN
- China
- Prior art keywords
- bunch
- node
- address
- new
- interior nodes
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种无线传感器网络IPv6地址配置及管理方法,所述无线传感器网络作为末端网络通过接入路由器连接到互联网,包括三种类型传感器节点:簇首节点,簇内节点和新节点;簇首节点具有路由转发功能;簇内节点不具有路由转发功能,用于采集数据并将采集的数据发送到外界互联网;新节点为未加入簇的节点。将无线传感器网络划分为多个簇,每个簇由一个簇首节点与一个以上簇内节点构成;所有传感器节点为可移动节点,簇首节点以有状态方式从接入路由器获取IPv6地址,簇内节点通过有状态方式从本簇簇首节点获取IPv6地址集合,簇内节点获取地址后将定期变更地址以防止通信内容被侦听。
Description
技术领域
本发明涉及一种地址配置和管理方法,尤其涉及的是一种无线传感器网络IPv6地址配置及管理方法。
背景技术
无线传感器网络中的节点之间通信通过中间节点的转发和路由来实现,因此,每个节点必须配有具有唯一性的地址来实现通信,因此,实现无线传感器网络需要解决的关键技术之一就是地址自动配置问题。
目前的地址配置分为有状态地址配置和无状态地址配置两种形式,有状态地址配置方案采用服务器/客户端的通信方式分配地址,即节点向服务器提出申请地址的请求,然后由服务器统一为网络内的节点分配地址。由于无线传感器网很难承担服务器角色,因此,有状态地址配置方案无法应用到无线传感器网中。在无状态地址配置方案中,每个被分配的地址都需要在整个网络中进行重复地址检测以确保它的唯一性,导致了大量的控制包开销,消耗了大量的网络资源,因此也不适用于无线传感器网使用。
因此针对无线传感器网络需要建立一种低开销的地址自动配置方案。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种无线传感器网络IPv6地址配置及管理方法。
技术方案:本发明公开了一种无线传感器网络IPv6地址配置及管理方法,所述无线传感器网络作为末端网络通过接入路由器连接到互联网,所述无线传感器网络包括三种类型传感器节点:簇首节点,簇内节点和新节点;簇首节点具有路由转发功能;簇内节点不具有路由转发功能,用于采集数据并将采集的数据发送到外界互联网;新节点为未加入簇的节点;
将无线传感器网络划分为多个簇,每个簇由一个簇首节点与一个以上簇内节点构成;所有传感器节点为可移动节点,簇首节点以有状态方式从接入路由器获取IPv6地址,簇内节点通过有状态方式从本簇簇首节点获取IPv6地址集合;
接入路由器、簇首节点以及簇内节点的IPv6地址由三部分组成:第一部分是全局路由前缀,唯一标识一个无线传感器网络,一个无线传感器网络中所有节点的全局路由前缀都相同;第二部分为簇ID,唯一标识一个簇,一个簇中所有簇内节点的簇ID都相同,其值等于簇首节点的簇ID;第三部分为节点ID,唯一标识一个簇内节点;接入路由器的IPv6地址的簇ID以及节点ID为0,簇首节点的IPv6地址的节点ID为0;
初始状态下,每个传感器节点均为新节点且有一个具有网络唯一性的ID值,同时保存一个邻居节点记录表,邻居节点记录表中每个表项包括三个域:邻居节点ID值,邻居节点类型以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从邻居节点记录表中删除;传感器节点在一跳范围内定期广播广告消息,消息负载为节点ID、节点类型以及邻居新节点的数量;传感器节点通过接收邻居节点发送的广告消息建立邻居节点记录表;
新节点建立邻居节点记录表后,如果它的邻居节点包含簇首节点,则向邻居簇首节点请求IPv6地址;否则,如果新节点的邻居新节点数量大于所有邻居新节点的邻居新节点数量,或者,如果新节点的邻居新节点数量不小于所有邻居新节点的邻居新节点数量,并且在所有具有相同邻居新节点的邻居新节点中的ID值最小,则新节点建立簇;
新节点建立簇的过程如下所示:
步骤301:开始;
步骤302:新节点向邻居节点记录表中所有邻居新节点发送加入簇的请求消息,消息的源地址为新节点的ID值;;
步骤303:在规定时间内,判断邻居新节点是否收到一个以上的加入簇请求消息,如果是,进行步骤304,否则进行步骤305;
步骤304:邻居新节点对比收到的加入簇请求消息的源地址,向源地址最小的新节点返回一个加入簇响应消息,进行步骤306;
步骤305:邻居新节点向发送加入簇请求消息的新节点返回一个加入簇响应消息;
步骤306:在规定时间内,判断新节点收到的加入簇响应消息的数量是否等于邻居节点记录表中邻居新节点的总数,如果是进行步骤307,否则进行步骤310;
步骤307:新节点向所有邻居新节点发送一个加入簇确认消息,同时将自己标识为簇首节点;
步骤308:在规定时间内,判断邻居新节点是否收到了新节点发送的加入簇确认消息,如果是,进行步骤309,否则进行步骤310;
步骤309:邻居新节点将自己标识为簇内节点,同时记录本簇簇首节点的ID值;
步骤310:结束。
通过上述过程实现了簇首节点最小化,因此降低了簇首节点地址配置代价,由于簇内节点从一跳范围内的簇首节点获取地址,因此也降低了簇内节点地址配置代价。
本发明所述方法中,接入路由器定期广播广告消息,消息负载为全局路由前缀,接入路由器保存一个地址资源分配表,用于记录已分配的簇ID,地址资源分配表中每个表项包括两个域:簇ID以及生存时间;
簇首节点收到接入路由器广播的广告消息后,根据下述过程获取IPv6地址:
步骤401:开始;
步骤402:簇首节点向接入路由器发送簇ID请求消息,消息的源地址为簇首节点的临时IPv6地址,临时IPv6地址由全局路由前缀及簇首节点的ID值组成;
步骤403:接入路由器收到簇ID请求消息后,将最小未分配簇ID封装到簇ID响应消息中,同时在地址资源分配表中增加一条表项,表项中的簇ID域值为分配给簇首节点的簇ID,然后将簇ID响应消息发送给簇首节点;
步骤404:簇首节点收到簇ID响应消息后,将簇ID响应消息内的簇ID与全局路由前缀相结合形成自己的IPv6地址,其中节点ID为0;
步骤405:结束。
簇首节点通过上述过程获取地址后,即可以实现路由转发功能,同时为簇内节点分配地址。由于簇首节点只是从接入路由器获取簇ID,因此降低了地址配置的传输代价,同时也降低了地址配置的传输延迟。
本发明所述方法中,簇首节点保存一个地址资源分配表,用于记录已分配的节点ID,地址资源分配表的每个表项由三个域组成:首地址、结束地址和生存时间;
簇内节点在规定时间内收到本簇簇首节点广播的广告消息后,则从本簇簇首节点获取IPv6地址集合,地址集合表示地址区间[首地址,结束地址];簇内节点M从簇首节点H获取IPv6地址集合的过程为:
步骤501:开始;
步骤502:簇内节点M向簇首节点H发送节点ID集合请求消息,消息负载为随机选取的地址集合长度n,n取值范围为自然数;
步骤503:簇首节点H收到节点ID集合请求消息后,查询地址资源分配表,判断是否存在n个连续的未分配地址空间,如果是,进行步骤505,否则进行步骤504;
步骤504:簇首节点H选取当前最大的n’个连续未分配地址空间,n’<n,并向簇内节点M返回一个节点ID集合响应消息,消息负载为分配的首地址S以及分配的地址个数n’,进行步骤506;
步骤505:簇首节点H向簇内节点M返回一个节点ID集合响应消息,消息负载为n个连续空间的首地址S以及地址集合元素个数n;
步骤506:簇首节点H在地址资源分配表中增加一条表项,表项的首地址为S,根据分配的地址个数决定结束地址为S+n-1或者S+n’-1;
步骤507:簇内节点M收到节点ID集合响应消息后,根据分配的地址个数决定将自己的地址集合设置为[S,S+n-1]或者[S,S+n’-1],并在此集合中随机选取一个节点ID,与簇首节点H的全局路由前缀以及簇ID结合形成IPv6地址;
步骤508:结束。
簇内节点通过上述过程获取地址集合以及地址后,即可以与外界节点实现通信。由于簇内节点只是从一跳范围内的簇首节点获取节点ID,因此降低了地址配置的传输代价,同时也降低了地址配置的传输延迟。
本发明所述方法中,新节点X收到邻居簇首节点广播的广告消息后,则从邻居簇首节点获取IPv6地址集合,新节点X从簇首节点H获取IPv6地址集合的过程为:
步骤201:开始;
步骤202:新节点X向簇首节点H发送节点ID集合请求消息,消息负载为随机选取的地址集合元素个数n,n取值范围为自然数;
步骤203:簇首节点H收到节点ID集合请求消息后,查询地址资源分配表,判断是否存在n个连续的未分配地址空间,如果是,进行步骤205,否则进行步骤204;
步骤204:簇首节点H选取当前最大的n’个连续未分配地址空间,n’<n,并向新节点X返回一个节点ID集合响应消息,消息负载为分配的首地址S以及分配的地址集合元素个数n’,进行步骤206;
步骤205:簇首节点H向新节点X返回一个节点ID集合响应消息,消息负载为n个连续空间的首地址S以及分配的地址集合元素个数n;
步骤206:簇首节点H在地址资源分配表中增加一条表项,表项的首地址为S,根据分配的地址个数决定结束地址为S+n-1或者S+n’-1;
步骤207:新节点X收到节点ID集合响应消息后,将自己的地址集合设置为[S,S+n-1]或者[S,S+n’-1],并在此集合中随机选取一个节点ID,与簇首节点H的全局路由前缀以及簇ID结合形成IPv6地址;
步骤208:新节点X将自己标识为簇内节点;
步骤209:结束。
新节点通过上述过程获取地址集合并转换为簇内节点后,即可以与外界节点实现通信。由于新节点只是从一跳范围内的邻居簇首节点获取节点ID,因此降低了地址配置的传输代价,同时也降低了地址配置的传输延迟。
本发明所述方法中,采用定期更换节点ID的方式实现簇内节点IPv6地址的管理;
如果簇内节点的地址集合为[S,S+m-1],其中,S为节点ID的首地址,m为IPv6地址集合的元素个数,簇内节点则根据下述步骤定期更换IPv6地址:
步骤601:开始;
步骤602:簇内节点随机选取正整数r,r<m;
步骤603:判断簇内节点当前的节点ID是否等于S+r,如果是,则进行步骤602,否则进行步骤604;
步骤604:簇内节点将S+r作为节点ID,并与原来的IPv6地址的全局路由前缀以及簇ID相结合形成新的IPv6地址;
步骤605:簇内节点使用新的IPv6地址与外界通信;
步骤606:结束。
通过上述过程,簇内节点可以随机变更地址,有效防止了簇内节点的信息被人侦听。
本发明所述方法中,簇首节点定期向接入路由器发送刷新消息,接入路由器收到簇首节点的刷新消息后,将地址资源分配表中对应表项的生存时间设置为最大值;
如果接入路由器在最大生存时间内没有收到簇首节点发送的刷新消息,则回收簇首节点的簇ID并将对应的表项从地址资源分配表中删除。
通过上述过程,接入路由器可有效回收簇首节点释放的簇ID资源,因此保证了接入路由器一直具有充足的地址资源分配给簇首节点。
本发明所述方法中,簇内节点定期向本簇簇首节点发送刷新消息,消息负载包括簇内节点IPv6地址集合的首地址和结束地址;簇首节点收到簇内节点的刷新消息后,将地址资源分配表中对应簇内节点的表项的生存时间设置为最大值并向簇内节点返回刷新确认消息;如果簇首节点在最大生存时间内没有收到簇内节点发送的刷新消息,则回收簇内节点的IPv6地址集合并将对应的表项从地址资源分配表中删除;
如果簇内节点X在规定时间内没有收到簇首节点的刷新确认消息,则认为簇首节点失效,根据下述过程选举新的簇首节点:
步骤701:开始;
步骤702:簇内节点X在无线传感器网络中广播新簇首节点消息;
步骤703:本簇的另一个簇内节点Y收到新簇首节点消息,判断它的节点ID是否大于簇内节点X的节点ID,如果是,进行步骤705,否则进行步骤704;
步骤704:簇内节点Y继续广播收到的新簇首节点消息,进行步骤706;
步骤705:簇内节点Y放弃新簇首节点消息同时广播一个新簇首节点消息;
步骤706:重复步骤703至步骤705,直到所有簇内节点都收到本簇内具有最大节点ID的簇内节点发送的新簇首节点消息;
步骤707:将节点ID最大的簇内节点选举为新的簇首节点;
步骤708:结束;
新的簇首节点选举完成后,将其节点ID设置为0,同时建立地址资源分配表,并通过接收簇内节点发送的刷新消息来维护地址资源分配表的信息。
当簇首节点失效时,簇内节点通过选举新的簇首节点以维护簇的稳定性,防止簇内节点重新获取地址,因此,有效降低了节点的功耗,延长了节点的寿命,同时,也降低了网络流量,提高了网络性能。
有益效果:本发明提供了一种无线传感器网络IPv6地址配置及管理方法,由于无线传感器网和传统网络结构(例如互联网)不同,例如:无线传感器网节点同时具有主机和路由器两个身份,因此目前传统网络中的地址配置方案无法在无线传感器网络中实施,迫切需要一种适合无线传感器网络使用的地址配置方案,此外,目前的无线传感器网络的地址一旦配置之后,就一成不变,这样极容易被侦听。在本发明中,簇内节点从一跳范围内的簇首节点获取地址,同时无需地址重复检测即可保证地址的唯一性,同时,簇内节点的地址定期变更以防止被别人侦听,这是现有技术无法实现的。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的无线传感器网络拓扑结构示意图。
图2为本发明所述IPv6地址结构示意图。
图3为本发明所述邻居节点记录表项示意图。
图4为本发明所述新节点建立簇流程示意图。
图5为本发明所述簇首节点获取IPv6地址流程示意图。
图6为本发明所述簇内节点获取IPv6地址集合流程示意图。
图7为本发明所述新节点获取IPv6地址集合流程示意图。
图8为本发明所述簇内节点更新IPv6地址流程示意图。
图9为本发明所述簇内节点选举新的簇首节点流程示意图。
具体实施方式:
本发明提供了一种无线传感器网络IPv6地址配置及管理方法,在所述方法中,无线传感器网络中的每个节点可获取具有唯一性的地址并定期更换地址以有效防止被侦听,以达到节点之间实现安全通信的目的。
图1为本发明所述的无线传感器网络拓扑结构示意图。所述无线传感器网络1作为末端网络通过接入路由器2连接到互联网,所述无线传感器网络1包括三种类型传感器节点:簇首节点3,簇内节点4和新节点5;簇首节点3具有路由转发功能;簇内节点4不具有路由转发功能,用于采集数据并将采集的数据发送到外界互联网;新节点5为未加入簇6的节点;
将无线传感器网络1划分为一个以上的簇6,图1中划分了4个簇,每个簇6由一个簇首节点3与一个以上簇内节点4构成;所有传感器节点为可移动节点,簇首节点3以有状态方式从接入路由器2获取IPv6地址,簇内节点4通过有状态方式从本簇簇首节点3获取IPv6地址集合。
图2为本发明所述IPv6地址结构示意图。接入路由器、簇首节点以及簇内节点的IPv6地址由三部分组成:第一部分是全局路由前缀,唯一标识一个无线传感器网络,一个无线传感器网络中所有节点的全局路由前缀都相同;第二部分为簇ID,唯一标识一个簇,一个簇中所有簇内节点的簇ID都相同,其值等于簇首节点的簇ID;第三部分为节点ID,唯一标识一个簇内节点;接入路由器的IPv6地址的簇ID以及节点ID为0,簇首节点的IPv6地址的节点ID为0。
图3为本发明所述邻居节点记录表项示意图。初始状态下,每个传感器节点均为新节点且有一个具有网络唯一性的ID值,同时保存一个邻居节点记录表,邻居节点记录表中每个表项包括三个域:邻居节点ID值,邻居节点类型以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从邻居节点记录表中删除;传感器节点在一跳范围内定期广播广告消息,消息负载为节点ID、节点类型以及邻居新节点的数量;传感器节点通过接收邻居节点发送的广告消息建立邻居节点记录表。
图4为本发明所述新节点建立簇流程示意图。新节点建立邻居节点记录表后,如果它的邻居节点包含簇首节点,则向邻居簇首节点请求IPv6地址;否则,如果新节点的邻居新节点数量大于所有邻居新节点的邻居新节点数量,或者,如果新节点的邻居新节点数量不小于所有邻居新节点的邻居新节点数量,并且在所有具有相同邻居新节点的邻居新节点中的ID值最小,则新节点建立簇;
新节点建立簇的过程如下所示:
步骤301:开始;
步骤302:新节点向邻居节点记录表中所有邻居新节点发送加入簇的请求消息,消息的源地址为新节点的ID值;;
步骤303:在规定时间内,判断邻居新节点是否收到一个以上的加入簇请求消息,如果是,进行步骤304,否则进行步骤305;
步骤304:邻居新节点对比收到的加入簇请求消息的源地址,向源地址最小的新节点返回一个加入簇响应消息,进行步骤306;
步骤305:邻居新节点向发送加入簇请求消息的新节点返回一个加入簇响应消息;
步骤306:在规定时间内,判断新节点收到的加入簇响应消息的数量是否等于邻居节点记录表中邻居新节点的总数,如果是进行步骤307,否则进行步骤310;
步骤307:新节点向所有邻居新节点发送一个加入簇确认消息,同时将自己标识为簇首节点;
步骤308:在规定时间内,判断邻居新节点是否收到了新节点发送的加入簇确认消息,如果是,进行步骤309,否则进行步骤310;
步骤309:邻居新节点将自己标识为簇内节点,同时记录本簇簇首节点的ID值;
步骤310:结束。
图5为本发明所述簇首节点获取IPv6地址流程示意图。接入路由器定期广播广告消息,消息负载为全局路由前缀,接入路由器保存一个地址资源分配表,用于记录已分配的簇ID,地址资源分配表中每个表项包括两个域:簇ID以及生存时间;
簇首节点收到接入路由器广播的广告消息后,根据下述过程获取IPv6地址:
步骤401:开始;
步骤402:簇首节点向接入路由器发送簇ID请求消息,消息的源地址为簇首节点的临时IPv6地址,临时IPv6地址由全局路由前缀及簇首节点的ID值组成;
步骤403:接入路由器收到簇ID请求消息后,将最小未分配簇ID封装到簇ID响应消息中,同时在地址资源分配表中增加一条表项,表项中的簇ID域值为分配给簇首节点的簇ID,然后将簇ID响应消息发送给簇首节点;
步骤404:簇首节点收到簇ID响应消息后,将簇ID响应消息内的簇ID与全局路由前缀相结合形成自己的IPv6地址,其中节点ID为0;
步骤405:结束。
图6为本发明所述簇内节点获取IPv6地址集合流程示意图。簇首节点保存一个地址资源分配表,用于记录已分配的节点ID,地址资源分配表的每个表项由三个域组成:首地址、结束地址和生存时间;
簇内节点在规定时间内收到本簇簇首节点广播的广告消息后,则从本簇簇首节点获取IPv6地址集合,地址集合表示地址区间[首地址,结束地址];簇内节点M从簇首节点H获取IPv6地址集合的过程为:
步骤501:开始;
步骤502:簇内节点M向簇首节点H发送节点ID集合请求消息,消息负载为随机选取的地址集合长度n,n取值范围为自然数;
步骤503:簇首节点H收到节点ID集合请求消息后,查询地址资源分配表,判断是否存在n个连续的未分配地址空间,如果是,进行步骤505,否则进行步骤504;
步骤504:簇首节点H选取当前最大的n’个连续未分配地址空间,n’<n,并向簇内节点M返回一个节点ID集合响应消息,消息负载为分配的首地址S以及分配的地址个数n’,进行步骤506;
步骤505:簇首节点H向簇内节点M返回一个节点ID集合响应消息,消息负载为n个连续空间的首地址S以及地址集合元素个数n;
步骤506:簇首节点H在地址资源分配表中增加一条表项,表项的首地址为S,根据分配的地址个数决定结束地址为S+n-1或者S+n’-1;
步骤507:簇内节点M收到节点ID集合响应消息后,根据分配的地址个数决定将自己的地址集合设置为[S,S+n-1]或者[S,S+n’-1],并在此集合中随机选取一个节点ID,与簇首节点H的全局路由前缀以及簇ID结合形成IPv6地址;
步骤508:结束。
图7为本发明所述新节点获取IPv6地址集合流程示意图。新节点X收到邻居簇首节点广播的广告消息后,则从邻居簇首节点获取IPv6地址集合,新节点X从簇首节点H获取IPv6地址集合的过程为:
步骤201:开始;
步骤202:新节点X向簇首节点H发送节点ID集合请求消息,消息负载为随机选取的地址集合元素个数n,n取值范围为自然数;
步骤203:簇首节点H收到节点ID集合请求消息后,查询地址资源分配表,判断是否存在n个连续的未分配地址空间,如果是,进行步骤205,否则进行步骤204;
步骤204:簇首节点H选取当前最大的n’个连续未分配地址空间,n’<n,并向新节点X返回一个节点ID集合响应消息,消息负载为分配的首地址S以及分配的地址集合元素个数n’,进行步骤206;
步骤205:簇首节点H向新节点X返回一个节点ID集合响应消息,消息负载为n个连续空间的首地址S以及分配的地址集合元素个数n;
步骤206:簇首节点H在地址资源分配表中增加一条表项,表项的首地址为S,根据分配的地址个数决定结束地址为S+n-1或者S+n’-1;
步骤207:新节点X收到节点ID集合响应消息后,将自己的地址集合设置为[S,S+n-1]或者[S,S+n’-1],并在此集合中随机选取一个节点ID,与簇首节点H的全局路由前缀以及簇ID结合形成IPv6地址;
步骤208:新节点X将自己标识为簇内节点;
步骤209:结束。
图8为本发明所述簇内节点更新IPv6地址流程示意图。本发明采用定期更换节点ID的方式实现簇内节点IPv6地址的管理。如果簇内节点的地址集合为[S,S+m-1],其中,S为节点ID的首地址,m为IPv6地址集合的元素个数,簇内节点则根据下述步骤定期更换IPv6地址:
步骤601:开始;
步骤602:簇内节点随机选取正整数r,r<m;
步骤603:判断簇内节点当前的节点ID是否等于S+r,如果是,则进行步骤602,否则进行步骤604;
步骤604:簇内节点将S+r作为节点ID,并与原来的IPv6地址的全局路由前缀以及簇ID相结合形成新的IPv6地址;
步骤605:簇内节点使用新的IPv6地址与外界通信;
步骤606:结束。
图9为本发明所述簇内节点选举新的簇首节点流程示意图。如果簇内节点X在规定时间内没有收到簇首节点的刷新确认消息,则认为簇首节点失效,根据下述过程选举新的簇首节点:
步骤701:开始;
步骤702:簇内节点X在无线传感器网络中广播新簇首节点消息;
步骤703:本簇的另一个簇内节点Y收到新簇首节点消息,判断它的节点ID是否大于簇内节点X的节点ID,如果是,进行步骤705,否则进行步骤704;
步骤704:簇内节点Y继续广播收到的新簇首节点消息,进行步骤706;
步骤705:簇内节点Y放弃新簇首节点消息同时广播一个新簇首节点消息;
步骤706:重复步骤703至步骤705,直到所有簇内节点都收到本簇内具有最大节点ID的簇内节点发送的新簇首节点消息;
步骤707:将节点ID最大的簇内节点选举为新的簇首节点;
步骤708:结束;
新的簇首节点选举完成后,将其节点ID设置为0,同时建立地址资源分配表,并通过接收簇内节点发送的刷新消息来维护地址资源分配表的信息。
综上所述,本发明提供的无线传感器网络IPv6地址配置及管理方法,此项技术可以应用于车载网络通信、医疗健康、军事国防等诸多领域,例如,在车载网络通信领域,可将无线传感器网络IPv6地址配置及管理方法应用于获取互联网服务,每台车辆为一个簇,它们配置地址后,可以进行信息通信,由于IP地址定期变更,因此可有效防止通信内容被侦听。因此,本技术具有很高的推广价值。
本发明提供了一种无线传感器网络IPv6地址配置及管理方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (7)
1.一种无线传感器网络IPv6地址配置及管理方法,所述无线传感器网络作为末端网络通过接入路由器连接到互联网,其特征在于,所述无线传感器网络包括三种类型传感器节点:簇首节点,簇内节点和新节点;簇首节点具有路由转发功能;簇内节点不具有路由转发功能,用于采集数据并将采集的数据发送到外界互联网;新节点为未加入簇的节点;
将无线传感器网络划分为多个簇,每个簇由一个簇首节点与一个以上簇内节点构成;所有传感器节点为可移动节点,簇首节点以有状态方式从接入路由器获取IPv6地址,簇内节点通过有状态方式从本簇簇首节点获取IPv6地址集合;
接入路由器、簇首节点以及簇内节点的IPv6地址由三部分组成:第一部分是全局路由前缀,唯一标识一个无线传感器网络,一个无线传感器网络中所有节点的全局路由前缀都相同;第二部分为簇ID,唯一标识一个簇,一个簇中所有簇内节点的簇ID都相同,其值等于簇首节点的簇ID;第三部分为节点ID,唯一标识一个簇内节点;接入路由器的IPv6地址的簇ID以及节点ID为0,簇首节点的IPv6地址的节点ID为0;
初始状态下,每个传感器节点均为新节点且有一个具有网络唯一性的ID值,同时保存一个邻居节点记录表,邻居节点记录表中每个表项包括三个域:邻居节点ID值,邻居节点类型以及生存周期,其中,生存周期随着机器时钟自动衰减,当衰减到0,对应表项自动从邻居节点记录表中删除;传感器节点在一跳范围内定期广播广告消息,消息负载为节点ID、节点类型以及邻居新节点的数量;传感器节点通过接收邻居节点发送的广告消息建立邻居节点记录表;
新节点建立邻居节点记录表后,如果它的邻居节点包含簇首节点,则向邻居簇首节点请求IPv6地址;否则,如果新节点的邻居新节点数量大于所有邻居新节点的邻居新节点数量,或者,如果新节点的邻居新节点数量不小于所有邻居新节点的邻居新节点数量,并且在所有具有相同邻居新节点的邻居新节点中的ID值最小,则新节点建立簇;
新节点建立簇的过程如下所示:
步骤301:开始;
步骤302:新节点向邻居节点记录表中所有邻居新节点发送加入簇的请求消息,消息的源地址为新节点的ID值;;
步骤303:在规定时间内,判断邻居新节点是否收到一个以上的加入簇请求消息,如果是,进行步骤304,否则进行步骤305;
步骤304:邻居新节点对比收到的加入簇请求消息的源地址,向源地址最小的新节点返回一个加入簇响应消息,进行步骤306;
步骤305:邻居新节点向发送加入簇请求消息的新节点返回一个加入簇响应消息;
步骤306:在规定时间内,判断新节点收到的加入簇响应消息的数量是否等于邻居节点记录表中邻居新节点的总数,如果是进行步骤307,否则进行步骤310;
步骤307:新节点向所有邻居新节点发送一个加入簇确认消息,同时将自己标识为簇首节点;
步骤308:在规定时间内,判断邻居新节点是否收到了新节点发送的加入簇确认消息,如果是,进行步骤309,否则进行步骤310;
步骤309:邻居新节点将自己标识为簇内节点,同时记录本簇簇首节点的ID值;
步骤310:结束。
2.根据权利要求1所述的一种无线传感器网络IPv6地址配置及管理方法,其特征在于,接入路由器定期广播广告消息,消息负载为全局路由前缀,接入路由器保存一个地址资源分配表,用于记录已分配的簇ID,地址资源分配表中每个表项包括两个域:簇ID以及生存时间;
簇首节点收到接入路由器广播的广告消息后,根据下述过程获取IPv6地址:
步骤401:开始;
步骤402:簇首节点向接入路由器发送簇ID请求消息,消息的源地址为簇首节点的临时IPv6地址,临时IPv6地址由全局路由前缀及簇首节点的ID值组成;
步骤403:接入路由器收到簇ID请求消息后,将最小未分配簇ID封装到簇ID响应消息中,同时在地址资源分配表中增加一条表项,表项中的簇ID域值为分配给簇首节点的簇ID,然后将簇ID响应消息发送给簇首节点;
步骤404:簇首节点收到簇ID响应消息后,将簇ID响应消息内的簇ID与全局路由前缀相结合形成自己的IPv6地址,其中节点ID为0;
步骤405:结束。
3.根据权利要求2所述的一种无线传感器网络IPv6地址配置及管理方法,其特征在于,簇首节点保存一个地址资源分配表,用于记录已分配的节点ID,地址资源分配表的每个表项由三个域组成:首地址、结束地址和生存时间;
簇内节点在规定时间内收到本簇簇首节点广播的广告消息后,则从本簇簇首节点获取IPv6地址集合,地址集合表示地址区间[首地址,结束地址];簇内节点M从簇首节点H获取IPv6地址集合的过程为:
步骤501:开始;
步骤502:簇内节点M向簇首节点H发送节点ID集合请求消息,消息负载为随机选取的地址集合长度n,n取值范围为自然数;
步骤503:簇首节点H收到节点ID集合请求消息后,查询地址资源分配表,判断是否存在n个连续的未分配地址空间,如果是,进行步骤505,否则进行步骤504;
步骤504:簇首节点H选取当前最大的n’个连续未分配地址空间,n’<n,并向簇内节点M返回一个节点ID集合响应消息,消息负载为分配的首地址S以及分配的地址个数n’,进行步骤506;
步骤505:簇首节点H向簇内节点M返回一个节点ID集合响应消息,消息负载为n个连续空间的首地址S以及地址集合元素个数n;
步骤506:簇首节点H在地址资源分配表中增加一条表项,表项的首地址为S,根据分配的地址个数决定结束地址为S+n-1或者S+n’-1;
步骤507:簇内节点M收到节点ID集合响应消息后,根据分配的地址个数决定将自己的地址集合设置为[S,S+n-1]或者[S,S+n’-1],并在此集合中随机选取一个节点ID,与簇首节点H的全局路由前缀以及簇ID结合形成IPv6地址;
步骤508:结束。
4.根据权利要求2所述的一种无线传感器网络IPv6地址配置及管理方法,其特征在于,新节点X收到邻居簇首节点广播的广告消息后,则从邻居簇首节点获取IPv6地址集合,新节点X从簇首节点H获取IPv6地址集合的过程为:
步骤201:开始;
步骤202:新节点X向簇首节点H发送节点ID集合请求消息,消息负载为随机选取的地址集合元素个数n,n取值范围为自然数;
步骤203:簇首节点H收到节点ID集合请求消息后,查询地址资源分配表,判断是否存在n个连续的未分配地址空间,如果是,进行步骤205,否则进行步骤204;
步骤204:簇首节点H选取当前最大的n’个连续未分配地址空间,n’<n,并向新节点X返回一个节点ID集合响应消息,消息负载为分配的首地址S以及分配的地址集合元素个数n’,进行步骤206;
步骤205:簇首节点H向新节点X返回一个节点ID集合响应消息,消息负载为n个连续空间的首地址S以及分配的地址集合元素个数n;
步骤206:簇首节点H在地址资源分配表中增加一条表项,表项的首地址为S,根据分配的地址个数决定结束地址为S+n-1或者S+n’-1;
步骤207:新节点X收到节点ID集合响应消息后,根据分配的地址个数将自己的地址集合设置为[S,S+n-1]或者[S,S+n’-1],并在此集合中随机选取一个节点ID,与簇首节点H的全局路由前缀以及簇ID结合形成IPv6地址;
步骤208:新节点X将自己标识为簇内节点;
步骤209:结束。
5.根据权利要求3或4所述的一种无线传感器网络IPv6地址配置及管理方法,其特征在于,采用定期更换节点ID的方式实现簇内节点IPv6地址的管理;
如果簇内节点的地址集合为[S,S+m-1],其中,S为节点ID的首地址,m为IPv6地址集合的元素个数,簇内节点则根据下述步骤定期更换IPv6地址:
步骤601:开始;
步骤602:簇内节点随机选取正整数r,r<m;
步骤603:判断簇内节点当前的节点ID是否等于S+r,如果是,则进行步骤602,否则进行步骤604;
步骤604:簇内节点将S+r作为节点ID,并与原来的IPv6地址的全局路由前缀以及簇ID相结合形成新的IPv6地址;
步骤605:簇内节点使用新的IPv6地址与外界通信;
步骤606:结束。
6.根据权利要求1所述的一种无线传感器网络IPv6地址配置及管理方法,其特征在于,簇首节点定期向接入路由器发送刷新消息,接入路由器收到簇首节点的刷新消息后,将地址资源分配表中对应表项的生存时间设置为最大值;
如果接入路由器在最大生存时间内没有收到簇首节点发送的刷新消息,则回收簇首节点的簇ID并将对应的表项从地址资源分配表中删除。
7.根据权利要求1所述的一种无线传感器网络IPv6地址配置及管理方法,其特征在于,簇内节点定期向本簇簇首节点发送刷新消息,消息负载包括簇内节点IPv6地址集合的首地址和结束地址;簇首节点收到簇内节点的刷新消息后,将地址资源分配表中对应簇内节点的表项的生存时间设置为最大值并向簇内节点返回刷新确认消息;如果簇首节点在最大生存时间内没有收到簇内节点发送的刷新消息,则回收簇内节点的IPv6地址集合并将对应的表项从地址资源分配表中删除;
如果簇内节点X在规定时间内没有收到簇首节点的刷新确认消息,则认为簇首节点失效,根据下述过程选举新的簇首节点:
步骤701:开始;
步骤702:簇内节点X在无线传感器网络中广播新簇首节点消息;
步骤703:本簇的另一个簇内节点Y收到新簇首节点消息,判断它的节点ID是否大于簇内节点X的节点ID,如果是,进行步骤705,否则进行步骤704;
步骤704:簇内节点Y继续广播收到的新簇首节点消息,进行步骤706;
步骤705:簇内节点Y放弃新簇首节点消息同时广播一个新簇首节点消息;
步骤706:重复步骤703至步骤705,直到所有簇内节点都收到本簇内具有最大节点ID的簇内节点发送的新簇首节点消息;
步骤707:将节点ID最大的簇内节点选举为新的簇首节点;
步骤708:结束;
新的簇首节点选举完成后,将其节点ID设置为0,同时建立地址资源分配表,并通过接收簇内节点发送的刷新消息来维护地址资源分配表的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210208875.1A CN102694884B (zh) | 2012-06-25 | 2012-06-25 | 一种无线传感器网络IPv6地址配置及管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210208875.1A CN102694884B (zh) | 2012-06-25 | 2012-06-25 | 一种无线传感器网络IPv6地址配置及管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102694884A true CN102694884A (zh) | 2012-09-26 |
CN102694884B CN102694884B (zh) | 2014-05-28 |
Family
ID=46860165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210208875.1A Active CN102694884B (zh) | 2012-06-25 | 2012-06-25 | 一种无线传感器网络IPv6地址配置及管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102694884B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883333A (zh) * | 2012-10-09 | 2013-01-16 | 常熟理工学院 | 一种基于定位信息的无线传感器网络构建方法 |
CN104244230A (zh) * | 2014-10-20 | 2014-12-24 | 常熟理工学院 | 下一代无线网络的组播通信实现方法 |
CN103347101B (zh) * | 2013-06-25 | 2016-02-10 | 常熟理工学院 | 基于簇的6LoWPAN无线传感器网络地址配置方法 |
CN106408905A (zh) * | 2015-07-31 | 2017-02-15 | 中国电力科学研究院 | 一种基于6LoWPAN的电力信息采集装置、系统及方法 |
CN107547676A (zh) * | 2017-05-31 | 2018-01-05 | 新华三技术有限公司 | 一种地址处理方法及装置 |
CN108462761A (zh) * | 2018-03-21 | 2018-08-28 | 常熟理工学院 | 一种高效的传感网络地址配置方法 |
CN108512700A (zh) * | 2018-03-21 | 2018-09-07 | 常熟理工学院 | 一种软件定义网络的数据通信实现方法 |
CN114500258A (zh) * | 2021-12-14 | 2022-05-13 | 四川天邑康和通信股份有限公司 | 家庭智能网关下wifi6路由器下ipv6自动上网配置方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090154395A1 (en) * | 2007-12-17 | 2009-06-18 | Electronics And Telecommunications Research Institute | Wireless sensor network having hierarchical structure and routing method thereof |
CN101707763A (zh) * | 2009-12-03 | 2010-05-12 | 王晓喃 | 一种无线传感器网络IPv6地址自动配置的实现方法 |
CN102056152A (zh) * | 2011-01-06 | 2011-05-11 | 常熟理工学院 | 6LoWPAN无线传感器网络地址自动配置的实现方法 |
CN102158983A (zh) * | 2011-05-04 | 2011-08-17 | 常熟理工学院 | 一种构建6LoWPAN无线传感器网络的实现方法 |
CN102395126A (zh) * | 2011-11-14 | 2012-03-28 | 常熟理工学院 | 一种基于树状结构的移动自组网地址配置实现方法 |
CN102438050A (zh) * | 2011-12-12 | 2012-05-02 | 中国联合网络通信集团有限公司 | IPv6地址配置方法及传感器节点 |
-
2012
- 2012-06-25 CN CN201210208875.1A patent/CN102694884B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090154395A1 (en) * | 2007-12-17 | 2009-06-18 | Electronics And Telecommunications Research Institute | Wireless sensor network having hierarchical structure and routing method thereof |
CN101707763A (zh) * | 2009-12-03 | 2010-05-12 | 王晓喃 | 一种无线传感器网络IPv6地址自动配置的实现方法 |
CN102056152A (zh) * | 2011-01-06 | 2011-05-11 | 常熟理工学院 | 6LoWPAN无线传感器网络地址自动配置的实现方法 |
CN102158983A (zh) * | 2011-05-04 | 2011-08-17 | 常熟理工学院 | 一种构建6LoWPAN无线传感器网络的实现方法 |
CN102395126A (zh) * | 2011-11-14 | 2012-03-28 | 常熟理工学院 | 一种基于树状结构的移动自组网地址配置实现方法 |
CN102438050A (zh) * | 2011-12-12 | 2012-05-02 | 中国联合网络通信集团有限公司 | IPv6地址配置方法及传感器节点 |
Non-Patent Citations (1)
Title |
---|
王晓喃: "无线传感器网络IPv6地址自动配置方案的研究与设计", 《铁道学报》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102883333A (zh) * | 2012-10-09 | 2013-01-16 | 常熟理工学院 | 一种基于定位信息的无线传感器网络构建方法 |
CN102883333B (zh) * | 2012-10-09 | 2014-11-12 | 常熟理工学院 | 一种基于定位信息的无线传感器网络构建方法 |
CN103347101B (zh) * | 2013-06-25 | 2016-02-10 | 常熟理工学院 | 基于簇的6LoWPAN无线传感器网络地址配置方法 |
CN104244230A (zh) * | 2014-10-20 | 2014-12-24 | 常熟理工学院 | 下一代无线网络的组播通信实现方法 |
CN104244230B (zh) * | 2014-10-20 | 2017-08-22 | 常熟理工学院 | 下一代无线网络的组播通信实现方法 |
CN106408905A (zh) * | 2015-07-31 | 2017-02-15 | 中国电力科学研究院 | 一种基于6LoWPAN的电力信息采集装置、系统及方法 |
CN107547676A (zh) * | 2017-05-31 | 2018-01-05 | 新华三技术有限公司 | 一种地址处理方法及装置 |
CN108462761A (zh) * | 2018-03-21 | 2018-08-28 | 常熟理工学院 | 一种高效的传感网络地址配置方法 |
CN108512700A (zh) * | 2018-03-21 | 2018-09-07 | 常熟理工学院 | 一种软件定义网络的数据通信实现方法 |
CN108512700B (zh) * | 2018-03-21 | 2020-10-23 | 常熟理工学院 | 一种软件定义网络的数据通信实现方法 |
CN108462761B (zh) * | 2018-03-21 | 2020-11-20 | 常熟理工学院 | 一种高效的传感网络地址配置方法 |
CN114500258A (zh) * | 2021-12-14 | 2022-05-13 | 四川天邑康和通信股份有限公司 | 家庭智能网关下wifi6路由器下ipv6自动上网配置方法 |
CN114500258B (zh) * | 2021-12-14 | 2023-08-15 | 四川天邑康和通信股份有限公司 | 家庭智能网关下wifi6路由器下ipv6自动上网配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102694884B (zh) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102694884B (zh) | 一种无线传感器网络IPv6地址配置及管理方法 | |
CN102056152B (zh) | 6LoWPAN无线传感器网络地址自动配置的实现方法 | |
CN102572015B (zh) | 一种动态移动自组网络IPv6地址配置的实现方法 | |
CN102014377B (zh) | 基于分布式的无线传感器网络IPv6地址配置实现方法 | |
CN100521660C (zh) | 一种一体化网络移动切换管理的实现方法 | |
CN102594678B (zh) | 一种dvpn大规模组网的方法和客户端 | |
US20180372507A1 (en) | Information sharing method of smart electricity meter, smart electricity meter and acquisition router | |
CN102364970B (zh) | 一种移动自组网络地址自动配置的实现方法 | |
CN102572016B (zh) | 基于簇的分布式移动自组网络IPv6地址配置实现方法 | |
CN102695220B (zh) | 一种基于IPv6的移动自组网络移动切换实现方法 | |
CN102395126B (zh) | 一种基于树状结构的移动自组网地址配置实现方法 | |
CN102209121A (zh) | IPv6网络和IPv4网络之间互通的方法和装置 | |
CN106604344B (zh) | 一种基于rpl的用电信息系统及其组网和通信方法 | |
CN101552783A (zh) | 一种防止伪造报文攻击的方法和装置 | |
CN104243190A (zh) | 一种实现零配置联网协议服务的方法和网络设备 | |
CN102752227A (zh) | 一种电力用户用电信息采集系统的组网方法、站点和系统 | |
Wang et al. | Addressing and privacy support for 6LoWPAN | |
CN102868617A (zh) | 一种p2p网络路由方法及系统 | |
CN106375211B (zh) | Vrrp负载均衡场景中的交换机数据处理方法和交换机 | |
CN102572810B (zh) | 基于多令牌的大规模无线传感网地址自动配置方法 | |
CN102859947B (zh) | 一种邻居发现的方法,装置和系统 | |
CN103200119B (zh) | 一种以太网虚拟化互联站点内负载分担方法和边缘设备 | |
CN103347101B (zh) | 基于簇的6LoWPAN无线传感器网络地址配置方法 | |
CN103167057B (zh) | 一种基于定位信息的车载网地址配置方法 | |
CN102404719A (zh) | 一种异构无线传感网地址自动配置方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170405 Address after: 214205 Jiangsu Province, Yixing city environmental protection science and Technology Industrial Park Jun Zhilu No. 18 Patentee after: Jiangsu Trigiant Sensing Technology Co., Ltd. Address before: 215500 School of computer science and engineering, Changshu Institute Of Technology, Suzhou, Jiangsu, Patentee before: Changshu Science and Engineering College |
|
TR01 | Transfer of patent right |