江 国 龙, 付 斌 章, 陈 明 宇, 等.SDN 控 制 器 的 调 研 和 量 化 分 析 [J]. 计 算 机 科 学 与 探 索,214,8(6):653-664. ISSN 1673-9418 CODEN JKYTA8 Journal of Frontiers of Computer Science and Technology 1673-9418/214/8(6)-653-12 doi: 1.3778/j.issn.1673-9418.131231 E-mail: fcst@vip.163.com http://www.ceaj.org Tel: +86-1-895656 * SDN 控 制 器 的 调 研 和 量 化 分 析 1,2 1+ 1,2 1,2 江 国 龙, 付 斌 章, 陈 明 宇, 张 立 新 1. 中 国 科 学 院 计 算 技 术 研 究 所, 北 京 119 2. 中 国 科 学 院 大 学, 北 京 119 Survey and Quantitative Analysis of SDN Controllers JIANG Guolong 1,2, FU Binzhang 1+, CHEN Mingyu 1,2, ZHANG Lixin 1,2 1. Institute of Computing Technology, Chinese Academy of Sciences, Beijing 119, China 2. University of Chinese Academy of Sciences, Beijing 119, China + Corresponding author: E-mail: fubinzhang@ict.ac.cn JIANG Guolong, FU Binzhang, CHEN Mingyu, et al. Survey and quantitative analysis of SDN controllers. Journal of Frontiers of Computer Science and Technology, 214, 8(6):653-664. Abstract: Software defined networking (SDN) separates the control plane from the data plane, thus the former can be significantly simplified when facing a complex network environment. Since the control plane largely determines the network performance, many companies and institutions have proposed their controllers, some of which are open-source. However, there is a lack of systematic and complete comparison among these controllers. Thus, the researchers have to make their decisions according to their experiences and intuitions due to the insufficient evidences. To address this problem, this paper does a survey of state-of-the-art SDN controllers and compares their architecture and implementation and their performance using Cbench and Mininet. Besides, considering the bottleneck of the single controller in control plane, this paper presents an overview of some distributed controllers. The results have a great reference significance for the researchers to choose the right controllers. Key words: software defined networking; controller; distributed controllers; performance comparison * The National Natural Science Foundation of China under Grant Nos. 612256, 69212 ( 国 家 自 然 科 学 基 金 ); the Strategic Priority Research Program of Chinese Academy of Sciences under Grant No. XDA6141 ( 中 国 科 学 院 战 略 性 先 导 科 技 专 项 ); Huawei Research Program under Grant No. YBCB2113 ( 华 为 A 类 高 通 量 服 务 器 项 目 ). Received 213-11, Accepted 214-1. CNKI 网 络 优 先 出 版 :214-1-23, http://www.cnki.net/kcms/doi/1.3778/j.issn.1673-9418.131231.html
654 Journal of Frontiers of Computer Science and Technology 计 算 机 科 学 与 探 索 214, 8(6) 摘 要 : 软 件 定 义 网 络 (software defined networking,sdn) 是 一 种 将 网 络 控 制 平 面 和 数 据 平 面 分 离 的 新 型 网 络 架 构 在 SDN 网 络 中, 控 制 器 的 性 能 对 网 络 性 能 有 着 重 要 的 影 响, 当 前 很 多 公 司 和 科 研 机 构 都 已 经 提 出 了 自 己 的 控 制 器 解 决 方 案 然 而 针 对 如 此 众 多 的 控 制 器, 目 前 没 有 系 统 全 面 的 比 较 由 于 缺 乏 足 够 的 依 据, 研 究 人 员 只 能 凭 借 自 己 的 经 验 或 直 觉 来 选 择 控 制 器 为 了 解 决 这 个 问 题, 对 目 前 主 流 的 SDN 控 制 器 在 架 构 和 性 能 上 进 行 了 系 统 的 分 析 比 较, 并 采 用 Cbench 和 Mininet 对 部 分 开 源 控 制 器 进 行 了 性 能 测 试, 同 时 针 对 单 一 控 制 器 的 性 能 问 题, 对 现 有 的 多 控 制 器 控 制 平 面 设 计 进 行 了 分 析 综 述 该 研 究 结 果 对 于 研 究 人 员 选 取 正 确 的 控 制 器 具 有 重 要 的 参 考 意 义 关 键 词 : 软 件 定 义 网 络 ; 控 制 器 ; 分 布 式 控 制 器 ; 性 能 比 较 文 献 标 志 码 :A 中 图 分 类 号 :TP393.1 1 引 言 目 前, 网 络 已 经 成 为 现 代 社 会 发 展 以 及 技 术 进 步 的 重 要 基 础 设 施 之 一, 它 深 深 地 改 变 着 人 们 的 生 产 生 活 和 学 习 方 式 但 是 随 着 网 络 规 模 的 不 断 增 大 以 及 网 络 应 用 的 不 断 增 多, 传 统 网 络 架 构 已 经 越 来 越 不 能 满 足 当 今 企 业 运 营 商 和 用 户 的 需 求 同 时 在 现 有 的 网 络 设 备 和 协 议 的 基 础 上, 网 络 研 究 者 对 已 有 网 络 进 行 的 创 新 性 实 验 很 难 在 真 实 网 络 中 部 署 实 [1] 现 为 了 解 决 这 些 问 题,4D 架 构 以 及 Ethane [2] 等 网 络 控 制 和 转 发 相 分 离 的 架 构 相 继 被 提 出 软 件 定 义 网 络 (software defined networking,sdn) 这 种 新 型 的 网 络 架 构 将 网 络 分 为 数 据 平 面 和 控 制 平 面, 数 据 平 面 主 要 负 责 数 据 的 转 发, 而 控 制 平 面 则 负 [3] 责 制 订 相 应 的 转 发 策 略 来 指 导 数 据 平 面 作 为 SDN 网 络 架 构 的 一 个 部 分, 控 制 平 面 有 时 也 被 称 做 网 络 操 作 系 统 (network operating system,nos) [4] 作 为 数 据 转 发 控 制 的 核 心, 控 制 平 面 表 现 出 越 来 越 重 要 的 作 用, 尤 其 是 基 于 控 制 平 面 的 各 种 应 用, 更 是 对 复 杂 网 络 进 行 有 效 管 理 的 重 要 保 障 当 前 针 对 不 同 的 网 络 环 境, 工 业 界 和 学 术 界 纷 纷 推 出 了 自 己 的 控 制 器, 更 有 多 款 开 源 控 制 器 可 供 选 择, 比 如 [4] [5] 和 (http://www.projectfloodlight.org/ floodlight/) 这 些 控 制 器 在 系 统 架 构 实 现 语 言 和 编 程 接 口 等 方 面 各 有 千 秋 面 对 琳 琅 满 目 的 控 制 器, 如 何 选 择 一 款 适 合 高 效 的 控 制 器 成 为 一 件 棘 手 的 事 情 尽 管 网 络 控 制 与 数 据 转 发 相 分 离 的 新 型 网 络 架 构 简 化 了 网 络 管 理, 但 是 不 断 增 长 的 网 络 规 模 仍 然 带 来 了 新 的 挑 战 例 如, 随 着 交 换 机 数 量 的 增 多, 发 往 中 央 控 制 器 的 控 制 流 数 量 会 明 显 增 大 此 外, 如 果 网 络 直 径 足 够 大, 控 制 器 的 部 署 位 置 同 样 会 对 流 [6] 的 建 立 延 迟 产 生 影 响 最 后, 单 一 控 制 器 的 处 理 能 力 以 及 I/O 能 力 都 是 有 限 的, 对 于 大 规 模 网 络 的 复 杂 应 用, 必 然 会 产 生 系 统 性 能 瓶 颈 为 了 解 决 这 个 问 题, 学 术 界 和 工 业 界 近 年 来 提 出 了 多 控 制 器 控 制 平 面, 例 如 HyperFlow [6] Onix [7] 和 Kandoo [8], 通 过 部 署 多 个 控 制 器 来 减 少 单 一 控 制 器 在 某 些 情 况 下 可 能 存 在 的 系 统 性 能 瓶 颈, 使 得 网 络 的 运 营 管 理 达 到 最 佳 的 状 态 本 文 针 对 当 前 主 流 的 开 源 控 制 器, 分 别 采 用 Cbench(http://www.openflowswitch.org/wk/index.php/ Oflops) 和 Mininet(http://mininet.org/) 对 其 进 行 了 性 能 测 试, 并 且 对 部 分 多 控 制 器 控 制 平 面 的 系 统 架 构 和 设 计 原 理 进 行 了 分 析 概 述 这 些 测 试 数 据 和 概 述 内 容, 可 以 给 SDN 网 络 应 用 开 发 者 与 研 究 者 在 控 制 器 的 选 择 和 控 制 平 面 设 计 上 提 供 参 考 本 文 组 织 结 构 如 下 : 第 2 章 对 现 有 的 主 流 控 制 器 进 行 分 析 介 绍, 并 对 部 分 开 源 控 制 器 进 行 测 试 结 果 比 较 ; 第 3 章 介 绍 现 有 的 多 控 制 器 控 制 平 面 的 设 计 实 现 方 法 ; 第 4 章 介 绍 相 关 工 作 ; 第 5 章 总 结 全 文 2 单 一 控 制 器 控 制 平 面 在 最 初 的 SDN 架 构 中, 控 制 平 面 主 要 采 用 单 一 的 控 制 器 实 现, 这 样 可 以 将 全 部 精 力 集 中 在 控 制 器 性 能 以 及 应 用 的 高 效 性 创 新 性 和 实 用 性 上 下 面 将 针 对 几 款 控 制 器 进 行 设 计 分 析 和 性 能 测 试
江 国 龙 等 :SDN 控 制 器 的 调 研 和 量 化 分 析 655 2.1 控 制 器 简 介 2.1.1 和 是 斯 坦 福 大 学 在 28 年 提 出 的 第 一 款 OpenFlow 控 制 器, 它 的 早 期 版 本 (-Classic) 由 C++ 和 Python 两 种 语 言 实 现, 只 能 支 持 单 线 程 操 作 控 制 器 提 供 相 应 的 编 程 接 口, 开 发 人 员 可 以 使 用 C++ 或 者 Python 语 言 在 这 些 接 口 上 实 现 自 己 的 应 用 这 个 版 本 已 经 开 源 了 包 括 hub switch topology 和 route 在 内 的 多 种 应 用 的 新 版 本 (.9.2~core~beta,212-5-11 发 布 ) 完 全 由 C++ 实 现, 支 持 OpenFlow1. 协 议, 并 且 提 供 了 多 线 程 的 支 持 由 于 C++ 语 言 的 灵 活 性 高 效 性, 并 且 新 版 本 增 加 了 多 线 程 的 支 持, 其 性 能 有 了 很 大 的 提 升, 但 美 中 不 足 的 是, 新 版 只 提 供 了 基 本 框 架 由 于 它 在 代 码 结 构 和 实 现 语 言 上 有 了 一 定 的 调 整, 原 来 版 本 中 的 相 关 应 用 在 新 版 本 中 无 法 直 接 移 植 最 新 版 本 的 只 有 switch 一 个 应 用, 实 现 了 learning switch 的 功 能 团 队 从 其 旧 版 本 中 分 离 出 Python 语 言 实 现 的 内 容 之 后, 又 实 现 了 一 款 完 全 使 用 Python 语 言 的 控 制 器 (http://www.noxrepo.org/pox/about-pox/) 尽 管 现 在 开 源 出 来 的 代 码 所 实 现 的 应 用 也 仅 限 learning switch, 但 由 于 Python 简 洁 易 读, 以 及 扩 展 性 好 等 优 点, 得 以 快 速 发 展, 并 且 得 到 了 广 泛 的 应 用 由 于 Python 是 一 种 解 释 性 语 言, 它 在 性 能 上 较 C++ 和 Java 会 有 一 些 劣 势 本 文 对 于 的 测 试, 均 采 用 PyPy 解 释 器 2.1.2 同 样 起 源 于 斯 坦 福 大 学, 在 21 年 由 Erickson 等 人 设 计 开 发 是 一 款 基 于 Java 语 言 的 开 源 控 制 器, 截 至 本 文 撰 写 时 的 最 新 版 本 是 V1..2 版 以 其 高 效 性 和 稳 定 性 得 以 在 多 个 科 研 项 目 和 实 验 环 境 中 被 应 用 另 外, 还 具 有 很 好 的 跨 平 台 特 性, 并 且 支 持 多 线 程, 可 以 通 过 Web 的 UI 进 行 访 问 控 制 采 用 Java 的 Spring 和 Equinox 编 程 模 型, 可 以 提 供 OSGi 用 户 界 面, 使 用 者 可 以 通 过 用 户 界 面 动 态 地 进 行 模 块 的 添 加 和 删 除, 在 使 用 和 部 署 上 很 方 便 2.1.3 Big Network Controller & 212 年 成 立 的 SDN 初 创 公 司 Big Switch Networks 先 后 推 出 了 几 款 控 制 器 首 先 是 其 商 用 版 的 Big Network Controller, 它 可 以 支 持 多 达 1 个 网 络 设 备, 每 秒 连 接 最 多 25 台 主 机 同 年 2 月,Big Switch 发 布 了 其 开 源 控 制 器, 该 控 制 器 与 Big Network Controller 使 用 相 同 的 core engine, 作 为 其 开 源 版 本 推 向 市 场, 到 212 年 年 底, 其 下 载 量 就 已 经 超 过 1 万 采 用 Java 语 言 实 现, 在 Apache 开 源 标 准 许 可 下 可 免 费 使 用 另 外,Big Network Controller 和 的 API(application programming interface) 完 全 兼 容, 因 此 基 于 编 写 的 应 用 程 序 可 以 直 接 应 用 于 商 业 版 本 的 控 制 器 也 正 是 基 于 这 种 兼 容 性, 开 源 社 区 可 以 向 用 户 提 供 强 大 的 技 术 支 持 最 新 版 本 (V.9) 于 212 年 1 月 发 布, 支 持 多 线 程 和 Web UI 同 时, 也 可 以 很 好 地 应 用 于 OpenStack 2.1.4 [9] 是 莱 斯 大 学 211 年 的 一 篇 学 位 论 文, 提 出 并 用 Java 实 现 了 一 款 基 于 LGPL V2.1 开 源 协 议 标 准 的 多 线 程 控 制 器, 主 要 应 用 于 科 研 领 域 它 同 样 有 着 很 好 的 平 台 适 应 性, 可 以 有 效 地 在 多 种 操 作 系 统 和 体 系 结 构 的 机 器 上 运 行 到 目 前 为 止, 最 新 开 源 版 本 为 211 年 5 月 发 布 的 V.2.1, 其 实 现 的 应 用 主 要 包 括 learning switch discovery location management route 等 而 对 于 命 令 行 模 式, 只 是 实 现 了 一 些 简 单 的 display 操 作 相 对 其 他 控 制 器 来 说, 版 本 的 更 新 速 度 比 较 慢 2.1.5 (http://osrg.github.io/ryu/) 是 由 日 本 NTT 公 司 负 责 设 计 研 发 的 一 款 开 源 SDN 控 制 器 同 一 样, 也 是 完 全 由 Python 语 言 实 现, 使 用 者 可 以 用 Python 语 言 在 其 上 实 现 自 己 的 应 用 目 前 支 持 OpenFlow V1. V1.2 和 V1.3, 同 时 支 持 在 OpenStack 上 的 部 署 应 用 采 用 Apache License 开 源 协 议 标 准, 最 新 版 本 实 现 了 simple_switch rest_topology 等 应 用 2.1.6 Helios 和 SNAC 上 述 介 绍 的 控 制 器 主 要 都 是 开 源 的, 而 Helios 和
656 Journal of Frontiers of Computer Science and Technology 计 算 机 科 学 与 探 索 214, 8(6) Table 1 选 项 -c/--controller -m/--ms-per-test -l/--loops -s/--switches -M/--mac-addresses -w/--warmup -C/--cooldown -t/--throughput Options and default value when running Cbench 表 1 Cbench 运 行 选 项 含 义 及 默 认 值 含 义 hostname of controller to connect test length in ms loops per test number of fake switches unique source MAC addresses per switch loops to be disregarded on test start (warmup) loops to be disregarded at test end (cooldown) test throughput instead of latency 默 认 值 1 2 32 1 5 5 latency SNAC 是 闭 源 的 SDN 控 制 器 Helios 是 由 NEC 公 司 开 发 的 基 于 C 语 言 的 可 扩 展 控 制 器, 它 主 要 应 用 于 科 研 环 境, 并 且 提 供 了 一 个 可 编 程 的 界 面 来 进 行 实 验 SNAC 是 Nicira Networks 基 于 开 发 的 一 款 企 业 级 控 制 器, 它 提 供 了 灵 活 的 策 略 定 义 语 言, 通 过 策 略 管 理 器 管 理 网 络, 有 着 友 好 的 用 户 界 面 2.2 性 能 测 试 本 文 测 试 机 器 选 取 了 3 台 华 为 RH2258 服 务 器, 每 台 服 务 器 包 含 12 个 处 理 器 核, 每 个 处 理 器 核 提 供 2 个 硬 件 线 程,CPU 型 号 为 Intel Xeon E5645, 主 频 为 2.4 GHz, 内 存 为 32 GB 虚 拟 机 采 用 VMware Sphere, 虚 拟 机 所 在 主 机 配 置 如 上 虚 拟 机 内 存 配 置 8 GB,CPU 为 8 核 操 作 系 统 均 采 用 Ubuntu 12.4.2 LTS X86_64, 内 核 版 本 为 3.5.-34-generic #55~precise1-Ubuntu SMP Wed May 15 16:18:46 UTC 213 x86_64 GNU/Linux, Boost Library 版 本 为 1.46(libboost-all-dev),Java 版 本 为 1.6._27 另 外, 测 试 工 具 和 控 制 器 在 物 理 机 上 运 行 时, 本 文 利 用 了 taskset 命 令 为 特 定 程 序 指 定 特 定 的 CPU 2.2.1 Cbench 测 试 OFLOPS 是 一 个 用 来 测 试 OpenFlow 交 换 机 的 程 序 框 架, 其 中 Cbench 可 以 用 来 对 控 制 器 的 性 能 进 行 测 试 Cbench 主 要 测 试 的 内 容 包 括 控 制 器 的 Throughput 和 Latency 两 部 分 Throughput 指 控 制 器 的 某 个 应 用 程 序 ( 本 文 为 learning switch) 每 秒 能 够 处 理 的 事 务 数 量,Latency 指 对 于 每 个 OpenFlow 会 话, 发 送 一 个 packet-in 消 息, 计 算 这 个 消 息 的 RTT 时 延 Cbench 在 运 行 时 会 有 一 些 执 行 选 项, 本 实 验 中 用 到 的 相 关 选 项 含 义 以 及 默 认 取 值 如 表 1 所 示 为 了 保 证 实 验 的 准 确 性, 本 文 将 Cbench 选 项 中 的 warmup 和 cooldown 分 别 设 为 5 实 验 1 首 先 选 取 1 台 物 理 机, 将 各 种 控 制 器 和 Cbench 安 装 于 同 一 台 主 机, 所 有 的 控 制 器 均 采 用 单 线 程 模 式 运 行, 连 接 控 制 器 的 交 换 机 数 量 作 为 变 量, Cbench 测 试 吞 吐 时 的 运 行 命 令 为./cbench -c localhost -p 6633 -m 1 -l 2 -s (1-256) -M 1 -w 5 -C 5 t 实 验 结 果 如 图 1 和 图 2 所 示 1 6 1 4 1 2 1 8 6 4 2 Fig.1 图 1 从 实 验 结 果 可 以 看 出, 无 论 吞 吐 还 是 延 迟, 各 个 控 制 器 的 测 试 结 果 随 着 交 换 机 数 量 的 增 加 变 化 不 大 相 比 较 而 言, 的 性 能 最 好, 而 和 的 性 能 较 低 Throughput of each controller running 1 thread with the number of switches 各 控 制 器 1 线 程 下 连 接 不 同 数 量 交 换 机 时 的 吞 吐
江 国 龙 等 :SDN 控 制 器 的 调 研 和 量 化 分 析 657 Latency/(s/response).18.16.14.12.1.8.6.4 图 2 实 验 2 各 个 控 制 器 和 Cbench 安 装 在 同 一 台 主 机 上, 连 接 控 制 器 的 交 换 机 数 量 固 定 为 32, 控 制 器 运 行 多 线 程, 运 行 线 程 数 作 为 变 量, 测 试 控 制 器 在 运 行 不.2 Fig.2 8 7 6 5 4 3 2 1 Latency of each controller running 1 thread with the number of switches 各 控 制 器 1 线 程 下 连 接 不 同 数 量 交 换 机 时 的 延 迟 1 2 3 4 5 6 7 8 9 1 Threads Fig.3 Throughput of each controller connected 32 图 3 8 7 6 5 4 3 2 1 Fig.5 图 5 switches with the number of threads 各 控 制 器 连 接 32 台 交 换 机 运 行 不 同 数 量 线 程 时 的 吞 吐 Throughput of each controller running 8 threads with the number of switches 各 控 制 器 8 线 程 下 连 接 不 同 数 量 交 换 机 时 的 吞 吐 Latency/(ms/response) 同 数 量 线 程 下 连 接 32 台 交 换 机 时 的 吞 吐 和 延 迟 实 验 结 果 如 图 3 和 图 4 所 示 测 试 结 果 显 示, 目 前 多 线 程 控 制 器 在 线 程 支 持 上 基 本 可 以 作 到 吞 吐 的 线 性 增 长, 而 和 只 支 持 单 线 程, 因 此 其 结 果 只 是 一 个 孤 立 的 点 因 此 的 延 迟 很 大, 接 近.14 ms, 在 图 中 会 影 响 其 他 曲 线 的 清 晰 度, 所 以 没 有 画 在 其 中 在 控 制 器 之 间 的 性 能 比 较 上, 实 验 结 果 和 实 验 1 基 本 一 致 的 性 能 仍 然 是 最 好 的, 而 且 几 乎 是 其 他 控 制 器 性 能 的 2 倍 以 上 在 延 迟 上, 比 其 他 控 制 器 大 很 多 实 验 3 当 前 多 线 程 控 制 器 一 般 默 认 的 启 动 线 程 数 量 为 8, 因 此 本 实 验 将 支 持 多 线 程 的 控 制 器 启 动 线 程 数 量 设 置 为 8, 测 试 对 于 连 接 不 同 数 量 的 交 换 机, 控 制 器 所 能 实 现 的 吞 吐 和 相 应 的 延 迟 情 况 实 验 结 果 如 图 5 和 图 6 所 示 Latency/(ms/response) 图 6.4.35.3.25.2.15.1.5.16.14.12.1.8.6.4.2 1 2 3 4 5 6 7 8 9 1 Threads Fig.4 Latency of each controller connected 32 图 4 switches with the number of threads 各 控 制 器 连 接 32 台 交 换 机 运 行 不 同 数 量 线 程 时 的 延 迟 Fig.6 Latency of each controller running 8 threads with the number of switches 各 控 制 器 8 线 程 下 连 接 不 同 数 量 交 换 机 时 的 延 迟
658 Journal of Frontiers of Computer Science and Technology 计 算 机 科 学 与 探 索 214, 8(6) 从 实 验 结 果 可 以 看 出, 的 性 能 变 化 在 随 着 交 换 机 数 量 增 多 的 过 程 中 表 现 得 很 明 显, 尤 其 是 吞 吐, 在 交 换 机 数 量 达 到 1 以 上 时, 吞 吐 明 显 下 降 当 交 换 机 数 量 达 到 64 时, 的 吞 吐 也 会 明 显 下 降 实 验 4 在 SDN 的 实 际 部 署 中, 控 制 器 通 常 采 用 单 独 的 一 台 高 性 能 计 算 机 或 者 服 务 器 来 部 署 运 行, 因 此 本 实 验 比 较 控 制 器 和 测 试 程 序 运 行 在 不 同 数 量 机 器 时 对 控 制 器 性 能 的 影 响 实 验 选 取 两 台 主 机 分 别 安 装 Cbench 和 控 制 器, 两 台 机 器 之 间 通 过 1 Gb/s 以 太 网 直 连, 测 试 结 果 如 图 7 和 图 8 所 示 比 较 图 7 图 8 和 图 1 图 2 的 实 验 结 果, 发 现 无 论 是 控 制 器 在 连 接 不 同 数 量 交 换 机 时 的 吞 吐 和 延 迟 的 绝 对 数 值, 还 是 各 个 控 制 器 的 性 能 变 化 趋 势, 两 组 实 1 6 1 4 1 2 1 8 6 4 2 Fig.7 图 7 1 6 1 4 1 2 1 Throughput of each controller running 1 thread in different machine with the number of switches 8 6 4 2 Fig.9 图 9 不 同 机 器 时 控 制 器 运 行 1 线 程 连 接 不 同 数 量 交 换 机 时 的 吞 吐 Throughput of each controller running 1 thread on VM with the number of switches VM 本 地 1 线 程 不 同 数 量 交 换 机 时 的 吞 吐 验 均 无 明 显 差 异, 这 说 明 网 络 情 况 对 控 制 器 的 测 试 结 果 没 有 明 显 影 响 值 得 一 提 的 是, 在 本 组 实 验 的 测 试 过 程 中, 使 用 网 卡 流 量 监 测 工 具, 监 测 连 接 两 台 机 器 的 网 卡 时 发 现, 运 行 时 网 卡 的 最 大 使 用 率 能 够 达 到 95% 左 右 实 验 5 在 控 制 器 的 实 际 部 署 中, 很 可 能 需 要 在 虚 拟 机 环 境 中 进 行 配 置 运 行, 因 此 本 实 验 比 较 在 虚 拟 机 和 物 理 机 两 种 环 境 下, 控 制 器 的 性 能 情 况 实 验 结 果 如 图 9~ 图 11 所 示 比 较 控 制 器 和 测 试 程 序 分 别 运 行 在 虚 拟 机 和 物 理 机 上 的 实 验 结 果 可 以 看 出, 在 吞 吐 和 延 迟 的 绝 对 实 验 结 果 上, 两 者 相 差 不 大, 而 唯 一 差 别 比 较 明 显 的 是, 尤 其 是 虚 拟 机 下 32 交 换 机 多 线 程 吞 吐 的 结 果, 比 物 理 机 下 的 性 能 差 很 多 Latency/(s/response).7.6.5.4.3.2.1 Fig.8 图 8 8 7 6 5 4 3 2 1 Fig.1 Latency of each controller running 1 thread in different machine with the number of switches 不 同 机 器 时 控 制 器 运 行 1 线 程 连 接 不 同 数 量 交 换 机 时 的 延 迟 图 1 Throughput of each controller running 8 threads on VM with the number of switches VM 本 地 8 线 程 不 同 数 量 交 换 机 时 的 吞 吐
江 国 龙 等 :SDN 控 制 器 的 调 研 和 量 化 分 析 659 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 1 Threads 2.2.2 Mininet 测 试 Fig.11 Throughput of each controller connected 32 图 11 switches on VM with the number of threads VM 本 地 32 交 换 机 不 同 数 量 线 程 时 的 吞 吐 本 文 选 择 Mininet 2.. 连 接 远 程 的 控 制 器, 通 过 运 行 ping 等 程 序, 来 测 试 不 同 控 制 器 的 性 能 测 试 中 采 用 简 单 的 3 层 树 形 网 络 拓 扑, 分 为 两 种 : 一 种 如 图 12 所 示, 每 个 交 换 机 向 下 有 3 个 接 口, 最 终 形 成 具 有 13 个 网 络 节 点 和 27 个 主 机 节 点 的 小 规 模 网 络 ; 另 h1 Fig.12 h2 h3 S2 h4 S1 S6 S3 S4 S5 S11 S12 S13 S1 h24 h25 h26 h27 Topology of Mininet regarded as a small network 图 12 Mininet 3 层 27 主 机 节 点 树 形 拓 扑 一 种 则 是 每 个 交 换 机 向 下 有 1 个 接 口, 最 终 形 成 具 有 111 个 网 络 节 点 和 1 个 主 机 节 点 的 大 规 模 网 络, 如 图 13 所 示 实 验 6 本 实 验 采 用 图 12 所 示 拓 扑 测 试 27 个 主 机 节 点 的 小 规 模 网 络 pingall 时 间 pingall 测 试 程 序 主 要 是 网 络 中 每 个 节 点 分 别 逐 一 地 与 其 他 所 有 节 点 进 行 ping 测 试, 然 后 记 录 所 需 时 间, 根 据 时 间 长 短, 在 一 定 程 度 上 反 应 出 控 制 器 的 性 能 在 测 试 过 程 中,Mininet 连 接 各 种 指 定 的 控 制 器, 控 制 器 运 行 简 单 的 learning switch 实 例 与 Cbench 实 验 一 样, 本 实 验 也 将 针 对 Mininet 与 控 制 器 运 行 在 同 一 台 主 机 和 不 同 主 机 分 别 进 行 测 试, 具 体 机 器 配 置 连 接 情 况 同 Cbench 测 试 实 验 结 果 如 图 14 和 图 15 所 示 根 据 实 验 结 果 可 以 看 出, 对 于 大 多 数 控 制 器 来 说, 像 ping 这 种 程 序, 控 制 器 启 动 多 线 程 时 其 运 行 时 间 会 稍 微 减 小, 但 是 对 其 影 响 不 是 很 大 因 为 Mininet 的 pingall 是 各 个 主 机 逐 个 地 ping 其 他 主 机, 这 样 在 某 一 个 时 间 点, 其 控 制 器 的 负 载 不 是 很 大, 也 就 是 说, 即 使 运 行 了 多 线 程, 也 并 不 能 完 全 起 到 作 用 从 图 中 可 以 看 出 一 个 结 果 比 较 特 殊, 就 是 在 远 端 时 的 性 能 会 变 得 很 差, 所 需 要 的 时 间 会 很 长 由 于 和 不 支 持 多 线 程 操 作, 这 里 只 有 1 线 程 的 结 果 实 验 7 本 实 验 采 用 图 13 所 示 拓 扑 测 试 3 层 1 节 点 大 规 模 网 络 节 点 间 ping 操 作 所 需 时 间, 包 括 h1 分 别 ping h2~h1 所 需 时 间 以 及 h1 分 别 ping h991~h1 所 需 时 间, 最 终 计 算 每 组 时 间 的 平 均 值 这 两 组 数 S1 S2 S13 S24 S79 S9 S11 S3 S4 S5 S6 S18 S19 S11 S111 h1 h2 h9 h1 h991 h992 h999 h1 1 个 1 个 Fig.13 Topology of Mininet regarded as a large network 图 13 Mininet 3 层 1 主 机 节 点 树 形 拓 扑
66 Journal of Frontiers of Computer Science and Technology 计 算 机 科 学 与 探 索 214, 8(6) Time/s 4 3 2 1 1 线 程 8 线 程 Fig.14 Time of each controller when running Mininet pingall test on the same machine 图 14 本 地 27 个 主 机 pingall 时 间 Time/s 6 5 4 3 2 1 Fig.15 1 线 程 8 线 程 Time of each controller when running Mininet pingall test on different machine 图 15 远 端 27 个 主 机 pingall 时 间 据 分 别 代 表 这 1 个 主 机 节 点 中 相 邻 最 近 节 点 ( 连 在 同 一 交 换 节 点 ) 间 和 相 邻 最 远 节 点 ( 跨 越 3 层 交 换 节 点 ) 间 通 信 所 需 要 的 平 均 时 间, 所 有 控 制 器 均 运 行 1 个 线 程 实 验 结 果 如 图 16 和 图 17 所 示 Time/s Time/s 3 25 2 15 1 5 3 25 2 15 1 5 Fig.16 本 实 验 的 结 果 更 明 显 说 明 了 控 制 器 与 Mininet 在 同 一 台 主 机 与 分 别 在 两 台 主 机 时, 实 验 结 果 相 差 很 小 从 实 验 结 果 中 还 能 看 出, 无 论 是 连 接 在 同 一 网 络 节 点 间 的 主 机 节 点, 还 是 连 接 在 不 同 网 络 节 点 间 的 主 机 节 点 间 通 信, 所 需 时 间 相 对 来 说 均 是 很 低 的 h1 ping h2~h1 h1 ping h991~h1 Time of each controller when one host pings another on the same machine Fig.17 图 16 本 地 节 点 间 ping 平 均 时 间 h1 ping h2~h1 h1 ping h991~h1 Time of each controller when one host pings another on different machine 图 17 远 端 节 点 间 ping 平 均 时 间 实 验 8 本 实 验 同 样 采 用 如 图 13 所 示 的 1 个 主 机 节 点 的 网 络 拓 扑, 控 制 器 与 Mininet 部 署 在 同 一 台 主 机, 运 行 Mininet 自 身 的 pingall 测 试 程 序, 测 量 大 规 模 网 络 下 控 制 器 的 性 能 Mininet 启 动 命 令 为 : taskset -c 11-2 mn --topotree, depth=3, fanout=1 --controller remote,127...1 --test pingall, 控 制 器 同 样 启 动 一 个 线 程 实 验 结 果 如 图 18 所 示 Time/1 4 s 3 25 2 15 1 5 Fig.18 从 实 验 结 果 来 看, 对 于 有 着 1 个 主 机 节 点 的 大 规 模 网 络 来 说, 控 制 器 的 性 能 相 对 小 规 模 网 络 差 别 不 是 很 大, 仍 然 是 表 现 得 比 较 好 3 多 控 制 器 控 制 平 面 3.1 实 现 动 机 与 主 要 思 想 Time of each controller when running Mininet pingall test in a large network 图 18 本 地 1 主 机 pingall 时 间 SDN 这 种 将 控 制 和 转 发 相 分 离 的 新 型 网 络 架 构, 使 复 杂 的 网 络 管 理 变 得 容 易 很 多, 但 是 随 着 网 络 规 模 的 增 大, 单 一 控 制 器 在 可 扩 展 性 方 面 存 在 的 问 题 也 变 得 越 来 越 明 显 为 了 解 决 SDN 网 络 部 署 单 一 控 制 器 可 能 面 临 的 问 题, 人 们 提 出 了 多 控 制 器 控 制 平 面 多 控 制 器 控 制 平 面 的 主 要 思 想 就 是 将 现 有 网 络 划 分 为 不 同 的 区 域, 在 每 个 区 域 内 部 署 一 个 或 多 个 控 制 器, 而 这 些 控 制 器 通 过 保 证 网 络 状 态 的 一 致
江 国 龙 等 :SDN 控 制 器 的 调 研 和 量 化 分 析 661 性, 来 实 现 对 网 络 的 协 调 统 一 管 理 这 种 多 控 制 器 控 制 平 面 在 实 现 上 既 可 以 表 现 为 每 台 交 换 机 由 多 个 控 制 器 控 制, 又 可 以 是 每 个 控 制 器 控 制 多 个 交 换 机, 而 每 个 交 换 机 仅 由 一 个 控 制 器 控 制 至 于 具 体 的 实 现 形 式, 学 术 界 和 工 业 界 纷 纷 提 出 了 一 些 方 案, 但 是 目 前 为 止 还 没 有 相 对 成 熟 的 产 品 3.2 多 控 制 器 的 关 键 问 题 多 控 制 器 的 设 计 实 现, 最 核 心 的 便 是 控 制 器 间 状 态 的 一 致 性 问 题 只 有 所 有 的 控 制 器 有 着 一 个 完 全 一 致 的 全 局 网 络 视 图, 才 能 保 证 控 制 逻 辑 决 策 的 正 确 性 其 次 就 是 可 扩 展 性, 多 控 制 器 提 出 的 原 因 之 一 便 是 集 中 控 制 对 扩 展 性 的 需 求, 因 此 多 控 制 器 的 扩 展 性 便 是 其 要 实 现 的 首 要 目 标 这 种 可 扩 展 性 要 保 证 能 够 支 持 足 够 大 的 网 络 规 模, 并 且 新 的 控 制 器 能 够 动 态 地 添 加 进 去, 而 对 现 有 网 络 无 任 何 影 响 再 次 就 是 多 控 制 器 之 间 的 负 载 均 衡 问 题, 要 尽 可 能 地 使 每 个 控 制 器 发 挥 其 最 大 的 性 能, 同 时 不 会 产 生 瓶 颈 总 而 言 之, 对 多 控 制 器 控 制 平 面 的 设 计 实 现, 在 某 种 程 度 上, 可 以 说 是 传 统 的 分 布 式 系 统 在 网 络 上 的 应 用 把 握 好 上 面 这 些 关 键 性 的 问 题, 那 么 多 控 制 器 的 控 制 平 面 在 其 性 能 上 应 该 能 够 满 足 SDN 网 络 的 需 求 3.3 多 控 制 器 实 例 下 面 将 就 学 术 界 和 工 业 界 目 前 提 出 的 一 些 多 控 制 器 设 计 方 案 进 行 简 要 分 析, 以 说 明 现 阶 段 多 控 制 器 主 要 的 设 计 思 想 3.3.1 HyperFlow HyperFlow 是 21 年 提 出 的 一 种 基 于 的 分 布 式 控 制 方 案, 它 是 最 早 提 出 的 OpenFlow 多 控 制 器 实 现 在 HyperFlow 中, 将 网 络 划 分 为 多 个 逻 辑 区 域, 每 个 区 域 内 部 署 一 个 或 者 多 个 控 制 器 所 有 的 控 制 器 保 存 着 一 份 完 全 相 同 的 网 络 信 息, 对 本 区 域 内 的 交 换 机 进 行 管 理 控 制 控 制 器 间 通 过 消 息 的 发 布 / 订 阅 模 式 来 进 行 通 信 实 际 上,HyperFlow 是 基 于 分 布 式 文 件 系 统 WheelFS 设 计 的, 网 络 事 件 在 不 同 控 制 器 之 间 以 文 件 更 新 的 形 式 来 实 现 HyperFlow 实 现 为 的 一 个 应 用, 因 此 相 对 来 说 比 较 简 单, 并 且 将 网 络 分 区 管 理, 降 低 了 流 表 的 建 立 时 间 从 实 现 和 测 试 的 性 能 来 看, 在 保 证 控 制 带 宽 和 限 定 网 络 延 迟 的 情 况 下, 能 处 理 的 网 络 事 件 小 于 1 次 /s, 性 能 还 比 较 低 另 一 方 面,HyperFlow 中 每 个 控 制 器 需 要 维 护 全 局 的 网 络 状 态, 并 且 实 时 地 对 其 进 行 同 步 更 新 这 样 的 话, 对 于 规 模 很 大 并 且 状 态 变 化 频 繁 的 网 络 来 说, 控 制 器 间 的 状 态 维 护 会 带 来 一 定 的 开 销, 成 为 系 统 的 瓶 颈 3.3.2 Onix Onix 是 21 年 Google NEC 和 Nicira 共 同 提 出 的 一 种 面 向 大 规 模 网 络 的 分 布 式 SDN 部 署 方 案 Onix 架 构 主 要 由 物 理 基 础 设 施 连 接 组 件 Onix 和 控 制 逻 辑 4 部 分 组 成, 采 用 分 布 式 架 构 向 上 层 控 制 逻 辑 提 供 网 络 状 态 的 编 程 接 口 网 络 控 制 逻 辑 则 通 过 Onix 提 供 的 API 来 决 策 网 络 行 为 Onix 提 供 了 一 个 网 络 信 息 库 (network information base,nib), 用 于 维 护 网 络 全 局 的 状 态 Onix 的 设 计 关 键 就 在 于 维 护 NIB 的 分 发 机 制, 从 而 保 证 整 个 网 络 状 态 信 息 的 一 致 性 现 在 NIB 的 设 计 采 用 的 是 比 较 成 熟 的 分 布 式 控 制 系 统 的 解 决 方 案, 因 此 可 能 面 临 其 存 在 的 性 能 和 状 态 一 致 性 等 问 题 3.3.3 Master/Slaves Master/Slaves [1] 是 212 年 提 出 的 一 种 分 布 式 控 制 系 统, 用 来 实 现 数 据 中 心 网 络 的 可 扩 展 性 和 可 靠 性 控 制 器 可 以 采 用 现 有 的 任 意 一 种 来 实 现, 文 献 [1] 使 用, 控 制 器 间 采 用 JGroups 进 行 通 信 在 开 始 时, 首 先 选 取 一 个 Master 控 制 器, 用 来 维 护 全 局 的 Controller-Switch 映 射 Master 控 制 器 被 其 他 控 制 器 所 监 控, 如 果 出 现 异 常, 则 马 上 选 取 其 他 节 点 进 行 替 换, 防 止 Master 单 点 故 障 的 发 生, 但 是 这 种 变 化 在 Switch 角 度 是 察 觉 不 到 的 并 且 Master 在 进 行 Controller-Switch 映 射 时, 可 以 根 据 现 有 的 网 络 状 况 进 行 实 时 调 整, 以 达 到 不 同 控 制 器 上 的 负 载 均 衡 3.3.4 ASIC ASIC [11] 是 212 年 清 华 大 学 在 CFI 上 提 出 的 一 种 解 决 控 制 平 面 扩 展 性 的 方 法, 它 主 要 针 对 初 始 状 态 流 表 生 成 时, 大 量 流 请 求 信 息 流 向 控 制 器 而 造 成 控
662 Journal of Frontiers of Computer Science and Technology 计 算 机 科 学 与 探 索 214, 8(6) 制 器 负 载 过 大 的 问 题 ASIC 主 要 采 用 负 载 均 衡 并 行 处 理 数 据 共 享 和 集 群 等 技 术 来 实 现 ASIC 包 括 3 个 层 次 : (1) 负 载 均 衡 层, 可 以 采 用 round-robin scheduling 或 者 hash 算 法 等 一 些 成 熟 的 机 制 来 实 现 (2) 控 制 器 集 群, 可 以 采 用 现 有 的 控 制 器 实 现, 但 是 需 要 在 全 局 网 络 视 图 等 方 面 进 行 一 定 的 修 改 (3) 分 布 式 数 据 存 储, 采 用 了 两 级 的 存 储 模 式, 即 持 久 化 存 储 和 缓 存 现 阶 段 ASIC 的 持 久 化 存 储 采 用 MySQL 数 据 库 实 现, 缓 存 则 采 用 MemCached 来 实 现, 其 中 的 一 致 性 等 问 题 均 由 这 些 存 储 程 序 来 自 动 实 现 当 一 个 请 求 数 据 包 到 来 之 后, 首 先 经 过 负 载 均 衡 层, 选 择 一 个 控 制 器 来 对 这 个 数 据 包 进 行 处 理, 并 且 将 数 据 包 转 发 至 相 应 的 控 制 器, 控 制 器 根 据 第 三 层 的 全 局 网 络 信 息 对 数 据 包 进 行 处 理, 同 时 将 流 表 的 信 息 直 接 写 回 到 相 应 的 交 换 机, 完 成 包 的 请 求 过 程 ASIC 的 整 体 实 现 思 路 并 不 复 杂, 而 且 采 用 的 技 术 也 均 是 较 为 成 熟 的 现 有 技 术, 因 此 在 部 署 和 实 现 上 相 对 来 说 比 较 容 易, 是 多 控 制 器 控 制 平 面 的 一 个 不 错 的 选 择 实 现 方 案 3.3.5 Kandoo Kandoo 是 212 年 在 Hot SDN 上 提 出 的 一 种 基 于 分 层 思 想 的 多 控 制 器 控 制 平 面 设 计 方 案, 针 对 不 同 类 型 的 应 用, 采 用 不 同 层 次 的 控 制 器 进 行 控 制 这 种 控 制 方 案 将 控 制 器 分 为 两 种 类 型 :root controller 和 local controller local controller 运 行 只 需 要 本 地 信 息 的 应 用 ( 比 如 流 的 发 现 等 ),root controller 则 根 据 全 局 网 络 信 息, 运 行 需 要 全 局 信 息 的 应 用 ( 比 如 流 的 动 态 调 度 路 由 等 ) 每 个 local controller 可 以 管 控 一 个 或 者 多 个 交 换 机, 在 实 现 时 既 可 以 部 署 在 交 换 机 ( 比 如 VSwitch) 上, 也 可 以 部 署 在 离 交 换 机 最 近 的 服 务 器 上 这 种 实 现 方 案 的 一 个 好 处 是,local controller 和 root controller 均 可 以 采 取 诸 如 这 样 的 控 制 器 实 现, 而 为 了 得 到 更 好 的 扩 展 性,root controller 更 是 可 以 采 用 上 述 诸 如 HyperFlow Onix 等 分 布 式 控 制 器 来 实 现 简 而 言 之,local controller 更 像 是 传 统 的 单 一 控 制 器 在 交 换 机 层 面 上 添 加 一 个 控 制 代 理, 而 root controller 则 充 当 传 统 的 控 制 器 角 色 4 相 关 工 作 尽 管 SDN 近 年 来 引 起 了 学 术 界 和 工 业 界 越 来 越 广 泛 的 关 注, 但 是 到 目 前 为 止 还 没 有 文 献 系 统 地 对 SDN 的 控 制 平 面 在 设 计 和 实 现 上 进 行 比 较, 仅 仅 是 在 某 些 控 制 器 的 实 现 或 者 是 测 试 工 具 的 设 计 中, 对 部 分 控 制 器 进 行 了 简 单 的 比 较 [12] OpenFlow 官 方 网 站 给 出 了 一 组 关 于 控 制 器 性 能 的 测 试 数 据, 这 组 数 据 是 211 年 5 月 测 试 的, 主 要 利 用 Cbench 测 试 了 Destiny 和 在 连 接 32 台 交 换 机 时 运 行 不 同 数 量 线 程 所 得 到 的 吞 吐 值 但 是 这 个 测 试 结 果 相 对 来 说 比 较 简 单 首 先, 它 只 针 对 线 程 这 一 个 变 量 进 行 了 测 试, 而 且 仅 仅 是 吞 吐 的 测 试 ; 其 次, 它 测 试 的 控 制 器 只 有 上 面 提 到 的 3 种, 对 于 其 他 比 较 受 关 注 的 控 制 器 没 有 相 应 的 测 试 ; 最 后, 自 211 年 5 月 以 后, 这 几 款 控 制 器 也 均 进 行 了 版 本 的 提 升, 在 性 能 上 也 有 了 一 定 的 变 化 文 献 [13] 是 一 篇 学 位 论 文, 对 SDN 进 行 了 比 较 系 统 的 介 绍, 包 括 OpenFlow Switch OpenFlow 协 议 部 分 控 制 器 的 设 计 和 Switch 应 用 测 试 等 在 Switch 应 用 测 试 中, 从 吞 吐 和 延 迟 两 方 面 比 较 了 和 控 制 器 但 是 这 里 的 吞 吐 和 延 迟 的 比 较 实 验 中, 仅 仅 将 连 接 主 机 数 量 这 一 个 指 标 作 为 测 试 变 量, 测 试 内 容 很 不 全 面 文 献 [14] 主 要 是 基 于 第 一 版 单 线 程 的 问 题, 提 出 了 一 个 多 线 程 的 实 现 _MT, 在 该 文 的 实 验 部 分, 比 较 了 _MT 和 单 线 程 的 以 及 和 的 性 能, 其 实 验 部 分 包 括 了 不 同 线 程 和 交 换 机 在 不 同 主 机 数 下 各 个 控 制 器 的 吞 吐 情 况 从 实 验 结 果 来 看, 对 比 OpenFlow 官 网 的 结 果, 这 个 _MT 和 现 在 开 源 的 多 线 程 应 该 不 完 全 相 同, 其 文 章 中 称 后 续 也 会 将 _MT 进 行 开 源 因 为 SDN 多 控 制 器 现 阶 段 还 没 有 开 源 的 实 现, 所 以 也 就 没 有 量 化 的 性 能 测 试, 所 有 的 多 控 制
江 国 龙 等 :SDN 控 制 器 的 调 研 和 量 化 分 析 663 器 比 较 均 只 是 对 其 实 现 机 制 进 行 分 析, 包 括 文 献 [6,8,11] 中 相 关 工 作 以 及 文 献 [15] 这 篇 综 述 性 的 介 绍 5 结 束 语 SDN 的 这 种 控 制 转 发 相 分 离 的 架 构, 使 复 杂 的 网 络 管 理 变 得 越 来 越 简 单 方 便, 而 且 随 着 基 于 Open- Flow 协 议 的 SDN 技 术 的 逐 渐 发 展 与 成 熟,SDN 越 来 越 多 地 引 起 学 术 界 和 工 业 界 的 关 注, 它 在 数 据 中 心 校 园 网 企 业 网 和 广 域 骨 干 网 络 中 的 应 用 部 署 越 来 越 多 在 SDN 快 速 发 展 的 过 程 中, 作 为 其 主 要 组 成 部 分 的 控 制 器 也 在 不 断 地 发 展 完 善, 从 最 初 的 单 线 程 到 现 在 支 持 多 线 程 多 应 用 的 各 种 控 制 器 纷 纷 涌 现, 以 及 近 年 来 为 了 解 决 控 制 平 面 扩 展 性 而 提 出 的 多 控 制 器 的 解 决 方 案 面 对 这 么 多 的 控 制 器 实 现 方 案, 针 对 特 定 的 应 用 场 景 和 特 定 的 需 求, 哪 种 控 制 器 实 现 更 符 合 需 求 成 为 学 者 和 业 界 需 要 考 虑 的 重 要 问 题 本 文 从 单 一 控 制 器 和 多 控 制 器 两 个 方 面, 针 对 现 有 相 关 工 作 的 不 足, 对 常 见 的 几 款 控 制 器 进 行 了 分 析 比 较, 其 中 包 括 各 个 控 制 器 的 设 计 实 现 细 节 介 绍 以 及 延 迟 吞 吐 等 性 能 指 标 的 测 试 因 为 各 种 控 制 器 在 实 现 语 言 和 设 计 目 标 上 各 有 差 异, 所 以 每 种 控 制 器 都 有 其 优 缺 点 通 过 本 文 的 工 作, 能 够 一 定 程 度 上 给 研 究 人 员 在 控 制 器 的 选 择 和 使 用 上 提 供 参 考 比 如 : 如 果 追 求 高 吞 吐, 可 以 选 择 ; 如 果 将 控 制 器 用 于 商 用 闭 源 软 件, 可 以 选 择 ; 如 果 希 望 快 速 地 设 计 开 发 网 络 应 用 原 型, 可 以 采 用 等 同 时 本 文 对 于 控 制 器 应 用 的 开 发 以 及 多 控 制 器 方 案 的 设 计 也 能 提 供 指 导 思 路 References: [1] Greenberg A, Hjalmtysson G, Maltz D A, et al. A clean slate 4D approach to network control and management[j]. ACM SIGCOMM Computer Communication Review, 25, 35(5): 41-54. [2] Casado M, Freedman M J, Pettit J, et al. Ethane: taking control of the enterprise[c]//proceedings of the 27 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM 7), Kyoto, 27. New York, NY, USA: ACM, 27: 1-12. [3] Mckeown N, Anderson T, Balakrishnan H, et al. OpenFlow: enabling innovation in campus networks[j]. ACM SIGCOMM Computer Communication Review, 28, 38(2): 69-74. [4] Gude N, Koponen T, Pettit J, et al. : towards an operating system for networks[j]. ACM SIGCOMM Computer Communication Review, 28, 38(3): 15-11. [5] Erickson D. The openflow controller[c]//proceedings of the 2nd ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN 13). New York, NY, USA: ACM, 213: 13-18. [6] Tootoonchian A, Ganjali Y. HyperFlow: a distributed control plane for OpenFlow[C]//Proceedings of the 21 Internet Network Management Workshop/Workshop on Research on Enterprise Networking (INM/WREN 1), San Jose, 21. Berkeley, CA, USA: USENIX Association, 21: 3. [7] Koponen T, Casado M, Gude N, et al. Onix: a distributed control platform for large-scale production networks[c]// Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (OSDI 1), Vancouver, 21. Berkeley, CA, USA: USENIX Association, 21: 1-6. [8] YeganehS H, Ganjali Y. Kandoo: a framework for efficient and scalable offloading of control applications[c]//proceedings of the 1st Workshop on Hot Topics in Software Defined Networks (HotSDN 12), Helsinki, 212. New York, NY, USA: ACM, 212: 19-24. [9] Cai Zheng, Cox A L, Ng T S E. : a system for scalable OpenFlow control, TR1-11[R]. Department of Computer Science, Rice University, 21. [1] Yazıcı V, Sunay M O, Ercan A Ö. Controlling a softwaredefined network via distributed controllers[c]//proceedings of the 212 NEM Summit, Özyeğin University, İstanbul, Turkey, 212: 16-2. [11] Lin Pingping, Bi Jun, Hu Hongyu. ASIC: an architecture for scalable intra-domain control in OpenFlow[C]//Proceedings of the 7th International Conference on Future Internet Technologies (CFI 12), Seoul, 212. New York, NY, USA: ACM, 212: 21-26. [12] OpenFlow controller performance comparisons[eb/ol]. [213-1-8]. http://www.openflow.org/wk/index.php/con-
664 Journal of Frontiers of Computer Science and Technology 计 算 机 科 学 与 探 索 214, 8(6) troller_performance_comparisons. [13] De Tejada Muntaner G R. Evaluation of OpenFlow controllers[d]. KTH, 212. [14] Tootoonchian A, Gorbunov S, Ganjali Y, et al. On controller performance in software-defined networks[c]//proceedings of the 2nd USENIX Conference on Hot Topics in Management of Internet, Cloud, and Enterprise Networks and Services (Hot-ICE 12), San Jose, 212. Berkeley, CA, USA: USENIX Association, 212: 1. [15] Zuo Qingyun, Chen Ming, Zhao Guangsong, et al. Research on OpenFlow-based SDN technologies[j]. Journal of Software, 213, 24(5): 178-197. 附 中 文 参 考 文 献 : [15] 左 青 云, 陈 鸣, 赵 广 松, 等. 基 于 OpenFlow 的 SDN 技 术 研 究 [J]. 软 件 学 报, 213, 24(5): 178-197. JIANG Guolong was born in 1988. He is a master candidate at Institute of Computing Technology, Chinese Academy of Sciences. His research interests include data center network and software defined network, etc. 江 国 龙 (1988 ), 男, 河 北 承 德 人, 中 国 科 学 院 计 算 技 术 研 究 所 先 进 计 算 机 系 统 研 究 中 心 硕 士 研 究 生, 主 要 研 究 领 域 为 数 据 中 心 网 络, 软 件 定 义 网 络 等 发 表 学 术 论 文 1 篇, 申 请 专 利 4 项 FU Binzhang was born in 1982. He received the Ph.D. degree in computer science from Institute of Computing Technology, Chinese Academy of Sciences in 211. Now he is an associate professor at Institute of Computing Technology, Chinese Academy of Sciences. His research interests include high-performance and high-reliable interconnection networks, data center network and on-chip network. 付 斌 章 (1982 ), 男, 北 京 人,211 年 于 中 国 科 学 院 计 算 技 术 研 究 所 获 得 博 士 学 位, 现 为 中 国 科 学 院 计 算 技 术 研 究 所 副 研 究 员, 主 要 研 究 领 域 为 高 性 能 高 可 靠 系 统 互 联, 数 据 中 心 网 络, 片 上 网 络 CHEN Mingyu was born in 1972. He received the Ph.D. degree in computer science from Institute of Computing Technology, Chinese Academy of Sciences in 2. Now he is a professor and Ph.D. supervisor at Institute of Computing Technology, Chinese Academy of Sciences. His research interests include computer architecture, operating system and algorithm optimization for high performance computer. 陈 明 宇 (1972 ), 男, 吉 林 人,2 年 于 中 国 科 学 院 计 算 技 术 研 究 所 获 得 博 士 学 位, 现 为 中 国 科 学 院 计 算 技 术 研 究 所 研 究 员 博 士 生 导 师, 主 要 研 究 领 域 为 计 算 机 体 系 结 构, 操 作 系 统, 高 性 能 计 算 机 算 法 优 化 发 表 学 术 论 文 2 余 篇, 主 持 国 家 863 计 划 科 学 院 等 多 项 科 研 项 目 ZHANG Lixin was born in 1971. He received the Ph.D. degree in computer science from the University of Utah in 21. Now he is a professor at Institute of Computing Technology, Chinese Academy of Sciences, and the director of the Center for Advanced Computer Systems. His research interests include computer architecture, high performance computing, microprocessor design, memory systems and data center computing, etc. 张 立 新 (1971 ), 男, 浙 江 人,21 年 于 美 国 犹 他 大 学 获 得 博 士 学 位, 现 为 中 国 科 学 院 计 算 技 术 研 究 所 研 究 员, 先 进 计 算 机 系 统 研 究 中 心 主 任, 主 要 研 究 领 域 为 计 算 机 结 构, 高 性 能 计 算, 微 处 理 器, 内 存 系 统, 数 据 中 心 计 算 系 统 等