代理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. 【LeetCode】Construct Binary Tree from Preorder and Inorder Traversal

    Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  2. iOS信号量

    引子: 在取本地联系人列表的时候看到同事用的这么一段代码: dispatch_semaphore_t sema = dispatch_semaphore_create(); ABAddressBook ...

  3. iOS 9已下的获取APP进程信息

    - (NSDictionary *)getAppInfo:(NSString *)exec withBundleID:(NSString *)bundle { if ([exec isKindOfCl ...

  4. LightOJ1197 Help Hanzo —— 大区间素数筛选

    题目链接:https://vjudge.net/problem/LightOJ-1197 1197 - Help Hanzo    PDF (English) Statistics Forum Tim ...

  5. MYSQL进阶学习笔记十五:MySQL 的账号权限赋予!(视频序号:进阶_33,34)

    知识点十六:MySQL的账号权限赋予(33) 一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执 ...

  6. iPhone HTTP获得XML并使用GDataXML解析

    1. [代码][C/C++]代码     NSURL *url = [NSURL URLWithString:  @"http://www.raywenderlich.com/downloa ...

  7. html5--5-1 了解canvas元素

    html5--5-1 了解canvas元素 学习要点 如何在HTML5文档中添加canvas元素 canvas的属性 了解canvas坐标系 了解script元素 绘制一条直线(准确的说是线段) 什么 ...

  8. Yii的缓存机制之动态缓存

    当整个页面被缓存,但只有小部分区域需要根据不同的条件设置不同的信息.(例如商品的详细页面的缓存中用户名是动态的)这里就需要设置动态缓存. 首先在被缓存的模板中使用renderDynamic进行动态渲染 ...

  9. tyvj1940创世纪——贪心(基环树)

    题目:http://www.joyoi.cn/problem/tyvj-1940 基环树的样子,看了书上的讲解,准备写树上DP,然后挂了: #include<iostream> #incl ...

  10. 关于layer.open() 弹框的使用

    在用 layer.open() 追加渲染HTML的时候,完全看不到效果,皆因layui框架需要在最后用 form.render() 方法来渲染表单才可以看到效果,写法如下: <script> ...