LwIP (Light Weight Internet Protocol)是轻型 IP 协议,重点是在保持 TCP 协议主要功能的基础上减少对RAM的占用,这使得LwIP协议非常适合在小型嵌入式系统中使用。
在 SDK 的 third_party 目录下,由 lwip 源码,结构如下:
.
├── api
│ └── multi-threads
├── apps
├── arch
├── core
│ ├── ipv4
│ ├── ipv6
│ └── snmp
└── netif
└── ppp
10 directories
1、api:应用程序接口文件。
2、arch:与硬件和 OS 有关的文件,包括网络驱动、移植需要修改的文件。
3、core:LwIP 的核心代码,包括 ICMP、IP、UDP、TCP 等协议的实现。
4、netif:PPP 协议和 LwIP 网络设备驱动程序的模板,提供了网络接口驱动程序的基本框架。
LwIP 协议可以使上层应用实现 Socket 编程。为了兼容性,LwIP 协议的 Socket 通过宏定义提供标准的 Socket 接口函数。
Socket 是一个网络编程接口,有 3 种类型:流式套接字(SOCK_STREAM)、数据报套接字(SOCK_DGRAM)和原始套接字(SOCK_RAW)。
TCP
UDP