基本信息
- 原书名:TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols
- 原出版社: Addison-Wesley Professional
内容简介
计算机书籍
《TCP/IP详解》是已故网络专家、著名技术作家W. Richard Stevens的传世之作,内容详尽且具权威性,被誉为TCP/IP领域的不朽名著。 本书是《TCP/IP详解》三卷本的第3卷,主要讲述高级协议,覆盖当今TCP/IP编程人员和网络管理员必须熟练掌握的T/TCP(TCP事务协议)、HTTP(超文本传送协议)、NNTP(网络新闻传送协议)和Unix域协议。与前面两卷一样,本书有丰富的例子和实现的细节。
这一卷的前两部分内容要求读者对TCP/IP协议的工作原理有基本的了解。对TCP/IP协议不是很熟悉的读者先应阅读《TCP/IP详解》的第1卷,该书对TCP/IP协议族有比较透彻的讲述。除第1章至第4章可以独立于《TCP/IP详解》的第2卷阅读外,其余各章要求读者对第2卷中提供的4.4BSD-Lite网络代码比较熟悉。
《TCP/IP详解》对于网络应用的开发人员、网络管理员以及任何想了解TCP/IP协议运行原理的人员来说,都是极好的权威参考书。无论是初学者还是功底深厚的网络领域高手,这套书都应是案头必备。
作译者
目录
Part 1. TCP for Transactions 1
Chapter 1. TFFCP Introduction 3
1.1 Introduction 3
1.2 UDP Client-Server 3
1.3 TCP Client-Server 9
1.4 T/TCP Client-Server 17
1.5 Test Network 20
1.6 Timing Example 21
1.7 Applications 22
1.8 History 24
1.9 Implementations 26
1.10 Summary 28
Chapter 2. T/TCP Protocol 29
2.1 Introduction 29
2.2 New TCP Options for T/TCP 30
2.3 T/TCP Implementation Variables 33
2.4 State Transition Diagram 34
2.5 T/TCP Extended States 36
2.6 Summary 38
前言
(1) TCP事务协议,一般简称T/TCP。这是TCP的扩展,用来使客户-服务器事务更快、更有效,同时也更加可靠。这是通过省略连接开始时的三次握手并缩短连接结束时的TIME_WAIT状态来实现的。我们将看到,对于客户-服务器事务,T/TCP可以达到UDP的性能,而T/TCP还提供了可靠性和适应性,这是与UDP相比的重要改进。事务可以定义为客户向服务器提出的请求以及服务器相应的应答。(术语“事务”指的不是包含加锁、两段提交和回退过程的数据库事务。)
(2) TCP/IP应用具体是指HTTP(超文本传送协议,万维网的基础)和NNTP(网络新闻传送协议,Usenet新闻系统的基础)。
(3) Unix域协议。所有的Unix TCP/IP实现都提供这些协议,许多非Unix实现也提供这些协议。它们提供了一种进程间通信(IPC)的形式,并使用与TCP/IP一样的套接字接口。当客户和服务器在同一台主机上时,Unix域协议的速度一般是TCP/IP的两倍。
第一部分(T/TCP的描述)分为两块内容。第1章至第4章对这一协议进行了描述,并提供大量的示例说明其工作原理。卷1的24.7节曾对T/TCP进行了简单描述,本书的这部分内容对其进行了大幅扩展。第二块是第5章至第12章,描述的是4.4BSD-Lite网络代码(即卷2给出的代码)中T/TCP的实际实现。由于第一个T/TCP实现直到1994年9月才发布,而此时卷1已经出版一年,卷2也基本完成,因此T/TCP的示例和实现细节只能在本套书的这一卷中进行详细描述。
第二部分(HTTP和NNTP应用)是卷1的第25章至第30章介绍的TCP/IP应用的延续。在卷1出版后两年的时间里,HTTP技术随着因特网的兴起迅速流行开来,NNTP技术的使用在十几年时间中每年增长75%左右。由于常见的TCP使用方式是在数据交换极少的短连接里(连接的建立和销毁操作占用大部分时间),因此HTTP还是T/TCP的理想候补技术。在繁忙的Web服务器上由数以千计不同类型的客户大量使用HTTP(进而大量使用TCP)使我们可以检测服务器上的实际分组(第14章),并更好地理解卷1和卷2中描述的很多TCP/IP特性。
第三部分的Unix域协议本来是计划安排在卷2中的,但是由于卷2的篇幅已达到1200页,所以删掉了。在题为《TCP/IP详解》的一套书中讲述非TCP/IP协议看上去有点奇怪,但是Unix域协议早在将近15年前的4.2BSD版本中就首次实现了,与BSD TCP/IP的首次实现时间差不多。Berkeley衍生内核中大量使用了Unix域协议,但通常都是“在掩护下”使用的,大多数用户感觉不到它们的存在。除了作为Berkeley衍生内核中Unix管道的基础技术外,Unix域协议还大量用于客户和服务器在同一台主机(常见的工作站)上的XWindow 系统。Unix域套接字技术用于在进程之间传递描述符,这是一种用于进程间通信的强大技术。由于Unix域协议中套接字API(应用程序接口)与TCP/IP中的套接字API几乎相同,因此只需要改动很少的代码,Unix域协议就可以轻松地提高应用程序的性能。以上三部分内容可以独立阅读。
媒体评论
——Marcus J.Ranum,防火墙架构师
“很有价值的第3卷,延续了本系列叙述清晰、技术准确的极高标准。这一卷详细地讨论了T/TCP和HTTP协议。”
——Vern Paxson, 劳伦斯伯克利国家实验室网络研究小组
“你若想深入了解Web服务器的行为,本书关于HTTP协议的描述对你具有不可估量的价值。”
——Jeffrey Mogul,DEC公司
“第3卷是本系列书的自然延伸。它深入阐述了Web服务和T/TCP的网络特性。”
——Pete Haverlock, IBM公司项目经理
“在这最新一卷里,Richard Stevens保持了他在前两卷里设定的高标准,即精准到位地清晰阐释每一处细节。”
——Andras Olah,荷兰屯特大学
“本卷保持了前两卷的超高质量,对于新方向上的网络实现展开了深入研究。整个系列对于想认真了解今日因特网原理的读者来说,不可或缺。”
——Ian Lance Taylor,GNU/Taylor UUCP的发明人