欢迎来到天天文库
浏览记录
ID:5249674
大小:41.00 KB
页数:17页
时间:2017-12-07
《基于受限网络应用层协议物联网应用代理探究和实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于受限网络应用层协议物联网应用代理探究和实现 摘要:针对物联网(IoT)三层结构的研发独立性带来的应用研发高技术瓶颈问题,提出了基于受限网络应用层协议(CoAP)的解决方案。该方案在实现CoAP的基础上开发了CoAPHTTP网络代理,允许用户通过浏览器直接访问物联网节点,进行资源发现、数据查询和资源订阅等。经测试,代理模式未影响系统的响应速率,代理运行稳定,可支持多用户同时对物联网节点数据访问。CoAP代理模式能够有效帮助应用开发人员规避底层开发与数据交换开发复杂性,辅助其独立生成新的应用,为物联网应用开发提供了新的思路。关键词:物联网;6Lo
2、WPAN;受限网络应用层协议;网络代理;WebSocket0引言自2005年国际电信联盟(InternationalTelecommunicationsUnion,ITU)提出物联网(InternetofThings,17IoT)的概念以来,已经经历了8年科研与市场领域的不断探索与尝试。虽然目前物联网设计与实现的标准化建设还在进行中,但通过多年的实践与发展,物联网逐渐形成了相对稳定的体系结构。从功能角度来看,目前物联网体系结构大多可分为3层:感知层、网络层和应用层[1]。感知层由多种物联网节点设备组成,负责信息的采集;网络层由多种网络协议与网关组成
3、,负责信息的接收、解析与转发;应用层则是最终呈现在用户面前,与实际行业需求相结合的物联网智能应用。目前,针对物联网应用的开发也是围绕这3个层次进行,需要对底层节点、通信协议以及上层界面分别开发实现。这样的开发模式大大增加了开发的成本,提升了物联网应用开发的技术瓶颈[2];但同时也不利于物联网应用的拓展与创新,即用户实际接触的主要是应用层的界面与功能,而大部分的上层应用设计与开发人员无法直接获取物联网节点数据,实现独立开发,这也断绝了很多物联网业务拓展与创新的源头。基于受限网络应用层协议(ConstrainedApplication17Protoco
4、l,CoAP)是一个专门面向低功耗的物联网,支持IPv6的,轻量级的网络传输协议。CoAP采用了与HTTP类似的特征,两种协议可以实现相互的映射。网络应用开发是大部分上层应用开发人员所擅长的,如果能够提供一种网络代理,让用户能够通过浏览器,直接访问到对应的物联网节点,获取或订阅该节点所感知的数据,这将大幅度降低物联网应用的开发难度,进一步实现物联网数据共享,提升物联网应用创新的可能性。1现有研究针对物联网应用开发的复杂性与高成本问题,目前的解决方案多是开发一套网关中间件,通过网关中间件实现与底层节点的通信。中间件在完成数据的接收、解析后,可以将数据
5、存储入数据库,让应用层通过WebService或直接访问获取数据;当然亦可以通过XMLRPC(XMLRemoteProcedureCall)或其他端口转发,将数据直接传输给上层应用,从而实现应用开发与底层开发分离[3-4]。中间件技术在一定程度上解决了该问题,但是由于中间件没有统一的标准,需自定义数据的接收与解析格式,对底层开发的普及造成了一定的困难;同时应用层对数据库的访问也存在各种各样的现实问题,很难实现数据的共享。CoAP的出现,给了人们一种新的解决思路。2010年3月,互联网工程任务组(InternetEngineeringTaskForc
6、e,IETF)成立了CoRE(ConstrainedRestfulEnvironment)工作组,旨在为受限的IP网络提供符合REST(REpresentationStateTransfer)架构的应用层协议,也就是现在的CoAP[5]。CoAP也即是IETF工作组提出的6LoWPAN(IPv6overLowpowerWirelessPersonalArea17Networks)协议栈下的应用层协议。6LoWPAN协议栈可以使物联网节点通过网关与传统网络实现互联,而其协议栈结构也与传统互联网协议结构相似,如图1所示。6LoWPAN协议栈的物理层(P
7、hysicalLayer,PHY)与链路层的媒体访问控制(中文名称与英文缩写不一致,请作相应调整。MediaAccessControl,MAC)采用基于IEEE的802.15.4标准,能够为在个人区域网络(10m左右)工作的简单器件,提供低能量消耗、低速率、低成本的组网传输协议。在网络层采用IPv6协议,并在其中添加了适配层,从而降低IP协议对运行环境要求,以适应传感器网络低功耗的需求[6]。传输层采用了资源消耗小、处理速度快、面向事务的用户数据报协议(UserDatagramProtocol,UDP),但也由于UDP传输的不可靠性,而时常发生包丢
8、失的问题,因此需要在应用层协议中进一步完善包检测与重发机制[7]。CoAP作为该协议栈的应用层协议,拥有较短的报头,降低了
此文档下载收益归作者所有