SDN 和 分 布 式 网 络 虚 拟 化 设 计 QQ : 67278439 新 浪 微 博 :@ 盛 科 张 卫 峰
Topic SDN 对 云 计 算 网 络 的 价 值 SDN 网 络 虚 拟 化 方 案 一 览 从 OVN 看 分 布 式 网 络 虚 拟 化 设 计 基 于 硬 件 SDN 交 换 机 的 网 络 虚 拟 化
SDN 是 一 种 思 想 SDN 不 是 一 种 具 体 的 技 术, 而 是 一 种 思 想, 一 种 理 念 SDN 的 核 心 诉 求 : 让 软 件 应 用 参 与 到 网 络 控 制 中 并 起 到 主 导 作 用, 而 不 是 让 而 各 种 固 定 模 式 的 协 议 来 控 制 网 络 为 了 满 足 这 种 核 心 诉 求,SDN 思 想 指 导 下 的 网 络 必 须 设 计 一 种 新 的 架 构 2013 Centec Networks (Suzhou) Co., Ltd. All rights reserved. 3
SDN 架 构
SDN 的 本 质 属 性 控 制 与 转 发 分 离 开 放 的 编 程 接 口 集 中 化 的 网 络 控 制
SDN 的 核 心 价 值 不 在 于 能 够 解 决 传 统 网 络 解 决 不 了 的 问 题 而 在 于 能 够 比 传 统 网 络 做 得 更 快 捷, 更 可 靠, 更 省 力 不 是 让 控 制 器 控 制 一 切 而 是 让 控 制 器 去 控 制 用 户 想 控 制 的 部 分 盛 科 网 络 -- 全 球 领 先 的 SDN 芯 片 和 定 制 化 白 牌 设 备 提 供 商
IaaS 云 计 算 网 络 将 SDN 的 优 势 发 挥 到 极 致 IaaS 云 计 算 平 台 是 标 准 的 SDN 架 构 控 制 ( 云 计 算 控 制 平 台 ) 与 转 发 ( 虚 拟 或 者 物 理 交 换 机 ) 开 放 的 编 程 接 口 ( 南 向 和 北 向 都 是 开 放 的 接 口 ) 集 中 化 控 制 ( 云 平 台 集 中 控 制 所 有 的 设 备 ) 可 编 程 API 提 供 租 户 的 self-service 集 中 化 控 制 云 计 算 平 台 获 取 全 局 信 息
OpenStack 网 络 架 构 OpenStack Horizon Nova Scripts Neutron API 北 向 接 口 OVS Plugin Linux Bridge Plugin Centec Plugin Others 南 向 接 口 OVS Linux Bridge Switch Centec SDN Switch Others
Topic SDN 对 云 计 算 网 络 的 价 值 SDN 网 络 虚 拟 化 方 案 一 览 从 OVN 看 分 布 式 网 络 虚 拟 化 设 计 基 于 硬 件 SDN 交 换 机 的 网 络 虚 拟 化
两 种 组 网 方 式 的 比 较 Vlan 组 网 优 点 简 单 稳 定 高 性 能 缺 点 4K Vlan 数 量 限 制 需 要 在 所 有 物 理 交 换 机 的 所 有 端 口 上 预 配 置 所 有 Vlan 物 理 网 络 拓 扑 必 须 是 大 二 层 架 构, 难 以 处 理 更 复 杂 拓 扑 Tunnel 组 网 优 点 灵 活 性 高, 底 层 拓 扑 无 关 租 户 数 量 可 以 高 达 16M 缺 点 Encap/Decap 带 来 的 性 能 损 耗 网 络 可 视 化 是 个 问 题
Neutron 当 前 的 问 题 J 版 本 之 前 不 支 持 DVR J 版 本 支 持 DVR, 但 是 不 成 熟 DVR 用 了 大 量 name space, 比 较 重 量 级, 规 模 大 了 有 压 力 DVR 拼 凑 的 痕 迹 太 重, 架 构 并 不 好 模 块 化 结 构 过 于 松 散, 大 量 RPC 可 扩 展 性 差 Neutron 自 身 对 FwaaS VPNaaS Security Group 等 支 持 力 度 较 弱 数 据 校 验 和 错 误 处 理 不 严 谨, 容 易 发 生 数 据 不 一 致 OpenStack is VM centric, 对 bare metal server 支 持 弱
商 业 化 SDN VPC 解 决 方 案 纯 软 件 Juniper Contrail Vyatta(Brocade) Nuage(ALU) Midokura PlumGrid Centec 硬 件 Cisco ACI Centec
SDN 网 络 虚 拟 化 方 案 1: --Neutron 作 为 集 中 式 控 制 器 Neutron 拥 有 一 切 拓 扑 信 息, 通 过 plugin 实 时 分 发 给 相 应 计 算 节 点 Agent Agent 根 据 packet 学 习 创 建 二 层 转 发 流 表 Agent 根 据 接 收 的 拓 扑 信 息 操 作 kernel 路 由 表, 使 用 name space 做 隔 离 典 型 代 表 是 OpenStack Neutron 原 生 态 网 络 网 络 控 制 节 点 Neutron LB/OVS Plugin 计 算 节 点 DVR Agent L3 Agent OVS Kernel NS 计 算 节 点 DVR Agent OVS L3 Agent Kernel NS 计 算 节 点 DVR Agent OVS L3 Agent Kernel NS
SDN 网 络 虚 拟 化 方 案 2: -- 独 立 的 集 中 式 控 制 器 Neutron 拥 有 一 切 拓 扑 信 息, 全 部 发 送 给 独 立 控 制 器 控 制 器 将 转 换 后 的 信 息 发 送 给 计 算 节 点 Agent Agent 根 据 控 制 器 指 令,proactive 创 建 转 发 表 典 型 代 表 是 Juniper Contrail 网 络 控 制 节 点 Neutron Controller Plugin SDN Controller 计 算 节 点 Custom Agent Custom vswitch 计 算 节 点 Custom Agent Custom vswitch 计 算 节 点 Custom Agent Custom vswitch
SDN 网 络 虚 拟 化 方 案 3: -- 分 布 式 控 制 器 Neutron 拥 有 一 切 拓 扑 信 息, 通 过 plugin 写 到 独 立 数 据 库 每 个 计 算 节 点 中 的 控 制 器 向 数 据 库 服 务 器 订 阅 本 节 点 需 要 的 数 据 或 者 数 据 库 服 务 器 主 动 下 发 每 个 计 算 节 点 中 的 控 制 器 reactive or proactive 创 建 转 发 表 Mismatch 的 报 文 在 本 地 控 制 器 学 习 典 型 代 表 是 OVN, Midokura, Centec
SDN 网 络 虚 拟 化 方 案 4: -- 集 中 式 控 制 器 + 硬 件 转 发 Neutron 拥 有 一 切 拓 扑 信 息, 通 过 plugin 发 给 控 制 器 控 制 器 将 拓 扑 信 息 发 到 物 理 Fabric 网 络 物 理 交 换 机 的 agent 根 据 控 制 器 发 来 的 信 息, 自 行 计 算 出 虚 拟 转 发 表 非 虚 拟 化 相 关 的 物 理 转 发 表 项 由 传 统 二 三 层 协 议 形 成 典 型 代 表 是 思 科 的 ACI CMS APIC Opflex Server Server
虚 拟 三 层 路 由 转 发 集 中 式 虚 拟 网 关 OpenStack Juno 之 前 版 本 分 布 式 虚 拟 网 关 OpenStack Juno 版 本 NSX,Contrail,Centec 等 商 业 软 件 半 分 布 式 虚 拟 网 关 绝 大 多 数 宣 称 有 VR 的 平 台, 如 CloudStack, 某 些 商 业 软 件
Topic SDN 对 云 计 算 网 络 的 价 值 SDN 网 络 虚 拟 化 方 案 一 览 从 OVN 看 分 布 式 网 络 虚 拟 化 设 计 基 于 硬 件 SDN 交 换 机 的 网 络 虚 拟 化
网 络 虚 拟 化 架 构 总 的 原 则 通 过 SDN 来 对 转 发 面 进 行 控 制 转 发 面 必 须 是 全 分 布 式,L2 and L3 控 制 面 也 尽 量 分 布 式 网 络 数 据 库 节 点 集 群 化 设 计, 良 好 的 数 据 同 步 机 制 尽 量 proactive 配 置 转 发 表, 减 少 控 制 面 压 力 尽 量 消 除 网 络 里 的 组 播 和 广 播 虚 拟 网 络 接 入 bare-metal server 是 个 很 强 烈 的 刚 需, 所 以 要 支 持 VM 和 Bare-metal 混 合 组 网 下 面 用 OVN 来 阐 述 分 布 式 网 络 虚 拟 化 设 计 的 理 念
什 么 是 OVN cont. OVN: Open Virtual Network 是 OVS 的 开 发 团 队 新 创 建 的 一 个 开 源 子 项 目, 使 用 跟 OVS 一 样 的 license apache 用 来 提 供 一 个 基 础 的 网 络 虚 拟 化 方 案, 包 括 l2 switch, l3 router, security group, L2/L3/L4 ACL,QoS 并 非 一 个 完 整 方 案, 如 缺 少 FW/LB/VPN, etc 通 过 独 立 的 plugin 集 成 到 CMS, 包 含 但 不 限 于 OpenStack
什 么 是 OVN 支 持 KVM, XEN, Hyper-V 和 Container 通 过 SW or HW GW 将 bare-metal server 接 入 虚 拟 网 络 支 持 NvGRE/VxLan/Geneve/STT/Vlan 转 发 面 使 用 OVS kernel module 使 用 扩 展 过 的 OpenFlow, 使 用 多 级 流 表
OVN Architecture CMS 本 质 上 是 两 层 Controller 架 构 : 上 层 集 中 式 Controller (OSN DB) + 分 布 式 OVN Local Contrller Network Control Node OVN Plugin OVN Controller OpenFlow OVSDB ovs-vswitchd ovsdb-server Virtualized Compute Node DB Protocol Network Topology Database OVN DB Server DB Protocol DB Protocol Third-Party Edge GW Cluster (BGP/FW/LB/VPN inside) GW Server Vendor Agent Vendor VTEP GW SDN TOR 交 换 机 OVN Controller OpenFlow ovs-vswitchd OVSDB ovsdb-server Bare-Metel Server Bare-Metel Server
OVN Plugin 独 立 于 任 何 CMS 将 CMS Configuration 翻 译 成 Logical datapath flow 存 放 于 OVN Database 中 本 身 不 存 储 任 何 数 据
OVN Database DB 的 选 择 需 要 满 足 五 个 条 件 : 集 群 化 容 易 做 数 据 同 步 Scalability 高 速 率 I/O 用 C 语 言 OVSDB 不 符 合 前 三 个 条 件 初 步 计 划 改 造 OVSDB 来 做 OVN DB, 若 不 行, 则 换 别 的 包 含 三 种 信 息 :PN(Physical Network)state LN( Logical Network)state 以 及 Binding PN: 各 个 服 务 器 的 IP,Tunnel 类 型,etc LN: 所 有 虚 拟 网 络 信 息 Binding:PN 和 LN 的 映 射 PN 信 息 比 较 少 且 不 易 变 化, 故 复 制 到 所 有 Node; LN 信 息 较 多 且 灵 活 易 变, 故 仅 复 制 到 相 关 Node
OVN Controller 是 一 个 分 布 式 local controller 轻 量 级 Cloud specific controller instead of general SDN controller OVN Controller 将 来 抽 象 的 拓 扑 状 态 翻 译 成 转 发 表 项 OVN Controller 负 责 回 复 icmp, 做 ARP proxy Flow 的 生 成 都 是 proactive 而 非 reactive 可 能 需 要 做 Mac Learning ( 仅 对 Vtep GW) 将 本 地 VM/Vif 绑 定 关 系,VTEP GW 上 学 到 的 Mac 发 布 到 Central OVN DB
OVSDB 用 于 创 建 删 除 Bridge 用 于 创 建 流 表 转 发 所 需 要 的 资 源, 如 Port, Tunnel
扩 展 OpenFlow 使 用 ovs-vswitchd, 对 OpenFlow 进 行 了 扩 展 Matching expression 是 OpenFlow 的 超 集, 如 支 持 ==,!=, <, >, in, not in, &&, 等 实 现 上 也 许 会 有 性 能 问 题 Action 也 是 OpenFlow 的 超 集, 如 支 持 learn, conntrack, icmp_reply 等 使 用 多 级 流 表
Datapath Pipeline VM VM VM VM VM VM Ingress Check ( 丢 弃 非 法 报 文, 如 macsa 是 组 播 的,BPDU 报 文 等 ) ACL Fitler Mac Flow Table VM Mac Entry 1 VM Mac Entry 2 VM Mac Entry M GW Mac Entry 1 GW Mac Entry 2 GW Mac Entry N Mcast/bcast Entries Route Flow Table Route Entry 1 Route Entry 2 Route Entry N Default Entry Output to peer VM (vif or tunnel/vlan) Output to Internet GW NIC OpenFlow Datapath Compute Node
转 发 面 两 种 设 计 思 路 思 路 一 :Ingress Do Everything 所 有 的 查 表 操 作 都 发 生 在 Ingress Compute Node 每 个 Node 维 护 Both ingress and egress Node 信 息 Ingress Node 查 表 后, 将 egress vif 封 装 在 Tunnel 里 面 ( 如 VNI-ID) Egress Node 直 接 根 据 Tunnel 里 面 的 vif 转 发 报 文 思 路 二 :Split Ingress and Egress Ingress Compute Node 查 表 决 定 送 到 那 个 Egress Compute Node Egress Compute Node 自 行 查 表 决 定 送 到 哪 个 VM Tunnel 的 VNI-ID 携 带 的 是 network 信 息 OVN 团 队 决 定 先 用 思 路 二, 以 后 可 能 会 换 到 思 路 一
OVN 优 劣 分 析 优 势 转 发 面 全 分 布 式 设 计 控 制 面 全 分 布 式 设 计 L2/L3 使 用 一 个 统 一 的 data path C 语 言, 效 率 较 高, 很 多 网 络 程 序 员 比 较 熟 悉 跟 OVS 紧 密 结 合, 容 易 被 社 区 和 用 户 接 纳 劣 势 OVN 缺 少 VPN, LB, FW,NAT, 运 维 管 理 等 工 具, 仅 仅 提 供 了 基 础 的 网 络 二 三 层 虚 拟 化 功 能 某 些 流 规 则 的 匹 配, 查 找 效 率 可 能 比 较 低 项 目 周 期 比 较 长, 时 间 点 也 许 会 错 过
Topic SDN 对 云 计 算 网 络 的 价 值 SDN 网 络 虚 拟 化 方 案 一 览 从 OVN 看 分 布 式 网 络 虚 拟 化 设 计 基 于 硬 件 SDN 交 换 机 的 网 络 虚 拟 化
硬 件 SDN 网 络 虚 拟 化 方 案 Overview TOR SDN 化, 提 供 API 供 CMS 控 制, 同 时 支 持 传 统 二 三 层 协 议 将 tunnel offload 到 SDN TOR 不 改 变 Hypervisor 原 来 逻 辑 可 以 在 SDN TOR 上 支 持 ACL 天 然 支 持 接 入 Bare metal server
硬 件 Offload 下 的 转 发 面 流 程 Agg Switch Traditional L2/L3 Topology TOR Switch Host 1 VM1 VM2 VMn vsw itc h Vlan Tag Tunnel Header Original Packet Host 1 VM1 VM2 VMn vsw itc h Host 2 Host 2 Host N Host N
应 用 场 景 1: 支 持 基 于 VMware 产 品 的 VPC 市 场 有 大 量 的 存 量 VMware 产 品, 这 些 产 品 不 支 持 VPC VMware 提 供 driver 到 OpenStack, 但 是 仅 限 于 legacy vds 支 持 ( 无 法 支 持 完 整 VPC 功 能 ) 要 支 持 VPC, 需 要 购 买 VMware 的 NSX, 价 格 昂 贵 很 多 用 户 不 想 购 买 NSX, 但 是 却 想 支 持 灵 活 的 VPC 甚 至 更 多 用 户 希 望 把 VMware 和 XEN KVM 混 合 组 网
当 前 的 一 些 解 决 方 案 要 基 于 legacy VMware 产 品 支 持 VPC, 必 须 能 够 控 制 它 的 vswitch 但 显 然 做 不 到 一 些 商 业 折 衷 方 案 : 专 门 拿 出 一 个 VM 做 vswitch, 性 能 低 下 VM VM VM vds/ovs NiC VM vswitch (VPC function) Server
基 于 SDN TOR 来 实 现 VMware 的 VPC CMS 获 取 VM 的 主 机 信 息 IP Mac Local Vlan 所 属 租 户 CMS 控 制 SDN TOR, 将 Local Vlan 映 射 成 tunnel VNI 可 以 使 用 OpenStack, 也 可 以 在 vcenter 之 上 再 包 装 一 个 管 理 平 面 该 方 案 适 用 于 VMware, 也 适 用 于 Hyper-V 盛 科 网 络 有 成 功 的 应 用 案 例
应 用 场 景 2: 支 持 一 体 机 一 体 机 是 把 计 算 存 储 和 网 络 都 打 包 在 一 个 机 柜 使 用 SDN 交 换 机, 可 以 通 过 云 平 台 自 动 化 部 署 整 个 机 柜, 包 括 物 理 网 络 可 以 方 便 地 对 虚 拟 网 络 和 物 理 网 络 做 统 一 运 维 监 控
38