目录
前言
上一节我们讲到了静态路由的基本配置和用法,今天我们看看静态路由还有哪些其他的用法,比如负载分担以及路由备份。
- 负载分担是指去往同一目的网络有多条优先级和开销值一致的路由,类似于武汉到北京有两趟高铁,耗时一样,那么这两条路由我们就都可以选择。
- 路由备份是指去往同一目的网络有多条优先级或开销值不一致的路由,某些路由会被优选,而其他路由就作为备份存在,比如武汉到北京可以坐高铁也可以坐绿皮车,而绿皮车由于时间太长就不作为优先考虑的方式,但是当高铁票买不到的话,就可以选择坐绿皮车去了。
实验拓扑
网络规划
PC1 | 192.168.1.1/24 | 192.168.1.254/24 |
PC2 | 192.168.1.1/24 | 192.168.1.254/24 |
AR1-G0/0/0 | 10.1.12.1/24 | -------- |
AR1-G0/0/1 | 10.1.21.1/24 | -------- |
AR1-G0/0/2 | 192.168.1.254/24 | -------- |
AR2-G0/0/0 | 10.1.12.2/24 | -------- |
AR2-G0/0/1 | 10.1.21.2/24 | -------- |
AR2-G0/0/2 | 192.168.2.254/24 | -------- |
实验目的
1、如拓扑所示,在AR1和AR2之间有两条等价路径,需要在AR1上配置静态路由实现访问PC2所在网段负载分担,最终实现PC1访问PC2可以负载分担到两条等价路径
2、如果现要求AR1和AR2之间G0/0/1接口作为G0/0/0的备份,需要在AR1上配置静态路由实现访问PC2所在网段优先走AR1的G0/0/0接口,当AR1的G0/0/0接口所在链路失效,则选择G0/0/1接口进行流量转发。
配置思路
1、配置PC和路由器接口IP地址以及PC的网关地址。
2、配置静态路由实现负载分担和路由备份。
配置过程
1、配置PC1和PC2的IP地址和网关,配置步骤和上一节类似,不再叙述。
2、配置AR1和AR2的接口IP地址,配置步骤和上一节类似,不再叙述。
3、在AR1和AR2上配置静态路由实现PC1访问PC2路径负载分担,在AR1上配置如下:
[AR1]ip route-static 192.168.2.0 24 10.1.12.2
[AR1]ip route-static 192.168.2.0 24 10.1.21.2
其中这两条静态路由目的网段一致,并且都是静态路由,但是下一跳不一样,所以可以实现访问PC2所在网段的路由负载分担,此时需要在AR1上查看配置是否成功。
在AR1上使用display ip routing-table protocol static查看静态路由是否已经负载分担:
[AR1]display ip routing-table protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
Destinations : 1 Routes : 2 Configured Routes : 2
Static routing table status : <Active>
Destinations : 1 Routes : 2
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.2.0/24 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/0
Static 60 0 RD 10.1.21.2 GigabitEthernet0/0/1
Static routing table status : <Inactive>
Destinations : 0 Routes : 0
从反馈的路由信息中我们就可以看到,现在AR1访问PC2所在网段192.168.2.0/24已经实现了两个不同出接口以及下一跳,实现了负载分担。
我们需要在AR2上写一条回程访问192.168.1.0/24的路由能够使得报文能正确回来即可,在AR2上的配置如下:
[AR2]ip route-static 192.168.1.0 24 10.1.12.1
4、测试负载分担,在PC1上使用tracert命令查看PC1访问PC2是否已经负载分担:
通过实验发现,PC1访问PC2时只走了10.1.21.2这个网段,没有流量负载分担的现象,但是实际上负载分担已经成功了,那么原因是什么呢?
当到达同一目的地存在同一路由协议发现的多条路由,且这几条路由的开销值也相同时,路由器就会进行负载分担,将流量分摊到多条链路上。缺省情况下,流量按照逐流调度进行分流转发,即每条流量只能选择一条链路进行转发。通过执行ip load-balance packet命令,可以配置流量按照逐包调度的方式进行分流转发,即每条流量都能被分摊到等价路由的所有链路上进行分流转发,减少链路拥塞的发生,实现链路的合理利用。
所以我们发现,华为AR路由器缺省是逐流负载分担,也就是说对于PC1访问PC2的流量在AR1上只会走其中的一条路径,但是可以通过配置命令实现逐包负载分担,但是由于eNSP模拟器中没有实现该命令功能,所以我们不再扩展实验。
但是由于是在AR1上实现的负载分担,所以我们可以通过在AR1上指定源地址进行tracert测试,测试如下:
<AR1>tracert -a 192.168.1.254 192.168.2.1
traceroute to 192.168.2.1(192.168.2.1), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.1.21.2 30 ms 10.1.12.2 20 ms 20 ms
2 192.168.2.1 20 ms 20 ms 20 ms
通过测试我们发现AR1访问192.168.2.1确实有两个下一跳10.1.21.2和10.1.12.2,实现了负载分担。
5、上一步我们做完了负载分担的实验部分,接下来我们配置一下关于路由备份的实验。直接在原有的基础上进行配置,需要在AR1上覆盖配置静态路由,AR1配置如下:
[AR1]ip route-static 192.168.2.0 24 10.1.21.2 preference 70
如配置所示,我们在静态路由配置后加了优先级的配置参数为70,由于静态路由缺省优先级为60,优先级值越高越不优先,所以当我们配置了如上路由后,该路由由于优先级较低就不会被优选,可以在AR1上使用display ip routing-table protocol static查看静态路由的状态,反馈如下:
[AR1]display ip routing-table protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
Destinations : 1 Routes : 2 Configured Routes : 2
Static routing table status : <Active>
Destinations : 1 Routes : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.2.0/24 Static 60 0 RD 10.1.12.2 GigabitEthernet0/0/0
Static routing table status : <Inactive>
Destinations : 1 Routes : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.2.0/24 Static 70 0 R 10.1.21.2 GigabitEthernet0/0/1
通过上面输出可以看到,优先级为60的下一跳为10.1.12.2的静态路由的状态是active而且已经被优选,而优先级为70的下一跳为10.1.21.2的静态路由的状态是inactive也就是没有被优选,所以AR1在访问192.168.2.0/24时会优选10.1.12.2作为下一跳,但是当G0/0/0失效时,会选择下一跳为10.1.21.2的静态路由。
我们可以在AR1上使用shutdown命令将G0/0/0接口down掉从而模拟链路故障,再查看AR1的路由表是否优选了优先级为70的静态路由,配置及输出接口如下:
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]shutdown
AR1路由表输出如下:
[AR1]display ip routing-table protocol static
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : Static
Destinations : 1 Routes : 2 Configured Routes : 2
Static routing table status : <Active>
Destinations : 1 Routes : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.2.0/24 Static 70 0 RD 10.1.21.2 GigabitEthernet0/0/1
Static routing table status : <Inactive>
Destinations : 1 Routes : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.2.0/24 Static 60 0 10.1.12.2 Unknown
从以上输出可知优先级为70的静态路由已经被优选了,并且状态为active。
原理总结
静态路由的配置比较简单,所以经常用于各种场景中,并且可以通过配置负载分担或者路由备份实现静态路由更多的功能。而路由备份又被称为浮动静态路由,当加入到路由表中的静态路由出现故障时,优先级低的静态路由就会浮出到路由表中并承担数据转发业务。