内容简介
Linux如此的流行正是得益于它的特性丰富及有效的网络协议栈。如果你曾经惊叹于Linux能够实现如此复杂的工作,或者你只是想通过现实中的例子学习现代网络,《深入理解Linux网络内幕》将会给你指导。同其他OReilly的流行书籍一样,《深入理解Linux网络内幕》清楚地阐述了网络的基本概念,并指导你如何用C语言实现。虽然早先的 TCP/IP经验是有用的,但初学者通过《深入理解Linux网络内幕》仍然可以学习到协议本身和大量的应用信息。一旦彻底掌握了这些网络工具,你就可以使用《深入理解Linux网络内幕》这本书所附的代码,准确地指出Linux内核中最重要的部分如何工作。
网络功能的实现或破坏在不同的时候是由不同的代码块完成的,这正是理解网络和实现它的难点中的一部分。《深入理解Linux网络内幕》该书的成功之一就是描述这些代码块如何集成,以及众多的函数和数据结构之间的关系。《深入理解Linux网络内幕》不仅描述了Linux网络的全貌,而且是理解Linux网络细节的有效指南。
目录
前言
第一部分 基础背景
第一章 简介
基本术语
常见编码模式
用户空间工具
浏览源代码
当功能以补丁形式提供时
第二章 关键数据结构
套接字缓冲区:sk—buff结构
net—device结构
本章涉及的文件
第三章 用户空间与内核的接
概论
procfs与sysctl
ioctl
Netlink
配置改变串行化
第二部分 系统初始化
第四章 通知链
使用通知链的原因
概论
定义链
链注册
链上的通知事件
网络子系统的通知链
通过/proc文件系统的调整
本章涉及的函数和变量
本章涉及的文件和目录
第五章 网络设备初始化
系统初始化概论
设备注册和初始化
NIC初始化的基本目标
设备与内核之间的交互
初始化选项
模块选项
设备处理层初始化:net—dev—init
用户空间辅助程序
虚拟设备
通过/proc文件系统调整
本章涉及的函数和变量
本章涉及的文件和目录
第六章 PCI层和网络接口卡
本章涉及的数据结构
PCI NIC设备驱动程序的注册
电源管理和网络唤醒
PCI NIC驱动程序注册范例
大蓝图
通过/proc文件系统调整
本章涉及的函数和变量
本章涉及的文件和目录
第七章 组件初始化的内核基础架构
引导期间的内核选项
模块初始化代码
优化宏卷标
引导期间初始化函数
内存最优化
通过/proc文件系统调整
本章涉及的函数和变量
本章涉及的文件和目录
第八章 设备注册和初始化
设备注册之时
设备除名之时
分配net—device结构
NIC注册和除名的架构
设备初始化
net—device结构的组织
设备状态
设备的注册和除名
设备注册
设备除名
开启和关闭网络设备
更新设备队列规则状态
从用户空间配置设备相关信息
虚拟设备
上锁
通过/proc文件系统调整
本章涉及的函数和变量
本章涉及的文件和目录
第三部分 传输和接收
第九章 中断和网络驱动程序
决策和流量方向
接收到帧时通知驱动程序
中断处理函数
softnet—data结构
第十章 帧的接收
与其他功能交互
设备的开启和关闭
队列
通知内核帧已接收:NAPI和netif_rx
设备驱动程序与内核问的IB接口:netif_rx的第一部分
拥塞管理
处理NET_RX_SOFTIRQ:net_rxa_ction
第十一章 帧的传输
传输的开启和关闭
第十二章 中断事件一般性参考数据
统计数据
通过/proc和sysfs文件系统调整
本部分涉及的函数和变量
本部分涉及的文件和目录
第十三章 协议处理函数
网络协议栈概论
执行正确的协议处理函数
协议处理函数的组织
协议处理函数的注册
Ethernet与IEEE 802.3帧
通过/proc文件系统进行调整
本章涉及的函数和变量
本章涉及的文件和目录
第四部分 桥接
第十四章 桥接:概念
中继器、网桥以及路由器
网桥与交换机
主机
用网桥合并LAN
桥接不同技术的LAN
地址学习
多台网桥
第十五章 桥接:生成树协议
基本术语
阶层交换式L2拓扑范例
生成树协议的基本元素
网桥ID和端口ID
网桥协议数据单元(BPDU)
定义活跃拓扑
定时器
拓扑变化
BPDU封装
传输配置BPDU
处理入口帧
收敛时间
新版生成树协议概况
第十六章 桥接:Linux实现
网桥设备抽象
重要的数据结构
桥接程序的初始化
建立网桥设备和网桥端口
建立一个新网桥设备
网桥设备设置函数
删除网桥
给网桥添加端口
启动和关闭网桥设备
启动和关闭网桥端口
改变网桥端口状态
大蓝图
转发数据库
处理入口流量
网桥设备上的传输
生成树协议(STP)
netdevice通知链
第十七章 桥接:其他主题
用户空间配置工具
通过/proc文件系统调整网桥
通过/sys文件系统调整网桥
统计数据
本部分涉及的数据结构
本部分涉及的函数和变量
本部分涉及的文件和目录
第五部分 因特网协议第4版(IPv4)
第六部分 邻居子系统
第七部分 路由