Tungsten Fabric架构解析丨vRouter的部署选项

Hi!这里是Tungsten Fabric架构解析内容的第五篇,介绍vRouter的部署选项。
Tungsten Fabric架构解析系列文章,由TF中文社区为你呈现,旨在帮助初入TF社区的朋友答疑解惑。咱们将系统介绍TF有哪些特色、如何运做、如何收集/分析/部署、如何编排、如何链接到物理网络等话题。

vRouter有多种部署选项,可提供不一样的好处和易用性:编程

  • Kernel Module(内核模块)——默认部署模式
  • DPDK——使用英特尔库提供转发加速
  • SR-IOV——提供从VM直接访问NIC
  • Smart NIC(智能NIC)—— vRouter转发器在可编程NIC中实现

这些选项以下所示:服务器

Tungsten Fabric架构解析丨vRouter的部署选项

每一个选项的功能和优势以下所述:微信

内核模块vRouter

vRouter转发器在Linux内核中运行的模块的方式,是目前的默认部署选项。 vRouter实现了网络功能,不然将使用iptables或Open vSwitch来执行。在内核中运行使转发器在经过KVM的网络堆栈时能够直接访问网络流量,而且与转发器做为用户空间中的进程运行时相比,能够实现显著的性能提高。已实施的优化包括:网络

  • TCP分片卸载
  • 大量接收卸载
  • 使用多队列virtio数据包处理

内核模块方法容许用户使用Tungsten Fabric实现网络虚拟化,同时对底层服务器和NIC硬件的依赖性最小。不过,这种方式仅支持特定的Linux内核版本。架构

DPDK vRouter

英特尔的数据平面开发工具包(DPDK)是一组库和驱动程序,容许在用户空间中运行的应用程序直接访问NIC,而无需经过KVM网络堆栈。能够在用户空间中运行并支持DPDK的vRouter转发器版本。ide

与具备未修改的VM的内核模块相比,DPDK vRouter提供了加速的数据包吞吐量,若是访客 VM也启用了DPDK,则能够实现更好的性能。工具

DPDK vRouter经过将CPU内核专用于数据包转发来工做,该内核不断转发循环等待数据包。这些内核不能用于运行访客VM,由于它们连续100%运行,这在某些环境中多是个问题。性能

SR-IOV (Single Root – 输入/输出虚拟化)

SR-IOV不是vRouter自己的严格部署选项,但在某些应用程序中能够与vRouter一块儿使用。开发工具

SR-IOV容许NIC的硬件资源在多个客户端之间共享,就好像每一个客户端都具备惟一访问权限同样,就像虚拟机管理程序对CPU所作的同样。它使VM接口能够直接访问NIC,所以数据路径会绕过虚拟机管理程序网络堆栈,从而提升性能。当VM在物理网络和虚拟网络之间执行网关功能时,SR-IOV很是有用,但因为SR-IOV涉及绕过vRouter,所以接口不参与Tungsten Fabric虚拟网络,也不参与网络策略和网络服务。优化

智能 NIC vRouter

一些新的可编程NIC正在变得可用。 Tungsten Fabric vRouter转发器功能能够在这些新的NIC上实现,这在性能方面带来了实质性的提高,特别是对于在某些环境中占主导地位的小字节数据包。

此外,转发几乎彻底从服务器的x86 CPU上卸载了,所以能够为更多的VM释放CPU内核。

智能NIC看起来很是有前途,但显然要求智能NIC在生产环境中可用,而且它们须要时间才能获得普遍使用。

MORE
更多Tungsten Fabric解析文章

第一篇:TF主要特色和用例
第二篇:TF怎么运做
第三篇:详解vRouter体系结构
第四篇:TF的服务链

Tungsten Fabric架构解析丨vRouter的部署选项

关注微信:TF中文社区
Tungsten Fabric架构解析丨vRouter的部署选项

相关文章
相关标签/搜索