常见的物联网通信协议

1 TCP

TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。

特点:

  • 面向连接
  • 可靠通信方式
  • 基于流的方式

缺点:

  • 花销大
  • 设备必须时刻保持连接状态(功耗大)
  • 消耗时间比较久

2 UDP

用户数据报协议(UDP,User Datagram Protocol)支持一个无连接的传输协议。

特点:

  • 不需要连接
  • 速度快
  • 不需要应答

缺点:

  • 不可靠

TCP和UDP比较:
在这里插入图片描述
UDP更适合对功耗要求低、可靠性要求不算高的场合。


3 HTTP

HTTP是基于客户/服务器模式,且面向连接的(建立在TCP之上)。典型的HTTP事务处理有如下的过程:

  • 客户与服务器建立连接;
  • 客户向服务器提出请求;
  • 服务器接受请求,并根据请求返回相应的文件作为应答;
  • 客户与服务器关闭连接。

缺点:

  • 必须由客户端主动向服务器发送请求,服务器无法主动通知客户端。
  • 要实现HTTP需要更多的硬件资源(硬件成本更高)。

结论: 不适合物联网。


4 MQTT

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议(TCP)。

机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

特点:

  • 特别适合于网络代价昂贵,带宽低、不可靠的环境。
  • 能在处理器和内存资源有限的嵌入式设备中运行。
  • 使用发布/订阅消息模式,提供一对多的消息发布,从而解除应用程序耦合。
  • 使用 TCP/IP 提供网络连接。
  • 提供Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

5 CoAP

CoAP(Constrained Application Protocol)是一种在物联网世界的类web协议,名字翻译来就是“受限应用协议”。

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

COAP和MQTT的比较:
在这里插入图片描述
MQTT协议是保持连接的,所以及时性相对很好;
CoAP协议是无连接响应式通讯,因此不能主动推送,要等客户端访问才可以携带回去,及时性相对较差。


6 LwM2M

LwM2M的全称是Lightweight Machine-To-Machine,它的名称里面包含了这么两个重要含义:
1)这个协议是轻量级的;
2)这个协议适用于物联网设备。

LwM2M是适用于资源有限的终端设备管理的轻量级物联网协议。

在这里插入图片描述


参考资料:

  1. 5G物联网云平台智能家居项目30天搞定

猜你喜欢

转载自blog.csdn.net/SlowIsFastLemon/article/details/106998138