欢迎来到天天文库
浏览记录
ID:27880505
大小:44.50 KB
页数:9页
时间:2018-12-06
《已多个开源系统为基础,研究6LoWPAN边界路由器.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、已多个开源系统为基础,研究6LoWPAN边界路由器 自从物联网概念的提出,6LoWPAN(IPv6overLowPowerWirelessPersonalAreaNetwork)边界路由器就是主要的研究内容之一。为实现Internet网络与无线传感器网络的互联,IETF工作组早在2004年就提出并制定了基于IPv6的以IEEE802.15.4作为底层标准的低功耗无线个域网6LoWPAN技术标准,其主要包括6LoWPAN适配层、IPv6报头压缩与解压、数据分片与重组、路由协议、IPv6网络接入和节点地址管理技术等。 目前6LoWP
2、AN协议已实现在多种开源系统上,例如6LBR、Contiki,本文采用开源的、高度可移植的6LBR和Contiki操作系统。其中,Contiki是一个开源的专门为需要联网、硬件资源严重受限的嵌入式设备而设计的事件驱动多任务操作系统[2],通过uIP协议栈提供了对IPv4和IPv6的TCP/IP协议的支持,还包含了一套轻量级的无线传感器网络协议栈Rime;同时在IPv6中还实现了6LoWPAN协议、RPL无线路由协议以及应用层协议CoAP。6LBR是为工业应用准备的6LoWPAN/RPL边界路由解决方案,它运行在低成本、开放的硬件平台
3、和Linux主机上,因此6LBR更符合未来边界路由器的发展方向,其设计思路更能满足今后的应用需求。 本文在Contiki和OpenWrt的基础上,将6LBR移植到嵌入式OpenWrt系统上,设计了一种实用的边界路由器。其能够完成IP协议栈和6LoWPAN协议栈之间的转换,使IP网络中的主机可以访问6LoWPAN传感网络中的节点。 1、边界路由器实现方案 OpenWrt是一个基于Linux内核的路由器操作系统,支持各种处理器架构,对拥有ARM架构的TL-WR703N路由器有很好的支持。提供简单易用的环境框架以及模块化设计来构
4、架自己的应用程序,这大大方便了开发应用程序和6LBR移植到OpenWrt系统中。本文在OpenWrt系统的基础上,提出了两种6LoWPAN边界路由器的解决方案,分别是6LBR-OpenWrt边界路由器方案和OpenWrt边界路由器解决方案。 2、6LBR-OpenWrt边界路由器 2.16LBR-OpenWrt边界路由器系统结构 6LBR用于将基于802.15.4与6LoWPAN的无线传感器网络和基于以太网的IPv6网络连接起来。6LBR设计灵活,它可以配置为支持各种网络拓扑结构用于连接无线传感器网络与IP世界。路由器TL-W
5、R703N不能直接与6LoWPAN网络中的网络子节点进行无线通信,要采用运行Contiki程序的CC1310DK芯片,程序带有相关SLIP协议。 2.26LBR的运行模式 6LBR目前有两种运行方式:网桥模式和路由模式。在路由模式中,子节点构成的6LoWPAN无线传感器网络和以太网有不同的网络前缀;在网桥模式中,前缀则一样。文献[2]和文献[4]详细介绍了6LBR的几种模式,网桥模式不再赘述。在本文用到的路由器模式中,6LBR当作一个完整的IPv6路由器,用于连接以太网和6LoWPAN网络。6LoWPAN网络由RPL协议来管理,
6、以太网端通过IPv6邻居发现协议管理。在这种模式下,通过数据包过滤器模块,6LBR向Contiki提供了一个虚拟的接口。路由器模式可以将传感器网络分隔成一个独立的子网,这样能清晰地分辨出无线传感器中的节点;由于网络前缀有切换功能,节点可以在不同的6LoWPAN网络中移动;节点会根据新的网络前缀获得一个新的地址。 2.3软件设计 本文采用路由器模式,CC1310上运行的Slip-radio程序可以实现6LBRLinux进程和802.15.4无线电的通信,通过串口收发数据。MAC(MediumAcessControl)层在6LBR里
7、,驱动方式为载波侦听多路访问(CarrierSenseMultipleAcess,CSMA);RDC(RadioDutyCycling)层在Slip-radio里,MAC层接收RDC层发来的数据,并通过RDC发送数据;如果RDC层检测到数据碰撞,MAC重发此数据。6LBR移植到TL-WR703N路由器上之后,需要在路由器上创建6lbr.conf文件,其主要内容如下: MODE=ROUTER RAW_ETH=0 BRIDGE=1 ETH_JOIN_BRIDGE=0 DEV_BRIDGE=br-lan DEV_TAP=tap
8、0 DEV_ETH=br-lan RAW_ETH_FCS=0 DEV_RADIO=/dev/ttyUSB0BAUDRATE=9600 CC1310DK与TL-WR703N串口连接,路由器上系统会根据串口生成一个虚拟网卡tap0
此文档下载收益归作者所有