以太网交换机原理与应用
以太网交换机,作为今天我们广为使用的局域网硬件设备,一直为大家所熟悉。它的普
及程度其实是由于以太网的广泛使用,作为今天以太网的主流设备,几乎所有的局域网中都
会有这种设备的存在。看看以下的拓扑,大家会发现,在使用星型拓扑的情况下,以太网中
必然会有交换机的存在,因为所有的主机都是使用电缆集中连接到交换机上从而能够互相连
接的:
其实在最早的星型拓扑中,标准的线缆集中连接设备是“HUB(集线器)”,但是集线
器存在着:共享带宽、端口间冲突等问题,因为大家都知道,标准的以太网是一个“冲突的
网络”,也就是说在一个所谓“冲突域”里面,最多只有两个节点可以互相通讯。而且,虽
然集线器有很多端口,但是其内部结构完全是以太网所谓的“总线结构”,也就是说其内部
只有一条“线路”来进行通信。如果上图中的设备是集线器的话,举个例子来说,假如端口
1 和 2 之间的节点正在通信,其它端口是需要等待的。直接造成的现象也就是,比如端口 1
和 2 所连接节点之间传送数据需要 10 分钟,端口 3 和 4 所在的节点在此同时也开始通过此
集线器传输数据,互相间冲突,造成大家所需的时间都会变久,时间可能会达到 20 分钟才
能传送完毕。也就是说集线器上互相通讯的端口越多,冲突越严重,传送数据所需的时间越
久。
这种问题在小型以太网中并不会造成很大问题,并且可以很好的工作,但是如果网络上
的通讯量有增加,或者连接的节点数目很多的时候,“冲突”会严重影响网络的性能,比如
我们在第一章中讲解以太网原理的时候就解释过优化“冲突域”的问题,这时候我们需要能
够隔离“冲突”的设备,交换机就可以完成这个功能了。
交换机在连接的时候,各个端口之间都可以同时通讯,也就是说端口间是不冲突的,也
可以用来隔离冲突。那么,什么样的原理造成交换机可以达成这个能力呢?我们来看看下图:
我们可以发现,交换机内部存在着桥接的环境,理论上每个端口之间都有独立的通路,
而不是像集线器一样共享带宽。所以,当 1 口与 2 口间正在通讯的时候,3 口与 4 口也可以
同时进行通讯。这样一来理论上不会发生冲突,也就是说不会造成效率的降低。因为这个原
因,交换机才会在今天非常的普及。
刚才我们说交换机理论上可以让所有端口通讯互不影响,为什么强调理论上呢?因为,
事实上出于造价,很少有交换机可以达到我们上图中的所谓“矩阵式交换”的能力,因为大
家从图上也可以看到,为了让端口间绝对的存在可利用通路,每个端口都要预留到任何一个
端口的线路,这种全矩阵交换机的模型实现起来造价非常昂贵,因为要利用大量的 CPU 和
内存,这种工作方式的交换机动辄要价会达到几十万人民币,普通网络环境根本无法使用。
所以造成今天大部分的交换机其实是利用所谓“宽总线式交换”,牺牲带宽来换取造价,其
原理如下图:
宽总线式交换机是在交换机主板上预留一条“数据总线”,就像一条大家公用的公路,
每个端口都可以利用其其中一部分带宽,假如这个总线带宽为 200 兆的话,也就是说最多同
时是允许 2 组 100 兆端口同时可以通讯,其余端口如果也要通讯还是需要等待的,因为带宽
已经分配完毕了。所以,这种方式的设备比较理想工作状态还有一点差距,但是因为几乎不
会有普通交换机的端口会都在同时通讯,总会有些端口处在闲置的状态,所以满足绝大部分
的网络要求是可以满足的。因此,交换机有一项性能参数,叫做“交换容量”,也叫做“背
板带宽”,指的是“交换机可以同时进出所有端口数据量的总合”,其实也就是数据的吞吐能
力。
当然,处在网络核心的一些交换机对这个参数是有要求的。大家不妨考虑下这种状况:
某台核心交换机用 16 个千兆端口连接 16 栋楼宇内的交换机,这台交换机绝对会要求 16 个
端口同时通信,并可能带宽达到饱和状态,也就是说它需要至少 16G 的交换总容量,才能
满足网络需求,这也是我们以后选择交换机交换容量的一种参考。同时我们还要为未来升级
预留扩展,那么为其准备 1 倍的升级空间,即此设备最好有 32G 的交换总容量。为了让大
家对交换机的这个能力有个印象,我们举一些例子,如一般厂商的系列交换机中,低端部门
工作组级交换机的交换容量一般是 2G 左右,汇聚层设备一般为 20G 左右,核心设备从 30G
到 180G 不等。
交换机同时还支持全双工,有学习、过滤和转发的工作原理来优化工作环境,那么什么
是“学习、过滤和转发”呢?我们来看下图:
那么“过滤”呢?既然交换机会“学习”MAC 地址和端口的对应关系,并凭借它来“转
发”数据,人为的也可以作出一些策略,比如禁止某个地址与端口的转发关系,从而可以“过
滤”数据。
从上面我们看到,交换机的名称由来,其实就是所谓数据“转发”过程。这个转发过程
其实还有一些差异,主要有:直通式交换式、存储转发式、碎片隔离式三种。
所谓直通式交换,也就是交换机在收到帧后,只要查看到此帧的目的 MAC 地址,马上
凭借 MAC 地址表向相应的端口转发;这种方式的好处是速度快,转发所需时间短,但问题
是可能同时把一些错误的、无用的帧也同时转发向目地端。
所以各大厂商出于形象考虑,大部分设备使用的是存储转发机制,也就是交换机的每个
端口被分配到一定的缓冲区(内存空间,一般为 64k 大),数据在进入交换机后读取完目标
MAC 地址,凭借 MAC 地址表掌握到转发关系后,数据会一直在此端口的缓冲区内存储,
直到数据填满缓冲区然后一次把所有数据转发到目的,在数据存储在缓冲区期间,交换机会
对数据作出简单效验,如果此时发现错误的数据,就不会转发到目地端,而是在这里直接丢
弃掉了;当然这种方式可以提供更好的数据转发质量,但是相对的转发所需时间就会比直通
交换要长一点。
碎片隔离式也叫改进型直通式交换,利用到直通式的优势就是转发迟延小,同时会检查
每个数据帧的长度。因为原理上,每个以太网帧不可能小于 64 字节,大于 1518 字节。如果
交换机检查到有小过 64 字节或大于 1518 字节的帧,它都会认为这些帧是“残缺帧”或“超
长帧”,那么也会在转发前丢弃掉。这种方式综合了直通交换和存储转发的优势,很多高速
交换机会采用,但是并没有存储转发方式来的普及。
以下是这三种方式的比较图:
领取专属 10元无门槛券
私享最新 技术干货