« 首页 - 西安必信达软件技术有限公司 - BXDSOFT.COM
一种6LoWPAN网络架构的逻辑地址分配 及映射协议栈设计
「在实际应用中,IEEE 802.15.4规范是低速率无线个人网络的标准,使用6LoWPAN为其网络协议,要求将内部的IPv6地址转换为外部IPv4地址,从而实现无线传感器网络的设计。为使家庭传感器网络连接到Internet,设计一种基于简化映射协议栈和逻辑地址分配方案的系统架构,其中主要对IPv6和IPv4地址的哈希函数进行匹配。此外,设计一个动态地址协议和端口映射模型来处理由传感器位置移动或电能耗尽所引起的频繁的网络结构变化。在实验中,构建家庭传感器网络网关来说明该模型的可行性。实验结果表明,网关具有较低的延迟时间,可以对传感器的移动做出迅速响应,以更少的信息交换过程重组家庭网络。(2022-10-4)」
关键词: 逻辑地址分配; 映射协议栈; 6LoWPAN; 传感器网络; 系统架构设计; 系统测试
  中图分类号: TN926?34; TP393.1                文献标识码: A                       文章编号: 1004?373X(2020)14?0067?05
  Design of logical address assignment and mapping protocol stack based on 6LoWPAN network architecture
  LI Qinjun, LU Jin, WANG Mingwei, YANG Ping
  (College of Electronic Information and Artificial Intelligence, Shaanxi University of Science and Technology, Xi’an 710021, China)
  Abstract: IEEE 802.15.4 specification is the standard for low?rate wireless personal network. When using 6LoWPAN as its network protocol, it is required that the internal IPv6 address should be converted into an external IPv4 address, so as to achieve the design of wireless sensor networks. The system architecture based on simplified mapping protocol stack and logical address allocation scheme is designed to connect the home sensor network to the Internet, from which the hash function of IPv6 and IPv4 addresses are mainly matched. In addition, a dynamic address protocol and port mapping model are designed to deal with the frequent network structure changes caused by the sensor location moving or power depletion. In the experiment, a family sensor network gateway is built to illustrate the feasibility of the model, and the experimental results show that the gateway has lower delay time, can respond quickly to the movement of sensors, and restructure the family network with much less information exchange process.
  Keywords: logical address assignment; mapping protocol stack; 6LoWPAN; system architecture design; system testing
  0  引  言
  連接数字设备的家居网络和连接互联网的无线传感器节点已经成为无线传感器网络的重要应用领域。为适应大量家居传感器网络接入互联网的需求,故而采用6LoWPAN技术,通过在网络层与数据链路层之间引入一个适配层,来实现基于IEEE 802.15.4通信协议的底层网络与基于IPv6协议的网络的相互融合。IPv6在地址空间、报文数据帧格式和安全性等方面相较于IPV4都具有明显的优势,是下一代互联网网络层的关键技术之一。
  6LoWPAN适配层完成的功能主要包括:对IPv6数据包进行分片与重组来提高传输效率;自动配置网络地址;对IPv6报文分组进行报头压缩,降低IPv6使用开销;使用更有效的路由算法来提高路由效率。
  本文设计一种架构,旨在将家庭网络与互联网通过逻辑地址映射协议整合。为了解决家居网络中的系统不稳定问题和动态变化问题,设计一个动态地址分配协议和基于IEEE EUI?64地址端口映射模型。地址协议中有两个解决算法,一个是参数算法,它在节点需要连入家庭网络时选择一个适当的邻节点转发信息。该算法确保新的节点可以有效地加入家庭网络中,避免网络结构动态变化时产生过多的延迟。另一个是分配地址租用时间的算法。它依据节点统计频率来动态调整节点的生存时间。端口映射模型是基于IEEE EUI?64地址的,能够映射节点TCP/IP端口的IEEE EUI?64地址,从而解决地址冲突问题。为了验证这个架构,构建一个家庭网络网关,其结果表明,该解决方案在节点频繁地加入及离开家庭网络,甚至网络突然断开的情况下需要进行的信息交换更少,并且延迟时间更短。   1  系统架构
  系统网络结构如图1所示,网关系统结构如图2所示。家庭网络中的传感器是基于IEEE 802.15.4的MAC层和物理层的。在IEEE 802.15.4 MAC层之上的6LoWPAN适配层,使节点能够发送和接收从IPv6数据包压缩而来的压缩6LoWPAN数据包。系统架构利用基于IEEE EUI?64地址的动态地址协议和端口映射模型[1]。
  当一个新的节点请求加入到家庭网络中时,执行地址分配协议。通过动态算法检查并记录节点的状态。端口映射模型用于根据其IEEE EUI?64地址计算节点的逻辑地址。当一个节点与互联网客户端通信时,使用协议转换机制,在6LoWPAN数据包与IPv6/IPv4数据包之间实现转换。
  1.1  地址协议
  假设家庭网络是基于mesh?under路由模型的,网关和节点之间的逻辑距离是一跳,节点获取基于无状态地址自动配置方式的地址。定义一个节点的IPv6地址是由三个域组成:前缀、IEEE EUI?64地址和用户自定义。前缀:家庭网络标识符。一般的网关有这个前缀,并将它分配到节点。IEEE EUI?64地址:由IEEE定义,并在生产制造过程中生成,它可以唯一地标识节点。IEEE EUI?64地址和IPv6地址是一一对应映射的。用户定义:根据实际需求,这个域是由用户定义的。在某些路由协议中,它由设备类型或其他信息定义。在本系统中,使用16位短地址作为缺省值,广泛应用于各种路由协议[2]。
  例如,一个节点的IEEE EUI?64地址为:23EF:4598:FF01:345F,其32位前缀为2000:F021,16位地址为00EF,那么能够给出IPv6地址为2000:F021:23EF:4598:FF01:345F:00EF。
  地址分配的过程包括消息切换和租用时间检测方法。
  1.2  报文交换
  当节点第一次加入家庭网络时请求IPv6地址,通过将消息交换到网关来实现该地址请求。为了简化过程和降低损耗,要进行三次消息交换。其中,邻节点就是指在某个节点通信范围内的节点[3]。
  其实现过程如下:
  1) 节点A请求连接到家庭网络,它发送请求消息到网关。请求消息由IEEE EUI?64地址、设备类型信息和16位短地址等组成。
  2) 节点A基于选择算法选择邻节点,并发送请求消息。当网关接收到该请求消息,将计算出租用时间和地址并发送响应消息到节点A。
  3) 如果节点A在规定的时间内从网关接收到响应消息,则发送一个确认消息到网关;否则,节点A将根据选择算法选择另一个邻节点,并继续发送报文,直到接收到响应消息。
  4) 接收确认消息后,网关将节点A注册到设备表中,记录信息,如设备信息、IEEE EUI?64地址、租用时间等。通过以上过程,新节点加入到家庭网络中,并被分配给一个IPv6地址[4]。
  下面的算法给出一个新节点第一次连接到家庭网络时选择邻节点来发送消息的方法。首先给出一些与之相关的定义如下:
  定义S是描述节点属性的参数集合。属性个数为n,每个属性代表实际的内存大小、功率、信号质量等。
  定义属性集合Q来供新节点选择要发送信息的邻节点。
  定义R为特征参数的代数关系。
  基于Q定义邻节点的条件。例如,一个节点可能需要选择一个有超过200 KB内存和有充足能量供应的邻节点。其可以描述为:
  另外,R与Q中的参数序号是对应的,且离散数据要依据实际情况进行处理[5]。计算过程如下:
  在上述计算过程中,当一个新的节点请求加入到家庭网络时,会检测它的邻节点J,其具有参数集S,然后比较S与条件Q及R中对应的每个子元素。比较结果有三种类型:-1,0和1。
  1) -1:S在Q中没有参数K;
  2) 0:S在Q中有参数K,但不满足条件R;
  3) 1:S在Q中有参数K,并符合条件R。
  最后,可以得到矢量P:P={x1,x2,…,xn},xi∈{-1,0,1}。
  定義
  式中,m是参数的数目。
  节点计算其邻节点的相关性。当节点请求加入到家庭网络时,它选择拥有最大P值的节点为邻节点并向其发送消息。如果未能申请到地址,则类似地选择拥有第二大P值的节点为邻节点。
  1.3  租用时间检测
  传感器可以频繁地加入或退出家庭网络。这就要求网关必须知道每个节点的状态。这里提出一个方案,定期检测节点状态并根据节点退出或加入网络的速率动态分配租用时间[6]。定义三种类型的节点状态:有效、离开、无效。有效状态描述该节点当前是在网络中且租用时间未到期;离开状态描述节点不响应查询消息,但是租用时间不为零;无效状态描述节点不响应查询消息,且租用时间为零。
  当一个新节点加入家庭网络中,网关将默认为它设定一个租用时间t0。网关记录和管理每个节点的租用时间。当节点的租用时间到期,网关将发送一个查询消息到该节点。如果节点仍在家庭网络中,它返回一个确认消息到网关。网关会记录节点为“有效”状态,并通过参数f·Δt增大租用时间。f是描述节点离开或加入家庭网络频率的参数。当前节点的租用时间是t+f·Δt。如果节点不响应查询消息,网关将把节点记录为“离开”状态,并按照每次f·Δt降低其租用时间,则租用时间变为t-f·Δt。如果租用时间为零,则节点状态为“无效”。网关将删除节点的所有信息[7],注意节点时间要小于tmax。
  定义
  式中:n是在家庭网络中的节点数;[fi=pimi]。参数[pi]是网关发送消息到节点的时间,参数mi是节点响应网关的时间。   最终结果是稳定节点拥有更多的租用时间,而不稳定节点会根据其当前速率获得租用时间。如果一个节点已经离开家庭网络很长一段时间,其租用时间会变为零,网关将删除它的记录。
  1.4  端口映射模型
  将家庭网络与互联网相连接,由于IPv4的地址空间有限,渐渐不适应大量传感器网络应用对地址空间的需求,因此,本文提出一种基于IEEE EUI?64端口映射地址来解决地址的限制和冲突问题。该地址唯一确定一个节点,定义一个哈希函数来映射地址端口。将所有的映射地址都存储到在动态过程中建立的哈希表中[8]。
  一般的IEEE EUI?64地址是一个16位的十六进制数,端口是一个5位的十进制数。因此,我们将IEEE EUI?64地址转换成十进制数,并将数据记录为一个一维矩阵E,这里:E=[e1,e2,…,en],i≤16,且ei∈{0,1,2,…,15}。
  哈希函数定义如下:
  式中,ω是一个整合乘积因子。哈希值随着ω的增大而越来越分散[9]。为了使H值小于99 999,需要设置ω为一个适当的值。经测量后发现当ω∈[-82,81]时,结果满足要求,且ω的最佳值为15。设定H值为节点的端口,通过计算H1=H2条件测试哈希冲突,得到:
  由此得到ω=-1。可得出结论:当ω≠0和1时,Hash函数可以避免冲突。举例说明Hash函数的工作原理。假设一个节点的IEEE EUI?64地址为23EF:4598:FF01:345F,且有ω值是23,可以计算得到哈希值为2 716。因此,给节点分配一个值为2 716的端口。假设网关的IPv4地址是202.114.23.64,互联网设备通过IP地址和端口与该节点通信,例如,202.114.23.64:2716。当接收到数据包时,网关检查目的端口,并使用端口从哈希表得到节点的IEEE EUI?64地址。因此,可以根据IEEE EUI?64获取IPv6地址且IPv6地址是一对一映射的。IPv6的地址是2000::4598::00EF FF01:345F F021:23EF。需要将客户端的IPv4地址映射为IPv6地址。
  本文中,定义客户端的IPv6地址由IPv6地址前缀和客户端IPv4地址组成。如上所述,IPv6前缀为2000:F021,并且设定客户端IPv4地址是201.12.116.26,因此客户端的IPv6地址是2000:F021:201.12.116.26,是在32位IPv6前缀地址的后面直接附加IPv4地址得到的。端口不需要改变。这个地址映射也是一对一映射,因为客户端IP地址是不同的。地址映射案例框图如图3所示。
  最后,IPv4客户端可以访问传感器节点,节点也可以通过反向地址转换响应IPv4客户端,因为所有的地址映射都是一对一的映射。
  2  实  验
  为了测试架构的有效性,建立一个家庭网络网关平台,在Linux 2.6操作系统和Tiny OS系统下实现地址协议和数据转换框架。
  使用Tmote?sky作为家庭网络节点。实验中,一个由USB接口连接到PC机的Tmote?sky节点作为网关,其余若干个Tmote?sky节点作为家庭网络节点,充当符合具有6LoWPAN协议的传感器节点,通过2.4 GHz无线网络连接到网关。具有IPv4和IPv6地址的不同电脑通过网关与家庭网络节点进行通信。
  分别从IPv4和IPv6环境下的计算机发送一些命令到IPv6环境下的传感器节点。传感器节点按照相应的命令进行打开/关闭LED等操作,或将传感器采集到的数据返回发送命令的计算机。
  图4显示了分组的转换过程。传感器节点使用6LoWPAN数据包发送和接收信息。当从互联网接收数据包时,网关将IPv4/IPv6数据包转换为6LoWPAN包并转发给每个目标传感器节点。当从传感器节点接收数据包时,网关将6LoWPAN数据包转换为IPv4/IPv6数据包。
  本文在基于上述逻辑地址分配及映射协议栈的网络架构实现的网络中进行数据包收发的实验,验证系统网关在网络变动情况下对节点发出的数据包传输速率、网络丢包情况的影响。设置在不同的时间间隔内使感知节点发送200个数据包,每个数据包包含127个字节,根据接收到的数据包数量以及发送时间计算数据包的传输速率和丢包率。该实验的测试网关包括基于本文网络架构下的网关、基于虚拟网络适配驱动架构的网关以及基于微处理器的通用架构网关三种。
  测试结果如图5和图6所示。从图中可以看出,随着间隔时间的增大,网关的数据包传输速率均呈上升趋势,并且随着发送时间间隔的增大,丢包率随之下降。
  從图5中可以看出,在本系统架构网关和虚拟网络适配驱动网关之间传输速率差别不大,本系统架构网关包传输速率稍占优。但基于微处理器的通用架构网关由于受到协议执行效率及设备硬件条件的影响,与其他两种方式相比,传输速率明显较低。
  一般情况下,传输过程中丢包是不可避免的。从图6中可以看到,当发送时间间隔设置为1 000 ms时,本系统架构下的网络数据包丢包率最低,在3%左右。虚拟网络适配驱动的丢包率在5%左右。而当传输间隔为700 ms时,本系统架构网络与虚拟网络适配驱动丢包率均约为6%,数据包传输速率在7 Kb/s左右。基于微处理器的通用架构网关丢包率远高于前两者。分析其中主要原因是在没有设置缓存机制情况下IEEE 802.15.4设备的处理速率与PC机的处理速率不匹配。
  3  结  语
  本文介绍一种直接连接家庭传感器网络到标准IP网络的系统架构。该架构旨在解决家庭网络中如节点失效、频繁加入或离开网络等不稳定问题,提出一种三次消息交换地址分配协议,在该协议中,使用一种算法来选择邻节点转发消息。还提出一种基于IEEE EUI?64地址映射的数据转换方法。在本框架中,在映射IPv4地址和IPv6地址时,每个地址映射端口、节点或设备都通过IP地址和端口进行标记,这样就通过使用端口表增加了IPv4地址的利用率。映射IP地址端口,最重要的问题是解决端口重复映射冲突。在本框架中,使用哈希函数来计算端口值,在哈希函数中,每个IP地址只有一个哈希值,且两个不同的IP地址不会出现相同的哈希值,这样就解决了端口重复映射碰撞问题。使用IPv4地址作为同一节点的IPv6地址的后缀,可以提高地址映射的稳定性,并提高映射速度。应用基于本架构的网关,评估本文中的方法。评估结果表明,网关在大数据包和高负载的情况下,延迟时间低,并且在大量节点频繁加入或离开家庭网络情况下具有较好的鲁棒性。   在后续研究中,将引入更多的应用性能优化、离线数据处理、服务发现和数据挖掘。此外,将设计出新的技术来改进地址协议和数据转换模块。最后计划在真正的家庭环境使用网关来证明本文方法的鲁棒性和有效性。
  参考文献
  [1] NAM S J, KANG J, MOON D. Adaptation of 6LoWPAN to ship area sensor networks with wired Ethernet backbone and performance analysis [C]// 2014 14th International Conference on Control, Automation and Systems. Seoul: IEEE, 2014: 967?970.
  [2] MOHIUDDIN J, BHADRAM V, PALLI S, et al. 6LoWPAN based service discovery and RESTful web accessibility for Internet of Things [C]// 2014 International Conference on Advances in Computing, Communications and Informatics. New Delhi: IEEE, 2014: 24?30.
  [3] LUO Juan, HU Jinyu, ZHANG Yuxi, et al. Data aggregation in 6LoWPAN [C]// China Conference on Wireless Sensor Networks. Heidelberg: Springer, 2015: 520?529.
  [4] WANG Ruchuan, FU Xiao. Advances in wireless sensor networks [C]// China Conference on Wireless Sensor Networks. Hangshan: Springer, 2014: 203?210.
  [5] CHEN Jianjun. Energy?saving mechanism design for 6LOWPAN wireless sensor network [J]. Computer modeling and new technologies, 2014, 18(12): 603?609.
  [6] LUO Bingqing, SUN Zhixin. A dynamic context management scheme for 6LoWPAN [J]. Journal of computational information systems, 2015, 11(9): 3155?3163.
  [7] MOHAMMED M S K J, AHMAD R B, ONG B L, et al. WSN mobility management schemes based on 6LoWPAN supporting the Internet of Things: a review [J]. Australian journal of basic and applied ences, 2015, 9(36): 177?187.
  [8] HUANG Zucheng, YUAN Feng. Implementation of 6LoWPAN and its application in smart lighting [J]. Journal of computer and communications, 2015, 3(3): 80?85.
  [9] AL?KASEEM B R, AL?DUNAINAWI Y, AL?RAWESHIDY H S. End?to?end delay enhancement in 6LoWPAN testbed using programmable network concepts [J]. IEEE Internet of Things journal, 2018, 109(10): 11?16.
  [10] 王晓喃,董绘,杨媛,等.6LowPAN无线传感器网络路由研究[J].铁道学报,2014,36(2):49?54.
  [11] PASTRONE Claudio, SPIRITO Maurizio A, VINKOVITS Mark. Denial?of?service detection in 6LoWPAN based Internet of Things [C] // IEEE 9th International Conference on Wireless and Mobile Computing, Networking and Communications. Piscataway: IEEE, 2013: 600?607.
  [12] MA Li, WANG Guoqing, MA Dongchao, et al. IP communication optimization for 6LoWPAN?based wireless sensor networks [J]. Sensors and transducers, 2014, 174(7): 81?87.
(忽肢)
点击进入「必信达创业合作论坛」下一篇:基于STOF架构的Web3.0时代LAM合作创新服务模式及策略研究 »
Copyright © 1999-2022 西安必信达软件技术有限公司