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進行操作:


以上的編程能力是針對內部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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM