当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 代理ARP

Unix/Linux
Linux 下采用软件实现RAID
汉化你的RedHat全攻略(2)- TrueType字体的使用
汉化你的RedHat全攻略(3)- RedHat 7.0上的中文环境和输入法
汉化你的RedHat全攻略(4)- FAQ和一些总结
Linux与其他操作系统的区别
为什么我用 ipchains 构建的子网里的机器不能用 ftp?
轻轻松松的安装Slackware Linux -- 0.自序,观念篇
Linux命令Man解释:ftpaccess(5) :ftpd 的配置文件
Linux命令Man解释:chsh :更换你登入时所用的shell
Linux命令Man解释:chfn :改变你的finger讯息
Linux命令Man解释:apropos :在whatis资料库中搜寻特定字串
X-Window中如何设置字体
rpm命令参数列表
汉化你的RedHat全攻略(1)- 中文环境和中文输入法的安装
Linux命令Man解释:MIRROR:镜像远端节点上的档案
Linux命令Man解释:losetup :设定与控制loop devices
Linux命令Man解释:lilo :安装引导装载程序
Linux命令Man解释:groupmod :修改组
Linux命令Man解释:shutdown:让系统关机
Linux命令Man解释:SUDO(8):以root身份执行指令

Unix/Linux 中的 代理ARP


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 145 ::
收藏到网摘: n/a

什么是proxy ARP?proxy ARP就是通过使用一个主机(通常为router),来作为指定的设备对另一设备作出ARP请求的应答proxy ARP是如何工作的?设备需求:Cisco 2500系列的rourerCisco IOS Release 12.2(10b)
screen.width-500)this.style.width=screen.width-500;}" border="0" />此主题相关图片如下:按此在新窗口浏览图片screen.width-500)this.style.width=screen.width-500;}" border="0" />假设在如上图的一个环境中,位于子网A的主机A(172.16.10.100)需要发送packet到位于子网B的主机D(172.16.20.200)上去.于是主机A将发送ARP请求给D.当然,为了能够达到主机D,就需要知道主机D的MAC地址.因此,主机A在它位于的那个子网A上广播ARP请求,大致内容如下图:screen.width-500)this.style.width=screen.width-500;}" border="0" />此主题相关图片如下:按此在新窗口浏览图片screen.width-500)this.style.width=screen.width-500;}" border="0" />当然router的e0口也接收到该广播,但是router默认不会转发广播的,所以该ARP请求仍然到达不了主机D.但是router却知道主机D位于另外一个子网B.于是router应答自己的MAC地址给主机A,如下图:此主题相关图片如下:按此在新窗口浏览图片screen.width-500)this.style.width=screen.width-500;}" border="0" />注意如上图,源IP地址为主机D的IP地址,但是源MAC地址是router e0口的MAC地址.这就是发送给主机A的proxy ARP应答(代理人,中间人).这样的proxy ARP应答一般是作为unicast发送给请求者(主机A)主机A收到这个proxy ARP应答以后,开始更新自己的ARP table,如下图:此主题相关图片如下:按此在新窗口浏览图片screen.width-500)this.style.width=screen.width-500;}" border="0" />于是从现在开始,主机A将不把要前往主机D的packet通过router e0口(00-00-0c-94-36-ab)转发,因为router知道如何到达主机D,它会把packet转发给主机D另外,位于子网A的主机的ARP cache,如下图:此主题相关图片如下:按此在新窗口浏览图片screen.width-500)this.style.width=screen.width-500;}" border="0" />注意上图,3个IP地址映射到1个MAC地址(router e0口的MAC地址)上,这就说明正在使用proxy ARPCisco的router的接口应该配置成能够接收和应答proxy ARP,当然这个默认是启用的,不过可以使用一些命令来关闭这个功能,命令如下:Router# config tEnter configuration commands, one per line. End with CNTL/Z.Router(config)#int e 0Router(config-if)#no ip proxy-arpRouter(config-if)#^ZRouter#要再次启用的话,在接口配置模式下使用ip proxy-arp命令即可proxy ARP有哪些优点?最主要的一个优点就是能够在不影响其他router的路由表的情况下在网络上添加一个新的router,这样使得子网的变化对主机是透明的proxy ARP应该使用在主机没有配置默认网关或没有任何路由策略的网络上proxy ARP带来的哪些负面影响?1.增加了某一网段上ARP流量2.主机需要更大的ARP table来处理IP地址到MAC地址的映射3.安全问题,比如ARP欺骗(spoofing)4.不会为不使用ARP来解析地址的网络工作5.不能够概括和推广网络拓扑一些参考资料:RFC 925和RFC 1027Fin