二层交换机转发数据原理解析
一、什么是二层交换机
二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属于数据链路层设备,可以识别数据帧中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
二、交换机的特性
1、学习
以太网交换机了解每一端口相连设备的MAC地址,并将地址同相应的端口映射起来存放在交换机缓存中的MAC地址表中。
2、转发/过滤
当一个数据包的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口(如该数据帧为广播/组播帧则转发至所有端口) 。
三、二层交换机转发数据过程
如下图所示
1、环境介绍:
(1)交换机为初始状态,若主机A B C知道对方MAC地址
(2)主机A想与主机B通信
2、过程介绍
主机A发送一个数据帧到交换机的1号端口,此时:
源MAC为主机A的MAC
目标MAC为主机B的MAC
交换机接受到数据帧首先会记录主机A的MAC地址(记在MAC地址表中)和收到该帧的端口号,因为交换机MAC地址表中没有目标MAC地址,所以交换机会在2号端口和3号端口进行一个广播,当主机B收到这个和自己对应的广播时会做出回应发个数据帧给交换机,此时:
源MAC为主机B的MAC
目标MAC为主机A的MAC
交换机会记录主机B的MAC地址和接受该地址的端口号,然后查询MAC地址表直接与主机A进行单播通讯
若主机A B C不知道对方MAC地址
主机A会发送一个arp请求给交换机,交换机记录主机A的MAC地址(记在MAC地址表中)和端口号,然后对2号端口和3号端口进行arp广播,主机B收到广播后会做出回应发送一个数据帧给交换机,交换机会记录主机B的MAC地址和接受该地址的端口号,然后查询MAC地址表直接与主机A进行单播通讯。