欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
近些天来,一直看有关linux networking stack相关的书籍。从刚开始看的犯迷糊,到现在有点摸着门道。
现将个人觉着值得一读的资料整理如下
“Linux TCP IP 协议栈分析。pdf”
a Map Of The Networking Code In Linux Kernel
Linux-2.6.25 TCPIP函数调用大致流程
以上三份资料中以第一份为主,第二份中的图表为指引。
阅读时尝试找到以下几个问题的答案
网卡是如何被识别的
网卡如何与设备驱动程序挂上钩的
设备驱动程序如何被调用,用到中断处理的知识中断处理的bottom-half什么意思
网络数据在bottom-half中,如何从ip层走入传输层
传输层即tcp或udp处理完packet后,如何唤醒等待进程
等待进程被唤醒后,调用什么函数来处理数据
接收到的数据是如何从内核空间传输到用户空间
数据的发送流程如何
上述问题在资料一中都有所回答。
也许有人会问为什么没有涉及到另一本讲述Linux networking的经典,understanding linux network internals。我粗粗翻阅了一下,发现该书并不是以“发送”、“接收”为主要线索,而是对应于osi模型,分各个处理模块来讲,同时讲到接收和发送。个人感觉这样线索容易中断,故不强烈推荐。
肯承认错误则错已改了一半