在基于现有 OVS-DPDK 开源软件基础上,滴滴云技术团队通过创新性的改进,实现了 ms 级别的热升级,同时保持现有的高性能转发能力。
背景
滴滴云初期采⽤学习 OpenStack 的思路,采用内核态的 OVS 实现了 SDN OverLay 网络。这个实践过程中,我们也遇到了一些问题,可以归纳为以下几个⽅面:
- 性能不高
- ⽆法热升级
- 开发难度⼤
- 维护成本高
原型设计
针对这些问题,经过技术调研,也参考了国内外同⾏的已有解决方案,在过程中和 Intel 团队紧密合作,我们采用 OVS-DPDK 进⾏开发部署,并最终取得了不错的效果。如下是数据流模型:
数据层面的⼏个重要改造
1. 底层:⽹卡硬件相关
基于 VF 的数据流改造
借助硬件将 OverLay 的流量与宿主机的其他⽹络流量进⾏分离。通过 flow classification 命令将前者导⼊到 VF 上,而后者仍然是通过 PF 口到内核进行处理,保持原有处理逻辑不变。OVS- DPDK 只接管 VF ⽹口,⽽不触碰 PF 口上的非 SD