细节可能会让你大吃一惊。
建立大型计算机网络是一项艰巨的任务。互联网的早期开拓者是如何解决的?
归根结底,Internet 只是一组规则,用于帮助计算机在大型网络中相互通信。
这篇文章是为软件开发人员编写的,因为理解计算机之间的关系以及它们如何相互通信是我们作为软件开发人员所做工作的关键。但是,它也旨在成为任何人都应该能够理解的初学者指南!
因此,事不宜迟,让我们谈谈网络。
连接两台计算机
假设我有一台电脑。我朋友也有一台电脑。
如果我们想在我们的计算机之间共享文档、图像、音乐等,我们需要某种类型的连接。
很简单:让我们在计算机之间连接一根电线。
我们已经开始了一个简单的网络!我们的两台计算机现在可以相互通信了。
连接更多计算机
如果另一个朋友加入我们怎么办?新朋友也想成为网络的一部分,并与网络上的所有计算机交谈。
我们还需要几根电线,但这并不难解决。
但是,如果另一个朋友想加入我们的网络怎么办?现在,我们有四个人,我们所有的计算机都需要能够相互通信。
这开始是一团乱麻。我们需要的电线数量比网络上的计算机数量增长得更快!
如果第五个朋友加入网络,情况会变得更糟。
显然,这是不可持续的。我们不能每次在网络中添加一台计算机时都添加更多的电线!
数学书呆子注意事项:这种网络中的连接数表示为“二项式系数”,其中 1 + 2 + ... + n-1 = n(n-1) / 2
其中 n
是计算机的数量 在网络中。
例如,一个有 10 台计算机的网络需要 (10 * 9) / 2
根电线来连接它。 所以 45
根电线!
连接计算机的路由器
为了降低我们网络的复杂性,如果我们在网络中间添加一台唯一的工作是路由流量的计算机会怎么样?
让我们称那台计算机为“路由器”。
哇,路由器帮助我们大大简化了我们的网络!
现在 number_of_wires == number_of_computers
在我们的网络上。我们不得不牺牲一些机器来充当路由器,但由于它只有一项工作,所以它可以是一台非常简单的计算机。
顺便说一句,如果您现在正在互联网上阅读这篇文章,则您的计算机已连接到路由器。这就是 WiFi 路由器。
连接路由器创建网络
使用路由器连接本地网络非常适合在几台计算机之间共享信息。
但是,如果街对面的另一群朋友也有网络并且您希望能够与他们交谈怎么办?
好了,现在我们可以连接我们的路由器来在我们的网络之间进行通信了。
让我们想象一下,我们一直在寻找更多我们想要连接的网络(朋友、公司、机构等)。
我们可以在我们的路由器之间保持运行。但是我们很快就陷入了另一个网络复杂的棘手局面……
我们的路由器之间的连接开始遇到同样的规模问题。随着我们添加更多路由器,连接数量呈指数增长,而不是线性增长。
还要记住,路由器之间的连接意味着我们在房屋、企业和机构办公室之间铺设电缆。那是很多基础设施!
ISP 通过物理基础设施链接路由器
也许我们可以用同样的方法解决这个问题,在中间放一些东西?
这一次,我们将不得不花钱请一家公司来安装、维护和操作我们所有路由器之间的电缆。
我们称这家公司为 Internet 服务提供商 (ISP)。在美国,这些公司包括 Verizon、Spectrum 和 Xfinity。
温馨提示:您可能会注意到除了您的路由器之外,您的房子里还有一个盒子。通常,ISP 通过同轴电缆或光纤电缆安装连接。这些电缆以一种格式传输数据,在您的计算机可以使用之前需要对其进行转换。为此,您需要安装一个调制解调器,将同轴电缆/光纤转换为您的计算机和 WiFi 路由器可以理解的以太网格式。
ISP 也可以相互通信。当您将 ISP 连接在一起时,您会得到一个庞大的计算机网络,这些计算机都可以相互通信。
显然,这是对 Internet 背后实际网络的简化。真正的互联网涉及大数据中心、冗余、海底电缆等等。
但从根本上讲,您现在了解了我们如何将数百万台计算机连接在一个网络上!
规则与协议
好的,您了解了电线、路由器和 ISP 的工作原理。很高兴知道这些,但它并不能完全解释互联网。
假设您想从网络上的某台计算机访问资源。
两台计算机如何找到对方、建立跨网络连接并发送消息?
这就是 Internet 协议、域名系统 (DNS)、TCP/IP、HTTP、浏览器等发挥作用的地方!
一个纠结、复杂的问题;简化的
希望本文有助于揭开互联网的神秘面纱。
就其核心而言,互联网只是一个系统和一套用于在大型网络上交换文件的规则。虽然有时感觉很神奇,但了解计算机如何连接的基础知识对于软件开发人员和 Internet 用户来说非常重要。
如果你喜欢我的文章,点赞,关注,转发!
网友评论