目录
1. 实验环境
2. 结果测试
3. 分析验证
3.1 以太网静态路由配置使用下一跳跨网段通信抓包分析
3.2 以太网静态路由配置使用出接口跨网段通信抓包分析
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通信过程如下:
- R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.2所在网段);
- R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:“谁是12.0.0.2?请告诉12.0.0.1”;
- 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”;
- 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所在网段);
- R2就向下一跳IP地址所在网段的端口GE 0/0/1发送ARP广播请求:“谁是172.22.2.1?请告诉172.22.2.254”;
- PC收到R2的ARP广播请求后,发现是找自己的,PC应答R2的GE 0/0/1端口:“172.22.2.1在 54:89:98:8B:47:36”;
- 至此,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
以太网静态路由配置使用出接口跨网段通信过程如下:
- R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.1所在网段);
- R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:“谁是172.22.2.1?请告诉12.0.0.1”;
- R1的GE 0/0/0端口收到R1的ARP广播请求后,发现是找172.22.2.1,和自己不在同一网段,直接丢弃ARP广播数据;
- 至此,通信中断,无法建立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实现以太网静态路由配置使用出接口跨网段通信过程如下:
- R1访问PC,查看自己的路由表,R1发现有到PC所在网段的路由(有去往PC的路,下一段路就在该路由的下一跳IP地址12.0.0.1所在网段);
- R1就向下一跳IP地址所在网段的端口GE 0/0/0发送ARP广播请求:“谁是172.22.2.1?请告诉12.0.0.1”;
- 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”;
- R2查看自己的路由表,发现有到172.22.2.1在网段的直连路由(有去往172.22.2.1的路,下一段路就在该路由的下一跳IP地址172.22.2.254所在网段);
- R2就向下一跳IP地址所在网段的端口GE 0/0/1发送ARP广播请求:“谁是172.22.2.1?请告诉172.22.2.254”;
- PC收到R2的ARP广播请求后,发现是找自己的,PC应答R2的GE 0/0/1端口:“172.22.2.1在 54:89:98:8B:47:36”;
- 至此,ARP表建立完成,后续通信直接查看ARP表、路由表即可完成,不用在发送ARP广播请求和ARP应答,除非ARP表过期。