第1章 操作系统、网络、协议栈、代码
1.1 Linux操作系统介绍
1.1.1 Linux操作系统架构简介
1.1.2 网络协议发展介绍
1.2 本书的组织和安排
1.2.1 基本的数据结构和计算机术语
1.2.2 图片风格演示
1.2.3 本书的组织
第2章 内核系统初始化
2.1 系统初始化流程简介
2.2 内核文件解读
2.2.1 ELF文件格式
2.2.2 Link Scripts知识
2.2.3 Linux内核镜像解析
2.3 中断及任务调度管理
2.3.1 中断及软中断模型
2.3.2 各种语境下的切换
2.3.3 内核下的同步与互斥
2.3.4 各种异步手段
2.4 虚拟文件系统
2.5 网络协议栈各部分初始化
2.5.1 网络基础系统初始化
2.5.2 网络内存管理
2.5.3 网络文件系统初始化
2.5.4 网络协议初始化
2.5.5 初步了解路由系统
2.6 Linux设备管理
2.6.1 底层PCI模块的初始化
2.6.2 网络设备接口初始化例程
第3章 配置网络系统
3.1 配置过程分析
3.1.1 配置是如何下达到内核的?
3.1.2 socket系统调用
3.1.3 ioctl代码的实现
3.1.4 loopback接口的配置过程
3.1.5 IP别名的实现
3.2 回顾FIB系统初始化
3.3 深入FIB系统
3.4 FIB系统发生了什么样的变化
3.5 直接访问路由表
3.6 接口状态变化的处理过程
第4章 网络层实现的初步研究
4.1 从ping 127.0.0.1开始旅程
4.2 再次相遇Socket系统调用
4.3 IP数据报文格式
4.4 send系统调用
4.5 在路由系统中游历
4.5.1 查找出口
4.5.2 当目的地址是远端主机时
4.5.3 创建对应路由cache表项
4.5.4 创建对应邻居表项
4.6 回到发送的路径
4.6.1 IP层发送过程
4.6.2 揭密hh_cache
4.7 ARP的作用
4.7.1 ARP的机制
4.7.2 ARP报文格式
4.7.3 Linux ARP协议的实现
4.8 到达设备驱动层
4.8.1 数据链路层帧格式
4.8.2 Loopback设备的发送过程
4.9 接收过程:从中断到路由系统
4.10 ICMP
4.10.1 ICMP报文格式
4.10.2 ping本机地址及回环地址
4.10.3 ping外部地址
4.11 从内核到用户
第5章 传输层实现的研究
第6章 Select系统调用的实现机制
第7章 数据链路层协议实现
后记
参考文献