TRACK/RNS原理概述
l Track通过跟踪某个对象的状态返回结果来改变自身的状态,同时与之相关联的功能模块(比如静态路由/vrrp等)利用Track的状态变化来采取相应的动作;
l RNS 是 ruijie network service 的缩写, 本端设备发出ICMP请求报文后对端设备会对该ICMP请求报文做回应,而RNS通过检测是否收对端的回应报文来监控端到端的联通性以及网络质量。
l Track通常与RNS结合使用。Track是通过跟踪RNS的检测结果是否可达,将自身的状态置为up或者down
步骤1:RNS通过icmp-echo探测的方式检测到运营商的联通性;
步骤2:Track通过调用RNS,根据RNS检测是否通过来将自己的状态置为up 或者down;
步骤3:静态路由通过关联track,根据track的up/down状态来判断是否将该路由从路由表中消失
RNS探测概述
l ICMP-Echo探测是RNS最基本的功能,遵循RFC 2925来实现。其实现原理是通过发送ICMP报文来判断目的地的可达性、计算网络响应时间及丢包率。
Ø ICMP-Echo探测根据设置的探测时间及频率向探测的目的IP地址发ICMP回显请求报文,ICMP-Echo探测根据ICMP回显应答报文的接收情况,如接收时间和报文个数,计算出到目的IP地址的响应时间及丢包率,从而反映当前的网络性能及网络情况。ICMP-Echo探测的结果和历史记录将被记录,可以通过命令行来查看。
Ø ICMP-Echo探测成功的前提条件是目的设备要能够正确响应ICMP回显请求报文
TRACK/RNS配置
l RNS 配置
Ø Ruijie(config)#ip rns 1 //创建rns,编号为1
Ø Ruijie(config-ip-rns)#icmp-echo 12.12.12.1 out-interface gigabitEthernet 0/0 next-hop 12.12.12.1 source-ipaddr 12.12.12.2 //配置icmp检测,检测目标地址为12.12.12.1。配置了出接口一定要配置下一跳地址
Ø Ruijie(config-ip-rns-icmp-echo)#timeout 5000 //设置检测超时时间为5000毫秒,即5秒没有收到检测的回复报文则认为检测失败
Ø Ruijie(config-ip-rns-icmp-echo)#frequency 5000 //设置检测间隔时间为5000毫秒,即5秒发送一次检测。检测间隔时间要大于等于超时时间
Ø Ruijie(config-ip-rns-icmp-echo)#ntimes 3 //3次检测超时,则算作链路故障
l Track配置
Ruijie(config)#track 10 rns 1 //配置track 编号10 调用rns 编号1
Ruijieconfig-track)#delay down 5 up 5 //当rns检测失败或成功时延迟5s将track置为down或者up
配置静态路由与Track联动
RA(config)#ip route X.X.X.X X.X.X.X gi0/0 X.X.X.X track 1 //调用track
查看track状态
Ruijie#show track
Track 与VRRP联动-关键配置
RA(config-if-GigabitEthernet 0/0)#vrrp 1 track X.X.X.X 20 //检测X.X.X.X的连通性,异常优先级降低20
RA(config-if-GigabitEthernet 0/0)#vrrp 1 preempt delay X //可选配置,开启延迟抢占