思埠集团朱强:arp协议不是在子网中才用到吗?为什么访问外网用ARP命令还能看到访问IP的MAC呢?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/07 02:57:52
arp协议不是在子网中才用到吗?为什么访问外网用ARP命令还能看到访问IP的MAC呢?

你好,Asker. ARP 地址解析协议并不是仅在子网中应用,或许您理解的是一个LAN内. 在互联网上,确实会有些特殊的应用方法来避免许多的ARP请求,考虑到资源及带宽问题.

ARP的原理是:

本地机器A想要访问B,只知道B的IP,但最终协议层由OSI7层拆封到2层读MAC.所以ARP被使用.A机器不知道对方MAC所以发送ARP请求给网络.此时如果A机器配置网关的话,当然开始就会由路由器来选路并正确发送信息到对端.若没有配置网关,那么ARP请求应用更贴切的表现出来.

A的MAC和IP被网关拦截,查看去向,封装并传到对方.对端ROUTER拆封,拿到源地址,B机器把自己的MAC加入RARP中.反地址解析. 再传回去. 这样ROUTER中及两端机器都记录了这条关联. 也就是A的IP和MAC. 目的地B的IP和MAC.

当然如果说本地路由器采用了ARP代理功能,那么回复给你对端IP并不是真实的IP.而是你ROUTER的地址. 也就是说.ROUTER欺骗了你,把自己的接口地址发给你了,告诉你,如果想去B端,就发送到我这来. A就会记住去B要把数据给ROUTER.这是网关的一种形式.

所以.无论怎样.你用ARP始终能看到对应地址.但是存在真实性质疑.

我觉得搂住的情况几乎是不大可能的吧。
除了我曾经遇到过在同一个广播域内,有些不是同一段的ip地址可以用arp广播使得我的windows电脑记住了它的ip与mac地址。
其实不在同一个子网里面,按照tcp/ip协议,不应该通过arp即广播来进行数据互传,而应该把数据送给网关。