论文阅读 使用机器学习进行加密流量分类 3篇
最近被分配了几篇关于机器学习进行流量分类的文章进行阅读,感觉都比较麻瓜。这里简单分享一下。
给大家的建议是尽量读顶会的论文,以达到见贤思齐焉的目的
- Comparison of machine-learning algorithms for classification of v*n network traffic flow using time-related features
- A SOM and PNN Model for Network Traffic Classification
- YouTube performance estimation based on the analysis of encrypted network traffic using machine learning
第一篇没有具体文章下载位置,这里暂且不提。
YouTube performance estimation based on the analysis of encrypted network traffic using machine learning
切入背景:
1、加密流量多。2014年全球互联网流量的67%是视频,预计到2019年,这一份额将增长到80%
2、通过CDN进行内容分发。通过Google的内容传送网络(CDN)传送。
如果服务有问题,通常责怪ISP的QoE差。
方法:根据传输层的网络流量特性来估计QoE
前人的工作:开发了一种名为BLINC的方法,用于基于应用类别(web,p2p,流媒体,游戏等)对网络流进行分类
自己的工作 YouQ:
YouQ服务器包括:
1)用于创建大量视频ID并存储其元数据的YouTube数据库应用程序(此数据通过YouTube数据API收集);
2)用于存储测量结果的FTP服务器;
3)用于显示实验结果的YouQ Web应用程序;
4)用于存储应用级KPI和视频元数据的数据库服务器;
5)用于数据处理的脚本,以及
6)用于提取网络特征的应用程序。
注:KPI(应用程序停滞事件数,平均停滞时间,某些质量级别上播放时间的百分比等)
目的:希望监控服务性能并检测潜在客户感知体验质量(QoE)降级
数据采集:
特征:
组合了一组54个特征,可以分为六类:数据包长度统计,大小以5秒为单位的传输数据,数据包统计,统一时间统计,吞吐量统计和TCP标志计数。特征之后缩减到33.
分类标准:自己定义的
实验:实验流程
为了收集数据,进行了39次具有不同带宽限制的实验(每个实验涉及多个视频播放)
结果:采集到的结果。
把实验得到的结果按照之前的公式标注成 high medium low 。然后利用捕捉到的流量层面的特征进行分类。
说明:特征主要有
吞吐量中位数、平均包大小、平均间隔时间、最小间隔时间、流量通过时间中位数,
push、时间间隔中位数、初始吞吐量、重复,有效吞吐量
读后感:
1、加密流量和QoE的关系是什么?这个加密与否对结果造成了影响?
2、对现有工作的分析比较太弱。仅仅作为背景提及,流量分类有哪些方法?有哪些不足?
3、实验方法有问题。使用不同的带宽和不同的视频量进行测试,i.e. 第27个实验,0,3的带宽+27个视频,有什么好测试的?
4、分类方法也没有改进,基本就是算法库套用一下。
5、结果没有产生新的认识。带宽大,视频少就更容易停滞难道不是共识?
6、最后回到一个重要问题:作者的故事是什么?
用户使用的网络运营商看视频体验差可能导致该网络运营商流失客户。通过被动抓取视频流量预测QoE帮助运营商提高姿势。
这里可能值得研究的问题应该是带宽足够的情况下,用户观看视频的体验仍然差,然后分析出为什么会比较差。
但是这篇文章基本上没有出现这种情况。
所以最后的结论难道不应该是:建议用户多花钱买更大的带宽?。。。。
流量分类:A SOM and PNN Model for Network Traffic Classification
背景:目前的网络流量分类方法,无论是基于端口还是基于有效负载的方法,由于许多P2P应用程序使用动态端口号,伪装技术和数据加密来避免检测,因此无效且不准确。
本文:提出了一种结合SOM(自组织神经网络:降维)和PNN的神经网络分类方法,通过使用SOM计算PNN的输入空间维度来提高分类效率,并通过以下方式提高PNN(概率神经网络)的分类精度
保留培训样本的特点。
目前的网络流量分类方法可以分为四类:(这个分类确定正交?)
1)基于知名端口分析的方法
不足:动态端口
2)基于有效载荷分析的方法,不足:协议加密,数据安全,隐私问题等的挑战
3)基于流行为特征的方法,
不足:效率差(??)
4)基于机器学习的方法。
在上述所有这些方法中,基于机器学习的方法是唯一具有前景的方法,而其余方法在精度或效率方面都有缺点。
PNN通常以两种方式进行训练:
1)基于预定义网络拓扑的训练;
2)训练基于数据集中的每个样本。
前者难以实现,因为它需要丰富的实际操作经验,而后者在大量数据集的情况下在计算上是昂贵的。在本文中,组合SOM和PNN的模型提出了提高训练效率,并以相对低的计算成本实现更好的分类性能。
数据来源:Moore等人最初描述的数据集 (2005)用于实验。
The SOM and PNN Model
模型参数:
对比单纯用PNN和 SOM+PNN:
读后感:
1、故事背景就很奇怪。还在说动态端口和有效负载的问题,然而,加密流量分类都多少年了?
2、对流量分类方法的研究很欠缺。分类不正交,前三个是数据特征,最后的机器学习方法。即便是对比方法,也应该和其他机器学习方法比。
3、数据集陈旧。
4、实验方法陈旧。SOM+PNN很早就有相关论文了。
5、对照试验设置不合理,对比了SOM+PNN和单纯利用PNN的区别。但还是其他的常见算法如SVM呢?时间效率呢?
见不贤而内自省吧,故事一定要讲清楚,之后才是数据、方法、实验。