代理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. 【Effective C++】构造/析构/赋值运算

    条款05:了解C++默默编写并调用哪些函数 默认构造函数.拷贝构造函数.拷贝赋值函数.析构函数构成了一个类的脊梁,只有良好的处理这些函数的定义才能保证类的设计良好性. 当我们没有人为的定义上面的几个函 ...

  2. Machine Learning in Action(0) 开篇

    现在貌似In Action很流行,各种技术抽象成工程商的Action,可以避开繁琐的内部原理,这本书从实践出发,通俗易懂的解释那些常用的机器学习算法,类似跟<集体智慧编程>.这本书中文出版 ...

  3. 7-10 社交网络图中结点的“重要性”计算(30 point(s)) 【并查集+BFS】

    7-10 社交网络图中结点的"重要性"计算(30 point(s)) 在社交网络中,个人或单位(结点)之间通过某些关系(边)联系起来.他们受到这些关系的影响,这种影响可以理解为网络 ...

  4. 解决 eclipse出现 Address already in use: bind

    今天开发遇到下面问题,贴出部分异常信息,如下: [WARNING] failed SelectChannelConnector@ java.net.BindException: Address alr ...

  5. javase练习题

    偶然看到一份javase的练习题,mark一下,以后练习下 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个 ...

  6. Android-低功耗蓝牙(BLE)-客户端(主机/中心设备)和服务端(从机/外围设备)

    一.Android 低功耗蓝牙(BLE)的API简介 从Android 4.3(API 18)才支持低功耗蓝牙(Bluetooth Low Energy, BLE)的核心功能, BLE蓝牙协议是GAT ...

  7. Rsyslog 日志相关内容

    [root@server vusers_home]# rpm -ql rsyslog|more       ###.so结尾为模块,模块有分im为输入模块,om 为输出模块/etc/logrotate ...

  8. Ubuntu 16.04 安装wine

    1.安装源       sudo add-apt-repository ppa:wine/wine-builds       sudo apt-get update 2.安装wine      sud ...

  9. JavaScript-Tool:jquery.qrcode.js

    ylbtech-JavaScript-Tool:jquery.qrcode.js 1.返回顶部 1. 插件描述:jquery.qrcode.js 是一个能够在客户端生成矩阵二维码QRCode 的jqu ...

  10. 深度学习之softmax回归

    前言            以下内容是个人学习之后的感悟,转载请注明出处~ softmax回归 首先,我们看一下sigmod激活函数,如下图,它经常用于逻辑回归,将一个real value映射到(0, ...