代理ARP常被人忽视,因为现在基本不用了
Fred使用一个正常的ARP进程,它发出一个ARP请求广播,以R1的E1IP地址作为目标。ARP消息中有一个目标(Target)字段,这个字段全为0表示Fred需要学习这个MAC地址,目标IP地址标识出需要学习哪个IP地址的MAC地址,在本例中就是10.1.1.1。ARP应答中列出了与这个IP地址相关的MAC地址,也就是R1上E1接口的MAC地址。
ARP消息本身并不包含IP包头,尽管它在与IP包头类似的位置上也有目的IP地址和源IP地址。ARP请求中的目的IP地址是255.255.255.255。ARP以太网协议类型是0x0806,而IP数据包的以太网协议类型是0x0800。
代理ARP使用与ARP完全相同的消息,只不过这个ARP请求中实际上请求的MAC地址并不在本地子网中。因为ARP请求是以广播形式在本地子网中发送的,因此目标主机将无法收到这个请求——因此如果一台路由器可以把数据包路由给目标主机,它就可以代替目标主机充当代理ARP中继的角色。
举例来说,Barney将Web服务器的IP地址(10.1.2.200)放在目标字段中,因为Barney的子网掩码为255.0.0.0,因此它认为自己与Web服务器位于相同的子网。ARP请求是一个在LAN中泛洪的广播,因此R1如果工作正常的话,是不会转发ARP广播的。由于知道这个ARP请求永远无法到达10.1.2.200所在的子网,因此R1这个救世主代替Web服务器对ARP请求进行了应答。R1在ARP进程中代替了Web服务器,因此称它为代理ARP。还要注意的是,R1的ARP应答中包含R1的E1接口MAC地址,因此当Barney想要向Web服务器发送数据包时,它会把数据帧转发给R1。
在DHCP出现前,很多网络都依赖于代理ARP,并使用网络的默认掩码来配置主机。无论是否使用了代理服务器,结果都是主机学到路由器的MAC地址,并通过路由器将数据包转发到另一个子网。
 

IP服务-1-ARP和代理ARP的更多相关文章

  1. 代理ARP

    代理ARP是ARP协议的一个变种. 对于没有配置缺省网关的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答.代 ...

  2. ARP/代理ARP

    1.ARP首先讲到ARP,ARP是地址解析协议,它的作用是在以太网环境下,通过3层的IP地址来找寻2层的MAC地址,得到一张ARP缓存表.转发数据的时候根据ARP缓存表来进行传输.下图详细说明数据传输 ...

  3. 图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)

    一.代理ARP概述 我:当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在刚学习网络协议的时候,经常这样直接回应:不就是服务器的MAC嘛! 这时我会反问:那电脑怎么拿到这个服务器的MAC地 ...

  4. IP服务-2-RARP和BOOTP

    ARP和代理ARP进程都是在一台主机知道了自己的IP地址和子网掩码后发生的.RARP.BOOTP和DHCP则代表了一类协议的发展,这类协议用来帮助主机动态地学习自己的IP地址.

  5. 1-13 代理ARP和RARP

    一.代理ARP(Proxy ARP) 因为路由器有阻住广播的作用,如果我们要访问一台远端的主机,那么我们封装的并不是远端的目的MAC地址,而是我们网关的MAC地址. 当我们的网关出现故障,就需要给他重 ...

  6. HCNP Routing&Switching之代理ARP

    前文我们了解了端口隔离相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16186451.html:今天我们来聊一聊ARP代理相关话题: 端口隔离之破解之 ...

  7. [TCPIP]代理arp

    一 理论概述 \ 二 实验 实验一:代理arp在nat中的作用(实验发现一下是错的)     实验二.代理arp pc访问服务器想让走路由器(写32bit静态路由),右边的R arp server的时 ...

  8. TCP/IP学习20180629-数据链路层-ARP、IP

    1.数据链路层:IP.ARP.RARPARP协议用来找到目标主机的Ethernet网卡Mac地址,IP协议用来承载数据ARP协议找到目标,IP协议传输数据2.IP协议ip协议是TCP/IP协议的核心, ...

  9. [na]代理arp导致的问题(路由卷)

    已过期... 一 理论概述 \ 二 实验 实验一:代理arp在nat中的作用(实验发现一下是错的) 实验二.代理arp导致的问题 pc访问服务器想让走路由器(写32bit静态路由),右边的R arp ...

随机推荐

  1. Raspberry Pi3 ~ 安装 nfs Server

    l  安装必要服务: sudo      apt-get install  portmap sudo  apt-get install  nfs-kernel-server sudo      apt ...

  2. java之EJB

    EjB,只是一个服务端运行组件,公开接口供客户端以C/S方式调用而已. 最直白,最本质的解释,可参见: http://blog.csdn.net/jojo52013145/article/detail ...

  3. 简述arp协议的工作原理

    在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如: 我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例.当发送数据 ...

  4. linuxshell,闲散命令记录

    1. 移动光标到 0:0 位置 printf "\033[0;0H" 2. 清屏 printf "\033[2J" 3. awk接收 外部变量 awk -v v ...

  5. python不同目录下的调用

    转自http://blog.csdn.net/hansel/article/details/8975663 Python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件 ...

  6. Lucene小例子

    package org.itat.test; import java.io.File; import java.io.FileReader; import java.io.IOException; i ...

  7. Python的GIL是什么鬼,多线程性能究竟如何

    前言:博主在刚接触Python的时候时常听到GIL这个词,并且发现这个词经常和Python无法高效的实现多线程划上等号.本着不光要知其然,还要知其所以然的研究态度,博主搜集了各方面的资料,花了一周内几 ...

  8. P1014 Cantor表

    洛谷 p1014 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2 ...

  9. Jmeter 施压 SQL server数据库的时候,如何设置?

    1. 在应用Jmeter进行施压之前,有个重要的端口需要手动查找出来.该端口在第三部要使用.开始——程序——microsoft SQL Server 2008R2——配置工具——SQL Server ...

  10. opencv3.4.0 安装过程中出现的问题

    重新安装opencv3.4.0 参考安装博客: opencv 安装版本测试:pkg-config --modversion opencv https://blog.csdn.net/cocoaqin/ ...