一、交换机的介绍
1.1 什么是交换机
交换机(Switch)是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。
最常见的交换机是以太网交换机,其他常见的还有电话语音交换机、光纤交换机等。
交换机工作于OSI参考模型的第二层,即数据链路层。
交换机拥有一条高带宽的背部总线和内部交换矩阵,所有的端口都在这条背部总线上,在同一时刻可进行多个端口对之间的数据传输。
二、交换机的分类与功能
2.1 交换机的分类
- 按网络构成方式划分
交换机可分为三类:接入层交换机、汇聚层交换机和核心层交换机。
通常将网络中直接面向用户连接或访问网络的部分称为接入层,将位于接入层和核心层之间的部分称为分布层或汇聚层。接入交换机一般用于直接连接电脑,汇聚交换机一般用于楼宇间。汇聚相当于一个局部或重要的中转站,核心相当于一个出口或总汇总。原来定义的汇聚层的目的是为了减少核心的负担,将本地数据交换机流量在本地的汇聚交换机上交换,减少核心层的工作负担,使核心层只处理到本地区域外的数据交换。
简单来说,接入、汇聚、核心交换机的工作为:
接入层交换机:主要负责同一个局域网内同一个子网中的主机之间互相传输数据。
汇聚层交换机:主要负责同一个局域网内不同子网中的主机之间互相传输数据。
核心层交换机:主要负责外网和内网(局域网)中的主机之间互相传输数据。
-------------------------------------
核心层交换机包含了汇聚层交换机的功能,
汇聚层交换机又包含了接入层交换机的功能,
在实际网络中,由于核心交换机和接入交换机的端口足够主机设备使用,汇聚层交换机很少被使用。
- 按照OSI模型划分,
交换机可分为三类:二层交换机、三层交换机和四层交换机。
二层交换机:工作于OSI模型第2层的交换机,主要作用:可识别数据帧中的MAC地址信息,依据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
三层交换机:具有部分路由器功能的交换机,工作于OSI模型第3层,主要作用:加快大型局域网内部的数据交换,如不同子网之间的数据交换。
2.2 交换机的功能
- 转发数据帧:基于目标MAC地址表的查找,将通过端口接收到的数据帧,从查找表中目标设备所对应的端口,转发给目标设备。
MAC地址表:MAC地址表是交换机等网络设备记录MAC地址和端口的映射关系。
- 广播和组播:除了将数据帧转发到目标设备,交换机还能够将数据帧广播到所有其他端口上,使得局域网内的所有设备都能接收到广播信息。
交换机的通信方式为单播或者广播,交换机根据MAC转发数据的单位是帧
单播:一个点给另外一个点发送数据。
组播:一个点给一部分点发送数据。
广播:一个点给所有点发送数据。
- 学习MAC地址:通过监听数据帧的源MAC地址,自动学习到每个设备的MAC地址,并将源MAC地址和对应端口存储在MAC地址表中。
- 网络分割与隔离:通过在交换机上划分虚拟局域网(VLAN),可以将不同的设备划分到不同的逻辑网络中,实现网络的分割与隔离。
- 网络监测与流量控制:交换机能够监测网络中的数据流量,并根据需要进行流量控制,以避免网络拥堵和性能下降。一些高级交换机还支持Quality of Service(QoS)功能,可以根据不同类型的数据流量对其进行优先级排序和处理。
- 冗余与容错:为了提高网络的可靠性,一些交换机支持冗余组网结构,通过多个交换机之间建立冗余链路,实现数据的容错和备份。当某个链路或设备出现故障时,可以自动切换到备份链路或设备上,确保网络的连通性。
- 安全性与访问控制:交换机可以支持访问控制列表(ACL)和端口安全等功能,用于限制特定设备的访问权限,保护网络的安全。此外,一些高级交换机还支持AAA(Authentication, Authorization, Accounting)功能,用于实现用户身份验证、授权和计费等。
三、交换机的工作原理
交换机进行数据交互工作的流程一般经过帧识别过滤阶段、MAC地址学习阶段、数据处理阶段。
3.1 交换机的帧识别过滤阶段
当交换机收到一个其他设备发送过来的数据帧时,会先用硬件检查数据帧的首部中的目的MAC地址(其实就是查询MAC地址表是否有这个目的MAC地址)。如果是发往本站的数据帧则收下,然后再进行其他的处理。否则就将此数据帧丢弃,不再进行其他的处理。
3.2 交换机的MAC地址学习阶段
- 当交换机通电开启后,交换机通过自学习算法自动构建一张MAC地址表,主要目的是为了MAC地址和端口一一对应起来。初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表的表项为空。
- 交换机收到识别出是发往本站的数据帧后(识别的同时,会获取数据帧首部的目的MAC地址和源MAC地址),会先查找MAC地址表,查看应从哪个接口转发这个数据帧(在MAC地址这一列中,查看是否有与数据帧中的目的MAC地址相匹配的项目),接着将数据帧中的源MAC地址和对应端口写入MAC地址表。
不管有没有查找到相匹配的项目,只要收到识别出是发往本站的数据帧,都会将数据帧中的源MAC地址和对应端口写入MAC地址表。
收到一个数据帧,就增加新的一个对应的项目。表明今后如有发送到这个对应项目的设备,就应当从对应端口转发出去。
3.3 交换机的数据处理阶段
-
对于二层交换机来说,MAC地址学习阶段完成后,会跳过数据处理阶段,直接进入数据转发阶段。
-
对于具有部分路由器功能的三层交换机来说,会在查找到与目的MAC