罗伯斯主导了阿帕网的成功研发,但是从阿帕网到互联网还有一段距离,这就是使用不同协议的网络之间的互联,完成这一工作的是卡恩。1972年11月阿帕网在ICCC大会成功地宣传出去后,卡恩在罗伯斯的邀请下来到计划署从事研究工作。1973年9月罗伯斯离开计划署,加入了BBN成立的新公司Telenet,开始了阿帕网技术商业化的工作,卡恩接管了阿帕网的项目管理。
阿帕网并不是美国当时唯一的计算机网络。在罗伯斯等人研发阿帕网的时候,夏威夷大学的诺姆·艾布拉姆森(Norm Abramson)已经通过计划署的另一个项目的资助,从1966年开始研究如何通过无线电将散布在夏威夷各个岛上的计算机连接起来。在研究期间,他和泰勒以及罗伯斯一直保持联系和交流,罗伯斯为他们的网络研发提供了不少建议。尽管艾布拉姆森的研究小组也想到了使用分组交换方式,但是在具体的实施协议上无法采用与阿帕网类似的网络控制协议。这是因为无线电信号只能采取广播的形式发送,无法进行点对点传输。换句话说,使用无线电网络传输信息的计算机的传输信息将不但被接收方的计算机收到,也会被同一网络内的所有计算机接收到。艾布拉姆森他们花了几年时间研究如何在最大限度上简化传输的复杂度,并且能让整个传输过程更有效率。最终,他们研制出了适用于无线电传输的协议并在1971年成功地安装了第一个无线电网络,这就是ALOHAnet。
ALOHAnet采用的方法是让网络内的计算机将信息以规定的频道自由发送出去,如果信息成功发送到目的地计算机,就会从另一个频道接收到确认信息。如果发射不成功,就意味着其他主机也同时发送了信息,产生了冲突。这时需要发送信息的计算机就随机等待一段时间,然后再发送,如此反复直到发送成功为止。这一看似简单的协议能够让艾布拉姆森他们同时连接夏威夷三个主要岛屿上的40多个用户节点,从而验证了使用无线电媒质来进行分组交换传输的可能性。
卡恩在1972年接手计划署的计算机网络管理工作时,计划署开始资助将ALOHAnet的研究成果扩展到移动计算机的联网上,也就是无线分组网(Packet Radio Net,PRNET)。无线分组网里每个入网的计算机上安装了一个无线电发射和接收装置。入网的计算机通过该装置与其他计算机联系,而整个网络由一个控制中心和若干个中继器来协调计算机之间的通信。这一网络要求能够让入网的计算机在不断移动过程中相互通信。卡恩在设计这一网络架构的过程中,遇到设计完成后如何进行实验的问题。因为当时的计算机都是庞然大物,显然无法简单地放进一辆汽车里来进行实验。但是如果将这一新的网络与阿帕网连接的话,那么就可以通过阿帕网来进行实验了。但是阿帕网使用的传输协议和介质与无线分组网的传输协议和介质都不同,于是这就引出了不同网络之间的互联问题。卡恩起初称其为“Internetting”,后来逐渐成为“Internet”也就是我们所说的互联网[13]。除了PRNET外,20世纪70年代中期,美国军方和计划署还根据ALOHAnet的经验开发了通过卫星连接美国的马里兰州,西弗吉尼亚州,以及欧洲的英国和挪威4个节点的卫星通信网(SATNET)。该网络除了用来做网络传输研究外,还用来传输地震波数据。卫星通信网自然也应该与阿帕网连接起来。与无线分组网的广播传输不同的是,卫星通信网使用的是点对点传输。
在研究如何将这些不同的异种网络连接起来的过程中,卡恩找到了此时已经在斯坦福大学担任助理教授的瑟夫来一起进行合作。卡恩和瑟夫在搭建阿帕网的工作过程中结识并从那时开始成为好友。他们很快归纳出解决异种网互联所需要解决的两个基本问题:一是如何设计一个普遍适用的网络协议能够同时满足不同网络的传输特点;二是如何将两个不同网络实际连接起来。
1973年6月瑟夫在斯坦福大学专门召集了阿帕网的主要用户代表召开座谈会来一起商讨这两个问题。通过同行间的集思广益,几个重要的突破出现。法国政府资助的基克拉泽斯实验网络(cyclades project)所使用的协议成为第一个突破点。该项目强调使用简单的分组交换协议来实现网络互联,因为越是复杂的互联协议越可能导致连接的困难。另一方面,该协议强调入网的主机负担主要的传输协调功能,而不是像阿帕网协议里那样,用路由计算机IMP来负责信息的分组和传递。另外,我们后面会提到的施乐公司帕洛阿尔托研究中心所做的局域网研究也为互联网传输协议提供了重要的思路,它使用了与前述法国实验网络类似的简单连接方式,让计算机通过网线与其他计算机直接连接,联网的计算机自己负责传输信息的准确性和完整性。
通过综合各个方面的建议,卡恩和瑟夫提出了传输控制协议(TCP)的网络互联解决方案。因为继续使用IMP与不同网络的计算机建立直接联系会使IMP的复杂度激增,而且失去了互联网的可扩展性,这个新的协议摒弃了阿帕网的IMP与IMP之间的联系来保证传输信息的可靠性,转为由发送和接收信息的两个主机来保证传输信息的可靠性。发送方的主机将信息分割成若干个数据包通过网络发送出去,接收方接到每一个数据包后给发送方一个确认信息。如果某一个数据包在传输过程中丢失或者发送方在一定时间内没有收到接收方的确认信息,那么发送方就将该数据包再发送一遍,直到收到对方的确认信息为止。至于两个不同的网络之间的连接,卡恩和瑟夫提出使用一个网关(Gateway)将需要跨网络传输的数据包进行简单的数据模式转换的方式来解决。每个网关只需要知道如何将与自己相连的几个异种网之间的信息进行数据模式转换就可以了。同时每一个网关还维持一个路由表,标明如何将信息从一个网络传递到另一个网络,不必知道具体的接收信息的计算机。这一设计使得网关只需要了解相连的网络信息就可以工作,不需要了解整个互联网的各个主机的路由信息和所有不同异种网的模式转换信息。这样,互联网的规模就不再受网关处理能力的限制,可以无尺度地扩展。
1976年,计划署跟斯坦福大学签订了实施TCP协议的合同,同时获得相关合同的还有BBN公司和伦敦大学学院(University College London)。前者负责研制网关的硬件,后者负责在英国实验远程使用新协议的效果。不久卡恩把瑟夫从斯坦福大学聘到了计划署负责新的网络信息的实施工作。
卡恩和瑟夫最初的传输控制协议的设计也受到了一些批评,因为它要求网关不但负责传输信息,还需要负责信息完整性的校验,而这一工作在两台主机之间已经做过。后来在1978年的一次讨论会上,原先的TCP协议被分成了上下两层协议,上层协议依然负责建立主机之间的连接,并负责发送信息的整理以及确认,从而保证了数据的完整性,这一协议仍然使用原名,也就是网络控制协议(Transmission Control Protocol,TCP)。下层协议则只负责数据包的网络传递,被称为网际协议(Internet Protocol,IP)。这样一来,网关只要实施下层的网际协议,进行数据的转换和传输就可以了。这两者结合起来成为后来互联网的基础传输协议,也就是TCP/IP协议。(www.daowen.com)
TCP/IP协议形成后,卡恩和瑟夫开始为这一标准的普及做推广工作。不过在TCP/IP正式成为互联网的传输协议之前,还经历了与网络所涉及的主要利益集团推出的其他标准的竞争。这些利益集团包括计算机制造商(如IBM)、网络运营商(如AT&T)及网络用户(如研究机构、商业公司、政府机关等)。这三种利益集团都希望网络传输协议的标准对自己有利。于是围绕着协议标准的制定,在互联网扩展之初出现了一段三方博弈的过程。这一过程中美国军方和国家科学基金会对TCP/IP的普及起到了关键作用[5]。
最初博弈是在计算机制造商和网络运营商之间展开。以IBM为代表的计算机制造商希望所有网络都逐渐使用自己公司的独家传输协议,从而实现对网络的垄断目的,所以它们争先推广自己拥有知识产权和控制权的网络传输协议标准。这样一来,用户就不得不一直从它们那里购买网络产品来配套使用和升级。这一招当然是司马昭之心,路人皆知,所以遭到了网络运营商和网络用户的共同抵制。最先采取行动的是包括各大电话公司在内的网络运营商。由于欧洲和日本等其他国家也在规划各自的网络,而它们中绝大多数是国营电话公司,所以当时的网络运营商是一个包括美国电话电报公司和其他国家的国有电话公司在内的联合体。这一联合体有一个协调组织就是设在日内瓦的国际电报电话咨询委员会(International Telegraph and Telephone Consultative Committee,CCITT)[6]。
国际电报电话咨询委员会为了挫败计算机制造商的企图,在1975年仓促制订了一个公开的传输协议——X.25。任何组织都可以采用这一不设知识产权保护的公开协议来实施网络数据传输。罗伯斯领导的Telenet公司,加拿大贝尔的Datapac公司分别在1976和1977年采用了X.25协议。法国、日本、英国等国家的电信公司也陆续采用了该协议。因为网络运营商是计算机制造商的客户,所以计算机制造商不得不提供支持X.25协议的通信设备。于是标准之争的第一阶段的博弈以网络运营商获胜而告一段落。
随之而来的第二阶段的博弈在网络用户和网络运营商之间展开。因为最初的网络运营商其实就是电话公司,所以它们对整个网络架构的设想与电话网非常相似。电话网的传输质量是由网络本身来保证的,于是在X.25设计方案里数据传输质量由传输子网保证。这一设计方案对大型的同质公共网络比较适用,但不适用于异种网络之间的连接,尤其是它对传输线路的质量有比较高的要求,因为凡是与使用X.25协议连接的其他网络都必须支持该协议并在传输介质上达到一定要求。这样一来像无线电网等一些使用其他传输介质的网络就不能连接进入X.25网络。尽管如此,国际电报电话咨询委员会成员在设计X.25时并不认为这是一个问题。他们认为,就像电话网络的普及一样,一个以X.25为统一标准的公共数据网络将满足一切公众需求并支持将来国与国之间的网络连接。这一想法最终遭到了网络另一利益集团——网络使用者的反对。因为它们发现现有的TCP/IP协议能够更好地满足它们的要求。
网络用户,特别是希望接入互联网的公司希望使用一个用户有更多控制权的协议以满足自己的需要,TCP/IP就是这样一个协议。它对网络传输速度没有最低限制,对具体传输路径也没有要求。网络传输质量由收发双方的主机通过协商方式决定。为了减少不必要的开支,许多企业的网管希望用TCP/IP所支持的数据包而不是X.25所支持的虚拟电路方式来传输信息,这是当初X.25的设计者所没有预见到的。因为上述原因,X.25陷入一个尴尬的境地。一方面,它成功地挫败了计算机制造商对网络的垄断企图,另一方面,它阻碍了网络的迅速发展。
第二阶段的博弈并没有决出胜负。因为就在双方对峙中,一个新的网络构架出台了,从而引发了第三阶段的博弈。这次是网络用户所代表的国际标准化组织(International Organization for Standardization,ISO)的介入。1978年国际标准化组织的计算机专家提出了一套从硬件传输到软件使用的公开网络协议框架,使每一台与该框架兼容的计算机和子网都能够联入互联网。这套架构被称为“开放式系统互联参考模型”(Open Systems Interconnection Reference Model,OSI/RM)。之所以称其为“框架”或“模型”是因为国际标准化组织考虑到网络正处在早期发展阶段,与其将注意力集中到某个协议上还不如搭建一个框架,然后现有的协议可以嵌入其不同的层面中,未来的协议也可以以该框架为基础进行设计。通过互联参考模型对协议的要求,无论计算机制造商采用何种协议,都保证对框架的兼容性。这就保证了网络在未来的扩展过程中对不同网络的兼容性的需求[7]。
互联参考模型的7层框架结构对互联网的发展产生了深远的影响。通过嵌入到不同的框架层次中,X.25与TCP/IP之间的关系由对峙转为互补,后面的诸多协议的产生也基本以互联参考模型为框架。但美中不足的是,互联参考模型在底层协议上基本采用X.25的电路交换而不是TCP/IP的分组交换模式。这样一来,网络的传输效率和兼容性就受到了一定的影响。同时互联参考模型过于细分的层次结构使用户觉得过于烦琐,结果遭到了不少抵制。OSI互联参考模型成为后来世界各国关于计算机网络教科书上使用的经典模型,尽管互联网在实际发展过程中使用的是TCP/IP标准。
最后为TCP/IP协议的普及加了一把火的是美国军方。由于日益增多的民用网络和军事用途网络并入阿帕网,军方担心阿帕网被黑客侵入,于是开始研究如何将军事用途的阿帕网与民用阿帕网分开的方法。TCP/IP成为唯一能够取代阿帕网原来的网络控制协议(NCP),实现合理分割的新协议标准。于是1983年阿帕网一分为二,TCP/IP取代NCP成为新的传输协议。阿帕网的军事网络部分成为军事网(MILNET),仍然通过TCP/IP协议与阿帕网的民用部分相连,但军事网内部的通信全部加密。剩下的阿帕网作为科研机构研究网络使用。在完成分割之后负责阿帕网管理的海蒂·海登上校(Heidi Heiden)开始大力推广以TCP/IP为基础的互联网技术的军转民计划,其中包括计划署资助的TCP/IP协议在不同操作系统上的实施,尤其是UNIX系统[8],还提供资金给计算机制造商将TCP/IP协议设计到各自的计算机系统中。这些努力和资金的注入大大推动了TCP/IP协议的普及,美国市场上几乎所有计算机制造商都接受了后面的资助。就这样,TCP/IP协议逐渐成为互联网实际上的通用传输协议。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。