在传统概念上,没有智能交换机的网络,我们一般是靠网段来进行隔离,但是,通过这些天的学习,彻底颠覆了我的想法,网段并不能完全隔离,请看下面的实验:
有如下拓扑:

pc1ip地址为:192.168.1.1/24 pc2地址为:192.168.2.1/24
如何让这两台机器进行通讯?
让我们来分析一下:
假设我们要pc1 ping pc2 ,因为pc1不知道pc2的mac地址,那么首先要进行arp查询,但是pc1经过检查,发现目的ip地址不是和自己的本机ip在同一个网段,所以要把数据报转发至网关,通过网关把数据包发出去,但pc1没有设置网关,数据包无法发出去,只能够被丢弃。所以我们第一步要解决的是给数据包指出出路。在pc1上设置网关,地址为本机ip,意思是通过本机接口转发数据包。数据包有了出路以后,因为线路只有一条,pc2就会收到这个数据包。arp查询时广播包,那么pc2必须进行处理,把数据包进行解封装,发现时在查询自己的arp地址,就要回应,但是基于同样的原因,arp回应的包也无法出接口,所以我们要做同样的设置,在pc2上设置网关,地址为本机ip。这样两台机器就可以互相通讯了。
其实,在我们的计算机里,维持了一个路由表,可以通过在命令窗口里输入:route print 来查看,如下图:
其实,在我们的计算机里,维持了一个路由表,可以通过在命令窗口里输入:route print 来查看,如下图:

第一条就是默认路由
呵呵,是不是挺有意思?
如果我们改变下拓扑,在两台pc之间加入交换设备,这个是我们经常应用的拓扑。同样的,pc之间可以通讯。在不考虑上外网的情况下,如果把网络中每个pc的网关设置为自己本身ip,就可以互相通讯。有意思。
再说明下,如果把网关设置为对方ip,一样的可以通讯,可以尝试一下。
转载于:https://blog.51cto.com/chinaskychen/152811