基于NetFlow双向流记录估算平均往返时间
在网络性能评估中,往返时间(RTT)是一个关键指标,它对服务质量保证、网络规划和拥塞检测等方面都有着重要的影响。传统的RTT被动估算方法通常依赖于IP跟踪数据,但这些方法需要专业的数据包捕获设备和大量的存储空间,在高速网络环境中的应用成本较高。本文将介绍一种基于NetFlow记录的被动估算方法,通过分析TCP稳定流量模型来估算平均RTT。
1. 背景知识
网络延迟可分为单向延迟和往返延迟。单向延迟是指源主机发送数据包到目的主机接收数据包的时间间隔,而往返延迟,即RTT,则是发送数据包到收到其确认的时间间隔。用户对网络服务的体验很大程度上取决于请求发送和响应接收之间的延迟,因此我们主要关注TCP流的RTT。
目前,估算RTT的方法主要分为主动测量和被动测量两类。主动测量方法通过发送测试数据包来计算链路延迟,但会给网络流量带来额外的开销,不适合部署在网络中的监控设备。被动测量方法则在网络中部署监控点,分析流量数据以获取TCP流的RTT。现有的被动RTT估算算法包括SYN - ACK方法、SLOW - START方法、PRE方法、TIMESTAMP方法、SELF - CLOCKING方法、RUNNING方法和SPECTRAL ANALYSIS方法等。然而,这些方法都需要监控设备捕获的IP跟踪数据,在高速网络环境中应用受限。
NetFlow是CISCO在1996年开发的一种网络流量监控技术,广泛应用于许多商业路由器和交换机中。分析NetFlow收集的数据集对于RTT估算具有重要意义。我们的目标是通过分析NetFlow跟踪数据,以被动方式估算TCP流的端到端RTT,这里讨论的RTT是TCP流的统计平均RTT值。