学习linux网络堆栈

时间:2012-10-06 01:00:02

标签: linux-kernel

我打算深入研究Linux TCP / IP堆栈。我应该研究哪个内核版本源代码树 - 它应该更接近概念中的当前内核代码,但更容易理解和理解。或者我应该研究像lwip这样的其他项目。

我的目标是了解有关设备驱动程序级别以上网络的所有信息。

感谢。

3 个答案:

答案 0 :(得分:2)

lwip开始时是一件好事。这是一个非常简单的基本功能实现。此外,您可以轻松地在用户空间中创建两个“虚拟主机”以查看其运行情况 - 例如,创建两个通过管道相互通信的进程。这样你就可以得到基本的理解。那你绝对应该看看现代linux代码。

答案 1 :(得分:1)

我从网络程序员那里获得的一个建议是先开始查看内核1.0源代码,然后逐渐使用最新的3.X内核源代码。

答案 2 :(得分:0)

安装最新的Linux发行版(例如Ubuntu),并通过执行uname -r命令查看它使用的内核版本。下载此命令显示的版本。

linux内核编译的第一步是配置设置。通过下载与您的发行版一起安装的内核版本,您将能够运行make oldconfig并毫不费力地导入所有这些配置,因此您可以专注于学习网络堆栈实现。