以太网集线器、交换机、路由器的区别.docxVIP

  • 1
  • 0
  • 约4.06千字
  • 约 10页
  • 2026-02-02 发布于山西
  • 举报

以太网集线器、交换机、路由器的区别.docx

以太网集线器、交换机、路由器的区别

做软硬件研发的小伙伴应该对网络交换机这个词并不陌生,做工控或者通信产品的时候,经常需要用到交换芯片或者交换机,成本大概几十上百不等;这种产品用的交换芯片或交换机通常指的是二层交换,而与之对应的是,还有集线器、路由器等。今天我们就来聊一下这“仨”兄弟分别是怎么工作的,以及为什么会有这“仨”兄弟的出现。

我们先来了解一下TCP/IP中是如何对网络进行分层的,如下图所示

以计算机下发消息为例,当计算机的应用产生消息,消息会通过加密压缩等操作后传至主机的应用层,应用层将消息下发至传输层,在TPC网络中,消息到了传输层就会被假如传输层的数据报头,TCP报头一共20个字节,其中包括传输层中最重要的目标端口号和源端口号等信息。

然后消息会继续发送到网络层,到了网络层后消息会假如IP层的报头,报头中同样一共20字节,其中包括网络层中最重要的32位发送端IP地址和32位接收端IP地址等。

随后网络层会把消息发送至数据链路层,在数据链路层中数据包会拼接上12字节的MAC报头,6个字节为目标MAC地址,6字节为源MAC地质。同时在消息尾部加入FCS帧检验序列,用于数据纠错的功能。

最后网络层把消息传至物理层,物理层转换成为比特流通过网线或者光纤发送出去。

集线器:

90、80后的小伙伴读书时候应该去过一些黑网吧,这种黑网吧不能上互联网,也不能搜索资料和打开搜索引擎等,但是网吧中的各台电脑可以互相访问进行单机游戏对线,这种网吧用的就是“集线器”。

集线器是工作在一个纯物理层的设备,我们可以简单理解它里面不含任何软件类逻辑判断等,单纯是将收到的二进制信号进行二次放大和发送,如下图所示:

集线器工作的时候就是一个简单粗暴的“大喇叭”,采用广播方式传输数据,当它从一个端口收到数据时,会不加区分地将数据复制并发送到所有其他端口。连接在集线器上的所有设备都能看到这些数据,依靠计算机进行数据的接收和处理,不是自己的数据就直接丢弃。大概像下图所示:

这种简单粗暴的网络传输形式,优点是十分简单,不需要任何的软件逻辑处理,仅仅简单地转发比特流,只需要硬件转发,但缺点也十分明显,那就是所有端口带宽共享,集线器连接了10台设备,每台设备都是100Mbps的以太网口,当10台设备都在使用时,实际上每台设备只有10Mbps的带宽,而且因为集线器不进行任何数据过滤,因此所有设备都能接收到大量的非目标数据,这种广播方式不仅安全性差,当设备数量增多时,网络性能会肉眼可见的下降。

下面这是集线器的内部结构框图

但是由于现在交换机成本的下降,集线器已经很少见到了,很多人可能从未实际使用过它。

交换机:

如果是千兆带宽,只有四五个设备,用集线器让所有设备每次的消息都进行广播那倒也还好,但是如果这时候是1000台甚至10000台设备,还用集线器进行广播,那网络资源就会出现极大的浪费了。这时候带“转发”和“广播”两种功能的交换机就应用而生了。

交换机从网络分层上来说工作在数据链路层,比集线器所在的物理层要高一层。

交换机中带有软件逻辑性的缓存,其内部对应各个端口都有唯一的一个MAC地址表。交换机会将每个端口对应的MAC地址记录在其自身的缓存当中。这个表是交换机不断学习与记录的结果。工作流程如下所示:

需要注意的是,交换机的功能是“转发”,而不是集线器的“广播”。当消息A从端口1进来,交换机内部记录了端口1小蓝电脑的MAC地址,从消息A中解析出来目标的MAC地址。

随后交换机MAC表中找到目标MAC地址是端口3的小绿,那此时交换机就会直接把消息A转发至端口3直接给到小绿,不会转发给小橙和小紫,这极大提升了网络资源的利用率。

同时在数据链路层中报文内容加入了FCS数据帧,如果硬件链路因为噪声干扰或者硬件出错等问题导致数据出错,集线器遇到错误帧时也会无脑进行全部广播,而交换机会通过FCS数据帧的内容进行循环冗余校验(CRC)。

大概流程是:小蓝在发送数据帧时,它会根据帧的头部和数据部分,通过CRC算法计算出一个唯一的校验值,这个值就是FCS,然后将其附加在帧的尾部;

交换机收到数据帧后会使用和发送方相同的CRC算法对收到的帧头部和数据部分进行独立计算,生成一个新的FCS值;

交换机会将自己计算出的FCS值与收到的原始FCS值进行比对,如果两者一致,则认为帧在传输过程中没有出错,数据是完整的,随后再将完整的数据帧交给小绿。如果两者不一致,这个出错的数据帧会直接被丢弃。

MAC表对交换机而言如此重要,那交换机如何获得这个表呢?

这就不得不提了交换机设计者的聪明之处了,流程如下图所示:

如图所示,当端口5和端口6插入了小黑和小灰,交换机此时其实并不知道哥俩的MAC地址是多少,如果没人访问哥俩的话,他们也不会被记录在MAC地址表里。

但是如果此时小蓝需要发消息B给小灰,

文档评论(0)

1亿VIP精品文档

相关文档