博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cisco VPP(1) 简单介绍
阅读量:7218 次
发布时间:2019-06-29

本文共 1398 字,大约阅读时间需要 4 分钟。

一、简单介绍

VPP全称Vector Packet Processing。是Cisco2002年开发的商用代码。

2016年2月11号,Linux基金会创建FD.io项目。Cisco将VPP代码的开源版本号加入该项目。眼下已成为该项目的核心。

VPP执行于用户空间,支持多种收包方式,经常使用的是DPDK。

VPP主要有两个主要功能:框架可扩展;成熟的交换/路由功能。

二、扩展性

1、结点操作

VPP平台是通过graphnode串联起来处理数据包。相似于freebsd的netgraph。

通过插件的形式引入新的graph node或者又一次排列数据包的gpragh node。将插件加入到插件文件夹中,执行程序的时候就会自己主动载入插件。

另外插件也能够依据硬件情况通过某个node直接连接硬件进行加速。

VPP平台能够用于构建不论什么类型的数据包处理应用。比方负载均衡、防火墙、IDS、主机栈。也能够是一个组合,比方给负载均衡加入一个vSwitch。

通过创建插件。能够随意扩展例如以下功能:

•      自己定义新的图结点

•      又一次排列图结点

•      加入底层API

加入插件例如以下图所看到的:

2、可编程能力

VPP还提供了基于共享内存或者消息队列的高性能内部API。眼下VPP平台支持C和JAVAclient进行内部API绑定。

例如以下图所以,我们完毕一个外部应用对VPP进行操作:

以上的编程能力是针对内部API的调用,另外还能够支持远程可编程能力。

远程可编程能力能够通过Data Plane Management Agent来实现。

通过外部API与Data Plane Management Agent进行通信。

Data Plane Management Agent通过内部API与VPP应用(引擎)进行通信。

这是一个很灵活的方法,不论什么人能够加入,可是须要外部API和Data Plane Management Agent匹配。以实现特定需求的VPP应用。

下图展示Agent对接VPP和外部程序:

案例Honeycomb Agent:

HoneycombAgent通过netconf和restconf公布了yang模型的VPP功能。 像OpenDaylight 这样支持netconf/yang的控制器能够挂载Honeycomb 管理代理来工作。而OpenDaylight支持OpenStack Neutron。所以例如以下图所看到的OpenStack Neutron能够集成到vpp来:

三、网络功能

1、网络特性

VPP拥有的网络特性例如以下:

•      高速查找路由表、CAM表

•      随意n元组分类

•      商用级别的交换/路由功能

 

VPP能提供的全部功能例如以下:

2、网络性能

多核基准性能样例 (UCS-C240 M3, 3.5gHz,全部内存通道转发ipv4):

•      1 core: 9 MPPS in+out

•      2 cores: 13.4 MPPS in+out

•      4 cores: 20.0 MPPS in+out

 

以下几个图展示的是和OVS+DPDK的性能对照:

下图是在Haswell x86 架构的E5-2698v3 2x16C 2.3GHz上測试,图中显示了12口10GE,16核。ipv4转发:

资料来源于:

欢迎加入VPP讨论群:417538415

你可能感兴趣的文章
正则表达式
查看>>
delete archivelog all 无法彻底删除归档日志?
查看>>
Redis五大数据类型
查看>>
大型分布式网站架构技术总结
查看>>
矩阵求导与投影梯度相关问题
查看>>
SVN
查看>>
C语言编程写的一个http下载程序(王德仙)2012-04-08
查看>>
CCF201409-3 字符串匹配(100分)
查看>>
UVALive2203 UVa10042 Smith Numbers【质因数分解+素数判定+数位之和】
查看>>
Project Euler Problem 9: Special Pythagorean triplet
查看>>
HDU5701 中位数计数【中位数】
查看>>
Python 深浅拷贝 (Shallow copy and Deep copy in Python)
查看>>
Axure
查看>>
屏幕截取工具
查看>>
C语言第七次作业---要死了----
查看>>
Jquery事件绑定冲突
查看>>
偶现bug如何处理?
查看>>
yum命令简介
查看>>
【Udacity】朴素贝叶斯
查看>>
看漫画,学 Redux
查看>>