(4)传输模式不同 集线器只能采用半双工方式进行传输的,因为集线器是共享传输介质的,这样在上行通道上集线器一次只能传输一个任务,要么是接收数据,要么是发送数据。而交换机则不一样,它是采用全双工方式来传输数据的,因此在同一时刻可以同时进行数据的接收和发送,这不但令数据的传输速度大大加快,而且在整个系统的吞吐量方面交换机比集线器至少要快一倍以上,因为它可以接收和发送同时进行,实际上还远不止一倍,因为端口带宽一般来说交换机比集线器也要宽许多倍。
三、交换机的工作原理 交换机和集线器在外型上非常相似,而且都遵循IEEE802.3及其扩展标准,介质存取方式也均为CSMA/CD,但是它们之间在工作原理上还是有着根本的区别。简单地说,由交换机构建的网络称之为交换式网络,每个端口都能独享带宽,所有端口都能够同时进行通讯,并且能够在全双工模式下提供双倍的传输速率。而集线器构建的网络称之为共享式网络,在同一时刻只能有两个端口(接收数据的端口和发送数据的端口)进行通讯,所有的端口分享固有的带宽。下面简单以图示方式介绍如下。 1、“共享”与“交换”数据传输技术 要明白交换机的优点我们首先就必须明白交换机的基本工作原理,而交换机的工作原理其实最根本的是要理解“共享”(Share)和“交换”(Switch)这两个概念。集线器是采用共享方式进行数据传输的,而我们在这里要讲的交换机工作原理则是采用“交换”方式进行数据传输的。我们可以把“共享”和“交换”理解成公路。“共享”方式就是来回车辆共用一个车道的单车道公路,而“交换”方式则是来回车辆各用一个车道的双车道公路,“共享”和“交换”这两种数据传输方式的示意图分别如图1左、右图所示。
图1 从我们平常生活中就可感觉到这两种方式的不同之处,明显可以感受到双车道的交换方式的优越性。因为双车道来回的车辆可以在不同的车道上单独行走,一般来说如果不出现意外的外是不可能出现大塞车现象(当然也有可能,那就车辆太多,速度太慢情况下),而单车道就象我们过单车道的桥一样,来回的车辆每次只能允许一个方向的车辆经过这个桥,这样就很容易出现塞车现象。 交换机进行数据交换的原理就是在这样的背景下产生,它解决了集线器那种共享单车道容易出现“塞车”现象。在交换机技术上把这种“独享”道宽(网络上称之为“带宽”)情况称之为“交换”,这种网络环境称为“交换式网络”,交换式网络必须采用交换机(Switch)来实现。从图1右图可以知道交换式网络可以是“全双工”(Full Duplex)状态,即可以同时接收和发送数据,数据流是双向的。而集线器的“共享”方式的网络就称之为“共享式网络”,共享式网络采用集线器(集线器)作为网络连接设备。显然,共享网络的效率非常低,在任一时刻只能有一个方向的数据流,即处于“半双工”(Half Duplex)模式,也称为“单工”模式。而对于交换机而言,它能够“认识”连接到自己身上的每一台电脑,凭什么认识呢?就是凭每块网卡物理地址,俗称“MAC地址”。交换机还具有MAC地址学习功能,它会把连接到自己身上的MAC地址记住,形成一个节点与MAC地址对应表。凭这样一张表,它就不必再进行广播了,从一个端口发过来的数据,其中会含有目的地的MAC地址,交换机在保存在自己缓存中的MAC地址表里寻找与这个数据包中包含的目的MAC地址对应的节点,找到以后,便在这两个节点间架起了一条临时性的专用数据传输通道,这两个节点便可以不受干扰地进行通信了。要注意交换机档次越低,交换机的缓存就越小,也就是说为保存MAC地址所准备的空间也就越小,对应的就是它能记住的MAC地址数也就越少。通常一台交换机都具有1024个MAC地址记忆空间,都能满足实际需求。从上面的分析来看我们知道交换机所进行的数据传递是有明确的方向的,而不是乱传递,而不是集线器的广播方式,这种传递示意图如图3所示。同时由于交换机可以进行全双工传输,所以交换机可以同时在多对节点之间建立临时专用通道,形成了立体交叉的数据传输通道结构。
图3 交换机的数据传递工作原理可以简单地这样来说明: 当交换机从某一节点收到一个以太网帧后,将立即在其内存中的地址表(端口号-MAC地址)进行查找,以确认该目的MAC的网卡连接在哪一个节点上,然后将该帧转发至该节点。如果在地址表中没有找到该MAC地址,也就是说,该目的MAC地址是首次出现,交换机就将数据包广播到所有节点。拥有该MAC地址的网卡在接收到该广播帧后,将立即做出应答,从而使交换机将其节点的“MAC地址”添加到MAC地址表中。换言之,当交换机从某一节点收到一个帧时(广播帧除外),将对地址表执行两个动作,一是检查该帧的源MAC地址是否已在地址表中,如果没有,则将该MAC地址加到地址表中,这样以后就知道该MAC地址在哪一个节点;二是检查该帧的目的MAC地址是否已在地址表中,如果该MAC地址已在地址表中,则将该帧发送到对应的节点即可,而不必像集线器那样将该帧发送到所有节点,只须将该帧发送到对应的节点,从而使那些既非源节点又非目的节点的节点间仍然可以进行相互间的通信,从而提供了比集线器更高的传输速率。如果该MAC地址不在地址表中,则将该帧发送到所有其它节点(源节点除外),相当于该帧是一个广播帧。 讲到这里我们要明白一个事实,那就是交换机在刚买回来不可能知道您所在网络中各节点的地址,也就是说在交换机刚刚打开电源时,其MAC地址表是一片空白。那么,交换机的地址表是怎样建立起来的呢?学习!交换机根据以太网帧中的源MAC地址来更新地址表。当一台计算机打开电源后,安装在该系统中的网卡会定期发出空闲包或信号,交换机即可据此得知它的存在以及其MAC地址,这就是所谓自动地址学习。由于交换机能够自动根据收到的以太网帧中的源MAC地址更新地址表的内容,所以交换机使用的时间越长,学到的MAC地址就越多,未知的MAC地址就越少,因而广播的包就越少,速度就越快。 那么,交换机是否会永久性地记住所有的端口号-MAC地址关系呢?不是的。由于交换机中的内存毕竟有限,因此,能够记忆的MAC地址数量也是有限的。既然不能无休止地记忆所有的MAC地址,那么就必须赋予其相应的忘却机制,从而吐故纳新。事实上,工程师为交换机设定了一个自动老化时间(Auto-aging),若某MAC地址在一定时间内(默认为300秒)不再出现,那么,交换机将自动把该MAC地址从地址表中清除。当下一次该MAC地址重新出现时,将会被当作新地址处理。 综上所述,交换机作为当前局域网的主要连接设备,与集线器相比具有许多明显的优点,目前正有全面取代集线器之势,随着交换技术的不断发展,以太网交换机的价格急剧下降,交换到桌面已是大势所趋。如果网络上拥有大量的用户、繁忙的应用程序和各式各样的服务器,而且你还未对网络结构做出任何调整,那么整个网络的性能可能会非常低。最为有效的解决方法就是用交换机替代原来的集线器,当然交换机的价格会比集线器贵些,但目前来说应该完全可以接受。况且所带来的性能提绝不是“一点点”那么简单! 下一篇我们要介绍交换机的几种常见分类方法。 | | 另外一方面,由于单车道共享方式中来回车辆共用一个车道,也就是每次只能过一个方向的车,这样车辆一多,速度肯定会降下来,效率也就跟着下降。共享式网络的通信也与共享车道情况类似,它的效率在数据流量大的时候效率也肯定会降低,因为同一时刻只能进行单一数据传输任务。还可能造成数据碰撞现象,就像我们在单车道上经常看到撞车现象一样,因为车流量一大,就很难保证每个车辆的司机都那么遵守交通规则,容易出现数据碰撞、争抢车道的现象。而交换式的数据交换方式出现这种情况就少许多,因为各自都有自己的信道,各行其道基本上是不太可能发生争抢信道的现象。但也有例外,那就是数据流量增大,而网络速度和带宽没有得到保证时才会在同一信道上出现碰撞现象,就像我们在双车道或多车道也可能发生撞车现象一样。解决这一现象的方法有两种,一种是增加车道,另一种方法就是提高车速,很显然增加车道这一方法是最基本的,但它不是最终的方法,因为车道的数量肯定有限,如果所有车辆的速度上不去,那还是会效率低的,对于一些心急的司机来说还是会撞车的。第二种方法是一种比较好的方法,提速有助于车辆正常有序地快速流动,这就是为什么高速公路反而出现撞车的现象比普通公路上少许多的原因。计算机网络也一样,虽然我们的交换机能提供全双工方式进行数据传输,但是如果网络带宽不宽、速度不快,每传输一个数据包都有要花费大量的时间,则信道再多也无济于事,网络传输的效率还是高不起来的,况且网络上的信道也是非常有限的,这要决定于带宽。目前最快的以太网交换机带宽可达到10Gbps。
2。 数据传递的方式 通过前面的学习我们已经知道集线器的数据包传输方式是广播方式,如图2所示。由于集线器中只能同时存在一个广播,所以同一时刻只能有1个数据包在传输,信道的利用率较低。
图2 |