资源名称:Linux网络内核分析与开发

内容简介:

《Linux网络内核分析与开发》全面描述了Linux网络内核的结构和源码,力图使读者了解和掌握网络内核的工作原理和开发方法。全书共分为9章,主要介绍了Linux内核和相关开发工具、Linux网络内核结构、套接字及其设计、传输层协议实现与设计、网络层实现、数据链路层实现、网络设备驱动程序及其设计、路由模块与邻居子系统、MPLS网络及其协议实现等内容。《Linux网络内核分析与开发》适用于从事计算机网络、协议研发、嵌入式产品开发的技术人员,也适用于计算机、通信专业的本科生和研究生。

资源目录:

第1章 Linux系统内核

1.1 Linux系统内核组成结构

1.1.1 内核组成结构

1.1.2 Linux内核源码浏览工具

1.2 Linux系统内核编译

1.2.1 Linux内核编译步骤

1.2.2 Linux内核编译选项

1.3 Linux系统内核调试工具

1.3.1 KGDB调试工具

1.3.2 UML调试工具

1.3.3 用虚拟机软件搭建内核调试平台

1.4 GDB使用

1.4.1 基本命令

1.4.2 断点

1.4.3 查看运行时数据

1.4.4 改变程序的执行

1.5 调试范例

1.5.1 调试示例程序

1.5.2 调试前的工作

1.5.3 调试运行

第2章 Linux网络内核

2.1 TCP/IP协议体系

2.1.1 TCP/IP协议体系架构

2.1.2 网络数据包的封装与解封

2.2 Linux网络内核组成

2.2.1 Linux网络内核的组成模块

2.2.2 内核中的数据包处理流程

2.3 网络内核的重要数据结构

2.3.1 套接字缓冲区

2.3.2 网络设备

第3章 套接字

3.1 套接字与套接字接口

3.1.1 套接字

3.1.2 套接字接口的使用

3.1.3 套接字编程实例

3.2 套接字内核实现

3.2.1 套接字创建流程

3.2.2 套接字数据结构

3.2.3 套接字功能实现

3.3 新协议族与套接字

3.3.1 数据定义

3.3.2 函数设计

第4章 传输层

4.1 UDP协议

4.1.1 UDP简介

4.1.2 UDP协议模块处理流程

4.1.3 UDP头部实现

4.1.4 UDP包的发送

4.1.5 UDP包的接收

4.1.6 UDP连接的建立

4.2 TCP协议

4.2.1 TCP协议简介

4.2.2 TCP协议模块处理流程

4.2.3 TCP头部实现

4.2.4 TCP连接建立

4.2.5 TCP包的发送

4.2.6 TCP包的接收

4.3 原始数据包处理模块

4.3.1 原始套接字简介

4.3.2 原始数据包处理流程

4.3.3 原始数据包的发送

4.3.4 原始数据包的接收

4.4 新传输层协议与套接字设计

4.4.1 数据结构

4.4.2 函数设计

第5章 网络层

5.1 IPv4介绍

5.2 IPv4协议实现

5.2.1 IP包头实现

5.2.2 IP层处理流程

5.2.3 IP包的本地发送

5.2.4 IP包的本地接收

5.2.5 IP包的转发

5.3 ICMP协议实现

5.3.1 ICMP简介

5.3.2 ICMP流程

5.4 IPv6协议实现

5.4.1 IPv6协议简介

5.4.2 给内核配置IPv6

5.4.3 IPv6协议模块处理流程

5.4.4 IPv6包的发送

5.4.5 IPv6包的接收

5.4.6 IPv6包的转发

5.4.7 相关协议实现

第6章 数据链路层

6.1 数据链路层协议

6.2 帧的发送和接收

6.2.1 设备初始化函数

6.2.2 帧的发送实现

6.2.3 帧的接收实现

6.2.4 驱动上层的数据包类型与递交方法

6.3 通用点对点(PPP)协议实现

6.3.1 点对点协议

6.3.2 PPP协议管理

6.3.3 发送帧

6.3.4 接收帧

6.4 异步PPP协议实现

6.4.1 ppp_async_init函数

6.4.2 ppp_async_send函数

6.4.3 ppp_asynctty_receive函数

6.5 以太网上的PPP协议实现

6.5.1 PPPoE协议规范

6.5.2 数据结构

6.5.3 PPPoE驱动程序

第7章 网络设备驱动程序

7.1 网络设备驱动程序

7.1.1 数据结构

7.1.2 网络设备的初始化

7.1.3 网络设备的打开和关闭

7.1.4 发送数据包

7.1.5 接收数据包

7.1.6 网络设备的统计信息

7.2 CS89x0网卡驱动程序设计

7.2.1 数据定义

7.2.2 I/O端口访问函数

7.2.3 CS89x0网卡的初始化

7.2.4 CS89x0网卡的打开和关闭

7.2.5 CS89x0网卡发送数据包

7.2.6 CS89x0网卡接收数据包

第8章 路由模块与邻居子系统

8.1 路由原理

8.2 路由表数据结构

8.2.1 路由表类型

8.2.2 路由表缓存类型

8.3 路由信息管理

8.3.1 路由规则管理

8.3.2 路由表管理

8.4 路由查询

8.4.1 发送时路由查询

8.4.2 接收时路由查询

8.5 邻居子系统

8.5.1 邻居子系统类型

8.5.2 邻居子系统处理模块

第9章 MPLS网络与协议实现

9.1 MPLS协议原理

9.1.1 原理介绍

9.1.2 Linux内核的MPLS配置

9.2 MPLS协议模块

9.2.1 流程

9.2.2 数据结构

9.2.3 初始化

9.2.4 MPLS标签转发表管理

9.2.5 MPLS层的数据发送

9.2.6 MPLS层的数据接收与转发

参考文献

资源截图:

Linux网络内核分析与开发