1 OPPO 云网络现状
随着OPPO业务的疾速倒退,OPPO云规模增长迅速。大规模虚构实例的弹性伸缩、低延时需要对网络提出了诸多挑战。原有基于VLAN搭建的公有网络无奈解决这些问题,给网络运维和业务的疾速上线带来了挑战。
梳理存在的次要问题如下:
- 网络不足集中的控制系统,业务开明以手工配置为主,主动开明能力简直没有,为前期保护、降级埋下隐患。
- 虚构网络和物理网络耦合严密,没有做到业务拆散。虚构网络的MAC或者路由会传递到物理设施上,对物理设施的二、三层表项的容量提出了很高的要求。虚构实例大规模扩容后可能会使硬件设施上的路由表项耗尽,导致业务无奈应用。
- 虚构网络不足安全策略,已有的安全策略不能很好的管控虚构网络之间的互访互通,网络访问控制机制不健全。
- 虚构网卡带宽无奈反对高性能业务。网络的虚构网卡只反对veth/tap设施,网络带宽不高,满足不了网络数据密集型业务的需要。
- 虚构网络系统没有实现管制和转发拆散,管制面故障或者降级会影响业务。
2 虚构网络选型
剖析上述问题的根本原因之后,决定抉择目前业界支流的SDN网络技术来解决上述网络隔离和运维自动化能力有余的问题,抉择智能网卡OFFLOAD性能来实现虚构实例的网络减速,选用虚构公有云(VPC)技术来治理不同用户的业务网络、进步零碎的健壮性、安全性。
SDN的数据面采纳开源的OVS来实现,次要起因是OVS曾经在数据中心中大规模利用,其转发性能、稳定性和安全性曾经失去实践证明,其保护老本也绝对升高。
VPC 控制器、VPC 网络接口(CNI)插件、VPC网关、VPC 负载平衡(Load Balance)决定采纳自研的形式实现,尽管社区曾经有相似的计划(Neutron/OpenDaylight),然而这些我的项目都比臃肿,侧重于电信业务场景,保护老本较高,不能间接利用于数据中心互联网业务场景,并且和已有的平台零碎,集成开发工作也比拟多。而自研也有很多长处,比方新性能开发疾速不在依赖社区、定制开发不便、轻量化、性能高、稳定性强。
3 VPC网络计划
整个VPC网络系统架构如下图所示。
VPC控制台提供对立业务入口和便捷的界面操作,业务操作可视化,要害数据存于数据库中,便于保护和应用。
VPC SERVER 是整个零碎的核心,对云平台提供高效,简洁的业务接口。是整个零碎的音讯转发枢纽。
FlowEngine 是位于计算节点的OVS 控制器,它采纳规定推理的形式计算流表,批示OVS如何转发业务报文。FlowEngine与VPC Server一起称作网络的地方中枢。
VPC CNI Agent负责计算节点网卡资源的治理和调配,同时对云平台提供了创立、删除等业务接口。它采纳智能网卡虚拟化(SR-IOV)技术实现虚构实例的网络减速。
VPC网关分为东西向的分布式网关和南北向的集中网关,提供不同子网的通信,解决了集中网关的单点故障问题。南北向的集中网关反对VXLAN隧道,实现虚构网络和物理网络的互通,并且反对横向扩大和DPDK减速技术。
VPC LB实现四层负载平衡,对外提供业务的高可用计划。
3.1 VPC网络类型
以后VPC网络反对租户网络、公共网络和弹性IP网络。租户网络中虚构实例之间能够相互拜访,只能通过VPC 网关拜访内部网络,虚构实例的IP地址不会公布进来,因此不能被内部主机拜访。只有绑定上弹性IP才能够对外间接提供服务,这种网络特地适宜于开发测试环境向生产环境的切换,有利于业务的疾速公布。
租户网络也能够借助LB网关,公布虚构IP(VIP)路由,对外提供业务。
公共网络相似于传统的VLAN网络,它的网段会被VPC网关公布到上联设施上,间接能够和IDC网络互通。不便部署根底虚构云平台的监控服务以及公共服务。
3.2 租户隔离的隧道VXLAN
VPC 网络的类型为VXLAN隧道,每个子网调配惟一的VXLAN隧道ID,同平安组技术一起应用保障不同用户网络的齐全隔离,解决了业务上云的平安危险。
OVS的数据面转发由本地控制器来管制,控制器故障不会影响其余节点的通信和已有隧道业务流的转发。
采纳智能网卡的VXLAN 卸载性能,不会因为VXLAN的性能损耗影响业务转发,同时节俭了主机的CPU资源。
3.3 VPC 隧道封装阐明
3.3.1 VXLAN隧道隔离
VPC网络反对虚拟机和容器位于同一个二层网络,从网络角度看,他们都在同一个VPC子网内。不同节点虚构实例互访,须要借助VXLAN隧道实现。同子网虚构实例通信,报文的VXLAN ID是本子网的ID,异子网虚构实例通信,报文的VXLAN ID是目标子网的ID。
虚构实例拜访VPC内部网络须要借助VPC网关,VPC网关采纳软件实现,通过DPDK和高速网卡减速,运行在X86服务器上即可。以后也反对第三方VPC网关,VPC网关能够通过HTTP API或者BGP-EVPN接口与VPC SERVER 交互VXLAN的路由信息。
3.3.2 VPC 负载平衡
VPC 负载平衡采纳全NAT形式实现,报文封装在VXLAN报文中进行转发。路由和隧道信息由VPC SERVER同步给LB控制器,LB 控制器负责将路由信息更新到对应的网元。
从上图能够分明的看出报文的交互计划,LB网元会放弃业务的会话session,反对轮巡、最小负载优先等调度算法。反对一致性哈希算法,无缝迁徙业务性能。
LB网元采纳DPDK和高速网卡实现,报文转发速率(PPS)能够达到800万以上 ,会话数目能够达到10万以上,时延小于1ms。满足互联网及IOT场景高并发业务要求。
3.4 VPC性能指标
VPC 虚构实例透传VF网卡后,转发性能能够到 25000Gbit/s。PktGen 测试报文转发速率(PPS) 能够达到2400万,带宽能够达到25Gbps。带宽和PPS都能够达到虚构的tap设施的两倍以上,同时升高了网络转发的CPU使用率。
VPC租户隔离的个性很好的解决多个租户内百万虚构实例的疾速互访问题。单实例和LB性能的进步了解决了现网中百万节点数据计算的带宽瓶颈。大大提高了零碎的业务承载能力。VPC网络技术赋能AI和大数据计算平台。
4 收益与瞻望
上线运行后,VPC架构简化了网络架构,进步了网络的安全性、进步了零碎的业务承载能力及运维效率,为用户带去良好的体验并失去客户的统一赞叹。
VPC版本仍在一直迭代中,行将公布的新性能有VPC对立治理容器、虚拟机、逻辑等多种类型的计算实例,数据面的高可用,OVS 流表计算引擎高可用,100G最新智能网卡等。