1、密 级 : 工 程 硕 士 学 位 论 文高 速 网 络 测 试 流 量 生 成 方 法 研 究 与 实 现 作 者 姓 名 : 钟 超指 导 教 师 : 叶 志 伟湖北工业大学学 位 类 别 : 工 程 硕 士 学 科 专 业 : 计 算 机 技 术培 养 单 位 : 湖 北 工 业 大 学 2015 年 11 月Research and Realization of High Speed NetworkTest Traffic Generation MethodBy Zhong ChaoA Dissertation Submitted toGraduate University of Ch
2、inese Academy of Sciences In partial fulfillment of the requirementFor the degree ofMaster of Computer ArchitectureInstitute of Computing Technology, Chinese Academy of SciencesNOV, 2015声 明我 声 明 本 论 文 是 我 本 人 在 导 师 指 导 下 进 行 的 研 究 工 作 及 取 得 的 研 究 成 果 。 尽 我 所 知 , 除 了 文 中 特 别 加 以 标 注 和 致 谢 的 地 方 外 , 本
3、 论 文 中 不 包 含 其 他 人 已 经 发 表 或 撰 写 过 的 研 究 成 果 。 与 我 一 同 工 作 的 同 志 对 本 研 究 所 做 的 任 何 贡 献 均 已 在 论 文 中 作 了 明 确 的 说 明 并 表 示 了 谢 意 。作 者 签 名 : 日 期 :论 文 版 权 使 用 授 权 书本 人 授 权 中 国 科 学 院 计 算 技 术 研 究 所 可 以 保 留 并 向 国 家 有 关 部 门 或 机 构 送 交 本 论 文 的 复 印 件 和 电 子 文 档 , 允 许 本 论 文 被 查 阅 和 借 阅 , 可 以 将 本 论 文 的 全 部 或 部 分 内
4、容 编 入 有 关 数 据 库 进 行 检 索 , 可 以 采 用 影 印 、 缩 印 或 扫 描 等 复 制 手 段 保 存 、 汇 编 本 论 文 。( 保 密 论 文 在 解 密 后 适 用 本 授 权 书 。 )作 者 签 名 : 导 师 签 名 : 日 期 :摘 要网 络 测 试 是 验 证 网 络 设 备 功 能 和 性 能 , 保 证 网 络 正 常 运 行 的 重 要 手 段 。 网 络 测 试 流 量 生 成 是 网 络 测 试 中 的 关 键 技 术 , 直 接 决 定 着 测 试 结 果 的 正 确 性 和 误 差 精 度 。 随 着 网 络 规 模 的 不 断 扩 大
5、, 网 络 速 率 的 不 断 提 升 , 现 有 的 网 络 测 试 流 量 生 成 技 术 在 生 成 速 率 , 发 送 精 度 和 流 量 内 容 配 置 方 面 , 已 无 法 满 足 万 兆 网 络 设 备 测 试 的 需 求 。 因 此 , 针 对 网 络 测 试 需 求 , 研 究 高 速 网 络 测 试 流 量 生 成 方 法 , 具 有 十 分 重 要 的 现 实 意 义 和 应 用 价 值 。网 络 测 试 流 量 生 成 有 两 种 方 案 , 一 种 是 基 于 回 放 的 方 案 , 它 通 过 回 放 之 前 捕 获 的 网 络 数 据 包 来 还 原 真 实 网
6、 络 流 量 ; 另 一 种 是 基 于 模 拟 的 方 案 , 它 根 据 网 络 流 量 特 征 来 实 时 模 拟 生 成 网 络 流 量 。 这 两 种 方 案 各 具 特 色 , 都 有 着 自 己 独 特 的 适 用 场 景 。 本 论 文 在 分 析 现 有 这 两 类 流 量 生 成 方 法 缺 陷 的 基 础 上 , 基 于 FPGA 实 现 了 两 种 改 进 的 流 量 生 成 方 案 , 已 经取 得 以 下 一 些 有 意 义 的 研 究 成 果 : 1、 设 计 了 一 种 基 于 软 硬 件 协 同 的 万 兆 流 量 回 放 系统 。 该 系 统 结 合 主 机
7、 大 容 量 存 储 空 间和 FPGA 高 速 高 精 度 流 量 处 理 的 特 点 , 在 保 持 回 放 流 量 速 率 和 精 度 的 前 提 下 , 使 得 回 放 文 件 大 小 从 64MB 提 升 到 GB 量 级 。 在 实 现 过 程 中 利 用 内 存 映 射 和 无 中 断 轮 询 同 步 机制 对 现 有 网 络 底 层 传 输 通 道 进 行 了 优 化 , 并 基 于 PCIE2.0 总 线 设 计 了 一 种 高 速 DMA 传 输引 擎 , 使 得 主 机 内 存 到 网 卡 间 的 数 据 传 输 性 能 达 到 16Gbps。 同 时 利 用 主 机 大
8、 容 量 存 储空 间 和 RAM disk 等 技 术 , 实 现 了 三 种 回 放 模 式 : 基 于 静 态 缓 冲 区 的 零 拷 贝 回 放 模 式 ,基 于 RAM disk 的 GB 量 级 文 件 高 速 回 放 模 式 和 基 于 硬 盘 的 TB 量 级 文 件 低 速 回 放 模 式 。并 通 过 优 化 内 存 拷 贝 模 式 使 得 拷 贝 性 能 提 升 69%。 基 于 FPGA 提 出 了 一 种 基 于 令 牌 的 高精 度 流 量 发 送 控 制 方 法 , 使 得 流 量 发 送 控 制 相 对 误 差 达 到 10E-5 以 内 。 2 、 提 出 了
9、 一 种基 于 软 硬 件 协 同 的 网 络 多 数 据 流 模 拟 生 成 方 案 。 针 对 网 络 流 量 中 流 的 特 点 , 通 过 分 析软 硬 件 各 自 功 能 特 长 , 提 出 一 种 由 软 件 生 成 流 特 征 序 列 , 由 FPGA 根 据 流 特 征 序 列 生 成完 整 的 数 据 包 的 多 数 据 流 模 拟 生 成 方 案 。 并 设 计 了 一 种 可 扩 展 的 配 置 接 口 , 利 用 流静 态 特 征 和 动 态 特 征 来 描 述 流 的 配 置 。 允 许 用 户 自 由 配 置 数 据 包 头 部 最 多 256 字 节 的协 议 内
10、 容 以 兼 容 各 种 协 议 格 式 , 同 时 允 许 配 置 12 个 字 节 域 的 变 化模 式 以 实 现 五 元 组 等 字 段 域 的 变 化 。 最 后 基 于 FPGA 实 现 了 该 多 数 据 流 模 拟 生 成 方 案 。 测 试 表 明 , 该 方 案 能 够 实 现 万 兆 线 速 流 量 生 成 , 并 能 正 确 模 拟 多 条 数 据 流 。关 键 词 : 流 量 生 成 ; 软 硬 件 协 同 ; 回 放 ; 多 数 据 流 模 拟 ; FPGAIResearch and Realization of High Speed Network Test Tr
11、affic Generation MethodZhong Chao (Computer Architecture) Directed By XieYingkeNetwork testing is an important method to verify the functionality and measure the performance of network equipment. As a key technology in network equipment testing, traffic generation directly determines the accuracy of
12、 the test results. With the rapid expansion of network scale and bandwidth, the existing network test traffic generation techniques fail to meet the requirements in traffic generation rate, accuracy of rate and traffic content configuration. Hence, they are not eligible for 10 Gigabit network testin
13、g. Therefore, researches about high-speed traffic generation method have practical significance and application value for the development of network test.Traffic generation for network testing can be divided into two categories: trace-driven traffic generation which generates traffic by replaying ca
14、ptured trace file and analytic model-based traffic generation which reproduces network traffic in real-time by simulating the characteristics of real traffic. These two projects have different features and both of them have their own unique application scenes. In this thesis, we propose two improved
15、 traffic generation solutions based on FPGA by analyzing the defects of these two original solutions. The accomplishments we have achieved are as follows. We have designed a ten Gigabit traffic playback system cooperating hardware with software. The system combines mass storage space in host PC and
16、high speed and precision characteristics of FPGA in network traffic processing. Therefore, it allows the playback file size to upgrade from 64MB to the GB order of magnitude while remaining high traffic rate and accuracy. In the implementation, memory mapping mechanism and non-interrupt polling sync
17、hronization mechanism are used to optimize existing underlying network transmission channel. And a high-speed DMA engine based on PCIE2.0 bus is designed. Transmission rate between the host memory and the network card can reach as high as 16Gbps due to these optimizations. While taking advantage of
18、mass storage space of host PC and RAM disk technology, three playback modes are provided: zero-copy mode which playback packets from the static buffer, high-speed playback mode based on ram disk which supports file size of GB order of magnitude, and low-speed playback mode based on disk which suppor
19、ts file size of TB order. During the memory copy process, the performance has increased 69% by optimizing the copy mode. We also proposed a high-precision token-based control method with FPGA to keep the accuracy of traffic rate at nanosecond level. We have implemented a multi-flow traffic generatio
20、n system with collaborative hardware and software. By analyzing the characteristics of network stream and the strengths ofIII高 速 网 络 测 试 流 量 生 成 方 法 研 究 与 实 现 : Abstracthardware and software, another traffic generation solution is proposed. Software generates the flow characteristic sequences while
21、FPGA produces packets according to the flow characteristic sequence. We design a scalable configuration interface of flow which configures a flow with a static characteristics and dynamic characteristics. The interface allows users to freely configure up to 256 bytes packet header content for the co
22、mpatibility with a variety of protocol formats. It also allows configuring the changing pattern of the 12-byte field in order to achieve the five-tuple changes. We have implemented the system using FPGA. The test result shows that the system can generate traffic up to 10 Gigabit wire-speed rate and
23、can correctly simulate multiple data flows.Keywords: traffic generation, hardware-software cooperation, playback, multi-flow simulating, FPGAIV目 录摘 要 .I目 录 .V图 目 录 .VII表 目 录 .XI第 一 章 引 言 .11.1 研 究 背 景 和 意 义 .11.2 论 文 的 贡 献 .31.3 论 文 的 组 织 .4第 二 章 网 络 测 试 流 量 生 成 技 术 研 究 .72.1 基 于 回 放 的 流 量 生 成 方 案 .
24、72.1.1 基 于 软 件 的 流 量 回 放 工 具 .72.1.2 基 于 专 用 硬 件 的 流 量 回 放 工 具 .82.2 基 于 模 拟 的 流 量 生 成 方 法 .102.2.1 基 于 网 络 处 理 器 的 流 量 生 成 .112.2.2 基 于 FPGA 的 流 量 生 成 .122.3 本 章 小 结 .13第 三 章 基 于 回 放 的 流 量 生 成 系 统 设 计 .153.1 高 速 底 层 数 据 传 输 通 道 设 计 .163.1.1 性 能 瓶 颈 分 析 .163.1.2 底 层 传 输 通 道 优 化 .173.2 主 机 回 放 优 化 .2
25、53.2.1 存 储 空 间 优 化 .253.2.2 拷 贝 性 能 优 化 .263.3 回 放 系 统 设 计 .273.3.1 预 处 理 阶 段 .283.3.2 底 层 传 输 阶 段 .293.3.3 数 据 包 处 理 阶 段 .303.3.4 发 送 控 制 阶 段 .313.4 本 章 小 结 .32V第 四 章 基 于 流 模 拟 的 流 量 生 成 系 统 设 计 .354.1 基 于 流 模 拟 的 流 量 生 成 需 求 分 析 .354.1.1 流 内 容 设 置 需 求 .364.1.2 流 速 率 设 置 需 求 .364.2 数 据 包 生 成 方 法 .3
26、74.3 软 硬 件 结 合 的 流 生 成 .414.3.1 流 特 征 分 析 .414.3.2 流 静 态 特 征 .424.3.3 流 动 态 特 征 .434.3.4 流 调 度 .464.4 系 统 逻 辑 设 计 .474.4.1DMA 传 输 部 分 .474.4.2 数 据 包 模 板 生 成 部 分 .484.4.3 校 验 和 计 算 .504.4.4 发 送 控 制 部 分 .534.5 性 能 分 析 .534.5.1 流 特 征 传 输 性 能 .534.5.2 硬 件 数 据 包 生 成 性 能 .544.6 本 章 小 结 .55第 五 章 系 统 实 现 及
27、性 能 评 估 .575.1 硬 件 平 台 设 计 .575.2 测 试 环 境 .585.3 系 统 测 试 .595.3.1 基 于 回 放 的 流 量 生 成 测 试 .595.3.2 基 于 流 模 拟 的 流 量 生 成 测 试 .625.4 本 章 总 结 .65第 六 章 结 束 语 .676.1 本 文 工 作 总 结 .676.2 下 一 步 研 究 方 向 .68参 考 文 献 .69致 谢 .i作 者 简 历 .iiiVI图 目 录图 1. 1 国 际 出 口 带 宽 增 长 统 计 .1图 1. 2 网 络 设 备 测 试 模 型 .2图 2. 1 FPGA 结 构 图 .9图 2. 2 NetFPGA .