● 摘要
网络流量分析是网络管理中的一个重要方面,目前比较主流的网络流量分析技术有思科公司的NetFlow技术和InMon公司的sFlow技术。但是,这两种技术都需要特定的网络设备支持,而且会占用网络设备的资源,影响网络设备的性能。此外,这两种技术采用的抽样算法不够灵活,不能根据网络环境的变化自动的调整抽样率,合理的分配测量资源。本文基于以上问题,设计和实现了同时支持NetFlow和sFlow两种测量技术的网络FLOW探针系统,设计了基于分层的自适应随机抽样算法,并为网络FLOW探针系统实现了多种抽样算法,为网络流量分析提供有力的网络数据支持。本文的主要工作和取得的成果有:1、参考基于AR模型的自适应随机抽样算法,提出了基于分层的自适应随机抽样算法,并同传统的静态抽样算法进行了实验比较分析。实验结果表明,基于分层的自适应随机抽样算法在较低的抽样率的前提下,可以获得较高的测量准确度。2、设计并实现了sFlow Agent,可输出sFlow v4和v5两种版本的数据报,并且可以将sFlow数据报同时发送到多个sFlow采集设备。针对sFlow测量技术的实时性的需要,提出了基于缓存和定时的数据报发送策略,节省了系统资源,减少了对网络带宽资源的占用。3、设计并实现了NetFlow Agent,可输出NetFlow v5和v9两种版本的数据报,并且可以将NetFlow数据报同时发送到多个NetFlow采集设备。针对NetFlow流缓存中查询效率低的问题,采用了基于红黑树的NetFlow流缓存结构,提高了NetFlow流的查询效率。系统实际运行测试结果证明,本文实现的网络FLOW探针系统有良好的性能表现,能够满足网络流量测量的需要。