网络的快速发展带来了新型网络设备的出现、网络传输路径的扩展以及网络流量的显著增加。根据国际电信联盟(ITU)2024年报告[1]的数据,互联网用户数量已达到55亿,宽带流量使用量分别为5.1 ZB(桌面用户)和1.3 ZB(移动用户)。对于大规模的网络流量数据,网络流量分析技术已成为网络管理和安全分析的关键工具。通过监控和识别流量传输模式,网络流量分析技术可以检测网络性能瓶颈、发现异常行为并识别安全威胁,从而优化网络资源分配、保护网络环境并支持数据驱动的决策制定。
尽管网络流量分析是一项成熟的技术,但它不断面临网络变化带来的新挑战。例如,加密等技术通过消除流量负载中的明显字符串格式规则,对传统的网络流量分析解决方案(如深度包检测)构成了重大挑战。近年来,通过将人工智能(AI)应用于网络流量分析[2]、[3]、[4],取得了一系列进展。基于AI的网络流量分析解决方案将网络流量转换为代表性的流量特征,并选择机器学习和深度学习模型来实现自动分析[5]、[6]。由于大多数设计的流量特征是与负载无关的旁路特征(如数据包长度和数据包到达时间),基于AI的网络流量分析在分析封装的流量数据方面表现出良好的性能,目前已成为首选解决方案。
基于AI的网络流量分析解决方案的主要特点是它们需要大量的网络流量数据进行模型学习。在模型学习过程中,输入模型的数据主要是从预处理后的流量对象(如数据包、双向流)中提取的数值特征,这些特征通常被组织成向量。因此,特征的准确性和完整性对模型的合理性和有效性起着决定性作用[7]。这些解决方案侧重于从完整数据中提取有效特征,并设计兼容的模型来学习其中的模式。然而,在实际网络环境中,由于链路不稳定和捕获能力有限,捕获的流量数据中存在不可忽视的数据丢失现象。因此,尽管这些特征和模型在实验室中表现良好,但在数据丢失环境中提取的特征将出现分布偏斜,从而无法被训练好的模型正确处理。因此,当这些解决方案被部署到实际网络环境中时,可以预见模型性能会显著下降。
特别是,我们确定了由四个因素引起的三种流量数据丢失类型。首先,网络链路的不稳定性(如网络拥塞、链路损坏[8]、[9]、无线网络不稳定[10]等)可能导致数据包级数据丢失,即一次完整通信中一个或多个数据包的丢失。其次,部署在特定位置的路由器总是只在一个方向上传输数据包。因此,在这些位置捕获的流量数据将遭受流级数据丢失,即另一个方向的所有数据包丢失。第三,离线分析解决方案需要在分析之前存储流量数据。然而,当网络流量数据量非常大时,存储全部流量数据并不总是可行的。在这种情况下,截断流量数据然后存储它是一个替代方案,例如只存储每个数据包的前N个字节。这将导致字节级数据丢失。类似地,在某些受限的分析环境中(例如,监管机构仅允许提供截断的流量数据以保护用户隐私时),也可能发生字节级数据丢失。在上述四个因素中,前两个因素是网络固有的,在当前的网络架构下将持续存在。后两个因素与当前的存储能力和数据管理实践相关,其影响会随着技术或政策的发展而变化。为明确起见,本文将上述流量数据丢失称为数据不完整性。
随着现实世界网络环境中数据不完整性的普遍性增加,基于AI的网络流量分析解决方案在其实现中考虑数据不完整性对于确保其鲁棒性和有效性至关重要。本文概述了当前关于网络流量分析中数据不完整性的研究现状。我们从四个角度详细分析了现有研究:数据丢失场景、数据丢失缓解方法、特征表示和评估指标,并系统地总结了当前的研究状态,为未来的研究提供了结构化的框架。据我们所知,目前还没有文献系统地概述网络流量分析中的数据不完整性问题。我们的工作试图填补这一研究空白。
本文的其余部分组织如下。第2节介绍了网络流量分析中数据不完整性的现状。第3节对数据不完整性下的网络流量分析解决方案进行了系统分类。然后,第4节、第5节、第6节和第7节分别详细分析了处理数据不完整性的研究。第4节分析了数据丢失场景。第5节详细介绍了缓解数据丢失的方法。第6节讨论了研究中使用的特征表示。第7节介绍了评估指标。最后,第8节对本文进行了总结。