IP-Link技术
ip-link原理
IP-Link自动侦测是利用ICMP或者ARP协议的特征对业务链路正常与否进行的自动侦测。它定时地向指定的目的IP地址发送ICMP或者ARP请求,等待相应目的IP地址的回应,根据回应的情况判断网络的连通状况
如果在设定的时限内(三个探测周期(默认为15s))未收到回应报文,则认为链路发生故障,并进行后续相应的操作。当原来认为发生故障的链路,在之后设定的时限内,有连续3个回应报文返回,则认为发生故障的链路已经恢复正常,此后进行链路恢复的相关操作
IP-Link自动侦测的侦测结果(目的主机可达或者不可达)可以被其他特性所引用,主要应用包括:
应用在静态路由中
当IP-Link侦测出链路不可达时,设备会对自身的静态路由进行相应的调整。如原来高优先级的静态路由所经链路被检测到发生故障,设备会选择新的链路进行业务转发。如果高优先级的静态路由链路故障恢复正常时,设备又会进行静态路由的调整,用高优先级的路由替换低优先级的路由,保证每次用到的链路是最高优先级的并且是可达的,以保持业务的持续进行
应用在双机热备份中
当IP-Link侦测出链路不可达时,设备会对自身VGMP的优先级进行相关调整,引发主备切换,从而保证业务能够持续流通
配置IP-Link
执行命令,进入系统视图
执行命令,启用IP-Link功能
执行命令 ip-link-name [ vpn-instance vpn-instance-name ] ,创建一条IP-Link并进入IP-Link视图
配置IP-Link监控的目的地址或域名
监控IPv4地址或域名
{ ipv4-address | domain-name } [ interface interface-type interface-number ]
[ mode { icmp [ next-hop { nexthop-ipv4-address | dhcp | dialer } ] | arp } ]
- 可选:执行命令 ip-address,配置IP-Link探测源IP
- 可选:执行命令 interval,配置IP-Link发送探测报文的时间间隔
- 可选:执行命令 times,配置IP-Link探测报文超时失败的最大次数每隔interval秒发送一个探测报文,如果发送times次都没有收到回应报文,则认为检测的链路发生故障
- 可选:执行命令 link-number,配置影响IP-Link状态的UP成员数量下限
当IP-Link探测多个目的地址或域名时,需要配置影响IP-Link状态的UP成员数量下限。当IP-Link探测的目的地址或域名的UP状态个数少于UP成员数量下限时,则IP-Link状态变为DOWN
执行命令,查看所有IP-Link的详细信息
<sysname> display ip-link verbose
Current Total Ip-link Number : 1
-------------------------------------------------------------------------------
Name : test
Index : 2
Enable Flag : 1
Vrf : public/0
Member Number : 2
Tx-interval (default is 5) : 5
Times (default is 3) : 3
Least active-linknumber (default is 1) : 1
State : up
Init State Number : 0
DOWN State Number : 0
UP State Number : 2
-------------------------------------------------------------------------------
State : up
Destination Type/Destination Info : IP/1.1.1.1
Protocol/Port : icmp/0
Healthcheck detect index : 8
State : up
Destination Type/Destination Info : IP/2.2.2.2
Protocol/Port : icmp/0
Out If Index : GigabitEthernet0/0/1
Healthcheck detect index : 9
-------------------------------------------------------------------------------
ip-link联动静态路由
某公司通过交换机连接两个路由器,以双链路接入Internet,为了保证在链路故障时可以动态调整静态路由,在FW和两台路由器之间配置静态路由绑定IP-Link,将Router 1作为主要使用的路由器,在出现故障时,动态启用到Router 2的路由,从而不影响内网用户正常访问Internet
配置IP-Link,分别检测FW到Router 1和Router 2的链路
[FW] ip-link check enable
[FW] ip-link name test1
[FW-iplink-test1] destination 10.10.1.2
[FW-iplink-test1] quit
[FW] ip-link name test2
[FW-iplink-test2] destination 10.10.1.3
[FW-iplink-test2] quit
配置到Internet静态路由,分别绑定各自链路的IP-Link,为通过Router 1的路由设置较高的优先级
本案例使用的路由为直连路由,如果实际应用中使用的为非直连路由,请配置到IP-Link探测地址的32位明细路由,以确保IP-Link探测能正常进行
[FW] ip route-static 0.0.0.0 0.0.0.0 10.10.1.2 track ip-link test1
[FW] ip route-static 0.0.0.0 0.0.0.0 10.10.1.3 preference 70 track ip-link test2
结果验证
以下验证过程在FW上进行。
在FW和两个路由器之间的链接都正常时,执行命令display ip-link,发现连接正常
[FW] display ip-link
Current Total Ip-link Number : 2
Name Member State Up/Down/Init
test1 1 up 1 0 0
test2 1 up 1 0 0
此时执行命令display ip routing-table,发现进入路由表的缺省路由为到Router 1的路由
[FW] display 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
0.0.0.0/0 Static 60 0 RD 10.10.1.2 GigabitEthernet0/0/1
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
10.10.1.0/24 Direct 0 0 D 10.10.1.1 GigabitEthernet0/0/1
10.10.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 Direct 0 0 D 192.168.1.1 GigabitEthernet0/0/2
192.168.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
执行命令display ip routing-table verbose,可以查看到如下表项
[FW] display ip routing-table verbose
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 8 Routes : 8
Destination: 0.0.0.0/0
Protocol: Static Process ID: 0
Preference: 60 Cost: 0
NextHop: 10.10.1.2 Neighbour: 0.0.0.0
State: Active Adv Relied Age: 00h03m29s
Tag: 0 Priority: 0
Label: NULL QoSInfo: 0x0
IndirectID: 0x80000004
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: RD
Destination: 0.0.0.0/0
Protocol: Static Process ID: 0
Preference: 70 Cost: 0
NextHop: 10.10.1.3 Neighbour: 0.0.0.0
State: Inactive Adv Relied Age: 00h00m08s
Tag: 0 Priority: 0
Label: NULL QoSInfo: 0x0
IndirectID: 0x80000005
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: R
以上结果说明,在两条链路都正常的情况下,由于到10.10.1.2的路由优先级为60,因而为Active状态,进入路由表成为当前路由,到10.10.1.3的路由优先级为70,因而成为备份路由,为Inactive状态,没有进入路由表
当Router 1的链路出现故障时,执行命令display ip-link,发现到10.10.1.2的IP-Link状态为down
[FW] display ip-link
Current Total Ip-link Number : 2
Name Member State Up/Down/Init
test1 1 down 0 1 0
test2 1 up 1 0 0
此时执行命令display ip routing-table,发现进入路由表的缺省路由为到Router 2的路由
[FW] display 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
0.0.0.0/0 Static 70 0 RD 10.10.1.3 GigabitEthernet0/0/1
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
10.10.1.0/24 Direct 0 0 D 10.10.1.1 GigabitEthernet0/0/1
10.10.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.1.0/24 Direct 0 0 D 192.168.1.1 GigabitEthernet0/0/2
192.168.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
执行命令display ip routing-table verbose,可以查看到如下表项
[FW] display ip routing-table verbose
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 8 Routes : 8
Destination: 0.0.0.0/0
Protocol: Static Process ID: 0
Preference: 70 Cost: 0
NextHop: 10.10.1.3 Neighbour: 0.0.0.0
State: Active Adv Relied Age: 00h00m08s
Tag: 0 Priority: 0
Label: NULL QoSInfo: 0x0
IndirectID: 0x80000004
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: R
Destination: 0.0.0.0/0
Protocol: Static Process ID: 0
Preference: 60 Cost: 0
NextHop: 10.10.1.2 Neighbour: 0.0.0.0
State: Invalid Adv Relied Age: 00h03m29s
Tag: 0 Priority: 0
Label: NULL QoSInfo: 0x0
IndirectID: 0x80000005
RelayNextHop: 0.0.0.0 Interface: GigabitEthernet0/0/1
TunnelID: 0x0 Flags: RD
以上结果说明,当到10.10.1.2的链路出现故障的情况下,IP-Link状态为Down,因而到10.10.1.2的路由被置为Invalid状态。到10.10.1.3的路由优先级为70,被置为Active状态,进入路由表