企业出海,网络先行:UCloud基于SD-WAN的罗马全球网络加速

随着越来越多的企业踏上业务出海的征程,亟待解决的问题便是:如何做到全球范围内IT资源的快速调动和信息畅通?若选择公网远距离传输,网络时延和抖动的体验很差;专线价格昂贵,多条专线还会造成运维困难;随着多云部署的流行,跨云传输也是企业所要面临的难题之一
 
企业出海,网络先行。在此背景下,UCloud的SD-WAN产品罗马Rome应运而生。与传统方案相比,Rome通过底层架构设计,在成本、性能、可用性等方面存在巨大的优势。例如利用Segment Routing提高转发效率,智能链路调度实现秒级选路等,下面将重点介绍。

—— 01 ——
Rome:基于SD-WAN助力全球网络加速


SD-WAN技术是SDN在广域网下的特定应用,它通过消除物理设备的流量管理负担并将其转移到软件,从而获得部署和管理的灵活性,帮助用户最大限度地减少管理基础架构和连接的麻烦。

|  Rome网络构成:核心网+接入网

(1)Rome核心网

基于SD-WAN技术,Rome核心网依托UCloud全球数据中心及跨地域、跨运营商网络,为用户提供全球范围内的就近接入、链路动态调度,实现端到端的高稳定连接,规避骨干网络故障、跨地域/跨运营商拥堵等导致的响应慢 、丢包等问题。

图:分布全球的Rome核心网


(2)Rome接入网

Rome提供多种场景接入,包含专线、多云、混合云、互联网等,用户需选择最合适的接入方式。Rome将用户接入同地域或邻近地域核心网转发节点,由Rome核心网将流量分发至目的地域,用户可选的接入方式如下:

 初期业务量较小时,可选择EIP方式接入,该方式属于同地域EIP互联,不会对网络质量造成影响;
 当业务量较大时,可选择专线方式接入,该方式可以极大程度的保证网络质量,且当接入专线均发生故障时,Rome支持无缝切换至EIP以保证用户业务正常。专线接入方式可以通过UCloud控制台实现一键打通,后续Rome也将同步上线EIP一键打通功能,用户无需等待漫长的施工周期。


|  控制平面与数据转发平面相分离

由于远距离传输的特殊性,SD-WAN根据功能分离为控制平面和数据转发平面,这样的分离能够大大增加网络服务的敏捷性,可以更加智能地从数据平面到更加抽象的和可编程的控制平面迁移。Rome同样由控制面和转发面两部分组成,完成数据高可靠传输的保障。


(1)Rome控制平面设计


控制平面主要负责网络信号的交换和数据包路由的选择,它也包含设备的系统配置和管理,同时还负责保障业务面通畅的控制管道。


图:UK8S同城双活架构


如上图,Rome控制层采用UK8S同城双活架构,每个应用多副本对等部署在两个数据中心的UK8S集群,利用域名解析服务DNS将入口流量分别导入两个集群,有效预防并降低由于单个数据中心出口或单个副本故障造成的业务不可用,在集群(数据中心)和应用层面保证了业务的稳定性和高可用性。

此外,控制层分别由API、TASK、CONFIG、Monitor、DB以及Analysis组成,各组件执行逻辑如下图:当API接收到数据转发请求时,便会下发至各个UK8S集群中。TASK为主要逻辑执行者,CONFIG则负责对转发面各个网元进行配置下发等操作,DB Agent则负责保存需要持久化的数据,Analysis对Rome核心网进行调度,保证用户流量能Run在最优路径上,最终由Monitor完成对各服务以及Rome核心网状态及质量的监控。

图:Rome控制面执行逻辑示意图

其中,Analysis和Monitor对链路调度起着关键性的作用,下文还会详细介绍。


(2)Rome转发平面设计


转发平面主要承载网络的转发应用和用户数据,由高吞吐转发节点组成。Rome基于DPDK实现高吞吐低时延的包转发节点,且任意两节点之间均采用专线作为主线路,保证线路网络高可靠。


图:Rome转发面架构图

如上图,每个转发节点和接入节点均由双节点组成,且互为主备。当主节点不可达时自动切换到备节点,可做到秒级切换,从而最大程度上保证网络质量。此外,Rome各地域之间形成环网,由Analysis根据路径质量对路径进行统一调度。

值得一提的是,Rome还采用了Segment Routing(以下简称SR)技术。

SR是一种新型的MPLS技术,其中控制平面基于IGP路由协议扩展实现,转发层面基于MPLS转发网络实现,SR的好处在于简化了MPLS控制协议、减少资源占用、简化网络运维和管理,增强路径调整和控制能力。

Rome转发平面采用SR路由方式实现流量转发。控制平面根据实时网络质量计算出两点间的最优路径,并为邻接节点分配标签(用于标识SR网络中的路由邻接链路,是SR-TE主要使用的标签类型,链路标签具有一定的方向性,用于指导报文的转发,仅在源节点本地有效),为整条路径分配标签栈(标签排序的集合,用于表示一条完整的LSP)。转发节点识别报文携带的标签,并根据标签进行路由。Rome应用SR大大提高了网络的转发效率,降低时延,最大程度保障了用户的使用体验。

—— 02 ——
条条大道通罗马:实时监控下的智能链路调度

高稳定与高性能之外,网络的灵活性和敏捷性有时反而更为关键:那如何根据用户需求与网络实时状态快速做到最优链路调度,从而实现数据在全球范围内的无缝流动呢?

Rome的答案是在选路和切换时的智能链路调度技术,举个例子:用户在用网络的两邻接节点时延突增时,Rome会在秒级内将流量切换至相邻时延较小的节点,从而保证整体网络质量。

|  建立线路质量元数据

首先,Rome通过建立细粒度的线路质量元数据,实现数据实时监控的良好基础,也帮助网络运维人员能够更加便捷实时地掌握全球业务数据动态与流向。

图:线路质量元数据实时监控示意

如上图,Rome分为接入节点、转发节点及DB三部分完成线路质量元数据的建立与实时监控,接入节点&转发节点负责定时上报线路丢包率、线路时延、带宽负载、接入点CPU使用率、接入点磁盘利用率等数据,DB将所有数据保存以供后台实时分析与监控。

每个接入节点、转发节点均有主备节点,且接入节点与转发节点为网状连接、转发节点之间也为网状连接,如下图,所有转发节点组成Rome核心网。

图:Rome核心网

|  智能选路

基于分布全球的专用线路,Rome通过链路智能检测技术,提供更加灵活高可靠的选路。智能选路分为两方面:接入节点选路和转发节点选路。

(1)接入节点选路


以地域0为例,如下图,用户VPC——>接入点VPC——>转发点VPC为打通状态,默认分别与主节点相连,在接入节点为用户VPC创建TC规则,接入节点与转发节点通过隧道封装报文。

图:用户VPC——>接入点VPC——>转发点VPC打通

接着,Rome会在Local接入节点与Remote接入节点分别进行链路检测,将链路检测结果持久化,由Monitor拉取链路检测结果,并根据该结果选择接入节点与转发节点的路径。

链路检测结果包含以下几个维度:Local接入节点到Local转发节点可达性、丢包率及时延;Local接入节点到Remote接入节点可达性、丢包率以及时延;Local转发节点负载。最终会出现以下三类情况:

若Local主接入节点到Local主转发节点不可达或网络质量较差,则选择Local备接入节点到Local备转发节点路径;
若Local主接入节点到Remote主接入节点不可达或网络质量较差,则选择Local备接入节点到Remote备接入节点;
若Local主转发节点负载较高,则选择Local备接入点节点到Local备转发节点。

(2)转发节点选路

以地域0->地域2为例,地域0->地域2的可用路径有地域0->地域1->地域2和地域0->地域3->地域2,每两邻接地域的主备转发节点均互连,即:两邻接地域的link有4条。

图:地域0->地域1->地域2转发示意

Rome同样对邻接转发节点进行链路检测,将链路检测结果持久化,由Analysis拉取链路检测结果,并根据该结果选择邻接转发节点的link。

链路检测结果包含以下几个维度:邻接转发节点间可达性、时延以及丢包率;转发节点负载;资费。链路检测及调度步骤如下:

 根据源和目的转发节点信息计算出源转发节点->目的转发节点的可用路径;
 根据所有可用路径每根link的时延、丢包率、负载、资费,计算出一个cost值,从而为每条可用路径计算出一个总的cost值;
根据每条可用路径的cost值选择最优路径,为整条路径经过的转发节点分配标签,当流量进入某转发节点之后根据标签选择下一跳;
 cost计算原则(cost越小路径优先级越高):
 网络不可达时cost最大;
 网络可达时专线cost=a*时延+b*丢包率+c*转发节点负载;
 网络可达时EIP cost=x*(a*时延+b*丢包率+c*转发节点负载),由于资费原因x>1。

|  智能切换

智能切换分为接入节点切换和转发节点切换,且所有切换动作在秒级完成,当在用网络出现故障时能够保证第一时间切换为正常线路。当link所有专线均故障时,也会及时将流量切换至EIP,为用户提供稳定可靠的网络质量。

(1)接入节点切换

Monitor根据接入节点选路原则进行最优路径的计算,当计算出的最优路径与当前路径不相同时,比较两路径的cost值:

(当前路径cost值-最优路径cost值)/当前路径cost值<阈值,维持原路径状态;
(当前路径cost值-最优路径cost值)/当前路径cost值>阈值,将用户VPC路由指向备用接入节点,互换主备接入节点角色。

(2)转发节点切换

Analysis每次选路之后都会做一个路径cost值的切片,根据转发节点选路原则选出当前线路的最优link(两邻接转发节点的有效路径),当最优link与当前link不相同时,比较两link的cost值:

(当前link cost值-最优link cost值)/当前link cost值<阈值时,维持原路径状态;
(当前link cost值-最优link cost值)/当前link cost值>阈值时,为最优link分配标签,并同步更新最优路径信息,将流量引入新计算出的最优路径。


—— 03 ——
Rome应用实例:境外跨地域多云电商场景

目前,Rome可支持多场景下的应用部署,包括多云场景、跨云灾备等,此处我们以境外跨地域多云场景为例介绍。

某跨地域多云电商为保证全球范围内的业务高可靠,在初期网络搭建时选择了多云方案支持全球业务部署:仓储系统分布于a云厂商东京地域,Web业务则分布在b云厂商俄勒冈地域。但是由于后期业务量增大,Web业务需要实时访问仓储系统,这就需要分布于不同云厂商的两处网络实现全球范围内的快速可靠通信。


不同云厂商之间存在接口协议区分,很难做到直接打通,更遑论还需达到远距离实时传输的目的,这本应该是一件不可能实现的诉求。最终,该电商采用了Rome方案成功解决,网络架构方案如下图所示。

图:境外跨地域多云电商应用实例

同时,Rome的使用也非常简单便捷,即便是如此复杂的跨地域多云场景,用户只需在控制台上做一些简单的操作,无需关心路由配置等问题便可实现跨地域多云网络的一键打通用户操作完后,Rome会为用户在需要打通的地域分配接入节点,并将接入节点连通Rome核心网内最近的转发节点,从而实现跨地域多云下的远距离互联互通。


点击“阅读原文”,了解罗马Rome更多内容