Linux内核--网络栈实现分析(一)--网络栈初始化.pdf
文本预览下载声明
Linux 内核--网络栈实现分析(一)--网络栈初始化
Linux -- --
Linux -- --
LLiinnuuxx内核网络栈实现分析(一)网络栈初始化
Linux -- --
Linux -- --
LLiinnuuxx内核网络栈实现分析(二)数据包的传递过程(上)
Linux -- -- +
Linux -- -- +
LLiinnuuxx内核网络栈实现分析(三)驱动程序层++链路层(上)
Linux -- -- IP
Linux -- -- IP
LLiinnuuxx内核网络栈实现分析(四)网络层之IIPP协议(上)
Linux -- -- UDP
Linux -- -- UDP
LLiinnuuxx内核网络栈实现分析(五)传输层之UUDDPP协议(上)
Linux -- --
Linux -- --
LLiinnuuxx内核网络栈实现分析(六)应用层获取数据包(上)
Linux -- --
Linux -- --
LLiinnuuxx内核网络栈实现分析(七)数据包的传递过程(下)
Linux -- --
Linux -- --
LLiinnuuxx内核网络栈实现分析(八)应用层发送数据(下)
Linux -- -- UDP
Linux -- -- UDP
LLiinnuuxx内核网络栈实现分析(九)传输层之UUDDPP协议(下)
Linux -- -- IP
Linux -- -- IP
LLiinnuuxx内核网络栈实现分析(十)网络层之IIPP协议(下)
Linux -- --
Linux -- --
LLiinnuuxx内核网络栈实现分析(十一)驱动程序层(下)
本文分析基于内核Linux Kernel 1.2.13
以后的系列博文将深入分析Linux 内核的网络栈实现原理,这里看到曹桂平博士的分析后,
也决定选择Linux 内核1.2.13版本进行分析。
原因如下:
1.功能和网络栈层次已经非常清晰
2.该版本与其后续版本的衔接性较好
3.复杂度相对新的内核版本较小,复杂度低,更容易把握网络内核的实质
4.该内核版本比较系统资料可以查询
下面开始零基础分析Linux 内核网络部分的初始化过程。
经过系统加电后执行的bootsect.S,setup.S,head.S,可以参考以前分析的0.11内核。原理相
同。
1 Linux0.11内核--启动引导代码分析 bootsect.s
2 Linux0.11内核--启动引导代码分析 setup.s
3 Linux0.11内核--idt(中断描述符表的初始化)head.s 分析
进行前期的准备工作后,系统跳转到init/main.c下的start_kernel 函数执行。
网络栈的层次结构如下图:(注:该图片摘自《Linux内核网络栈源代码情景分析》)
MIPS
MIPS
更多资料请访问与非网MMIIPPSS技术社区论坛
物理层主要提供各种连接的物理设备,如各种网卡,串口卡等;
链路层主要指的是提供对物理层进行访问的各种接口卡的驱动程序,如网卡驱动等;
网路层的作用是负责将网络数据包传输到正确的位置,最重要的网络层协议当然就是IP 协
议了,其实网络层还有其他的协议如I
显示全部