前言

如何学习本书

本书围绕LwIP 2.1.2版本源码讲解TCP/IP网络协议栈的基本知识,带领读者进入网络的世界。无论你是学生、嵌入式开发者还是物联网开发者,都可以从本书中学习到网络的相关知识,了解网络协议栈的处理思想。

本书将深入分析网络协议栈的原理与实现过程,涉及ARP、IP、ICMP、TCP、UDP、HTTP、MQTT等协议,还将深入讲解LwIP中内存管理、pbuf数据包、网卡接口管理的原理与实现,并详细介绍LwIP的移植过程,读者可以将其移植到无操作系统/有操作系统的环境中使用。

除此之外,本书还通过理论和实践相结合,使用LwIP接入当前较大的几个云平台,如阿里云、百度云、OneNET,以使读者熟练掌握接入方法。在本书中,读者可以熟练掌握LwIP中Netconn API与Socket API的使用方式,并且掌握多种网络调试工具,如Wireshark、Postman以及MQTT.fx等的使用方法。

全书内容循序渐进,不断迭代,建议读者在学习的时候做到两点:一是不能一味看书,要把代码和理论结合起来学习,一边看书,一边调试代码。通过执行每一个程序,检验程序的执行流程和执行效果与自己想的是否一致,不断总结经验;二是在每学完一章之后,必须将配套的例程重写一遍(切记不要复制,即使是一个符号),举一反三,确保真正理解。