1. 什么是网络流量?
一条网络流量是指在一段特定的时间间隔之内,通过网络中某一个观测点的所有具有相同五元组(源IP地址、目的IP地址、传输层协议、源端口和目的端口)的分组的集合。
比如(10.134.113.77,47.98.43.47,TLSv1.2,51990,443)
2.什么是网络流量分类?
网络流量分类是指,构造一个分类模型,对收集到的各种网络流量进行分类识别,分类识别的结果是某种应用程序或者应用层协议。
3.流量分类的意义?
1.对流量进行规划管理,如按照应用程序进行分类。比如Google、YouTube网站限制。
2.识别恶意流量。比如西工大信息被美国偷。
3.QoE(quality of experience)评估。比如求出视频源质量、初始缓冲时延和卡顿占比。
4.流量分类的技术?
流量分类技术随着时间的推移已经发生了显着的发展。
第一代常用的方法是使用端口号,但是随着P2P的普及,逐渐失效(因为P2P使用伪装端口的手法)。但是端口号依然广泛使用,因为它实现简单。或者与其他功能结合使用。
第二代方法依赖于有效载荷,又称数据包检测(data packet inspection, DPI),专注于寻找哦数据包中的模式或关键字。但是DPI只适用于未加密流量,计算开销很高。
第三代方法基于流统计信息(flow statistic),依赖统计特征或时间序列特征,这些方法通常采用机器学习的方法(ML)。但是,它们的特征很大程度上取决于人工设计的特征,限制了他们的泛化能力。
第四代方法采用深度学习,避免了领域专家选择特征的需要,因为它通过训练自动选择特征。这一特性使得深度学习成为流量分类的一种非常理想的方法,特别是当新类不断出现和旧类的模式演变时。深度学习的另一个重要特点是,与传统的 ML 方法相比,它具有相当大的学习能力,因此可以学习高度复杂的模式。结合这两个特征,作为一种端到端方法,深度学习能够学习原始输入和相应的输出之间的非线性关系,而不需要将流量分类问题分解为特征选择和分类两个子问题。
网络安全top期刊综述提到的一个通用的流量分类框架