TCP/IP详解•卷2:实现.pdf

TCP/IP详解•卷2:实现.pdf
 

书籍描述

编辑推荐
《TCP》针对任何希望理解TCP/IP协议是如何实现的读者设计;无论是编写网络应用的程序员,负责利用TCP/TP维护计算机系统和网络的系统管理员,还是任何有兴趣理解大块非凡代码的普通读者;本书都是一本优秀的教科书。

作者简介
G.R.赖特(Gary R.Wright),美国Connix公司的董事长。合著有《TCP/IP详解 卷2:实现》。

目录
译者序
前言
第1章 概述
1.1 引言
1.2 源代码表示
1.2.1 将拥塞窗口设置为1
1.2.2 印刷约定
1.3 历史
1.4 应用编程接口
1.5 程序示例
1.6 系统调用和库函数
1.7 网络实现概述
1.8 描述符
1.9 mbuf与输出处理
1.9.1 包含插口地址结构的mbuf
1.9.2 包含数据的mbuf
1.9.3 添加IP和UDP首部
1.9.4 IP输出
1.9.5 以太网输出
1.9.6 UDP输出小结
1.10 输入处理
1.10.1 以太网输入
1.10.2 IP输入
1.10.3 UDP输入
1.10.4 进程输入
1.11 网络实现概述(续)
1.12 中断级别与并发
1.13 源代码组织
1.14 测试网络
1.15 小结

第2章 mbuf:存储器缓存
2.1 引言
2.2 代码介绍
2.2.1 全局变量
2.2.2 统计
2.2.3 内核统计
2.3 mbufl的定义
2.4 mbuf结构
2.5 简单的mbuf宏和函数
2.5.1 m-get函数
2.5.2 MGET宏
2.5.3 m-etry函数
2.5.4 mbuf锁
2.6 m-devget和m-pullup函数
2.6.1 m-devget函数
2.6.2 mtod和dtom宏
2.6.3 pullup函数和连续的协议首部
2.6.4 m-pullup和IP的分片与重组
2.6.5 TCP重组避免调用m-pullup
2.6.6 m-pullup使用总结
2.7 mbuf宏和函数的小结
2.8 Neff3联网数据结构小结
2.9 m-Copy和簇引用计数
2.10 其他选择
2.11 小结

第3章 接口层
3.1 引言
3.2 代码介绍
3.2.1 全局变量
3.2.2 SNMP变量
3.3 ifnet结构
3.4 ifadck结构,
3.5 sockaddr结构
3.6 ifnet与土faddr的专用化
3.7 网络初始化概述
3.8 以太网初始化
3.9 suP初始化
3.10 环回初始化
3.11 if_attach函数
3.12 ifinit函数
3.13 小结

第4章 接口:以太网
4.1 引言
4.2 代码介绍
4.2.1 全局变量
4.2.2 统计量
4.2.3 SNMP变量
4.3 以太网接口
4.3.1 leintr函数
4.3.2 leread函数
4.3.3 ether_input函数
4.3.4 ether_output函数
4.3.5 lestart函数
4.4 ioctl系统调用
4.4.1 ifioctl函数
4.4.2 ifconf函数
4.4.3 举例
4.4.4 通用接口ioctl命令
4.4.5 if_down和if_up函数
4.4.6 以太网、SLIP和环回
4.5 小结

第5章 接口:SLIP和环回
5.1 引言
5.2 代码介绍
5.2.1 全局变量
5.2.2 统计量
5.3 SLIP接口
5.3.1 SLIP线路规程:SLIPDISC
5.3.2 SLIP初始化:slopen slinit
5.3.3 SLIP输入处理:slinput
5.3.4 SLIP输出处理:sloutput
5.3.5 slstart函数
5.3.6 SLIP分组丢失
5.3.7 SLIP性能考虑
5.3.8 slclose函数
5.3.9 sltioctl函数
5.4 环回接口
5.5 小结

第6章 IP编址
6.1 引言
6.1.IIP地址
6.I.2 IP地址的印刷规定
6.1.3 主机和路由器
6.2 代码介绍
6.3 接口和地址小结
6.4 sockaddr_in结构
6.5 in_ifaddr结构
6.6 地址指派
6.6.1 ifioctl函数
6.6.2 in_control函数
6.6.3 前提条件:SIOCSIFADDR、SIOCSIFNETMASK和SIOCSIFDSFADDR
6.6.4 地址指派:SIOCSIFADDR
6.6.5 in_ifinit函数
6.6.6 网络掩码指派:SIOCSIFNETMASK
6.6.7 目的地址指派:SIOCSIFDSTADDR
6.6.8 获取接口信息
6.6.9 每个接口多个IP地址
6.6.10 附加IP地址:SIOCAIFADDR
6.6.11 删除IP地址:SIOCDIFADDR
6.7 接口ioctl处理
6.7.1 leioctl函数
6.7.2 slioctl函数
6.7.3 loioctl函数
6.8 Internet实用函数
6.9 ifnet实用函数
6.10 小结

第7章 域和协议
7.1 引言
7.2 代码介绍
7.2.1 全局变量
7.2.2 统计量
7.3 domain结构
7.4 protosw结构
7.5 IP的domain和protosw结构
7.6 pffindproto~Hpffindtype函数
7.7 pfctlinput函数
7.8 IP初始化
7.8.1 Intemet传输分用
7.8.2 ip_init函数
7.9 sysctl系统调用
7.10 小结

第8章 IP:网际协议
8.1 引言
8.2 代码介绍
8.2.1 全局变量
8.2.2 统计量
8.2.3 SNMP变量
8.3 IP分组
8.4 输入处理:ipintr函数
8.4.1 ipintr概观
8.4.2 验证
8.4.3 转发或不转发
8.4.4 重装和分用
8.5 转发:ip_forward函数
8.6 输出处理:ip_output函数
8.6.1 首部初始化
8.6.2 路由选择
8.6.3 源地址选择和分片
8.7 Internet检验和:in_cksum函数
8.8 setsockopt和getsockopt系统调用
8.8.1 PRCO_SETOPT的处理
8.8.2 PRCO_GETOPT的处理
8.9 ip_sysctl函数
8.10 小结

第9章 IP选项处理
9.1 引言
9.2 代码介绍
9.2.1 全局变量
9.2.2 统计量
9.3 选项格式
9.4 ip_dooptions函数
9.5 记录路由选项
9.6 源站和记录路由选项
9.6.1 save_rte函数
9.6.2 ip_srcroute函数
9.7 时间戳选项:
9.8 ip_insertoptions函数
9.9 ip_pcbopts函数
9.10 一些限制
9.11 小结

笫10章 IP的分片与重装
10.1 引言
10.2 代码介绍
10.2.1 全局变量
10.2.2 统计量
10.3 分片
10.4 ip_optcopy函数
10.5 重装
10.6 ip_reass函数
10.7 ip_slowtimo函数
10.8 小结

第11章 ICMP:Internet控制报文协议
11.1 引言
11.2 代码介绍
11.2.1 全局变量
11.2.2 统计量
11.2.3 SNMP变量
11.3 icmp结构
11.4 ICMP的protosw结构
11.5 输入处理:icmp_input函数
11.6 差错处理
11.7 请求处理
11.7.1 回显询问:ICMP_ECHO和ICMLHCHOREPLY
11.7.2 时间戳询问:ICMP_TSTAMP和
ICMPTSTAMPREPLY
11.7.3 地址掩码询问:ICMP_MASKREQ和ICMP_MASKREPLY
11.7.4 信息询问:ICMP_IREQ和ICMP_IREQREPLY
11.7.5 路由器发现:ICMP_ROUTERADVERy和ICMP_ROUTERSOLICIF
11.8 重定向处理
11.9 回答处理
11.10 输出处理
11.11 icmp_error函数
11.12 icmpreflect函数
11.13 icmp_send函数
11.14 icmp_sysctl函数
11.15 小结

第12章 IP多播
12.1 引言
12.2 代码介绍
12.2.1 全局变量
12.2.2 统计量
12.3 以太网多播地址
12.4 ether_multi结构
12.5 以太网多播接收
12.6 inmulti结构
12.7 ip_moptions结构
12.8 多播的插口选项
12.9 多播的TTL值
12.9.1 MBONE
12.9.2 扩展环搜索
12.10 ip_setmoptions函数
12.10.1 选择一个明确的多播接口:IP_MULTICAS%_IF
12.10.2 选择明确的多播TTL:IP_MULTICASTTTL
12.10.3 选择多播环回:IPMULTICAST_LOOP
12.11 加入一个IP多播组
12.11.1 in_addmulti函数
12.11.2 slioctl和loioctl函数:SIOCADDMULTT和SIOCDRLTI
12.11.3 Leioctl函数:SIOCADDMULTI和SIOCDELMULTI
12.11.4 etheraddmulti函数
12.12 离开一个IP多播组
12.12.1 in_delmulti函数
12.12.2 ether_delmulti函数
12.13 ip_getmoptions函数
12.14 多播输入处理:ipintr函数
12.15 多播输出处理:ip_output函数
12.16 性能的考虑
12.17 小结

第13章 IGMP:Intemet组管理协议
13.1 引言
13.2 代码介绍
13.2.1 全局变量
13.2.2 统计量
13.2.3 SNMP变量
13.3 igrmp结构
13.4 IGMP的protosw的结构
13.5 加入一个组:igmp_joingroup函数
13.6 igmp_fasttimo函数
]3.7 输入处理:igmp_input函数
13.7.1 成员关系查询:IGMP_HOST_M194BERSHIPQUERY
13.7.2 成员关系报告:IGMP_HOST_MEMBERSHIPREPORT
13.8 离开一个组:ignlo_leavegroup函数
13.9 小结

第14章 IP多播选路
14.1 引言
14.2 代码介绍
14.2.1 全局变量
14.2.2 统计量
14.2.3 SNMP变量
14.3 多播输出处理(续)
14.4 mrouted守护程序
14.5 虚拟接口
14.5.1 虚拟接口表
14.5.2 add_vif函数
14.5.3 del_vif函数
14.6 IGMP(续)
14.6.1 add_igrp函数
14.6.2 del_igrp函数
14.6.3 grplst_member函数
14.7 多播选路
……
第15章 插口层
第16章 插口I/O
第17章 插口选项
第18章 Radix树路由表
第19章 选路请求和选路消息
第20章 选路插口

序言
我们愿意向广大的读者推荐W.RichardStevens关于TCP/IP的经典著作(共3卷)的中译本。本书是其中的第2卷:《TCP/iP详解卷2:实现》。
大家知道,TCP/IP已成为计算机网络的事实上的标准。在关于了CP/IP的论著中,最有影响的就是两部著作。一部是DouglasE.Comer写的《用TCP/IP进行网际互连》,一套共3卷(中译本已由电子工业出版社于1998年出版),而另一部就是Stevens写的这3卷书。这两套巨著都很有名,各有其特点。无论是从事计算机网络教学的教师还是进行科研的技术人员,这两套书都应当是必读的。
本书的特点是内容丰富,概念清楚且准确,讲解详细,例子很多.作者在书中举出的所有例子均在作者安装的计算机网络上通过实际验证。各章都留有一定数量的习题。在附录A作者对部分习题给出了解答。在本书的最后,作者给出了许多经典的参考文献,并——写出了评论。
第2卷是第1卷的继续深入。读者在学习这一卷时,应当先具备第1卷所阐述的关于TCP/IP的基本知识。本卷的特点是使用大量的源代码来讲述TCP/IP协议族中的各协议是怎样实现的。这些内容对于编写TCP/IP网络应用程序的程序员和负责维护基于TCP/IP协议的计算机网络的系统管理员来说,应当是必读的。
参加本书翻译的有:谢钧(序言和第1章~第7章),蒋慧(第8章~第14章,第22章。第23章),吴礼发(第15~第17章),端义峰(第18章~第19章),胥光辉(第20章~第21章)和陆雪莹(第24章.第32章以及全部附录)。全书由谢希仁教授审校。
限于水平,翻译中不妥或错误之处在所难免,敬请广大读者批评指正。

文摘
插图:

TCP/IP详解•卷2:实现

内容简介
《TCP/IP详解·卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。《TCP/IP详解·卷2:实现》不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点。《TCP/IP详解·卷2:实现》适用于希望理解TCP/IP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。

海报:

TCP/IP详解•卷2:实现

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多