设为首页收藏本站language 语言切换
查看: 1970|回复: 0
收起左侧

从各方面分析 谈谈应对ARP的那点事

[复制链接]
 成长值: 63400
发表于 2010-8-31 16:57:59 | 显示全部楼层 |阅读模式
(一)ARP工作原理、ARP攻击分析叙述:
    随着网络设备在接入市场的应用也越来越多;同时遇到的问题也越来越多样,其中最让人头疼的就是ARP的问题。
    众所周知,ARP的基本功能就是在以太网环境中,通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。但由于ARP的广播、动态学习等特性注定了它不是一种安全的协议,所以在实际应用中,会由于各种各样的原因使ARP学习失败,从而影响网络的互通性,并进而影响用户的业务稳定运行。
    由于ARP处于数据链路层,处于整个OSI开放式七层模型的倒数第二层,所以除了HUB等极少数的、几乎所有跟以太网接口有关的设备,都涉及到ARP处理的问题。如果ARP问题处理不好,带来的影响也是非常巨大的。
    在整个internet网络体系中,网络设备主要分为两类:一类就是安装有各种操作系统平台的PC、服务器等host;而另外一类就是负责网络互联的路由器、交换机、防火墙等数据通讯设备。这些设备由于自身所处的网络位置的不同、安全稳定程度的不同、服务的不同,在ARP机制的处理上也不尽相同,当然本文不是要全面阐述ARP的原理和实现,只是希望能够说明并解决或规避在我们的应用环境中出现的问题――我们考虑的范围是Win2K/XP主机和路由器、交换机。
    1 ARP基础知识
    一般的,正常的ARP过程只需ARP Request和ARP Response两个过程,简单的说就是一问一答,如下:
   
1.jpg
    这记录了局域网内一台IP为192.168.19.180的PC与网关设备(IP为192.168.1.6)之间的ARP交互,该PC发送请求之后,在0.000434秒之后,网关设备做出了回应,此时路由器就学习到了对方的ARP信息:如下:
   
2.jpg
    我们关注的是ARP的过程,而不是结果;来看一下ARP Request
   
3.jpg
    从[Ethernet Header]可以看出,ARP请求的目标地市是全F,也就是广播地址;因为在请求之前,本PC不知道对方的MAC地址,为了确保ARP Request能够让对方收到,以广播形式方式是很自然的选择。在[ARP]中可以看到,发送的源IP和源MAC都是本PC的网卡设置值,这是已知参数;目的IP地址是我要请求的地址,而目的MAC地址是全0,用于表示本PC不知道该参数,暂时忽略/ignore。
    网关设备在收到ARP Request之后,会首先读取Sender的IP和MAC地址,并在存入自己的缓冲中,以备后用。因为ARP请求毕竟是广播性质的,如果每次通讯都要完成一个ARP的流程,对于以太网的压力是非常巨大的,为了尽可能减少这种广播的负面影响,这里引入了缓冲机制,这就是ARP Table。
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-4 13:57 , Processed in 0.053135 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表