前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tungsten Fabric架构vRouter的部署选项

Tungsten Fabric架构vRouter的部署选项

原创
作者头像
Tungsten Fabric
修改2020-06-12 17:40:31
8790
修改2020-06-12 17:40:31
举报
文章被收录于专栏:Tungsten Fabric中文社区

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的服务链

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档