一、简介

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和JAVA客户端进行内部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转发:

资料来源于:https://fd.io/

欢迎加入VPP讨论群:417538415

Cisco VPP(1) 简介相关推荐

  1. Cisco Packet Tracer 简介和安装

    Cisco Packet Tracer 简介和安装 Packet Tracer 是一款强大的网络模拟平台,可激励学生尝试网络行为并提出假设分析.它让学生可以创建包含几乎无限量设备的虚拟网络,以补充课堂 ...

  2. Cisco VPP:cop简介

    Github-blog CSDN 注意:本文使用的代码是2018.05.07提交的master分支上的code,其具体commitID是c22fcba177bad2c755fdb6d4d52f2a79 ...

  3. Cisco思科公司简介

    [size=18]简介:[/size] Cisco Systems, Inc. 思科系统公司是全球领先的互联网设备供应商.它的网络设备和应用方案将世界各地的人.计算设备以及网络联结起来,使人们能够随时 ...

  4. CISCO认证体系简介

    网络模型 一,网络简介 1,网络的定义 2,网络拓扑图图标简介 3,网络模型简介 A) 网络模型的作用 把网络的任务分层,便于学习诗集协议规范,降低复杂性, B) 分类: 网络设计模型(此模型为CIS ...

  5. 《Cisco VPP SFC》2、NSH_SFC 安装

    原文地址:https://blog.csdn.net/u010827484/article/details/81031539 SFC概念 SFC是Service Function Chain的缩写,直 ...

  6. 《Cisco VPP SFC 》1、 VPP 安装

    原文地址:https://blog.csdn.net/u010827484/article/details/81029919 基础环境 Linux ubuntu 4.13.0-36-generic # ...

  7. Cisco VPP(7) 插件开发

    还在初学阶段,如果有误,希望多批评指正. 在VPP中,插件可以在程序启动的时候加载,一般我们会往里面加入node,实现一些功能. 首先介绍怎么直接重定义硬件接口RX到我们的node vnet_hw_i ...

  8. VPP Agent 简介

    文章目录 VPP Agent Overview VPP Agent 架构 体系架构图 VPP Agent 功能 VPP Agent Features VPP 配置和管理 重新同步 插件概念 说明 CN ...

  9. whois命令_WHOIS使用Whois搜索

    whois命令 I used to do all of my WHOIS searches at a really popular website that I wont name here. I h ...

最新文章

  1. 1618D. Array and Operations
  2. 作者:滕飞(1984-),女,博士,西南交通大学信息科学与技术学院讲师,CCF和ACM会员。...
  3. 可是听了半天C++五子棋
  4. 三天打鱼两天晒网 (15 分)
  5. C++ queue
  6. Android 面试常问七道题
  7. 语文学科html代码,语文教育专业介绍 [代码660201]
  8. 《不能承受的生命之轻》
  9. uml的九种图例分析
  10. python制作网页难吗_怎么做网页制作(用python做网页与html)
  11. 【博弈论】Nim游戏
  12. 记录一下手把手教您做电商网站
  13. 第十二期 U-Boot工作原理 《路由器就是开发板》
  14. steam 创客教育
  15. 国内三大云平台,IoT物联网实例选购指南
  16. 使用python获取微医数据
  17. 扎好篱笆桩:三大运营商守住网络安全“命门”
  18. ejwt积分_菜鸡速通微积分:从十进制展开到数列、级数、幂级数、函数项级数...
  19. java 前后台json的传递
  20. Vue textarea 和input 开发ios点击空白地方键盘不收起问题

热门文章

  1. 网络字节序和主机字节序
  2. Ubuntu boot menu
  3. ubuntu网络无法连接
  4. 如何成为一位数据科学家
  5. unity Quality Settings 质量设置
  6. 热修复——深入浅出原理与实现
  7. Unirech阿里云国际版云服务器ecs的应用场景有哪些?
  8. ==和===的区别、NAN
  9. 一年卖出1500万支的钟薛高,正在通过企业微信和顾客“社交”
  10. 一个智能客服系统的设计思路