千家信息网

关于代理arp的原理以及通信过程解析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,在看一些技术文档的时候,突然想到了代理arp这个东西,之前一直也没注意,所以就趁着今天去学习了下。首先就是拓扑图:这里我用模拟器画图~~用真机(CISCO 1921)做的实验网上大多数人以及网站对于代
千家信息网最后更新 2026年10月31日关于代理arp的原理以及通信过程解析

在看一些技术文档的时候,突然想到了代理arp这个东西,之前一直也没注意,所以就趁着今天去学习了下。

首先就是拓扑图:这里我用模拟器画图~~用真机(CISCO 1921)做的实验

网上大多数人以及网站对于代理ARP的解释:当PC没有设置默认网关时,如果PC要和不同网段的客户端进行通信,那么需要知道目的的mac地址,如何获取,当然是通过ARP了,但是如果目的地址和本地地址不属于同一个网段呢?问题就出现在这里了,很多人认为PC此时会发送ARP广播,然后路由器的接口如果开启了代理arp(使用 no ip arp proxy开启,全局使用Ip arp proxy disable关闭)功能 就会以自己的接口mac回应,但是事实并非如此。实际的情况是,PC不会发送任何ARP的报文。见下图

大家可以看到,PCA 没有发送任何ARP和ICMP报文,因为如果目的网段和自己的网段不同,并且PC没有设置默认网关,PC会直接丢弃,这个和是否开启ARP代理没有半毛钱的关系。。。

ARP代理此时是开启的

这里请教下大神,这个Local Proxy ARP是干嘛的,始终不能显示为enable。。求看到的大神指导


可以看到,就算PCA使用ping命令,路由器没有获得任何有关PCA和PCB的arp表项。




说到这里,大家应该清楚了,ARP代理并不是网上说的那样充当什么默认网关啥的,那么到底这玩意怎么用呢?


接下来我们使用另外一个拓扑,如图:


是的 就是这么奇怪的拓扑,路由器左边PC掩码和路由器的G0/0不同,右边则是一致的。

先关闭ARP代理

全局使用ip arp proxy disable关闭即可。

然后抓包。记住此时A B的网关都没有设置

先查看PCA的arp表项

和之前说的一样,PCA不会产生任何报文,所以当然也不会有任何其他的ARP表项了。

此时的路由器任然也是只有自己两个接口的ARP表项。

那么接下来我们使用PCA ping PCB,会出现什么现象呢?

为什么这里PCA也没有网关,但是却发送了ARP请求呢?

因为!!!

PCA的网络号为172.16.0.0.(ip地址和掩码进行与运算),PCB的地址为172.16.2.2。PCA会将自己的掩码和PC地址进行与运算,发现自己和目的地址属于同一个网段(即使PCB的网段是172.16.2.0/24)。所以才会产生ARP请求,但是由于路由器关闭了ARP代理,所以不会对PCA的ARP请求进行响应。所以上图只有arp request但是没有arp reply。所以此时PCA的ARP表项以及路由器的ARP表项都不会产生变化。当然,PCA多了几个奇怪的ARP表项我也没有去查是干嘛的。


如果此时让路由器获取到PCB的mac地址,在关闭ARP代理的前提下,路由器是否会将PCB的mac告知给PCA呢。

很简单,我们使用PCB ping路由器的G0/1接口地址,虽然PCB没有默认网关,但是由于两者属于同一个网段,所以能够ping通,而且路由器能够获取PCB的mac地址。

再次使用PCA ping PCB,然后观察PCA的ARP表项。还是没有任何变化,因为A的ARP请求到达路由器之后, 路由器会 从OSI模型的第一层依次解封装,解封装到第二层的时候,由于目的mac为广播,没有开启ARP Proxy,路由器会直接丢弃广播 包,所以即使路由器有B的MAC地址,也不会给A ARP Reply。

即使此时所有设备都有了其他的MAC地址表项(使用静态绑定), 也是无法 联通的, 因为单播报文拆包时 ,到第二层,如果目的MAC不是路由器自身的接口地址,路由器也是会直接丢弃。


接下来就是开启ARP代理。使用no ip arp proxy(看起来很奇怪)。

开启ARP代理之后,PCA能够获取到PCB的MAC地址,并且是路由器G0/0的mac地址。

使用ping命令,Icmp echo request报文能够成功到达PCB。这点是由PCB上面使用Wireshark抓包得到的结论。我就不截图了 太麻烦了。

但是PCB受到该报文之后 ,创建ICMP echo reply报文的时候,由于目的地址和自己不属于同一个网段,并且 又不是广播地址,而且自身又没有设置 默认网关,所以直接 丢弃 ping的回包,所以对于PCA来说是无法获取reply的,如图:

说到这里 我就有一个疑问了,在这诚心请教大牛。

我在PCB静态绑定ARP PCA'S ip-》G0/1's mac。按照我的想法,当创建reply报文的时候,从上到下依次封装,封装到数据链路层的时候,目的mac地址为G0/1的mac地址。应该会回复,为什么PCB直接丢弃了而不是进行回复!!!


如果想要PCA能够ping通PCB,在PCB上指定默认网关即可。

指定默认网关后,A<->B可以双向正常通信,原理见上面的那段


到现在应该基本解释清楚了代理ARP的功能和作用,其实非常鸡肋。

对了还有一点。指定默认默认网关和使用ARP代理PC的arp表项完全不同。

使用ARP代理:会存在不同网段的ip和mac的对应 如图

但是使用默认网关的时候只会存在一个对应关系。那就是网关以及网关mac的对应关系 如图

最后就是,写这个的时候我百度了一些东西,有一部分和狼哥的差不多,只不过有些细节方面我测试了下。@狼哥 他的博客的地址是bbs.51cto.com/thread-651652-1.html.


希望高手能够消除我之前的疑问,谢谢了~~

地址 路由 路由器 代理 网关 网段 报文 目的 时候 不同 就是 接口 如图 封装 广播 接下来 拓扑 通信 清楚 东西 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京欣网互联网络科技 高科技与互联网 互联网科技缩写 互联网高科技企业 恒生科技互联网指数分析 深圳互联网科技怎么样 银川新华互联网科技学校地址 浙江互联网科技研学营 崇明区互联网教育科技售后服务 互联网公司黑科技创始人 佛山市翊博互联网络科技有限公司 南博望互联网科技有限公司 长沙互联网科技 梅州GM互联网络科技有限公司 杭州披云加互联网科技有限公司 全球科技与互联网公司市值变化 万物互联网智能科技 广西科技产业互联网是什么 绵阳真晨互联网科技有限公司 银川新华互联网科技学校招聘 科技互联网政务服务 互联网 科技 壕鑫互联网络科技 猫创互联网科技 哈尔滨秒房互联网科技有限公司 滨湖区互联网智能科技产品有哪些 浙南科技城互联网大厦招聘 互联网高科技行业有哪些企业 中国新注册互联网科技 数字科技和互联网金融哪个好
0