腾讯高性能分布式路由技术,亮相亚太网络研讨会APNet

亚太网络研讨会(APNet)汇聚亚太地区计算机网络和系统领域最优秀的研究人员,分享各自最新的研究成果,讨论当前最前沿的热点研究问题。2020年8月3-4号,为期两天的第四届亚太网络研讨会(APNet’20)在线上举行,包括腾讯、阿里、微软、英伟达、思科、字节跳动等分别分享了各自在网络领域的最新成果,其中腾讯TEG网络平台部架构师吕建超做了主题为Scalable and Flexible Routing Service for Tencent Cloud Access Network的演讲。

https://conferences.sigcomm.org/events/apnet2020/index.html

随着云计算、5G、AI等的普及应用,越来越多客户将自己的服务部署在腾讯云上,腾讯云的规模在近几年迎来了爆发式的增长。高速增长的客户连接请求和海量的终端用户访问,对腾讯云的接入网络提出了新的挑战。

2020年08月03号,在亚太网络研讨会APNet上,腾讯详细介绍了腾讯软件定义路由器(SoftwareDefined Router)的架构,设计理念,以及SDR在不同的接入场景中如何通过软件定义的方式解决云网络规模下的灵活性,扩展性和高可用性。

腾讯的接入网络主要有三种场景

1.专线接入,通过在接入点部署专线网关,将大型企业客户自有数据中心就近接入腾讯网络,为客户提供高带宽、低时延和高安全性。

2. VPN接入,企业分支通过Internet接入腾讯云,以低成本的方式访问云上资源。

3. 终端用户接入,腾讯通过在全球的区域核心和POP点部署TIX(Tencent Internet Exchange)基础设施,为全球终端用户访问腾讯云上资源提供高效通道。

早期,在腾讯云规模还比较小的阶段,腾讯的接入网络主要通过部署传统商业路由器或交换机实现和外部网络的互联互通。

随着腾讯云近几年的高速发展,新的挑战不断出现,包括:

1.    千万级别路由表项,10T级别转发性能,不同维度能力能够按需横向扩展

2.    网络特性需快速迭代,满足不同接入场景的互通和调度需求

3.    网络Capex和Opex需持续优化

由于传统的商业网络设备并不是面向云网络而设计,面对云网络规模下新的挑战,逐渐无力支撑。主要表现在:

1.    软硬件厂商绑定,高度耦合,特性迭代周期长

2.    性能、规格无法灵活按需扩展

3.    高成本  

显然,面对云网络规模,我们需要全新的系统架构。为此,网络平台部基于高可扩展、超灵活、高可靠、高可运维的设计原则,重新设计了面向云网络规模的网络服务架构。

新的架构,我们称之为软件定义路由器(Software Defined Router),核心理念是将复杂的网络功能和特性从网络硬件上剥离后转移到通用x86服务器上,面向云网络需求,通过软件编程的方式定义云网络路由器。

新的架构体系下,网络功能整体上被划分为overlay网络和underlay网络。

Overlay网络又进一步划分为四大功能组件,Data Plane、Routing Plane、Control Plane和Orchestrator。不同功能组件部署在不同的服务器集群,各组件可根据自身特性和需求独立进行设计,维护和升级。同时,基于软件编程的模型,极大提升了网络的灵活性,开发和迭代速度相比于传统网络提升了10x,更快更好的满足客户的多样化需求。

Underlay网络采用低成本的盒式交换机组网。underlay网络只需提供简单的IP Backbone功能,用于连接内部组件和外部网络,underlay网络对overlay业务完全不感知。

SDR的内部组件之间通过分布式消息队列高效同步路由、ARP及静态配置信息,同时在边缘部署EA交换机,用于和外部网络互连。EA交换机工作在L2网络中,负责向外部网络提供多类型的互联端口(GE/10GE/00GE)和实施L2层网络隔离。Data Plane通过自研的用户态协议栈,负责高性能的数据转发。Routing Plane和外部路由器及内部路由组件之间通过BGP协议传递路由信息。Orchestrator和Control Plane分别以Global Controller和Local controller的角色负责全局或区域级配置、管理及运维信息的同步。另外,为高效的同步SDR内部组件间的海量动态流表信息,Control plane同时提供高性能分布式消息通道和分布式存储服务。

作为内外网络的连接器,全新架构下的SDR,通过在全球Access Site的部署,彻底打通了传统网络和云网络的任督二脉,实现了外部网络及腾讯内部网络的高效互联互通,为多样化网络服务的集成和互操作提供了极大的便利性。

SDR天然软件定义的特性,使其无论是在灵活性、扩展性、可靠性和可运维性上,相比于传统网络都呈现除了实质性的升级。

灵活性方面,外网出口流量,通过SDR的Flex rules,可以根据不同客户,不同业务的需求,实现精细化的灵活调度。外网入口流量,通过超大规格路由表,可实现基于32位Ipv4或128位Ipv6粒度的精细化调度,支撑内部网关或服务的灵活迁移和灾备。

FW/DDoS等安全服务,利用SDR的Flexrules,可按需引导攻击或异常流量的重定向和清洗后流量的回流。通过在FW service和SDR之间部署VxLAN,支持FW service本地化部署,或远端部署。DDoS防护上,SDR同时支持基于软件的大规格转发表项,和基于硬件的超大带宽转发能力。

为了进一步提升性能,SDR引入Tencent Smart Switch(TSS)实现硬件加速。TSS是腾讯自研的可编程交换机,提供硬件T级别的线速转发能力和微妙级的低时延。TSS被定义为Data Plane的offloading组件,通过可编程语言对ASIC报文处理行为进行定制,形成通用的基于流和基于LPM的Pipeline,通过和Data Plane、Control Plane的协同工作,为不同业务场景提供硬件加速能力。

SDR目前可提供10Tbps的转发能力,1000万级别的路由表,100k/s的端到端路由更新能力。

可靠性方面,基于冗余架构设计,各个组件出现单点故障时,系统不受影响。同时,由于组件之间完全解耦,转发平面,在其他组件故障时,可提供Non-stop forwarding (NSF)能力正常处理报文。路由平面,SDR将BGP功能进一步拆分为BGP speaker unit和BGP route computation unit, 部署在不同的集群中。其中,BGP speaker unit以peer粒度进行部署,升级和快速故障恢复,提供Non-Stop Routing (NSR)能力。

可运维方面,SDR通过和Real-time Monitoring and Operating System(RMOS)系统的联动,实施不同级别cluster-level、server-level、core-level的实时探测和故障快速隔离。同时,根据丰富的日志和告警信息,对SDR健康状况进行实时监控。另外,SDR提供一键隔离,快速路由收敛和跨域容灾等能力,从全网视角保证客户业务不中断。

未来,SDR将提供针对不同层级网络,端到端的,实时网络质量探测和分析能力。基于实时的、不同维度的网络质量、SDR将实施动态的、多维度、细粒度的流量调度策略。同时,SDR将集成网络仿真和网络验证平台,进一步提升全网的可靠性和可运维性。

总结,面向云规模网络,SDR通过软硬解耦、功能解耦和软件定义的方式,为腾讯云构建了一个具备超高灵活性、扩展性、可运维性和低成本的全新接入网络。

猜你喜欢

转载自blog.csdn.net/Tencent_TEG/article/details/108138253