交换机的数据传递工作原理可以简单地这样来说明:

当交换机从某一节点收到一个以太网帧后,将立即在其内存中的地址表(端口号-MAC地址)进行查找,以确认该目的MAC的网卡连接在哪一个节点上,然后将该帧转发至该节点。

如果在地址表中没有找到该MAC地址,也就是说,该目的MAC地址是首次出现,交换机就将数据包广播到所有节点。拥有该MAC地址的网卡在接收到该广播帧后,将立即做出应答,从而使交换机将其节点的“MAC地址”添加到MAC地址表中。

换言之,当交换机从某一节点收到一个帧时(广播帧除外),将对地址表执行两个动作,一是检查该帧的源MAC地址是否已在地址表中,如果没有,则将该MAC地址加到地址表中,这样以后就知道该MAC地址在哪一个节点;

交换机的工作原理(交换机是如何进行数据传递的)(1)

二是检查该帧的目的MAC地址是否已在地址表中,如果该MAC地址已在地址表中,则将该帧发送到对应的节点即可,而不必像集线器那样将该帧发送到所有节点,只须将该帧发送到对应的节点。

从而使那些既非源节点又非目的节点的节点间仍然可以进行相互间的通信,从而提供了比集线器更高的传输速率。如果该MAC地址不在地址表中,则将该帧发送到所有其它节点(源节点除外),相当于该帧是一个广播帧。

讲到这里我们要明白一个事实,那就是交换机在刚买回来不可能知道您所在网络中各节点的地址,也就是说在交换机刚刚打开电源时,其MAC地址表是一片空白。那么,交换机的地址表是怎样建立起来的呢?

学习!交换机根据以太网帧中的源MAC地址来更新地址表。当一台计算机打开电源后,安装在该系统中的网卡会定期发出空闲包或信号,交换机即可据此得知它的存在以及其MAC地址,这就是所谓自动地址学习。

交换机的工作原理(交换机是如何进行数据传递的)(2)

由于交换机能够自动根据收到的以太网帧中的源MAC地址更新地址表的内容,所以交换机使用的时间越长,学到的MAC地址就越多,未知的MAC地址就越少,因而广播的包就越少,速度就越快。

那么,交换机是否会永久性地记住所有的端口号-MAC地址关系呢?不是的。由于交换机中的内存毕竟有限,因此,能够记忆的MAC地址数量也是有限的。既然不能无休止地记忆所有的MAC地址,那么就必须赋予其相应的忘却机制,从而吐故纳新。

实上,工程师为交换机设定了一个自动老化时间(Auto-aging),若某MAC地址在一定时间内(默认为300秒)不再出现,那么,交换机将自动把该MAC地址从地址表中清除。当下一次该MAC地址重新出现时,将会被当作新地址处理。

综上所述,交换机作为当前局域网的主要连接设备,与集线器相比具有许多明显的优点,目前正有全面取代集线器之势,随着交换技术的不断发展,以太网交换机的价格急剧下降,交换到桌面已是大势所趋。

如果网络上拥有大量的用户、繁忙的应用程序和各式各样的服务器,而且你还未对网络结构做出任何调整,那么整个网络的性能可能会非常低。最为有效的解决方法就是用交换机替代原来的集线器,当然交换机的价格会比集线器贵些,但目前来说应该完全可以接受。况且所带来的性能提绝不是“一点点”那么简单! 

交换机的工作原理(交换机是如何进行数据传递的)(3)

交换机的工作原理:

交换机和集线器在外型上非常相似,而且都遵循IEEE802.3及其扩展标准,介质存取方式也均为CSMA/CD,但是它们之间在工作原理上还是有着根本的区别。简单地说,由交换机构建的网络称之为交换式网络。

每个端口都能独享带宽,所有端口都能够同时进行通讯,并且能够在全双工模式下提供双倍的传输速率。而集线器构建的网络称之为共享式网络,在同一时刻只能有两个端口(接收数据的端口和发送数据的端口)进行通讯,所有的端口分享固有的带宽。下面简单以图示方式介绍如下。

要明白交换机的优点我们首先就必须明白交换机的基本工作原理,而交换机的工作原理其实最根本的是要理解“共享”(Share)和“交换”(Switch)这两个概念。集线器是采用共享方式进行数据传输的。

交换机的工作原理(交换机是如何进行数据传递的)(4)

而我们在这里要讲的交换机技术工作原理则是采用“交换”方式进行数据传输的。我们可以把“共享”和“交换”理解成公路。“共享”方式就是来回车辆共用一个车道的单车道公路,而“交换”方式则是来回车辆各用一个车道的双车道公路,“共享”和“交换”这两种数据传输方式的示意图分别如图1左、右图所示。

从我们平常生活中就可感觉到这两种方式的不同之处,明显可以感受到双车道的交换方式的优越性。因为双车道来回的车辆可以在不同的车道上单独行走,一般来说如果不出现意外的外是不可能出现大塞车现象(当然也有可能,那就车辆太多,速度太慢情况下)。

交换机的工作原理(交换机是如何进行数据传递的)(5)

而单车道就象我们过单车道的桥一样,来回的车辆每次只能允许一个方向的车辆经过这个桥,这样就很容易出现塞车现象。交换机进行数据交换的原理就是在这样的背景下产生,它解决了集线器那种共享单车道容易出现“塞车”现象。

在交换机技术上把这种“独享”道宽(网络上称之为“带宽”)情况称之为“交换”,这种网络环境称为“交换式网络”,交换式网络必须采用交换机(Switch)来实现。从图1右图可以知道交换式网络可以是“全双工”(FullDuplex)状态。

即可以同时接收和发送数据,数据流是双向的。而集线器的“共享”方式的网络就称之为“共享式网络”,共享式网络采用集线器(集线器)作为网络连接设备。显然,共享网络的效率非常低,在任一时刻只能有一个方向的数据流,即处于“半双工”(HalfDuplex)模式,也称为“单工”模式

交换机的工作原理(交换机是如何进行数据传递的)(6)