Cisco VPP简介

一、简介

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

时间: 2024-08-29 20:28:21

Cisco VPP简介的相关文章

Cisco VPP(1) 简单介绍

一.简单介绍 VPP全称Vector Packet Processing.是Cisco2002年开发的商用代码. 2016年2月11号,Linux基金会创建FD.io项目.Cisco将VPP代码的开源版本号加入该项目.眼下已成为该项目的核心. VPP执行于用户空间,支持多种收包方式,经常使用的是DPDK. VPP主要有两个主要功能:框架可扩展:成熟的交换/路由功能. 二.扩展性 1.结点操作 VPP平台是通过graphnode串联起来处理数据包.相似于freebsd的netgraph. 通过插件

Cisco DNA简介

思科应用策略基础设施控制器企业模块(APIC-EM)是一款软件定义网络(SDN)控制器,用于协调和管理由思科基础设施组成的局域网(LAN)和广域网(WAN).APIC-EM托管大量嵌入式服务,包括(但不限于)网络PnP.路径跟踪.PKI证书基础设施和网络资产.可以从GUI或RESTful API查看所有这些应用. APIC-EM支持虚拟化平台和基于设备的部署,允许用户定义自动化和抽象的策略,简化了复杂的网络配置,支持现有设备和新的网络设备. 应用程序总览:Plug-and-Play APP(自动

Linux网络设备驱动结构概述

网络设备驱动相比字符型设备的驱动要复杂一些,除了总体上驱动的框架有一些相似外,有很多地方都是不同,但网络设备驱动有一个很大的特点就是有固定的框架可以遵循,具体的框架会在后边详细的叙述.1.网络协议接口层在网络协议接口层,只提供了两个抽象函数dev_queue_xmit()与 netif_rx(),之所以称之为抽象函数,是因为这两个函数抽象了很多底层的操作,不管是那个芯片它在网络协议结构的操作函数都是这两个函数,采用这样的抽象后,给上层带来了很多的方便,给上层协议提供统一的数据包收发接口,无论上层

Cisco Discovery Protocol (CDP)命令简介

Cisco Discovery Protocol (CDP)从名字我们就可以看出这是Cisco专有的了,建议大家学习CCNA的时候尽量熟悉全拼 不要简单的记下缩写! CDP可以收集相邻的设备的硬件和协议信息 CDP有两个全局参数 ,可以进行设置CDP timer(CDP定时器) 和 CDP holdtime(保持时间) CDP定时器是多长时间将CDP数据包传输到所有接口的时间量. CDP保持时间是设备保留从相邻设备接收到的数据包的时间量. 下面介绍下CDP的几个命令和区别 show cdp ne

Cisco SD-WAN (Viptela) 架构和组件(简介)

内容一点点往里填.哈哈 原文地址:https://blog.51cto.com/linjet/2410731

路由器NAT功能配置简介

CISCO NAT 配置(值得一看)                   路由器NAT功能配置简介 随着internet的网络迅速发展,IP地址短缺已成为一个十分突出的问题.为了解决这个问题,出现了多种解决方案.下面几绍一种在目前网络环境中比较有效的方法即地址转换(NAT)功能. 一.NAT简介 NAT(Network Address Translation)的功能,就是指在一个网络内部,根据需要可以随意自定义的IP地址,而不需要经过申请.在网络内部,各计算机间通过内部的IP地址进行通讯.而当内

Dsniff简介

原文发表于:2010-09-25 转载至cu于:2012-07-21 前两天因为看局域网安全的视频中介绍dsniff,也想自己安装下来看看效果.简单的使用没什么难的(高级使用就需要研究文档了),但是安装过程倒是折腾了好久,所以想记录下来,以备不时只需. 一. Dsniff简介 Dsniff是一个基于unix系统网络嗅探工具,开发者Dub Song于2000年12月发布v2.3版本,目前最新版本是2001年3月发布的v2.4b1的beta版. 下载地址:http://www.monkey.org/

云计算平台简介(App Engine)

云计算平台简介(App Engine) 1   简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1  什么是云 云计算通常简称为“云”,是一种通过 Internet 按需交付计算资源(从应用到数据中心都属于计算资源)和按使用付费的基础架构. 富有弹性的资源:能快速轻松地扩大或缩小规模,以满足您的需求 按使用付费:计量服务的使用情况,只需为所用的服务付费 自助服务:使用自助服务可访问您需要的所有 IT 资源 1.2  云计算部署模型 1.2.1 公共云 公共云由一

思科(Cisco)IOS基本操作命令(一)

一.简介     Cisco的网m际操作系统(IOS:Internetwork Operating Syste),IOS配置通常是通过基于文本的命令行接口(Command Line Interface,CLI)进行的. 二.路由其基本操作     1.基本操作模式 1)用户模式 Router>           #通常可以查看统计信息 Router>logout     #退出用户模式 2)特权模式 Router>enable Router#            #进入特权模式,特权