假设 PC 和路由器都有同段中所有设备的 ARP 缓存表,交换机的 MAC 地址表也有各个设备的 MAC 地址信息。那么 PC1 向 PC5
发送数据时,整个过程如下:
PC1 查询路由表,发现 PC5 的 IP 地址在另一个段,需要通过默认关进行数据转发。PC1 以 PC5 的 IP 地址为目的 IP 地址,以默认关的 MAC 地址为目的 MAC 地址,封装数据帧后发送给交换机。交换机收到数据帧后,查询 MAC 地址表,找到目的 MAC 地址对应的端口,于是将数据帧从这个端口转发出去,即转发给路由器。路由器收到数据帧后,查看数据帧的目的 MAC 地址是自己,于是解封装查看目的 IP 地址。根据目的 IP
地址的络号查询路由表,发现目的段的直连路由,以及对应的出接口。路由器以 PC5 的 IP 地址作为目的 IP 地址,以 PC5 的 MAC 地址作为目的 MAC 地址封装报文,并从出接口转发出去,即转发给交换机。交换机查看数据帧的目的 MAC 地址,并根据目的 MAC 地址,将数据帧转发给 PC5 。
相同 VLAN 的主机如何互相通信?PC1 向 PC2 发送数据时,由于目的 IP 地址与自己处于同一个段,PC1 会使用 PC2 的 MAC 地址作为目的 MAC
地址封装数据帧;交换机也会直接通过 PC2 的端口,将数据帧转发给 PC2 。