JasonWhite 发表于 2011-3-22 16:39:59

关于MAC地址的问题

如果一台设备不知道它所邻接的网络中另外一台设备的MAC地址,它会发送ARP请求去询问哪个地址?
a、默认网关的MAC      b、目的主机的MAC       c、默认网关的IP      d、目的主机的IP
还请各位前辈分析下

思博网络 发表于 2011-3-22 18:00:18

每台安装有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知道答案了么?

JasonWhite 发表于 2011-3-22 18:50:53

回复 2 # 雪候鸟 的帖子

这个 我清楚 但问题的关键是主机B是在另一个网段中

magic_os 发表于 2011-3-22 19:07:47

回复 3 # JasonWhite 的帖子

感觉是选择A-woniu7-因为问的是MAC~

以前好像看到哪个地方说过 好像是发往不同网段的包会先发给网关~

所以感觉这个地方如果PC1不知道网关MAC的话 会先ARP请求网关MAC

之后就应该是下面这样的~

网关MAC | 本地PC1的MAC | 目的PC2的IP | 本地PC1的IP | 目的端口...我省.....


也不知道对不对 期盼高手的降临~-woniu7-

JasonWhite 发表于 2011-3-22 19:33:59

我想的是主机A在机子的ARP表里存有网关的MAC,所以就不用询问网关的MAC
4L,答案的确是A
我怎么感觉题本身是不是有歧义啊

magic_os 发表于 2011-3-22 21:29:54

回复 5 # JasonWhite 的帖子

恩 题目出的有木有点那啥......总之你就当它不知道网关MAC地址吧...

小皮球 发表于 2011-3-22 21:53:18

回复 2 # 雪候鸟 的帖子

这个是你自己回答的?
我膜拜啊~

task 发表于 2011-3-22 22:48:56

本帖最后由 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地址。





magic_os 发表于 2011-3-23 07:45:22

--好贴! 参与别人的问题果然能够温故而知新~!大家都回答的好认真~-woniu6-

sxcuilihui 发表于 2011-3-23 08:53:46

题目的朦胧感觉很重,同一网段,发目的MAC ,不同网段,默认网关会给返回连接端口的MAC
页: [1] 2 3
查看完整版本: 关于MAC地址的问题