二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:
: z% S: a q) x' v
/ W% g- M3 f9 V6 q4 l r' [, A8 \+ a(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;4 g! Y; M/ @+ q+ H- ~, d
0 P3 D$ N" h, E! F( B( E6 O
(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;
3 j6 k0 x' s/ b- f3 M5 j
" R9 A6 }& U1 W; Z- `1 `(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;$ `- Z! h: P3 Z. {
3 W- `# A! l: a- ~
(4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。/ S7 ]) f+ `) n+ k0 E
; j6 y6 m, R( F* X
不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。2 W4 f8 D! D( M0 n9 _2 K
2 Z4 U6 a4 I2 |, _ 从二层交换机的工作原理可以推知以下三点:4 F1 J9 Y! ?# u6 Q" W) T' Q7 |
* }! q' g! v% K' ^8 P
(1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;
+ N5 R. d; U9 P
8 M0 b- A/ h" _# E3 X" v" n0 M7 P(2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;/ o5 P- M) O P9 N$ B4 w( O
! J8 S) b; h3 ?+ b* x2 m
(3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。8 G4 u2 H: S5 x
7 d- C- [6 v! B0 ?. w; [
以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较。: \1 P, l2 v- A- Z# U; c& {
|
|