linda.!
发表于 2011-3-23 09:22:42
我怎么觉得个个都是高手!
呵呵!
linda.!
发表于 2011-3-23 09:23:55
回复 5 # JasonWhite 的帖子
去往不同网段,当主机ARP缓存表里面有时就不会ARP广播了,只有没有时才进行ARP广播请求!
roy
发表于 2011-3-23 09:24:20
路过。。。。
始乱终弃
发表于 2011-3-23 10:49:49
对于这个问题,我也一直有个疑问,还没有仔细研究过ARP协议……
我自己的理解是这样的:
比如A主机找B主机,如果B主机在A主机网段,这种情况大家都清楚,就只说不在同一网段
A主机(192.168.1.1/24)会广播:B主机(192.168.2.1/24)的MAC地址是多少啊?
这个时候A主机所在的网段当然没有主机相应这个ARP请求,如果网关有代理ARP,网关就会响应A的请求,回答一个192.168.2.1/24和自己MAC地址对应的ARP回应。于是A就以为B主机(192.168.2.1/24)的MAC地址是网关的MAC,于是就发包给网关了。
但是这里就有个疑问了,如果网关没有代理ARP怎么办,不就不能发包了?这个问题我还不清楚,希望有高手来解答下,在此感谢。
如果不是我上面想的那样,会不会是这样,A主机找B主机,发现B主机就不在自己的网段,于是直接发一个询问网关MAC的ARP(因为A主机知道网关IP地址),网关就告诉A,A就直接把给B的包交给网关了……
我做过一个实验:
我在单位上网,ip地址是172.17.100.37/23 网关是172.17.101.254
首先我把我主机的ARP表缓存清除,然后我把自己的网关改成172.18.1.1(单位没有该网段)
然后我还可以上网,看下自己主机ARP表,发现172.18.1.1 对应的MAC是原来172.17.101.254 对应的MAC……
我想这个应该是代理ARP搞的鬼,我就不知道怎么在三层交换机上关掉代理ARP了……我们单位三层交换机是4507。
明天¤晴天℃
发表于 2011-3-23 11:06:02
回复 9 # magic_os 的帖子
是啊 是啊 参与讨论别人提出的问题 会有不一样的收获
JasonWhite
发表于 2011-3-23 19:38:02
感谢各位的帮忙
-woniu4-
我又想了想,主机A在广播ARP之前,它知不知道主机B的IP是在另一网段?如果有,是什么机制A知道B和自己的IP不是一个网段?
假如说在A不知道B是不是和自己一个网段时,广播的ARP包肯定是询问B的MAC,对吧?
怎么才能知道B是不是在自己的一个网段中,如果在,A肯定能得到ARP回应(这里都考虑开机在线),但如果不是在一个网段,那么网关路由器在收到这个ARP时候应该会解析这个ARP吧?如果解析,那么当路由器解析到三层IP时,他会知道B在另一网段。ARP包会不会像这样一样,直到找到目的IP的主机?
JasonWhite
发表于 2011-3-23 19:40:48
我们一般说IP是路由的,其实在任何一个网段传输的都是数据帧,也就是说其实IP路由只是做了一个MAC地址的欺骗,没经过一个网段,数据帧中的源MAC地址和目的MAC地址都会被重填写
布凡
发表于 2011-3-24 00:37:47
本帖最后由 布凡 于 2011-3-24 00:49 编辑
如何检查不同网段 因为你配置的掩码 区别网段
在开启ARP代理 默认网关随便写 都行 代理arp会写入2层目的MAC
关闭arp 无网关 主机发ARP 只会在本网段
mac是二层链路一段一段
3层交换关闭ROUTEing 会怎样
。。楼下补充
JasonWhite
发表于 2011-3-24 10:32:47
这个问题 应该得仔细分析下ARP协议本身
JasonWhite
发表于 2011-3-24 11:15:16
-woniu5-刚又查下了下书,各位
在发送ARP包时本地主机自己会做出两个决策:
一、若果目的端IP和我在同一网段中,那么 ARP广播
二、不在同一网段,则发送给自己的默认网关(如此一来我就会先询问网关的MAC)