【发布时间】:2022-01-15 02:38:59
【问题描述】:
我正在尝试与 linux 一起学习网络协议栈(即传输、IP、数据链路层库代码实现)。我很困惑从哪里开始。
- 第一个问题是这些代码是否作为 linux 内核/库层之上的内置功能提供。
- 如果是这样,为什么我可以在某些应用程序中看到第 3 方协议栈(由 blunk 微系统 - 协议栈开发者提供)
- 如果 Linux 没有它作为核心功能,那么 linux 是否只为网络部分提供占位符(例如仅使用宏来启用 3rd 方堆栈)。但是一篇文章说它有 Net4 网络代码库。
- 如果 linux 具有内置网络功能,我需要通过哪些 linux 模块或从哪里开始?不只是从网络的角度来看,如果指导我在“代码级别”的各个方面(进程、内存、驱动程序)在 linux 中进行探索,那将会有所帮助。
注意:我很想编写自己的操作系统和协议栈,因此试图了解现有系统。
提前致谢!
【问题讨论】:
标签: tcp linux-kernel