基于DPDK实现VPC和IDC间互联互通的高性能网关

目录

1 背景

2 CLOUD-DPVS网关整体架构

2.1 CLOUD-DPVS网关整体架构选型

3 CLOUD-DPVS网关方案概述

3.1 高可用方案的改进

 3.1.1 支持BFD探测

3.2 负载均衡转发层适配

3.2.1 FULLNAT模式

3.2.2 引入VPC的概念

​ 3.2.3 cloud-dpvs转发原理

3.2.3 增加VXLAN模块

4 CLOUD-DPVS后续工作

5 参考文章


1 背景

随着云计算和网络技术的不断发展,越来越多的业务有着上云的需求。上云后,业务能够使用云上已有的服务提升开发效率,也可以利用云平台的弹性伸缩特性,及时应对业务的负载变化。实际生产环境中,用户的服务一部分部署在云平台上,另一部分部署在自己的IDC机房。用户有从VPC访问IDC中服务的需求,且IDC内的服务需要支持负载均衡。为了实现IDC的平滑上云,必须打通VPC网络到IDC机房经典网络间的互联互通,其中最核心的设备是VXLAN网关,用来完成VXLAN网络和VLAN网络间的映射。虽然可以通过交换机完成VXLAN到VLAN的转换,但是业务的负载均衡需求无法满足。因此,360虚拟化团队根据业务需求,决定自研CLOUD-DPVS设备支持负载均衡、VXLAN隧道、BFD探活等功能,来实现VPC网络到IDC网络的互联互通。

2 CLOUD-DPVS网关整体架构

 

CLOUD-DPVS工作在VXLAN网络和VLAN网络的中间层,来自VPC网络的用户请求被引流到CLOUD-DPVS网关,进行VXLAN解封装和SNAT/DNAT处理后,请求被发送至IDC内服务所在的机器上。回包同样会经过CLOUD-DPVS进行SNAT/DNAT后,进行VXLAN封装发送至VPC。

2.1 CLOUD-DPVS网关整体架构选型

 为了满足高性能,多主部署和负载均衡等需求,360虚拟化团队在经过调研后决定在DPVS的基础上进行开发。

DPVS是一个基于DPDK软件库加速LVS的高性能负载均衡器,通过使用网卡用户态驱动、零拷贝、大页内存和队列绑定等技术解决了LVS的性能瓶颈,同时保留LVS的负载均衡逻辑。基于DPVS,我们只需要在现有逻辑的基础上增加VPC属性,支持VXLAN封装解封装等功能,就可以为每个VPC业务提供虚拟IP来访问IDC内的服务。选型完成后随即启动了cloud-dpvs的项目,其核心架构如下:

 

 

3 CLOUD-DPVS网关方案概述

3.1 高可用方案的改进

传统的高可用方案大都采用 BGP+ECMP 的模式构建集群,用 ECMP 将数据包散列到集群中各个节点上,通过 BGP 协议保证单台机器故障后将这台机器的路由动态剔除出去,由此做到了动态 failover,组网结构如下图所示:

 

服务器通过 BGP 将 VIP 发布到网络中,交换机学习到 VIP,形成 BGP 等价多路径路由(ecmp),然后根据哈希因子计算得到 hash lb key,进行 ECMP 下一跳链路数(Member-count)求余计算,再与 ECMP 基值进行加法运算得出转发下一跳 index,即确定了下一跳转发路由到达服务器。

这种方式要求服务器必须部署在三层网络中,需要与交换机建立BGP连接。另外服务器集群出现问题后,其恢复时间受限于BGP协议的收敛时间,这个时间值一般是秒级,根据以往在现网环境中的经验,集群的收敛时间一般在6~9秒左右。

为了提高收敛时间和减少对环境的依赖,360虚拟化团队对上面提到的两点进行了改进,引入BFD协议将收敛时间减少到毫秒级别,并在VPC网络中增加调度器使其不再依赖底层网络就可以把流量hash到各台服务器上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值