大家都知道,如果一交换机连接的主机在同一网段,则各主机可以互相通信,可为什么连接不同网段的主机就ping不通了呢?
我想很多人都有这样的想法,交换机不是基于帧的源MAC地址进行学习,目标MAC地址进行转发吗,也就是说
当第一次通信时(即交换机中还没有MAC地址表),交换机会广播ARP请求来获得目标地址的MAC地址,当目标主机一看,这是在找自己,会将自己MAC地址发给源主机,这样的话不就可以通信了吗?可为什么ping不同呢?
其实,如果
通信中的目标主机如果和本机在同一个网段,则本机向交换机发出的ARP广播包中请求的是目标主机的MAC地址。
如果通信的目标主机和本机不在同一个网段,则本机向交换机发出的ARP广播包中请求的是网关的MAC地址。显然,二层交换机只没有网关的,这时
网卡会直接告知系统:“Destinationhost unreachable.”,将通信放弃。
以上只是个人观点,难免有错。如果有错,请广大博友指正。