MAC地址表
- 在交换机内部有一个MAC地址表,这个地址表标明了MAC地址和交换机端口的对应关系。当交换机从某个端口收到一个数据包,它首先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的,它再去读取包头中的目的MAC地址,并在地址表中查找相应的端口。
- 如果表中有与这目的MAC地址对应的端口,则把数据包直接复制到这端口上,如果在表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应。
交换机转发过程
- 当交换机接受的数据包中,在数据包中的MAC地址在MAC地址表中无法找到匹配项时,交换机将会对所有端口发送ARP广播报文,来寻找对应的主机端口,一般主机在收到ARP广播报文时,会将寻找主机和自己主机的地址进行对应,不匹配则丢弃数据包,匹配的话则向数据包中源地址发送一个回应数据包。
- 交换机收到回复包时会将其MAC地址和对应端口写入地址表。二层交换机就是这样建立和维护它自己的地址表。
- 交换机也可以把网络“分段”,通过对照MAC地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的隔离广播风暴,减少误包和错包的出现,避免共享冲突。采用VLAN的方式实现分段。
交换机的工作模式:
1、泛洪
泛洪前提:
- 当交换机收到一个广播帧或未知的单播帧会泛洪;
- 接口所处同一vlan;
- 接口是up状态;
- 除去自身接收接口
2、转发
3、丢弃
实验过程
在PC1上对PC2进行ping命令通信
在ping之前,PC1使用ARP报文向交换机询问PC2的MAC地址,交换机对比MAC地址表发现不知道PC2的MAC地址,便向所有端口发送广播报文,询问IP地址为192.168.1.2的主机是谁。
两台PC同时收到ARP广播报文,两台PC同时进行对比,只有PC2发现其IP地址与广播报文中所找地址吻合,便发送一个reply报文返回给PC1,PC3对比发发现不匹配之后丢弃该广播报文。
查询Mac地址display mac-address,发现有PC1和PC2的地址表