基于多令牌的大规模无线传感网地址自动配置方法

著录项
  • CN201110442677.7
  • 20111226
  • CN102572810A
  • 20120711
  • 南京邮电大学
  • 徐佳;王汝传;孙力娟;黄海平;肖甫;沙超;王永利;沐虹霞
  • H04W8/26
  • H04W40/24 H04W8/26 H04L29/12

  • 江苏省南京市新模范马路66号
  • 江苏(32)
  • 南京经纬专利商标代理有限公司
  • 叶连生
摘要
本发明提供一种基于多令牌的大规模无线传感器网络IPv6地址自动配置的实现方法。本发明涉及的节点为三种:IPv6接入点,令牌传感器节点,普通传感器节点。令牌节点负责为其它普通节点分配地址,如果某个拥有2个或以上的令牌的节点收到其它节点的地址分配请求,则通过二分法将一半的令牌分给该节点。某令牌节点和由该令牌节点分配地址的所有普通节点构成一个令牌组,每个令牌组对应一个接入点区内唯一的令牌组ID,每个组成员都对应一个组内唯一的组内ID。一开始接入点拥有全部IPv6地址空间,并根据网络规模确定令牌数量L,并将地址空间分为L个部分,为每个部分分配一个接入点区唯一的令牌组ID。本发明所述方法提供地址分配、节点离开和地址块迁移功能。
权利要求

1.一种基于多令牌的大规模无线传感网地址自动配置方法,其特征在于在该方 法中,无线传感器网络中的每个传感器节点可获取全球唯一的IPv6地址,节点通过 IPv6地址实现彼此的通信以及与IPv6互联网的通信;

本发明涉及的节点为三种:IPv6接入点,令牌传感器节点,普通传感器节点; 接入节点是位置固定的特殊令牌节点,提供网关功能,在本方法中同时还具有令牌 分发和为普通节点分配地址的功能,初始时,网络中只存在IPv6接入点,并具有全 部IPv6地址;IPv6接入点和所有通过该接入点接入IPv6互联网的传感器节点集合 构成接入点区;令牌节点是拥有令牌的节点,获得令牌的节点可以为其它普通节点 分配地址,如果某个拥有2个或以上的令牌的节点收到其它节点的地址分配请求, 则通过二分法将一半的令牌分给该节点;网络中所有不拥有令牌的节点均是普通节 点,普通节点不负责为其它节点分配地址,但能成为其它节点申请地址的代理节点;

所述IPv6地址分配方法以传感器节点与IPv6互联网实现点到点通信为目的, 对不能连接到接入点的传感器节点不负责分配IPv6地址;

某令牌节点和由该令牌节点分配地址的所有普通节点构成一个令牌组,令牌组 内的普通节点称为该临牌组的成员节点,每个令牌组对应一个接入点区内唯一的令 牌组ID,令牌组ID由接入点分配,每个组成员都对应一个组内唯一的组内ID,组 内ID由该令牌组中的令牌节点分配,每个组成员均保存所在组的令牌节点地址;

节点在发送加入申请前,先构造一个临时地址,临时地址是在正式分配IPv6地 址前用于地址申请的临时身份标识;由于临时地址需要保证在接入点范围内唯一, 因此本发明将所述节点的临时地址分为三个部分;第一部分为64比特的全局路由前 缀,第二部分为48比特的硬件地址,第三部分为16比特的随机数,临时地址的总 长度为128比特,所有传感器节点的全局路由前缀均相同,为FEC0:0:0:FFFE::/64;

本发明将所述节点的IPv6地址分为三个部分,第一部分为64比特的全局路由 前缀,所有传感器节点的全局路由前缀均相同,为FEC0:0:0:FFFE::/64;第二部分 为n比特的令牌组ID,第三部分为64‑n比特的组内ID,令牌组内令牌节点的组内 ID为全0,如令牌组ID为ABCD共16比特,则该组内令牌节点的IPv6地址为 FEC0:0:0:FFFE:ABCD:0:0:0;

一开始接入点拥有全部IPv6地址空间,并根据网络规模确定令牌数量L,将地 址空间分为L个部分,为每个部分分配一个接入点区唯一的令牌组ID,等待节点地 址申请消息的到来;

本方法所述基于多令牌的大规模无线传感器网络IPv6地址自动分配方法提供 地址分配、节点离开和地址块迁移功能,这些功能由节点IPv6地址获取、令牌节点 离开、普通节点离开地址回收、IPv6地址块迁移四个子方法构成。

2.根据权利要求1所述的基于多令牌的大规模无线传感网地址自动配置方法, 其特征在于:节点获取IPv6地址的流程如下:

步骤401,节点N使用临时地址在一跳范围内广播加入消息;

步骤402,邻居节点X收到加入消息后,发送一个回复消息给节点N,该回复 消息包含节点X的类型,节点X的类型包括令牌节点、普通节点;

步骤403,节点N等待一段时间后,检查所有收到的回复消息中的节点类型, 若存在来自令牌节点的回复,则进行步骤404,否则进行步骤410;

步骤404,若有多个来自令牌节点的回复,则选择令牌数量多的令牌节点,若 令牌数量相同,则选择第一个回复的令牌节点,节点N向最后选定的令牌节点T发 送一个确认消息;

步骤405,令牌节点T收到来自节点N的确认消息,并检查自身的令牌数量L, 若L大于等于2,进行步骤406,否则进行步骤408;

步骤406,令牌节点T将 个令牌,以及未使用过的一组IPv6地址块发送给 节点N;

步骤407,节点N收到地址块后,将该地址块的第一个IPv6地址即组内ID为 全0的IPv6地址作为自身IPv6地址,剩余的IPv6地址列表保存在本地,发送确认 消息给令牌节点T,进行步骤415;

步骤408,令牌节点T在自身使用的IPv6地址池中选择一个未被使用的地址, 将该地址和更新版本号后的IPv6地址池发送给节点N;

步骤409,节点N收到IPv6地址和地址池后,将该地址作为自身IPv6地址, 将地址池存储在本地,并记录节点T为其令牌节点,发送确认消息给令牌节点T, 进行步骤415;

步骤410,若有多个来自普通节点的回复,则选择第一个发送回复的普通节点 U,节点N向普通节点U发送一个确认消息;

步骤411,普通节点U发送一个请求消息到自身所记录的令牌节点V;

步骤412,令牌节点V检查自身的IPv6地址表,选择一个自身使用的IPv6地 址池中未被使用过的IPv6地址,将该IPv6地址和更新版本号后的IPv6地址分配表 发送给普通节点U;

步骤413,普通节点U将收到的令牌节点V发来的IPv6地址和最新版本的IPv6 地址分配表发送给节点N,并更新自身的IPv6地址分配表版本号;

步骤414,节点N收到IPv6地址和地址池后,将该地址作为自身IPv6地址, 将地址池存储在本地,并记录节点V为其令牌节点,发送确认消息给普通节点U;

步骤415,地址分配过程结束。

3.根据权利要求2所述的基于多令牌的大规模无线传感网地址自动配置方法, 其特征在于:本发明所述上述步骤408令牌节点T,步骤412令牌节点V,在没有 有效地址可供分配时,需要执行IPv6地址块迁移过程,为方便起见,本方法将上述 令牌节点T,令牌节点V统一表示为令牌节点X,IPv6地址块迁移的流程如下:

步骤501,令牌节点X广播地址块请求消息,广播跳数为t跳;

步骤502,若收到地址块请求消息的节点为令牌节点,且存在2个或2个以上 令牌组地址块,则进行步骤503,否则进行步骤504;

步骤503,令牌节点Y随机选择其中一个地址块,将地址块信息发送给令牌节 点X;

步骤504,若令牌节点X在规定时间内收到地址块,进行步骤507,否则,进 行步骤505;

步骤505,若令牌节点X的广播次数到达最大值n,则进行步骤508,否则进行 步骤506;

步骤506,令牌节点X将广播跳数t加1,进行步骤501;

步骤507,令牌节点X发送确认消息到令牌节点Y;

步骤508,地址迁移过程结束。

4.根据权利要求1所述的基于多令牌的大规模无线传感网地址自动配置方法, 其特征在于:普通节点离开地址回收流程如下:

步骤601,普通节点N根据离开的紧迫程度设置一个最长回收时间定时器t;

步骤602,普通节点N发送一个离开请求到自身的令牌节点T;

步骤603,令牌节点T收到离开请求,将该请求中的源端IPv6地址回收,并发 送地址回收确认消息到普通节点N;

步骤604,如果t小于等于零,则进行步骤606,否则进行步骤605;

步骤605,如果普通节点N收到确认消息,进行步骤606,否则进行步骤602;

步骤606,地址回收过程结束。

5.根据权利要求1所述的基于多令牌的大规模无线传感网地址自动配置方法, 其特征在于:令牌节点离开流程如下:

步骤701,令牌节点T根据离开的紧迫程度设置一个最长回收时间定时器t;

步骤702,令牌节点T广播一个n跳的离开请求消息;

步骤703,令牌组内节点N收到该离开请求,发送一个确认消息到令牌节点T;

步骤704,令牌节点T将自己的令牌组IPv6地址池和已分配地址表发送给第一 个发送确认消息的节点N;

步骤705,节点N将收到的令牌组IPv6地址池和已分配地址表保存在本地,并 将自身地址设为未分配;

步骤706,节点N在令牌组内广播一个令牌声明消息;

步骤707,令牌组成员节点收到令牌声明消息后,更新到达节点N的路由表项, 并将到达节点T的路由表项删除,向节点N发送确认消息;

步骤708,若节点N收到所有来自未分配地址表中节点的确认消息,则进行步 骤709,否则进行步骤706;

步骤709,节点N向节点T发送离开确认消息,并将自身IPv6地址改变为令牌 节点T的地址;

步骤710,如果t小于等于零,则进行步骤713,否则进行步骤711;

步骤711,如果节点T收到离开确认消息,进行步骤713,否则进行步骤712;

步骤712,节点T将广播跳数n加1,进行步骤702;

步骤713,令牌节点离开过程结束。

说明书
技术领域

本发明属于计算机网络领域,涉及一种多跳无线网络的IPv6地址配置方法,尤 其是一种适用于大规模无线传感网IPv6地址自动配置方法。

无线传感器网络(Wireless Sensor Networks,WSN)可用于获取并传输自然界或 人工信息到人类世界,对采集到的数据进行必要加工处理,并通过决策机制和管理 机制进一步控制物理实体行为。目前无线传感器网络广泛应用于医疗、交通、电网、 旅游、环保、农业、物流、家居等行业。随着传感器网络应用的不断普及,越来越 多的组织、团体和个人需要获得传感器网络的服务,如传感节点资源共享、传感数 据共享、事件查询、传感器网络管理、物理实体控制等。传感器网络提供透明开放 服务是大势所趋。因此,实现无线传感器网络与IPv6网络的互联互通是必然趋势。 IPv6地址的自动分配问题是面临的首要问题。

传统的互联网设备IP地址分配是基于动态主机配置协议(Dynamic Host  Configuration Protocol,DHCP)的集中式地址分配机制,需要固定的地址分配主机的 支持,并且会带来大量的控制报文开销。无线传感器网络是典型的资源敏感型网络, 包括能量、计算、通信和缓存等能力受限,传统地址分配方法明显不适用于无线传 感器网络。目前,已有一些针对移动自组网的分布式地址自动分配方案。 SOAMAN(Self‑Organizing Node Address Management in Ad‑hoc Networks)是一种基 于分簇的地址管理协议,能有效降低协议开销和分配时延,但单领导节点使得整个 地址配置结构不够健壮。伙伴系统是一种基于状态维护的地址自动分配机制,其优 势是不需要进行DAD(Duplicate Address Detection)检测,但需要在所有节点间周 期性地广播IP地址池以防止地址泄漏。另一些地址配置方法需要通过在全网内进行 DAD检测,能耗较高。

目前在无线传感器网络研究领域并没有相对成熟的地址分配方案,尤其在大规 模无线传感器网络中的地址分配仍有待进一步研究。因此,有必要针对大规模无线 传感器网络设计一种能量有效的IPv6地址自动分配方法。

本发明所要解决的技术问题是针对现有技术的不足,提供一种基于 多令牌的大规模无线传感器网络IPv6地址自动配置的实现方法。

技术方案:本发明公开了一种适用于大规模无线传感器网络的IPv6地址自动配 置方法。在所述方法中,无线传感器网络中的每个传感器节点可获取全球唯一的 IPv6地址,节点通过IPv6地址实现彼此的通信以及与IPv6互联网的通信。

本发明涉及的节点为三种:IPv6接入点,令牌传感器节点,普通传感器节点。 接入节点是位置固定的特殊令牌节点,提供网关功能,在本发明中同时还具有令牌 分发和为普通节点分配地址的功能,初始时,网络中只存在IPv6接入点,并具有全 部IPv6地址。IPv6接入点和所有通过该接入点接入IPv6互联网的传感器节点集合 构成接入点区;令牌节点是拥有令牌的节点,获得令牌的节点可以为其它普通节点 分配地址,如果某个拥有2个或以上的令牌的节点收到其它节点的地址分配请求, 则通过二分法将一半的令牌分给该节点;网络中所有不拥有令牌的节点均是普通节 点,普通节点不负责为其它节点分配地址,但可以成为其它节点申请地址的代理节 点。

由于无线传感器网络内部通信通常是采用更加节约资源的16位短地址,因此本 发明所述IPv6地址分配方法以传感器节点与IPv6互联网实现点到点通信为目的, 对不能连接到接入点的传感器节点不负责分配IPv6地址。

某令牌节点和由该令牌节点分配地址的所有普通节点构成一个令牌组,令牌组 内的普通节点称为该临牌组的成员节点。每个令牌组对应一个接入点区内唯一的令 牌组ID,令牌组ID由接入点分配。每个组成员都对应一个组内唯一的组内ID,组 内ID由该令牌组中的令牌节点分配。每个组成员均保存所在组的令牌节点地址。

节点在发送加入申请前,先构造一个临时地址,临时地址是在正式分配IPv6地 址前用于地址申请的临时身份标识。由于临时地址需要保证在接入点范围内唯一, 因此本发明将所述节点的临时地址分为三个部分。第一部分为64比特的全局路由前 缀,第二部分为48比特的硬件地址,第三部分为16比特的随机数。临时地址的总 长度为128比特。所有传感器节点的全局路由前缀均相同,为FEC0:0:0:FFFE::/64。 例如,某普通节点的硬件地址为ABCD:EFAB:CDEF,随机数为ABCD,则该节点 的临时地址为FEC0:0:0:FFFE:ABCD:EFAB:CDEF:ABCD。

本发明将所述节点的IPv6地址分为三个部分。第一部分为64比特的全局路由 前缀,所有传感器节点的全局路由前缀均相同,为FEC0:0:0:FFFE::/64;第二部分 为n比特的令牌组ID,第三部分为(64‑n)比特的组内ID。令牌组内令牌节点的组内 ID为全0。如令牌组ID为ABCD共16比特,则该组内令牌节点的IPv6地址为 FEC0:0:0:FFFE:ABCD:0:0:0。

一开始接入点拥有全部IPv6地址空间,并根据网络规模确定令牌数量L,将地 址空间分为L个部分,为每个部分分配一个接入点区唯一的令牌组ID,等待节点地 址申请消息的到来。

本发明所述基于多令牌的大规模无线传感器网络IPv6地址自动分配方法提供 地址分配、节点离开和地址块迁移功能。这些功能由节点IPv6地址获取、令牌节点 离开、普通节点离开地址回收、IPv6地址块迁移等四个子方法构成。

节点获取IPv6地址的流程如下:

步骤401,节点N使用临时地址在一跳范围内广播加入消息;

步骤402,邻居节点X收到加入消息后,发送一个回复消息给节点N,该回复 消息包含节点X的类型(令牌节点、普通节点);

步骤403,节点N等待一段时间后,检查所有收到的回复消息中的节点类型, 若存在来自令牌节点的回复,则进行步骤404,否则进行步骤410;

步骤404,若有多个来自令牌节点的回复,则选择令牌数量多的令牌节点,若 令牌数量相同,则选择第一个回复的令牌节点,节点N向最后选定的令牌节点T发 送一个确认消息;

步骤405,令牌节点T收到来自节点N的确认消息,并检查自身的令牌数量L, 若L大于等于2,进行步骤406,否则进行步骤408;

步骤406,令牌节点T将个令牌,以及未使用过的一组IPv6地址块发送给
节点N;

步骤407,节点N收到地址块后,将该地址块的第一个IPv6地址(组内ID为 全0的IPv6地址)作为自身IPv6地址,剩余的IPv6地址列表保存在本地。发送确 认消息给令牌节点T,进行步骤415;

步骤408,令牌节点T在自身使用的IPv6地址池中选择一个未被使用的地址, 将该地址和更新版本号后的IPv6地址池发送给节点N;

步骤409,节点N收到IPv6地址和地址池后,将该地址作为自身IPv6地址, 将地址池存储在本地,并记录节点T为其令牌节点,发送确认消息给令牌节点T, 进行步骤415;

步骤410,若有多个来自普通节点的回复,则选择第一个发送回复的普通节点 U,节点N向普通节点U发送一个确认消息;

步骤411,普通节点U发送一个请求消息到自身所记录的令牌节点V;

步骤412,令牌节点V检查自身的IPv6地址表,选择一个自身使用的IPv6地 址池中未被使用过的IPv6地址,将该IPv6地址和更新版本号后的IPv6地址分配表 发送给普通节点U;

步骤413,普通节点U将收到的令牌节点V发来的IPv6地址和最新版本的IPv6 地址分配表发送给节点N,并更新自身的IPv6地址分配表版本号;

步骤414,节点N收到IPv6地址和地址池后,将该地址作为自身IPv6地址, 将地址池存储在本地,并记录节点V为其令牌节点,发送确认消息给普通节点U;

步骤415,地址分配过程结束。

本发明所述上述步骤408令牌节点T,步骤412令牌节点V,在没有有效地址 可供分配时,需要执行IPv6地址块迁移过程,为方便起见,本发明将上述令牌节点 T,令牌节点V统一表示为令牌节点X。IPv6地址块迁移的流程如下:

步骤501,令牌节点X广播地址块请求消息,广播跳数为t跳;

步骤502,若收到地址块请求消息的节点为令牌节点,且存在2个或2个以上 令牌组地址块,则进行步骤503,否则进行步骤504;

步骤503,令牌节点Y随机选择其中一个地址块,将地址块信息发送给令牌节 点X;

步骤504,若令牌节点X在规定时间内收到地址块,进行步骤507,否则,进 行步骤505;

步骤505,若令牌节点X的广播次数到达最大值n,则进行步骤508,否则进行 步骤506;

步骤506,令牌节点X将广播跳数t加1,进行步骤501;

步骤507,令牌节点X发送确认消息到令牌节点Y;

步骤508,地址迁移过程结束。

普通节点离开地址回收流程如下:

步骤601,普通节点N根据离开的紧迫程度设置一个最长回收时间定时器t;

步骤602,普通节点N发送一个离开请求到自身的令牌节点T;

步骤603,令牌节点T收到离开请求,将该请求中的源端IPv6地址回收,并发 送地址回收确认消息到普通节点N;

步骤604,如果t小于等于零,则进行步骤606,否则进行步骤605;

步骤605,如果普通节点N收到确认消息,进行步骤606,否则进行步骤602;

步骤606,地址回收过程结束。

令牌节点离开流程如下:

步骤701,令牌节点T根据离开的紧迫程度设置一个最长回收时间定时器t;

步骤702,令牌节点T广播一个n跳的离开请求消息;

步骤703,令牌组内节点N收到该离开请求,发送一个确认消息到令牌节点T;

步骤704,令牌节点T将自己的令牌组IPv6地址池和已分配地址表发送给第一 个发送确认消息的节点N;

步骤705,节点N将收到的令牌组IPv6地址池和已分配地址表保存在本地,并 将自身地址设为未分配;

步骤706,节点N在令牌组内广播一个令牌声明消息;

步骤707,令牌组成员节点收到令牌声明消息后,更新到达节点N的路由表项, 并将到达节点T的路由表项删除,向节点N发送确认消息;

步骤708,若节点N收到所有来自未分配地址表中节点的确认消息,则进行步 骤709,否则进行步骤706;

步骤709,节点N向节点T发送离开确认消息,并将自身IPv6地址改变为令牌 节点T的地址;

步骤710,如果t小于等于零,则进行步骤713,否则进行步骤711;

步骤711,如果节点T收到离开确认消息,进行步骤713,否则进行步骤712;

步骤712,节点T将广播跳数n加1,进行步骤702;

步骤713,令牌节点离开过程结束。

有益效果:本发明提供了一种基于多令牌的用于大规模无线传感器网络的IPv6 地址自动配置的实现方法。通过运用本方法,可以为传感网中每个节点分配一个全 球唯一的IPv6地址,实现传感网与外部IPv6网络的点到点通信,可广泛应用于医疗、 交通、电网、旅游、环保、农业、物流、家居等大规模无线传感器网络部署中,尤 其在传感数据共享和传感器网络控制与管理方面具有广阔应用前景。

与技术背景中所提方法比较,本方法采用多个令牌节点共同负责地址分配,使 得地址分配体系更具鲁棒性,同时也分散了令牌节点的通信负载,因而适用于大规 模无线传感器网络。

下面结合附图和具体实施方式对本发明做更进一步的具体说明。

图1是本发明所述的无线传感网IPv6地址自动配置拓扑结构示意图。

图2是本发明所述的节点临时地址结构示意图。

图3是本发明所述的IPv6地址结构示意图。

图4是本发明所述的节点获得IPv6地址流程示意图。

图5是本发明所述的IPv6地址块迁移流程示意图。

图6是本发明所述的普通节点离开时IPv6地址回收流程示意图。

图7是本发明所述的令牌节点离开流程示意图。

本发明提供了一种大规模无线传感网IPv6地址自动配置方法,在所述方法中, 无线传感器网络中的每个传感器节点可获取全球唯一的IPv6地址,节点通过IPv6 地址实现彼此的通信以及与IPv6互联网的通信。

图1所示的是大规模无线传感网IPv6地址自动配置拓扑结构示意图。本发明涉 及的节点为三种:IPv6接入点1,令牌传感器节点2,普通传感器节点3。接入节点 1是位置固定的特殊令牌节点,提供传感器网络与IPv6互联网的网关功能,负责通 信协议转换,在本发明中同时还具有为令牌节点2分发令牌和为普通节点3分配地 址的功能,初始时,网络中只存在IPv6接入点2,并具有全部IPv6地址。IPv6接 入点和所有通过该接入点接入IPv6互联网的传感器节点集合构成接入点区;令牌节 点2是拥有令牌的节点,获得令牌的节点可以为其它普通节点3分配地址,如果某 个拥有2个或以上的令牌的节点收到其它节点的地址分配请求,则通过二分法将一 半的令牌分给该节点;网络中所有不拥有令牌的节点均是普通节点3,普通节点3 不负责为其它节点分配地址,但可以成为其它节点申请地址的代理节点。令牌节点 2和普通节点3是位置固定的,用于收集数据。

由于无线传感器网络内部通信通常是采用16位短地址,因此本发明所述IPv6 地址分配方法以传感器节点与IPv6互联网实现点到点通信为目的,对不能连接到接 入点的传感器节点不负责分配IPv6地址。

某令牌节点2和由该令牌节点分配地址的所有普通节点3构成一个令牌组,令 牌组内的普通节点3称为该临牌组的成员节点。每个令牌组对应一个接入点区内唯 一的令牌组ID,令牌组ID由接入点1分配。每个组成员都对应一个组内唯一的组 内ID,组内ID由该令牌组中的令牌节点2分配。每个组成员均保存所在组的令牌 节点2的地址。

一开始接入点1拥有全部IPv6地址空间,并根据网络规模确定令牌数量L,将 地址空间分为L个部分,为每个部分分配一个接入点区唯一的令牌组ID,等待节点 地址申请消息的到来。

本发明所述基于多令牌的大规模无线传感器网络IPv6地址自动分配方法提供 地址分配、节点离开和地址块迁移功能。这些功能由节点IPv6地址获取、令牌节点 离开、普通节点离开地址回收、IPv6地址块迁移等四个子方法构成。

图2所示为本发明所述的节点临时地址结构示意图。节点在发送加入申请前, 先构造一个临时地址,临时地址是在正式分配IPv6地址前用于地址申请的临时身份 标识。由于临时地址需要保证在接入点范围内唯一,因此本发明将所述节点的临时 地址分为三个部分。第一部分为64比特的全局路由前缀,第二部分为48比特的硬 件地址,第三部分为16比特的随机数。临时地址的总长度为128比特。所有传感器 节点的全局路由前缀均相同,为FEC0:0:0:FFFE::/64。例如,某普通节点的硬件地 址为ABCD:EFAB:CDEF,随机数为ABCD,则该节点的临时地址为FEC0:0:0:FFFE: ABCD:EFAB:CDEF:ABCD。

图3为本发明所述的节点IPv6地址结构示意图。所述节点的IPv6地址分为三 个部分。第一部分为64比特的全局路由前缀,所有传感器节点的全局路由前缀均相 同,为FEC0:0:0:FFFE::/64;第二部分为n比特的令牌组ID,第三部分为(64‑n)比特 的组内ID。令牌组内令牌节点的组内ID为全0。如令牌组ID为ABCD共16比特, 则该组内令牌节点的IPv6地址为FEC0:0:0:FFFE:ABCD:0:0:0。

图4为节点获得IPv6地址流程示意图,节点获取IPv6地址的流程如下:

步骤401,节点N使用临时地址在一跳范围内广播加入消息;

步骤402,邻居节点X收到加入消息后,发送一个回复消息给节点N,该回复 消息包含节点X的类型(令牌节点和普通节点);

步骤403,节点N等待一段时间后,检查所有收到的回复消息中的节点类型, 若存在来自令牌节点的回复,则进行步骤404,否则进行步骤410;

步骤404,若有多个来自令牌节点的回复,则选择令牌数量多的令牌节点,若 令牌数量相同,则选择第一个回复的令牌节点,节点N向最后选择的令牌节点T发 送一个确认消息;

步骤405,令牌节点T收到来自节点N的确认消息,并检查自身的令牌数量L, 若L大于等于2,进行步骤406,否则进行步骤408;

步骤406,令牌节点T将个令牌,以及未使用过的一组IPv6地址块发送给
节点N;

步骤407,节点N收到地址块后,将该地址块的第一个IPv6地址(组内ID为 全0的IPv6地址)作为自身IPv6地址,剩余的IPv6地址列表保存在本地。发送确 认消息给令牌节点T,进行步骤415;

步骤408,令牌节点T在自身使用的IPv6地址池中选择一个未被使用的地址, 将该地址和更新版本号后的IPv6地址池发送给节点N;

步骤409,节点N收到IPv6地址和地址池后,将该地址作为自身IPv6地址, 将地址池存储在本地,并记录节点T为其令牌节点,发送确认消息给令牌节点T, 进行步骤415;

步骤410,若有多个来自普通节点的回复,则选择第一个发送回复的普通节点 U,节点N向普通节点U发送一个确认消息;

步骤411,普通节点U发送一个请求消息到自身所记录的令牌节点V;

步骤412,令牌节点V检查自身的IPv6地址表,选择一个自身使用的IPv6地 址池中未被使用过的IPv6地址,将该IPv6地址和更新版本号后的IPv6地址分配表 发送给普通节点U;

步骤413,普通节点U将收到的令牌节点V发来的IPv6地址和最新版本的IPv6 地址分配表发送给节点N,并更新自身的IPv6地址分配表版本号;

步骤414,节点N收到IPv6地址和地址池后,将该地址作为自身IPv6地址, 将地址池存储在本地,并记录节点V为其令牌节点,发送确认消息给普通节点U;

步骤415,地址分配过程结束。

本发明所述上述步骤408令牌节点T,步骤412令牌节点V,在没有有效地址 可供分配时,需要执行IPv6地址块迁移过程,为方便起见,本发明将上述令牌节点 T,令牌节点V统一表示为令牌节点X。图5为IPv6地址块迁移流程示意图,IPv6 地址块迁移的流程如下:

步骤501,令牌节点X广播地址块请求消息,广播跳数为t跳(本实施例中t 初始化为1,以后由步骤506确定);

步骤502,若收到地址块请求消息的节点为令牌节点,且存在2个或2个以上 令牌组地址块,则进行步骤503,否则进行步骤504;

步骤503,令牌节点Y随机选择其中一个地址块,将地址块信息发送给令牌节 点X;

步骤504,若令牌节点X在规定时间内收到地址块,进行步骤507,否则,进 行步骤505;

步骤505,若令牌节点X的广播次数到达最大值n(本实施例中设置为5),则 进行步骤508,否则进行步骤506;

步骤506,令牌节点X将广播跳数t加1,进行步骤501;

步骤507,令牌节点X发送确认消息到令牌节点Y;

步骤508,地址迁移过程结束。

图6为普通节点离开地址回收流程示意图,普通节点离开地址回收流程如下:

步骤601,普通节点N根据离开的紧迫程度设置一个最长回收时间定时器t,本 实施例中设为1秒;

步骤602,普通节点N发送一个离开请求到自身的令牌节点T;

步骤603,令牌节点T收到离开请求,将该请求中的源端IPv6地址回收,并发 送地址回收确认消息到普通节点N;

步骤604,如果t小于等于零,则进行步骤606,否则进行步骤605;

步骤605,如果普通节点N收到确认消息,进行步骤606,否则进行步骤602;

步骤606,地址回收过程结束。

图7为令牌节点离开流程示意图,令牌节点离开流程如下:

步骤701,令牌节点T根据离开的紧迫程度设置一个最长回收时间定时器t,本 实施例中设为1秒;

步骤702,令牌节点T广播一个n跳的离开请求消息(n初始化为1,以后由步 骤712确定);

步骤703,令牌组内节点N收到该离开请求,发送一个确认消息到令牌节点T;

步骤704,令牌节点T将自己的令牌组IPv6地址池和已分配地址表发送给第一 个发送确认消息的节点N;

步骤705,节点N将收到的令牌组IPv6地址池和已分配地址表保存在本地,并 将自身地址设为未分配;

步骤706,节点N在令牌组内广播一个令牌声明消息;

步骤707,令牌组成员节点收到令牌声明消息后,更新到达节点N的路由表项, 并将到达节点T的路由表项删除,向节点N发送确认消息;

步骤708,若节点N收到所有来自未分配地址表中节点的确认消息,则进行步 骤709,否则进行步骤706;

步骤709,节点N向节点T发送离开确认消息,并将自身IPv6地址改变为令牌 节点T的地址;

步骤710,如果t小于等于零,则进行步骤713,否则进行步骤711;

步骤711,如果节点T收到离开确认消息,进行步骤713,否则进行步骤712;

步骤712,节点T将广播跳数n加1,进行步骤702;

步骤713,令牌节点离开过程结束。

本文发布于:2024-09-24 16:36:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/84894.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议