欢迎来到天天文库
浏览记录
ID:38106482
大小:437.64 KB
页数:6页
时间:2019-05-25
《代理ARP技术总结~~》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、打造海南最专业的职业技术培训机构ARP/代理ARP的总结得益于破烂熊的纠结,他很富有同情心的让我陪他一起纠结了,呵呵。我们讨论了两天,期间我查了google,查了wikipedia,查了百度,查了思科官方document,还把RFC1027及ARP相关都啃了。并且每想到一种情况也都用真实设备验证过。最后把一些心得和研究得来的结论总结一下,也请大家一起来讨论讨论。1.ARP首先讲到ARP,ARP是地址解析协议,它的作用是在以太网环境下,通过3层的IP地址来找寻2层的MAC地址,得到一张ARP缓存表。转发数据的时
2、候根据ARP缓存表来进行传输。下图详细说明数据传输时ARP是如何一步步操作的。在配置IP地址后,不做任何ping操作,ARP缓存表是这样的:当PC去pingR1的时候,你会发现第一个丢包了。像这样R1#ping192.168.1.2Typeescapesequencetoabort.Sending5,100-byteICMPEchosto192.168.1.2,timeoutis2seconds:.!!!!打造海南最专业的职业技术培训机构Successrateis100percent(5/5),round-t
3、ripmin/avg/max=8/25/56ms第一个包其实是做ARP请求去了。PC发现ping的是本网段,会发出ARP广播,向R1请求192.168.1.2的MAC地址。得到回应后ARP表会添加ARP请求得来的相应内容。PC:这个时候PC再去ping10.1.1.3会发现ping的不是本网段,由于PC没有路由功能所以不知道该往哪里发送,会按照之前已经配好的默认网关发送出去,一般默认网关会配置成路由器的接口IP,在这里是192.168.1.2。查看ARP缓存表发现了192.168.1.2对应的MAC地址,就把
4、包交给路由器处理了。R1:路由器收到去往10.1.1.0网段的数据包会查询路由表,首先查看路由表发现数据该发往FastEthernet0/1#showiprouteC10.1.1.0isdirectlyconnected,FastEthernet0/1然后查看ARP表是否有下一跳10.1.1.3的MAC地址信息,如果有则按MAC把数据发到下一跳;如果没有则发出ARP查询,查询后获得下一跳地址10.1.1.3的MAC地址,存到ARP缓存表中,然后转发。数据包发送到R2(已做好静态路由)。同理数据包返回,成功pi
5、ng通。打造海南最专业的职业技术培训机构2.代理ARP“什么是代理ARP?代理ARP就是通过使用一个主机(通常为router),来作为指定的设备对另一设备的ARP请求作出应答。”这个可以说是一个官方解释了。大家可以用同一个拓扑来验证一下,在这里我们最常使用Router关闭路由功能来模拟成PC完成这个实验(左方PC为路由器模拟,在做此实验前请把前一实验的ARP信息清除,建议重启):PC上不配置默认网关,此时用PC去ping192.168.1.2和10.1.1.3。会得到以下ARP表由此可见,PC发出ARP请求1
6、0.1.1.3的MAC地址,R2以自己的FastEthernet0/0口地址代理R3去回应PC,告诉PC自己的FastEthernet0/0就是10.1.1.3的MAC地址。结论:有默认网关的的时候PC按默认网关走,没有默认网关的时候路由器通过代理ARP完成通信。到目前为止一切都看起来那么的合理,那么的顺利。这个实验是一些培训班常做的实验之一。其实,错了!问题出在哪里?问题就出在我们是用一台路由器去模拟PC。不管是否关闭路由功能,它始终不是PC,它处理数据的方式与PC也不一样。请大家思考一下,如果是一台PC,
7、在没有默认网关的情况下去ping一个非本网段地址,会出现什么情况?打造海南最专业的职业技术培训机构在没有默认网关的情况下ping一个非本网段地址,显示目标网络不可达,然后直接丢包,根本不会发出ARP查询。PC在什么时候会发出ARP查询呢?ping一个本网段地址的时候(大家可以抓包来验证一下)。其实就是思科文档的这种情况了:看清楚了,PC-A的IP地址是/16位,PC-D的IP地址是/24位,所以当PC-A去pingPC-D的时候,PC-A认为是ping同一个网段,会发出ARP请求,这个时候ARP请求就到了路由
8、器上了。路由器如果开启了代理ARP功能,会代替PC-D给PC-A回应,告诉PC-A路由器的e0口MAC地址00-00-0c-94-36-ab就是PC-D的MAC地址,完成代理ARP操作,保护了PC-D的MAC地址隐私。我认同这种说法,是合情合理的。但是不禁有个问题,谁会用这么脑残的方法配置IP地址呢?好吧,就当是有。以下转自鸟哥的Linux私房菜:“如果你一開始設計的網路環境就是同一個Cclass的
此文档下载收益归作者所有