此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

互联网是如何工作的?

这篇文章讨论什么是互联网以及它是如何工作的。

前提: 无,但是鼓励先去阅读关于设定项目目标的文章
目标: 你将会学习到 Web 的基础技术,以及它与互联网的区别。

概述

互联网是 Web 的支柱,以这种技术为基础使 Web 成为可能。作为基础,互联网是把计算机互相连接起来的一个巨大网络。

互联网的历史有些模糊不清。它始于 1960 年美国军方资助的研究项目。1980 年在许多公共大学和公司的支持下,它演变为一种公共基础设施。随着时间的变化,各种各样的技术支持着互联网的发展,但是它的工作方式却没有改变多少:互联网确保所有计算机之间的连接,无论发生什么,它们依旧保持连接。

有关互联网的视频

深入探索

一个简单的网络

当两台计算机需要通信的时候,你必须要连接他们,无论通过有线方式(通常是网线)或是无线方式(比如 WiFi蓝牙)。所有现代计算机都支持这些连接。

备注:接下来的内容,我们将只谈论有线连接,而无线连接的原理与此相同。

两台电脑连接在一起

通常一个网络不仅限于两台计算机。你可以尽你所想地连接计算机,但是情况立刻变得复杂了。如果你尝试连接,比如说十台计算机,每台电脑有九个插头,总共需要 45 条网线。

十台电脑连接在一起

为了解决这个问题,网络上的每台计算机需要连接到一个叫做网络交换机(network switch)的小型特殊计算机。交换机只干一件事:就像火车站的调度员,它要确保从一台计算机上发出的消息仅可以到达目标计算机。为了把消息发送给计算机 B,计算机 A 必须把信息发送给交换机,交换机将收到的信息转发给计算机 B。计算机 B 不会收到发给其他计算机的消息,发给计算机 B 的消息也不会传到局域网上的其他计算机上。

一旦我们把交换机加入到这个系统,我们的网络中便只需要十条网线:每台计算机一个插口,交换机上十个插口。

十台电脑和一个交换机

网络中的网

到目前为止一切都很好。但是我们要连接成百上千、上亿台计算机呢?当然一台交换机覆盖不了这么远,但是,如果你阅读得比较认真,我们曾提到交换机像其他计算机一样,所以我们为什么不把两个交换机彼此连接呢?

两个交换机连接在一起

你可以想象我们可以无限地将交换机连接起来,形成这样的网络:

多个交换机连接在一起

但是在现实中,这样会导致许多工程问题。数据包需要经过的交换机越多,到达目的地的时间就越长。而且你不能只依赖这种树状结构的交换机集群,因为一旦某个交换机节点故障,就会导致大面积的断网,这会使你的网络变得脆弱。为了解决这个问题,我们将每个网络保持在一个较小的规模,并使用一种名为路由器(router)的设备来连接每个网络。路由器是一种负责在不同网络之间转发消息的计算机,其运作原理类似邮局:当数据包到达时,它会读取收件人的地址,直接将数据包转发给正确的收件人,而无需经过层层中转。

这样的网络与我们所说的互联网极为相似。我们只需通过物理介质(电缆)将所有路由器连接起来。幸运的是,在互联网出现之前,这样的基础设施早已存在——那就是电话网络。要将我们的网络连接到电话基础设施,需要一种名为调制解调器(modem)的特殊设备。该调制解调器能将我们网络中的消息转换为电话基础设施可处理的形式,反之亦然。

路由器与调制解调器连接

请注意,你家中的商用路由器很可能集成了交换机、路由器和调制解调器功能于一体。

因此我们已连接至电话基础设施。下一步是将我们网络中的消息发送至目标网络。为此,我们将通过互联网服务提供商(ISP)连接至互联网。ISP 是管理特殊路由器的公司,这些路由器相互连接,并能访问其他 ISP 的路由器。因此,来自我们网络的消息将通过 ISP 网络的网络传输至目标网络。整个互联网正是由这样的网络基础设施构成的。

完整的互联网栈

寻找计算机

如果你想给一台计算机发送消息,你必须指明它是哪台计算机。因此,任何连接到网络中的计算机都需要有一个唯一的地址来标记它,叫做“IP 地址”(IP 代表互联网协议)。这个地址由四部分被点分隔的数字序列组成,比如:192.0.2.172

这对于计算机来说完全没问题,但我们人类很难记住这种地址。为了使事情更简单,我们可以使用一个叫做域名的可读名称来替代 IP 地址。例如(在写作时,IP 地址可能会变化),google.com 是用于 IP 地址 142.250.190.78 的域名。所以使用域名是我们通过互联网访问计算机的最简单方式。

展示域名如何作为 IP 地址的别名

互联网和 Web

你可能注意到了,当我们通过浏览器上网的时候,我们通常是用域名去到达一个网站。这是否意味着互联网和 Web 是一样的?事实并非这么简单。正如向我们所见,互联网是一种基础的技术,它允许我们把成千上万的计算机连接在一起。在这些电脑中,有一些计算机(我们称之为 Web 服务器)可以发送一些浏览器可以理解的信息。互联网是基础设施,Web 是建立在这种基础设施之上的服务。值得注意的是,一些其他服务也同样运行在互联网之上,比如邮箱和 IRC

内联网和外联网

内联网(Intranet)是仅限于特定组织成员使用的专用网络。它们通常用于为成员提供一个门户,以便安全地访问共享资源、进行协作和交流。例如,一个组织的内联网可能包含用于共享部门或团队信息的网页、用于管理关键文档和文件的共享驱动器、用于执行业务管理任务的门户网站,以及维基、讨论板和消息系统等协作工具。

外联网(Extranet)与内联网非常相似,只是它们开放了全部或部分专用网络,允许与其他组织共享和协作。外联网通常用于安全可靠地与客户和与企业密切合作的利益相关者共享信息。其功能通常与内联网类似:信息和文件共享、协作工具、讨论板等。

内联网和外联网都在与互联网相同的基础设施上运行,并使用相同的协议。因此,经授权的成员可以从不同的物理位置访问它们。

外联网和内联网工作原理图

下一步