在上一篇文章中,我们解释了网络是通过跨洋海底电缆连接的,以及各大互联网组织制定的规则和协议。
但它究竟是如何工作的呢?不是很清楚,今天就一起探讨吧。
简单的网络
当两台计算机需要通信时,您必须将它们物理链接(通常使用网线)或无线链接(例如Wifi或蓝牙),所有现代计算机都可以保持这样的链接。
这样的网络不仅限于两台计算机之间,您可以根据需要连接任意数量的计算机,但它很快就会变得复杂:
例如,如果要连接 6 台设备,则需要 15 根网线,每台计算机需要连接 5 根网线!
为了解决这样的问题,我们需要一个中间设备,让所有计算机都可以访问它,而这个中间设备会做转发,这样可以有效减少网线的数量
这样,虽然减少了网线的数量,但要求也增加了。
最初,我只需要通过适当的网线发送信息,但现在,所有的信息都发送到中间设备,计算机设备必须明确是谁发送给谁的。(就像写电子邮件一样)。
另一个要求是这个中介不能广播。
如果我们只是做无脑转发,让所有其他计算机接收,并把是否接受信息的权利和判断权交给接收计算机,那是不安全的,也是对网络资源的极大浪费。
(当然,要靠自己构建一个更安全的网络环境,我们可以使用一个只是无脑转发的集线器来做到这一点)。
因此,我们需要更聪明,只将信息转发给需要它的人:
为此,首先,我们需要为每个设备提供一个唯一标识符(名字),这是制造商在出厂前提供给每个网络设备的全局唯一MAC地址。
形象地说,这就像我们的身份证号码,是独一无二的。
另一点是,我们需要一个地方来跟踪设备的哪个MAC地址对应于中间设备物理连接的哪个端口
实际上,这就是开关的作用。(注意:这是一个交换机,而不是路由器)。
但是这张表是如何创建的呢?
当我第一次启动时,桌子是空白的。
当发生数据交换时,交换机会不断从源MAC地址学习到MAC地址表中,并将其与端口相关联:
交换机不会查询MAC地址表中的目标MAC地址,因此数据将从除入口接口以外的所有接口中泛滥
机器 C 和 D 在接收到数据后丢弃数据 - 因为它没有发送给自己 - 相反,机器 B 接受它,因为 MAC 地址匹配它,并且需要回复机器 A。
那么,这时对于交换机来说,发送一个新的源MAC地址的数据,学习记录,也查询到要去机器A的目标MAC地址,直接转发到端口01
:
在这种不断的数据交换中,交换机不断更新和维护自己的MAC地址表。
好了,现在我们终于有了一个由交换机组成的简单网络:
更大的网络
到目前为止,一切正常,但是如果它连接到数千亿台计算机呢?很容易
认为,从理论上讲,可以通过互连多个交换机来实现无限扩展:
但是,由于切换
本身没有MAC地址,当数量超过一定数量时,每台交换机维护的MAC地址表就变得无法维护——事实上,不可能存储这么大的MAC地址表。
因此,我们需要一个具有独立MAC地址的设备来帮助我们进行转发 - 路由器就这样诞生了。
路由器的每个端口都有一个唯一的MAC地址。
这有效地减少了每个设备需要维护的MAC地址表的数量,但同时,随着网络的扩展,出现了新的问题。
如上所述,MAC地址就像我们的身份证,虽然独一无二,但就像人与身份证的关系一样,我可以很容易地在小范围内找到你,一旦范围扩大(或环境变得更加复杂),身份证等信息似乎对“快速找到你”没有多大帮助。
我们需要另一种信息来帮助定位它——这是 IP 地址,它类似于您在运输标签上写的地址,这有助于我们在网络中定位您的终端。
为了适应这种变化,我们需要在发送的数据中添加更多信息:
同样,路由器也需要 IP 地址和 MAC 地址之间通信的额外记录
IP地址的发明将复杂的网络世界(主要是不同的网络硬件设备)统一为一个整齐的网络。
由于IP地址是区域链接的,所以在网络上找到你的设备要容易得多(就像你在购买淘宝之前需要填写自己的送货地址一样),我们也可以使用路由器来构建更大的网络
互联网
上面的网络非常接近我们所说的,但我们缺少一些东西。
我们不太可能在世界的每个地方之间铺设电缆,事实上,电话基础设施在网络基础设施之前就已经连接了世界,这就是我们需要的完美电线。
为了将我们的网络连接到电话基础设施,
我们需要一种称为调制解调器(俗称“猫”)的特殊设备,它可以将来自我们网络的信息转换为可以由电话基础设施管理的信息,反之亦然。
(相信很多朋友还记得需要“拨上网”的日子,也就是将网络连接到电话基础设施的过程,现在已经优化过了)。
此时,我们的网络已连接到电话基础设施。
但是我们的目的是将消息发送到我们将要到达的其他网络 - 到目前为止,整个网络都是为自己的目的而构建的 - 为此,我们需要将网络连接到服务提供商(ISP)。
ISP 是一家管理一些特殊路由器的公司,这些路由器都链接在一起,也可以访问其他 ISP 的路由器。
(中国ISP服务商熟悉:中国电信、网通、中国移动、中国联通、铁通等)
因此,来自我们网络的消息将通过如此多的ISP网络构建的基础设施传递到目标网络,而的基础设施就是由该网络组成的。
现在,经过一系列的发展,互联网已经形成了三层ISP结构:
这样,整个互联网基础设施就建立起来了。(实际上更复杂)。
查找目标终端
如果要向计算机发送消息,则必须指定一个 IP 地址,该地址由一系列四个数字组成,以点分隔,例如:192.168.2.10。
这对计算机来说是完全可以的,但是我们人类很难记住这样的地址。
所以我们在IP地址上加了一个通俗易懂的名字,就是域名。
例如,如果您
将其用作IP地址为173.194.121.32的域名,您可以从两个地址访问同一台服务器,这也是我们访问的一种简单方法。
虽然我们通常使用域名来访问网站,但它们与作为基础设施的Web并不相同,而且在之上还有很多其他不同于Web的服务,例如电子邮件。
两者之间的过渡需要互联网的域名系统服务来支持它,我们稍后会更详细地讨论。
此外,我们可以向微信朋友发送消息,因为我们通过微信应用程序连接到腾讯的服务器,微信应用程序是了解彼此IP地址的桥梁。
简而言之,我们必须为我们的通信指定一个 IP 地址。
附言
在这篇文章中,我们从前两台互联计算机开始,一步步发展,构建了整个互联网的基本通信架构
通过交换机、路由器、调制解调器、ISP、跨洋电缆进行物理桥接;通过MAC地址和IP地址的发展,使整个网络的网络设备在逻辑上互联互通;
至少对这个复杂的黑匣子有一定的理解和认识。
有
涉及许多复杂的协议(例如用于可靠通信的 TCP/IP 协议)和算法(用于查找到达 IP 位置的最佳路径的路由算法),但本文的重点是网络世界中的设备是如何连接的。
我
还用PPT做了一个GIF来帮助你理解,希望你能有所收获。
今后,我会继续学习
计算机网络基础知识与你一起学习,我也会努力跟着后端学习路线图的脚步,和你一起学习进阶。
(完)。
参考资料:这是网络吗?| - /s/- 有效吗?- /zh-cn/docs/Learn//知乎 |如何获取交换机的MAC表?- //百度百科|MAC 地址 - /item/MAC%E5%9C%B0%E5%9D%80为什么我有 MAC 地址和 IP 地址?- ////
非常感谢大家看到这个,如果你觉得这篇文章写得好,觉得“我没有三颗心”是件好事,请点赞,请关注、分享、留言!创作
并不容易,您的支持和认可是我创作的最大动力,我们下一篇文章见!