交换机意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。常见的交换机是以太网交换机。其他常见的还有电话语音交换机、光纤交换机等。“交换机”是一个舶来词,源自英文“Switch”,原意是“开关”,中国技术界在引入这个词汇时,翻译为“交换”。在英文中,动词“交换”和名词“交换机”是同一个词(注意这里的“交换”特指电信技术中的信号交换,与物品交换不是同一个概念)。
二层交换机技术的发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。 具体的工作流程如下: 1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的; 2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口; 3) 如表中有与这目的MAC地址对应的端口,把数据包直接粘贴到这端口上; 4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以记录这一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。使用交换机也可以把网络“分段”,通过对照IP地址表,交换机只允许必要的网络流量通过交换机。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。