热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

TCP/IP详解卷3:TCP事务协议.HTTP.NNTP和UNIX域协议

编号:
wx1201845262
销售价:
¥51.92
(市场价: ¥59.00)
赠送积分:
52
数量:
   
商品介绍

第3卷详细介绍了当今TCP/IP程序员和网络管理员必须很好熟悉的四个基本主题: TCP的扩展、Hyper文本传输协议、网络新闻传输协议和UNIX域协议。与前两卷一样,本书介绍了4.4BSD-Lite网络代码中的示例和实现细节。

W. 理查德•史蒂文斯(W. Richard Stevens)博士,是靠前知名的UNIX和网络专家、受人尊敬的技术作家和咨询顾问。他教会了一代网络专业人员使用TCP/IP的功能,使互联网成为人们日常生活的中心。Stevens于1999年去世,年仅48岁。在短暂而精彩的一生中,他著有多部经典的传世之作,包括《TCP/IP详解》(三卷本)、《UNIX网络编程》(两卷本)以及《UNIX环境不错编程》。2000年他被靠前机构Usenix追授“终身成就奖”。

出版者的话本书赞誉译者序前言部分 TCP事务协议章 T/TCP概述11.1 概述11.2 UDP上的客户-服务器11.3 TCP上的客户-服务器61.4 T/TCP上的客户-服务器121.5 测试网络151.6 时间测量程序151.7 应用171.8 历史191.9 实现201.10 小结21第2章 T/TCP协议232.1 概述232.2 T/TCP中的新TCP选项232.3 T/TCP实现所需变量252.4 状态变迁图272.5 T/TCP的扩展状态282.6 小结30第3章 T/TCP使用举例313.1 概述313.2 客户重新启动313.3 常规的T/TCP事务333.4 服务器收到过时的重复SYN343.5 服务器重启动353.6 请求或应答超出报文段最大长度363.7 向后兼容性393.8 小结41第4章 T/TCP协议(续)434.1 概述434.2 客户的端口号和TIME_WAIT状态434.3 设置TIME_WAIT状态的目的454.4 TIME_WAIT状态的截断484.5 利用TAO跳过三次握手514.6 小结55第5章 T/TCP实现:插口层565.1 概述565.2 常量565.3 sosend函数565.4 小结58第6章 T/TCP实现:路由表596.1 概述596.2 代码介绍596.3 radix_node_head结构606.4 rtentry结构616.5 rt_metrics结构616.6 in_inithead函数616.7 in_addroute函数626.8 in_matroute函数636.9 in_clsroute函数636.10 in_rtqtimo函数646.11 in_rtqkill函数666.12 小结69第7章 T/TCP实现:协议控制块707.1 概述707.2 in_pcbladdr函数717.3 in_pcbconnect函数717.4 小结72第8章 T/TCP实现: TCP概要738.1 概述738.2 代码介绍738.3 TCP的protosw结构748.4 TCP控制块748.5 tcp_init函数758.6 tcp_slowtimo函数758.7 小结76第9章 T/TCP实现:TCP输出779.1 概述779.2 tcp_output函数779.3 小结830章 T/TCP实现:TCP函数8410.1 概述8410.2 tcp_newtcpcb函数8410.3 tcp_rtlookup函数8510.4 tcp_gettaocache函数8610.5 重传超时间隔的计算8610.6 tcp_close函数8910.7 tcp_msssend函数9010.8 tcp_mssrcvd函数9110.9 tcp_dooptions函数9610.10 tcp_reass函数9810.11 小结991章 T/TCP实现:TCP输入10111.1 概述10111.2 预处理10311.3 首部预测10411.4 被动打开的启动10511.5 主动打开的启动10811.6 PAWS:防止序号重复11411.7 ACK处理11511.8 完成被动打开和同时打开11511.9 ACK处理(续)11611.10 FIN处理11811.11 小结1192章 T/TCP实现:TCP用户请求12012.1 概述12012.2 PRU_CONNECT请求12012.3 tcp_connect函数12012.4 PRU_SEND和PRU_SEND_EOF请求12412.5 tcp_usrclosed函数12512.6 tcp_sysctl函数12612.7 T/TCP的前景12612.8 小结127第二部分 TCP的其他应用3章 HTTP:超文本传输协议12913.1 概述12913.2 HTTP和HTML概述13013.3 HTTP13213.4 一个例子13613.5 HTTP的统计资料13813.6 性能问题13913.7 小结1414章 在HTTP服务器上找到的分组14214.1 概述14214.2 多个HTTP服务器14414.3 客户端SYN的到达间隔时间14514.4 RTT的测量14914.5 用listen设置入连接队列的容量15014.6 客户端的SYN选项15414.7 客户端的SYN重传15614.8 域名15714.9 超时的持续探测15714.10 T/TCP路由表大小的模拟16014.11 mbuf的交互16214.12 TCP的PCB高速缓存和首部预测16314.13 小结1655章 NNTP:网络新闻传输协议16615.1 概述16615.2 NNTP16715.3 一个简单的新闻客户17015.4 一个复杂的新闻客户17115.5 NNTP的统计资料17215.6 小结173第三部分 Unix域协议6章 Unix域协议:概述17516.1 概述17516.2 用途17616.3 性能17716.4 编码举例17716.5 小结1797章 Unix域协议:实现18017.1 概述18017.2 代码介绍18017.3 Unix domain和protosw结构18117.4 Unix域插口地址结构18217.5 Unix域协议控制块18317.6 uipc_usrreq函数18517.7 PRU_ATTACH请求和unp_attach函数18617.8 PRU_DETACH请求和unp_detach函数18717.9 PRU_BIND请求和unp_bind函数18917.10 PRU_CONNECT请求和unp_connect函数19117.11 PRU_CONNECT2请求和unp_connect2函数19517.12 socketpair系统调用19817.13 pipe系统调用20217.14 PRU_ACCEPT请求20317.15 PRU_DISCONNECT请求和unp_disconnect函数20417.16 PRU_SHUTDOWN请求和unp_shutdown函数20517.17 PRU_ABORT请求和unp_drop函数20617.18 其他各种请求20717.19 小结2098章 Unix域协议:I/O和描述符的传递21018.1 概述21018.2 PRU_SEND和PRU_RCVD请求21018.3 描述符的传递21418.4 unp_internalize函数21818.5 unp_externalize函数22018.6 unp_discard函数22118.7 unp_dispose函数22218.8 unp_scan函数22218.9 unp_gc函数22318.10 unp_mark函数23018.11 性能(再讨论)23118.12 小结231附录A 测量网络时间232附录B 编写T/TCP应用程序242参考文献246缩略语251

引言和本书的组织本书是套书《TCP/IP详解》的第3卷,这套书的卷1是[Stevens 1994],卷2是[Wright and Stevens 1995]。本书分成三个部分,每个部分覆盖了不同的内容。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快1倍。部分是对T/TCP的介绍,又分成两个小部分。~4章介绍协议,并给出了大量实例来说明它们是怎样工作的。这些材料主要是对卷1中24.7节的补充,在那里对T/TCP只是做了简单的介绍。第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)的高负荷使用,也提供了唯一可以对服务器上确切的分组进行考察的机会(4章),可以回顾卷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域协议以最小的代码变化提供了一个简单的手段来增强本地应用的性能。以上三个部分的每个部分都可以独立阅读。读者与这套书的前两卷一样,这一卷是为所有想要理解TCP/IP如何工作的人写的:编写网络应用的程序员,负责维护采用TCP/IP的计算机网络的系统管理员,以及在日常工作中经常与TCP/IP应用程序打交道的用户。和第二部分是理解TCP/IP工作原理的基础。不熟悉TCP/IP的读者应该看看这套书的卷1,见[Stevens 1994],以便对TCP/IP协议集有一个全面的了解。部分的前半部分(~4章,TCP/IP中的概念和例子)与卷2无关,可以直接阅读。但后半部分(第5~12章,T/TCP的实现)则需要先熟悉4.4 BSD-Lite网络程序,这些内容在卷2中介绍。在整本书中有大量的向前和向后参考索引,这些参考索引是针对本书的两个主题,以及对卷1和卷2的内容,为想要了解更详细内容的读者提供的。在本书最后有书中用到的所有缩略语,书中介绍的所有结构、函数和宏(以字母顺序排列)及其介绍起始页码的交叉索引。如果本书引用了卷2中的定义,则该交叉索引也列出了卷2中的定义。源码版权本书中引自4.4BSD-Lite版的所有源码(源程序)都包括下面这样的版权声明:第6章路由表的源码则包括下面这样的版权声明:印刷惯例当需要显示交互的输入和输出信息时,将用黑体表示键盘输入,而计算机输出则用Courier体,并用中文宋体做注释。书中总是把系统名作为命令解释程序提示符的一部分(例如sun),以说明命令是在哪个主机上执行的。在正文中引用的程序名通常都是首字母大写(如Telnet和Tcpdump),以避免过多的字体形式。在整本书中,我们会使用这种缩进格式的附加说明来描述实现细节或历史观点。W. Richard Stevens图森,亚利桑那1995年11月rstevens@noao.eduhttp://www.noao.edu/~rstevens

商品参数
基本信息
出版社 机械工业出版社
ISBN 9787111617778
条码 9787111617778
编者 [美]理查德·史蒂文斯W.Richard Stevens
译者
出版年月 2018-09-01 00:00:00.0
开本 16开
装帧 平装
页数 252
字数 253
版次 1
印次
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]