交换机属于数据链路层。负责同一网络号电脑的通信。
路由器属于网络层。负责不同网络号电脑的通信。
路由器与交换机的职权范围不同
以只有一个大门的一幢多层楼房作比喻:
假设这楼房有100个房间,每个房间有一个房门开到走廊,每层走廊有楼梯可自由上下。
那房间就好比是计算机。
那房门就看好比网卡。
那大门就好比是路由器。
交换机就是这幢楼里所有的通道,走廊,扶梯等。
交换机是有多个端口的。端囗连通着电脑,作用是接收和发送数据帧。
同一网段内的主机,端囗,交换机分布。
一个局域网(同一网络号)有多个交换机,一个交换机有多个端口,一个端口连接一台主机。
MAC地址表
交换机用于记录主机MAC和端口对应关系的表。
MAC表的形成
只要交换机的某个端口接收到从前未见过的MAC源地址(对于广播或泛洪的单播响应)时,就会记录下来,更新一组MAC和端口的对应关系。
泛洪
交换机的某个端口收到一个数据帧。查找MAC表后发现没有MAC目标地址记录,此时交换机会向除接收端口外的所有端口发送该帧。这种情况很少见,因为ARP缓存表的建立是通过广播形式,在此过程中交换机端口会在主机之前获知目标MAC。但由于ARP缓存表和MAC地址表存在缓存时间差(30分钟和300s),所以这种情况也有发生的可能性。
泛洪与广播的区别与联系
泛洪过程中,数据帧包含目标MAC(来自ARP缓存表),只是交换机端口不认识。
广播过程中,数据帧不包含目标MAC(通过target IP获得)。
但对广播或泛洪的单播响应会分别更新ARP缓存表和MAC地址表。