最近正初学LwIP,走了不少弯路,费时费力却不讨好,目前仍在研究中,下面是一点心得,供没接触过网络的人参考,也希望高手指点指点其中的错误或者正在研究的朋友一起交流交流。我觉得首先应找一个实例运行起来,结合网上的资料看源代码,这样效果会好很多,既有一个直观、实在的感性认识,又可以及时验证所学习的理论。这几篇不深入研究代码,只按照实际的收发过程的顺序介绍协议栈的功能结构,而且只介绍TCP/IP/ARP等相关部分,只为达到最快入门。另外,对术语不作解释,可参考TCP/IP协议卷一或Google之。
操作平台:
平台无关,无操作系统的裸机环境下实现
参考资料:
(1)TCP/IP协议详解(卷一)
(2)Lwip协议详解(作者:老纳五木) 下载:http://wenku.baidu.com/view/8e7a7fafd1f34693daef3e9f.html
(3)Design and Implementation of the LwIP TCP/IP Stack
废话说了好多,从最起始的接收部分开始吧!接收首先调用ethernetif_input(&netif),这个函数可放在一个进程去查询,也可中断实现。netif是我们所使用的网络接口的数据结构,一个数据结构对应一个实际的物理网卡,若有多个则由链表将它们组织起来&