代理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. ABAP 实现Excel 粘贴复制

    "设置需要复制的区域 CLEAR gv_range. gs_ole2-row1 = . gs_ole2-col1 = . gs_ole2-row2 = . gs_ole2-col2 = . ...

  2. matlab面向对象设计---类的概念和使用

    代码: classdef MadgwickAHRS < handle %MADGWICKAHRS Implementation of Madgwick's IMU and AHRS algori ...

  3. mac安装python3

    http://www.jianshu.com/p/51811fa24752 brew install python3 安装路径:/usr/local/Cellar 使用: 执行python3即可 配置 ...

  4. jinja 多值合并

    示例 {% for node in groups["db"] %} {{ node | join("") }}:5672 {% if not loop.last ...

  5. 谈谈网站测试中的AB测试方法

    什么是A/B测试? A / B测试,即你设计的页面有两个版本(A和B),A为现行的设计, B是新的设计.比较这两个版本之间你所关心的数据(转化率,业绩,跳出率等) ,最后选择效果最好的版本. A / ...

  6. #pragma once与#ifndef

    都是为了避免同一个头文件被包含多次.在编译器对这两种方式都支持的情况下,区别很小. 方式一: #pragma once ...//这里放声明语句 方式二: #ifndef 宏名 #def 宏名 ... ...

  7. 关于RHEL5中yum挂载iso源引起的问题(转)

    今天在虚机上通过yum挂载iso源来安装rpm包,但提示错误,内容见下面.之前也有过这样的操作, mount后,修改repo文件,然后就可以yum install  rpm包了:过程很简单啊.不知道这 ...

  8. .NET CORE2.0后台管理系统(一)配置API

    一:引用关系图 要写一个项目首先离不开的就是一个清晰的流程图,当然我这里很简单. 上诉完成后打开api下的Startup.cs文件,因为我是配置好了所在我直接上传代码然后介绍一下: using Sys ...

  9. vue.js created函数注意事项

    因为created钩子函数是页面一加载完就会调用的函数,所以如果你想在这个组件拿值或者是赋值,很可能this里面能拿到数据,但是如果你用this.赋值的话,控制台或者debugger都会发现this里 ...

  10. python3 分布式进程(跨机器)BaseManager(multiprocessing.managers)

    A机器负责发送任务和接受结果: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #ta ...