应用编程接口和测试网络

【应用编程接口和测试网络】
使用TCP/IP协议的应用程序通常采用两种应用编程接口(API):socket和TLI(运输层接口:Transport Layer Interface) 。前者有时称作“ Berkeley socket” , 表明它是从伯克利版发展而来的 。后者起初是由AT & T开发的 , 有时称作XTI(X/Open运输层接口) , 以承认X/Open这个自己定义标准的国际计算机生产商所做的工作 。XTI实际上是TLI的一个超集 。
;;;;本书不是一本编程方面的书 , 但是偶然会引用一些内容来说明TCP/IP的特性 , 不管大多数的API(socket)是否提供它们 。所有关于socket和TLI的编程细节请参阅文献[Stevens1990] 。
;;;;图1 - 11是本书中所有的例子运行的测试网络 。为阅读时参考方便 , 该图还复制在本书扉页前的插页中 。
;;;;在这个图中(作者的子网) , 大多数的例子都运行在下面四个系统中 。图中所有的IP地址属于B类地址 , 网络号为140.252 。所有的主机名属于.tUC.noao.edu这个域(noao代表National Optical Astronomy Observatories , t u c代表Tucson) 。例如 , 右下方的系统有一个完整的名字:svr4.tuc.noao.edu , 其I P地址是:140.252.13.34 。每个方框上方的名称是该主机运行的操作系统 。这一组系统和网络上的主机及路由器运行于不同的TCP/IP实现 。
;;;;需要指出的是 , noao.edu这个域中的网络和主机要比图1 - 11中的多得多 。这里列出来的只是本书中将要用到的系统 。
;;;;在3.4节中 , 我们将描述这个网络所用到的子网形式 。在4.6节中将介绍sun与netb之间的拨号SLIP的有关细节 。2.4节将具体讨论SLIP 。
;;;;本章快速地浏览了TCP/IP协议族 , 介绍了在后面的章节中将要具体讨论的许多术语和协议 。
;;;;TCP/IP协议族分为四层:链路层、网络层、运输层和应用层 , 每一层各有不同的责任 。在TCP/IP中 , 网络层和运输层之间的区别是最为要害的:网络层(IP)提供点到点的服务 , 而运输层(TCP和UDP)提供端到端的服务 。
;;;;一个互联网是网络的网络 。构造互联网的共同基石是路由器 , 它们在IP层把网络连在一起 。第一个字母大写的Internet是指分布在世界各地的大型互联网 , 其中包括1万多个网络和超过100万台主机 。
;;;;在一个互联网上 , 每个接口都用I P地址来标识 , 尽管用户习惯使用主机名而不是IP地址 。域名系统为主机名和IP地址之间提供动态的映射 。端口号用来标识互相通信的应用程序 。服务器使用知名端口号 , 而客户使用临时设定的端口号 。
习题
;;;;1.1 请计算最多有多少个A类、B类和C类网络号 。
;;;;1.2 用匿名FTP(见27.3节)从主机nic.merit.edu上获取文件nsfnet/statistics/history.netcount 。该文件包含在NSFNET网络上登记的国内和国外的网络数 。画一坐标系 , 横坐标代表年 , 纵坐标代表网络总数的对数值 。纵坐标的最大值是习题1.1的结果 。假如数据显示一个明显的趋势 , 请估计按照当前的编址体制推算 , 何时会用完所有的网络地址(3.10节讨论解决该难题的建议) 。
;;;;1.3 获取一份主机需求RFC拷贝[Braden 1989a] , 阅读有关应用于TCP/IP协议族每一层的稳健性原则 。这个原则的参考对象是什么?
;;;;1.4 获取一份最新的赋值RFC拷贝 。“quote of the day”协议的有名端口号是什么?哪个RFC对该协议进行了定义?
;;;;1.5 假如你有一个接入TCP/IP互联网的主机帐号 , 它的主IP地址是多少?这台主机是否接入了Internet?它是多接口主机吗?
;;;;1.6 获取一份RFC1000的拷贝 , 了解RFC这个术语从何而来 。

;;;;1.7 与Internet协会联系 , isoc@isoc.org或者 1 703 648 9888 , 了解有关加入的情况 。

推荐阅读