路由器,集线器,交换机,网桥,光猫有啥区别?

news2024/11/24 8:58:23

网络分层

在这里插入图片描述

网线替代了上面的灰色部分,实现物理层互联。

如果想要两台电脑互联成功,还需要确保每一层所需要的步骤都要做到位,这样数据才能确保正确投送并返回。

从数据链路层到物理层,数据会被转为01比特流

此时需要把比特流传到另一台电脑。

通过一根网线,两段水晶头插入网口,把两台电脑连起来。


互联

A电脑和B电脑完成连接之后,可以尝试从A电脑中ping一下B,再从B电脑中ping一下A。如无意外,都能ping通。

A给B发个消息,从应用层到数据链路层,会分别加上A和B的各种’'身份信息"。比如在传输层会加上A和B的应用端口号,在网络层加上源和目的IP,在数据链路层会加上源和目的网卡的MAC头部信息

B收到消息后逐层解包,验证,最后顺利到达应用层。实现AB两台机器消息互通。


集线器

每台电脑只有一个网线口,如何实现多人互联。

集线器就登场了,这是个工作在物理层的设备。

多个网口,很好的解决了电脑上只有一个网口的问题,可以做到多台电脑的网线都插入到集线器上。

同时工作原理也非常简单,会把某个端口收到的数据,输入到中继电路

中继电路的基本功能是将输入的信号广播到集线器的所有端口上。


集线器的内部结构

在这里插入图片描述

从A网口进入集线器的消息,此时还是电信号。这里经过一个PHY模块。

要理解PHY模块的作用,首先要先了解每个网口,都可能接着网线,而每根网线的传输的格式都是有可能不同的。而PHY的作用,就是把这些格式转化为一个通用的格式。

经过PHY的处理后,以电信号的形式输入到中继电路,被无脑广播,再次经过PHY模块后变成BCD网口的格式输出。


交换机

如何机器很少的情况下,每次都是广播发消息倒还好。

如果机器越来越多,每台机器发一条消息,都会被广播,就有点顶不住了,对网络资源浪费就有些严重了。

那么,有没有可能做到,A发给B的消息,就不要转发给C呢?

可以的,把集线器换成交换机。

交换机,又叫switch,跟集线器长得很像。

但是功能更强一些,从网络分层上来说,属于数据链路层,比集线器所在的物理层还要高一层。

所有发到交换机的数据,都会先进入交换机的缓存区。接着消息再被转发到对应机器上。

注意这里用的是转发,而不是集线器的广播,交换机是怎么做到转发的呢?


MAC地址表

交换机内部维护了一张MAC地址表

记录了 端口号和MAC地址的对应关系。

这个表的数据是交换机不断学习的结果。

当A发消息到交换机时,交换机发现消息是从1号端口进来的,则会在MAC地址表上,记录A的MAC地址对应1号端口。

如果A没有很长时间没发消息到这个1号端口,那这条记录就会过期并被删除

那么,当时间足够长,ABC 都发过消息给交换机后,地址表就会有完整的关系信息。


交换机内部结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LWqIXem7-1670315750059)(C:\Users\mojiahao\AppData\Roaming\Typora\typora-user-images\image-20221206145847652.png)]

其实对比可以发现,交换机和集线器内部结构很像。

重点需要提到的是MAC模块。消息以电信号的形式从网口进入,到了PHY会被转成通用格式的电信号。而MAC模块的作用是把这个电信号转为数字信号,这样就能提取出MAC包头,并通过MAC数据帧末尾的FCS校验这个包有没有问题,如果没问题,则把数据放到内存缓冲区里,否则直接丢弃。

另外,这个MAC模块,虽然这么叫。但其实交换机MAC模块不具有 MAC 地址。因此交换机的端口不核对接收方 MAC 地址,而是直接接收所有的包并存放到缓冲区中。

放入到内存缓冲区后,还会把MAC地址和端口号记录到MAC地址表中。同时检查目的MAC地址在不在MAC地址表中,在的话则会转发到对应端口。否则广播


网桥

网桥,本质上可以理解为两个网线口的交换机,正好可以把两台电脑给连起来,也叫桥接。而交换机,则是多网线口的网桥,可以把多台电脑给连(桥接)起来。

其他功能方面,大差不差,不必太过纠结。


路由器

交换机网口是有限的,市面上电脑这么多,交换机里的MAC地址表难道全都要记住吗?

显然做不到。为了解决这个问题。

于是就有了路由器,工作在网络层,比数据链路层更高一层。

网络层引入了IP的概念。


路由表

路由器的作用,可以帮助我们在互联网世界里转发消息到对应的IP。

对比一下。

交换机,是通过 MAC 头部中,接收方 MAC 地址,来判断转发目标的。

路由器,则是根据 IP 头部中, IP 地址来判断的。

由于使用的地址不同,记录转发信息的表也会不同。

类似交换机的MAC地址表,路由器也维护了一张路由表

而路由表,是用于告诉路由器,什么样的消息该转发到什么端口。


路由器的内部结构

在这里插入图片描述

路由器内部,分为控制平面和数据平面,说白了就是对应软件部分和硬件部分

硬件部分跟交换机很像。数据从A网口进入,此时数据还是网线上格式的电信号,会被PHY模块转为通用信号格式,再被MAC模块转为数字信号,通过FCS进行错误校验,同时校验MAC地址是否是自己,通过校验则进入内存缓冲区,否则丢弃。

再进入软件部分,由路由选择处理器,通过一定规则(软件逻辑),查询路由表判断转发目标和对应转发口,再经由硬件部分交换结构转发出去。

如果路由表中无法找到匹配记录,路由器会丢弃这个包,并通过ICMP消息告知发送方。


路由器和交换机的主要区别

MAC模块的区别

路由器和交换机不同点在于,它的每个网口下,都有一个MAC地址和IP地址

正因为路由器具有 MAC 地址,因此它能够成为数据链路层的的发送方和接收方

怎么理解这句话?

前面提到交换机,是不具备MAC地址的,而MAC报头是需要填上目的MAC地址的。因此交换机从来都不是数据的目的地,它只简单转发数据帧到目的地

但路由器,是有MAC地址的,因此MAC报头就可以写上,下一站目的地就是xx路由。

到了路由器后,路由器可以再次组装下一站的目的MAC地址是再下一个路由,通过这一点,让数据在路由和路由之间传输。

而同时因为交换机不具有MAC地址,因此也不会校验收到的数据帧的MAC地址是不是自己的,全部收下做转发。而路由器则会校验数据帧的MAC报头里的目的MAC地址是不是自己,是的话才会收入内存缓冲区,否则丢弃。


找不到转发目的地时的处理方式有区别

如果在路由表中无法找到匹配的记录,路由器会丢弃这个包,并通过 ICMP消息告知发送方。

而交换机在MAC地址表里找不到转发端口时会选择广播。

这里的处理方式两者是不同的,原因在于网络规模的大小。

交换机连接的网络最多也就是几千台设备的规模,这个规模并 不大。如果只有几千台设备,遇到不知道应该转发到哪里的包,交换机可以将包发送到所有的端口上,虽然这个方法很简单粗暴,但不会引发什么 问题。

但路由器工作的网络环境就是互联网,全世界所有的设备都连接在互联网上,规模非常大,并且这个规模还在持续扩大中。如果此时它的操作跟交换机一样,将不知道应该转发到哪里的包发送到整个网络上,那就会产生大量的网络包,造成网络拥塞。因此,路由器遇到不知道该转发到哪里的包, 就会直接丢弃。


路由器和光猫有什么区别

不管是交换机还是路由器,前面都是提到网口输入的是电信号。但现在流行的是光纤传输,传输的是光信号

光猫(modem),是一种调制解调器,其实就是用于光电信号转换的设备。

接收数据时,可以将光纤里的光信号转化为电信号,发给路由器,路由器内部再转成数字信号,并在此基础上做各种处理。

相反,也会把路由器传来的电信号转为光信号,发到光纤,并进入互联网。


总结

  • 两台电脑可以通过一根网线直接连接,进行通信。

  • 机器一多,可以把网线都接到集线器(物理层)上,但是集线器会不管三七二十一进行广播

  • 不想广播,可以用(二层)交换机(数据链路层),又叫多端口网桥,它比较聪明,会自我学习生产MAC地址表,知道消息发到哪,那就不需要广播

  • 互联网电脑这么多,交换机MAC地址表总不能全放下吧。改用路由器(网络层),也叫三层交换机,通过网段的方式定位要把消息转发到哪,就不需要像交换机那样苦哈哈一条条记录MAC地址啦。

  • 路由器和光猫之间是好搭档,光猫负责把光纤里的光信号转换成电信号给路由器。

  • 现在一般情况下,家里已经不用集线器和交换机了,大部分路由器也支持交换机的功能。所以可以看到,家里的台式机电脑一般就连到一个路由器,再连个光猫就够能快乐上网了。

原文: 硬核!阿里面试就是不一样!30张图带你搞懂路由器,集线器,交换机,网桥,光猫有啥区别?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66503.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软件测试】小陈她的测试追梦之路,实习开端到测试第一人......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 小陈:我…

中华黄金·金生态合伙人颁奖典礼在珠海站开幕完美收官!!

11月18-19日在广东珠海举行,近百位合伙人亲临现场,强者能人共聚天下,中华黄金合伙人,强强联手引爆市场,汇聚一堂。 本次活动以“金生态”为主题。CNG金生态是中华黄金集团旗下平台,运用WEB3.0核心技术聚合了…

Flink CDC入门实践--基于 Flink CDC 构建 MySQL 和 Postgres 的 Streaming ETL

文章目录前言1.环境准备2.准备数据2.1 MySQL2.2 postgres3.启动flink和flink sql client3.1启动flink3.2启动flink SQL client4.在flink SQL CLI中使用flink DDL创建表4.1开启checkpoint4.2对于数据库中的表 products, orders, shipments, 使用 Flink SQL CLI 创建对…

iOS开发之iOS15.6之后拉流LFLiveKit,画面模糊及16.1马赛克问题

更新了iOS15.6系统后,发现拉取LFLiveKit进行直播的流,竟然是这样的: 模糊不清,于是思考是什么原因导致的。 1、是不是拉流端出现的问题? 使用安卓拉取iOS的直播流,是同样的效果,又考虑到两端使…

【DL】Windows 10系统下安装TensorRT教程

Windows 10系统下安装TensorRT教程(手把手教程): Windows 10系统下安装TensorRT教程: 1.下载 https://developer.nvidia.com/nvidia-tensorrt-download EA 版本代表抢先体验(在正式发布之前)。 GA 代表通用性。表示稳定版,经过全面测试。 TensorRT、cuda、cudnn各版本…

与目前主流的消费返利平台对比,共享购模式有什么优势呢?

大家好,我是林工,之前几期内容都有介绍过共享购的商业模式,同时大家应该都对消费返利这方面有所了解。今天给大家分享一下整套模式的优劣势。 什么是消费返利?消费返利是互联网常见的一个商业模式,是指互联网平台将自…

毕业设计 基于STM32与wifi的天气预报网时钟系统 - 物联网 单片机

文章目录0 前言1 设计内容2 软件设计3 关键代码4 最后0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不…

为社区成员提供的全新在线分析仪表板(Analytics Dashboard)!

开发者们大家好! 我们非常激动地与您分享我们为每个社区成员提供的在线分析仪表板(Online Analytics Dashboard)这一全新的强大功能🔥 从现在开始,您可以看到您自己的当周、月和所有时间的详细统计数据,包括: 浏览量&a…

The Sandbox Alpha 第三季排行榜公布

排行榜名单已经揭晓,祝贺所有玩家! Alpha 第三季已于 11 月 1 日落下帷幕,这是我们目前最大的一季活动,也是展示社区和合作伙伴在过去一年中所创造的诸多体验的机会。 这次也是我们测试新的「边玩边赚」机制的机会,其中…

Vue响应式系统的作用与实现(二)

响应式系统的作用与实现(二) 这章主要是介绍非原始值的响应式方案。 1.理解Proxy和Reflect: Vue3的响应式数据是基于Proxy实现的,那么我们非常有必要了解Proxy和Refelct。 参考资料:阮一峰的 官方参考资料 简单来…

Python Flask框架 入门详解与进阶

Python Flask框架 入门详解与进阶1.Flask框架 入门2.环境搭建2.1.安装flask1.创建虚拟环境2.激活虚拟环境3.安装flask2.2.flask程序编写1.创建test.py文件2.启动运行2.3.参数说明1.Flask对象的初始化参数第一种 :从配置对象中加载 app.config.from_object(DefaultCo…

chrome108 版本跨域问题

前言 近期,chrome又更新了,自动更新到了chrome的108.0.5359.95(正式版本) (64 位),更新到这个版本后,公司业务收到了一个故障,下面我们就来看看。背景: 客户…

Python——requests模块详解

1、模块说明 requests是使用Apache2 licensed 许可证的HTTP库。 用python编写。 比urllib2模块更简洁。 Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POS…

公众号查题系统

公众号查题系统 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(点击跳转…

Unity计算着色器 02

序 在百度了一下显卡以后,总结的话就是这个图。 这个图再总结的话就是左下角的那个框子,一个任务可以分为若干个线程组,每个线程组包含若干个线程。 两个若干,可以看成是两个变量,而且是有关系的——它俩乘积是一个…

如何使用PowerShell脚本进行数字签名?

如何对PowerShell脚本进行数字签名以进行身份验证和保护的快速指南。 您是否希望确保您的脚本可以安全使用并且没有被篡改,从而伤害用户?如果是这种情况,那么您将需要使用由已知证书颁发机构(如Sectigo、DigiCert)提供…

简谈Spring Boot3.0升级后的踩坑之旅,另附解决方案!

注:本文基于 newbeemall 项目升级Spring Boot3.0踩坑总结而来。 一. 编译报错,import javax.servlet.*; 不存在 这个报错主要是Spring Boot3.0已经为所有依赖项从 Java EE 迁移到 Jakarta EE API,导致 servlet 包名的修改,Sprin…

写了30000字 用 shell 脚本做自动化测试实战项目(全面、完整)

前言 项目中有一个功能,需要监控本地文件系统的变更,例如文件的增、删、改名、文件数据变动等等。之前只在 windows 上有实现,采用的是 iocp ReadDirectoryChanges 方案,现在随着整个应用移植到 mac 上,需要对这一部…

大数据智能交通未来会是怎样的交通状况?

大数据智能交通未来会是怎样的交通状况?智能交通也是智慧城市的一个重要组成部分将会改变我们的交通,交通少不了大数据的处理,人工智能自动驾驶离不开大数据的支撑。 实现智能交通需要高效地从海量数据中分析、挖掘所需的信息和规律&#xf…

缺少微信小程序测试经验?这篇文章带你从0开始

微信小程序已经越来越普遍,但目前接触小程序的项目相对较少,对小程序的特性也不了解,缺少小程序测试实战经验。 本文主要通过对微信小程序特性和测试点进行总结,储备测试知识,提高测试效率。 小程序发布审核 发布前…