ARP代理学习笔记

什么是代理ARP?
代理ARP一般被像路由器这样的设备使用,用来代替处于另一个网段的主机回答本网段主机的ARP请求。(参考RFC925和RFC1027)
代理ARP的工作过程


如上图的网络环境中,主机A(172.16.1.2)要与主机B(172.16.2.2)通信。配置了代理ARP的路由器将主机A和主机B分隔开。
主机A通过把目的主机的IP地址与自己的掩码作比较,发现目的主机与自己在同一个网段上,于是主机A决定给此网段发送一个本地的ARP广播以便将主机B的网络层地址(即IP地址)解析为硬件地址(MAC地址)。大致内容如图。

在科来网络分析系统的数据包解码里则可看到:


但由于ARP只能在同一个网段广播,从上图主机A和主机B的掩码地址我们知道,主机B并不在主机A的网段之内,因此主机B也不会收到此广播信息,通常情况下,这次ARP请求就会失败。然而配置了代理ARP的路由器则不会出现这个情况。路由器的Eth0口接收到该广播。它知道主机B位于另一个子网B,于是路由器用自己的MAC地址应答给主机A,如图。(注意:代理ARP只响应那些在自己路由表里能找到的网段)。

在科来网络分析系统的数据包解码里则可看到:


注意图中的源IP地址为主机B的IP地址,而源MAC地址则是路由器的Eth0口的MAC地址。主机A收到这个ARP应答后,开始更新自己的ARP表,如图。

这样,一个ARP的代理过程就完成,主机A和主机也可以透明的通信了。
常见代理ARP的配置
Cisco的路由器默认都是开启了代理ARP功能。我们可以通过命令来关闭或开启该功能。
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int e0
Router(config-if)#no ip proxy-arp(关闭ARP代理)
Router(config-if)# ip proxy-arp(开启ARP代理)
华为路由器则是用arp-proxy enable和arp-proxy disable命令来开启或关闭代理ARP。


代理ARP的优点
        允许远端主机甚至配置错误的主机可以透明的通信;
        在linux下可以用代理ARP建透明防火墙。
代理ARP带来的问题
        增加了某一网段上的ARP流量;
        主机需要更大的ARP table来处理IP地址到MAC地址的映射;
        安全问题,比如ARP欺骗(spoofing)。
 
 

你可能感兴趣的:(代理,学习,笔记,ARP,休闲)