集线器与交换机的工作方式对比

PC0向PC2发送ICMP报文
PC3向PC5发送ICMP报文
PC0与PC3分别创建ICMP报文,并分别在各自的ARP缓存中查询PC2与PC5的MAC地址,发现缓存中无PC2与PC5的MAC地址(实际上是用PC2与PC5的IP地址作为索引查找MAC地址)
PC0与PC3分别创建ARP广播报文

PC0与PC3分别将ARP广播报文发送至集线器与交换机
集线器(物理层设备)不对报文做处理向所有端口直接转发
交换机(链路层设备)记录PC3的MAC地址与自身端口的映射

由于两个报文都为广播报文,于是集线器与交换机都直接广播该报文
PC1与PC2收到该广播报文,分别与自身IP地址对比,PC1不匹配,PC2匹配,于是PC1丢弃报文,PC2接收报文
PC4与PC5收到该广播报文,分别与自身IP地址对比,PC4不匹配,PC5匹配,于是PC4丢弃报文,PC5接收报文

PC2解析报文后,将PC0的IP地址与MAC地址的映射存入自身的ARP缓存中,然后向PC0发送ARP响应报文,集线器接收到该报文
PC5解析报文后,将PC3的IP地址与MAC地址的映射存入自身的ARP缓存中,然后向PC3发送ARP响应报文,交换机接收到该报文

集线器拿到报文后向其余所有端口转发该报文
PC0拿到报文后,与自身IP地址对比,匹配接收并解析报文,并将PC2的IP地址与MAC地址的映射放入ARP缓存
PC1拿到报文后与自身IP地址对比,不匹配直接丢弃
交换器拿到报文后取出目的(PC3)MAC地址,先将PC5的MAC地址与端口的映射记录下来,然后查询相关端口映射,由于先前交换机将PC3的MAC地址与某一端口的映射已经记录,所以就将该报文直接向对应端口转发,而不是广播(所以PC4不会接收到该报文)
PC3拿到报文后,与自身IP地址对比,匹配接收并解析报文,并将PC5的IP地址与MAC地址的映射放入ARP缓存
现在PC0与PC3都有了目的地址的MAC地址,所以构建并发送ICMP报文

集线器接收到报文后向其余所有端口进行转发
交换机在先前的操作中已经记录了该报文目的(PC5)MAC地址与端口的映射,于是直接相对应端口进行转发

PC1拿到报文后与自身IP地址对比,不匹配直接丢弃
PC2拿到报文后与自身IP地址对比,匹配接收并解析,然后构建ICMP响应报文并发送给PC0
PC5拿到报文后与自身IP地址对比,匹配接收并解析,然后构建ICMP响应报文并发送给PC3

集线器接收到报文后向其余所有端口进行转发
交换机在先前的操作中已经记录了该报文目的(PC3)MAC地址与端口的映射,于是直接相对应端口进行转发

PC1拿到报文后与自身IP地址对比,不匹配直接丢弃
PC0拿到报文后与自身IP地址对比,匹配接收并解析
PC3拿到报文后与自身IP地址对比,匹配接收并解析

交换机每隔2秒向与其直接相连的设备发送STP报文,用于构建生成树


