关于MAC地址的问题
如果一台设备不知道它所邻接的网络中另外一台设备的MAC地址,它会发送ARP请求去询问哪个地址?a、默认网关的MAC b、目的主机的MAC c、默认网关的IP d、目的主机的IP
还请各位前辈分析下 每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。
以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。
当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,A主机MAC地址是“主机A的MAC地址”,这表示向同一网段内的所有主机发出这样的询问:“我是192.168.1.5,我的硬件地址是"主机A的MAC地址".请问IP地址为192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时A和B还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了B),下次A再向主机B或者B向A发送信息时,直接从各自的ARP缓存表里查找就可以了。
lz知道答案了么?
回复 2 # 雪候鸟 的帖子
这个 我清楚 但问题的关键是主机B是在另一个网段中
回复 3 # JasonWhite 的帖子
感觉是选择A-woniu7-因为问的是MAC~
以前好像看到哪个地方说过 好像是发往不同网段的包会先发给网关~
所以感觉这个地方如果PC1不知道网关MAC的话 会先ARP请求网关MAC
之后就应该是下面这样的~
网关MAC | 本地PC1的MAC | 目的PC2的IP | 本地PC1的IP | 目的端口...我省.....
也不知道对不对 期盼高手的降临~-woniu7-
我想的是主机A在机子的ARP表里存有网关的MAC,所以就不用询问网关的MAC
4L,答案的确是A
我怎么感觉题本身是不是有歧义啊 回复 5 # JasonWhite 的帖子
恩 题目出的有木有点那啥......总之你就当它不知道网关MAC地址吧... 回复 2 # 雪候鸟 的帖子
这个是你自己回答的?
我膜拜啊~
本帖最后由 task 于 2011-3-22 22:52 编辑
通俗的讲,ARP是用来将IP映射为MAC的(who's ip is xx.xx.xx.xx)。所以C、D排除。
又因为MAC地址只在多路访问型"本地链路"有效(即直连链路),所以排除B。
ARP的目标IP地址为全1广播地址,路由器也不会转发这种地址。
因此,我觉得是选A啦。
总的就是,MAC地址只在本地链路有效。本链路的ARP包,不会去请求其他链路的MAC地址。
--好贴! 参与别人的问题果然能够温故而知新~!大家都回答的好认真~-woniu6- 题目的朦胧感觉很重,同一网段,发目的MAC ,不同网段,默认网关会给返回连接端口的MAC