物联网标准和协议概述(postscapes)

物联网标准和协议概述
本篇文章是物联网设备和应用程序中涉及协议的概述。帮助澄清IoT层技术栈和不同的协议对比。

物联网涵盖了众多行业和用例,从单一受限设备扩展到嵌入式技术和实时连接的云的大规模跨平台部署。众多传统和新兴的通信协议使设备和服务器能够以新的、更互联的方式相互沟通,将它们联系在一起。

与此同时,数十个物联网联盟正在形成,希望统一这个支离破碎的、有机的物联网格局。

以下是内容摘要:

  • 提供热门协议和标准概览列表,帮助为物联网设备、应用和应用提供动力
  • 细化特定层或行业特定协议
  • 列出对流行协议的比较(例如:mqtt vs xmpp)

1. 协议

我们并没有试图将所有的物联网协议都放在现有的架构模型(如OSI Model)之上,而是将这些协议分成以下几层,以提供某种层次的组织:

  1. 基础架构(例如: 6LowPAN、IPv4/IPv6、RPL)
  2. 标识(例如:EPC、uCode、IPv6、URI)
  3. 通讯/传输(例如:wifi、蓝牙、LPWAN)
  4. 发现(例如:物理Web、mDNS、DNS-SD)
  5. 数据协议(例如:MQTT、CoAP、AMQP、Websocket、Node)
  6. 设备管理(如TR069、OMA-DM)
  7. 语义(例如: JSON-LD, Webthing Model)
  8. 多层框架(例如:Alljoyn、IoTivity、Weave、Homekit)

安全性

  • 垂直行业(家庭、工业等)

基础架构

  • IPv6 -“IPv6,是一种用于包交换互连的Internet层协议,提供跨多个IP网络的端到端数据报传输。
  • 6LoWPAN - "6LoWPAN是IPv6 over Low power Wireless Personal Area Networks的缩写。IPv6 over IEEE802.15.4链路适配层。该协议仅在2.4 GHz频率范围内工作,传输速率为250 kbps。
  • UDP (User Datagram Protocol) -基于Internet Protocol (IP)的客户端/服务器网络应用的简单OSI传输层协议。UDP是TCP的主要替代方案,也是现存最古老的网络协议之一,于1980年引入。UDP通常用于专门针对实时性能进行优化的应用程序。
  • QUIC(快速UDP互联网连接) -支持两个端点之间通过用户数据报协议(UDP)的多路连接集,旨在提供相当于TLS/SSL的安全保护,同时降低连接和传输延迟。以及各个方向的带宽估算,避免拥塞。
  • Aeron -高效可靠的UDP单播、UDP组播和IPC消息传输。
  • uIP-uIP是一个开放源代码的TCP/IP堆栈,能够与微小的8位和16位微控制器一起使用。它最初是由瑞典计算机科学研究所“网络嵌入式系统”集团的亚当·邓克尔斯开发的,获得BSD风格的许可,后来又由众多开发人员进一步开发。
  • DTLS (数据报传输层) -“DTLS协议为数据报协议提供通信保密性。该协议允许客户端/服务器应用程序以旨在防止窃听、篡改或消息伪造的方式进行通信。DTLS协议基于TLS协议,提供同等的安全保障。
  • ROLL/RPL (用于低功耗/有损网络的IPv6路由)
  • NanoIP- “NanoIP,代表纳米互联网协议,是一个概念,旨在将类似互联网的联网服务引入嵌入式和传感器设备,而无需TCP/IP的开销。NanoIP的设计考虑到了最小的开销、无线网络和本地编址。”
  • 内容中心组网(CCN)-“下一代网络架构,解决内容分发扩展性、移动性和安全性方面的挑战。CCN直接在网络包级别路由和传送命名内容,实现在网络位置的内存中自动和应用程序中立的缓存。结果呢?随时随地高效地交付内容。由于该体系结构使这些缓存效果成为数据包传递的自动副作用,因此无需构建昂贵的应用程序级缓存服务即可使用内存。
  • 时间同步网状协议(TSMP)-一种称为motes的无线设备自组织网络的通信协议。TSMP设备之间保持同步,在时隙中通信,与其他TDM(时分复用)系统类似。

发现协议

  • mDNS (多播域名系统)-将主机名解析为不包含本地名称服务器的小型网络中的IP地址。
  • 物理web-通过使用Bluetooth Low Energy (BLE)信标,您可以查看周围环境中的对象正在广播的URL列表。
  • HyperCat -一种开放、轻量级的基于JSON的超媒体目录格式,用于公开URI集合。
  • UPnP (通用即插即用) -现在由开放连接基金会管理,是一组网络协议,允许联网设备无缝地发现彼此在网络中的存在,并建立功能性网络服务,用于数据共享、通信和娱乐。

数据协议

  • MQTT(Message Queuing Telemetry Transport),“MQTT协议以极轻量的方式启用发布/订阅消息传递模型。它对于需要少量代码占用和/或网络带宽高昂的远程位置的连接非常有用。”
  • MQTT-SN (用于传感器网络的MQTT) —一种开放、轻量级的发布/订阅协议,专为机器对机器和移动应用设计
    1、Mosquitto:开源MQTT v3.1 Broker
    2、IBM MessageSight
  • CoAP(受限应用协议) -CoAP是一种应用层协议,用于资源受限的互联网设备,如WSN节点。CoAP设计为易于转换为HTTP ,以简化与Web的集成,同时满足特殊要求,如多播支持、极低的开销和简单性。CoAP的CoRE组提出了以下特性:RESTful协议设计,最小化HTTP映射的复杂度;低报头开销和解析复杂度;URI和内容类型支持;支持已知CoAP服务提供的资源发现。对资源的简单订阅,并产生推送通知,基于max-age的简单缓存。"
    1、SMCP-基于C的CoAP堆栈,适合嵌入式环境。特性包括:支持draft-ietf-core-coap-13,全异步I/O,同时支持BSD套接字和UIP。
  • STOMP -简单文本消息传递协议
  • XMPP (可扩展消息传递和状态协议),实时通信的开放技术,支持多种应用,包括即时消息、在线状态、多方聊天、语音和视频通话、协作、轻量级中间件、内容协同以及XML数据的通用路由。
    1、XMPP-IoT,“在同庄园里,与XMPP默默地创造了人们对人们通信的互操作性。”我们的目标是使通信机器与人,机器与机器可互操作。”
  • Mihini/M3DA,“Mihini代理是一个软件组件,充当M2M服务器和嵌入式网关上运行的应用程序之间的中介。M3DA是针对二进制M2M数据传输而优化的协议。在Mihini项目中,它既可用于设备管理,也可用于设备数据模型的同步通过允许用户应用程序以优化带宽使用的方式与M2M服务器来回交换类型数据/命令。
  • AMQP(高级消息队列协议),“面向消息的中间件的开放标准应用层协议。AMQP的定义特性是消息定向、排队、路由(包括点对点和发布订阅)、可靠性和安全性
  • DDS(实时系统数据分发服务),第一个开放的国际中间件标准,直接处理实时和嵌入式系统的发布-订阅通信。
  • JMS (Java消息服务) -一个Java消息导向中间件(MOM) API,用于在两个或多个客户端之间发送消息。
  • LLAP(轻量级本地自动化协议),“LLAP是一种简单的短消息,在智能对象之间使用普通文本发送,它不像TCP/IP、蓝牙、zigbee、6lowpan、WiFi等,在低层次上实现“如何”移动数据。这意味着LLAP可以在任何通信介质上运行。LLAP的三个优点是,它现在可以运行在任何东西上,将来也可以运行在任何东西上,而且它很容易被人类理解。”
  • LWM2M(轻量级M2M),“LWM2M (Lightweight M2M)是开放移动联盟的一个系统标准。它包括DTLS、CoAP、块、观察、SenML和资源目录,并将它们与对象结构一起编织成设备-服务器接口。
  • SSI (简单传感器接口),一种简单的通信协议,用于计算机或用户终端与智能传感器之间的数据传输。
    Reactive Streams,JVM上无阻塞反压的异步流处理标准。
  • ONS 2.0
  • REST (Representational state transfer) - RESTful HTTP
  • HTTP/2 -通过引入头字段压缩并允许在同一连接上多个并发交换,可以更有效地利用网络资源并降低对延迟的感知。
  • SOAP(简单对象访问协议)JSON/XMLWebHooksJelasticMongoDB
  • Websocket,作为HTML5倡议的一部分开发的WebSocket规范引入了WebSocket JavaScript接口,它定义了一个全双工的单套接字连接,可以在客户端和服务器之间发送消息。WebSocket标准简化了双向Web通信和连接管理方面的许多复杂性。
  • JavaScript / Node.js物联网项目,可在此处找到Contiki,Riot OS等物联网软件项目列表 。

通信/传输层

在这里插入图片描述

  • 以太网
  • WirelessHart ,“WirelessHART技术为各种过程测量,控制和资产管理应用提供了强大的无线协议。”
  • DigiMesh,“DigiMesh是一种专有的点对点网络拓扑,适用于无线端点连接解决方​​案。
  • ISA100.11a ,“ISA100.11a是由国际自动化学会(ISA)开发的无线网络技术标准。官方描述为”工业自动化无线系统:过程控制及相关应用“
  • IEEE 802.15.4 ,IEEE 802.15.4是一种标准,它规定了低速率无线个域网(LR-WPAN)的物理层和媒体访问控制。它由IEEE 802.15工作组维护。它是ZigBee,ISA100.11a,WirelessHART和MiWi规范的基础,每个规范都通过开发IEEE 802.15.4中未定义的上层来进一步扩展标准。或者,它可以与6LoWPAN和标准Internet协议一起使用,以构建无线嵌入式Internet。
  • NFC ,基于标准ISO / IEC 18092:2004,使用中心频率为13.56 MHz的电感耦合器件。与无线传感器网络相比,数据速率高达424 kbps,范围缩短了几米。
  • ANT ,ANT是一种专有的无线传感器网络技术,具有无线通信协议栈,能够在2.4 GHz工业,科学和医疗分配的RF频谱(“ISM频段”)中运行的半导体无线电通过建立共存的标准规则进行通信,数据表示,信令,认证和错误检测。
    -蓝牙 ,蓝牙工作在2.4 GHz ISM频段,并使用跳频。数据速率高达3 Mbps,最大范围为100米。可以使用蓝牙的每种应用类型都有自己的配置文件。
  • Eddystone , - 为接近信标消息定义蓝牙低功耗(BLE)消息格式的协议规范。
  • ZigBee ,ZigBee协议使用802.15.4标准,工作在2.4 GHz频率范围内,速率为250 kbps。网络中的最大节点数为1024,范围最大为200米。ZigBee可以使用128位AES加密。
  • EnOcean, EnOcean是一种能量收集无线技术,其工作频率为欧洲868 MHz,北美315 MHz。建筑物的传输范围高达30米,室外高达300米。
  • WiFi
  • WiMax ,WiMax基于标准IEEE 802.16,适用于无线城域网。固定电台的距离不同,可达50公里,移动设备可达5至15公里。WiMAx的工作频率为2.5 GHz至5.8 GHz,传输速率为40 Mbps。

LPWAN

  • Weightless ,Weightless是一种提议的专有开放式无线技术标准,用于在基站与其周围的数千台机器之间交换数据(在未占用的电视传输信道中使用波长无线电传输),具有高安全性。

  • NB-IoT (窄带物联网),由3GPP标准组织标准化的技术

  • LTE-MTC (LTE机器类型通信) - 基于标准的技术系列支持适用于物联网的多种技术类别,例如Cat-1和CatM1。

  • EC-GSM-IoT (Extended Coverage-GSM-IoT) - 为LPWA(低功率广域)物联网应用实现现有蜂窝网络的新功能。EC-GSM-IoT可以通过在非常大的GSM足迹上部署的新软件激活,为服务IoT设备增加更多的覆盖范围。

  • LoRaWAN - 用于无线电池操作的网络协议区域,国家或全球网络中的事物。

  • RPMA (随机相位多址),采用具有多址的直接序列扩频(DSSS)的技术通信系统。

  • 蜂窝网络,GPRS / 2G / 3G / 4G蜂窝网络
    在这里插入图片描述

语义

  • IOTDB ,“用于描述物联网的JSON /关联数据标准”
  • SensorML, “SensorML提供标准模型和XML编码,用于描述传感器和测量过程。”
  • 语义传感器网络本体 - W3C “这个本体描述了传感器和观测,以及相关概念。它没有描述域概念,时间,位置等,这些都是通过OWL导入从其他本体中包含的。”
  • Wolfram语言 - 连接设备 - “每个设备的符号表示。然后有一组标准的Wolfram语言函数,如DeviceRead,DeviceExecute,DeviceReadBuffer和DeviceReadTimeSeries,它们执行与设备相关的操作。”
  • RAML (RESTful API建模语言) - 使从设计到共享的整个API生命周期变得容易。它简洁 - 您只需编写您需要定义的内容 - 并且可以重复使用。
  • SENML (传感器标记语言的媒体类型) - 简单的传感器(如温度传感器)可以在HTTP或CoAP等协议中使用此媒体类型来传输传感器的测量值或进行配置。
  • LsDL (Lemonbeat智能设备语言) - 面向服务的设备的基于XML的设备语言

多层框架

  • Alljoyn - 一个开源软件框架,使设备和应用程序可以轻松地相互发现和通信。
  • IoTivity 是一个由Linux基金会主办的开源项目,由OIC赞助。
  • IEEE P2413 - 物联网(IoT)架构框架标准
  • Thread - 以6LoWPAN为基础,以开放标准和IPv6技术为基础。
  • IPSO应用程序框架 (PDF), “此设计定义了一组REST接口,智能对象可以使用这些接口来表示其可用资源,与其他智能对象和后端服务进行交互。此框架旨在补充现有的Web配置文件,包括SEP2和oBIX。“
  • OMA LightweightM2M v1.0 ,“ LightweightM2M的动机是开发一种快速部署的客户端 - 服务器规范,以提供机器到机器的服务.LightweightM2M主要是一种设备管理协议,但它应该能够扩展以满足要求LightweightM2M不仅限于设备管理,它应该能够传输服务/应用程序数据。“
  • Weave - 物联网设备的通信平台,支持设备设置,电话到设备到云的通信以及移动设备和网络的用户交互。
  • Telehash - JSON + UDP + DHT = Freedom 一种安全的线路协议,为应用和设备提供分散的覆盖网络

安全

  • 开放信任协议 (OTrP) - 用于安装,更新和删除应用程序以及在可信执行环境(TEE)中管理安全配置的协议。
  • X.509 - 用于管理数字证书和公钥加密的公钥基础结构(PKI)标准。传输层安全协议的关键部分,用于保护Web和电子邮件通信。

2. 垂直领域

  • IEEE 1451:IEEE 1451是一系列智能传感器接口标准,描述了一组开放的,通用的,独立于网络的通信接口,用于将传感器(传感器或执行器)连接到微处理器,仪器系统和控制/现场网络。
  • IEEE 1888.3-2013 - “无处不在的绿色社区控制网络IEEE标准:安全性”
  • IEEE 1905.1-2013 - “用于异构技术的融合数字家庭网络的IEEE标准”
  • IEEE 802.16p-2012 - “用于宽带无线的空中接口的IEEE标准访问系统“
  • IEEE 1377-2012 - ”IEEE标准实用工业计量通信协议应用层“
  • IEEE P1828 - ”带虚拟组件的系统标准“
  • IEEE P1856 - “电子系统预测和健康管理的标准框架”

3. 架构

Credit: Simon Ford - Director of IoT Platforms ARM
在这里插入图片描述
Graphic via Ronak Sutaria and Raghunath Govindachari from Mindtree Labs in “Making sense of interoperability:Protocols and Standardization initiatives in IOT”
在这里插入图片描述
IoT通信协议栈(from IoT-A Initiative)
在这里插入图片描述

IoT - 通信栈,“通信模型旨在定义连接实体的主要通信范例,如域模型中所定义。我们提供参考通信栈,以及洞察域模型中参与者之间的主要交互。我们开发了类似的通信栈ISO OSI 7层网络模型,将域模型所需的功能映射到通信范例。我们还描述了如何将通信方案应用于物联网中不同类型的网络。“

在这里插入图片描述
David E Culler Open Standards Reference Model
Above Graphic: David E. Culler - The Internet of Every Thing - steps toward sustainability CWSN Keynote, Sept. 26, 2011 (Download PPT)
在这里插入图片描述
Graphic: Sensinode: - Zach Shelby: Is the Internet Protocol enough? (Full Presentation)
在这里插入图片描述
Graphic: EU Butler Project - Communication Issues
在这里插入图片描述
Graphic: Tara Salman

4. 联盟和组织

组织:

  • ETSI (欧洲电信标准协会)
    连接物集群
  • IETF (互联网工程任务组)
    CoRE工作组 (约束RESTful环境)
    6lowpan工作组 (IPv6 over low power WPAN)
    ROLL工作组 (低功耗和有损网络路由)
  • IEEE (电气和电子工程师协会)
    物联网“创新空间”
  • OMG (对象管理组)
    数据分发服务门户
  • OASIS (结构化信息标准促进组织)
    MQTT技术委员会
  • OGC (开放地理空间联盟)
    物联网标准工作组的传感器网络
  • IoT-A “针对物联网架构的欧洲灯塔集成项目,提出了一个架构参考模型的创建以及一组初始关键构建块的定义。”
  • OneM2M “ oneM2M的目的和目标是开发技术规范,满足对可以轻松嵌入各种硬件和软件的通用M2M服务层的需求,并依赖于将现场的无数设备与M2M应用服务器连接起来全世界。”
  • OSIOT “一个专注于为新兴物联网开发和推广免版税,开源标准的组织。”
  • IoT-GSI (物联网全球标准倡议)
  • ISA 国际自动化学会
  • W3C
    语义传感器网络本体
    Web of Things社区组
  • EPC Global
  • IEC(国际电工委员会)和ISO(国际标准化组织),通过JTC(联合技术委员会)
  • RRG (路由研究组)
  • HIPRG (主机身份协议研究组)

组织:

  • Eclipse Paho项目 “ Paho项目的范围是提供开放和标准消息传递协议的开源实现,支持M2M与Web和企业中间件和应用程序集成的当前和新兴要求。它将包括在嵌入式平台上使用的客户端实现具有社区确定的相应服务器支持。“
  • OpenWSN “用作基于物联网标准的协议栈的开源实现的存储库,使用各种硬件和软件平台。”
  • CASAGRAS“我们是代表欧洲,美国,中国,日本和韩国的国际合作伙伴的重要组织,他们参加了欧盟战略性的第7框架计划,该计划将审视有关RFID的全球标准,监管和其他问题及其在实现“物联网。”

联盟:

  • AllSeen联盟 ,“AllSeen联盟是一个非营利性联盟,致力于通过一个充满活力的生态系统和蓬勃发展的技术社区支持的开放,通用的开发框架,支持和推动广泛采用支持万物互联的产品,系统和服务”
  • IPSO,“该联盟是一个全球性的非营利组织,通过向公众提供协调的营销工作,为寻求建立互联网协议作为智能对象连接网络的各个社区提供服务。”
  • Wi-SUN联盟 ,Wi-SUN联盟旨在通过促进基于IEEE 802.15.4g标准的全球区域市场互操作性来推进无缝连接。
  • OMA(开放移动联盟),“OMA是开发市场驱动,可互操作的移动服务推动者的领先行业论坛”
    OMA LightweightM2M v1.0
  • 工业互联网联盟, “成立于2014年,旨在进一步开发,采用和广泛使用互联机器,智能分析和工作人员”

5. 其他资源

通用
“理解互操作性:物联网协议和标准化倡议”,(2013)Sutaria。R.和Govindachari,R
“许多不同的标准化机构和团体正在积极致力于为物联网创建更多可互操作的协议栈和开放标准。当我们从HTTP,TCP,IP堆栈转移到IOT特定协议栈时,我们突然面临以协议的首字母缩略词 - 来自无线协议,如ZigBee,RFID,蓝牙和BACnet tonext生成协议标准,如802.15.4e,6LoWPAN,RPL,CoAP等,试图统一无线传感器网络和已建立的互联网。“

“ 物联网的体系结构和协议”,(2010)AP Castellani,N Bui,P Casari,M Rossi,Z Shelby,M Zorzi的案例研究
“ (重要)物联网的标准化协议栈 ”,(2012)Maria Rita Palattella,Nicola Accettura,Xavier Vilajosana,Thomas Watteyne,Luigi Alfredo Grieco,Gennaro Boggia和Mischa Dohler。
“ 用于智能对象的轻量级IPv6堆栈:三个独立且可互操作的实现的体验 ”智能对象的互联网协议(IPSO)AByJulienAbeillé,Mathilde Durvy,Jonathan Hui,Stephen Dawson-Haggerty
“ 智能物体需要一种新的互联网工程方法 ”作者:Carolyn Duffy Marsan IETF期刊2012年3月
“ 超越互操作性 - 推动传感器网络IP栈的性能 ”作者:JeongGil Ko,Joakim Eriksson,Nicolas Tsiftes,Stephen Dawson-Haggerty,Jean-Philippe Vasseur,Mathilde Durvy,Andreas Terzis,Adam Dunkels和David Culle
为什么智能对象的IP? Jean-Philippe Vasseur和Adam Dunkels
超越MQTT:思科对物联网协议的看法 - 思科
网络拥塞和轻量级协议 - Telit
Iot和M2M协议的选择将决定市场的出现和成功 - Michael Holdmann
标准推动物联网 - 扎克谢尔比
了解物联网 - Ronak Sutaria和Raghunath Govindachari | 电子设计
了解物联网背后的协议 (MQTT,XMPP,DDS,AMQP) - 电子设计
消息传递技术:DDS,AMQP,MQTT,JMS和REST之间的比较 (PDF)PrismTech
真是太棒了!第2部分 - 网络架构和协议
MQTT和CoAP,IoT协议 - Toby Jaffey

背景文章
半导体工程: 物联网行业标准在哪里? (10/16)

MQTT
用于M2M的MQTT和DDS:物联网的不同方法 - RTJ
建立物联网 --DDS 与MQTT Angelo Corsaro
MQTT将实现物联网 - Andy Stanford-Clark的电子设计
MQTT和DDS作为物联网的M2M协议的比较 - 实时创新
QEST 是说MQTT的设备世界和讲HTTP和REST的应用程序世界之间的星际门。
使用MQTT将Arduino连接到物联网 --Chris Larson
MQTT简介 (PDF) - 戴夫洛克
MQTT和物联网的语言 - Housahedron
探索物联网协议 (MQTT和CoAP) - SparkFun

CoAP协议
CoAP简介M2M的REST协议 - 作者 Julien Vermillard
与物联网的REST - 嵌入式软件商店合作
CoAP教程 - 扎克谢尔比
具有REST优势的无线传感器网络节点:CoAP协议 - WSN杂志
针对m2m和物联网场景的CoAP课程 - Carlos Ralli

XMPP
统一弥合差距:将XMPP引入物联网 (PDf) - Michael Kirsche,Ronny Klauck
M2M和IoT的XMPP服务发现扩展 - Servicelab
基于XMPP的物联网服务基础设施 (PDF) - Sven Bendel,Thomas Springer,Daniel Schuster,Alexander Schill,Ralf Ackermann,Michael Ameling
使用IoT和XMPP在现实世界中工作 - 对于Hvac来说是道路 - Michael Holdmann

AMQP
将物联网与AMQP整合 (PDF) - RedHat
AMQP和消息传递的未来之一 --David Goehrig

RESTful HTTP
RESTful HTTP在实践中 - Infoq
RESTful API的事件模型 - Michael Koster
物联网让我们共同拥抱 - 博世
寻找物联网服务架构:REST还是WS- *?开发者的观点 (PDF) - Dominique Guinard, Iulia Ion和 Simon Mayer

LwM2M
使用开源LwM2M实现管理所有大小的东西 --BenjaminCabé


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值