物联网架构各个层次通讯协议

物联网
如上图所示,本文从以下几个维度对物联网常见的几种协议进行阐述。

如上图所示,本文从以下几个维度对物联网常见的几种协议进行阐述。

一、按网络四层协议分类:

NB-IoT,LORA,WIFI,蓝牙,zigbee,4G都是需要硬件支撑的。

MQTT,COAP,HTTP都是应用层协议,需要连接服务器,现在有很多物联网平台,比如阿里云,腾讯云,华为云等等。

所以(MQTT,COAP,HTTP)是居于(NB-IoT,LORA,WIFI,蓝牙,zigbee,4G)的上层协议物理层中。

二、按需要网关来分类:

  • 不需要网关:NB-IoT,2G/4G/5G(芯片可以直接跟运营商:移动,联通,电信等运营商网络通信。)
  • 需要网关:LORA,WIFI,zigbee(不能直接连上电信运营商,需要通过一个网关中转才能连接网络。)

蓝牙设备之间可以通信。

三、NB-IoT,4G对比:

NB-IoT低功耗,传输小数据,传输速度底,芯片模组和套餐便宜。目前NB基站还较少,不过华为在大力推这个通信方式,相信以后会普及。

2G/4G/5G:传输速度快和可以传输大的数据,但是功耗高,价格贵

WIFI和zigbee对比:

  • wifi 功耗高,传输速率大11-54Mbps,功耗高10-50mA,距离短20-50m。一个路由只能加入较少设备。
  • zigbee功耗低,传输数据慢100Kbps,功耗20mA,可以中继,距离远几百到几千米。一个zigbee网关可以加入成千上万的zigbee设备。

[[318616]]

四、应用层协议:MQTT和COAP对比

1. MQTT

mqtt 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。

是非常轻量化的通信协议,开销很小(固定头部2字节),是订阅/发布通信方式,可以一对多,多对一。是TCP通信协议。有三种方式,至多一次:

  • 最多一次:保证尽力交付,
  • 至少一次:保证消息至少传送一次。但是消息也可以不止一次传递。
  • 只有一次:保证每个消息只被对方接收一次。

在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)、卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

2. coap

  • COAP协议网络传输层由TCP改为UDP。
  • 基于REST,server的资源地址和互联网一样也有类似url的格式,客户端同样有POST,GET,PUT,DELETE方法来访问server,对HTTP做了简化。
  • COAP是二进制格式的,HTTP是文本格式的,COAP比HTTP更加紧凑。
  • 轻量化,COAP最小长度仅仅4B,一个HTTP的头都几十个B了
  • 支持可靠传输,数据重传,块传输。 确保数据可靠到达。
  • 支持IP多播, 即可以同时向多个设备发送请求。
  • 非长连接通信,适用于低功耗物联网场景。

3. DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务

这是大名鼎鼎的OMG组织提出的协议,其权威性应该能证明该协议的未来应用前景。

适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS已经广泛应用于国防、民航、工业控制等领域。

特点:

  • 以数据为中心
  • 使用无代理的发布/订阅消息模式,点对点、点对多、多对多
  • 提供多大21种QoS服务质量策略

协议主要实现:

  • OpenDDS 是一个开源的 C++ 实现
  • OpenSplice DDS

4. XMPP

XMPP是基于XML的协议,由于其开放性和易用性,在互联网及时通讯应用中运用广泛。相对HTTP,XMPP在通讯的业务流程上是更适合物联网系统的,开发者不用花太多心思去解决设备通讯时的业务通讯流程,相对开发成本会更低。但是HTTP协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决。在设计时都是根据互联网应用场景设计的,但是个协议的通病就是根本无法适用物联网设备的多样性,无法适用很多物联网设备对低功耗、低成本的需求,难以在极低资源的物联网设备中运用。

5. HTTP协议

HTTP协议是典型的CS通讯模式,由客户端主动发起连接,向服务器请求XML或JSON数据。该协议最早是为了适用web浏览器的上网浏览场景和设计的,目前在PC、手机、pad等终端上都应用广泛。

缺点是:

  • 开销大,消息头大
  • HTTP通信方式问题,HTTP的请求/应答方式的会话都是客户端发起的
  • 安全性差

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2022-07-27 08:00:00

物联网架构连接设备

2019-10-22 08:00:04

物联网架构物联网IOT

2022-09-14 10:24:54

物联网架构物联网

2015-09-22 14:30:45

物联网网络架构

2018-08-04 05:08:50

物联网架构通信协议IOT

2019-11-26 09:16:09

物联网通讯协议IOT

2019-11-20 22:52:49

物联网通讯协议IOT

2019-11-27 11:12:54

物联网通讯协议IOT

2019-11-20 10:04:21

物联网通讯协议IOT

2021-01-12 21:20:38

物联网架构物联网IOT

2020-01-03 22:14:01

物联网大数据边缘计算

2017-11-08 05:53:07

物联网架构云计算云端

2021-01-21 09:00:00

物联网架构数据

2021-06-09 12:13:53

工业物联网物联网架构物联网

2021-01-15 11:41:36

边缘物联网架构物联网网络物联网

2020-04-21 09:51:28

Kafka数字孪生架构

2023-08-24 16:21:10

2020-11-19 09:19:42

物联网物联网标准物联网协议

2020-09-15 15:04:49

物联网

2010-09-09 14:43:08

TCP IP协议栈
点赞
收藏

51CTO技术栈公众号