本文是由Xiaocan Wu、He Huang(通信作者,邮箱:huangh@suda.edu.cn)、Yang Du、Yu-e Sun及Yifan Han撰写的研究论文,作者分别隶属于中国苏州大学计算机科学与技术学院和苏州大学轨道交通学院。文章发表在Science China Information Sciences期刊的2025年3月第68卷第3期,题为《FEA-Sketch: Flow Entries Assisted Sketch for Heavy Flow Detection in Software-Defined Networking》,其DOI为:10.1007/s11432-024-4244-3。
本文针对软件定义网络(Software-Defined Networking,SDN)中的重流检测(Heavy Flow Detection)进行研究。SDN的核心特点是将控制平面(Control Plane)与数据平面(Data Plane)解耦,通过一个中心化的控制器对网络流量实现全局的管理和优化。然而,在这一过程中,控制器需要从数据平面周期性地收集流量统计数据用于决策,尤其是与重流相关的统计信息,这对于流量异常检测、网络规划及流量路径分配等应用至关重要。
当前已有研究提出了基于Sketch的数据结构(例如:CountMin Sketch和CountSketch)用于快速检测重流。这些方案利用紧凑的计数器结构来克服SDN中高流量和有限高速存储资源的矛盾。但这些方法忽略了流表(Flow Table)的潜力。流表不仅用于转发规则的匹配,还能记录流量的统计信息。如果将流表和Sketch协同设计,则可能减少计算重复性、降低存储开销,并进一步提高检测和估算的精度。
为了弥补上述不足,本文提出了一种创新性的方案FEA-Sketch(Flow Entries Assisted Sketch),其核心思想是联合使用流表和Sketch共同记录流量统计信息,从而实现高效的重流检测。本文具体目标包括: 1. 提出一种改进的统计记录策略,动态利用流表与Sketch的优点分配流量统计任务。 2. 提出基于优化算法的估计方法,弥补流量统计数据聚合带来的精度损失。 3. 在分布式场景中,设计一种基于跳数的协同测量策略,减少网络中各交换机的负载和冗余测量。 4. 通过真实互联网数据集的实验评估其检测性能和资源开销。
FEA-Sketch通过区分流表的匹配情况(Exact-Match或Wildcard-Match)设计了一种差异化流量记录策略(Differentiated Flow Recording Strategy): 1. Exact-Match流:在流表中精确匹配的流,其流量统计数据会直接记录在流表中,Sketch无需重复记录。 2. Wildcard-Match流:在流表中通过通配符规则共享同一条目的流,其统计信息既记录在流表中,也部分保存在Sketch中,用于后续的估算优化。 3. Unmatched流:无法在流表中匹配到的流,其所有统计信息都需存储在Sketch中。
FEA-Sketch基于以下创新技术提高了记录性能: 1. 随机双向计数(Randomized Bidirectional Packet Counting):为流量统计分配随机的计数方向(+1或-1),减少小流造成的冲突。 2. 分离流量记录技术(Separated Flow Recording Technique):将同一流的包随机分散到不同的Sketch行中记录,进一步减少冲突并提高记忆效率。
每一轮测量周期开始时,Sketch的计数器矩阵会被初始化为零。对于每个到达的数据包,其流标签会被Hash函数映射到计数器矩阵的具体位置,并根据双向计数规则更新计数。
在测量完成后,流程进入估算阶段。FEA-Sketch通过以下步骤改进了估算方法: 1. 冲突关系恢复:从流表和Sketch中提取流的冲突信息,并生成这些流与计数器之间的关联关系。 2. 优化目标设计:将估算问题转化为一个优化问题,其目标是最小化估算计数值与实际记录值之间的误差。 3. 梯度下降算法(Gradient Descent Algorithm):采用自适应学习率的随机梯度下降法 iteratively 优化每一流的流量大小。 4. 准确恢复流大小:根据优化结果,对共享计数器流量的估算值进行综合调整,进一步提高结果精度。
FEA-Sketch设计了基于跳数的协同测量策略(Hop-Based Collaborative Measurement Strategy): 1. 为每个数据包增加一个记录跳数的字段,通过累加跳数动态调整各交换机间的抽样概率。 2. 每个交换机根据跳数决定是否记录流量,避免冗余数据包的重复记录,从而平衡网络中多个交换机的测量负载。
在估算阶段,加入额外的跳数信息调整优化模型,使分布式测量环境下的流量估算保持一致性和准确性。
实验基于真实的CAIDA互联网流量数据集,分布在Fat-Tree和Spine-Leaf两种网络拓扑中,并与现有的CountMax、Distributed Sketch(简称DS)以及PR-Sketch方法进行了对比。主要实验结果包括:
检测精度:
估算精度:
计算效率:
通过实验,本文的研究结果表明,FEA-Sketch能够显著提升SDN中的重流检测精度,并优化流量估算。在存储资源有限的条件下,其内存效率和检测性能均优于现有方法。同时,提出的分布式协同测量策略进一步降低了网络中交换机的负载,避免了冗余测量。
科学价值:本研究是一项针对SDN流量测量的重大改进,填补了流表与Sketch协同使用方案的空白。
应用潜力: 1. 大规模互联网流量管理和异常检测中,FEA-Sketch有潜力提升检测准确性,可支持更高效的流表更新。 2. 在资源受限的嵌入式网络设备中,FEA-Sketch的低内存占用特性尤为突出。
未来工作可能包括探索更多类型的流量统计度量以及其他网络性能优化的指标。