Tungsten Fabric架构vRouter的部署选项

2020-06-12 17:40:31 浏览数 (1)

Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化和网络安全所必需的所有组件。项目的组件包括:SDN控制器,虚拟路由器,分析引擎,北向API的发布,硬件集成功能,云编排软件和广泛的REST API。

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

lKernel Module(内核模块)——默认部署模式

lDPDK——使用英特尔库提供转发加速

lSR-IOV——提供从VM直接访问NIC

lSmart NIC(智能NIC)—— vRouter转发器在可编程NIC中实现

这些选项如下所示:

每个选项的功能和优点如下所述:

内核模块vRouter

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

lTCP分片卸载

l大量接收卸载

l使用多队列virtio数据包处理

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

DPDK vRouter

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

与具有未修改的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在生产环境中可用,并且它们需要时间才能得到广泛使用。


更多Tungsten Fabric解析文章

第一篇:TF主要特点和用例

第二篇:TF怎么运作

第三篇:详解vRouter体系结构

第四篇:TF的服务链

0 人点赞