由腾讯公司主导,多家公司(中国信通院、中国移动、阿里、百度、烽火通信、思科、Intel)协作的项目《边缘超融合网关技术白皮书》荣获2023年度ODCC(开放数据中心委员会)十周年杰出项目奖。此外,腾讯公司申报的《边缘互联融合网关》项目凭借其Tbps的网关转发能力,80%的融合网关交付时间降低,100%的加解密性能提升,33%的加解密包头开销降低等特性,荣获中国信通院颁发的未来网络领先创新科技成果奖。经过3年的技术积累,目前边缘超融合网关HyperSGW已经在腾讯分布式云场景部署应用。
1.腾讯分布式云背景及其面临的挑战
腾讯分布式云是腾讯云为多云/混合云场景提供系列产品能力的总称,如部署在用户机房的现场级边缘产品CDC,提供更低延迟且与中心云体验一致的边缘云产品TEZ等。这些产品成功地在多种垂直场景中落地,为客户提供了更低延迟、更广覆盖、更少成本的服务,如云游戏、电商直播等。正是这种对于时延、成本和效率的不断追求,推动了云计算技术的发展,从而实现了从传统中心化云的部署模式向更加边缘、分布式的部署模式转变。
这种转变不仅使用户访问云服务的网络延迟降低了40%,还节省了30%的带宽成本。然而,随着业务需求的不断增长,边缘云计算站点所拥有的有限资源与这些需求之间的矛盾也日益尖锐。这就要求我们在维持服务质量的同时,也要不断创新和优化资源管理策略,以满足日益增长的业务需求。
以云游戏场景为例,根据智研瞻产业研究院发布的《2024-2028年中国云游戏产业发展预测及投资分析报告》[1]显示,2022年中国云游戏的月活跃用户数已经达到8410万,同比增长了35.21%。预计到2025年,这一数字将增长至约1.8亿。随着用户规模的扩大,边缘云计算机房面临的网络架构技术的挑战也越来越大。
1)原有继承中心云的多网关集群方案成本较高,且在支持多网元能力方面面临挑战。对于规模较小的边缘云计算机房,通常只能容纳数百台服务器。如果直接采用中心云的设计,将需要15%至30%的机架空间用于部署机房加密互通、虚实互通、NAT等网关服务器,这不仅降低了单个机房服务用户的规模,也显著增加了边缘云节点的成本。
2)海量用户将产生大量会话和高吞吐量的转发需求,对边缘站点的有限资源是一个巨大的挑战。一个拥有数百台服务器的边缘站点可能需要处理上千万用户会话和数百Gbps的流量转发。传统的服务器集群方案虽然内存充足,能够支持大规模用户并发,但其转发性能较低,需要更多的服务器资源。而基于高转发性能的可编程交换机虽然转发效率高,但片上内存有限,通常只能支持几十万用户会话,难以满足实际业务需求。
3)不同业务流的优先级和带宽峰值需求各不相同,在资源有限的可编程交换机上为业务提供差异化、轻量级的流量转发保障服务,也是一大挑战。传统基于五元组流量统计的方法可以准确识别有高转发带宽需求的业务流量,提供高优先级转发保障。但此方案需要占用大量内存,开销较大,对内存有限的可编程交换机而言,并不适用。
2. 边缘计算网络架构演进与关键技术
1) 并行不悖,超融合集群支撑多种网元
与中心云机房相比,边缘云计算站点通常拥有较少的服务器数量(例如,边缘云计算站点可能只有数百个服务器机位,而中心云机房可能有数千甚至数万个)。尽管规模较小,边缘云计算站点仍需具备完整的网络功能,包括云边互通、NAT、加解密通信、虚实互通等。此外,边缘云计算站点的数量通常较多,分布广泛。这些特点要求边缘云计算站点的设计必须注重成本效益和系统的轻量化。
图1 中心云与边缘云计算机房网络架构对比
为满足上述需求,腾讯边缘云计算机房从如下几个维度进行了设计优化: a) 精简基础网络交换机组网架构,多网关集群演进成融合网关集群
- 相比于中心侧采用内外网分离部署的核心与接入交换机架构,边缘云计算机房将内外网的核心与接入交换机合一部署(图1),采用三层协议隔离,大幅减少了边缘机房所需的交换机数量,能够降低约45%的设备成本。
- 相比于直接复用中心云多网关集群的方案,新的边缘云计算架构采用了高转发性能的可编程交换机,融合了多种网元功能,形成了更为经济的单网关集群方案,有效降低了网关专区的成本。
- 此外,边缘计算机房同时支持云游边缘计算业务与CDN业务,提高了机房利用率,盘活了闲时带宽。
b) 超融合网关集群融合多种网元功能,并行不悖
图2 基于容器的隔离与业务特征的分流
为了在单个网关集群中同时支持多种网元,一个关键任务是对不同网元的流量进行分离。超融合网关集群HyperSGW采用了容器隔离和基于业务流量特征的分离方案。如图2所示,在HyperSGW的硬件架构中,主要包括两个核心部分:x86 CPU和可编程的高性能数据包转发ASIC芯片。
- 基于容器进行功能隔离:HyperSGW将网元的公共组件(例如,路由协议的FCR-Docker)和业务组件(例如,负责VPN加解密的VPN-Docker、负责NAT慢路径转发和会话管理的NAT-Docker)分别运行在不同的Docker容器中,以实现隔离。上述容器部署在交换机的x86 CPU上。
- 基于流特征进行差异化处理:业务流量的分流主要依据数据包头部的字段信息(例如,IP协议字段值89代表OSPF协议,TCP端口字段值179代表BGP协议)以及划分的网段信息(不同的VPN和NAT网络段)。根据这些特征信息,不同的业务流量会被导向相应的Docker容器进行配置更新、连接跟踪、邻居建立等操作(如OSPF和BGP协议),或者被导向流水线的不同表项进行转发表匹配,完成目标数据包头的封装(如VPN加解密,NAT转换等)。上述方案部署在交换机ASIC芯片上。
2) 软硬协同,支持千万级会话并发
业务用户规模的增长,对边缘云计算网关提出了更高的性能需求。如何在转发性能强,但会话支撑规模有限的可编程交换机上实现大规模的用户并发,是一个挑战。我们从会话表项压缩与软硬件协同接力的维度,实现了1000万+的会话规模。
a) 基于字段压缩的表项扩容技术,提升硬件利用率
图3(左):基础方案中NAT 表项的设计(支持60w双向表) 图3(右):优化后的NAT表项设计(支持128.65w双向表)
表项扩容的主要思想是将5元组业务流中取值区间小的字段移到单独表项中,原来的会话表项5元组可被压缩成占用空间更小的字段,增加会话表容量。比如,在给定30个空闲stage的条件下,我们的压缩方案将表项规格从60万双向表提升到128.65万双向表,增加了114.4%的表项规格(如图3右侧所示)。
结合云游戏场景,我们发现,边缘云机房内网主要访问数量有限的中心云游戏服务,且需要出公网的边缘云服务数量也有限。因此,我们的压缩策略是提取目的公网IP+端口和源IP等,建立单独表项,用更短字段替换原NAT session的字段,实现压缩。
示例如图3(左)所示,交换机ASIC芯片上的session table设计了NAT_in2out和NAT_out2in两种会话表,共占用15个stage,提供60万双向表项容量。优化后的表项如图3(右)所示,新增了dst_rule_table、src_rule_table和map_table,用于卸载session table中取值区间小的IP和端口字段到单独表项中。这样session table的字段长度从19B减少到8B,降低了58%。可用stage越多,压缩效果越好。
b) 软硬件协同接力,应对大规模用户并发
图4 软硬件协同接力架构图
尽管会话表项压缩技术能够实现硬件表项规格的显著提升,但对于1000w级别以上的状态会话转发需求,这仍然不够。因此,HyperSGW采用了一种软硬件协同的大规模会话转发技术。如图4所示,该技术的核心是优先在交换机ASIC的片上内存中存储会话;当片上内存不足时,将额外的会话卸载到x86 CPU的内存中,从而支持超过1000万的状态会话并发。
但是,由于x86 CPU和交换机ASIC之间通信带宽有限,从硬表到软表的转发性能会有所下降。因此,要同时实现高吞吐且高并发的特性,需要进一步设计灵活的流量调度策略,以确保系统的高效运行。
3) 有序统筹,轻量级大象流卸载
HyperSGW的软硬件协同方案能够支撑超过1000万的状态会话规模。然而,面对软表和硬表流量在转发性能上的差异,如何合理地选择业务流通过硬表进行转发,以便在维持大规模并发的同时,还能确保高性能的转发,这成为了一个挑战。为了解决这一问题,HyperSGW内部设计了两种关键机制。
图5 基于Top-k的大象流识别与卸载
a) 轻量级的大象流识别技术
为了确保高性能转发需求的流量得到有效识别,并被转发至硬表路径,我们采用了一种轻量级的大象流识别技术。
如图5所示,该技术的核心在于对所有进入的数据流进行快速路径处理,使用它们的hash结果作为索引键来统计出现频率。慢路径则定期拉取快路径统计的数据并进行排序,每个索引Key值后通常会关联多条流,而大象流则总是位于前top-k的流组合中。这种模糊识别的方法可以轻松地实现大象流的识别和卸载,即使有少量非大象流的会话被卸载,也不会影响转发性能。
与传统的基于五元组统计的大象流识别方法相比,我们的方案更节省内存,非常适合在资源有限的可编程交换机ASIC上实施。
b) 定制化的流量卸载接口
除了自动化的大象流识别机制,HyperSGW还提供了定制化的流量卸载接口,这样可以有针对性地确保业务流量的高优先级处理。实验室环境测试的结果表明,定制化卸载接口可以给业务提供高优先级流量的优先硬表卸载,且支持换表调度,转发质量可预期,活跃会话的卸载率提升明显。
►►►
总结和展望
随着用户规模的快速增长,腾讯分布式云面临着网络架构和技术方面的巨大挑战。传统的中心云多网关集群方案在分布式云环境下成本较高,难以满足业务需求。超融合网关技术HyperSGW通过软硬件协同的创新设计,有效地解决了这些挑战。
首先,HyperSGW采用了精简的基础网络交换机组网架构,将多网关集群演进为单网关集群,大幅降低了边缘机房的设备成本。其次,通过容器隔离和基于业务流特征的分离方案,HyperSGW实现了多种网元功能的融合,提高了资源利用效率。此外,HyperSGW还采用了会话表项压缩和软硬件协同接力的技术,支持了1000万以上的会话并发规模。最后,HyperSGW设计了轻量级的大象流识别与卸载机制,确保了高优先级业务流量的转发性能。
HyperSGW的创新设计也为未来分布式云的发展提供了新的思路。随着5G、物联网等新兴技术的不断发展,分布式云将承载更多的业务需求,对网络性能和资源利用效率提出了更高的要求。HyperSGW的软硬件协同设计理念,为应对这些挑战提供了有效的参考。未来,还可以在此基础上进一步探索新的优化方向,如边缘AI推理、智能化的流量调度、动态资源配置等,以更好地适应多变的业务需求。
4.参考
[1] 2024-2028年中国云游戏产业发展预测及投资分析报告,锐观咨询:https://www.163.com/dy/article/IRI0O6QU0553BKOF.html
欢迎关注公众账号“鹅厂网事”,我们给你提供最新的行业动态信息、腾讯网络最接地气的干货分享。
注1:凡注明来自“鹅厂网事”的文字和图片等作品,版权均属于“深圳市腾讯计算机系统有限公司”所有,未经官方授权,不得使用,如有违反,一经查实,将保留追究权利;