有一些标准的简单服务几乎每种实现都要提供。在本书中我们将使用其中的一些服务程
序,而客户程序通常选择 Te l n e t。图1 - 9描述了这些服务。从该图可以看出,当使用 T C P和
U D P提供相同的服务时,一般选择相同的端口号。标准的简单服务 互联网 实现 应用编程接口
如果仔细检查这些标准的简单服务以及其他标准的 T C P / I P服务(如Te l n e t、F T P、
S M T P等)的端口号时,我们发现它们都是奇数。这是有历史原因的,因为这些端口号
都是从N C P端口号派生出来的(N C P,即网络控制协议,是A R PA N E T的运输层协议,
是T C P的前身)。N C P是单工的,不是全双工的,因此每个应用程序需要两个连接,需
预留一对奇数和偶数端口号。当 T C P和U D P成为标准的运输层协议时,每个应用程序
只需要一个端口号,因此就使用了NCP中的奇数。
1.13 互联网
在图1 - 3中,我们列举了一个由两个网络组成的互联网—一个以太网和一个令牌环网。
在1 . 4节和1 . 9节中,我们讨论了世界范围内的互联网—I n t e r n e t,以及集中分配I P地址的需要
(I n t e r N I C),还讨论了知名端口号( I A N A)。i n t e r n e t这个词第一个字母是否大写决定了它具
有不同的含义。
i n t e r n e t意思是用一个共同的协议族把多个网络连接在一起。而 I n t e r n e t指的是世界范围内
通过T C P / I P互相通信的所有主机集合(超过 1 0 0万台)。I n t e r n e t是一个i n t e r n e t,但i n t e r n e t不等
于I n t e r n e t。
1.14 实现
既成事实标准的 T C P / I P软件实现来
自于位于伯克利的加利福尼亚大学的计
算机系统研究小组。从历史上看,软件
是随同4.x BSD系统(Berkeley Software
D i s t r i b u t i o n)的网络版一起发布的。它的源代码是许多其他实现的基础。图1 - 1 0列举了各种 B S D版本发布的时间,并标注了重要的 T C P / I P特性。列在左边的 B S D网络版,其所有的网络源代码可以公开得到:包括协议本身以及许多应用程序和工具(如Te l n e t和F T P)。在本书中,我们将使用'伯克利派生系统'来指 SunOS 4.x 、S V R 4以及AIX 3.2等那些基于伯克利源代码开发的系统。这些系统有很多共同之处,经常包含相同的错误。起初关于I n t e r n e t的很多研究现在仍然在伯克利系统中应用—新的拥塞控制算法( 2 1 . 7节)、多播(1 2 . 4节)、'长肥管道修改(2 4 . 3节)以及其他类似的研究。
1.15 应用编程接口
使用T C P / I P协议的应用程序通常采用两种应用编程接口( A P I):s o c k e t和T L I(运输层接口:Transport Layer Interface)。前者有时称作'Berkeley socket',表明它是从伯克利版发展
而来的。后者起初是由 AT & T开发的,有时称作 X T I(X / O p e n运输层接口),以承认X / O p e n这
个自己定义标准的国际计算机生产商所做的工作。 X T I实际上是T L I的一个超集。
本书不是一本编程方面的书,但是偶尔会引用一些内容来说明 T C P / I P的特性,不管大多
数的 A P I(s o c k e t)是否提供它们。所有关于 s o c k e t和T L I的编程细节请参阅文献 [ S t e v e n s 1 9 9 0 ]
1.16 测试网络
图1 - 11是本书中所有的例子运行的测试网络。
在这个图中(作者的子网),大多数的例子都运行在下面四个系统中。图中所有的 I P地址
属于B类地址,网络号为 1 4 0 . 2 5 2。所有的主机名属于 . t u c . n o a o . e d u这个域(n o a o代表
National Optical Astronomy Observatories,t u c代表Tu c s o n)。例如,右下方的系统有一个完
整的名字: s v r 4 . t u c . n o a o . e d u,其I P地址是:1 4 0 . 2 5 2 . 1 3 . 3 4。每个方框上方的名称是该
主机运行的操作系统。这一组系统和网络上的主机及路由器运行于不同的 T C P / I P实现。
需要指出的是,n o a o . e d u这个域中的网络和主机要比图 1 - 11中的多得多。这里列出来的
只是本书中将要用到的系统。
在3 . 4节中,我们将描述这个网络所用到的子网形式。在 4 . 6节中将介绍s u n与n e t b之间
的拨号S L I P的有关细节。2 . 4节将详细讨论S L I P。
总结:T C P / I P协议族分为四层:链路层、网络层、运输层和应用层,每一层各有不同的责任。
在T C P / I P中,网络层和运输层之间的区别是最为关键的:网络层( I P)提供点到点的服务,
而运输层(T C P和U D P)提供端到端的服务。
一个互联网是网络的网络。构造互联网的共同基石是路由器,它们在 I P层把网络连在一
起。第一个字母大写的I n t e r n e t是指分布在世界各地的大型互联网,其中包括 1万多个网络和超
过1 0 0万台主机。
在一个互联网上,每个接口都用 I P地址来标识,尽管用户习惯使用主机名而不是 I P地址。
域名系统为主机名和 I P地址之间提供动态的映射。端口号用来标识互相通信的应用程序。服
务器使用知名端口号,而客户使用临时设定的端口号。
联系客服