集线器是一种网络设备,广泛应用于计算机局域网环境中。它通常具有多个以太网接口,用于将多个计算机或其他网络设备连接在一起,形成一个网络拓扑结构。
集线器的主要作用是将多个网络节点连接在一起构成一个局域网,使得这些节点能够进行互相通信和数据交换。在局域网中,集线器可以实现广播和组播等通信方式,使得多个节点可以同时接收到同样的数据信息。(可能还有点不理解,没关系。)
集线器的功能:
连接设备:集线器用于将多个以太网设备连接在一起,如计算机、打印机、网络摄像头等。它提供多个端口,使得多个设备可以物理上连接到同一个网络。
数据广播:集线器通过复制和广播数据包,将一个端口接收到的数据包发送到其他所有端口上。这样,当一个设备发送数据时,集线器会将数据包复制并发送到所有连接的设备,使得每个设备都能够接收到这个数据包。
碰撞域管理:在早期的以太网中,共享介质的方式意味着多个设备在同一时间发送数据可能会发生碰撞。集线器负责管理碰撞域,执行碰撞检测和重传机制,以确保数据传输的可靠性。
简单的网络拓扑:集线器支持简单的星型拓扑结构,其中所有设备都直接连接到集线器的端口。这种简单的拓扑结构使得网络的布线和管理更加方便和容易。
目前集线器一般配合双绞线一起使用 。
1.从表面来看。使用集线器的局域网在物理上是一个星型网,整个系统仍像一个传统以太网那样运行。也就是说使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,使用的还是CSMA/CD协议,网络中的各站必须竞争传输媒体的控制,并且在同一时刻至多只允许一个站发送数据。
一个集线器有许多端口,集线器很像一个多端口的转发器。
集线器工作在物理层,它的每一个端口仅仅简单地转发比特,收到1转发1,收到0转发0,不进行碰撞检测。
- 集线器的目的是将内部网络上所有网络设备连接在一起。它具有多个端口,可以接受来自网络设备的以太网连接。集线器不过滤任何数据、也不知道该将数据发到什么地方。集线器唯一知道的是设备何时连接到其端口之一。因此,当数据包到达端口之一时,它将被复制到所有其他端口。因此,集线器上所有设备都可以看到数据包。数据包进入一个端口,然后集线器通过连接的设备将数据重新广播到每个端口。
- 这意味着所有连接到集线器的设备都能够接收到数据包。然而,集线器本身并不了解数据包的内容或目标设备的位置,它只是简单地将数据包复制到所有端口上。
- 因此,即使计算机A只想和计算机B通信。其他计算机仍将接收数据。这不仅会引起安全问题,还会造成不必要的网络流量从而浪费带宽。
由于集线器的广播特性,当多个设备同时发送数据时,可能会发生冲突,即数据包的碰撞。这会导致数据包的丢失和网络性能下降。因此,现代网络通常使用交换机(switch)代替集线器。
按照书上的话来说,交换机实质上是一个多端口的网桥。每一个端口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
以太网交换机工作于OSI网络参考模型的第二层(即数据链路层),是一种基于MAC(地址识别、完成以太网数据帧转发的网络设备。
计算机借助网卡通过网线连接到交换机的端口上。网卡、交换机和路由器的每个端口都具有一个MAC地址,由设备生产厂商固化在设备的EPROM中。MAC地址又叫做物理地址,每个MAC地址都是全球唯一的。
交换机在端口上接受计算机发送过来的数据帧,根据帧头的目的MAC地址查找MAC地址表然后将该数据帧从对应端口上转发出去,从而实现数据交换。
这里面涉及到交换机的自学习功能,各位感兴趣可以搜一下,在下面就简单介绍一下自学习过程。还要注意的是数据链路层传输的数据内容就是帧。帧中存的有目的MAC地址,源MAC地址。
交换机的自学习过程和交换表的录入如下所述:
初始状态:当交换机刚开始运行时,交换表是空的,其中没有任何MAC地址和对应的端口记录。
自学习过程:当交换机接收到一个数据帧时,它会检查数据帧的源MAC地址。交换机将源MAC地址与接收到的端口相关联,并将这个记录添加到交换表中。这样,交换机就学习到了源MAC地址与端口的对应关系。它还会记录下数据帧的VLAN信息(如果有)。
交换表的录入:在自学习过程中,交换机将源MAC地址与接收到的端口相关联,并将这个记录添加到交换表中。交换表是一个存储在交换机内存中的数据结构,它记录了MAC地址和对应的端口信息。交换表的格式通常是类似于哈希表或者查找表的形式。
转发过程:当交换机接收到下一个数据帧时,它会检查数据帧的目的MAC地址。交换机会在交换表中查找目的MAC地址对应的端口信息。如果找到了匹配的记录,交换机会将数据帧转发到相应的端口。如果没有找到匹配的记录,交换机会广播数据帧到所有其他的端口(除了接收到该数据帧的端口),以便目的设备能够接收到数据。
- 通过不断重复上述过程,交换机能够逐渐建立起更完整和准确的交换表,实现更快速、准确的数据转发。同时,交换表也会根据一定的策略进行更新,例如根据一定的时间限制删除过期的记录,以确保交换表的有效性和可靠性。
- 需要注意的是,交换机的自学习过程是基于数据帧的源MAC地址,而不是目的MAC地址。这是因为通过学习源MAC地址,交换机能够建立起源设备到端口的映射关系,从而实现有选择性的转发。目的MAC地址在转发过程中用于查找匹配的记录,以确定数据帧的目标端口。
直接上图:
发现没,交换机也有好多端口,所以交换机具备集线器在物理层的功能 :开大:集线器通过复制和广播数据包,将一个端口接收到的数据包发送到其他所有端口上。
但是既然交换机又叫做交换是集线器而且又工作在数据链路层,那它会在数据链路层把物理层多发滥发的数据进行拦截和丢弃(上面的自学习功能)。
在物理层,交换机并不会对数据包进行筛选或选择性发送,它会将接收到的数据包复制并广播到所有连接的端口上。
- 数据包的筛选和选择性发送是在数据链路层进行的。当数据包通过交换机的物理层到达数据链路层时,其中包含源MAC地址和目的MAC地址等信息(帧中有MAC信息)。
- 在数据链路层,设备(会检查数据包的目的MAC地址。如果目的MAC地址与设备所连接的端口上的MAC地址匹配,设备会接收并处理该数据包。如果目的MAC地址与设备所连接的端口上的MAC地址不匹配,设备会丢弃该数据包,并不会将其发送到其他端口。
- 换句话说,数据链路层根据目的MAC地址来选择性地将数据包发送到特定的端口,而不是广播到所有端口。这种选择性发送可以提高网络的效率,因为只有目标设备才会接收到该数据包。
而如果只考虑集线器而不考虑交换机,数据链路层不会对数据包进行丢弃。所有连接到集线器的设备都会接收到所有的数据包,且无法进行选择性接收。
看到这里各位应该清楚地了解到交换机是如何取代集线器进行筛选信息的了吧。
这就是集线器和交换机的恩怨情仇!!!!!!!!!!!!!!!!!!!
对于使用集线器的共享总线式以太网,单播帧会传到其他主机,各主机中的网卡会根据帧的MAC地址觉决定是否接受它。(很明显有拒绝的!!!!!!)
对于使用交换机的交换式以太网,交换机会根据帧的MAC地址和自身的帧交换表把帧传到对应主机。
对于使用集线器的共享总线式以太网,广播帧会传送到总线上的其他各主机,各主机的网卡检测到帧的目的MAC地址是广播地址,就会接受该帧
同理,对于交换机的交换以太网,当各主机收到广播后,检测到帧的目的MAC地址是广播地址,于是从除该帧进入交换机接口外的其他各接口转发该帧。
我们再来对比多台主机给同一个主机发送单播帧的情况。
对于使用集线器的共享总线式以太网,这必然产生碰撞。遭遇碰撞的帧会传播到总线上的各个主机。
对于使用交换机的交换式以太网,交换机收到多个帧时,会将他们给存起来,依次转发给目的主机。不会产生碰撞。
不在讲了,很明显看出交换机的优势。
发送广播帧的话,两者其实没有太大差别
集线器只是把主机之间的线连接起来,所有相连的主机都会构成一个冲突域。这也就意味着:当一个主机在发送数据的时候,其他任何一个主机都不能再发送数据了,因为在一个介质上面两个同时发送会引起冲突。
交换机不是简简单单把主机上面的线连在一起,而是把他们按照类似矩阵的形式错开。这样子可以有效避免冲突域的扩大,这对于增大信道容量是由非常大的好处的。
交换机通过使用存储转发或者使用专用的交换芯片来避免碰撞。
存储转发:当交换机接收到一个帧时,它会先将整个帧完全接收并存储在内部缓冲区中,然后再转发到适当的端口。在存储转发的过程中,交换机会检查帧的目标MAC地址,并在转发之前进行目标端口的匹配。由于整个帧都被接收和存储,交换机可以避免发送碰撞或冲突。
专用交换芯片:现代交换机通常使用专用的交换芯片(ASIC)进行高速的帧转发。这些芯片具有硬件加速和高速缓存,可以快速处理和转发帧。专用交换芯片能够在硬件级别上实现帧的转发决策和目标端口的匹配,避免了软件处理的延迟和碰撞。
这些机制使得交换机能够在不同的端口之间实现并行的数据传输,避免了碰撞的发生。每个端口都具有独立的发送和接收路径,数据可以在不同的端口之间同时传输,不会产生冲突。这种点对点的数据传输方式提高了网络的效率和吞吐量。
这玩意总知道吧在看的各位,谁家没个这玩意。
路由器是一种具有多个输入输出端口的专用计算机,其任务是转发分组。从路由器某个输入端口收到的分组,按照分组要求去的目的地,把该分组从路由器的某个合适的输出端口转发给下一跳路由器。下一跳路由器循环此操作。
路由器是一种用于连接多个逻辑上分开网络的设备,它具有判断网络地址和选择IP路径的功能,能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网。路由器的主要功能包括:收集网络拓扑信息并动态形成路由表、根据路由表转发IP数据包、隔离广播域、将不同网段上的设备进行互通。路由器可以实现多台电脑使用上网,无线路由器还可以实现无线上网。
通俗来说,当你在家中使用路由器连接到互联网时,路由器的作用可以类比为邮局和邮递员:
连接你的家庭网络和互联网:路由器就像是连接你的家庭网络和互联网之间的桥梁。它接收来自你家中的设备(例如电脑、手机、智能电视等)发送的数据,并将其发送到互联网上。同样,它也从互联网接收数据,并将其传输到你的设备上。
分配IP地址:当你的设备连接到路由器时,它会为每个设备分配一个唯一的IP地址。就像邮递员给每个房子分配一个邮政地址一样,路由器给每个设备分配一个IP地址,这样数据包就知道要去哪里。
转发数据包:当你的设备想要发送数据到互联网上的其他设备时,路由器会将数据包引导到正确的目标。就像邮递员将你的信件发送到正确的收件人一样,路由器将数据包发送到正确的目标设备。
网络安全:路由器还扮演着网络安全的角色。它可以设置防火墙、网络地址转换(NAT)和端口转发等功能,以保护你的设备免受来自互联网的潜在威胁。
总的来说,路由器的作用是连接你的家庭网络和互联网之间,将数据包转发到正确的目标,并提供网络安全功能。它使得你的设备能够与互联网上的其他设备进行通信,并在家庭网络中实现数据的传输和共享。
(这是路由器构成图)
- 路由器工作在网络层,而网络层传输的介质是IP数据报。
- 从上图可以看出,整个路由器由两大部分组成,路由选择部分和分组转发部分。
路由选择部分(Routing Control Plane):路由选择部分主要负责决策和计算数据包的最佳路径,并更新路由表。它包括以下主要组件:
路由协议:路由器使用路由协议来与其他路由器交换路由信息,共享网络拓扑和路由表更新。这些协议可以是边界网关协议(BGP)、开放最短路径优先(OSPF)、路由信息协议(RIP)等。
路由表:路由选择部分维护一个路由表,其中包含有关网络的路由信息。路由表记录了目的网络的IP地址和相应的下一跳信息,以便分组转发部分可以根据路由表转发数据包。
路由选择算法:路由选择部分使用路由选择算法来根据路由表中的信息计算最佳路径。常见的路由选择算法包括距离矢量算法、链路状态算法、路径矢量算法等。
分组转发部分(Packet Forwarding Plane):分组转发部分负责根据路由表中的信息,将数据包从输入接口转发到正确的输出接口或下一个路由器。它包括以下主要组件:
分组转发部分的目标是高效地转发数据包,确保数据包按照最佳路径到达目的地。它利用路由选择部分提供的路由表信息,将数据包从输入接口转发到正确的输出接口。
输入接口:数据包从网络中的输入接口进入路由器。
查找/匹配引擎:该引擎根据数据包的目的IP地址,与路由表中的条目进行匹配,以确定适当的转发路径。
转发表:转发表存储了目的IP地址与输出接口或下一个跳的映射关系。根据匹配结果,转发表决定将数据包发送到哪个输出接口或下一个路由器。
输出接口:数据包通过网络中的输出接口离开路由器,继续向目标设备或下一个路由器传输。总的来说,路由器的路由选择部分负责计算和更新路由表,而分组转发部分负责根据路由表将数据包从输入接口转发到输出接口。这两部分协同工作,使路由器能够实现数据包的正确转发和路由选择。
当你和同学聊天,是简单的两台主机聊天吗?
当你和同学聊天时,实际上涉及多个主机和可能的路由器之间的通信。
假设你和同学在不同的网络中,你们的聊天数据需要经过多个路由器进行转发才能到达对方。每个网络都有自己的路由器,这些路由器负责将数据从一个网络转发到另一个网络。
当你发送一条聊天信息给同学时,主机将数据封装为IP数据报,并将其发送给我所在网络的默认网关(路由器)。路由器根据目标IP地址和路由表决定将数据报转发到下一个网络。这个过程可能涉及多个路由器,每个路由器都将根据路由表选择最佳路径进行转发。
数据报最终到达同学所在网络的路由器,该路由器将数据报传递给同学的主机。同学的主机接收到数据报后,将其解封装,并将聊天信息提取出来,让你同学直到你小子干啥,是不是寂寞了。
所以,在你和同学之间的聊天过程中,数据需要通过一系列的路由器进行转发,以实现跨网络的通信。这样,你们才能在不同的主机之间进行简单的聊天。
集线器 | 交换机 | 路由器 | |
工作区域 | 物理层 | 数据链路层 | 网络层 |
转发内容 | 比特(bit) | 帧(frame) | IP数据报(Packet) |
所用算法 | 无 | 自学习算法 | 路由算法 |
路由方式 | 无 | 存储转发 | 存储转发 |