本书是“TCP/IP详解系列”,本书分成三个部分,每个部分覆盖了不同的内容。
(1) TCP事务协议,通常叫做T/TCP。这是对TCP的扩展,其设计目的是使客户-服务器事务更快、更高效和更可靠。这个目标的实现省略了连接开始时TCP的三次握手,并缩短了连接结束时TIME_WAIT状态的持续时间。我们将会看到,在客户-服务器事务中,T/TCP的性能与UDP相当,而且T/TCP具有可靠性和适应性,这两点相对UDP来说都是很大的改进。
事务是这样定义的:一个客户向服务器发出请求,接下来是服务器给出响应(这里的名词“事务”(transaction)并非数据库中的事务处理,数据库中的事务处理有封锁、两步提交和回退)。
(2) TCP/IP应用,特别是HTTP(超文本传送协议,WWW的基础)和NNTP(网络新闻传送协议,Usenet新闻系统的基础)。
(3) Unix域协议。这些协议是所有Unix中的TCP/IP实现中都提供的,在许多非Unix的实现中也都提供。这些协议提供了进程之间通信(IPC)的一种手段,采用了与TCP/IP中一样的插口接口。当客户与服务器进程在同一主机上时,Unix域协议通常要比TCP/IP快一倍。
第一部分,即对T/TCP的介绍,又分成两个小部分。第1~4章介绍协议,并给出了大量实例来说明它们是怎样工作的。这些材料主要是对卷1中24.7节的补充,在那里对T/TCP只是做了简单的介绍。第2小部分,即第5~12章,介绍T/TCP在4.4BSD-Lite网络代码(即,卷2中给出的代码)中的确切实现。由于最早的T/TCP实现迟至1994年9月才发布,已经是本书卷1出版一年以后了,那时卷2也快完成了,因此T/TCP的详细叙述,包括诸多实例和所有的实现细节都只好放在本系列书的卷3中了。
第二部分,即HTTP和NNTP应用,是卷1的第25~30章中介绍TCP/IP应用的延续。在卷1出版后的两年里,随着Internet的发展,HTTP得到了极大的流行,而NNTP的使用则在最近的10多年中每年增长了大约75%。T/TCP对HTTP来说也是非常好的,可以这样来用TCP:在少量数据传输中缩短连接时间,因为这种时候连接的建立和拆除时间往往占总时间的大头。在繁忙的Web服务器上,成千上万个不同而且不断变化的客户对HTTP(因此也对TCP)的高负荷使用,也提供了唯一可以对服务器上确切的分组进行考查的机会(第14章),可以观察卷1和卷2中给出的TCP/IP的许多特性。
第三部分中的Unix域协议原本是准备在卷2中介绍的,但由于卷2已多达1200页而删去了。在书名为《TCP/IP详解》这样的系列书中夹杂着TCP/IP以外的协议不免令人生奇,但Unix域协议几乎15年前就已经伴随着BSD版TCP/IP的实现在4.2BSD中发布了。今天,它们在任何一个从伯克利衍生而来的内核中都在频繁地使用,但它们的使用往往“被掩盖在后台”,大多数用户不知道它们的存在。除了在从伯克利衍生而来的内核中充当Unix管道的基础外,它们的另一个大用户是当客户程序和服务器程序在同一主机(典型的情况是工作站)上时的X Window系统。Unix域的插口也用于进程之间传递描述符,也是进程之间通信的一个强大工具。由于Unix域协议所用的插口API(应用编程接口)与TCP/IP所用的插口API几乎是相同的,Unix域协议以最小的代码变化提供了一个简单的手段来增强本地应用的性能。
以上三个部分的每个部分都可以独立阅读。
2022-01-12 11:25:31
74.45MB
TCPIP
1