LWIP网络通信基本流程如下:
应用层和传输层之间如何通信。
应用层和协议栈(传输层、网络层、数据链路层)之间的通信属于进程间通信,在LWIP中,抽象出了socket的概念,即应用程序通过socket与协议栈进行通信,如下:
1.应用程序与TCP通信:socket(AF_INET, SOCK_STREAM, 0));
2.应用程序与UDP通信:socket(AF_INET, SOCK_DGRAM, 0));
3.应用程序与ICMP通信:socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
4.应用程序与IP通信:socket(AF_INET, SOCK_RAW, IPPROTO_IP);
5.应用程序与以太网通信:socket(AF_PACKET, SOCK_RAW, IPPROTO_RAW);
下面针对应用程序与TCP通信进行分析:
在socket接口与TCP层通过消息队列的方式进行进程间通信。