文档详情

Linux内核--网络栈实现分析(一)--网络栈初始化.pdf

发布:2017-05-24约字共11页下载文档
文本预览下载声明
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
显示全部
相似文档