|
发表于 2006-8-3 23:28:58
|
显示全部楼层
原帖由 zhangweizj 于 2006-8-3 16:01 发表
感染????,ARP都被神化了。。
我不知道应该准确用什么表达这种现象,事实上有人用"传染",有人用"感染"来形容......其实就和计算机病毒一样,谁都知道那并不是真正的病毒,但他依然是病毒.......或者你是不是也应该跳出来说,计算机病毒不是病毒,来论证这里不可以用"感染"这个词?事实上,在需要广播通讯协调的环境下,例如dns或者链路,都是用这些词来描述某些现象的.
pc上本身有一个arp缓存,当pc和其他设备(有man地址的东西)通讯的时候,就会在arp缓存里记录下对方的mac地址,以免每次都要查询,arp缓存会在timeout之后或者有指令重置的时候刷新.不过这个并不在我们这次的讨论的.
这里我们要讨论的是交换机的arp缓存,这个只有交换机才会有(与hub相比,当然我也不是在讨论三层以上的交换机,虽然我估计你连什么是七层交换机还不知道,对,不是指7层ISO模型).在交换机里,一般会有4K ARP缓存,他的作用和我上面说的PC ARP缓存一样,用来短时间暂存MAC地址,这样就不会每次通讯都要广播查询MAC地址.而其实,PC的arp缓存,第一时间获取的mac记录,是在这里获取,而不是真正的查询.
问题就发生在这里,因为有人广播了虚假的ARP,而这个记录被交换机记录了(就是我所谓的被感染),其他pc查询的时候,也获取了这个假的记录,导致一直无法正常....................实际上在某些有问题的低档交换机上,你还可以发现一个现象,例如某pc的网卡,你先绑定一个ip,接上交换机让交换机获取到这个mac地址,然后替换这张网卡,依然绑回原来的ip,再接回交换机(其间交换机不停电),这时候你查询那个ip的mac,会发现依然还是第一张网卡的地址,这就是因为交换机还没刷新ARP.
事实上这只是很基本的知识,既不用神化,也不用贬低.而我很确信本论坛是有不少人比我更清楚整个通讯握手流程的,但至少,我希望大家不要误导新手又或者故作清高说些谁也听不懂的东西来证明自己的高明. |
|