1.lwIP简介
lwIP是一个小型开源的TCP/IP协议栈
阉割版的TCP/IP协议
lwIP可以用来完成例如以下的工作:
云台接入、无线网关、远程模块、工控控制器、嵌入式NAT无线路由器、网络摄像头……
其中,lwIP没有实现NAT协议,而NAT是路由器的必备协议,需要在lwIP中自行添加NAT协议!
TCP/IP协议栈结构
应用层是最接近用户的层;
传输层中,TCP是可靠的,而UDP并不可靠(如果传输过程中丢包,TCP会重新发送而UDP不会);
以太网不能超过1500字节,超出这个大小,IP协议会进行分片和重组,完成传输;
TCP只能在传输层分包,而UDP可以在网络层通过IP分包;
ARP协议完成获取MAC地址(MAC用于数据转发);
lwIP+MAC内核+PHY芯片构建了一个TCP/IP协议栈模型!
TCP/IP协议栈的数据封装与解封装
通过四个层之间的操作完成传输;其中,物理层对嵌入式平台就可以理解为stm32,将上述数据转换成光电信号完成传输。
封装:数据添加各层协议的首部;解封装:各层间除去自层的首部。
2.lwIP结构框图
这一部分内容很多,我笔记也来不及记录,后面的课程会慢慢学习,大概有一个框架的概念就可以了。
3.正点原子lwIP学习历程
移植篇:对于lwIP协议的介绍,然后是lwIP无操作系统和有操作系统的移植(基于FreeRTOS);
原理篇:如下图
实战篇:如下图