导读:5G的商用以及IoT、AI等技术的成熟推动着云技术的发展。无时不刻产生的数据洪流,对云的网络架构和处理数据的能力提出了新的需求,为了满足这些需求,下一代虚拟网络技术路在何方?在探讨这个问题之前,我们以腾讯云数据中心网络为例,介绍一下它的技术发展脉络。
一、腾讯云数据中心网络的技术发展脉络
1. 从千兆到万兆:2014年,腾讯公有云服务器接入带宽从千兆迈入了万兆。
2. 从万兆到25G:2017年,腾讯公有云服务器接入带宽从万兆向25G转变,这种转变主要来自于业务对网络吞吐的性能诉求。
3. 从25G到50-100G:未来的1~2年,公有云服务器接入带宽将全面向100G转变。高密计算(单台虚拟化服务器的CPU核数越来越多)、高密存储(单台存储服务器的盘数和磁盘容量越来越高)、AI、HPC的发展,对网络的高吞吐和低延迟提出了更高要求。
不同的服务器接入带宽,对虚拟化网络的架构和扩展性会提出不一样的要求。在100G的网络时代,虚拟化网络架构会是怎样的?
二、腾讯云100G时代下的VPC架构剖析
1.宿主机vSwitch能力
云网络发展早期, 网络虚拟化的vSwitch通常使用内核模块来实现, 基于netfilter的钩子定制encap/decap/安全组/qos等逻辑,快速满足业务要求。但是基于内核实现的vSwitch有几个问题:
(1)vSwitch逻辑受制于内核的框架, Linux内核并非为网络转发所设计,存在大量的锁和队列, 网络性能和时延表现都比较差。
(2)为了满足性能,vSwtich逻辑与虚拟机混跑CPU,在Linux调度层面,vSwtich逻辑的运行优先级更高,这干扰了虚拟机的CPU性能稳定性。
随着DPDK技术的成熟, vSwitch逻辑逐步转向用DPDK实现:
(1)利用kernel的UIO机制, 数据包跳过kernel的处理逻辑,