GenNP:A low-threshold and powerful network performance data generator发表于CCF B类期刊Computer Networks中。论文的核心内容是针对当前基于机器学习的网络性能估计(MLENP)方法严重依赖大量高质量训练数据,而传统离散事件模拟器(DES)在生成此类数据时存在门槛高、效率低、灵活性不足等问题,提出并设计了一个名为GenNP的新型网络性能数据生成工具。作者开源了GenNP的代码,并提供了详细的使用指南。https://github.com/migrant-people/GenNP
引用:Yang F, Ma T, Ma C, et al. GenNP: A low-threshold and powerful network performance data generator[J]. Computer Networks, 2025, 262: 111209.
1. 研究动机与问题定义
-
核心矛盾 :论文指出,基于机器学习的网络性能估计(MLENP)模型(如RouteNet, xNet)的性能高度依赖于大量、多样化、多粒度 的训练数据。然而,传统离散事件模拟器(DES)如OMNeT++、ns-3的设计初衷是"仿真验证"而非"数据生产",导致其存在四大痛点:
- 配置门槛高:每次仿真都需要手动编写或配置复杂的网络拓扑、流量参数、协议栈,耗时且需要专业知识。
- 缺乏自动化多样性生成:难以自动、随机地生成海量不同的仿真场景(如不同的故障组合、流量模式)。
- 结果处理繁琐:仿真输出格式不统一,需要大量手工后处理才能转化为可用于机器学习的数据集。
- 并行效率低下 :传统的DES并行策略通常用于同一配置的重复运行以减少方差,而不是为了并行跑大量不同配置以快速生成多样性数据。
-
数据需求分析 :论文通过系统综述过去十年(2016-2024)的12篇代表性MLENP工作(见表1),量化分析了其数据需求在空间粒度 (从网络、流到设备级)、时间粒度 (从平均值、秒级到包级)、故障涵盖 和样本量上的演变趋势,得出结论:任务越复杂,所需数据的粒度越细、多样性越高、样本量越大。
2. GenNP的详细设计原则与架构
- 四大设计原则 :
- 低门槛:用户只需通过调整配置文件中的随机变量分布(如节点数范围、故障概率),即可自动生成大量仿真配置,无需深入编码。
- 多粒度 :支持在空间上输出网络级 (整体性能)、流级 (每对通信主机的性能)、设备级 (单个路由器/队列的性能);在时间上支持任意间隔统计 (≤仿真时长)和包级原始数据。
- 多样性 :支持多种网络拓扑 (真实拓扑如GEANT,生成模型如BA、WS)、流量模型 (泊松、On-Off、恒定速率)、路由协议 (OSPF、RIP)、队列调度策略 (FIFO、DSCP)以及故障类型(节点、链路、端口)的随机组合。
- 高效率 :采用"任务级并行",将大量不同配置 的仿真任务分发到多核CPU并行执行,极大缩短了数据生成的总时间。

- 四层架构详解 :
- 配置生成层 :这是GenNP的"大脑"。包含四个生成器:
- 仿真生成器:设置全局参数,如仿真时长、重复次数、并行度,并定义输出数据的时空粒度。
- 网络生成器:生成或读取拓扑,配置链路带宽、时延、队列大小与调度策略、路由协议参数。
- 流量生成器:定义流量密度(路由器间通信概率)、流量模型参数、包大小、服务类型。
- 故障生成器:指定故障元素(节点/链路/端口)、数量、发生时间和恢复时间。
- 仿真转换层 :将上述配置自动转换为OMNeT++仿真环境所需的特定配置文件(
.ned,.ini,XML),这是一个关键自动化步骤。 - 结果提取层:驱动OMNeT++运行仿真,并从中提取原始的吞吐、丢包、时延、抖动和路由表变化等数据。
- 结果输出层 :将提取的数据按照用户定义的粒度进行聚合、整理,输出为结构化的CSV或文本文件(如
Throughput.csv,Delay.csv),形成可直接用于机器学习训练的数据集。
- 配置生成层 :这是GenNP的"大脑"。包含四个生成器:
3. 实验验证的深入解读
论文通过生成一个10K样本的数据集,并从三个维度设计实验来验证GenNP的能力:
-
多粒度能力验证:
- 空间上 :展示了同一流 在不同时间点的吞吐、丢包、时延、抖动变化(图3a),以及同一队列的丢包和时延(图3b),证明了其同时追踪流级和设备级性能的能力。
- 时间上 :展示了同一条流在不同采样粒度(5秒、1秒、500毫秒、包级)下的时延序列(图4)。结果表明,采样间隔越短,网络性能的瞬时波动越明显,这为研究瞬态性能异常 提供了数据基础。

-
多样性能力验证:
- 多流量模型:展示了泊松、On-Off、恒定比特率三种模型下包到达间隔的分布差异(图5)。
- 多网络负载:通过调整流量密度等参数,生成低、中、高三种负载场景,并分析了全网流级和设备级时延分布的变化。结果显示,高负载下高时延的流比例显著增加,分布差异明显。
- 多故障类型 :模拟了节点、链路、端口故障后网络吞吐量的恢复过程。关键发现:节点故障恢复最慢 (>40秒),因为需要路由协议重新收敛;链路/端口故障恢复较快(~10秒),因为能被直接检测。这证明了GenNP能生成对研究网络鲁棒性至关重要的故障-性能数据。
- 多路由协议参数 :测试了OSPF和RIP协议中不同计时器参数(如helloInterval)对故障恢复速度的影响。参数越小,感知故障和重新收敛越快,网络性能恢复也越快。

-
高效率能力验证:
- 在32核CPU上,对不同规模网络(91、136、276条流)进行32次仿真的对比。并行执行 相比串行执行 分别获得了15倍、19倍和23倍的加速比。这证明了其"任务级并行"策略能有效利用计算资源,加速比与网络规模(事件复杂度)正相关。
4. 核心贡献
- 工具创新 :首次提出了一个专门为MLENP数据生成而设计的、自动化、可配置的工具GenNP,解决了从"仿真验证"到"数据生产"的范式转换问题。
- 故障数据突破 :实现了网络故障(节点、链路、端口)的可配置化注入与数据采集,填补了故障后网络性能公开数据集的空白,为网络可靠性、韧性评估的ML研究提供了可能。
- 性能与灵活性 :在保持基于OMNeT++的高保真仿真的同时,通过分层架构和并行设计,实现了低门槛的多样性配置 和高效率的数据生成。
- 资源开源 :论文完全开源了GenNP工具代码 ,并提供了一个已生成的10K样本数据集,极大促进了该领域研究的可复现性和后续工作。
5. 局限性与未来方向
论文在讨论部分也坦诚了GenNP的当前局限:
- 协议覆盖有限:目前主要专注于网络层路由协议(OSPF,RIP),尚未集成传输层(如复杂拥塞控制协议DCTCP)和应用层协议。
- 网络类型局限 :目前专注于有线网络(WAN, DCN),未扩展至无线网络(如5G/6G, 空天地一体化网络),后者涉及更复杂的物理环境模拟。
- 易用性 :当前需要通过编辑配置文件和命令行操作,未来可增加图形用户界面 和结果可视化功能以进一步降低使用门槛。
综上所述,GenNP是一套设计严谨、功能全面、经过充分验证的系统性解决方案,它瞄准了ML网络研究中的一个基础且关键的痛点------高质量数据生成,并通过工程化实现有效解决了该问题。