基于6LoWPAN的物联网轻量级寻址系统的制作方法

文档序号:14179070阅读:347来源:国知局
基于6LoWPAN的物联网轻量级寻址系统的制作方法

本发明属于物联网ip寻址技术领域,尤其涉及一种基于6lowpan的物联网轻量级寻址系统。



背景技术:

物联网ip寻址技术依托6lowpan(ipv6overlow-powerwirelesspersonalareanetworks)协议和contiki操作系统的快速进步为实现无线传感器网络和互联网之间的双向通信成为可能。物联网终端包括了各种各样的设备,怎样把其依照某种编码形式接入物联网以及完成他们之间的寻址构建通讯是亟待解决的问题。物联网寻址技术作为其核心技术之一,设备以某种特定形式连入互联网的前提下,从而完成物联网中任何终端精确及高效率的寻址。



技术实现要素:

针对目前异构网络之间的寻址问题,本发明提出了一种基于6lowpan的物联网轻量级寻址系统,其不仅具有高的传输速度以及低的丢包率,而且相对于linux内核的实现方式其实现难度大大降低。

为达到上述目的,本发明所采用的技术方案是:

基于6lowpan的物联网轻量级寻址系统,包括感知节点、6lowpan网关和ipv6主机,其中所述6lowpan网关包括6lowpan适配器、网络适配驱动模块和linux内核,所述感知节点与所述6lowpan适配器连接,所述6lowpan适配器与所述网络适配驱动模块连接,所述网络适配驱动模块与所述linux内核连接,所述linux内核与所述ipv6主机连接;

所述6lowpan适配器用于接收、解析以及转发源自所述感知节点的数据包;所述网络适配驱动模块用于6lowpan功能的封装;所述linux内核用于处理ipv6网络层及其以上的协议。

较佳的,所述6lowpan适配器包括802.15.4驱动器、usb串口驱动模块和用于保存数据帧的packetbuf-6c模块,其中所述802.15.4驱动器包括依次连接的mac驱动器、rdc驱动器和radio驱动器,所述感知节点与所述radio驱动器连接,所述mac驱动器通过所述usb串口驱动模块与pc机相互通讯,所述usb串口驱动模块和所述802.15.4驱动器分别与所述packetbuf-6c模块读写连接。

较佳的,所述pc机配置有packetbuf-gw模块,所述usb串口驱动模块分别与所述packetbuf-6c模块和所述packetbuf-gw模块读写连接。

较佳的,所述packetbuf-6c模块和所述packetbuf-gw模块的构造以及大小相同。

较佳的,所述网络适配驱动模块包括packetbuf-gw模块、usb串口驱动模块和6lowpan控制器,所述6lowpan适配器通过所述usb串口驱动模块与所述6lowpan控制器连接,所述usb串口驱动模块与所述packetbuf-gw模块读写连接;所述6lowpan控制器分别与所述packetbuf-gw模块和sk_buffer模块读写连接,用于匹配和交换所述packetbuf-gw模块和所述sk_buffer模块之间的数据;tcp/ip协议栈与所述sk_buffer模块读写连接,位于所述linux内核的ethernetmac/phy与所述ipv6主机连接。

较佳的,所述6lowpan适配器配置contiki操作系统。

较佳的,所述6lowpan适配器采用ieee802.15.4收发设备。

较佳的,所述linux内核配置于pc机上。

较佳的,所述网络适配驱动模块配置于pc机上。

与现有技术相比,本发明的有益技术效果在于:

本发明提出的6lowpan网关把气适配层功能封装于pc机上的虚拟网络适配驱动中,很大程度上缩小了改变pc机内核的繁杂程度;

本发明运用ieee802.15.4收发设备当做6lowpan适配器,同时配置contiki操作系统,可完成ieee802.15.4数据包的接收以及发送,随之把其传送至网络适配驱动模块完成处理;

本发明提出的基于虚拟网络驱动的6lowpan网关具有相对很高的传输速率以及很低的丢包率,相对于linux内核的实现形式其完成难度在很大程度上降低了。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

图1为本发明的感知节点经过6lowpan网关和互联网主机的基本交互流程图;

图2为本发明的感知节点和ipv6主机之间的协议栈通讯流程图;

图3为本发明的6lowpan网关的结构框图;

图4为本发明的6lowpan适配器的结构框图;

图5为本发明的6lowpan适配器和pc机接口的连接图;

图6为本发明的网络适配驱动模块及其接口的结构框图;

图7为本发明的不同网关的数据包传输速率对比图;

图8为本发明的不同网关的数据包丢包率对比图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。

如图1所示,感知节点经过6lowpan网关和互联网主机的基本交互流程包括两个阶段:网络初始化阶段和数据传输阶段。感知节点发送路由请求信息至6lowpan网关,然后其把包括上下文信息的路由回复消息发送至请求节点。感知节点发送请求信息至相邻路由器或网关节点完成地址注册,随之6lowpan网关完成再一次地址检测,然后回复应答消息至感知节点。

运用分别配置了linux及contili操作系统的pc机级ieee802.15.4收发设备完成6lowpan网关的关键功能,进而使得6lowpan网关能够完成源自无线传感器网络与互联网的数据包的处理,感知节点经过6lowpan网关完成和ipv6主机通信的协议栈流程,如图2所示。

根据图2能够获知,6lowpan网关包括6lowpan适配器、网络适配驱动模块以及linux内核,详见图3。

如图3所示,6lowpan适配器主要用于处理物理层以及数据链路层,其完成实体为ieee802.15.4收发设备;网络适配驱动模块主要用于完成6lowpan功能的封装,其为pc机上实现的一个虚拟驱动;linux内核主要用于完成ipv6网络层级其以上的协议处理,在pc机上完成。经过上述三个部分的相互配合,pc机能够在很大程度上在维持linux内核不变的情况下完成6lowpan的逻辑。另外,6lowpan适配器由于不需要完成其数据包处理而在很大程度上提升了全部网关的数据处理功能。

contili作为运用c语言开发的一种轻量级嵌入式操作系统,其所需要的存储空间相对来说很小,仅仅需要2kb的ram及40kb的rom就能够完成其标准系统配置。

6lowpan适配器经过usb接口完成和pc机的连接,其关键是完成接收以及转发源自感知节点的802.15.4数据包,同时完成数据包的解析,随之将其经过usb接口传送至pc机。

6lowpan适配器的结构框图见图4。其中radio驱动器关键是完成rf处理器cc2420的驱动,同时完成无线信道的监测,然后经过无线rf接口b完成数据的传输;rdc驱动器关键完成ieee802.15.4数据包的处理,同时完成rf信号的周期测试以及节能机制;mac驱动器完成和usb串口驱动模块的相互通讯,经过接口a传送数据包。接口c即rs232经过usb串口驱动模块完成和pc机的联通。packetbuf-6c模块关键是完成数据帧的保存,进而在很大程度上可以缩小由于pc端和适配器端的处理速度不相匹配而致使的丢包情况。usb串口驱动模块通过调用这个缓存,同时结合其他三个驱动单元共同完成数据的保存以及传输等工作。

如图5所示,usb串口驱动模块关键是完成packetbuf-6c和packetbuf-gw两个缓存模块之间的数据传输工作。packetbuf-gw模块的构造以及大小和packetbuf-6c模块保持相同。接口之间数据的相互通讯逻辑如下:

①由6lowpan适配器至pc机:6lowpan适配器中的mac驱动器通过调用usb串口驱动模块完成硬件终端的启动,然后packetbuf-6c模块中的数据包传送到packetbuf-gw模块内;如果传送完成,usb串口驱动模块通过调用pc机中的6lowpan控制器完成其相应数据包的处理。

②由pc机至6lowpan适配器:6lowpan控制器开启usb串口驱动模块以及硬件终端,然后packetbuf-gw模块中的数据传送到packetbuf-6c模块内;如果传送完成,那么usb串口驱动模块通过调用6lowpan适配器中的mac驱动器实现数据包的封装,同时经过radio驱动器完成数据包的传送,最后经过rdc驱动器返回结果。

6lowpan网关是无线传感器网络与互联网之间的边界路由,在网关中除了需运行tcp/ip协议外,还需要运行6lowpan协议及其邻居发现协议,如图6所示。

6lowpan适配层的全部功能除了邻居发现协议外都由网络适配驱动模块完成。在网络适配驱动模块中的6lowpan控制模块需要执行首部压缩与解压缩,数据包分片与重装等机制。数据包分片将存储在packetbuf-gw模块中,而重装好的数据包将会发送给tcp/ip协议栈。同时,6lowpan控制器还需要实现packetbuf-gw模块与sk_buffer模块之间的数据匹配与交换。当6lowpan控制器完成了数据包的分片与首部压缩后,调用usb串口驱动模块经过接口a读取packetbuf-gw模块中的数据,然后经过接口c把处理后的数据包发送给6lowpan适配器;当usb串口驱动模块接收到来自6lowpan适配器发送的数据包后,调用6lowpan控制器经过接口a读取packetbuf-gw模块中的数据并执行重装机制。

运用配置有msp430处理器的isense-sky430开发板当做是6lowpan适配器,其能够提供的芯片内存、ram以及闪存分别是48k、10k以及1m字节,其在很大程度上能够符合contiki操作系统的要求。rf处理器cc2420关键是完成接收以及传送ieee802.15.4数据包,其能够达到最高传输速率为250kbps。另外isense-sky430开发板还能够运用usb串口完成和pc机的连接,从而完成6lowpan网关功能。6lowpan网关设备的硬件信息见表1。

表1

为了检验网关对节点的数据包传输速率、网络丢包状况以及吞吐量等的影响,设定于不同的时间间隔中感知节点发送数据包数据为200,其各个数据包拥有127个字节,依照接收到的数据包数目以及发送时间运算其丢包率以及传输速率,同时完成基于该网关分别与基于微处理器mcu及内核linux处理方式网关的对比分析,其结果分别见图7和图8。

如图7所示,三种设置的网关的传输速率依着间隔时间的不断升高而慢慢升高。linuxhost与虚拟网络适配驱动的传输速率相比来说几乎没有太大的区别。然而微处理器mcu方式下的网关在很大程度上受到ieee802.15.4收发设备的硬件局限,与其他两种方式相比,其传输速率在很大程度上显著很低。

如图8所示,三种设置的网关的丢包率依着间隔时间的不断升高而逐渐降低。当传输间隔是1s时,linuxhost下的网络数据包丢包率以及基于虚拟网络适配驱动的丢包率大概在3%,从而表明:在传输过程中,丢包情况是无法避免的。当传输间隔是0.3s时,虚拟网络适配驱动和linuxhost的数据包丢包率在很大程度上小于10%,其传输速率大概是5.8kbps。另外,基于微处理器mcu的网关其网络丢包率从始至终均保持在一个相对很高的水平,其关键的一个原由就是ieee802.05.4设备的处理速率和pc机的处理速率不相匹配,同时没有设定缓存机制。

经过上述分析能够获知,当运用linux内核或基于虚拟网络适配驱动完成6lowpan的关键机制时,其网络的性能在很大程度上几乎是一致的,然而经过变化linux内核来完成6lowpan适配层的难度在很大程度上远远高于运用虚拟网络适配驱动的方式。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1