2.4 Proxy ARP

Proxy ARP的功能就是使那些在同一网段却不在同一物理网络上的计算机或路由器能够相互通信。下面介绍Proxy ARP的原理、应用及其特点。

2.4.1 Proxy ARP原理

VRP实现中的Proxy ARP有三种方式:
l   路由式Proxy ARP
l   VLAN内Proxy ARP
l   VLAN间Proxy ARP
VLAN内Proxy ARP和VLAN间Proxy ARP是在VRP5.30-07版本开始支持的。
路由式Proxy ARP
如图2-4所示,Router A与Router B通过串行线路相连。每台路由器分别有一个GE口连接一个局域网。Host A的IP地址为172.16.2.2/16,没有配置缺省网关。Host B的IP地址为172.16.4.4/24,配置了缺省网关。
由于Host A只有16位掩码,它认为自己直连到172.16.0.0网段,当Host A需要与172.16.0.0网段上的设备例如Host B通信时,它使用ARP请求主机B的物理地址。由于路由器不转发广播,Host B收不到Host A发出的ARP请求。
如果在Router A的接口GE1/0/0上使能路由式Proxy ARP,由Router A转发Host A与Host B之间的IP报文,Host A就可以与Host B互通了。
图2-4 路由式Proxy ARP示意图
路由式Proxy ARP的工作过程如下:
1.         Host A在其所属的子网中广播ARP请求,询问IP地址为172.16.4.4的主机的MAC地址。
2.         Router A收到Host A发出的ARP请求。
3.         由于已经使能了路由式Proxy ARP,因此Router A并不丢弃目地IP地址不是自己的ARP请求报文。而是进行以下判断:
−       Router A上存在到Host B的路由。
−       出接口与收到ARP请求的入接口不相同。
以上条件都满足,则进行下一步处理,否则丢弃该ARP请求报文。
4.         Router A以接口GE1/0/0的MAC地址00.e0.fc.39.80.ab向Host A回应ARP Reply。
5.         Host A收到Router A的应答报文后,在自己的ARP表中添加新表项,即IP地址172.16.4.4对应的MAC地址为Router A的MAC地址00.e0.fc.39.80.ab。
6.         此后,Host A向Host B发送的IP报文都先发给Router A,再由Router A发到Host B。
VLAN内Proxy ARP
如图2-5所示,DSLAM(Digital Subscriber Line Access Multiplexer)的上行口与Router的接口GE1/0/0相连,GE1/0/0属于Router上的Eth-Trunk1。
HOST A和HOST B是DSLAM设备下的两个用户。连接HOST A和HOST B的两个端口在DSLAM上属于同一个VLAN10。由于在DSLAM上配置了VLAN内不同端口彼此隔离,因此HOST A和HOST B不能直接在二层互通。
如果在Router上创建子接口Eth-trunk1.10,使子接口关联VLAN10。在Router的子接口Eth-trunk1.10上使能VLAN内Proxy ARP,HOST A和HOST B就可以在二层互通了。子接口Eth-trunk1.10的IP地址与VLAN10中的主机IP地址必须在同一个网段。
图2-5 VLAN内Proxy ARP示意图
VLAN内Proxy ARP的工作过程如下:
1.         HOST A在其所属的VLAN内广播ARP请求,询问HOST B的MAC地址,如图2-5所示。
2.         Router的子接口Eth-trunk1.10收到HOST A发出的ARP请求。
由于子接口Eth-trunk1.10已经使能VLAN内Proxy ARP,因此Router并不丢弃目的IP地址不是自己的ARP请求报文。
3.         根据ARP请求报文中的目的IP地址,Router在子接口Eth-trunk1.10的ARP表中查找HOST A所请求的ARP表项。
−       有则进行第5步处理。
−       没有则在本VLAN内,以Eth-trunk1.10的MAC地址作为源MAC地址,广播ARP请求,询问HOST B的MAC地址。
4.         HOST B收到这个ARP请求后,回复ARP Reply给Eth-trunk1.10接口,其中包含HOST B的MAC地址信息。
Eth-trunk1.10收到HOST B的ARP应答,在ARP表中添加HOST B的IP地址和MAC地址表项。然后进行下一步处理。
5.         Router以子接口Eth-trunk1.10的MAC地址00.e0.fc.39.80.ab向HOST A回复ARP Reply。
6.         HOST A收到Router的ARP Reply后,在自己的ARP表中添加HOST B的IP地址172.16.2.30对应的MAC地址为00.e0.fc.39.80.ab的新表项。
7.         此后,HOST A向HOST B发送的IP报文都先发给Router的子接口Eth-trunk1.10,Router根据子接口Eth-trunk1.10上的ARP表将报文转发到HOST B。
VLAN间Proxy ARP
如图2-6所示,DSLAM的上行口连到Router的接口GE1/0/0上。
HOST A和HOST B是DSLAM设备下的两个用户。由于连接HOST A和HOST B的两个端口在DSLAM上属于不同的VLAN,因此HOST A和HOST B不能直接实现二层互通。
如果在Router上创建子接口GE1/0/0.1,在子接口上关联VLAN10和VLAN20,并且在GE1/0/0.1上使能VLAN间Proxy ARP,HOST A和HOST B就可以实现二层互通了。子接口GE1/0/0.1的IP地址与VLAN10和VLAN20中的主机IP地址在同一个网段。
图2-6 VLAN间Proxy ARP示意图
VLAN间Proxy ARP的工作过程如下:
1.         HOST A在其所属的VLAN内广播ARP请求,询问HOST B的MAC地址,如图2-6所示。
2.         Router的子接口GE1/0/0.1收到HOST A发出的ARP请求。
由于子接口GE1/0/0.1已经使能VLAN间Proxy ARP,因此Router并不丢弃目地IP地址不是自己的ARP请求报文。
3.         根据ARP请求报文中的目的IP地址,Router在子接口GE1/0/0.1的ARP表中查找HOST A所请求的ARP表项。
−       有则进行第5步处理。
−       没有则以GE1/0/0.1的MAC地址作为源MAC向本接口关联的其它VLAN发送ARP请求,询问HOST B的MAC地址。
4.         HOST B收到这个ARP请求后,回复ARP Reply给GE1/0/0.1接口,其中包含HOST B的MAC地址信息。
GE1/0/0.1收到HOST B的ARP应答,在ARP表中添加HOST B的IP地址和MAC地址表项。然后进行下一步处理。
5.         Router以子接口GE1/0/0.1的MAC地址00.e0.fc.39.80.ab向HOST A回应ARP Reply。
6.         HOST A收到Router的ARP Reply后,在自己的ARP表中添加HOST B的IP地址对应的MAC地址为00.e0.fc.39.80.ab的新表项。
7.         此后,HOST A发送给HOST B的IP报文先发给Router的子接口GE1/0/0.1,再由Router根据子接口GE1/0/0.1上的ARP表将报文转发到HOST B。
接口上有VRRP的Proxy ARP
如果以太类型接口不仅配置了VRRP(Virtual Router Redundancy Protocol),同时还使能了路由式Proxy ARP、VLAN内Proxy  ARP或VLAN间Proxy ARP中的一种。该接口上的Proxy ARP处理过程与前文介绍的相同,区别是:需要判断路由器所处的VRRP备份组的状态。
判断路由器在VRRP备份组中的状态分为两种情况。
l   接口上只配置了一个VRRP备份组。
如果路由器处于VRRP备份组的Master状态,则需要使用接口的虚MAC回应ARP Reply。
如果路由器处于VRRP备份组的Backup状态,则不响应。
l   接口上配置了多个VRRP备份组。
如果路由器在多个VRRP备份组都处于Master状态,选择其中一个虚MAC进行回应。
如果没有处于Master状态的,则对该请求报文不做响应。

2.4.2 Proxy ARP的应用

路由式ARP Proxy
通常情况下,当路由器收到ARP请求报文时,路由器将进行检查,看该ARP请求的目的地址是否是自己。如果是,发出ARP应答报文;如果不是,丢弃该报文。
若使能路由式Proxy ARP功能后,路由器接收到目的地址不是自己的ARP请求报文,路由器并不立即丢弃该报文,而是查找路由表。如果路由器有到达该目的地址的路由,在满足代理条件时,路由器将自己的MAC地址发送给ARP请求方,相当于它代替其他网络的主机回答这个ARP请求。ARP请求方就将到该目的地址的报文发送给路由器,路由器再将其转发出去。
路由式Proxy ARP主要用于:
l   当主机上没有配置缺省网关地址(即不知道如何到达本网络的中介系统),它可以发送一个ARP请求(请求目的主机的MAC地址)。使能Proxy ARP功能的路由器收到这样的请求后,会使用自己的MAC地址作为该ARP请求的回应。
l   如图2-4所示,使能Proxy ARP功能的路由器A隐藏了物理网络的细节,使得处于不同物理网络但网络号相同的Ethernet A和Ethernet B的内部主机之间可以正常的相互通信。
VLAN内Proxy ARP
如果两个用户属于相同的VLAN,但VLAN内配置了用户隔离。用户间要互通,需要在关联了VLAN的接口上启动VLAN内Proxy ARP功能。
若路由器的接口使能了VLAN内Proxy ARP功能,端口在接收到目的地址不是自己的ARP请求报文后,路由器并不立即丢弃该报文,而是查找该接口的ARP表项。如果满足代理条件,则将路由器的MAC地址发送给ARP请求方。
VLAN内Proxy ARP主要用于配置了用户隔离的VLAN内的用户间互通。
VLAN间Proxy ARP
如果两个用户属于不同的VLAN,用户间要进行二层互通,需要在关联了VLAN的子接口上启动VLAN间Proxy ARP功能。
若路由器的接口使能了VLAN间Proxy ARP功能,端口在接收到目的地址不是自己的ARP请求报文后,路由器并不立即丢弃该报文,而是查找该接口的ARP表项。如果满足代理条件,则将路由器的MAC地址发送给ARP请求方。
VLAN间Proxy ARP主要用于:
l   处于不同VLAN的用户的二层互通。
l   可在Super VLAN对应的VLANIF接口上启动VLAN间Proxy ARP功能,实现Sub VLAN间用户互通。

2.4.3 Proxy ARP的特点

以下是Proxy ARP的特点:
l   所有处理在ARP子网网关(ARP Subnet Gateways)进行,所连网络中的主机不必做任何改动;
l   在主机端看不到子网,只是一个标准IP网络;
l   Proxy ARP只影响主机的ARP高速缓存,对网关的ARP高速缓存和路由表没有影响;
l   使用Proxy ARP后,主机应该减小ARP老化时间,以尽快使无效ARP项失效,减少发给路由器而路由器却不能转发的报文。

2.5 免费ARP

主机主动使用自己的IP地址作为目标地址发送ARP请求,此种方式称免费ARP。免费ARP有两个方面的作用:
l   用于检查重复的IP地址:正常情况下应当不能收到ARP回应,如果收到,则表明本网络中存在与自身IP地址重复的地址;
l   用于通告一个新的MAC地址:发送方换了块网卡,MAC地址变了,为了能够在ARP表项老化前就通告所有主机,发送方可以发送一个免费ARP。

2.6 ARP与接口状态联动

当链路中间存在传输设备时,虽然网络层是直连,但是由于实际物理链路分段,链路或远端设备发生故障时,本端设备需要比较长的时间才能检测到。
ARP与接口状态联动功能可以通过向对端发送ARP探测报文,根据是否收到回应来判断对端是否具有正常的报文转发功能,从而决定本端的协议状态为up或down,进而可以触发路由的快速收敛。
只能对GE及其子接口、Ethernet及其子接口配置ARP与接口状态联动功能

转载于:https://www.cnblogs.com/yechaoxu/p/8579283.html

Proxy ARP--即ARP代理相关推荐

  1. HCIA—代理ARP (路由式代理ARP+vlan内代理ARP+vlan间代理ARP) [理论+实验验证]

    衷心感谢三位大佬的博客 ! ! ! ! 这篇博客主要是为了记录笔记方便查看而整理, 主要内容整理来源: (58条消息) 代理ARP实验_在下小黄的博客-CSDN博客_arp代理实验 (58条消息) 代 ...

  2. ARP家族--ARP,代理ARP,Gratuitous ARP

    ARP背景: 当思考主机A和主机B互相通信,人们更关注的是域名或者IP地址,但是在内核层面,机器更关注的链路层地址(MAC地址),而不关注上层的应用.主机之间如何获取MAC地址,那么就引入了ARP的概 ...

  3. ARP与ARP代理的理解

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

  4. 7月个人:Windows和Linux绑定和解绑ARP 了解ARP命令的用途。 掌握ARP命令的使用。...

    Windows和Linux绑定和解绑ARP 了解ARP命令的用途. 掌握ARP命令的使用. ARP地址解析协议是一个重要的TCP/IP协议,可以用于确定对应ip地址的网卡物理地址.也可以使用人工方式输 ...

  5. python扫描proxy并获取可用代理ip列表

    mac或linux下可以work的代码如下: # coding=utf-8import requests import re from bs4 import BeautifulSoup as bs i ...

  6. 轻松学,Java 中的代理模式(proxy)及动态代理

    我们先来分析代理这个词. 代理 代理是英文 Proxy 翻译过来的.我们在生活中见到过的代理,大概最常见的就是朋友圈中卖面膜的同学了. 她们从厂家拿货,然后在朋友圈中宣传,然后卖给熟人. 按理说,顾客 ...

  7. 服务器上运行arp,服务器ARP病毒的特征及防护说明

    服务器ARP病毒的特征及防护说明 更新时间:2008年01月29日 15:50:33   作者: 服务器ARP病毒的特征及防护说明 近期有些用户反映服务器上所有网站被插入了病毒代码,但是这些病毒代码 ...

  8. 如何嗅闻交换网络和ARP骗子-ARP解释的原则

    在嗅探以太网(一般指嗅探器可以对流经的网络数据包窃听)(sniff)不为网络安全是好事,虽然网络管理员能够跟踪数据包,发现 互联网问题,但前提是,如果破坏者使用.在整个网络带来了严重的安全威胁. 至于 ...

  9. Clone from GitHub with Git extension shows: Received HTTP code 407 from proxy after CONNECT(Git 代理)

    Clone from GitHub with Git extension shows: Received HTTP code 407 from proxy after CONNECT(Git 代理) ...

  10. Anti Arp Sniffer ARP病毒专杀工具

    Anti Arp Sniffer ARP病毒专杀工具 Anti Arp Sniffer ARP病毒专杀工具 下载地址:http://www.ixpub.net/attachment.php?aid=4 ...

最新文章

  1. render函数和redirect函数的区别+反向解析
  2. 擦除:提升 CNN 特征可视化的 3 种重要手段
  3. PowerDesigner生成数据库建表sql脚本
  4. Python网络爬虫与信息提取(三):网络爬虫之实战
  5. 关于 2020 年的前端趋势预测
  6. 最小生成树--通公路问题
  7. libstdc和glibc的一些共享库问题
  8. Django笔记 —— 模型高级进阶
  9. Windows登录密码破解
  10. 直连测速服务器异常,求证! 网件R7800, Speedtest测速的怪现象,200M宽带+R7800者进...
  11. Spring Cloud Netflix Eureka
  12. python绘制世界人口地图
  13. 机器学习(一)PR曲线和ROC曲线
  14. 05.odoo12开源框架学习
  15. 【7gyy】密码丢了?揭秘你的密码是如何被偷走的
  16. 玩转MongoDB—基本概念及初步使用
  17. 宝塔 linux面板,宝塔Linux面板安装使用入门教程_Linux系统云服务器/云服务器/独立服务器建站面板安装入门教程...
  18. aurora_8b10b通信
  19. 剑三服务器维护后蹲宠刷新吗,剑三宠物开服刷新点合集 重置版除奇遇外宠物刷新点一览...
  20. SpringBoot 监控

热门文章

  1. 5.Wide Deep Learning for Recommender Systems论文详细解读和代码实现
  2. html5源码笔记(三)【爱创课堂专业前端培训】
  3. 人体捕捉:《SMPL-X》
  4. 2018 ACM-ICPC, Syrian Collegiate Programming Contest
  5. 汇率兑换程序python按温度转换_python复习+实例编写(1)——温度转换、汇率转换...
  6. antd从v2升级到v3
  7. Firefox for Mac(火狐浏览器 mac)一款速度快到飞起的浏览器
  8. 启用Win11原生支持的DoH(DNS over HTTPS)和配置自定义的DoH服务
  9. 关于Tomcat找不到 指定路径的问题
  10. Couldnot load Project The file couldn‘t be opened