《TCP/IP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》 —1.9 实现

举报
华章计算机 发表于 2019/11/19 20:59:34 2019/11/19
【摘要】 本节书摘来自华章计算机《TCP/IP详解卷3:TCP事务协议、HTTP、NNTP和UNIX域协议》一书中第1章,第1.9节,作者是[美]W. 理查德·史蒂文斯(W.Richard Stevens) ,胡谷雨 吴礼发 等译 谢希仁 校。

1.9   实现

第一个T/TCP实现是由Bob Braden和Liming Wei在南加州大学的信息科学学院(USC ISI)完成的。该项工作得到了美国国家科学基金(NSF)的部分资助,批准号为 NCR-8922231。该实现是为SunOS 4.1.3(从伯克利演变而来的内核)做的,1994年9月就可以用匿名的FTP得到了。SunOS 4.1.3 的源代码补丁可以从ftp://ftp.isi.edu/pub/braden/TTCP.tar.Z得到,但你必须有SunOS内核的源代码才能应用这些补丁。

Twente大学(荷兰)的Andras Olah修改了USC ISI的实现,并于1995年3月将其在FreeBSD 2.0版中发布。FreeBSD 2.0中的网络代码是基于4.4BSD-Lite版的(卷2中有介绍)。图1-16给出了各种BSD版本的演变历程。与路由表(我们将在第6章中讨论)有关的所有工作都是由麻省理工学院(Massachusetts Institute of Technology)的Garrett Wollman完成的。FreeBSD实现的有关信息可以从http://www.freebsd.org得到。

本书作者把 FreeBSD实现移植到了BSD/OS 2.0内核(该内核也基于4.4BSD-Lite中的网络代码)中,也就是运行在主机bsdi和laptop(图1-13中)中的代码,本书从头至尾都用它们。为了支持T/TCP而对BSD/OS所做的修改可以从作者的个人主页里找到:http://www. noao.edu/~rstevens。

图1-16给出了各个BSD版本的演变历程,其中还标出了重要的TCP/IP特性。图中左边显示的是可以公开得到源代码的版本,其中有所有网络代码:协议本身、网络接口的内核例程以及许多应用程序和实用工具(比如Telnet和FTP)。

image.png

本书中所描述的T/TCP实现的基础软件的正式名称是4.4BSD-Lite,但我们一般简称其为Net/3。还要说明的是,可以公开得到的Net/3版本中不包括本书所述为支持T/TCP而做的修改。当提到Net/3这个术语时,实际所指的就是这个不包含T/TCP的、可公开得到的版本。

4.4BSD-Lite2是1995年对4.4BSD-Lite的升级。从网络部分来看,从Lite到Lite2仅仅是解决了一些bug,以及少量的改进(比如我们将在14.9节中介绍的超时的持续探测)。我们给出了3个基于Lite代码的系统:BSD/OS、FreeBSD和NetBSD。本书所述全部都是基于Lite代码的,但所有以上的3个版本都应该在下一个主要版本中升级到Lite2。可以从下面的Walnut Creek CDROM站点得到含有Lite2版本的光盘:http://www.cdrom.com。

本书全书都将用“从伯克利演变而来的实现”这个术语指称厂商的实现,比如SunOS、SVR4(System V Release 4)和AIX,因为所有这些实现的TCP/IP代码最初都来自于伯克利源代码,它们之间有许多共同点,甚至连程序中的差错都相同!


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200