1.1 静态路由简介
· 通过在Track模块和静态路由之间建立联动,可以实现实时监测下一跳的可达性,以便及时判断静态路由是否有效。关于Track的详细介绍,请参见“可靠性配置指导”中的“Track”。
· 使用undo ip route-static命令可以删除一条静态路由,而使用delete static-routes all命令可以删除包括缺省路由在内的所有静态路由。
路由振荡时,使能BFD功能可能会加剧振荡,请谨慎使用。
BFD(Bidirectional Forwarding Detection,双向转发检测)提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为上层协议(如路由协议、MPLS等)统一地快速检测两台路由器间双向转发路径的故障。
关于BFD的详细介绍,请参见“可靠性配置指导”中的“BFD”。
表1-2 配置静态路由与BFD联动(双向检测—直连)
单跳检测,即只需要本端进行配置,通过echo报文检测链路的状态。echo报文的目的地址为本端接口地址,发送给下一跳设备后会直接转发回本端。这里所说的“单跳”是IP的一跳。
静态路由的出接口为处于SPOOFING状态时,不能使用BFD进行检测。
如图1-1所示,通过配置快速重路由功能,网络管理员可以为路由指定备份下一跳,也可以在存在低优先级静态路由的情况下,使能自动快速重路由功能,查找满足条件的低优先级路由的下一跳作为主路由的备份下一跳,当路由器检测到网络故障时,路由器会使用事先配置好的备份下一跳替换失效下一跳,通过备份下一跳来指导报文的转发,从而避免了流量中断。
本功能只适合在主链路三层接口up,主链路由双通变为单通或者不通的情况下使用。在主链路三层接口down的情况下,本功能不可用。
静态路由的快速重路由特性中,主用链路缺省不使用BFD进行链路故障检测。配置本功能后,将使用BFD(Echo方式)进行检测,可以更快地检测到链路故障。
路由器各接口及主机的IP地址和掩码如图1-2所示。要求采用静态路由,使图中任意两台主机之间都能互通。
#在Router A上配置缺省路由。
[RouterA] ip route-static 0.0.0.0 0.0.0.0 1.1.4.2
#在Router B上配置两条静态路由。
[RouterB] ip route-static 1.1.2.0 255.255.255.0 1.1.4.1
[RouterB] ip route-static 1.1.3.0 255.255.255.0 1.1.5.6
#在Router C上配置缺省路由。
[RouterC] ip route-static 0.0.0.0 0.0.0.0 1.1.5.5
配置Host A的缺省网关为1.1.2.3,Host B的缺省网关为1.1.6.1,Host C的缺省网关为1.1.3.1,具体配置过程略。
#查看Router A的静态路由信息。
Summary Count : 1
Static Routing table Status :
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 60 0 1.1.4.2 GE1/0/2
Static Routing table Status :
Summary Count : 0
#查看Router B的静态路由信息。
Summary Count : 2
Static Routing table Status :
Summary Count : 2
Destination/Mask Proto Pre Cost NextHop Interface
1.1.2.0/24 Static 60 0 1.1.4.1 GE1/0/1
1.1.3.0/24 Static 60 0 1.1.5.6 GE1/0/2
Static Routing table Status :
Summary Count : 0
#在Host B上使用ping命令验证Host A是否可达(假定主机安装的操作系统为Windows XP)。
Pinging 1.1.2.2 with 32 bytes of data:
Reply from 1.1.2.2: bytes=32 time=1ms TTL=126
Reply from 1.1.2.2: bytes=32 time=1ms TTL=126
Reply from 1.1.2.2: bytes=32 time=1ms TTL=126
Reply from 1.1.2.2: bytes=32 time=1ms TTL=126
Ping statistics for 1.1.2.2:
Packets: Sent = 4,
Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms,
Maximum = 1ms, Average = 1ms
#在Host B上使用tracert命令验证Host A是否可达。
Tracing route to 1.1.2.2 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 1.1.6.1
2 <1 ms <1 ms <1 ms 1.1.4.1
3 1 ms <1 ms <1 ms 1.1.2.2
Trace complete.
· 在Router A上配置静态路由可以到达120.1.1.0/24网段,在Router B上配置静态路由可以到达121.1.1.0/24网段,并使能BFD检测功能。
· 在RouterC上配置静态路由可以到达120.1.1.0/24网段和121.1.1.0/24网段。
· 当Router A和Router B通过L2 Switch通信的链路出现故障时,BFD能够快速感知,并且切换到Router C进行通信。
#在Router A上配置静态路由,并使能BFD检测功能,使用双向检测方式。
[RouterA] interface gigabitethernet 1/0/1
[RouterA-GigabitEthernet1/0/1] bfd min-transmit-interval 500
[RouterA-GigabitEthernet1/0/1] bfd min-receive-interval 500
[RouterA-GigabitEthernet1/0/1] bfd detect-multiplier 9
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] ip route-static 120.1.1.0 24 gigabitethernet 1/0/1 12.1.1.2 bfd control-packet
[RouterA] ip route-static 120.1.1.0 24 gigabitethernet 1/0/2 10.1.1.100 preference 65
[RouterA] quit
#在Router B上配置静态路由,并使能BFD检测功能,使用双向检测方式。
[RouterB] interface gigabitethernet 1/0/1
[RouterB-GigabitEthernet1/0/1] bfd min-transmit-interval 500
[RouterB-GigabitEthernet1/0/1] bfd min-receive-interval 500
[RouterB-GigabitEthernet1/0/1] bfd detect-multiplier 9
[RouterB-GigabitEthernet1/0/1] quit
[RouterB] ip route-static 121.1.1.0 24 gigabitethernet 1/0/1 12.1.1.1 bfd control-packet
[RouterB] ip route-static 121.1.1.0 24 gigabitethernet 1/0/2 13.1.1.2 preference 65
[RouterB] quit
#在Router C上配置静态路由。
[RouterC] ip route-static 120.1.1.0 24 13.1.1.1
[RouterC] ip route-static 121.1.1.0 24 10.1.1.102
下面以Router A为例,Router B和Router A类似,不再赘述。
#查看BFD会话,可以看到BFD会话已经创建。
Total Session Num: 1 Up Session Num: 1 Init Mode: Active
IPv4 Session Working UnderCtrl Mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
4/712.1.1.1 12.1.1.2 Up2000msGE1/0/1
#查看静态路由,可以看到Router A经过L2 Switch到达Router B。
Summary Count : 1
Static Routing table Status :
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 60012.1.1.2GE1/0/1
Static Routing table Status :
Summary Count : 0
当Router A和Router B通过L2 Switch通信的链路出现故障时:
#查看静态路由,可以看到Router A经过Router C到达Router B。
Summary Count : 1
Static Routing table Status :
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 65 010.1.1.100GE1/0/2
Static Routing table Status :
Summary Count : 0
· 在Router A上配置静态路由可以到达120.1.1.0/24网段,在Router B上配置静态路由可以到达121.1.1.0/24网段,并使能BFD检测功能。
· 在RouterC和Router D上配置静态路由可以到达120.1.1.0/24网段和121.1.1.0/24网段。
· Router A存在到Router B的接口Loopback1(2.2.2.9/32)的路由,出接口为GigabitEthernet1/0/1;Router B存在到Router A的接口Loopback1(1.1.1.9/32)的路由,出接口为GigabitEthernet1/0/1;Router D存在到1.1.1.9/32的路由,出接口为GigabitEthernet1/0/1,存在到2.2.2.9/32的路由,出接口为GigabitEthernet1/0/2。
· 当Router A和Router B通过Router D通信的链路出现故障时,BFD能够快速感知,并且切换到Router C进行通信。
#在Router A上配置静态路由,并使能BFD检测功能,使用双向检测方式。
[RouterA] bfd multi-hop min-transmit-interval 500
[RouterA] bfd multi-hopmin-receive-interval 500
[RouterA] bfd multi-hopdetect-multiplier 9
[RouterA] ip route-static 120.1.1.0 24 2.2.2.9 bfd control-packet bfd-source 1.1.1.9
[RouterA] quit
#在Router B上配置静态路由,并使能BFD检测功能,使用双向检测方式。
[RouterB] bfd multi-hop min-transmit-interval 500
[RouterB] bfd multi-hopmin-receive-interval 500
[RouterB] bfd multi-hopdetect-multiplier 9
[RouterB] ip route-static 121.1.1.0 24 1.1.1.9 bfd control-packet bfd-source 2.2.2.9
[RouterB] ip route-static 121.1.1.0 24 gigabitethernet 1/0/2 13.1.1.2 preference 65
[RouterB] quit
#在Router C上配置静态路由。
[RouterC] ip route-static 120.1.1.0 24 13.1.1.1
[RouterC] ip route-static 121.1.1.0 24 10.1.1.102
#在Router D上配置静态路由。
[RouterD] ip route-static 120.1.1.0 24 11.1.1.2
[RouterD] ip route-static 121.1.1.0 24 12.1.1.1
下面以Router A为例,Router B和Router A类似,不再赘述。
#查看BFD会话,可以看到BFD会话已经创建。
Total Session Num: 1 Up Session Num: 1 Init Mode: Active
IPv4 Session Working UnderCtrl Mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
4/7 1.1.1.9 2.2.2.9 Up 2000msN/A
#查看静态路由,可以看到Router A经过Router D到达Router B。
Summary Count : 1
Static Routing table Status :
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 60012.1.1.2GE1/0/1
Static Routing table Status :
Summary Count : 0
当Router A和Router B通过Router D通信的链路出现故障时:
#查看静态路由,可以看到Router A经过Router C到达Router B。
Summary Count : 1
Static Routing table Status :
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 65 010.1.1.100GE1/0/2
Static Routing table Status :
Summary Count : 0
如图1-5所示,Router A、Router B和Router C通过静态路由实现网络互连。要求当Router A和Router B之间的链路A出现单通故障时,业务可以快速切换到链路B上。
(2) 配置链路A上的静态路由快速重路由
#在Router A上配置静态路由,并指定备份出接口和下一跳。
[RouterA] ip route-static 4.4.4.4 32 gigabitethernet 1/0/2 13.13.13.2 backup-interface gigabitethernet 1/0/1 backup-nexthop 12.12.12.2
#在Router B上配置静态路由,并指定备份出接口和下一跳。
[RouterB] ip route-static 1.1.1.1 32 gigabitethernet 1/0/2 13.13.13.1 backup-interface gigabitethernet 1/0/1 backup-nexthop 24.24.24.2
#在Router A上配置静态路由,并配置静态路由自动快速重路由功能。
[RouterA] ip route-static 4.4.4.4 32 gigabitethernet 1/0/2 13.13.13.2
[RouterA] ip route-static 4.4.4.4 32 gigabitethernet 1/0/1 12.12.12.2 preference 70
[RouterA] ip route-static fast-reroute auto
#在Router B上配置静态路由,并配置静态路由自动快速重路由功能。
[RouterB] ip route-static 1.1.1.1 32 gigabitethernet 1/0/2 13.13.13.1
[RouterB] ip route-static 1.1.1.1 32 gigabitethernet 1/0/1 24.24.24.2 preference 70
[RouterB] ip route-static fast-reroute auto
#在Router C上配置静态路由。
[RouterC] ip route-static 4.4.4.4 32 gigabitethernet 1/0/2 24.24.24.4
[RouterC] ip route-static 1.1.1.1 32 gigabitethernet 1/0/1 12.12.12.1
#在Router A上查看4.4.4.4/32路由,可以看到备份下一跳信息。
Summary Count : 1
Destination: 4.4.4.4/32
Protocol: Static Process ID: 0
SubProtID: 0x0
Age: 04h20m37s
Cost: 0 Preference: 60
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x26000002 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x1008c OrigNextHop: 13.13.13.2
Label: NULL RealNextHop:13.13.13.2
BkLabel: NULL BkNextHop: 12.12.12.2
Tunnel ID: Invalid Interface:GigabitEthernet1/0/2
BkTunnel ID: Invalid BkInterface:GigabitEthernet1/0/1
FtnIndex: 0x0 TrafficIndex: N/A
Connector: N/A
#在Router B上查看1.1.1.1/32路由,可以看到备份下一跳信息。
Summary Count : 1
Destination: 1.1.1.1/32
Protocol: Static Process ID: 0
SubProtID: 0x0
Age: 04h20m37s
Cost: 0 Preference: 10
IpPre: N/A QosLocalID: N/A
Tag: 0 State: Active Adv
OrigTblID: 0x0 OrigVrf: default-vrf
TableID: 0x2 OrigAs: 0
NibID: 0x26000002 LastAs: 0
AttrID: 0xffffffff Neighbor: 0.0.0.0
Flags: 0x1008c OrigNextHop: 13.13.13.1
Label: NULL RealNextHop:13.13.13.1
BkLabel: NULL BkNextHop:24.24.24.2
Tunnel ID: Invalid
Interface:GigabitEthernet1/0/2
BkTunnel ID: Invalid BkInterface:GigabitEthernet1/0/1
FtnIndex: 0x0 TrafficIndex: N/A
Connector: N/A