Protocol¶
网络通信¶
LwIP¶
LwIP(Light weight IP) 用少量的资源消耗(RAM)实现一个较为完整的 TCP/IP 协议栈,其中“完整”主要指的是 TCP 协议的完整性, 实现的重点是在保持 TCP 协议主要功能的基础上减少对 RAM 的占用,LwIP也可以在无操作系统的情况下独立运行。
LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。
LwIP具有主要特性:
1)支持 ARP 协议(以太网地址解析协议)。
2)支持 ICMP 协议(控制报文协议),用于网络的调试与维护。
3)支持 IGMP 协议(互联网组管理协议),可以实现多播数据的接收。
4)支持 UDP 协议(用户数据报协议)。
5)支持 TCP 协议(传输控制协议),包括阻塞控制、 RTT 估算、快速恢复和快速转发。
6)支持 PPP 协议(点对点通信协议) ,支持 PPPoE。
7)支持 DNS(域名解析)。
8)支持 DHCP 协议,动态分配 IP 地址。
9)支持 IP 协议,包括 IPv4、 IPv6 协议,支持 IP 分片与重装功能,多网络接口下的数据包转发。
10)支持 SNMP 协议(简单网络管理协议)。
11)支持 AUTOIP,自动 IP 地址配置。
12)提供专门的内部回调接口(Raw API),用于提高应用程序性能。
13)提供可选择的 Socket API、 NETCONN API (在多线程情况下使用) 。
MQTT¶
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。