ccna学习笔记之十二:理解arp协议

在传统概念上,没有智能交换机的网络,咱们通常是靠网段来进行隔离,可是,经过这些天的学习,完全颠覆了个人想法,网段并不能彻底隔离,请看下面的实验:
有以下拓扑:
 
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 来查看,以下图:
第一条就是默认路由
 
呵呵,是否是挺有意思?
若是咱们改变下拓扑,在两台pc之间加入交换设备,这个是咱们常常应用的拓扑。一样的,pc之间能够通信。在不考虑上外网的状况下,若是把网络中每一个pc的网关设置为本身自己ip,就能够互相通信。有意思。
再说明下,若是把网关设置为对方ip,同样的能够通信,能够尝试一下。