可编程数据平面中机器学习辅助的用户活动流量分类
作者单位:华东师范大学
学位级别:硕士
导师姓名:章玥
授予年度:2023年
学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)] 081104[工学-模式识别与智能系统] 08[工学] 0835[工学-软件工程] 081201[工学-计算机系统结构] 0811[工学-控制科学与工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:网络终端的日益普及和新型网络应用的不断涌现,不仅造成网络流量指数级的增长,也提升了用户活动流量分类的复杂性。分组加密和动态端口技术给流量分类带来了新的挑战,研究人员尝试将机器学习部署到可编程网络的控制平面来保障分类的精度,却存在高延迟和通信开销大等问题。随着可编程数据平面技术的发展,交换机、路由器和网卡等网络设备已逐步具备了可编程能力,为实时的用户活动流量分类和降低通信开销提供了可能。然而将机器学习技术卸载到可编程数据平面依然面临诸多挑战,具体表现为:(1)网络设备中用于存放流表的存储资源有限;(2)网络设备中用于解析和转发数据报文之外任务的计算资源有限;(3)目前数据平面主流的编程语言在支持浮点数、矩阵等复杂运算上存在限制。本文主要研究了如何在可编程网络中实现用户活动流量的准确分类,旨在利用网络设备有限的资源条件下,构建合适的机器学习分类模型并部署到可编程数据平面中。本文主要工作内容与创新点如下:第一,提出了一个可编程网络中用户活动流量分类的框架,并基于不同的模型转换方式将机器学习的分类模型卸载到可编程数据平面,该框架能够被部署在一般网络环境和具有高度动态性的网络环境中,实现在不同网络环境中对用户活动流量的准确分类。第二,提出了一个机器学习辅助的用户活动流量分类方案。基于哈希表和Sketch设计存储结构,用于记录网络流量特征数据来减少内存空间占用;基于聚类算法和决策树算法设计分类模型,用于推断时间窗口内的用户活动标签。采用硬编码的方式实现机器学习分类器在可编程数据平面的部署,实验表明所提出方案可以在保证分类精确度的前提下,减少对网络设备内存空间的占用。第三,提出了一个动态网络环境中机器学习辅助的用户活动流量分类方案。针对动态网络环境中流量存在的高度动态性问题,将训练好的分类模型转换为对应的特征空间,并生成特征表和决策表,使用匹配-动作表的方式将机器学习算法卸载到可编程数据平面。在动态变化的物联网流量条件下进行实验,结果表明该方案在实现对异常流量检测的同时保持了良好的分类效果,具备了在动态网络环境中的适应能力。综上,本文研究了可编程网络中用户活动流量分类问题,对数据平面引入机器学习算法进行探索,对提升不同网络环境中的流量分类能力具有积极意义。