【计算机网络】--集线器,路由器,交换机对比

🎵1.集线器

🌈1.1集线器概念

集线器是一种网络设备,广泛应用于计算机局域网环境中。它通常具有多个以太网接口,用于将多个计算机或其他网络设备连接在一起,形成一个网络拓扑结构。

🌈2.集线器的作用

集线器的主要作用是将多个网络节点连接在一起构成一个局域网,使得这些节点能够进行互相通信和数据交换。在局域网中,集线器可以实现广播和组播等通信方式,使得多个节点可以同时接收到同样的数据信息。(可能还有点不理解,没关系。)

集线器的功能:

  1. 连接设备:集线器用于将多个以太网设备连接在一起,如计算机、打印机、网络摄像头等。它提供多个端口,使得多个设备可以物理上连接到同一个网络。

  2. 数据广播:集线器通过复制和广播数据包,将一个端口接收到的数据包发送到其他所有端口上。这样,当一个设备发送数据时,集线器会将数据包复制并发送到所有连接的设备,使得每个设备都能够接收到这个数据包。

  3. 碰撞域管理:在早期的以太网中,共享介质的方式意味着多个设备在同一时间发送数据可能会发生碰撞。集线器负责管理碰撞域,执行碰撞检测和重传机制,以确保数据传输的可靠性。

  4. 简单的网络拓扑:集线器支持简单的星型拓扑结构,其中所有设备都直接连接到集线器的端口。这种简单的拓扑结构使得网络的布线和管理更加方便和容易。

目前集线器一般配合双绞线一起使用 。


🌈1.3集线器特点

1.从表面来看。使用集线器的局域网在物理上是一个星型网,整个系统仍像一个传统以太网那样运行。也就是说使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议,网络中的各站必须竞争传输媒体的控制,并且在同一时刻至多只允许一个站发送数据。

一个集线器有许多端口,集线器很像一个多端口的转发器。

集线器工作在物理层,它的每一个端口仅仅简单地转发比特,收到1转发1,收到0转发0,不进行碰撞检测。

🐠集线器缺点 
  1. 集线器的目的是将内部网络上所有网络设备连接在一起。它具有多个端口,可以接受来自网络设备的以太网连接。集线器不过滤任何数据、也不知道该将数据发到什么地方。集线器唯一知道的是设备何时连接到其端口之一。因此,当数据包到达端口之一时,它将被复制到所有其他端口。因此,集线器上所有设备都可以看到数据包。数据包进入一个端口,然后集线器通过连接的设备将数据重新广播到每个端口。
  2. 这意味着所有连接到集线器的设备都能够接收到数据包。然而,集线器本身并不了解数据包的内容或目标设备的位置,它只是简单地将数据包复制到所有端口上。
  3. 因此,即使计算机A只想和计算机B通信。其他计算机仍将接收数据。这不仅会引起安全问题,还会造成不必要的网络流量从而浪费带宽。

🎵2.交换机 

由于集线器的广播特性,当多个设备同时发送数据时,可能会发生冲突,即数据包的碰撞。这会导致数据包的丢失和网络性能下降。因此,现代网络通常使用交换机(switch)代替集线器。

  • 以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网。
  • 以太网交换机的结构是每个端口都直接与主机相连并且一般都工作在全双工方式
  • 交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据。

 按照书上的话来说,交换机实质上是一个多端口的网桥。每一个端口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。

🌈 2.1工作原理

以太网交换机工作于OSI网络参考模型的第二层(即数据链路层),是一种基于MAC(地址识别、完成以太网数据帧转发的网络设备。

计算机借助网卡通过网线连接到交换机的端口上。网卡、交换机和路由器的每个端口都具有一个MAC地址,由设备生产厂商固化在设备的EPROM中。MAC地址又叫做物理地址,每个MAC地址都是全球唯一的。

交换机在端口上接受计算机发送过来的数据帧,根据帧头的目的MAC地址查找MAC地址表然后将该数据帧从对应端口上转发出去,从而实现数据交换。

这里面涉及到交换机的自学习功能,各位感兴趣可以搜一下,在下面就简单介绍一下自学习过程。还要注意的是数据链路层传输的数据内容就是帧。帧中存的有目的MAC地址,源MAC地址。

🌈2.2自学习与帧交转表

交换机的自学习过程和交换表的录入如下所述:

  1. 初始状态:当交换机刚开始运行时,交换表是空的,其中没有任何MAC地址和对应的端口记录。

  2. 自学习过程:当交换机接收到一个数据帧时,它会检查数据帧的源MAC地址。交换机将源MAC地址与接收到的端口相关联,并将这个记录添加到交换表中。这样,交换机就学习到了源MAC地址与端口的对应关系。它还会记录下数据帧的VLAN信息(如果有)。

  3. 交换表的录入:在自学习过程中,交换机将源MAC地址与接收到的端口相关联,并将这个记录添加到交换表中。交换表是一个存储在交换机内存中的数据结构,它记录了MAC地址和对应的端口信息。交换表的格式通常是类似于哈希表或者查找表的形式。

  4. 转发过程:当交换机接收到下一个数据帧时,它会检查数据帧的目的MAC地址。交换机会在交换表中查找目的MAC地址对应的端口信息。如果找到了匹配的记录,交换机会将数据帧转发到相应的端口。如果没有找到匹配的记录,交换机会广播数据帧到所有其他的端口(除了接收到该数据帧的端口),以便目的设备能够接收到数据。

  • 通过不断重复上述过程,交换机能够逐渐建立起更完整和准确的交换表,实现更快速、准确的数据转发。同时,交换表也会根据一定的策略进行更新,例如根据一定的时间限制删除过期的记录,以确保交换表的有效性和可靠性。
  • 需要注意的是,交换机的自学习过程是基于数据帧的源MAC地址,而不是目的MAC地址。这是因为通过学习源MAC地址,交换机能够建立起源设备到端口的映射关系,从而实现有选择性的转发。目的MAC地址在转发过程中用于查找匹配的记录,以确定数据帧的目标端口。

🌈2.3交换机取代集线器

直接上图:

发现没,交换机也有好多端口,所以交换机具备集线器在物理层的功能 :开大:集线器通过复制和广播数据包,将一个端口接收到的数据包发送到其他所有端口上。

但是既然交换机又叫做交换是集线器而且又工作在数据链路层,那它会在数据链路层把物理层多发滥发的数据进行拦截和丢弃(上面的自学习功能)。

在物理层,交换机并不会对数据包进行筛选或选择性发送,它会将接收到的数据包复制并广播到所有连接的端口上。

  • 数据包的筛选和选择性发送是在数据链路层进行的。当数据包通过交换机的物理层到达数据链路层时,其中包含源MAC地址和目的MAC地址等信息(帧中有MAC信息)。
  • 在数据链路层,设备(会检查数据包的目的MAC地址。如果目的MAC地址与设备所连接的端口上的MAC地址匹配,设备会接收并处理该数据包。如果目的MAC地址与设备所连接的端口上的MAC地址不匹配,设备会丢弃该数据包,并不会将其发送到其他端口。
  • 换句话说,数据链路层根据目的MAC地址来选择性地将数据包发送到特定的端口,而不是广播到所有端口。这种选择性发送可以提高网络的效率,因为只有目标设备才会接收到该数据包。

而如果只考虑集线器而不考虑交换机,数据链路层不会对数据包进行丢弃。所有连接到集线器的设备都会接收到所有的数据包,且无法进行选择性接收。

 看到这里各位应该清楚地了解到交换机是如何取代集线器进行筛选信息的了吧。

这就是集线器和交换机的恩怨情仇!!!!!!!!!!!!!!!!!!!  


 🌈2.4集线器,交换机工作方式对比

🐠单播帧对比

对于使用集线器的共享总线式以太网,单播帧会传到其他主机,各主机中的网卡会根据帧的MAC地址觉决定是否接受它。(很明显有拒绝的!!!!!!)

对于使用交换机的交换式以太网,交换机会根据帧的MAC地址和自身的帧交换表把帧传到对应主机。

🐠广播帧对比

 对于使用集线器的共享总线式以太网,广播帧会传送到总线上的其他各主机,各主机的网卡检测到帧的目的MAC地址是广播地址,就会接受该帧

同理,对于交换机的交换以太网,当各主机收到广播后,检测到帧的目的MAC地址是广播地址,于是从除该帧进入交换机接口外的其他各接口转发该帧。


 🐠多台主机发单播帧

我们再来对比多台主机给同一个主机发送单播帧的情况。

对于使用集线器的共享总线式以太网,这必然产生碰撞。遭遇碰撞的帧会传播到总线上的各个主机。

对于使用交换机的交换式以太网,交换机收到多个帧时,会将他们给存起来,依次转发给目的主机。不会产生碰撞。


🐠扩展以太网发送单播帧

不在讲了,很明显看出交换机的优势。 

 🐠扩展以太网发送广播帧

 

发送广播帧的话,两者其实没有太大差别


👿内部结构区别 

 集线器只是把主机之间的线连接起来,所有相连的主机都会构成一个冲突域。这也就意味着:当一个主机在发送数据的时候,其他任何一个主机都不能再发送数据了,因为在一个介质上面两个同时发送会引起冲突。

  交换机不是简简单单把主机上面的线连在一起,而是把他们按照类似矩阵的形式错开。这样子可以有效避免冲突域的扩大,这对于增大信道容量是由非常大的好处的。

交换机通过使用存储转发或者使用专用的交换芯片来避免碰撞。

  1. 存储转发:当交换机接收到一个帧时,它会先将整个帧完全接收并存储在内部缓冲区中,然后再转发到适当的端口。在存储转发的过程中,交换机会检查帧的目标MAC地址,并在转发之前进行目标端口的匹配。由于整个帧都被接收和存储,交换机可以避免发送碰撞或冲突。

  2. 专用交换芯片:现代交换机通常使用专用的交换芯片(ASIC)进行高速的帧转发。这些芯片具有硬件加速和高速缓存,可以快速处理和转发帧。专用交换芯片能够在硬件级别上实现帧的转发决策和目标端口的匹配,避免了软件处理的延迟和碰撞。

这些机制使得交换机能够在不同的端口之间实现并行的数据传输,避免了碰撞的发生。每个端口都具有独立的发送和接收路径,数据可以在不同的端口之间同时传输,不会产生冲突。这种点对点的数据传输方式提高了网络的效率和吞吐量。

🎵3.路由器 

🌈3.1路由器功能与作用

 这玩意总知道吧在看的各位,谁家没个这玩意。

路由器是一种具有多个输入输出端口的专用计算机,其任务是转发分组。从路由器某个输入端口收到的分组,按照分组要求去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳路由器。下一跳路由器循环此操作。

路由器是一种用于连接多个逻辑上分开网络的设备,它具有判断网络地址和选择IP路径的功能,能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网。路由器的主要功能包括:收集网络拓扑信息并动态形成路由表、根据路由表转发IP数据包、隔离广播域、将不同网段上的设备进行互通。路由器可以实现多台电脑使用上网,无线路由器还可以实现无线上网。

通俗来说,当你在家中使用路由器连接到互联网时,路由器的作用可以类比为邮局和邮递员:

  1. 连接你的家庭网络和互联网:路由器就像是连接你的家庭网络和互联网之间的桥梁。它接收来自你家中的设备(例如电脑、手机、智能电视等)发送的数据,并将其发送到互联网上。同样,它也从互联网接收数据,并将其传输到你的设备上。

  2. 分配IP地址:当你的设备连接到路由器时,它会为每个设备分配一个唯一的IP地址。就像邮递员给每个房子分配一个邮政地址一样,路由器给每个设备分配一个IP地址,这样数据包就知道要去哪里。

  3. 转发数据包:当你的设备想要发送数据到互联网上的其他设备时,路由器会将数据包引导到正确的目标。就像邮递员将你的信件发送到正确的收件人一样,路由器将数据包发送到正确的目标设备。

  4. 网络安全:路由器还扮演着网络安全的角色。它可以设置防火墙、网络地址转换(NAT)和端口转发等功能,以保护你的设备免受来自互联网的潜在威胁。

总的来说,路由器的作用是连接你的家庭网络和互联网之间,将数据包转发到正确的目标,并提供网络安全功能。它使得你的设备能够与互联网上的其他设备进行通信,并在家庭网络中实现数据的传输和共享。


🌈路由器工作流程 


 (这是路由器构成图)

 
  • 路由器工作在网络层,而网络层传输的介质是IP数据报。
  • 从上图可以看出,整个路由器由两大部分组成,路由选择部分和分组转发部分。
  1. 路由选择部分(Routing Control Plane):路由选择部分主要负责决策和计算数据包的最佳路径,并更新路由表。它包括以下主要组件:

    • 路由协议:路由器使用路由协议来与其他路由器交换路由信息,共享网络拓扑和路由表更新。这些协议可以是边界网关协议(BGP)、开放最短路径优先(OSPF)、路由信息协议(RIP)等。

    • 路由表:路由选择部分维护一个路由表,其中包含有关网络的路由信息。路由表记录了目的网络的IP地址和相应的下一跳信息,以便分组转发部分可以根据路由表转发数据包。

    • 路由选择算法:路由选择部分使用路由选择算法来根据路由表中的信息计算最佳路径。常见的路由选择算法包括距离矢量算法、链路状态算法、路径矢量算法等。

  2. 分组转发部分(Packet Forwarding Plane):分组转发部分负责根据路由表中的信息,将数据包从输入接口转发到正确的输出接口或下一个路由器。它包括以下主要组件:

    分组转发部分的目标是高效地转发数据包,确保数据包按照最佳路径到达目的地。它利用路由选择部分提供的路由表信息,将数据包从输入接口转发到正确的输出接口。

    • 输入接口:数据包从网络中的输入接口进入路由器。

    • 查找/匹配引擎:该引擎根据数据包的目的IP地址,与路由表中的条目进行匹配,以确定适当的转发路径。

    • 转发表:转发表存储了目的IP地址与输出接口或下一个跳的映射关系。根据匹配结果,转发表决定将数据包发送到哪个输出接口或下一个路由器。

    • 输出接口:数据包通过网络中的输出接口离开路由器,继续向目标设备或下一个路由器传输。总的来说,路由器的路由选择部分负责计算和更新路由表,而分组转发部分负责根据路由表将数据包从输入接口转发到输出接口。这两部分协同工作,使路由器能够实现数据包的正确转发和路由选择。

  • 传送方:当交换机接收到一个数据帧后,它会查找目标MAC地址在自己的学习表中的对应端口。如果学习表中有目标MAC地址的记录,交换机就会将数据帧转发到相关的端口。如果学习表中没有目标MAC地址的记录,交换机则会将数据帧广播到所有的端口(除了接收到该数据帧的端口)。
  • 接收方,当数据帧到达目标设备的数据链路层端口(例如网卡)时,数据帧被传递给网络层进行处理。网络层接收到数据帧后,将其解封装为IP数据报,并根据数据报中的目标IP地址进行转发。网络层根据路由表或转发策略,将IP数据报转发到相应的IP主机。

🌈误区分析:

当你和同学聊天,是简单的两台主机聊天吗?

当你和同学聊天时,实际上涉及多个主机和可能的路由器之间的通信。

假设你和同学在不同的网络中,你们的聊天数据需要经过多个路由器进行转发才能到达对方。每个网络都有自己的路由器,这些路由器负责将数据从一个网络转发到另一个网络。

当你发送一条聊天信息给同学时,主机将数据封装为IP数据报,并将其发送给我所在网络的默认网关(路由器)。路由器根据目标IP地址和路由表决定将数据报转发到下一个网络。这个过程可能涉及多个路由器,每个路由器都将根据路由表选择最佳路径进行转发。

数据报最终到达同学所在网络的路由器,该路由器将数据报传递给同学的主机。同学的主机接收到数据报后,将其解封装,并将聊天信息提取出来,让你同学直到你小子干啥,是不是寂寞了。

所以,在你和同学之间的聊天过程中,数据需要通过一系列的路由器进行转发,以实现跨网络的通信。这样,你们才能在不同的主机之间进行简单的聊天。

🎵集线器,交换机,路由器对比 

集线器,交换机,路由器功能对比
集线器交换机路由器
工作区域物理层数据链路层网络层
转发内容比特(bit)帧(frame)IP数据报(Packet)
所用算法自学习算法路由算法
路由方式存储转发

存储转发

   

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

市场复盘总结 20240115

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 昨日主题投资 连板进级率 0% 失效 二进三: 进级率 中位数50% 最常用的二种方法: 方…

网络编程day2

TCP的基本通信 服务器端 #include <head.h> #define SER_PORT 8888 //服务器端口号 #define SER_IP "192.168.125.193" //服务器客户端int main(int argc, const char *argv[]) {//1、创建用于连接的套接字int sfd socket(AF_INET, …

一篇文章搞懂Jenkins持续集成解决的是什么问题

01 持续集成的定义 大师 Martin Fowler 是这样定义持续集成的: 持续集成是一种软件开发实战, 即团队开发成员经常集成他们的工作. 通常, 每个成员每天至少集成一次, 也就意味着每天可能发生多次集成. 持续集成并不能消除Bug, 而是让它们非常容易发现和改正. 根据对项目实战的…

@Controller层自定义注解拦截request请求校验

一、背景 笔者工作中遇到一个需求&#xff0c;需要开发一个注解&#xff0c;放在controller层的类或者方法上&#xff0c;用以校验请求参数中(不管是url还是body体内&#xff0c;都要检查&#xff0c;有token参数&#xff0c;且符合校验规则就放行)是否传了一个token的参数&am…

从零学Java 线程池

Java 线程池 文章目录 Java 线程池1 线程池概念1.1 现有问题1.2 线程池 2 线程池原理3 如何使用线程池3.1 获取线程池 4 创建线程的第四种方式 1 线程池概念 1.1 现有问题 线程是宝贵的内存资源、单个线程约占1MB空间&#xff0c;过多分配易造成内存溢出。频繁的创建及销毁线…

新版网易滑块

突然发现脸皮厚根本没用&#xff0c;大冬天的&#xff0c;风吹过来还是会冷。 大哥们多整件衣裳&#xff0c;好冷&#xff01;&#xff01;&#xff01;&#xff01; 网易更新了&#xff0c;这俩 dt跟f值。 dt为 这里返回的&#xff0c;忽略掉他。 data参数中的d值&#xff…

基于深度学习的时间序列算法总结

1.概述 深度学习方法是一种利用神经网络模型进行高级模式识别和自动特征提取的机器学习方法&#xff0c;近年来在时序预测领域取得了很好的成果。常用的深度学习模型包括循环神经网络&#xff08;RNN&#xff09;、长短时记忆网络&#xff08;LSTM&#xff09;、门控循环单元&a…

【C++】演讲比赛流程管理系统

1、演讲比赛程序需求 2、项目创建 参考之前的案例文章&#xff0c;去创建项目 3、创建管理类 4、菜单功能 5、退出功能 6、演讲比赛功能

【LV12 DAY9 ADC实验】

电压在1501mv~1800mv时&#xff0c;LED2、LED3、LED4、LED5点亮 电压在1001mv~1500mv时&#xff0c;LED2、LED3、LED4点亮 电压在501mv~1000mv时&#xff0c;LED2、LED3点亮 电压在0mv~500mv时&#xff0c;LED2闪烁 #include "exynos_4412.h"void delay(unsigned in…

【从0上手cornerstone3D】核心概念解析(下)

前言 渲染Dicom文件的具体流程请查看&#xff1a;如何渲染一个基础的Dicom文件&#xff08;上&#xff09;Github演示&#xff1a;https://github.com/jianyaoo/vue-cornerstone-demo逻辑图在线链接&#xff1a;逻辑图在线链接在线查看显示效果&#xff08;加载需时间&#xf…

产品经理NPDP

产品经理是告诉团队做正确的事情&#xff0c;项目经理是告诉团队正确地做事情 产品经理的核心能力是商业洞察能力、产品规划与设计、团队管理能力。 产品经理国际资格认证(NPDP)

解决防爬虫机制方法(二)

最近为了完成学校的大数据的作业&#xff0c;老师要我们爬一个的网站&#xff0c;里面有还算不错的防爬机制&#xff0c;忙活了几天&#xff0c;总结出一些常见的防爬机制的应对方法&#xff0c;方法均来自个人实战总结&#xff0c;非专业爬虫角度分析 承接上一次讲的方法解决…

短视频账号矩阵剪辑分发系统无人直播技术开发源头

一、全行业独家源头最全面的核心技术 短视频矩阵新玩法是指利用批量自动混剪系统来处理大量短视频&#xff0c;通过智能算法自动进行视频剪辑、场景切换、特效添加等操作&#xff0c;最终生成高质量、精彩纷呈的混剪视频作品的方法和技术。这一方法的出现使得大规模短视频制作…

实验数据查询

数据查询 一、实验目的 掌握使用SQL的SELECT语句进行基本查询的方法。掌握使用SELECT语句进行条件查询的方法。掌握SELECT语句的GROUP BY、ORDER BY以及UNION子句的作用和使用方法。掌握嵌套查询的方法。掌握连接查询的操作方法。 二、实验内容SQL的SELECT语句进行基本查询的…

Java SE入门及基础(14)

二重循环 1. 什么是二重循环 二重循环就是一个循环结构中又包含另外一个循环结构 while ( 外层循环条件 ){ //外层循环操作 while ( 内层循环条件 ){ //内层循环操作 } //外层循环操作 } while ( 外层循环条件 ){ //外层循环操作 for ( 循环变量初始化 ; 内层循环条…

闪存的基础知识1-Vt的编码

系列文章目录 目录 前言 一、SLC的编码 二、使SLC的编码 三、格雷码的介绍 1.定义&#xff1a; 2.举例 总结 前言 本节主要介绍闪存的一些编码规则 一、SLC的编码 对于SLC来说&#xff0c;可以定义编程态为0、擦除态为1。 二、使SLC的编码 对MLC来说&#xff0c;因为有四个状…

SDK游戏盾是什么?,sdk游戏盾有什么作用

在现今的游戏市场&#xff0c;游戏保护成为了每个游戏开发者都不能忽视的重要环节。恶意破解、作弊和盗版等问题严重影响了游戏的安全性和商业价值。而如何保护自己的游戏免受这些威胁&#xff0c;已经成为游戏开发者们面临的重大挑战。好在SDK游戏盾&#xff0c;它如同保护游戏…

JVM 一些重要配置参数

1、内存配置参数 -Xmx<size>&#xff1a;设置Java堆的最大内存。如 -Xmx2g 将堆的最大大小设置为2G&#xff0c;推荐配置为系统可用内存的70-80%-Xms<size>&#xff1a;设置Java堆的初始内存。如 -Xms2g 将堆的初始大小设置为2G&#xff0c;推荐配置与-Xmx的值相同…

【设计模式-05】Facade门面Mediator调停者 | Decorator装饰器 | Chain Of Responsibility责任链

Facade门面Mediator调停者 1、Facade门面图解 2、Mediator调停者 一般是系统内部相互交错&#xff0c;比如消息中间件(MQ)就是这种设计模式&#xff0c;对各个功能或系统之间进行解耦。 Decorator装饰器 1、问题 2、解决方案 Chain Of Responsibility责任链 一、例子场景 业…

循环冗余校验(Cyclic Redundancy Check, CRC)计算

若信息码字为111000110&#xff0c;生成多项式G(x)x^5x^3x1&#xff0c;则计算出的CRC校验码为&#xff08; &#xff09;。 A.01101 B.11001 C.001101 D.011001 循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的…