华为---以太网静态路由配置使用下一跳通信正常,而使用出接口无法通信

目录

[1. 实验环境](#1. 实验环境)

[2. 结果测试](#2. 结果测试)

[3. 分析验证](#3. 分析验证)

[3.1 以太网静态路由配置使用下一跳跨网段通信抓包分析](#3.1 以太网静态路由配置使用下一跳跨网段通信抓包分析)

[3.2 以太网静态路由配置使用出接口跨网段通信抓包分析](#3.2 以太网静态路由配置使用出接口跨网段通信抓包分析)

[3.3 以太网静态路由配置使用出接口无法跨网段通信问题解决办法](#3.3 以太网静态路由配置使用出接口无法跨网段通信问题解决办法)


1. 实验环境

以太网静态路由配置使用下一跳跨网段通信正常,而使用出接口无法跨网段通信,以下图网络拓扑为例进行分析说明。

配置如下:

<Huawei>system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.0.0.1 30
[R1-GigabitEthernet0/0/0]quit
[R1]ip route-static 172.22.2.0 24 12.0.0.2

<Huawei>system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 12.0.0.2 30
[R2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 172.22.2.254 24
[R2-GigabitEthernet0/0/1]quit

2. 结果测试

以太网静态路由配置使用下一跳跨网段通信正常。

将以太网静态路由配置改用出接口后能否跨网段通信?

[R1]undo ip route-static 172.22.2.0 255.255.255.0 12.0.0.2
[R1]ip route-static 172.22.2.0 255.255.255.0 GigabitEthernet0/0/0

以太网静态路由配置改用出接口后无法跨网段通信

3. 分析验证

为什么以太网静态路由配置使用下一跳跨网段通信正常,而使用出接口无法跨网段通信?

3.1 以太网静态路由配置使用下一跳跨网段通信抓包分析

以太网静态路由配置使用下一跳跨网段R1访问PC通信过程如下:

  1. R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.2所在网段);
  2. R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:"谁是12.0.0.2?请告诉12.0.0.1";
  3. R2的GE 0/0/0端口收到R1的ARP广播请求后,发现是找自己的,R2的GE 0/0/0端口应答R1的GE 0/0/0端口:"12.0.0.2在 00:e0:fc:64:07:60";
  4. R2拆开从R1的GE 0/0/0端口发来的数据帧,发现是要找IP地址172.22.2.1/24,R2查看自己的路由表,发现有到172.22.2.1/24所在网段的直连路由(有去往172.22.2.1/24的路,下一段路就在该路由的下一跳IP地址172.22.2.254所在网段);
  5. R2就向下一跳IP地址所在网段的端口GE 0/0/1发送ARP广播请求:"谁是172.22.2.1?请告诉172.22.2.254";
  6. PC收到R2的ARP广播请求后,发现是找自己的,PC应答R2的GE 0/0/1端口:"172.22.2.1在 54:89:98:8B:47:36";
  7. 至此,ARP表建立完成,后续通信直接查看ARP表、路由表即可完成,不用在发送ARP广播请求和ARP应答,除非ARP表过期。

3.2 以太网静态路由配置使用 出接口跨网段通信抓包分析

[R1]undo ip route-static 172.22.2.0 255.255.255.0 12.0.0.2
[R1]ip route-static 172.22.2.0 255.255.255.0 GigabitEthernet0/0/0

以太网静态路由配置使用出接口跨网段通信过程如下:

  1. R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.1所在网段);
  2. R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:"谁是172.22.2.1?请告诉12.0.0.1";
  3. R1的GE 0/0/0端口收到R1的ARP广播请求后,发现是找172.22.2.1,和自己不在同一网段,直接丢弃ARP广播数据;
  4. 至此,通信中断,无法建立ARP表,因为R1的端口GE 0/0/0发送ARP广播请求,同时R1的GE 0/0/0端口收到R1的ARP广播请求,自问自答,而且ARP广播请求的地址和R1的GE 0/0/0端口IP地址不在同一网段,无法得到应答。

3.3 以太网静态路由配置使用 出接口无法跨网段通信问题解决办法

在R2的GE 0/0/0端口配置代理ARP,解决以太网静态路由配置使用出接口无法跨网段通信问题。

配置如下:

[R2-GigabitEthernet0/0/0]arp-proxy enable

测试验证:

在R2的GE 0/0/0端口配置代理ARP后,R1和PC通信正常。

配置代理ARP实现 以太网静态路由配置使用出接口跨网段通信过程如下:

  1. R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.1所在网段);
  2. R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:"谁是172.22.2.1?请告诉12.0.0.1";
  3. R2的GE 0/0/0端口收到R1的ARP广播请求后,发现不是找自己的,R2的GE 0/0/0端口有ARP代理功能,所以应答R1的GE 0/0/0端口:"172.22.2.1在 00:e0:fc:64:07:60";
  4. R2查看自己的路由表,发现有到172.22.2.1在网段的直连路由(有去往172.22.2.1的路,下一段路就在该路由的下一跳IP地址172.22.2.254所在网段);
  5. R2就向下一跳IP地址所在网段的端口GE 0/0/1发送ARP广播请求:"谁是172.22.2.1?请告诉172.22.2.254";
  6. PC收到R2的ARP广播请求后,发现是找自己的,PC应答R2的GE 0/0/1端口:"172.22.2.1在 54:89:98:8B:47:36";
  7. 至此,ARP表建立完成,后续通信直接查看ARP表、路由表即可完成,不用在发送ARP广播请求和ARP应答,除非ARP表过期。
相关推荐
Lary_Rock1 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
热爱跑步的恒川2 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
云飞云共享云桌面3 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
一坨阿亮4 小时前
Linux 使用中的问题
linux·运维
音徽编程5 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
幺零九零零6 小时前
【C++】socket套接字编程
linux·服务器·网络·c++
wclass-zhengge6 小时前
Docker篇(Docker Compose)
运维·docker·容器
李启柱6 小时前
项目开发流程规范文档
运维·软件构建·个人开发·设计规范
23zhgjx-NanKon7 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon7 小时前
华为eNSP:mux-vlan
网络·安全·华为