跳转至

Patchwork: A Traffic Capture and Analysis Platform for Network Experiments on a Federated Testbed

Patchwork 是一个用户部署的, 开源的流量捕获与分析平台, 专为像 FABRIC 这样最先进的联邦制网络测试床 (Federated Testbed) 设计.

(1) 核心问题:

现有的联邦测试床 (如 FABRIC) 虽然提供了TB级别的链路和可编程基础设施, 但缺乏精细的, 易用的流量捕获工具.

现有的测量框架 (e.g. MFlib) 主要基于 SNMP, 粒度太粗; 而底层的端口镜像 (Port Mirroring) 功能又太原始, 用户难以直接使用.

(2) 解决方案:

Patchwork 作为 FABRIC 上的一个普通实验运行 (无需修改 Testbed 底层), 利用 FABRIC 的现有功能 (端口镜像, FPGA 网卡) 来提供可扩展的, 线性速度 的流量分析服务.

(3) 主要贡献:

  1. 对 FABRIC 基础设施和资源利用率进行了详细研究. 设计并实现了 Patchwork 平台
  2. 基于 Patchwork 运行一年 (2023.12 - 2024.12) 的数据, 发布了 FABRIC 的流量画像 (Traffic Profile)

Introduction 核心内容

  • 背景与问题: 现有的联邦网络测试床虽然规模巨大, 但仅提供基础的流量捕获原语, 迫使研究人员重复劳动以开发定制的解决方案来诊断和评估实验.
  • 技术挑战: 由于联邦测试床的自治结构以及高容量链路对加速处理的需求, 构建一个通用的, 可复用的系统具有很大挑战性.
  • 解决方案 Patchwork: 本文介绍了 Patchwork, 这是一个开源的流量捕获与分析平台, 运行在最先进的 FABRIC 测试床上. 它既支持单个实验的流量分析, 也支持对测试床上同时发生的所有实验进行分析.
  • 设计特点: 为了实现通用性, Patchwork 本身作为 FABRIC 上的一个实验运行, 无需修改测试床底层架构; 为了可扩展性, 它利用 FPGA 网卡 (NICs) 进行逻辑卸载并使用了 DPDK 技术.
  • 部署与成果: Patchwork 已被个人用户使用并在 FABRIC 上运行超过一年, 论文展示了基于此生成的全网流量使用情况分析, 并讨论了其对未来测量研究的意义.

Related Work 核心内容

比较维度 Related Work 本文 Patchwork
1. 研究重点
终端主机资源与响应速度
关注 CPU, 内存负载, 简单的网卡吞吐量, 或测试床配置实验的速度, 链路延迟等.
网络数据平面 (Data Plane)
专注于测试床网络本身的流量分析, 而非基础设施的响应速度或终端主机的计算资源.
2. 数据粒度
粗粒度计数器
主要依赖终端主机网卡的计数器数值 (Counter values).
细粒度采样与画像
跨站点对数据平面进行流量采样, 构建详细的流量画像 (如帧大小分布, 流的组成结构等).
3. 工具能力
基础测量资源创建
例如 GENI 的 INSTOOLS 系统, 支持创建测量资源对数据平面采样.
全网级, 高性能, 异构支持
可跨所有正在运行的实验工作 (也可针对单个实验), 支持异构硬件, 且能以线速 (Line rate) 运行.
4. 网络类型与特征
传统/商业网络
针对互联网骨干网, 住宅宽带, 校园网, 数据中心或卫星网络进行画像.
联邦科研测试床 (FABRIC)
流量特征独特: 大量使用巨型帧 (Jumbo frames), 且因承载多样化实验导致流量变异性极高.
5. 贡献总结
—— 1. 最新的共享测试床资源与利用率分析.
2. 首个针对联邦测试床的网络画像工具.
3. FABRIC 运行首年的网络流量画像分析.
4. 首个用户部署的, 服务于其他研究者的测试床服务.

Background: FABRIC Testbed 核心内容

FABRIC 的核心架构与机制概括如下:

alt text

(1) Federated Structure:

FABRIC 是一个联邦制的测试床, 由嵌入在不同机构 (如大学和互联网交换点) 网络中的机架组成.

这些机架虽然实行集中管理, 但在地理上跨越了亚洲, 欧洲和美国.

(2) Resources & Terminology:

  • 硬件: 机架包含以太网交换机和连接的工作节点, 节点托管虚拟机 (VMs) 并配备多种网卡 (NICs).
  • 预留机制: 研究人员创建 Slice (切片) 来预留实验资源, 被预留的具体资源称为 Slivers.
  • 资源类型: 可用的 Slivers 包括虚拟机, 各种 GPU, Mellanox ConnectX 网卡, Alveo FPGA 网卡以及 Tofino 交换机.

(3) Site Heterogeneity & Connectivity:

  • 不同站点提供的资源类型和数量各不相同 (例如 NCSA 站点拥有数百个核心和特定类型的网卡).
  • 站点通过交换机上的专用上行端口 (Uplink ports) 相互连接, 链路包含发送 (Tx) 和接收 (Rx) 通道.
  • 站点间的链路容量不同且不保证可用性, 所有链路均由用户共享.

(4) Switch Management & Telemetry:

  • 使用 Cisco 5700 系列或 Ciena 8190 作为机架顶端 (ToR) 交换机.
  • FABRIC 提供了抽象 API, 用于网络配置, 基于 SNMP 的端口级遥测 (通过 MFlib 查询) 以及端口镜像功能.

(5) Port Mirroring Primitive:

alt text

  • 这是网络剖析的重要低级原语, 需要用户代码来管理.
  • 其原理是选择一个 ToR 端口, 将其 Tx 或 Rx 流量镜像到另一个端口, 并分配专用的网卡和虚拟机来接收这些流量.
  • 关键特性: 默认情况下, 接收端会收到流经被镜像端口的所有帧, 而不仅仅是特定用户的流量.