目录
1.网络协议分层模型
2. LWIP三种编程接口
1.网络协议分层模型
其中各层级的封装与拆封过程
2. LWIP三种编程接口
LwIP 提供了三种编程接口,分别为 RAW/Callback API、NETCONN API、SOCKET API。它们的易用性从左到右依次提高,而执行效率从左到右依次降低。
(1)回调型API(RAW/Callback)
优点:裸机环境只能使用此API进行开发。节省内存开销,程序执行效率最高。
缺点:实现复杂业务逻辑很麻烦,代码可读性差。
(2)NETCONN接口
基于操作系统的IPC机制(信号量邮箱机制)实现。将内核代码和应用程序分离为独立线程。大大提高了系统网络数据包处理效率。
其线程分配优先原则如下:
优点:简化编程工作。用户可按操作文件方式来操作网络链接。
缺点:相较于回调式API,此方法通过信号量和邮箱完成,需要耗费更多时间与内存,效率相对较低。
(3)SOCKET接口
优点:十分易用。具有很好的可移植性。
缺点:socket接口是基于NETCONN接口实现的,所以其效率会更低一些。它在内核程序和应用程序之间存在数据拷贝,这会降低数据的递交效率。