TCP/IP详解(卷2 TCP事务协议、HTTP、NNTP和UNIX域协议)

TCP/IP详解(卷2 TCP事务协议、HTTP、NNTP和UNIX域协议)
作 者: RichardStevens 胡谷雨 吴礼发
出版社: 机械工业出版社
丛编项: 计算机科学丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: TCP/IP
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者:W.RichardStevens国际知名的Unix和网络专家,《TCP/IP详解》(三卷本)作者W.RichardStevens(1951-1999),是国际知名的Unix和网络专家;受人尊敬的计算机图书作家;同时他还是广受欢迎的教师和顾问。Stevens先生1951年生于赞比亚,他的家庭曾多次搬迁,最终定居于南非。早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程;还曾在康涅狄格州纽黑文市的健康系统国际公司任主管计算机服务的副总裁。Stevens先生不幸病逝于1999年9月1日,他的离去是计算机界的巨大损失。UNIX环境高级编程(第2版)>>更多作品

内容简介

《TCP/IP详解·卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》是“TCP/IP详解系列”的延续。主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快、更高效和更可靠;TCP/IP应用,主要是HTTP和NNTP;UNIX域协议,这些协议提供了进程之间通信的一种手段。当客户与服务器进程在同一台主机上时,UNIX域协议通常要比TCP/IP快一倍。《TCP/IP详解·卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》同样采用了大量的实例和实现细节,并参考引用了卷2中的大量源程序。适用于希望理解TCP/IP如何工作的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。

图书目录

译者序

前言

第一部分 TCP事务协议

第1章 T/TCP概述

1.1 概述

1.2 UDP上的客户-服务器

1.3 TCP上的客户-服务器

1.4 T/TCP上的客户-服务器

1.5 测试网络

1.6 时间测量程序

1.7 应用

1.8 历史

1.9 实现

1.10 小结

第2章 T/TCP协议

2.1 概述

2.2 T/TCP中的新TCP选项

2.3 T/TCP实现所需变量

2.4 状态变迁图

2.5 T/TCP的扩展状态

2.6 小结

第3章 T/TCP使用举例

3.1 概述

3.2 客户重新启动

3.3 常规的T/TCP事务

3.4 服务器收到过时的重复SYN

3.5 服务器重启动

3.6 请求或应答超出报文段最大长度MSS

3.7 向后兼容性

3.8 小结

第4章 T/TCP协议(续)

4.1 概述

4.2 客户的端口号和TIME_WAIT状态

4.3 设置TIME_WAIT状态的目的

4.4 TIME_WAIT状态的截断

4.5 利用TAO跳过三次握手

4.6 小结

第5章 T/TCP协议的实现:插口层

5.1 概述

5.2 常量

5.3 sosend函数

5.4 小结

第6章 T/TCP的实现:路由表

6.1 概述

6.2 代码介绍

6.3 radix_node_head结构

6.4 rtentry结构

6.5 rt_metrics结构

6.6 in_inithead函数

6.7 in_addroute函数

6.8 in_matroute函数

6.9 in_clsroute函数

6.10 in_rtqtimo函数

6.11 in_rtqkill函数

6.12 小结

第7章 T/TCP实现:协议控制块

7.1 概述

7.2 in_pcbladdr函数

7.3 in_pcbconnect函数

7.4 小结

第8章 T/TCP实现: TCP概要

8.1 概述

8.2 代码介绍

8.3 TCP的protosw结构

8.4 TCP控制块

8.5 tcp_init函数

8.6 tcp_slowtimo函数

8.7 小结

第9章 T/TCP实现:TCP输出

9.1 概述

9.2 tcp_output函数

9.2.1 新的自动变量

9.2.2 增加隐藏的状态标志

9.2.3 在SYN_SENT状态不要重传SYN

9.2.4 发送器的糊涂窗口避免机制

9.2.5 有RST或SYN标志时强制发送报文段

9.2.6 发送MSS选项

9.2.7 是否发送时间戳选项

9.2.8 发送T/TCP的CC选项

9.2.9 根据TCP选项调整数据长度

9.3 小结

第10章 T/TCP实现:TCP函数

10.1 概述

10.2 tcp_newtcpcb函数

10.3 tcp_rtlookup函数

10.4 tcp_gettaocache函数

10.5 重传超时间隔的计算

10.6 tcp_close函数

10.7 tcp_msssend函数

10.8 tcp_mssrcvd函数

10.9 tcp_dooptions函数

10.10 tcp_reass函数

10.11 小结

第11章 T/TCP实现:TCP输入

11.1 概述

11.2 预处理

11.3 首部预测

11.4 被动打开的启动

11.5 主动打开的启动

11.6 PAWS:防止序号重复

11.7 ACK处理

11.8 完成被动打开和同时打开

11.9 ACK处理(续)

11.10 FIN处理

11.11 小结

第12章 T/TCP实现:TCP用户请求

12.1 概述

12.2 PRU_CONNECT请求

12.3 tcp_connect函数

12.4 PRU_SEND和PRU_SEND_EOF请求

12.5 tcp_usrclosed函数

12.6 tcp_sysctl函数

12.7 T/TCP的前景

12.8 小结

第二部分 TCP的其他应用

第13章 HTTP:超文本传送协议

13.1 概述

13.2 HTTP和HTML概述

13.3 HTTP

13.3.1 报文类型:请求与响应

13.3.2 首部字段

13.3.3 响应代码

13.3.4 各种报文头举例

13.3.5 例子:客户程序缓存

13.3.6 例子:服务器重定向

13.4 一个例子

13.5 HTTP的统计资料

13.6 性能问题

13.7 小结

第14章 在HTTP服务器上找到的分组

14.1 概述

14.2 多个HTTP服务器

14.3 客户端SYN的到达间隔时间

14.4 RTT的测量

14.5 用listen设置入连接队列的容量

14.6 客户端的SYN选项

14.7 客户端的SYN重传

14.8 域名

14.9 超时的持续探测

14.10 T/TCP路由表大小的模拟

14.11 mbuf的交互

14.12 TCP的PCB高速缓存和首部预测

14.13 小结

第15章 NNTP:网络新闻传送协议

15.1 概述

15.2 NNTP

15.3 一个简单的新闻客户

15.4 一个复杂的新闻客户

15.5 NNTP的统计资料

15.6 小结

第三部分 Unix域协议

第16章 Unix域协议:概述

16.1 概述

16.2 用途

16.3 性能

16.4 编码举例

16.5 小结

第17章 Unix域协议:实现

17.1 概述

17.2 代码介绍

17.3 Unix domain和protosw结构

17.4 Unix域插口地址结构

17.5 Unix域协议控制块

17.6 uipc_usrreq函数

17.7 PRU_ATTACH请求和unp_attach函数

17.8 PRU_DETACH请求和unp_detach函数

17.9 PRU_BIND请求和unp_bind函数

17.10 PRU_CONNECT请求和unp_connect函数

17.11 PRU_CONNECT2请求和unp_connect2函数

17.12 socketpair系统调用

17.13 pipe系统调用

17.14 PRU_ACCEPT请求

17.15 PRU_DISCONNECT请求和unp_disconnect函数

17.16 PRU_SHUTDOWN请求和unp_shutdown函数

17.17 PRU_ABORT请求和unp_drop函数

17.18 其他各种请求

17.19 小结

第18章 Unix域协议:I/O和描述符的传递

18.1 概述

18.2 PRU_SEND和PRU_RCVD请求

18.3 描述符的传递

18.4 unp_internalize函数

18.5 unp_externalize函数

18.6 unp_discard函数

18.7 unp_dispose函数

18.8 unp_scan函数

18.9 unp_gc函数

18.10 unp_mark函数

18.11 性能(再讨论)

18.12 小结

附录A 测量网络时间

附录B 编写T/TCP应用程序

参考文献

缩略语