Cisco VPP(1) 简单介绍
一、简单介绍 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进行操作: