图 1 联动功能实现示意图
Track的用途是实现联动功能。
联动功能由应用模块、Track模块和监测模块三部分组成。联动功能是指通过建立联动项,实现不同模块之间的联动,即由监测模块通过Track模块触发应用模块执行某种操作。监测模块负责对链路状态、网络性能等进行探测,并通过Track模块将探测结果通知给应用模块。应用模块感知到网络状态的变化后,及时进行相应的处理,从而避免通信的中断或服务质量的降低。
Track模块位于应用模块和监测模块之间,主要功能是屏蔽不同监测模块的差异,为应用模块提供统一的接口。
用户通过配置,建立Track模块和监测模块之间的联动关系。监测模块负责对接口状态、链路状态等进行探测,并将探测结果通知给Track模块,以便及时改变Track项的状态:
• 如果探测成功,则对应Track项的状态为Positive;
• 如果探测失败,则对应Track项的状态为Negative。
目前,监测模块包括NQA(Network Quality Analyzer,网络质量分析)、BFD(Bidirectional Forwarding Detection,双向转发检测)和接口管理。其中,接口管理用来监视接口的物理状态或网络层协议状态。接口的物理状态或网络层协议状态为up时,Track项的状态为Positive;接口的物理状态或网络层协议状态为down时,Track项的状态为Negative。
用户通过配置,建立Track模块和应用模块之间的联动关系。Track项的状态发生变化后,Track模块将通知应用模块进行相应的处理。
目前,可以与Track模块实现联动功能的应用模块包括:
• VRRP
• 静态路由
• 策略路由
• 备份中心
在某些情况下,Track项状态发生变化后,如果立即通知应用模块,则可能会由于路由无法及时恢复等原因,导致通信中断。例如,VRRP备份组中Master路由器通过Track监视上行接口的状态。上行接口出现故障时,Track通知Master路由器降低优先级,使得Backup路由器抢占成为新的Master,负责转发报文。当上行接口恢复时,如果Track立即通知原来的Master路由器恢复优先级,该路由器将立即承担转发任务。此时该路由器可能尚未恢复上行的路由,从而导致报文转发失败。在这种情况下,用户可以配置Track项状态发生变化时,延迟一定的时间通知应用模块。