路由-静态路由实现非三层转发跨网段通信
验证理论
当配置出接口方式的静态路由时,不管目的地址是否为接口的同网段地址,路由器都会认为目的地址是该出接口直连,所以直接发送ARP请求。详细解释参考:路由基础-选路+直连+静态
基于上面的观察,设置两个不同的网段的地址,相互之间应该也能Ping通(灵感来源于PPP自动生成对方的主机路由)
实验拓扑
实验步骤
第一步:配置两个路由器的地址
[AR1-GigabitEthernet0/0/0]ip add 155.1.12.1 24
[AR2-GigabitEthernet0/0/0]ip add 10.1.2.1 24
第二步:配置路由
[AR1]ip route-static 10.1.2.0 24 GigabitEthernet 0/0/0
[AR2]ip route-static 155.1.12.0 24 GigabitEthernet 0/0/0
第三步:抓包验证结果
ping不通,发现有ARP请求发送没有回应报文
第四步:两边各自增加静态ARP,跳过ARP请求过程,再抓包验证结果
[AR1]dis int g 0/0/0 | in address
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 00e0-fc4b-232e
[AR2]dis int g 0/0/0 | in address
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 00e0-fc75-1a9c
[AR1]arp static 10.1.2.1 00e0-fc75-1a9
[AR2]arp static 155.1.12.1 00e0-fc4b-232e
[AR1]ping 10.1.2.1
PING 10.1.2.1: 56 data bytes, press CTRL_C to break
Reply from 10.1.2.1: bytes=56 Sequence=1 ttl=255 time=80 ms
Reply from 10.1.2.1: bytes=56 Sequence=2 ttl=255 time=30 ms
Reply from 10.1.2.1: bytes=56 Sequence=3 ttl=255 time=20 ms
Reply from 10.1.2.1: bytes=56 Sequence=4 ttl=255 time=20 ms
Reply from 10.1.2.1: bytes=56 Sequence=5 ttl=255 time=20 ms
--- 10.1.2.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/34/80 ms
此时AR1上没有10.1.2.0的网段,但是处理的时候是按照直连处理(从上面5个arp request可以看出来)
[AR1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.2.0/24 Static 60 0 D 155.1.12.1 GigabitEthernet0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
155.1.12.0/24 Direct 0 0 D 155.1.12.1 GigabitEthernet0/0/0
155.1.12.1/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
155.1.12.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
[AR1]
实验分析:通过出接口实现不同网段通信是可行的。但是没有添加静态ARP的时候R1发送的ARP 请求,R2为什么没有响应我没有想明白,R2收到广播的ARP请求报文之后剥离链路层头部,发现请求的是本地接口地址没有发送Reply的原因(如果ARP自检是不是同一个网段的话,request又怎么能发出来呢)没有想到,后续想到再加,或者欢迎知道的大佬留言