第1章 OSI和TCP/IP
如果你家电话坏了,需要买一台新的电话来替换这台坏掉的,那么只要你卡里的钱足够支付一台电话的费用,你就可以随便找一个购物网站下个订单。等电话送来之后,你再亲自把电话线插到新电话的插孔里,替换的工作就算大获成功了。只要有张信用卡,连学龄前的小朋友都能轻松完成这项工作。但不知你想过这个问题没有:甭管坏掉的那台电话是美国原装进口的AT&T、德国原装的Gigaset、荷兰原装的飞利浦、日本原装的松下,还是国产的步步高,也甭管你再买来的这台电话是哪国的产品,只要这玩意儿叫“固定电话”,你把线插好之后它都一样好用。这是为什么?现在把这个问题延伸一下思考:如果其他某个星球上也有智慧生命体,它们也独立发展出了和地球人一样发达的科技文明,科技文明的产品中也有电话一类的通信产品,而且这种通信产品所采用的技术和原理与地球上的一样,那么这台外星人生产的电话能够在地球使用吗?
乍一想,甭管哪里生产的电话,只要原理相同,拿过来都应该能用。如果外星人独立研发出了和地球上的汽车原理相同的机动车,那么只要能把它运过来,在地球上轱辘当然也能转。但稍微仔细想想,大部分人就应该会得出相似的结论:“外星电话”在地球上应该是用不了的。
从宏观的角度上看,外星电话的接口大小几乎不太可能跟咱电话的接口相匹配。而接口不一样大,接头就插不进去;退一万步说,就算接头能插进去,外星人定义的编码转化方式也不可能和地球人定义的完全一样。比如说,对于地球人生产的固定电话,如果你用信号发生器同时产生693赫兹和3336赫兹这两个频率的声音,从听筒传进去,经过咱的电话转码,最终会拨出号码0。这可不是自然规律,这是地球人之间为了相互交流而自己定义的通信规则。人家外星人也会有自己定义的规则(见图1-1)。
这样一来,在其他国家生产的电话也能在国内使用,其原因就很清楚了。这是因为电话生产厂家都遵循了相同的规则,而这些规则来自与电话通信有关的标准,只有遵守这些标准生产出来的电话才能应用于电话通信网。而外星电话(就算有)之所以在地球上使用不了,那是因为人家没有参与制定咱地球人的电话通信协议,所以也不按照咱的规则生产电话。这也是我在上文特意用黑体字强调了“独立发展”这四个字的原因。
图1-1 地球人与外星人的通信障碍
针对这个问题的思考不是无的放矢,而是为了说明一个道理:通信是一项由多方参与的任务,因此要想实现通信,参与通信的各方必须在相关层面遵循相同的标准。相较之下,双方是否使用了相同的通信原理反而并不是那么重要。
甚至可以推断,如果不是地理大发现之后,人类文明日渐走向一体化和全球化,而电话系统的功能又如此单一,很可能至今为止,一个国家生产的电话,到了另一个国家还是使用不了。
有证据吗?有!互联网发展史中,标准化的进程就是最好的证据。标准化的工作就是因为早期异构系统之间无法进行通信,才被推上议事日程的。
懂一点英文构词法的人都明白,所谓“Internet”其实是在“网”(net)这个词的前面加了一个前缀“Inter”,而这个前缀表示的就是“相互”。所以,无论把Internet翻译成“互联网”还是“网际网络”都是十分贴切的。一言以蔽之,Internet就是连接网络的网络。
既然互联网是连接网络的网络,显然说明在互联网产生之前,网络就已经存在了。在早期计算机网络中,最为著名的是阿帕网。这个网络自1969年开始投入运营,它最初只是将位于美国西部四所高校内的核心计算机连接了起来。到了20世纪70年代,阿帕网希望能够进一步与其他节点进行互联。这时,它遭遇了我们在前文中试图通过外星电话解释的那个问题:标准化。正是标准化方案的欠缺,制约了阿帕网的发展。但也是在那个年代,更多机构建立了自己的独立网络。从那时起,人们意识到一个问题:要想实现各个网络的广泛互联,就必须对这些有计算机参与的通信系统进行标准化。于是,通信的标准化模型及协议栈就开始在那个时期酝酿。20世纪70年代中后期,TCP/IP协议栈应运而生。标准化方案的出台为网络互联提供了基础。1986年,基于TCP/IP协议栈的NSFnet建立,在美国国家科学基金会的鼓励与资助下,许多机构将自己的局域网并入NSFnet中。从那时起,网络互联就成了一种不可逆转的趋势,并将深刻影响人类文明的发展进程。
综上所述,在互联网发展的过程中,对网络的通信方式进行标准化的工作厥功至伟。在接下来的两章中,我们会向即将开始了解这个技术世界的读者介绍网络世界的标准。这两章的内容就像一本漫画或者小说的前情提要,或者一部电影的开场白,虽然难免乏味,却必不可少。
那么,在深入讲解OSI和TCP/IP这两个模型所具有的划时代意义之前,让我们先来了解一个术语:协议。