以太网交换机又称为“交换式集线器”,于1990年在集线器的基础上研发问世,工作在数据链路层。和集线器相比较,以太网交换机拥有“寻址转发”功能和较好的并行性;和网桥相比较,以太网交换机拥有了更多的接口。所以,以太网交换机刚一问世,就迅速得到了广泛应用,很快就淘汰了集线器和网桥,成为数据链路层的主要连接设备。
1.以太网交换机简介
从网络连接的角度来看,以太网交换机与网桥有些类似,但却有着比网桥更多的接口和更强大的功能。以太网交换机主要工作在全双工模式下,其每个接口都直接与一台主机或另一台交换机相连接。以太网交换机具有并行性功能,可以同时连接多对接口,使多对主机能够同时通信,并且相互通信的主机都是独自占用整个数据传输通道,无碰撞地传输数据,这一点是以太网交换机最为主要的一个特点。对于使用10 Mb/s速率集线器连接的共享式以太网,如果有10个用户接入网络,则每个用户平均占用的带宽为1 Mb/s,但如果将集线器替换为拥有同样传输速率的交换机,虽然每个接口到主机之间的带宽还是10 Mb/s,但是由于每个主机在通信时是独占全部带宽,而不是和其他用户共享带宽,所以对于拥有10个接口的以太网交换机而言,它的总容量可以达到100 Mb/s。将利用集线器连接的共享式以太网更改为由交换机连接的交换式以太网非常方便,所有接入设备的软、硬件配置都不需要做出任何更改。
以太网交换机具有“缓存”的能力,这依赖于交换机接口上设置的存储器。当网络较为繁忙时,以太网交换机可以把需要转发的帧临时存放在输出端口的存储中,形成输出队列,当网络空闲时,再按照队列顺序将帧转发出去。
以太网交换机支持即插即用,其内部存储器中维持着一张帧的“转发表”,配合着专门的硬件交换芯片,能够以较高的速率完成数据的转发,因此,其性能要远远优于集线器和网桥。
2.以太网交换机的工作方式
目前,以太网交换机主要有两种工作方式,一种是较为常用的存储转发式,另一种则是直通式。存储转发式的工作方式是指先将收到的帧缓存下来,进行一些相关的处理后,再转发到相应的输出端口。直通式则不必把整个数据帧都缓存下来,而是只对数据帧进行简单的检查,然后,立即按照帧首部的目的MAC地址将数据帧转发出去,因此转发速度得到了较大的提升。如果在其内部采用基于硬件的交叉矩阵,那么交换的延迟还会进一步缩小。这是直通式工作方式的主要优点。
和存储转发相比较而言,直通式的主要缺点在于有可能将一些无效或者出错的帧转发出去,因为它没有对数据帧进行必要的检查。目前,主要采用的以太网交换机都同时支持上述两种工作方式,可以根据需要来进行相互切换。
3.以太网交换机的自学习功能
以太网交换机具有数据转发功能,能够根据数据帧首部中的MAC地址为其选择输出接口。这个功能的实现依赖于以太网交换机内部维持的一张交换表(又称为转发表或地址表),在此表中详细记录了在当前以太网中每个站点的MAC地址与输出接口的对应关系。当以太网交换机收到一个新的数据帧时,首先从帧首部中读出目的主机的MAC,然后再去查找交换表,就可以找到当前数据帧应转发的接口。
对一个刚刚被初始化的以太网交换机而言,它的交换表是空白的,此时的以太网交换机并没有转发能力。在使用过程中,以太网交换机通过自学习过程,逐步完善自己的交换表,从而拥有了数据转发的能力。图3-14所示为以太网交换机的自学习过程。
如图3-14(a)所示,假设有一台以太网交换机,它有1、2、3、4四个接口,分别连接A、B、C、D四台计算机,这四台计算机的MAC地址分别为1111-1111-1111,2222-2222-2222,3333-3333-3333,4444-4444-4444。在以太网交换机刚刚初始化时,里面的交换表是空白的。
图3-14 以太网交换机的自学习过程(www.xing528.com)
(a)刚刚初始化的交换机内部的交换表是空白的;(b)经过两次学习之后的交换表
在某一时刻,计算机A要向计算机B发送一帧数据,该帧从接口1进入以太网交换机,以太网交换机首先读取帧首部的目的地址字段2222-2222-2222,然后依次完成如下动作:
(1)查找交换表(因为此时交换表是空白的,以太网交换机并不能找到包含目的地址字段2222-2222-2222的交换记录)。
(2)将数据帧首部中包含的源地址1111-1111-1111(计算机A的MAC地址)与接口1的对应关系写入交换表(将对应关系(1111-1111-1111,1)写入交换表,意味着今后只要以太网交换机收到目的地址为1111-1111-1111的数据帧,应从接口1转发出去,是以太网交换机的第一次学习)。
(3)因为没有找到应当转发的接口,所以将数据帧广播到除了1接口之外的所有接口(因为这一帧数据是从1接口发来的,所以1接口所连接的一定不是它的目的主机)。之所以采取广播的方式,是为了保障目的计算机一定能够收到这一帧数据。
(4)B、C、D三台计算机均收到了该数据帧。通过检测,计算机C和计算机D发现帧中的目的地址2222-2222-2222与自己的地址不符,所以将帧丢弃,只有计算机B将这一帧接收。
到此,由计算机A发出的数据帧,通过交换机的转发,顺利到达目的计算机B。因为以太网交换机在转发数据时采用了广播的方式,所以,此时的以太网交换机还不具备“寻址转发”的能力,但是通过本次转发,以太网交换机成功地将计算机A和接口1的对应关系(1111-1111-1111,1)写入了交换表中,完成了自学习的第一步。
下一时刻,计算机B要向计算机A发送一帧数据,该帧从接口2进入以太网交换机,以太网交换机首先读取帧首部的目的地址字段1111-1111-1111,然后依次完成如下动作:
(1)查找交换表,找到记录(1111-1111-1111,1),将这一帧数据从接口1转发出去。
(2)将数据帧首部中包含的源地址2222-2222-2222(计算机B的MAC地址)与接口2的对应关系(2222-2222-2222,2)写入交换表(这是以太网交换机的第二次学习)。
交换机完成了从计算机B到计算机A的数据转发,并且进一步扩充了自己的交换表,如图3-15(b)所示。
就这样,在经过一段时间之后,计算机C和计算机D也会进行数据发送,于是,以太网交换机的交换表逐渐变得充实起来,直到包含了所有计算机的MAC地址与连接接口的对应关系。在后续的数据转发中,以太网交换机变得更加高效了,此时的以太网交换机具备了寻址转发的能力,能够迅速为发往某一台计算机的数据帧找到对应的转发接口。
有时,以太网交换机的某个接口所连接的计算机或者是这台主机的适配器都可能会进行更换,此时,交换表中原有的MAC与接口的对应关系就会失效,如果不能及时进行更新,以太网交换机可能就会把数据帧发往一个错误的接口,或者逐渐失去了寻址转发的能力。为了避免这一问题,需要给交换表中的每条项目都设定一个有效时间,当这个时间周期到来时,该条项目就会被删除,交换机会继续通过自学习的方式重新填充这条记录,从而有效保障交换表中所有的数据都符合当前网络的实际情况。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。