• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

12-可靠性配置指导

目录

05-Track配置

本章节下载 05-Track配置  (392.78 KB)

05-Track配置


1 Track

1.1  Track简介

1.1.1  联动功能介绍

图1-1 联动功能实现示意图

 

Track的用途是实现联动功能。如图1-1所示,联动功能通过在监测模块、Track模块和应用模块之间建立关联,实现这些模块之间的联合动作。联动功能利用监测模块对链路状态、网络性能等进行监测,并通过Track模块将监测结果及时通知给应用模块,以便应用模块进行相应的处理。例如,在静态路由、Track和NQA之间建立联动,利用NQA监测静态路由的下一跳地址是否可达。NQA监测到下一跳不可达时,通过Track通知静态路由模块该监测结果,以便静态路由模块将该条路由置为无效,确保报文不再通过该静态路由转发。

如果应用模块直接与监测模块关联,由于不同监测模块通知给应用模块的监测结果形式各不相同,应用模块需要分别处理不同形式的监测结果。联动功能在应用模块和监测模块之间增加了Track模块,通过Track模块屏蔽不同监测模块的差异,将监测结果以统一的形式通知给应用模块,从而简化应用模块的处理。

1.1.2  联动功能工作原理

联动功能的工作原理分为两部分:

·     Track模块与监测模块联动

·     Track模块与应用模块联动

1. Track模块与监测模块联动

Track模块和监测模块之间通过Track项建立关联。监测模块负责对接口状态、链路状态等进行监测,并将监测结果通知给Track模块;Track模块根据监测结果改变Track项的状态。

·     如果监测结果为监测对象工作正常(如接口处于Up状态、网络可达),则对应Track项的状态为Positive。

·     如果监测结果为监测对象出现异常(如接口处于Down状态、网络不可达),则对应Track项的状态为Negative。

·     如果监测结果无效(如NQA作为监测模块时,与Track项关联的NQA测试组不存在),则对应Track项的状态为NotReady。

目前,可以与Track模块实现联动功能的监测模块包括:

·     NQA(Network Quality Analyzer,网络质量分析)

·     BFD(Bidirectional Forwarding Detection,双向转发检测)

·     接口管理

2. Track模块与应用模块联动

Track模块和应用模块之间通过Track项建立关联。Track项的状态改变后,通知应用模块;应用模块根据Track项的状态,及时进行相应的处理,从而避免通信的中断或服务质量的降低。

目前,可以与Track模块实现联动功能的应用模块包括:

·     VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)

·     静态路由

·     策略路由

在某些情况下,Track项状态发生变化后,如果立即通知应用模块,则可能会由于路由无法及时恢复等原因,导致通信中断。例如,VRRP备份组中Master路由器通过Track监视上行接口的状态。上行接口出现故障时,Track通知Master路由器降低优先级,使得Backup路由器抢占成为新的Master,负责转发报文。当上行接口恢复时,如果Track立即通知原来的Master路由器恢复优先级,该路由器将立即承担转发任务。此时该路由器可能尚未恢复上行的路由,从而导致报文转发失败。在这种情况下,用户可以配置Track项状态发生变化时,延迟一定的时间通知应用模块。

1.1.3  联动功能应用举例

下面以NQA、Track和静态路由联动为例,说明联动功能的工作原理。

用户在设备上配置了一条静态路由,下一跳地址为192.168.0.88。如果192.168.0.88可达,则报文可以通过该静态路由转发,该静态路由有效;如果192.168.0.88不可达,则通过该静态路由转发报文会导致报文转发失败,此时,需要将该静态路由置为无效。通过在NQA、Track模块和静态路由之间建立联动,可以实现实时监测下一跳的可达性,以便及时判断静态路由是否有效。

在此例中联动功能的配置方法及其工作原理为:

(1)     创建NQA测试组,通过NQA测试组监测目的地址192.168.0.88是否可达。

(2)     创建和NQA测试组关联的Track项。192.168.0.88可达时,NQA会将监测结果通知给Track模块,Track模块将该Track项的状态变为Positive;192.168.0.88不可达时,NQA将监测结果通知给Track模块,Track模块将该Track项的状态变为Negative。

(3)     配置这条静态路由和Track项关联。如果Track模块通知静态路由Track项的状态为Positive,则静态路由模块将这条路由置为有效;如果Track模块通知静态路由Track项的状态为Negative,则静态路由模块将这条路由置为无效。

1.2  Track配置任务简介

为了实现联动功能,需要在Track与监测模块、Track与应用模块之间分别建立联动关系。

表1-1 Track配置任务简介

配置任务

说明

详细配置

配置Track与监测模块联动

配置Track与NQA联动

三者选其一

1.3.1 

配置Track与BFD联动

1.3.2 

配置Track与接口管理联动

1.3.3 

配置Track与应用模块联动

配置Track与VRRP联动

三者选其一

1.4.1 

配置Track与静态路由联动

1.4.2 

配置Track与策略路由联动

1.4.3  

 

1.3  配置Track与监测模块联动

1.3.1  配置Track与NQA联动

NQA测试组周期性地探测某个目的地址是否可达、是否可以与某个目的服务器建立TCP连接等。如果在Track项和NQA测试组之间建立了关联,则当连续探测失败的次数达到指定的阈值时,NQA将通知Track模块监测对象出现异常,Track模块将与NQA测试组关联的Track项的状态置为Negative;否则,NQA通知Track模块监测对象正常工作,Track模块将Track项的状态置为Positive。NQA的详细介绍,请参见“网络管理和监控配置指导”中的“NQA”。

表1-2 配置Track与NQA联动

操作

命令

说明

进入系统视图

system-view

-

创建与NQA测试组中指定联动项关联的Track项,并指定Track项状态变化时通知应用模块的延迟时间

track track-entry-number nqa entry admin-name operation-tag reaction item-number [ delay { negative negative-time | positive positive-time } * ]

缺省情况下,设备上不存在任何Track

配置Track项时,引用的NQA测试组或联动项可以不存在,此时该Track项的状态为NotReady

 

1.3.2  配置Track与BFD联动

如果在Track项和BFD会话之间建立了关联,则当BFD判断出对端不可达时,BFD会通知Track模块将与BFD会话关联的Track项的状态置为Negative;否则,通知Track模块将Track项的状态置为Positive。

BFD会话支持两种工作方式:Echo报文方式和控制报文方式。Track项只能与Echo报文方式的BFD会话建立关联,不能与控制报文方式的BFD会话建立联动。BFD的详细介绍,请参见“可靠性配置指导”中的“BFD”。

1. 配置准备

配置Track与BFD联动前,需要配置BFD echo报文的源地址,配置方法请参见“可靠性配置指导”中的“BFD”。

2. 配置步骤

表1-3 配置Track与BFD联动

操作

命令

说明

进入系统视图

system-view

-

创建和BFD会话关联的Track项,并指定Track项状态变化时通知应用模块的延迟时间

track track-entry-number bfd echo interface interface-type interface-number remote ip remote-ip local ip local-ip [ delay { negative negative-time | positive positive-time } * ]

缺省情况下,设备上不存在任何Track

配置Track与BFD联动时,VRRP备份组的虚拟IP地址不能作为BFD会话探测的本地地址和远端地址

 

1.3.3  配置Track与接口管理联动

接口管理用来监视接口的链路状态和网络层协议状态。如果在Track项和接口之间建立了关联,则当接口的链路状态或网络层协议状态为up时,接口管理通知Track模块将与接口关联的Track项的状态置为Positive;接口的链路状态或网络层协议状态为down时,接口管理通知Track模块将Track项的状态为Negative。

表1-4 配置Track与接口管理联动

操作

命令

说明

进入系统视图

system-view

-

创建和接口管理关联的Track项,监视接口的链路状态,并指定Track项状态变化时通知应用模块的延迟时间

track track-entry-number interface interface-type interface-number [ delay { negative negative-time | positive positive-time } * ]

二者选其一

缺省情况下,设备上不存在任何Track

创建和接口管理关联的Track项,监视接口的网络层协议状态,并指定Track项状态变化时通知应用模块的延迟时间

track track-entry-number interface interface-type interface-number protocol { ipv4 | ipv6 } [ delay { negative negative-time | positive positive-time } * ]

 

1.4  配置Track与应用模块联动

说明

用户配置Track和应用模块联动时,需保证联动的Track项已被创建,否则应用模块可能会获取到错误的Track项状态信息。

 

1.4.1  配置Track与VRRP联动

VRRP是一种容错协议,它将一组承担网关功能的路由器加入到备份组中,形成一台虚拟路由器。备份组中的路由器根据优先级,选举出Master路由器,承担转发任务。优先级越高,越有可能成为Master路由器。其他路由器作为Backup路由器,当Master路由器发生故障时,取代Master承担转发任务,从而保证网络内的主机通过虚拟路由器不间断地与外部网络进行通信。VRRP配置的详细介绍,请参见“可靠性配置指导”中的“VRRP”。

VRRP工作在标准协议模式和负载均衡模式时,通过在Track模块和VRRP备份组之间建立联动,可以实现:

·     根据上行链路的状态,改变路由器的优先级。当路由器的上行链路出现故障时,备份组无法感知上行链路的故障,如果该路由器为Master,将会导致局域网内的主机无法访问外部网络。通过联动功能,可以解决该问题。利用监测模块监视路由器上行链路的状态,并在监测模块、Track模块和VRRP备份组之间建立联动,当上行链路出现故障时,通知将Track项状态变为Negative,并将路由器的优先级降低指定的数额。从而,使得备份组内其它路由器的优先级高于这个路由器的优先级,成为Master路由器,保证局域网内主机与外部网络的通信不会中断。

·     在Backup路由器上监视Master路由器的状态。当Master路由器出现故障时,工作在切换模式的Backup路由器能够迅速成为Master路由器,以保证通信不会中断。

VRRP工作在负载均衡模式时,通过在Track模块和VRRP虚拟转发器之间建立联动,还可以实现:

·     根据上行链路的状态,改变虚拟转发器的优先级。当AVF(Active Virtual Forwarder,动态虚拟转发器)的上行链路出现故障时,Track项的状态变为Negative,虚拟转发器的权重将降低指定的数额,以便虚拟转发器优先级更高的路由器抢占成为AVF,接替其转发流量。

·     在LVF(Listening Virtual Forwarder,监听虚拟转发器)上通过Track监视AVF的状态,当AVF出现故障时,工作在虚拟转发器快速切换模式的LVF能够迅速成为AVF,以保证通信不会中断。

配置Track与VRRP联动时,需要注意的是:

·     接口IP地址与虚拟IP地址相同的路由器称为IP地址拥有者。路由器在某个备份组中作为IP地址拥有者时,如果在该路由器上配置该备份组监视指定的接口或Track项,则该配置不会生效。该路由器不再作为IP地址拥有者后,之前的配置才会生效。

·     被监视Track项的状态由Negative变为Positive或NotReady后,对应的路由器优先级或虚拟转发器优先级会自动恢复。

·     可以通过vrrp  [ ipv6 ] vrid track命令指定监视的Track项后,再通过track命令创建该Track项。

表1-5 配置Track与VRRP备份组联动

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置VRRP备份组监视指定的Track项

vrrp [ ipv6 ] vrid virtual-router-id track track-entry-number  { forwarder-switchover member-ip ip-address | priority reduced [ priority-reduced ] switchover | weight reduced [ weight-reduced ] }

缺省情况下,没有指定VRRP备份组监视的Track项

VRRP工作在标准协议模式和负载均衡模式时,均支持本配置

 

表1-6 配置Track与VRRP虚拟转发器联动

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

配置虚拟转发器监视指定的Track

vrrp [ ipv6 ] vrid virtual-router-id track track-entry-number  { forwarder-switchover member-ip ip-address | priority reduced [ priority-reduced ] switchover | weight reduced [ weight-reduced ] }

缺省情况下,没有配置虚拟转发器的监视功能

在VRRP标准协议模式和负载均衡模式下均可进行本配置,但只有在VRRP负载模式下本配置才会起作用

 

1.4.2  配置Track与静态路由联动

静态路由是一种特殊的路由,由管理员手工配置。配置静态路由后,去往指定目的地的报文将按照管理员指定的路径进行转发。静态路由配置的详细介绍,请参见“三层技术-IP路由配置指导”中的“静态路由”。

静态路由的缺点在于:不能自动适应网络拓扑结构的变化,当网络发生故障或者拓扑发生变化时,可能会导致静态路由不可达,网络通信中断。

为了防止这种情况发生,可以配置其它路由和静态路由形成备份关系。静态路由可达时,根据静态路由转发报文,其它路由处于备份状态;静态路由不可达时,根据备份路由转发报文,从而避免通信中断,提高了网络可靠性。

通过在Track模块和静态路由之间建立联动,可以实现静态路由可达性的实时判断。

如果在配置静态路由时只指定了下一跳而没有指定出接口,可以通过联动功能,利用监测模块监视静态路由下一跳的可达性,并根据Track项的状态来判断静态路由的可达性:

·     当Track项状态为Positive时,静态路由的下一跳可达,配置的静态路由将生效;

·     当Track项状态为Negative时,静态路由的下一跳不可达,配置的静态路由无效;

·     当Track项状态为NotReady时,无法判断静态路由的下一跳是否可达,此时配置的静态路由生效。

配置Track与静态路由联动时,需要注意的是:

·     如果Track模块通过NQA探测私网静态路由中下一跳的可达性,静态路由下一跳的VPN实例名与NQA测试组配置的实例名必须相同,才能进行正常的探测。

·     在静态路由进行迭代时,Track项监测的应该是静态路由迭代后最终的下一跳地址,而不是配置中指定的下一跳地址。否则,可能导致错误地将有效路由判断为无效路由。

表1-7 配置Track与静态路由联动

操作

命令

说明

进入系统视图

system-view

-

配置通过Track与静态路由联动,检测静态路由下一跳是否可达

ip route-static dest-address { mask-length | masknext-hop-address [ track track-entry-number ] [ permanent ] [ preference preference-value ] [ tag tag-value ] [ description description-text ]

缺省情况下,没有配置Track与静态路由联动

 

1.4.3  配置Track与策略路由联动

策略路由是一种依据用户制定的策略进行路由选择的机制。与单纯依照IP报文的目的地址查找路由表进行转发不同,策略路由基于到达报文的源地址、长度等信息灵活地进行路由选择。对于满足一定条件(如ACL规则)的报文,将执行一定的操作(设置转发报文的VPN实例、设置报文的优先级和下一跳等),以指导报文的转发。策略路由配置的详细介绍,请参见“三层技术-IP路由配置指导”中的“IP单播策略路由”。

策略路由无法判断对报文执行的操作的可用性。当执行的操作不可用时,策略路由仍然对报文执行该操作,可能会导致报文转发失败。例如,策略路由中配置满足一定条件的报文,需要通过指定的出接口转发。当该出接口所在的链路出现故障时,策略路由无法感知链路故障,仍然通过该接口转发报文,导致报文转发失败。

通过联动功能,可以解决上述问题,增强了策略路由应用的灵活性,以及策略路由对网络环境的动态感知能力。配置策略路由执行的操作与Track项关联,利用监测模块监视链路的状态,通过Track项的状态来动态地决定策略路由操作的可用性:

·     Track项状态为Positive时,表示链路正常工作,与该Track项关联的策略路由操作生效,可以指导转发;

·     Track项状态为Negative时,表示链路出现故障,与该Track项关联的策略路由操作无效,转发时忽略该配置项;

·     Track项状态为NotReady时,与该Track项关联的策略路由操作生效,可以指导转发。

目前,支持与Track项关联的策略路由操作包括:设置报文的下一跳。

1. 配置准备

配置Track与策略路由联动前,需要先创建策略或一个策略节点,并配置匹配规则。

2. 配置步骤

表1-8 配置Track与IPv4策略路由联动

操作

命令

说明

进入系统视图

system-view

-

创建策略或一个策略节点,并进入该策略视图

policy-based-route policy-name [ deny | permit ] node node-number

-

设置ACL匹配条件

if-match acl { acl-number | name acl-name }

缺省情况下,所有报文都会通过该节点的过滤

设置报文的下一跳,并与Track项关联

apply next-hop [ vpn-instance vpn-instance-name | inbound-vpn ] { ip-address [ direct ] [ track track-entry-number ] }&<1-n>

-

 

表1-9 配置Track与IPv6策略路由联动

操作

命令

说明

进入系统视图

system-view

-

创建策略或一个策略节点,并进入该策略视图

ipv6 policy-based-route policy-name [ deny | permit ] node node-number

-

设置ACL匹配条件

if-match acl { acl6-number | name acl6-name }

缺省情况下,所有报文都会通过该节点的过滤

设置报文的下一跳,并与Track项关联

apply next-hop [ vpn-instance vpn-instance-name | inbound-vpn ] { ipv6-address [ direct ] [ track track-entry-number ] }&<1-n>

 

 

1.5  Track显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后Track的运行情况,通过查看显示信息验证配置的效果。

表1-10 Track显示和维护

操作

命令

显示Track项的信息

display track { track-entry-number | all }

 

1.6  Track典型配置举例

1.6.1  VRRP、Track与NQA联动配置举例(Master监视上行链路)

1. 组网需求

·     Host A需要访问Internet上的Host B,Host A的缺省网关为10.1.1.10/24;

·     Router A和Router B属于虚拟IP地址为10.1.1.10的备份组1;

·     当Router A正常工作时,Host A发送给Host B的报文通过Router A转发;当通过NQA监测到Router A上行链路不通时,Host A发送给Host B的报文通过Router B转发。

2. 组网图

图1-2 VRRP、Track与NQA联动配置组网图

 

3. 配置步骤

(1)     按照图1-2配置各接口的IP地址,具体配置过程略。

(2)     在Router A上配置NQA测试组

<RouterA> system-view

# 创建管理员名为admin、操作标签为test的NQA测试组。

[RouterA] nqa entry admin test

# 配置测试类型为ICMP-echo。

[RouterA-nqa-admin-test] type icmp-echo

# 配置目的地址为10.1.2.2。

[RouterA-nqa-admin-test-icmp-echo] destination ip 10.1.2.2

# 测试频率为100ms。

[RouterA-nqa-admin-test-icmp-echo] frequency 100

# 配置联动项1(连续失败5次触发联动)。

[RouterA-nqa-admin-test-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only

[RouterA-nqa-admin-test-icmp-echo] quit

# 启动探测。