Linux内核源码剖析

Linux内核源码剖析

樊东东, 莫澜, 编著

出版社:机械工业出版社

年代:2010

定价:111.0

书籍简介:

本书详细论述了Linux内核2.6.20版本中TCP/IP的实现。书中给出了大量的源代码,通过对源代码的详细注释,帮助读者掌握TCP/IP的实现。

书籍目录:

前言

第1章 预备知识

1.1 应用层配置诊断工具

1.1.1 iputils

1.1.2 net-tools

1.1.3 iproute2

1.2 内核空间与用户空间的接口

1.2.1 proefs

1.2.2 sysctl(proc/sys目录)

1.2.3 sySfs(/sys文件系统)

1.2.4 ioctl系统调用

1.2.5 netlink套接口

1.3 网络I/O加速

1.3.1 TSO/GSO

1.3.2 I/OAT

1.4 其他

1.4.1 slab分配器

1.4.2 RCU

第2章 网络体系结构概述

2.1 引言

2.2 协议简介

2.3 网络架构

2.4 系统调用接口

2.5 协议无关接口

2.6 传输层协议

2.7 套接口缓存

2.8 设备无关接口

2.9 设备驱动程序

2.1 0网络模块源代码组织

第3章 套接口缓存

3.1 引言

3.2 skbufr结构

3.2.1 网络参数和内核数据结构

3.2.2 SKB组织相关的变量

3.2.3 数据存储相关的变量

3.2.4 通用的成员变量

3.2.5 标志性变量

3.2.6 特性相关的成员变量

3.3 skbsharedinfo结构

3.3.1 “零拷贝”技术

3.3.2 对聚合分散I/O数据的支持

3.3.3 对GSO的支持

3.3.4 访问skbsharedinfo结构

3.4 管理函数

3.4.1 SKB的缓存池

3.4.2 分配SKB

3.4.3 释放SKB

3.4 ,4数据预留和对齐

3.4.5 克隆和复制SKB

3.4.6 链表管理函数

3.4.7 添加或删除尾部数据

3.4.8 拆分数据:skbsplit()

3.4.9 重新分配SKI]的线性数据区pskb-expand-head()

3.4.1 0其他函数

第4章 网络模块初始化

4.1 引言

4.2.网络模块初始化顺序

4.3 优化基于宏的标记

4.4 网络设备处理层初始化

第5章 网络设备

5.1 PCI设备

5.1.1 PCI驱动程序相关结构

5.1.2 注册PCI驱动程序

5.2 与网络设备有关的数据结构

5.2.1 netdevice结构

5.2.2 网络设备有关结构的组织

5.2.3 相关函数

5.3 网络设备的注册

5.3.1 设备注册的时机

5.3.2 分配netdevice结构空间

5.3.3网络设备注册过程

5.3.4 注册设备的状态迁移

5.3.5 设备注册状态通知

5.3.6 引用计数

5.4 网络设备的注销

5.4.1 设备注销的时机

5.4.2 网络设备注销过程

5.5 网络设备的启用

5.6 网络设备的禁用

5.7 与电源管理交互

5.7.1 挂起设备

5.7.2 唤醒设备

5.8 侦测连接状态改变

5.8.1 调度处理连接状态改变事件

5.8.2 linkwatch标志

5.9 从用户空间配置设备相关信息

5.9.1 ethtool

5.9.2 媒体独立接口

5.1 0虚拟网络设备

第6章 IP编址

6.1 接口和IP地址

6.1.1 主IP地址、从属IP地址和IP别名

6.1.2 IP地址的组织

6.1.3 indevice结构

6.1.4 inifaddr结构

6.2 函数

6.2.1 inetdev-init()

6.2.2 inetdevdestroy()

6.2.3 inet-select-addr()

6.2.4 inet-confirm-addr()

6.2.5 inet-addr-oniink()

6.2.6 inetdev-by-index()

6.2.7 inet-ifa-byprefix()

6.2.8 inet-abe-len()

6.3 IP地址的设置

6.3.1 netlink接口

6.3.2 inet-insertifa()

6.3.3 inet-del-ifaO

6.4 ioctl

6.5 inetaddrchain通知链

第7章 口层的输入

7.1 系统参数

7.2 接口层的ioctl

7.2.1 SIOCxlFxxx类命令

7.2.2 S10CETHTOOL

7.2.3私有命令

7.3初始化

7.4 softnetdata结构

7.5 NAPI方式

7.5.}网络设备中断例程

7.5.2 网络输入软中断

7.5.3 轮询处理

7.6 非NAPI方式

7.7 接口层输入报文的处理

7.7.1 报文接收例程

7.7.2 netif-receive-skb()

7.7.3 dev-queue-xmit-nit()

7.8 响应CPU状态的变化

7.9 netpoll

7.9.1 netpoll相关结构

7.9.2 注册netpoll实例

7.9.3 netpoll的输入

7.9.4 netpoll的输出

7.9.5 txwork工作队列

7.9.6 netpoll实例:netconsole

第8章 口层的输出

8.1 输出接口

8.1.1 dev-queue-xmit()

8.1.2 dev-hard-start-xmit()

8.1.3 e100的输出接口100-xmit-flame()

8.2 网络输出软中断

8.2.1 netif-schedule()

8.2.2 nettxaction()

8.3 网络设备不支持GSo时的处理

8.3 dev-gso-cb私有控制块

8.3.2 dev-gs0一segment()

8.3.3 skb-gso-segment()

第9章 量控制

9.1 通过流量控制后输出

9.1.1 dev一.queue-xmit()

9.1.2 qdisc-restart()

9.2 构成流量控制的三种元素

9.2.1 排队规则

9.2.2 类

9.2.3 过滤器

9.3默认的FIFO排队规则

9.3.1 pfifo-fast-init(

9.3.2 pfifo-fast-reset()

9.3.pfifo.一fast-enqueue()

9.3.4 pfifo-fast-dequeue()

9.3.pfifo.一fast-requeue()

9.4 netlink的tc接口

9.5 排队规则的创建接口

9.5.1 类的创建接口

9.5.2 过滤器的创建接口

第10章 ntemet协议族

10.1 net-Proto-family结构

10.2 imetprotosw结构

10.3 netprotocol结构

10.4 Intemet协议族的初始化

第11章 P:网际协议

11.1 引言

11.1.1 IP首部

11.1.2 IP数据报的输入与输出

11.2 IP的私有信息控制块

11.3 系统参数

11.4 初始化

11.5 IP层套接口选项

11.6 ipv4de’vconf结构

11.7 套接口的错误队列

11.7.1 添加ICMP差错信息

11.7.2 添加由本地产生的差错信息

11.7.3 读取错误信息

11.8 报文控制信息

11.8.1 IP控制信息块

11.8.2 报文控制信息的输出

11.8.3 报文控制信息的输入

11.9 对端信息块

11.9.1 系统参数

11.9.2 对端信息块的创建和查找

11.9.3 对端信息块的删除

11.9.4 垃圾回收

11.10IP数据报的输入处理

11.10.1 IP数据报输入到本地

11.10.2 IP数据报的转发

11.11IP数据报的输出处理

11.11.1 IP数据报输出到设备

11.11.2 TCP输出的接口

11.11.3 UDP输出的接口

11.12IP层对GSO的支持

11.12.1 inet-gso-segment()

112.2 inet-gso-send-check()

第12章 P选项处理

12.1 IP选项

12.1.1 选项列表的结束符

12.1.2 空操作

12.1.3 安全选项

12.1.4 严格源路由选项

12.1.5 宽松源路由选项

12.1.6 记录路由选项

12.1.7 流标识选项

12.1.8 时间戳选项

12.1.9 路由器警告选项

12.2 ipoptions结构

12.3在IP数据报中构建IP选项

12.4 复制IP数据报中选项到指定的ipoptions结构

12.5 处理待发送IP分片中的选项

12.6 解析IP选项

12.7 还原在校验IP选项时修改的IP选项

12.8 处理转发IP数据报中的IP选项

12.9 处理IP数据报的源路由选项

12.1 0解析并处理IP首部中的IP选项

12.1 1路由警告选项的处理

12.1 2由控制信息生成IP选项信息块

第13章 P的分片与组装

13.1 系统参数

13.2分片

13.2.1 速分片

13.2.2 慢速分片

13.3组装

13.3.Iipq结构

13.3.2 ipq散列表和链表的维护

13.3.3 ipq散列表的重组

13.3.4 超时IP分片的清除

13.3.5 垃圾收集

13.3.6相关分片组装函数

13.3.7 分片组装

第14章 CMP:Internet控制报文协议

14.1 ICMP报文结构

14.2 注册ICMP报文类型

14.3 系统参数

14.4 ICMP的初始化

14.5 输入处理

14.5.1 差错处理

14.5.2 重定向处理

14.5.3 请求回显

14.5.4 时间戳请求

14.5.5 地址掩码请求和应答

14.6 输出处理

14.6.1 发送ICMP报文

14.6.2 发送回显应答和时间戳

应答报文

第15章 IP组播

15.1 初始化

15.2 虚拟接口

15.2.1 虚拟接口的添加

15.2.2 虚拟接口的删除:vif-deleteO

15.2.3查找虚拟接口:ipmrfmdvif()

15.3组播转发缓存

15.3.1 组播转发缓存的创建

15.3.2 组播转发缓存的删除

15.3.3 组播转发缓存的查找

15.3.4 向组播路由守护进程发送报告

15.4 临时组播转发缓存

15.4.1 临时组播转发缓存队列

15.4.2 创建临时组播转发缓存

15.4.3 用于超时而删除临时组播转发缓存的定时器

15.4.4 释放临时组播缓存项中保存的临时组播报文

15.5 外部事件

15.6 组播套接口选项

15.6.1 IP-MULTICAST-TTL

15.6.2 IP-MULTICAST——LOOP

15.6.3 IP-MULTICAST-IF

15.6.4 IP-ADD-MEMBERSHIP

15.6.5 IP-DROP-MEMBERSHIP

15.6.6 IP-MSFILTER

15.6.7 IP-BLOCK-SOURCE和IP-UNBLOCK-SOURCE

15.6.8 IP-ADD-SOURCE-MEMBERSHIP和IPDROP-SOURCE-MEMBERSHIP

15.6.9 MCAST-JOIN-GROUP

15.6.1 0MCASTLEAVEGRoUP

15.6.1 lMCAST-BLOCK-SOURCE和M-CASTUNBLOCKSOI瓜CE

15.6.1 2MCASTJOINSOURCEGROUP和MCASTLEAVESOURCEGROUP

15.6.1 3MCAST-MSFILTER

15.7 组播选路套接口选项

……

第16章 IGMP:Internet组管理协议

第17章 邻居子系统

第18章 ARP:地址解析协议

第20章 路由缓存

第21章 路由策略

第22章 套接口层

第23章 套接口I/O

第24章 套接口选项

第25章 传输控制块

第26章 TCP:传输控制协议

第27章 TCP的定时器

第28章 TCP连接的建立

第29章 TCP拥塞控制的实现

第30章 TCP的输出

第31章 TCP的输入

第32章 UDP:用户数据报

第33章 UDP:用户数据报

参考文献

内容摘要:

《Linux内核源码剖析:TCP/IP实现(套装上下册)》详细论述了Linux内核2.6.20版本中TCP/IP的实现。书中给出了大量的源代码,通过对源代码的详细注释,帮助读者掌握TCP/IP的实现。《Linux内核源码剖析:TCP/IP实现(套装上下册)》根据协议栈层次,从驱动层逐步论述到传输层,包括驱动的实现、接口层的输入输出、IP层的输入输出以及IP选项的处理、邻居子系统、路由、套接口及传输层等内容,全书基本涵盖了网络体系架构全部的知识点。特别是TCP,包括TCP连接的建立和终止、输入与输出,以.及拥塞控制的实现。《Linux内核源码剖析:TCP/IP实现(套装上下册)》适用于熟悉Linux的基本使用方法,对Linux内核工作原理以及网络知识有一定的了解,而又极想更深入理解各个机制在Linux中的具体实现的用户,包括应用程序员和嵌入式程序员,以及网络管理员等。相关专业的科研人员在工作中遇到问题时,也可以查阅《Linux内核源码剖析:TCP/IP实现(套装上下册)》,理解相关内核部分的实现。此外,计算机相关专业的本科高年级学生和研究生,在学习相关课程(如操作系统、计算机网络等)时,可将《Linux内核源码剖析:TCP/IP实现(套装上下册)》作为辅助教程,与理论相结合以便更好地理解相应的知识点。

编辑推荐:

套接口缓存,网络设备。IP:网际协议;ICMP:Internet控制报文协议;IP组播;IGMP:Internet组管理协议,邻居子系统,路由表,套接口层。TCP:传输控制协议;TCP连接的建立;TOP拥塞控制的实现;TCP的输出;TCP的输入;TCP连接的终止;UDP:用户数据报。

书籍规格:

书籍详细信息
书名Linux内核源码剖析站内查询相似图书
9787111323730
如需购买下载《Linux内核源码剖析》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位机械工业出版社
版次1版印次1
定价(元)111.0语种简体中文
尺寸26 × 18装帧平装
页数印数

书籍信息归属:

Linux内核源码剖析是机械工业出版社于2010.12出版的中图分类号为 TN915.04 ,TP316.89 的主题关于 计算机网络-通信协议 ,Linux操作系统-机器代码程序-程序分析 的书籍。