一种基于OpenWrt操作系统的6LoWPAN边界路由器的实现方法与流程

文档序号:14267352阅读:1380来源:国知局
一种基于OpenWrt操作系统的6LoWPAN边界路由器的实现方法与流程

本发明涉及一种基于openwrt操作系统的6lowpan边界路由器的实现方法。



背景技术:

6lowpan作为wsn和ipv6技术结合的产物,既继承了ipv6巨大的地址空间的优势,又满足了无线传感网低功耗的要求,受到了越来越多无线传感器网络使用者的喜爱。就6lowpan网络自身特性而言,它应当和某些外部网络互连,使外部网络可以监测和控制6lowpan网络才具有更实际的意义;而ip网络作为目前的主流网络,如何实现该网络与6lowpan网络的连通,是目前亟待解决的问题。

openwrt作为一个功能强大的开源路由器linux系统,用户可以很方便地对其进行定制、优化,从而实现自己的功能需求。



技术实现要素:

有鉴于此,本发明的目的在于提出一种基于openwrt操作系统的6lowpan边界路由器的实现方法,成功解决了6lowpan网络与ip网络之间异构网络互通的问题,对于无线传感网的发展及促进异构网络之间的无缝融合具有深远的意义。

根据上述发明目的,本发明通过以下技术方案来实现:

一种基于openwrt操作系统的6lowpan边界路由器的实现方法,包括如下步骤:

当边界路由器的射频接口接收到了6lowpan子网发送来的比特流后,先需要经过适配层对数据包进行分片整合,整合成一个完整的ipv6数据包;

之后传递到网络层,经由rpl路由协议判定数据包的目的地址是否是在6lowpan网络中:如果是,则转发数据包到6lowpan网络中;如果不是,则继续判断数据包的目的地址前缀是否属于6lowpan网络:如果属于,则因为没有目的端的路由,丢弃;如果不属于,则转发到ipv6接入模块;

在ipv6接入模块中,先判断是否存在目的地址的路由:

如果存在,则直接发送到相应的ipv6主机;如果不存在目的端的路由,则应进行邻居发现操作,根据结果对数据包做出相应处理。

本发明提出了一种基于openwrt操作系统的6lowpan边界路由器的实现方法,通过在边界路由器上分别实现两种协议栈,并在协议栈之间建立slip通道来实现数据包在两种异构网络之间的转发和路由,通过对边界路由器进行ping命令的测试,证明该方案是可行的;能够实现6lowpan网络和ipv6网络主机之间的通信。而在现实应用中,可以作为物联网设备接入互联网的中间网关设备随着物联网设备的大量使用,该设备具有广价值。

附图说明

图1为本发明的边界路由器的系统架构图;

图2为本发明边界路由器的系统拓扑图;

图3为本发明中6lowpan边界路由器的硬件结构图;

图4为本发明中6lowpan边界路由协议栈结构图;

图5为本发明openwrt系统的软件结构图;

图6为本发明contiki系统的软件结构图;

图7为slip通道的数据处理流程;

图8为6lowpan数据帧的处理流程图。

具体实施方式

为让本领域的技术人员更加清晰直观的了解本发明,下面将对本发明作进一步的说明。

系统架构

6lowpan边界路由器作为连接ipv6网络和6lowpan网络的桥梁,需要同时提供两种网络的接入功能,以及数据包在两种不同网络之间的转发和路由。本发明的6lowpan边界路由器系统构架如图1所示,主要包括底层硬件、设备驱动、操作系统及上层应用部分;该边界路由器通过自身的以太网接口与ipv6网络进行通信,而与6lowpan网络之间的通信,则通过基于iee802.15.4的射频模块来实现。系统拓扑如图2所示。

系统硬件设计

6lowpan边界路由器主要用来帮助一些能力受限的6lowpan节点接入ipv6网络,基于以上目的,该边界路由设备在硬件设计上需具备较好的协议执行能力和一定的处理能力。本文设计的6lowpan边界路由器的硬件结构设计如图5所示,主要包括以太网接入部分和6lowpan网络接入部分,两部分之间通过串口连接。

以太网接入部分主控芯片选用的是台湾雷凌(ralink)科技公司推出的一款高集成低成本soc芯片rt5350f。该芯片是一颗高性能的mips24kccpu内核,最高主频为360mhz,较高的主频保证了一定的处理能力。除此之外,该部分采用16mbflash闪存作为程序存储器,采用32mb的16bitsdram作为内存,可以嵌入完整的tcp/ip网络协议,实现强大的网络通信功能,同时还能有足够的空间用于安装程序以及依赖库,满足用户的功能扩展需求。

由于rt5350f只提供了iee802.11协议的射频接口,而6lowpan协议目前是建立在iee802.15.4标准上,所以需要采用其他芯片来提供6lowpan网络接入的功能支持。本发明采用以cc2530f256芯片为主的射频接入模块及其外部功能拓展电路,提供向6lowpan网络的接入。

为实现两种异构网络的互连#边界路由器必须同时具有ipv6和6lowpan标准。虽然6lowpan协议是由ipv6协议转变而来,但该协议具有自己的特殊性:它包含一个适配层来实现ip数据包在iee802.15.4链路上的传输。

由于ipv6数据包的最大传输单元为1280b,而iee802.15.4定义mac层的每一帧的长度为127b,这样就会造成ipv6数据报和iee802.15.4帧在长度上的不匹配,许多ipv6数据包不能完整地放进一个iee802.15.4帧中进行传输。为了解决这一问题,ipv6数据包需要在适配层进行分片和重组,同时还要对数据包的头部进行压缩,以适应iee802.15.4帧的大小。

根据以上情况,对iee802.15.4边界路由器协议栈部分进行了如图4示的设计:先分别实现ipv6iee802.15.4协议栈,然后通过slip(seriallineinternetprotocol)协议在两种协议栈间建立一个串行通信链路,让两种异构网络能够通过该链路进行ip数据报的传输,从而实现两种异构网络之间的通信。

ipv6接入模块

该模块的建立主要采用openwrt操作系统来完成。该系统使用uclibc、busybox和shell解释器等,通过嵌入式linux工具,提供硬件抽象层和软件包管理,系统的内部组成如图5所示。用户只需要重新编译uclibc和软件包以匹配目标架构,从而获得在不同嵌入式设备上相同的应用程序。鉴于openwrt嵌入式系统的诸多优点,它非常适合应用于ip网络接入模块。

6lowpan接入模块

6lowpan接入模块主要是基于contiki操作系统实现,该系统作为一个可以高度移植、支持多任务环境并且开源免费的嵌入式操作系统,非常适合用于6lowpan接入模块的设计。该系统的软件结构如图6所示,主要由三部分组成uip协议栈、rime协议栈和上层应用程序。uip是一个小型的符合rfc规范的tcp/ip协议栈,使得contiki可以直接和internet通信。uip协议栈主要任务是处理由底层驱动收到的数据包,或者将需要转发的数据包交由底层设备驱动来实现数据包转发。而其包含的网络层rpl协议,则提供了6lowpan的组网功能。

mac层的rime是一个轻量级的、为低功耗无线传感器网络设计的协议栈,该协议栈提供了大量的通信原语,能够实现从简单的一跳广播通信到复杂的可靠多跳数据传输等通信功能。

上层应用程序主要包括桥接程序和边界路由程序,前者用于通过slip串口实现数据包向rpl接口的转发。它是rpl数据收发转换的中间层.后者负责向ip接入模块请求本节点的子网前缀。初始化6lowpan接入模块,并定时维护组建的6lowpan网络。

两种协议栈之间通道的建立

两个协议栈之间通道的建立主要借助tun虚拟网卡驱动和slip协议来实现。其中tun虚拟网卡驱动主要用来接收来自tcp/ip协议栈的网络数据包并发送,或者反过来将接收到的网络数据包传给协议栈处理;同时该部分还要承担在点对点设备传输过程中,对数据包进行相应封装的任务。至于封装格式,主要由点对点设备传输方式决定,本文采用的是slip协议,是在链路层上传输的串行线路网际协议,主要对要传输的ip数据包进行简单的封装,即加上相应的头部和尾部,并对数据包进行适当的修改,防止头部和尾部的误判。

以上通道的建立主要在openwrt系统上实现,通过一个tunslip6程序来建立相应的虚拟网卡和slip封装,具体的slip通道处理数据的流程可以用图7来描述。

整个边界路由的运行过程

当边界路由器的射频接口接收到了6lowpan子网发送来的比特流后,先需要经过适配层对数据包进行分片整合,整合成一个完整的ipv6数据包。之后传递到网络层,经由rpl路由协议判定数据包的目的地址是否是在6lowpan网络中。如果是,则转发数据包到6lowpan网络中,如果不是,则继续判断数据包的目的地址前缀是否属于6lowpan网络;如果属于,则因为没有目的端的路由,丢弃;如果不属于,则转发到ipv6接入模块;在ipv6接入模块中,先判断是否存在目的地址的路由,如果存在,则直接发送到相应的ipv6主机;如果不存在目的端的路由,则应进行邻居发现操作,根据结果对数据包做出相应处理。整个过程如图8所示。

本发明提出了一种基于openwrt操作系统的6lowpan边界路由器的实现方法,通过在边界路由器上分别实现两种协议栈,并在协议栈之间建立slip通道来实现数据包在两种异构网络之间的转发和路由,通过对边界路由器进行ping命令的测试,证明该方案是可行的;能够实现6lowpan网络和ipv6网络主机之间的通信。而在现实应用中,可以作为物联网设备接入互联网的中间网关设备随着物联网设备的大量使用,该设备具有广价值。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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