互联网是如何工作的?
概述
互联网是网络的支柱,以这种技术为基础使网络成为可能。
作为基础,互联网是把电脑互相连接起来的一个巨大网络。
它始于1960年美国军方资助的研究项目。
1980年在许多公共大学和公司的支持下,它演变为一种公共基础设施。
随着时间的变化,各种各样的技术支持着互联网的发展。
但是它的工作方式却没有改变多少:互联网确保所有的电脑之间的连接,无论发生什么他们依旧保持连接。
起因
Paul Baran 试图弄清楚如何创建一个在核攻击下幸存的通信系统。
为此比较两种方案 集中式 和 分布式。
所以他有一个想法,把信息分成若干块,并通过网状网络。
以尽可能快的速度向每个可能的地方发送。
然后他们团队最终将其变成了全国性的实验性分组网络,并且奏效了。
互联网的管理者
互联网是由大量独立运营 ISP 的网络组成的。
该系统的有趣之处在于它是完全分布式的。
没有中央控制来决定数据包的路由方式或网络的构建位置,甚至是谁与谁互连。
这些都是由运营商独立制定的业务决策。
它们都是为了确保网络的每个部分都具有端到端的连通性,
因为网络的用途是任何设备都可以与任何其他设备进行通信。
就像你希望能够拨打电话到世界上任何其他电话一样。
深入探索
一个简单的网络
当两台电脑需要通信的时候,你必须要连接他们。
无论通过有线方式(通常是网线)还是无线方式(比如 WiFi 或 蓝牙 )。
所有现代电脑都支持这些连接。
通常一个网络不仅限于两台电脑。
你可以尽你所想地连接电脑,但是情况立刻变得复杂了。
如果你尝试连接,比如说十台电脑,每台电脑有九个插头,总共需要 45 条网线。
为了解决这个问题,网络上的每台电脑需要链接到一个叫做 router 的特殊小电脑。
路由器只干一件事:就像火车站的信号员,它要确保从一台电脑上发出的一条信息可以到达正确的电脑。
为了把信息发送给电脑B,电脑A必须把信息发送给路由器,路由器将收到的信息转发给电脑B,并且确保信息不会发送给电脑C。
一旦我们把路由器加入到这个系统,我们的网络中便只需要十条网线:每台电脑一个插口,路由器上十个插口。
复杂一点的网络
到目前为止一切都很好。 但是我们要连接成百上千,上亿台电脑呢?
当然一台路由器覆盖不了这么远。
但是,刚已经提到路由器可以像其他电脑一样。
所以我们只需要把两个路由器彼此连接。
我们把电脑连接上路由器,接着路由器连接路由器,我们就会有无穷的规模。
这样网络越来越接近我们所说的互联网,但是我们遗漏了一些东西。
我们建立网络是为了我们自己的目的。
所以不同的人会建立不同的网络:
你的朋友,你的邻居,每个人都可以拥有自己的计算机网络。
在你的房子和世界其它地方之间架设电缆将这些不同的网络连接起来是不可能的。
那么该如何处理这件事呢?
其实已经有电缆连接到你的房子了。比如,电线和电话。
电话基础设施已经可以把你家连接到世界的任何角落,所以它就是我们需要的线。
为了连接电话这种网络我们需要一种基础设备叫做调制解调器(modem),
调制解调器可以把网络信息变成电话设施可以处理的信息,反之亦然。
这样,我们可以通过电话基础设施相互连接。
下一步是把信息从我们的网络发送到我们想要到达的地方。
为了做这些,我们需要把我们的网络连接到 ISP。
ISP 之前已经介绍过。——互联网的管理者
这些路由器连接其他 ISP 的路由器。
你的网络消息可以被 ISP 捕获并发送到相应的网络。
互联网就是由这些所有的网络设施所组成。
寻找电脑
如果你想给一台电脑发送一条信息,你必须指明它是哪台电脑。
因为互联网是一个全球性的计算机网络,
每台连接到互联网的计算机都必须有一个独特的地址。
因此,任何连接到网络中的电脑都需要有一个唯一的地址来标记它。
这个标记可能是临时的也可能是永久的,叫做 IP 地址(IP 代表网络协议)。
这个地址由四部分被点分隔的数字序列组成,
格式为 n.n.n.n,其中n必须是0-255的号码。比如:192.168.2.10
。
对于电脑这样已经很好了,但是人类却很难记忆这一串地址。
为了简单处理,我们给IP地址取一个容易阅读的别名「域名」。
比如,google.com
被用于IP地址 172.217.7.14
。
这样我们通过这些域名可以很容易的通过网络连接到电脑。
互联网和网络
你可能注意到了,当我们通过浏览器上网的时候,
我们通常是用域名去到达一个网站。
这是否意味着 Internet 和 Web 是一样的?
事实并非这么简单。
正如向我们所见,互联网是一种基础的技术,
它允许我们把成千上万的电脑连接在一起。
在这些电脑中,有一些电脑(Web servers)可以发送一些浏览器可以理解的信息。
互联网是基础设施,网络是建立在这种基础设施之上的服务。
值得注意的是,一些其他服务运行在互联网之上,比如邮箱和IRC。
后续还有更多的东西值得我们去学习。