Network Service Optimization with VPP Platform

VPP is a popular open source network operating system. It has a solid framework to support rich functions such as Ethernet interface management, route management, IPsec, ACL, and VXLAN. When it comes to enterprise-grade services, VPP falls short in IP fragmenting, IKEv2 support and BGP support. This tutorial will discuss these issues and provide the solution for optimization.
展开查看详情

1.Network Service Optimization with VPP Platform 阿里云 镜清

2.目标 听完本次演讲后,你将能够: 1.  了解阿里云使用VPP做产品的出发点 2.  了解阿里云对VPP做了哪些选择和优化

3.目录 1.  概述 1.1 项目背景 1.2 我们的选择和做的工作 2.  IP & IPSec分组片 3.  Linux Self报文支持 4.  进程间通信 5.  IKE问题及解决方案 6.  4G支持

4.概述 – 项目背景 项目背景 l 实现一款商业的VPN网关 – 智能接入网关 l  简单方便打通线下办公室和线上阿里云 l  加电就上阿里云 需要具备的基本功能 l 支持IKE l 支持route-based IPSec VPN l 支持IP转发和VRF l 有比较高的吞吐能力和比较好的扩展性

5.概述 – 我们选择和做的工作 我们的基线版本:18.01 l IP & IPSec分组片支持 l Linux self报文支持 l 进程间通信机制 l 专业IKE协商软件和VPP的集成 l 4G支持

6.目录 1.  概述 2.  IP & IPSec分组片 2.1 IP分组片支持 2.2 IPSec分组片支持 3.  Linux Self报文支持 4.  进程间通信 5.  IKE问题及解决方案 6.  4G支持

7.IP & IPSec分组片 – IP ip4-local ip4-icmp-error ip4-punt ip4-drop ip4-lookup IP分片 ip4-rewrite ip4-frag l  VPP 18.01有分片功能,但是只有ip4-map会调到 l  我们在ip4-rewrite node后增加了ip4-frag IP组片 l  18.01没有通用的组片feature,但是有一个待合并的gerrit l  https://gerrit.fd.io/r/#/c/9532/ ip4-input ip4-input l 18.04已经合并进来 ip4-reassembly ip4-local ip4-drop

8.IP & IPSec分组片 – IPSec IPSec分片 l  先分片后加密?先加密后分片? IPSec组片 l  分片报文必须组片后解密,通过IP组片解决 l  多个buffer支持

9.目录 1.  概述 2.  IP & IPSec分组片 3. Linux Self报文支持 3.1 为什么需要支持self报文 3.2 发送和接收self报文 4.  进程间通信 5.  IKE问题及解决方案 6.  4G支持

10.Linux self报文支持 App Linux APPs 为什么需要支持self报文 Linux Kernel tap l  IKE l  动态路由协议 tcp/udp_local tap_inject_tx tap_inject_rx …... VPP l  DHCP Server ip_input ethernet_input l  SSH/Telnet eth0 接收发送self报文 l  router plugin(tap-inject)? l  https://gerrit.fd.io/r/vppsb.git

11.目录 1.  概述 2.  IP & IPSec分组片 3.  Linux Self报文支持 4.  进程间通信 4.1 原因 4.2 如何实现 5.  IKE问题及解决方案 6.  4G支持

12.进程间通信 原因 l  VPP和其他应用比如IKED、agent之间需要信息同步 l  IKED和Agent之间也需要信息同步 解决方案 l  unix socket/netlink l  TIPC/nanomsg

13.目录 1.  概述 2.  IP & IPSec分组片 3.  Linux Self报文支持 4.  进程间通信 5.  IKE问题及解决方案 5.1 VPP IKE问题 5.2 我们的解决方案 6.  4G支持

14.VPP IKE问题 agent IKED IKED VPP IKE的问题 nanomsg l  只支持IKEv2 rekey IPSec SA l  只支持IKEv2的responder VPP IPSec l VPP也不适合集成复杂的IKE协商过程 解决方案 l  用专门的IKE软件做协商 – strongswan、freeswan or others l  协商后通过API把密钥注入到VPP中 l  ipsec接口index在VPP、IKED和agent之间同步

15.目录 1.  概述 2.  IP & IPSec分组片 3.  Linux Self报文支持 4.  进程间通信 5.  IKE问题及解决方案 6.  4G支持 6.1 解决方案

16.4G支持 解决方案 l  AF_PACKET p VPP已经支持 p 性能一般 l  支持DPDK的驱动 p 改动难度大 p 性能比较高

17. VPP jingqing.cjy@alibaba-inc.com

18.