雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8293|回复: 13

[讨论/求助] 【CCNA知识点】ARP缓存表引起的故障及解决方法

[复制链接]
发表于 2007-11-7 09:45:36 | 显示全部楼层 |阅读模式
ARP缓存表引起的故障  在局域网的管理维护中,网管可能经常碰到用户之间不能互访,或者不能上因特网的问题,一般是IP地址设置错误、相关软件设置错误、网线网卡或其他网络产品坏了。但有时在排除以上可能后,问题仍然存在。这个时候我们可以研究一下用户计算机上的ARP缓存表是否有问题。
局域网工作原理
  众所周知,因特网上计算机相互访问都是通过IP地址(网络地址),但到了局域网,各计算机之间是通过MAC地址(物理地址)来访问的。每台计算机要维持正常的访问,都必须不断地更新自己的ARP缓存表。
  如图1所示,PC 1要与PC 2进行数据通信,那么在PC 1的ARP缓存表里就有IP地址和MAC地址。这个缓存表是如何工作的呢?一般是在第一次通信时,通过一个ARP广播请求包来获得,然后就存在缓存表里,在一段时间内如果表中的某一行没有使用,就会被删除,这样大大减小了ARP缓存表的长度,加快查询速度。可能有人要问,以上4台PC都要通过Router上网,那么它们的ARP缓存表里都有Router的MAC地址了。确实如此,用户可以在自己的环境里用“ARP -a”命令一查便知,在各自的ARP缓存表都有“IP地址:192.168. 0.1,MAC地址:00-aa-00c6-04”。



ARP缓存表的错误
  局域网中计算机之间的通信,都是通过正确的ARP表来进行数据通信,而且都是系统自动建立维持的。
  1.自己的缓存表有错误
  比如在图1中,PC 1中的ARP缓存表有这样一个记录。
  IP地址:192.168. 0.9
  MAC地址:00-aa-00c6-09
  很显然,这时PC 1是无法访问PC 2上的数据,但是它可以和PC 3通信,也可以通过Router上因特网。那么这样一个记录是如何来的呢?这时我们应该想到局域网内有恶意程序或者有人在人为操纵。因为一般来讲ARP表是系统自动维护的,但也可以人为制作一个ARP数据包更新缓存表。比如上例中:如果PC 3向PC 1发送一个ARP数据包,告诉它PC 2的MAC地址是00-aa-00c6-09 ,那么在PC 1里就有一个错误的记录。如果PC 3不停地发送,那么PC 1就一直保持这样一个错误记录,也就一直不能访问PC 2上的数据。如果忽略这个错误就会出现,PC 1能访问除PC 2以外的其他任何一台计算机,能上网,而就是无法访问PC 2,但相应的设置又正确无误,想不出来问题到底出在哪里。
  2.对方的缓存表有错误
  如果PC 1中的ARP缓存表是正确的记录。
  IP地址:192.168. 0.9
  MAC地址:00-aa-00c6-08
  而PC 3向PC 2不停地发送一个ARP数据包,告诉它错误的PC 1的MAC地址,在PC 2的ARP缓存表就一直保持这样一个记录。
  IP地址:192.168. 0.2
  MAC地址:00-aa-00c6-09
  PC 2就无法访问PC 1。
应对措施
  目前,对于这种通过ARP数据包欺骗、破坏缓存表没有很好的应对措施。通过实践我认为有以下几种方法可以应对一下。
  1.手动更新ARP缓存表
  比如上例中,在PC 1中执行“Arp -a 192.168. 0.9 00-aa-00c6-08”的命令。
  但如果有程序在不停地发送错误的ARP数据包,这种方法就无法应付了。
  2.查出元凶
  在PC 1上,执行ping 192.168.0.9 -t的命令,然后让别人在中心机房把网线一根根拔掉,一旦发现能够ping通后,就能通过那条网线,顺藤摸瓜揪出搞破坏的元凶了。这是最笨也是最实用的方法。
  上述方法都不能很好地解决这个问题,实施起来也有一定的难度,还好在局域网中这样的问题较少出现。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| 发表于 2007-11-7 09:48:52 | 显示全部楼层
ARP与ICMP的知识是CCNA阶段一个非常重要的点
CCNA书上有一个36步的解释,太经典了,是第五章IP路由里面的,建议学NA的朋友好好的从第一条理解到36条
发表于 2007-11-7 10:17:38 | 显示全部楼层
ARP病毒攻击更头疼啊~呵呵~
发表于 2007-11-7 10:52:43 | 显示全部楼层
原帖由 zplover 于 2007-11-7 09:48 发表
ARP与ICMP的知识是CCNA阶段一个非常重要的点
CCNA书上有一个36步的解释,太经典了,是第五章IP路由里面的,建议学NA的朋友好好的从第一条理解到36条

依然记的鹏子哥当初教我们的时候。。。
发表于 2007-11-7 11:21:55 | 显示全部楼层
原帖由 zplover 于 2007-11-7 09:48 发表
ARP与ICMP的知识是CCNA阶段一个非常重要的点
CCNA书上有一个36步的解释,太经典了,是第五章IP路由里面的,建议学NA的朋友好好的从第一条理解到36条


现在再回想起来~当年那本NA书上经典的地方真的很多~~~
发表于 2007-11-7 11:36:29 | 显示全部楼层
又见zplover。professional !
 楼主| 发表于 2007-11-7 13:24:46 | 显示全部楼层
原帖由 琼斯奇兵 于 2007-11-7 10:17 发表
ARP病毒攻击更头疼啊~呵呵~

可以用端口安全解决一部分问题:
interface FastEthernet0/1
switchport mode access
switchport port-security
switchport port-security violation restrict
switchport port-security mac-address 0010.7b38.45cd
spanning-tree portfast
end
这是新版NA的实验配置,蛮重要的,大家看看
发表于 2007-11-7 16:40:43 | 显示全部楼层
晕了~~~
发表于 2008-3-29 16:29:35 | 显示全部楼层
恩...ARP和ICMP真的很重要...
发表于 2008-4-7 08:53:18 | 显示全部楼层
那我要好好看看那本书……谢谢。免得以后翻工……呵呵
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-12-23 17:46 , Processed in 0.086387 second(s), 19 queries , Gzip On.

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