华为---代理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代理"小节一致。

相关推荐
顧棟23 分钟前
INFINI Gateway 服务器端口重用(SO_REUSEPORT)实现与分析
网络·gateway
熬夜磕代码丶27 分钟前
RN鸿蒙空间音频实战
华为·音视频·harmonyos
行者-全栈开发42 分钟前
【鸿蒙心迹】通知与推送集成——emitter 本地通知与推送服务全链路(HarmonyOS 7.x)
华为·harmonyos
沫璃染墨1 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Nerd(BUG版)1 小时前
鸿蒙API18~26新增V2组件全解析
microsoft·华为·harmonyos
Felven1 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
LabVIEW开发2 小时前
Omron PLC:接 LabVIEW 常踩的 5 个坑
服务器·网络·labview·labview知识·labview功能·labview程序
南京码讯光电技术有限公司2 小时前
工业5G/4G路由器怎么选?核心参数解析与工业级网关选购指南
网络·智能路由器
爱和冰阔落2 小时前
【Linux网络】JsonCpp 怎么实现序列化?从 Request/Response 到网络计算器消息设计
linux·运维·网络·php
feng_you_ying_li16 小时前
linux之数据链路层
linux·网络·智能路由器