目前市面上大多数IoT模组都支持TCP、UDP、CoAP、LwM2M、MQTT等协议,这里面既有传输层的协议也有应用层的协议,协议众多,适用的场景也不一样。可是设计产品时一般只须要运用一种协议,那么怎么来选择一种符合本身产品的应用场景的协议显得尤其重要。本文将介绍TCP、UDP、CoAP、LwM2M、MQTT这5个经常使用的协议的特色与区别,为设计产品时协议的选择提供参考。web
传输层协议TCP与UDP
TCP(传输控制协议,Transport Controll Protocol)、UDP(用户数据报协议,User Data Protocol)同属于传输层协议,为上层用户提供级别的通讯可靠性。安全
传输控制协议(TCP):TCP(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采起的措施。协议规定了TCP软件怎样识别给定计算机上的多个目的进程如何对分组重复这类差错进行恢复。协议还规定了两台计算机如何初始化一个TCP数据流传输以及如何结束这一传输。TCP最大的特色就是提供的是面向链接、可靠的字节流服务。服务器
用户数据报协议(UDP):UDP(用户数据报协议)是一个简单的面向数据报的传输层协议。提供的是非面向链接的、不可靠的数据流传输。UDP不提供可靠性,也不提供报文到达确认、排序以及流量控制等功能。它只是把应用程序传给IP层的数据报发送出去,可是并不能保证它们能到达目的地。所以报文可能会丢失、重复以及乱序等。但因为UDP在传输数据报前不用在客户和服务器之间创建一个链接,且没有超时重发等机制,故而传输速度很快网络
TCP和UDP的区别
差别
TCP
UDP
是否链接
面向链接
面向非链接
传输可靠性
可靠
不可靠
应用场合
少许数据
大量数据
速度
慢
快
一、TCP面向链接(如打电话要先拨号创建链接);UDP是无链接的,即发送数据以前不须要创建链接
二、