【实验拓扑】
【实验描述】
接口信息不说了,简单写一下各路由间的初始静态路由。设置R3的目的是为了测试当R1的f0/0接口Down掉,但同时下一跳12.12.12.2还可达的情况。
R1:
ip route 12.12.12.0 255.255.255.0 13.13.13.3
R2:
ip route 12.12.12.0 255.255.255.0 23.23.23.3
R3:
ip route 0.0.0.0 0.0.0.0 23.23.23.2
ip route 12.12.12.1 255.255.255.255 13.13.13.1
接下来就是在R1上设置各种方式的静态路由,使其与2.2.2.2可达。
【实验步骤】
一、只使用下一跳方式配置静态路由
ip route 2.2.2.0 255.255.255.0 12.12.12.2
路由器行为:
1、R1匹配2.2.2.0/24的路由条目,发现下一跳地址为12.12.12.2
2、R1递归查找路由表,直到找到出站接口。本例中只需要递归查找一次即可在直连路由中找到12.12.12.2的出站接口为f0/0
3、R1的出站接口f0/0向外发送ARP广播寻找12.12.12.2的MAC地址,R2收到该ARP后将与R1相连的接口返回给R1,R1将该ARP缓存到ARP Cache。以后再有去往R2的数据包就不必发送ARP请求了,因为下一跳地址都是12.12.12.12,因此可以从ARP缓存中直接读取目的MAC地址
4、R1将数据包由f0/0接口发出
5、最终ARP缓存中,只存在12.12.12.2的条目
本地接口Down:如果下一跳可达,路由条目不消失;如果下一跳不可达,路由条目消失。但如果接口全部Down,非直连网络的接口UP导致下一跳可达(即12.12.12.2不是通过直连网络连通,像本例中的R1->R3->R2),路由条目不恢复!
实验步骤(起初全部联通):
shutdown f0/0 观察路由条目不消失
shutdown f1/0 观察路由条目消失
no shutdown f1/0 观察路由条目不恢复
no shutdown f0/0 观察路由条目恢复
二、只使用出站接口方式配置静态路由
ip route 2.2.2.0 255.255.255.0 f0/0
路由器行为:
1、R1匹配2.2.2.0/24的路由条目,无需递归查询,直接找到出站接口f0/0
2、R1的出站接口f0/0向外发送ARP广播寻找2.2.2.2的MAC地址
3、路由器R2收到该ARP,由于Proxy-ARP默认开启,R2会在自己的路由表中查找2.2.2.2条目,如果找到就向自己下面的接口继续发送ARP广播寻找2.2.2.2的MAC地址
4、R2将2.2.2.2的MAC地址(就是与R1相连接口的MAC地址)返回给R1,R1将该ARP缓存到ARP Cache。由此可见,当R2下面接着的主机数目很多时,R1会发送大量的ARP请求并且在ARP缓存中产生大量的ARP条目。
5、R1将数据包由f0/0接口发出
6、最终ARP缓存中,只存在2.2.2.2的条目
本地接口Down:路由条目消失
三、同时使用出站接口和下一跳方式配置静态路由,但是两条命令分开写
ip route 2.2.2.0 255.255.255.0 12.12.12.2
ip route 2.2.2.0 255.255.255.0 f0/0
路由器行为:
1、有CEF的话按CEF进行负载均衡,关闭CEF的话按包进行负载均衡。关闭CEF,可以看到前2个包均不通,这是由于两种方式发送ARP请求的MAC地址不同。
2、负载均衡下路由器行为与上面两种相同,做两次就好了。
3、最终ARP缓存中,12.12.12.2的条目和2.2.2.2的条目均存在(关闭CEF之后才能看出效果)。
本地接口Down:无论下一跳是否可达,直连路由条目(接口方式配置)消失。下一跳路由条目情况同一。
四、联合使用接口和下一跳方式配置静态路由,在一条命令中同时配置下一跳和出站接口
ip route 2.2.2.0 255.255.255.0 f0/0 12.12.12.2
路由器行为:
1、R1匹配2.2.2.0/24的路由条目,发现下一跳地址为12.12.12.2,并且无需递归查询,直接找到出站接口f0/0
2、R1的出站接口f0/0向外发送ARP广播寻找12.12.12.2的MAC地址,R2收到该ARP后将与R1相连的接口返回给R1,R1将该ARP缓存到ARP Cache。以后再有去往R2的数据包就不必发送ARP请求了,因为下一跳地址都是12.12.12.12,因此可以从ARP缓存中直接读取目的MAC地址。
3、R1将数据包由f0/0接口发出
4、最终ARP缓存中,只存在12.12.12.2的条目
本地接口Down:即使下一跳可达,路由条目也会消失