华为---代理ARP工作过程示例分析

目录

[1. 示例场景](#1. 示例场景)

[2. 基本配置](#2. 基本配置)

[3. 配置代码](#3. 配置代码)

[4. 测试验证](#4. 测试验证)

[5. 抓包分析](#5. 抓包分析)

[5.1 在代理ARP环境下PC1和PC2通信分析](#5.1 在代理ARP环境下PC1和PC2通信分析)

[5.2 取消代理ARP环境下PC1和PC2通信分析](#5.2 取消代理ARP环境下PC1和PC2通信分析)

[【1】取消R1路由器GE 0/0/1端口ARP代理](#【1】取消R1路由器GE 0/0/1端口ARP代理)

[【2】取消R2路由器GE 0/0/1端口ARP代理](#【2】取消R2路由器GE 0/0/1端口ARP代理)


1. 示例场景

如上图所示, PC1和PC2通过代理ARP进行通信。

2. 基本配置

PC也可以配置网关IP地址,因为PC1和PC2的IP地址都是192.168.1.0/24网段的IP地址,所以PC1和PC2认为它们处于同一局域网,通过发送ARP广播就能查找到对方,不会通过网关进行路由去查找对方。即便是配置好路由,PC1和PC2也无法通信。

<Huawei>system-view
Huaweisysname R1
R1interface GigabitEthernet 0/0/1
R1-GigabitEthernet0/0/1ip address 192.168.1.254 24
R1-GigabitEthernet0/0/1interface GigabitEthernet 0/0/0
R1-GigabitEthernet0/0/0ip address 12.0.0.1 30
R1-GigabitEthernet0/0/0quit
R1ip route-static 192.168.2.0 24 12.0.0.2
R1ip route-static 3.3.3.3 32 12.0.0.2
R1-GigabitEthernet0/0/1arp-proxy enable

<Huawei>system-view
Huaweisysname R2
R2interface GigabitEthernet 0/0/0
R2-GigabitEthernet0/0/0ip address 12.0.0.2 30
R2-GigabitEthernet0/0/0interface GigabitEthernet 0/0/1
R2-GigabitEthernet0/0/1ip address 192.168.2.254 24
R2interface LoopBack 1
R2-LoopBack1ip address 3.3.3.3 32
R2-LoopBack1quit
R2ip route-static 192.168.1.0 24 12.0.0.1
R2-GigabitEthernet0/0/1arp-proxy enable

3. 配置代码

复制代码
system-view 
sysname R1
interface GigabitEthernet 0/0/0
ip address 12.0.0.1 30
interface GigabitEthernet 0/0/1
ip address 192.168.1.254 24
arp-proxy enable 
quit
ip route-static 192.168.2.0 24 12.0.0.2
ip route-static 3.3.3.3 32 12.0.0.2

system-view 
sysname R2
interface LoopBack 1	
ip address 3.3.3.3 32
interface GigabitEthernet 0/0/0
ip address 12.0.0.2 30
interface GigabitEthernet 0/0/1
ip address 192.168.2.254 24
arp-proxy enable 
quit
ip route-static 192.168.1.0 24 12.0.0.1

4. 测试验证

PC1和PC2通信正常。

5. 抓包分析

5.1 在代理ARP环境下PC1和PC2通信分析

PC1发送ARP请求:"谁是192.168.1.65?请告诉192.168.1.1"

R1的GE 0/0/1端口应答:"192.168.1.65在 00:e0:fc:06:24:04"

上图所示R1的GE 0/0/1端口MAC地址为 00e0-fc06-2404

在代理ARP环境下PC1和PC2通信过程为:

  1. PC1访问PC2,PC1判断PC2的IP地址和自己是同一网段;
  2. PC1发送ARP请求:"谁是192.168.1.65?请告诉192.168.1.1";
  3. 配置了代理ARP的R1路由器GE 0/0/1端口接收到PC1的ARP广播,查看自己的路由表是否有去往PC2所在网段的路由?
  4. 如果R1路由器的路由表有去往PC2所在网段的路由,则R1路由器GE 0/0/1端口用自己的MAC地址代替PC2的MAC地址进行应答,"192.168.1.65在 00:e0:fc:06:24:04",同时R1路由器GE 0/0/1端口和R2路由器GE 0/0/1端口以中间人的身份替PC1和 PC2进行"传话"通信;
  5. 如果R1路由器的路由表没有去往PC2所在网段的路由,则不应答。

上图为在R1上删除去往PC2所在网段路由后,PC1 ping PC2的截图, 没有应答。
R1undo ip route-static 192.168.1.64 27 12.0.0.2

5.2 取消代理ARP环境下PC1和PC2通信分析

【1】取消R1路由器GE 0/0/1端口ARP代理

R1-GigabitEthernet0/0/1undo arp-proxy enable

取消R1路由器GE 0/0/1端口ARP代理后,PC1访问PC2,PC1判断PC2的IP地址和自己是同一网段,PC1发送ARP请求:"谁是192.168.1.65?请告诉192.168.1.1",收不到应答,因为路由器R1隔离了ARP广播,而PC1所在局域网没有192.168.1.65 IP地址的终端,所以PC1访问不到PC2。

取消了R1路由器GE 0/0/1端口ARP代理,但没取消R2路由器GE 0/0/1端口ARP代理,PC2还能访问到PC1。

PC2访问PC1正常。因为R2路由器GE 0/0/1端口ARP代理,通信过程与"5.1 在代理ARP环境下PC1和PC2通信分析"小节一致。

【2】取消R2路由器GE 0/0/1端口ARP代理

同时取消R1路由器GE 0/0/1端口和R2路由器GE 0/0/1端口ARP代理,PC1访问不到PC2, PC2也访问不到PC1。原理与"【1】取消R1路由器GE 0/0/1端口ARP代理"小节一致。

相关推荐
2501_943782352 小时前
【共创季稿事节】摩斯电码转换器:编码表与双向转换的实现
android·华为·鸿蒙·鸿蒙系统
AI科技星2 小时前
拓扑生命系统确定性理论:基于32维流形的遗传密码起源与衰老动力学( 中英双语顶刊终稿·标准数学符号)
开发语言·网络·人工智能·算法·机器学习·乖乖数学·全域数学
想你依然心痛2 小时前
RT-Thread组件生态:SAL网络框架与AT组件实战——网络抽象、AT指令
网络·arm开发·at·sal
2401_841585182 小时前
防破 · 稳定 · 易用——文心云网络验证,为您的软件商业化保驾护航
网络
星恒讯工业路由器3 小时前
公网IP、NAT、端口映射:外网访问家里的“通关攻略”
网络·智能路由器·信息与通信·nat·端口映射·公网ip
芒鸽3 小时前
在仓颉语言里造一个没有反射的服务端框架
开发语言·华为·harmonyos
前端炒粉3 小时前
个人简历面经总结二
前端·网络·vue.js·react.js·面试
binbin_523 小时前
UIAbility 与 WindowStage:窗口创建、加载、销毁的完整链路
开发语言·javascript·深度学习·华为·harmonyos
Helen_cai3 小时前
OpenHarmony Text 文本组件精细化开发与 API23 + 适配优化
华为·harmonyos