啊哈cch 发表于 2011-8-11 13:41:39

ARP小结

本帖最后由 啊哈cch 于 2011-8-11 13:46 编辑

       之前论坛上看到关于ARP方面的一些问题,发现还是有些困惑,自己也一直在找资料看,收获甚微,所以还是自己动手,丰衣足食吧。


实验环境是GNS3,路由器均是7200。      
R2、R3、R4均配置no iprouting。R1与sw1的接口是f0/0。         
R2上,f0/0口ip10.1.1.1/24                  
R3上,f0/0口ip10.0.0.1/24            
R4上,g0/0口ip10.0.0.2/24            
R1上,f0/1口ip10.1.1.254/24 ,f0/0口ip 10.0.0.254/24            
即,R2、R3、R4充当主机,R1是路由器,R3和R4属于同一网段,R2单独一个网段。      
每次实验前均clear arp-cache,R1上开启debug arp。         



实验一:
配置:R2、R3、R4没有配置ip default-gateway,在R1的f0/0和f0/1接口开启ip proxy-arp。
结果:R3pingR4时,R3发出arp请求,请求R4的mac,R4响应请求,响应的是R4的mac。
         R3pingR2时,R3发出arp请求,请求R2的mac,R1响应请求,响应的是R1的mac。
实验二:
配置:R2、R3、R4没有配置ip default-gateway,在R1的f0/0和f0/1接口关闭ip proxy-arp。
结果:R3pingR4时,R3发出arp请求,请求R4的mac,R4响应请求,响应的是R4的mac。
         R3pingR2时,R3发出arp请求,请求R2的mac,没有响应。
实验三:
配置:R2、R3、R4配置R1作为ip default-gateway,在R1的f0/0和f0/1接口ip proxy-arp关闭和开启效果相同。
结果:R3pingR4时,R3发出arp请求,请求R4的mac,R4响应请求,响应的是R4的mac。
         R3pingR2时,R3发出arp请求,请求网关R1的mac,R1响应请求,响应的是R1的mac。
实验四:
配置:R3、R4均配置自己的ip作为网关,在R1的f0/0和f0/1接口ip proxy-arp关闭和开启效果相同。
结果:R3pingR4时,R3发出arp请求,请求R4的mac,R4响应请求,响应的是R4的mac。
         R3pingR2时,R3没有发出arp请求。(个人认为,此时R3作为网关且知道自己的mac,可以封装,无需arp请求。)
实验五:
配置:R3、R4均配置不存在的ip作为网关,在R1的f0/0和f0/1接口ip proxy-arp关闭和开启效果相同。
结果:R3pingR4时,R3发出arp请求,请求R4的mac,R4响应请求,响应的是R4的mac。
         R3pingR2时,R3发出arp请求,请求网关的mac,由于不存在,因而没有响应。
   
(以上实验均是请求路由器接口的mac)
   
总结:
1、对于同一网段,发送方均是直接广播arp请求,请求接收方的mac,RFC925中也提到网关不会响应同一网段的arp请求。
2、对于不同网段,
(1)      (1) 若有配置默认网关,则会广播arp请求,请求网关的mac,而不是接收方的mac,有效的网关会响应自己的mac,否则没有响应,这种情况下代理arp没有作用。   (2)      (2) 若没有配置默认网关,则会广播arp请求,请求接收方的mac,然后取决于网关是否开启代理arp,若开启代理arp,则网关会响应自己的mac,若代理arp关闭,则没有任何响应。            
换言之,对于同一网段无须考虑,arp请求都是请求接收方mac。而对于不同网段,就看有没有配置默认网关,有默认网关就arp请求网关mac,然后就看网关的响应了;没有默认网关,就直接arp请求接收方mac,然后就看代理arp是否启用了。


我只是希望把这个问题搞懂,同时分享一下心得,所以大家觉得哪里有问题,欢迎指出。

小乔 发表于 2011-8-11 14:09:16

楼主总结的不错{:6_299:}

啊哈cch 发表于 2011-8-11 14:20:13

小乔 发表于 2011-8-11 14:09 static/image/common/back.gif
楼主总结的不错

总算解决点疑惑。。。自己也在动手中学到很多。。。分享一下

飞来游去看世界 发表于 2011-8-11 15:36:47

换言之,对于同一网段无须考虑,arp请求都是请求接收方mac。而对于不同网段,就看有没有配置默认网关,有默认网关就arp请求网关mac,然后就看网关的响应了;没有默认网关,就直接arp请求接收方mac,然后就看代理arp是否启用了。

狂奔Snail 发表于 2011-8-18 08:33:22

{:6_291:}

蛊瀧龍 发表于 2011-9-3 11:46:27

楼主总结的还可以!

30169787 发表于 2012-11-21 16:59:04

{:6_267:}{:6_267:}{:6_267:}

fengqingwen 发表于 2012-11-22 15:23:36

阿里亚斯 发表于 2012-11-21 17:20 static/image/common/back.gif
好文就要顶起,让更多的人看到

顶楼主

nydyxfo 发表于 2012-12-11 20:02:19

{:6_267:}

庄歪 发表于 2013-5-23 09:00:34

谢谢分享

zhouzongxi 发表于 2013-5-24 22:13:20

{:6_267:}

opoplele 发表于 2013-5-25 07:46:56

{:6_265:}

xiabincool 发表于 2013-8-30 00:13:45

看完受益,自己在PT里面做的实验,就根本看不到ARP的包...找到了好文,感谢楼主

maojunjie2012 发表于 2013-9-15 16:04:15

我也困惑了好久谢谢楼主   赞一个 {:6_285:}

wangping7218 发表于 2016-1-29 15:30:40

不管你信不信,反正我是信了。
页: [1] 2
查看完整版本: ARP小结