路由与交换(第二版)
上QQ阅读APP看书,第一时间看更新

1.5.1 构造和维护交换地址表

在交换机中,有一个交换地址表(思科交换机中称为CAM表),记录着主机MAC地址和该主机所连接的交换机端口号之间的对应关系。由交换机采用动态自学习源MAC地址的方法构造和维护此表。

(1)交换机在重新启动或手工清除MAC地址表后,MAC地址表没有任何MAC地址的记录,如图1-7所示。

图1-7 MAC地址空表

(2)假设主机A向主机C发送数据帧,因为现在MAC地址表为空,将此源MAC地址0260.8c01.1111和源端口E0记录到MAC地址表中,同时向其他所有的端口发送此数据帧(称为泛洪),如果某一主机在接收到此数据帧后,将提取目标MAC地址,并与自己网卡的MAC地址进行比较,如果相等,则接收此数据帧;否则丢弃此数据帧,如图1-8所示。

图1-8 向接收到的数据帧自学习源MAC地址

(3)如果主机C向主机A发送一个回帧(如使用ping命令时),则C的端口E2和MAC地址0260.8c01.2222放在MAC地址表中。当主机A、B、C、D都已经向其他主机发送过数据帧后,则MAC地址表将会有4条记录,如图1-9所示。

图1-9 MAC地址表学习完毕

(4)下一次,当主机A再向主机C发送数据帧,交换机会提取数据帧的目的MAC地址,通过查找MAC地址表,发现有一条记录的MAC地址与目的MAC地址相等,而且知道此目的MAC所对应的端口为E2,交换机就打开E0与E2端口之间的通道,将数据帧从E0直接转发到E2端口,如图1-10所示。

图1-10 查找已有的MAC地址表项

在交换地址表项中有一个时间标记,用以指示该表项存储的时间周期。当地址表项被使用或被查找时,表项的时间标记就会被更新。如果在一定的时间范围内地址表项仍然没有被更新,此地址表项就会被移走。因此,交换地址表中所维护的是最有效和最精确的MAC地址与端口之间的对应关系。

在主机A上分别发ping命令到C、B、D,再在交换机上用show mac-address-table命令查看MAC地址表。