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

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

CLOUD-DPVS网关整体架构

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

图1

             

CLOUD-DPVS网关整体架构选型

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

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

图2

CLOUD-DPVS网关方案概述

1.高可用方案的改进

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

图3

服务器通过 BGP 将 VIP 发布到网络中,交换机学习到 VIP,形成 BGP 等价多路径路由(ecmp),然后根据哈希因子计算得到 hash l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值