论文标题:Towards Time-Sensitive Networking Traffic Generation with PIPO-TG
中文标题:面向时间敏感网络流量生成的PIPO-TG
作者信息:
- Filipo Gabert Costa, Francisco Germano Vogt, Fabricio Rodriguez - 坎皮纳斯州立大学(UNICAMP)
- Marcelo Luizelli - 帕玛联邦大学(Unipampa)
- Christian Esteve Rothenberg - 坎皮纳斯州立大学(UNICAMP)
论文出处:该论文由UNICAMP和Unipampa的研究人员撰写,具体的发表信息未在文档中提供。
摘要: 本文讨论了在现代网络环境中,为了评估网络性能、安全性和效率,进行现实流量模拟的重要性。现有的解决方案难以同时满足高性能、可扩展性、精确性、灵活性和成本效益的需求。PIPO-TG作为一种基于Tofino的流量生成器,旨在克服这些限制,为高性能参数化流量实验提供支持。研究者扩展了PIPO-TG的功能,以支持纳秒级延迟分布的更具挑战性场景,通过复制商业TSN桥中测量的时间敏感网络(TSN)延迟迹线,展示了PIPO-TG的灵活性、准确性和性能,使其成为网络研究和实验中网络测试的理想工具。
1. 引言: 适当的流量生成对于评估网络性能、效率和安全性至关重要。随着可编程网络的进展,这些工具能够控制生成现实流量并模拟真实世界场景,为网络系统行为提供宝贵的见解。此外,流量生成在容量规划中发挥关键作用,支持预测和扩展网络容量以满足当前和未来的流量需求,确保网络性能的一致性。PIPO-TG是一种基于Tofino的流量生成器,能够复制各种场景,如拥塞、微突发和分布式拒绝服务(DDoS)攻击。本文中,研究者介绍了PIPO-TG的新功能,以支持更具挑战性的场景,并使用DETERMINISTIC6G项目共享的真实延迟迹线,展示了硬件基础的PIPO-TG能够复制这些极低延迟的场景。
2. 相关工作: 本节讨论了主要关注流量生成器的相关研究。现有的努力分为基于软件和基于硬件两种实现方式。传统的开源软件工具如Iperf3、Netperf、Netcat和Httperf通常用于带宽测量,支持多种协议和流量生成与测量模式。然而,它们的准确性通常不可靠,难以在不同场景中复制测试。更具体的解决方案如TRex和MoonGen,提供了高速性能测试场景的理想选择。此外,一些流量生成器采用了Tofino交换机,如HyperTester和P4TG,它们结合了软件和硬件进行流量复制,展示了高性能和精确的速率控制。
3. PIPO-TG: 参数化高性能流量生成: PIPO-TG是一个强大的流量生成解决方案,利用Tofino的流量生成能力与Python和P4处理相结合,实现每端口高达100 Gbps的速度,所有这些都可以根据用户偏好进行定制。该工具提供了类似于Scapy的用户友好脚本接口,允许用户定义复杂的流量模式,包括协议、数据包大小分布和吞吐量参数。此外,PIPO-TG支持并发执行额外的P4代码,使得在单个P4交换机上进行综合测试场景成为可能,而无需外部服务器进行流量生成。
3.1 架构: PIPO-TG的架构提供了模块、组件及其连接的概览。PIPO-TG接收流量模式定义和用户提供的P4代码,用户通过编写简单的Python脚本来定义生成的流量,包括输出端口、吞吐量、常见或自定义协议等配置参数。预处理模块负责解析、分析和准备输入数据以供进一步处理,确保用户定义的流量符合Tofino的限制。处理模块利用配置的数据结构执行必要的操作,生成必要的配置文件。生成的文件包括PIPO-TG P4代码和Python脚本,用于添加必要的表项以激活流量生成器、配置计量器和定义所需的数据包流。执行模块协调PIPO-TG的执行,包括P4代码编译、交换机初始化、端口配置、添加表项和启动流量生成。
3.2 主要特点: PIPO-TG提供了一些特点和功能,允许用户生成不同类型的流量并模拟现实网络场景。它能够生成基本的以太网数据包,用户可以指定期望的流量传输速率,支持常见的协议如以太网、IP、TCP和UDP,并允许用户定义特定字段值或随机值变化。此外,PIPO-TG还支持自定义协议,用户可以创建任何自定义协议,包括字段定义和分布。用户还可以控制数据包大小,指定固定大小或所需分布。PIPO-TG还支持用户定义的P4代码,允许在PIPO-TG内执行自定义P4代码,实现生成流量的无缝接收。
4. 6G/TSN用例: 由于PIPO-TG提供的功能和参数变化的灵活性,它能够复制大量的流量场景。在这项工作中,研究者进一步扩展了PIPO-TG的流量生成能力,以支持一个新的用例:6G/TSN网络中的延迟分布。TSN是一套旨在以太网网络上实现确定性通信的标准集,它通过同步设备和保证可靠的数据传输,确保精确的时序和低延迟通信,这对于时间关键型应用(如工业自动化和汽车系统)至关重要。PIPO-TG的目标是复制DETERMINISTIC6G项目提供的真实TSN通信数据。通过开发能够在商业可编程交换机(如Tofino)上复制这种流量模式的工具,研究者希望能够鼓励该领域的更多研究。为此,他们更新了PIPO-TG,使其能够理解DETERMINISTIC6G测量生成的直方图,并根据直方图定义的模式复制流量。
4.1 场景:复制时间敏感网络延迟: 研究者寻求复制由DETERMINISTIC6G项目测量和提供的真实TSN通信数据。DETERMINISTIC6G项目旨在解决6G带来的端到端确定性通信的新挑战,该项目旨在开发一种新的6G系统架构,提供可预测的性能,并将其与TSN和DetNet端到端集成,从而弥合有线确定性通信标准与当前无线网络基础设施之间的差距。
4.2 实验: 实验设置包括使用Tofino交换机(Edgecore Wedge 100BF-32X)和一台服务器(配置有Intel Xeon E5-2620v2、双端口10G Intel X540-AT2 NIC和64GB内存,运行Ubuntu 20.04),通过10G SFP+接口连接。实验方法涉及评估PIPO-TG生成的期望和实际延迟的准确性,范围从100纳秒到100万纳秒。实验结果显示,较小的值和增量显示出期望和生成延迟之间的较大差异,而较大的值则显示出更接近的结果。对于较小的延迟变化,PIPO-TG在生成接近理想值的延迟方面存在困难,但对于稍高的值,它能够生成非常接近理想的值。
5. 文档、代码和演示: PIPO-TG是一个开源项目,可在GitHub上找到。该项目正在进行中,功能更新频繁,可能存在bug修复。项目也欢迎贡献者提供想法、bug报告甚至新功能。文档提供了所有流量生成特性的完整使用说明,包括数据包特性和延迟分布。此外,还提供了一个视频教程,展示了不同流量模式下流量生成器的配置和执行。视频可在Google Drive上找到。
演示将重点展示第4节中描述的用例,展示PIPO-TG在高保真度复制TSN场景方面的潜力。参与者将能够观察PIPO-TG在其他场景中的应用,提出不同的流量模式,并利用PIPO-TG提供的灵活性。
6. 结论: 本文展示了基于Tofino的开源PIPO-TG流量生成器的高级功能。通过一个新的用例:复制不同的TSN延迟分布和创建纳秒级延迟的数据包,展示了PIPO-TG的改进能力和效率。PIPO-TG的未来计划包括支持有状态连接(例如TCP、QUIC)和开发监控工具。