VPP /什么是VPP?读这篇文章就够了

VPP /什么是VPP?读这篇文章就够了

目录

介绍

为什么称为向量处理?

用例示例:VPP作为vSwitch / vRouter

VPP的主要特征

绩效期望

介绍

VPP平台是一个可扩展的框架,可提供开箱即用的生产质量交换机/路由器功能。它是思科矢量数据包处理(VPP)技术的开源版本:一种高性能的数据包处理堆栈,可以在商用CPU上运行。

实施VPP的好处在于其高性能,经过验证的技术,其模块化和灵活性以及丰富的功能集。

VPP技术基于久经考验的技术,已帮助交付了超过10亿美元的思科产品。这是一个模块化设计。该框架允许任何人“插入”新的图形节点,而无需更改核心/内核代码。

模块化,灵活和可扩展

VPP平台建立在“数据包处理图”上。这种模块化方法意味着任何人都可以“插入”新的图节点。这使得扩展性相当简单,并且意味着可以针对特定目的自定义插件。

插件如何发挥作用?在运行时,VPP平台从RX环获取所有可用的数据包,以形成数据包向量。数据包处理图逐个节点(包括插件)应用于整个数据包向量。图节点较小且模块化。图节点是松散耦合的。这使引入新图节点变得容易。这也使得重新连接现有图形节点相对容易。

插件可以引入新的图节点或重新排列数据包处理图。您还可以独立于VPP源代码树构建插件-这意味着您可以将其视为独立组件。可以通过将插件添加到插件目录来安装插件。

VPP平台可用于构建任何类型的数据包处理应用程序。它可用作负载均衡器,防火墙,IDS或主机堆栈的基础。您也可以创建应用程序的组合。例如,您可以向vSwitch添加负载平衡。

引擎在纯用户空间中运行。这意味着插件不需要更改核心代码-您可以扩展包处理引擎的功能,而无需更改在内核级别运行的代码。通过创建插件,任何人都可以使用以下功能扩展功能:

新的自定义图节点图节点的重排新的低级API

功能丰富

全套图形节点允许构建各种网络设备工作负载。从高层次上讲,该平台提供:

快速查找表的路由,网桥条目任意n元组分类器开箱即用的生产质量交换机/路由器功能

以下是VPP平台提供的功能的摘要:

IPv4 / IPv6 14+ MPPS,单核数 百万个条目FIB 输入检查 源RPF TTL到期 标头校验和 L2长度

IPv4 GRE,MPLS-GRE,NSH-GRE, VXLAN IPSEC DHCP客户端/代理

IPv6 邻居发现 路由器 公告 DHCPv6代理 L2TPv3 段路由 MAP / LW46 – IPv4aas iOAM

MPLS MPLS MPLS-o-以太网– 支持深标签栈

L2 VLAN支持 通过EFP / BridgeDomain概念进行 单/双标签 L2转发 VTR –推/弹出/翻译(1:1,1:2,2:1,2:2) Mac学习–默认限制为50k地址 桥接–拆分- Horizo​​n Group支持/ EFP过滤 代理Arp Arp终止 IRB –支持RouterMac分配的BVI泛 洪 输入ACL 接口交叉连接

为什么称为向量处理?

顾名思义,VPP使用矢量处理而不是标量处理。标量数据包处理是指一次处理一个数据包。这种较旧的传统方法需要处理中断,并遍历调用堆栈(a调用b调用c ...从嵌套调用返回return ...然后从Interrupt返回)。然后,该过程将执行以下三项操作之一:平移,丢弃或重写/转发数据包。

传统的标量数据包处理的问题是:

在I缓存中发生抖动每个数据包都会导致相同的I缓存未命中除了提供更大的缓存,上述方法无其他解决方法

相比之下,矢量处理一次处理一个以上的数据包。

向量方法的好处之一是它解决了I缓存抖动问题。它还缓解了相关的读取延迟问题(预取消除了延迟)。

这种方法解决了与堆栈深度/ D-cache堆栈地址未命中有关的问题。它改善了“电路时间”。“电路”是以下周期:从设备RX环中获取所有可用数据包,形成一个“帧”(向量),该帧由RX顺序的数据包索引组成,通过有向节点图运行数据包,然后返回到RX。环。随着数据包处理的继续,电路时间将根据提供的负载达到稳定的平衡。

随着向量大小的增加,每个数据包的处理成本降低,因为您要在较大的N上摊销I缓存未命中

用例示例:VPP作为vSwitch / vRouter

VPP平台的一种使用情况是将其实现为虚拟交换机或路由器。以下部分描述了可以使用VPP平台创建的可能实现的示例。有关其他可能用例的更多详细说明,请参见用例列表。

您可以使用VPP平台创建现成的虚拟交换机(vSwitch)和虚拟路由器(vRouter)。VPP平台使您可以通过命令行界面(CLI)管理这些应用程序的某些功能和配置。

交换应用程序可以创建的一些功能包括:

桥域端口(包括隧道端口)将端口连接到网桥域程序ARP终止

路由应用程序可以创建的一些功能包括:

虚拟路由和转发(VRF)表(以千计)路线(以百万计)

本地可编程性

一种方法是实现VPP应用程序以与本地环境(Linux主机或容器)中的外部应用程序通信。通信将通过低级API进行。这种方法提供了一个完整的,功能丰富的解决方案,既简单又高性能。例如,可以合理地预期性能产出为每秒50万条路由。

这种方法利用了共享内存/消息队列的优势。该实现在本地的盒子或容器上。所有CLI任务都可以通过API调用完成。

VPP平台的当前实现为C客户端和Java客户端生成低级绑定。将来可能会为其他编程语言的绑定提供支持。

远程可编程性

另一种方法是通过高级API使用数据平面管理代理。如图所示,数据平面管理代理可以通过低级API与VPP App(引擎)对话。它可以在一个盒子(或VM或容器)中本地运行。盒子(或容器)将通过某种形式的绑定公开更高级别的API。

这是一种特别灵活的方法,因为VPP平台不会强制使用特定的数据平面管理代理。此外,VPP平台不将通信限制为仅一个高级API。任何人都可以携带数据平面管理代理。这使您可以将高级API /数据平面管理代理和实施与VPP应用程序的特定需求进行匹配。

样本数据平面管理代理

使用高水平API的一个示例是在运行本地ODL实例(Honeycomb)的盒子上将VPP平台实现为应用程序。您可以在生成的Java绑定上使用低级API来与VPP App对话,并通过netconf / restconf NB公开Yang模型。

这将是实现网桥域的一种方法。

VPP的主要特征

一些主要特征包括:

与在内核中运行类似的数据包处理相比,提高了容错能力和ISSU:

崩溃很少需要重启进程软件更新不需要重新启动系统开发环境比类似的内核代码更易于使用和执行调试用户空间调试工具(gdb,valgrind,wireshark)利用广泛可用的内核模块(uio,igb_uio):DMA安全内存

作为Linux用户空间进程运行:

同一映像可在VM,Linux容器或主机内核中运行KVM和ESXi:通过PCI直接映射的NIC虚拟主机用户,netmap,virtio半虚拟化NIC调整/点击驱动程序DPDK轮询模式设备驱动程序

VDP与DPDK集成在一起,支持现有的NIC设备,包括:

英特尔i40e,英特尔ixgbe物理和虚拟功能,英特尔e1000,virtio,虚拟主机用户,Linux TAP惠普更名为英特尔Niantic MAC / PHY思科VIC

考虑的安全性问题:

思科安全团队的全面白盒测试图像段基地址随机化共享内存段基地址随机化堆栈边界检查调试CLI“ chroot”

数据包处理的矢量方法已被证明是主要体系结构上的主要平移/注入路径。

支持的架构

VPP平台支持:

x86 / 64

支持的包装型号

VPP平台支持在以下操作系统上安装软件包:

德比安Ubuntu 16.04Centos的7.3

绩效期望

VPP实施的好处之一是它在相对低功耗的计算上具有高性能。如此高的性能基于以下亮点:

用于商用硬件的高性能用户空间网络堆栈主机,VM,Linux容器的代码相同集成的虚拟主机用户virtio后端,可实现虚拟机到虚拟机的高速连接L2和L3功能,多种封装利用同类最佳的开源驱动程序技术:DPDK通过使用插件可扩展通过基于标准的API控制平面/业务流程平面

性能指标

VPP平台已显示提供以下近似性能指标:

来自单个x86_64内核的多个MPPS单个物理主机上> 100Gbps全双工多核扩展基准测试示例(在UCS-C240 M3上,3.5 gHz,转发了所有内存通道,简单的ipv4转发):

1个核心:9 MPPS进出2核:13.4 MPPS进出4核:20.0 MPPS进出

2p10GE,1核,L2 NIC到NIC的NDR速率

下表显示了以下NDR速率:2p10GE,1核,L2 NIC-to_NIC。

2p10GE,1核心,L2 NIC-to-VM / VM-to-VM的NDR速率

下表显示了以下情况的NDR速率:2p10GE,1核,L2 NIC-to-VM / VM-to-VM。

注意:

虚拟网络基础效能基准所有测试仅针对每个连接,单核潜在的更高性能,更多连接和更多核心最新软件:OVSDPDK 2.4.0,VPP 09/2015

NDR率VPP与OVSDPDK

下表显示了VPP与开源报告和商业报告相比的性能。

速率反映了在具有E5-2698v3 2x16C 2.3GHz的Haswell x86平台上测试的VPP和OVSDPDK性能。该图显示了12端口10GE,16核心,IPv4的NDR速率。

https://wiki.fd.io/view/VPP/What_is_VPP%3F#:~:text=Sample%20Data%20Plane%20Management%20Agent.%20One%20example%20of,App%2C%20and%20expose%20Yang%20Models%20over%20netconf%2Frestconf%20NB.

🎯 相关推荐

单肖是哪几肖_什么是单肖
bte365官网

单肖是哪几肖_什么是单肖

📅 07-04 👁️ 5193
新疆过春节的习俗 新疆过年风俗介绍
比分365网页版

新疆过春节的习俗 新疆过年风俗介绍

📅 08-08 👁️ 5670
刘德华甄子丹主演的电影《追龙》讲了什么故事?
比分365网页版

刘德华甄子丹主演的电影《追龙》讲了什么故事?

📅 06-28 👁️ 6627
宇宙最強大音「嗡」字的正確梵音誦唸法實例  關於「梵音」與「于闐音」的異別
如何将三星 Galaxy S6 连接到电脑 ▷➡️
bte365官网

如何将三星 Galaxy S6 连接到电脑 ▷➡️

📅 07-29 👁️ 1913
怎样在电脑上画平面图 电脑自带画图工具平面图绘制技巧