换个视角理解计算机网络 搭建计网知识框架
发布时间:2023-02-27 10:59:43 所属栏目:通讯 来源:
导读: 所谓换个角度,就是从三层物理设备(物理层、数据链路层、网络层)开始,串联起整个网络的工作原理
我们首先要明白网络上传播什么,网络上所谓的"数据",什么东西是数据。
假设你要传输的数据是
我们首先要明白网络上传播什么,网络上所谓的"数据",什么东西是数据。
假设你要传输的数据是
|
所谓换个角度,就是从三层物理设备(物理层、数据链路层、网络层)开始,串联起整个网络的工作原理 我们首先要明白网络上传播什么,网络上所谓的"数据",什么东西是数据。 假设你要传输的数据是 name = "小牛肉",那么经过从应用层开始经过层层封装,到达物理层进行传输的时候,你的数据已经被封装进了很多东西: 每一台计算机都有自己的 IP 地址和 MAC 地址。 物理层设备:集线器 假设一个网络上有 A B C D E 五台计算机,A 想要给 C 发送数据包,那么数据包被发送出来后它怎么知道 C 在哪里? 古老的物理设备 “集线器” 出现了 集线器上面有若干个端口,每个端口都连着一台计算机,假设 A 计算机对应端口 1, B 计算机对应端口 3,C 计算机对应端口 7...... 那么 A 想要给 C 发送消息,消息要经过谁?没错,首先要经过集线器。 集线器不是很聪明,他其实也不知道 C 到底在哪里,所以他会将 A 的消息广播给所有的计算机,由各个计算机自己判断是不是发送给自己的消息。 数据链路层设备:交换机 虽然这样的集线器目前看来确实非常有用,但也间接导致了这种消息数据库的爆炸,原来我只要发给计算机 B 的消息,现在却要发给连接到集线器上的所有计算机,这样无论是从经济还是效率上来说都不是一个很好的选择。如果把这个集线器弄得更智能一些,只发给目标计算机就好了。 既然只发送给一个计算机,那我们首先需要一定位这个计算机。 通过什么来定位?发送出来的数据包中其实已经封装好了,就是通过目标计算机的 MAC 地址来进行唯一定位。 那具体是怎么做到的呢? 事实上,交换机内部维护一张 【MAC 地址表】,记录着每一个 MAC 地址的设备,连接在哪一个端口上。 如果发来的包首部中包含的目标 MAC 地址在 MAC 地址表中没有映射关系,交换机就将此包广播给所有端口,也即发给了所有机器; 通过交换机给 C 发送消息,此时 MAC 地址表为空 这样,C 对 A 的消息进行响应的时候,交换机就不需要进行广播消息了,因此它已经知道 A 计算机在哪个端口了,并且同样的,C 的 MAC 地址和它对应的端口号会被记录到交换机的 MAC 地址表中。 通过交换机给 A 发送消息,此时 MAC 地址表中含有 A 的信息 网络层设备:路由器 交换机似乎看起来已经是最 优解了,但事实上,随着计算机设备越来越多,交换机的端口都不够用了,当然你肯定能想到可以用将多个交换机互相连接起来,然后每个交换机之间都互相共享他们的 MAC 地址表。但随着计算机数量的增长,比如 10 亿台设备,100 万个交换机,那这 100 万个交换机都需要各自维护包含 10 亿条记录的 MAC 地址表,无论是从经济还是效率上来说这也都不是一个很好的选择。 所以将交换机连接在一起这个思路确实没有错,但不能粗暴的直接连接在一起,得想个办法,让每个交换机仍然只需要维护和自己连接的设备的 MAC 地址表,同时还能和其他交换机进行共享 路由器应用而生。 路由器同样有很多端口,每一个端口都拥有一个 MAC 地址和一个 IP 地址,每一个端口都连着一个局域网(或者说子网或者说 IP 地址段也行,本文就不过多区分子网和局域网的含义了)或者另一个路由器 举个简单的例子,有两个子网,每个子网内都只有一个交换机,交换机上连接着若干个计算机设备,用路由器把这两个交换机连接起来,当两个子网之间需要进行通信的时候,通过路由器就可以实现了。 事实上,路由器内部同样维护着一张表,这张表称为【路由表】,记录着每一个局域网(IP 地址段)和它对应的端口。 比如某个路由器的端口 0 上连接着 192.168.0.x 的 IP 地址段,端口 1 上连接着 192.168.1.x 的 IP 地址段,那么路由表就是下面这样: 路由器具体是怎么工作的呢?比如 A 给 C 发送数据,A 在子网号为 192.168.0.x 的子网,而 C 在子网号为 192.168.1.x 的子网,那么 A 首先需要知道 C 和自己是不是在同一个子网: 如果不是同一个子网,那么需要经过路由器的转发,A 需要把数据通过交换机发送给路由器,然后由路由器决定该发送给哪个子网。由路由器决定该发送给哪个子网。如果a是一个独立的子网,那么a可以直接把数据发送给b,b也可以把数据发送给a。 (编辑:驾考网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
