“交换机”是一个舶来词,源自英文“Switch”,原意是“开关”,中国技术界在引入这个词汇时,翻译为“交换”。在英文中,动词“交换”和名词“交换机”是同一个词(注意这里的“交换”特指电信技术中的信号交换,与物品交换不是同一个概念)。
交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。
交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在,广播到所有的端口,接收端口回应后交换机会“学习”新的MAC地址,并把它添加入内部MAC地址表中。使用交换机也可以把网络“分段”,通过对照IP地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的减少冲突域,但它不能划分网络层广播,即广播域。
交换机的任意节点收到数据传输指令后,即对于存储在内存里的地址表进行快速查找,从而对于MAC地址的网卡连接位置进行确认,然后再将数据传输到该节点上。如果在地址表中找到相应的位置,则进行传输;如果没有,交换机就会将该地址进行记录,以利于下次寻找和使用。交换机一般只需要将帧发送到相应的点,而无需如集线器发送到所有节点,从而节省了资源和时间,提高了数据传输的速率。