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

news/2024/5/19 4:04:26/文章来源:https://blog.csdn.net/qq_62311779/article/details/127346402

衷心感谢三位大佬的博客 ! ! ! !

这篇博客主要是为了记录笔记方便查看而整理, 主要内容整理来源:

(58条消息) 代理ARP实验_在下小黄的博客-CSDN博客_arp代理实验

 (58条消息) 代理ARP_士别三日wyx的博客-CSDN博客_arp代理

 (59条消息) 华为ARP代理的三种方式_格洛米爱学习的博客-CSDN博客_华为arp代理​​​​​​

目录

一、代理ARP简述:

(1)简述①: 

(2)简述② 

二、 代理ARP原理:

三、路由式 ARP代理:

 (1)原理+应用场景: 

 (2)实验验证:

 四、vlan内 代理ARP:

(1)原理+应用场景:

  (2)实验配置:

五、vlan 间的 代理ARP:

 (1)原理+应用场景:

    (2)实验配置:

六、总结:

(1)相同点: 

(2)不同点:

 七、特点:

(1)代理ARP协议的优点:

(2)代理ARP协议的缺点:


一、代理ARP简述:

(1)简述①: 

  • ①如果ARP请求是从一个网络的主机发往同一网段却不在同一物理网络上的另一台主机,那么连接它们的具有代理ARP功能的设备就可以回答该请求。
  • ③对于ARP代理功能,有些厂商是默认打开的,有些厂商是默认关闭的。

(2)简述② 

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

———————————————————————————————————————————————————— 

二、 代理ARP原理:

  •  图中R1和R3处于不同的广播域中,R1 和R3在相互通信时,R1先发送了一个ARP广播数据包,请求R3的mac地址,但是由于R1是12.1. 1. 0网段,而R3是13. 1. 1.0网段,R1和R3之间是跨网段访问的,也就是说R1的ARP请求会被R2拦截到,然后R2会封装自己的mac地址为目的地址发送一个ARP回应数据报给R1 (善意的欺骗),然后R2就会代替R1去访问R3。
  • 整个过程R1以为自己访问的是R3,实际上真正去访问R3的是R2,R1 却并不知道这个代理过程,这就是所谓的ARP代理,通常用于跨网段访问

————————————————————————————————————————————————————  

三、路由式 ARP代理:

(1)原理+应用场景: 

  • 也就是普通的arp代理,当PC1没有网关时去ping不是同一网段的设备(直接封装目的IP的请求报文),到达了最近的路由器时,因为为广播帧,路由器会拆包查看,一般情况下请求的IP地址不是自己的,不会处理,但是开启了的路由的arp代理后,如果发现目的IP地址是自己有相应的路由表,并且出接口不是原来的接口,这时就会按照路由表项路由表的出接口请求ARP地址(如果是直连,直接请求,如果不是直连,请求下一跳),然后会将自己的ARP地址发送个请求端,让对方来找自己就行了,相当于自己就是一个中间人,帮助别人转发

 ————————————————————————————————————————————————————  

 (2)实验验证:

  •  注:PC1和PC2并没有配置网关。每个PC1、PC2、AR1都配置了对应的IP
  • 如果PC1和PC2配置网关,PC1和PC2的ARP表里有的只是对应的网关的MAC地址,任然ping不通。

AR1没有开启ARP代理功能时:

 AR1开启ARP代理功能之后:

[AR1-GigabitEthernet0/0/0]arp-proxy enable
[AR1-GigabitEthernet0/0/1]arp-proxy enable

 PC1网关的MAC和PC2的MAC一样,事实上是网关替代了PC2回答了PC1的ARP请求。

 ———————————————————————————————————————————————————— 

 四、vlan内 代理ARP:

(1)原理+应用场景:

  • Vlan内的arp代理是在隔离端口处使用的,仅仅对二层隔离有效果(三层的端口隔离没有效果),双方设备处于同一个网段,在同一个vlan,如果设置了隔离的端口,就不能正常的互相通信了,但是我们在SW上的对应vlan上开启了arp代理,仍然PC1和PC2可以通信。
  • 原理:PC1发送arp报文请求PC2的信息,SW不会将从与SW相连的接口收到的信息通过二层转发从与PC2相连的接口发送出去。
  • 如果开启了arp代理,当SW收到了PC1发送给PC2的信息时同样不会进行二层的发送,而是SW检查打上的tag和请求的IP地址从而将报文从允许此tag的接口上发送出去(不包括原来的接口),这样就是通过SW向PC2请求MAC地址。PC2进行arp报文回复,SW收到回复报文后将自己接口的MAC地址通过查找MAC地址表从与PC1相连的接口发送出去,完成了ARP代理,以后PC1其实都是将发送给PC2的报文发送给了SW进行代处理SW再进行转发,避免了两个接口间无法进行正常通信。
  • ①端口隔离简述: 两个启用端口隔离的接口无法互相访问,端口隔离也可以应用在隔离二层广播风暴
  • 端口隔离功能可以实现同一VLAN内端口之间的隔离。不同隔离组之间是可以互访的,只是隔离组内部是不可以相互访问的

(59条消息) 端口隔离配置命令、端口镜像(抓包配置)详解(附图,建议PC观看)_孤城286的博客-CSDN博客_端口隔离命令

 ————————————————————————————————————————————————————  

(2)实验配置:

---端口隔离
[Huawei-GigabitEthernet0/0/1]port-isolate enable 
[Huawei-GigabitEthernet0/0/2]port-isolate enable 
---ARP代理
interface Vlanif1 //进入双方的都在的vlan中
ip address 10.1.1.254 255.255.255.0 //arp代理是三层计算,需要配置ip地址,虚拟接口代替对方
arp-proxy inter-sub-vlan-proxy enable //开启区域间的arp代理

  ———————————————————————————————————————————————————— 

五、vlan 间的 代理ARP:

 (1)原理+应用场景:

  •  Vlan间arp代理是使用在super vlan中的,也就是同一网段,不同vlan间的arp代理
  •  因为目的地址在同一网段,PC发送arp请求信息的时候是直接请求对面的MAC地址的,并且会打上自己网段的tag,这时候super vlan会检测sub vlan间的通信(正常情况下只有本vlan的三层接口才会检测),查看arp请求报文的IP地址,正常情况下发现对方的IP地址不是自己就不做任何操作,所以arp请求报文就只能在原来的vlan泛洪,但是目标主机确是在另外一个vlan,所以无法正常请求到。当开启了arp区域间代理的时候,super vlan发现了arp请求报文,并且请求的地址和自己是同一网段的主机IP,它会知道这是他sub vlan的报文,但是到底是哪个sub vlan并不清楚,所以打上其余sub vlan的tag从可以通过对应tag的出接口发送出去,这样当arp请求报文回复以后,带有的tag就是对方所在sub vlan的tag,这样交换机就获取的了对方的MAC地址,现在就只需要将自己的MAC地址封装进入arp回复消息发送给请求端即可,回复的具体物理端口需要查看MAC地址表进行,由于PC请求的时候SW已经在相应的接口上学习到了,现在只需要从这个接口发送出去即可。

 ————————————————————————————————————————————————————   

(2)实验配置:

interface Vlanif1 //进入双方的都在的vlan中
ip address 10.1.1.254 255.255.255.0 //arp代理是三层计算,需要配置ip地址
arp-proxy inter-sub-vlan-proxy enable //开启区域间的arp代理

  ———————————————————————————————————————————————————— 

六、总结:

(1)相同点: 

  •  3种arp代理都是都是将自己接口的MAC地址发送回复给对方(对方请求的都不是自己的MAC)做一个善意的欺骗,帮助别人进行通信过程。并且既然要进行arp的代理,就必须解封装到网络层,然后被识别,因为arp请求报文都是广播的报文,肯定是能够被对应的三层接口进行接收的(聚合vlan中因为super vlan和sub vlan进行了相互的关联,所以super vlan的接口也会处理sub vlan发送来的arp报文)。

(2)不同点:

  • 应用的环境不同中,路由arp的环境是一个路由器或者三层交换机连接了两个不同的网段,两台互相通信的设备在这两个不同的网段,并且需要请求的设备没有设置网关,这时候请求的设备会直接对方的MAC地址,当开启了ARP代理后接受的接口会帮助处理。
  • Vlan内路由适用于端口二层隔离的环境,这个在双方设备在同一个vlan中,只不过开启了二层隔离,当在对应vlan的接口上创建了IP地址后,配置了arp代理,arp请求报文虽然不能直接发送到对方,但是相应的vlanif接口会代为处理,发送arp请求报文发往其他允许其vlan tag通过的物理接口,得到回复后,将自己的MAC地址返回给原请求设备。以后进行的二层通信,都只需要将报文发送给S1,因为是S1vlanif接口的MAC地址,关于解封装到网络层查看,发现目的IP地址不是自己,然后查路由表,转发到相应的接口即可。
  • Vlan间arp代理使用在聚合vlan中,也就是在super vlan的接口上进行配置,super vlan关联sub vlan以后会处理sub vlan的信息,例如arp广播报文,虽然是sub vlan接收到的,但是也会转发到super vlan的接口下查看,这个时候如果开启了arp代理,super vlan会向其sub vlan关联的接口发送对应的arp请求消息代理请求。

   ———————————————————————————————————————————————————— 

 七、特点:

(1)代理ARP协议的优点:

  • 最主要的一个优点就是能够在不影响其他router(路由器)的路由表的情况下在网络上添加一个新的router,这样使得子网的变化对主机是透明的。
  • 代理 ARP应该使用在主机没有配置默认网关或没有任何路由策略的网络上

(2)代理ARP协议的缺点:

  • 增加了某一网段上ARP流量
  • 主机需要更大的ARP table来处理IP地址到MAC地址的映射
  • 安全问题,比如ARP欺骗(spoofing)
  • 不会为不使用ARP来解析地址的网络工作
  • 不能够概括和 推广网络拓扑

 由于本人暂时还没学到IE,所以整理的比较驳杂,很多原理和图片也是照原作者搬运.大家可以点击连接前往三位大佬博客仔细阅读.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_24620.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字节在职三年,如何想要三个月内将软件测试学好,我建议你这样学

目录 13年本科毕业,目前已经工作将近7年时间,第一段工作是在字节工作3年时间,目前是再另外一家大厂工作。今天跟大家分享一下我工作的心得,希望对你有所帮助 我对软件测试的理解 软件测试是软件开发的最后一道防线,…

【Vue 快速入门系列】样式绑定与条件渲染

文章目录前言样式绑定条件渲染前言 在vue中好像一切数据都是可以动态的,那么我们应如何让dom元素中的样式动起来呢?我们既然可以改变dom元素的样式,我们能不能将其隐藏起来呢?今天将会介绍到Vue中如何将属性与dom元素的样式进行绑…

Java List 扩容机制探究(ArrayList 、Vector、LinkedList)

文章目录List扩容ArrayList 扩容机制结论:无参构造创建的ArrayList的初始空间为0,在添加第一个元素的时候空间会默认为10,之后扩容会为当前容量的1.5倍。0->10->15->22->33->49源码分析1.ArrayList list new ArrayList();2. …

Android多媒体架构

Android多媒体架构 要实现我们的媒体播放器 主要使用的就是android media MediaPlayer 这样的一个类 来为我们的播放器的实现提供一个主要功能 而这个类的实现又依赖于 JNI层的 1)一些接口 2)Libmedia.so 库 (这个库才是 mediaplayer类的真正实现) 再往下就是我们的se…

产品能力|书山有路-趣味算法(第二版)读书笔记part1

系列文章目录 趣味算法(第二版)读书笔记: day1: 序章|学习的方法和目标. day2:算法之美|打开算法之门与算法复杂性 day3.算法之美|函数特性与图形 day4.数学之美|斐波那契数列 后续补充完善 提示:写完文章后,目录可以…

Kubernetes_16_静态Pod网关apiserver的audit审计日志

系列文章目录 文章目录系列文章目录前言一、理论:kube-apiserver的审计日志1.1 kube-apiserver.yaml 文件的五行修改1.2 audit-policy.yaml文件的修改二、实践:编写策略文件,打印想要的审计日志2.1 步骤1:编写修改policy.yaml文件…

05_排序与分页

1.排序数据 1.1排序规则 如果没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序显示的。 使用ORDER BY子句排序 ASC (ascend):升序 DESC (descend):降序 ORDER BY子句在SELECT语句的结尾。 1.2单列排序 1.简单使用排序 #如果没有使用排序操作&am…

每日算法、面试题

目录 2022/10/16 一、算法 翻转字符串里的单词 找出字符串中第一个匹配项的下标 二、面试题 SpringMvc中如何解决POST请求的中文乱码问题 SpringMvc的工作流程 2022/10/16 一、算法 翻转字符串里的单词 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 …

【Nginx】三、Nginx实现四层负载均衡Nginx实现限流防盗链流量镜像

Nginx实现四层负载均衡一、Nginx实现四层负载均衡1、四层负载均衡与七层负载均衡区别2、Nginx四层负载均衡配置3、SocketTool工具4、TCP&UDPDebug工具二、Nginx实现限流三、Nginx实现防盗链四、Nginx流量镜像一、Nginx实现四层负载均衡 我们之前介绍的HTTP负载均衡&#x…

Silane-PEG-Alkyne,硅烷-聚乙二醇-炔基用于修饰蛋白类

An English name:Silane-PEG-Alkyne Chinese name:硅烷-聚乙二醇-炔基 Item no:X-GF-0314-10k CAS:N/A Formula:N/A MW:Silane-PEG-Alkyne5000、Silane-PEG-Alkyne3400、Silane-PEG-Alkyne2000、硅烷-…

【附源码】计算机毕业设计SSM美食菜谱网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

(附源码)计算机毕业设计SSM基于JAVA线上订餐系统

(附源码)计算机毕业设计SSM基于JAVA线上订餐系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

【Vue Router】

资料 官网:https://v3.router.vuejs.org/zh/guide/ 尚硅谷视频:https://www.bilibili.com/video/BV1Zy4y1K7SH?p118 基本使用 安装: 这里安装vue3.x vue 2.x 版本对应 vue-router 3.xvue 3.x 版本对应 vue-router 4.x其他以此类推 npm…

【数据结构】------ 堆

目录 堆的概念及结构 堆的实现 堆向上调整算法 堆向下调整算法 堆的创建 堆的初始化和销毁 堆的插入 堆的删除 获取堆顶的数据 获取堆的数据个数 堆的判空 TopK问题(在N个数找出最大(小)的前K个) 堆排序 堆的概念及…

自学Python第二十七天- 简单部署生产环境,docker 的使用

自学Python第二十七天- 部署极简生产环境Windows 环境部署创建绿色 python 环境Linux 环境部署创建 Linux 环境使用Hyper-V使用 VMware 部署使用 docker 部署docker 原理安装 docker使用 linux 系统使用包管理工具使用 docker 仓库使用源代码安装使用 windows 系统开启 docker …

寻路算法-从bfs到Astart

一、简单BFS算法 bfs即广度优先搜索,最基础的寻路算法 即向出发点向四周无目的扩散,知道到达终点或者无法扩散为止 # coding: utf-8import random import bisectclass Solution(object):def __init__(self, n, m, bad):self.map [[0, 0, 0, 0, 0, 0, …

1.4. PUBLIC KEYS AS IDENTITIES公钥及身份 1.5. TWO SIMPLE CRYPTOCURRENCIES两种简单加密货币

《BITCOIN AND CRYPTOCURRENCY TECHNOLOGIES》Chapter 1系列 1.4. PUBLIC KEYS AS IDENTITIES 公钥作为身份 从一个签名方案中提取一个公钥将之视为一个身份。 公钥 public key 可以代表私钥 private key 的公众身份,而 private key 则是此人身份真实的内涵。 随时…

Linux服务搭建 -- NTP服务

什么是NTP? NTP全名“Network TimeProtocol”,即网络时间协议,是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。 NTP基于UDP报文进行传输,使用的UDP端口号为123。使用NTP的目的是对网…

QFramework v1.0 使用指南 工具篇:03. CodeGenKit 脚本生成

在这一篇,我们学习几乎每个项目都要用到并且从中受益的功能:自动生成脚本并绑定,简称脚本生成。 基本使用 我们先在场景中,随便创建一些有父子结构的 GameObject,如下所示: 接着给 Player 挂上 ViewContr…

Spring 更简单的读取和存储对象

在 Spring 中想要更简单的存储和读取对象的核心是使用注解. 1.存储 Bean 对象 1.1 前置⼯作:配置扫描路径(重要) 注意:想要将对象成功的存储到 Spring 中,我们需要配置⼀下存储对象的扫描包路径,只有被配…