基于Segment Routing技术构建新一代骨干网:智能、可靠、可调度(一) | U刻
技术分享/

基于Segment Routing技术构建新一代骨干网:智能、可靠、可调度(一)

  • 基于Segment Routing技术构建新一代骨干网:智能、可靠、可调度(一)

    栏目:技术分享


    随着网络技术的发展和云计算业务的快速普及,当前各行各业的客户都有迫切上云的需求,越来越多的关键业务,如:web前端、视频会议、办公应用、数据存储等开始部署在云端;新的网络架构设计特别是骨干网,必然要适应云计算和互联网应用的发展,而传统的MPLS骨干网不能适应这种变化,面临如下诸多挑战:

    1、如何实现用户云下与云上、云上VPC之间、云下不同物理位置之间业务的灵活开通;

    2、如何利用本地专线和最后一公里互联网线路构建混合组网能力;

    3、如何确保关键业务的优先级和服务质量;

    4、如何简化开通流程、快速部署和统一策略管理;

    5、如何提升专线带宽利用率和流量可视化;

    6、如何实现新一代骨干网智能、可靠、可调度。

    本文将结合UCloud基础网络团队新一代骨干网的架构演进过程,介绍Segment Routing技术在UCloud骨干网的落地细节,并详细阐述当前骨干网如何通过SR-TE技术实现智能、可靠、可调度的新一代骨干网架构。

    DCN网络快速迭代

    UCloud数据中心基础架构网络(以下简称DCN)在最近这几年经历了野蛮式的快速发展阶段,从北上广三地的数个可用区发展到全球25个地域31个可用区;业务云化和分布式数据中心的建设,推动了城域网(以下简称MAN)和骨干网规划建设,如下图所示:

    DCN网络迭代过程如下:

    1、同城单可用区升级至同城多可用区;

    2、单Region多可用区升级至多Region多可用区。

    DCN网络快速迭代带来的网络挑战:

    1、MAN网络高带宽与可靠性要求:同城分布式DCN网络建设带来的问题是:客户业务扁平化部署,导致同城跨可用区有大量的东西向业务互访流量,对MAN网络的带宽和可靠性有严格的要求。

    2、骨干网架构升级与流量工程要求:随着UCloud全球节点DCN网络的建设部署,跨地域客户开始有业务互访和跨域流量优化需求,对骨干网规划和流量工程提出了新的要求。

    全球专线资源布局

    当前UCloud全球CDN节点有500+,25个地域,31个可用区;通过运营商专线打通全球25个地域,如下图所示:

    1、全球机房专线接入骨干网 

    骨干网依托UCloud全球DCN网络以及专线资源,可为用户提供全球范围的就近接入,实现端到端网络稳定,解决跨域业务互访丢包和高延迟问题。

    2、全球节点灵活组网

    为用户提供基于本地专线和最后一公里互联网接入,实现用户的混合组网能力。

    3、提供稳定、可靠的基础架构

    点到点专线资源提供物理层的带环保护,一方面通过SR-TE技术实现流级别调度和快速容灾备份能力;另一方面基础网络提供一张1:1基于Internet级的备份骨干网,保证整个骨干网达到99.99%可用率。

    UCloud骨干网架构演进历史

    01

    2018年之前骨干网架构

    UCloud基础网络团队在2016年下半年开始规划第一代骨干网(以下简称骨干网1.0),2017年底完成了骨干网1.0设计规划,骨干网1.0架构规划专线资源接入到各Region的MAN网络核心设备(以下简称M-Core),各Region的M-Core之间通过供应商二层专线进行全球组网;M-Core之间运行ISIS协议,打通全球骨干网ISIS域,每个地域双M-Core或者四M-Core和控制面RR建立IBGP邻居关系,M-Core通过IBGP协议将本地域DCN网络路由信息通告至RR,RR反射给全球所有M-Core节点;数据转发面通过IBGP路由进行迭代,最终通过ISIS转发至目标DCN网络。为优化骨干网流量转发,在关键设备上开启如下功能:

    1、为实现骨干网等价路由(以下简称ECMP),必须在M-Core和RR上开启BGP ADD-PATH属性;

    2、为保证IGP最短路径转发,跨域之间ISIS 开销值设置为两地域直连专线实际延迟*100,如:北京-上海专线延迟为30ms,那么北京-上海地域的ISIS开销设置为3000。

    骨干网1.0设计目标:

    1、实现Region级别DCN网络互通,提供云业务跨地域容灾能力;

    2、支持云上用户通过UCloud高速通道产品UDPN打通跨域VPC资源。

    骨干网1.0新挑战:

    1、MAN网络与骨干网高度耦合,专线开通配置复杂,增加运维难度;

    2、不支持客户不同物理位置之间资源互通;云下资源到云上VPC之间资源开通复杂、周期冗长;

    3、不支持跨地域级别的流量智能调度。

    02

    2020年之前骨干网架构

    针对骨干网1.0所面临的一些问题,2018年UCloud基础网络团队设计规划了第二代骨干网(下简称骨干网2.0)。在骨干网2.0中,我们新增了租户隔离的特性,而要在骨干网上实现大规模的租户隔离,MPLS-VPN技术最合适不过,但由于考虑到整体的部署成本以及部署难度,我们最终放弃了这个方案,借鉴了DCN网络的租户隔离思路,采用VXLAN二层网关方案来实现;

    骨干网2.0整体架构分为两层,Underlay和Overlay;Underlay使用VXLAN+BGP EVPN实现网络大二层,在Overlay上实现骨干网1.0的架构需求;具体实现如下:

    • Underlay层规划

    1、Underlay层主要由两种设备组成:TBR和TER。TBR用于运营商二层专线资源接入,主要用于数据转发,TER用于封装VXLAN报文,即VTEP设备。全球节点的TBR和TER设备通过VXLAN+ BGP EVPN技术组建一张全球二层网络,这张二层网络提供全球任意跨域节点之间二层业务开通。

    2、TBR设备通过ISIS协议打通整个IGP域,TER和控制面TRR建立BGP EVPN邻居关系,各个站点互相学习MAC/IP路由;转发面数据通过VXLAN封装转发,控制面信息通过EVPN学习同步。

    3、用户线下IDC业务互访,以及线下IDC到云上业务之间通过VXLAN开通二层业务。

    • Overlay层规划

    跨域M-Core直连通过VXLAN开通,M-Core之间运行ISIS协议,打通全球骨干网ISIS域,每个地域双M-Core或者四M-Core和控制面RR建立IBGP邻居关系,M-Core通过IBGP协议将本地域DCN网络路由通告至RR,RR反射给全球所有M-Core节点,数据转发面通过IBGP路由进行迭代,最终通过ISIS转发至目标DCN网络。

    骨干网2.0设计目标:

    1、实现MAN网络和骨干网严格分层,提升运维效率;

    2、通过VXLAN+BGP EVPN构建业务接入网,实现业务灵活就近上骨干;

    3、实现客户云下不同物理位置、云下到云上之间资源快速开通。

    骨干网2.0新挑战:

    1、不支持骨干网流量智能调度;

    2、本地接入只支持专线接入,组网方式不够灵活,增加网络运营成本;

    3、VXLAN包头开销过大,网络传输效率低下,专线结算成本上升;

    4、不支持L3VPN客户接入场景。

    为了解决骨干网2.0当前的问题,UCloud基础网络团队在2019年下半年开始,对新一代骨干网架构进行重新设计、硬件选型,在新一代骨干网架构设计中采用了当前比较流行的源路由即Segment Routing技术(以下简称SR),在介绍新一代骨干网架构之前先给大家简单介绍一下SR技术的基本概念。

    Segment Routing基本概念

    01

    Segment Routing

    SR架构基于源路由,节点(路由器、主机或设备)选择路径,并引导数据包沿着该路径通过网络,具体实现方式是在数据报头中插入带顺序的段列表(Segment-list),通过Segment-list指示收到这些数据包的节点怎么去处理和转发这些数据包。

    由于源节点(头端节点)通过在数据包报文头中添加适当的指令(Segment-list)即可实现基于目标地址的引流(甚至可以基于单条流粒度的引流),且除了头端节点之外,其它节点都不需要存储和维护任何流状态信息,因此引流的决定权都在头端节点。通过这种方式SR可以在IP和MPLS网络中提供高级的流量引导能力。

    02

    常用标签类型

    • Prefix-SID

    Prefix-SID是由ISIS或者OSPF通告的全局Segment,此Segment与IGP的前缀相关;Prefix-SID代表一个路由指令,含义是:引导流量沿着支持ECMP的最短路径去往该Segment相关联的前缀。Prefix-SID具有如下特性:

    -全局Segment,SR域中的所有节点都知道如何处理Prefix-SID。

    -支持多跳,单个Segment跨越路径中的多跳,这样就减少了路径所需要的Segment数量,并允许跨多跳的等价路径。

    -支持ECMP,可以原生利用IGP的等价路径。

    -Prefix-SID一般是通过手工分配,也可使用控制器分配。

    • Node-SID

    Node-SID是一种特殊类型的IGP Prefix Segment,是Prefix Segment的子类型,通常是某个节点环回口的32位前缀地址,这个地址一般是IGP的“路由器ID”;Node-SID指令是:引导流量沿着支持ECMP的最短路径去往该Segment相关联的前缀。其和Prefix Segment的指令是一致的。

    • Adjacency-SID

    Adjacency-SID是与单向邻接或者单向邻接集合相关联的Segment,使用Adj-SID转发的流量将被引导至指定链路,而不管最短路径路由如何,一般情况下节点会通告它的本节点链路Segment(Adj-SID);Adjacency-SID指令是:“引导流量从与该Segment相关联的邻接链路转发出去”。Adjacency-SID具有如下特性:

    -本地Segment,SR域中的只有Adjacency-SID始发节点知道如何处理该Segment。

    -支持显式路径,任何路径都可以使用Adjacency-SID来表示。

    -不依赖于IGP的动态路由计算,可以绕过ECMP,走管理员指定的路径转发。

    实际部署中应尽量少用Adj-SID,因为其不支持ECMP,且会增加Segment-list长度,因此建议多使用Prefix-SID,即支持ECMP,又可以减少Segment-list长度。

    • Anycast-SID

    SR域中多个节点上配置相同的单播前缀,那么该单播前缀就是一个Anycast-SID,Anycast-SID也是Prefix-SID的一个子类型。Anycast集合的属性是去往Anycast地址的流量被路由到Anycast集合中距离最近(IGP 最短距离)的那个成员,如果开销相同,则流量会进行ECMP,如果Anycast的成员发生故障,则由Anycast集合的其它成员来处理去往Anycast-SID的流量;Anycast-SID指令是:引导流量沿着支持ECMP的最短路径去往该Segment相关联的前缀。其和Prefix Segment的指令是一致的。

    Anycast-SID具有如下特性:

    -天生支持ECMP

    -支持高可用性

    -支持流量工程

    03

    SR Policy特性

    SR-Policy

    为了解决传统隧道接口体系存在的问题, SR Policy 完全抛弃了隧道接口的概念,SR Policy 通过Segment 列表来实现流量工程;Segment 列表对数据包在网络中的任意转发路径进行编码。列表中的 Segment 可以是任何类型:IGP Segment 、 IGP Flex-Algo Segment(灵活算法) 、BGP Segment 等。

    从本质上讲,SR Policy(SR-TE)是 Segment 列表,不是隧道接口。

    SR Policy 由以下三元组标识:

    头端(Headend):SR Policy 生成/实现的地方。

    颜色(Color):任意的 32 位数值,用于区分同一头端和端点对之间的多条 SR Policy。

    端点(Endpoint):SR Policy 的终结点,是一个 IPv4/IPv6 地址。

    颜色是 SR Policy 的重要属性,通常代表意图,表示到达端点的特定方式(例如低延迟、低成本并排除特定属性链路等),Color也是流量引流的重要参考属性。

    SR Policy生成的路径一般有两种:显式路径和动态路径

    显式路径一般是通过CLI/Netconf方式人工规划或者通过控制器方式下发的路径信息,主要包括信息有 endpoint地址、Color、Segment-List等;显式路径的最大弊端是无法及时响应网络拓扑变化;为了能保证故障场景下SR Policy能够快速收敛,可以通过验证头端的SR-TE数据来进行收敛。

    建议Segment-List使用描述符(IP)形式编写,头端默认会验证所有描述符;

    • 一旦SR Policy候选路径不具有有效的Segment列表(描述符验证失败),则此候选路径变为无效;
    • 当SR Policy 所有候选路径都是无效的,则此SR-Policy无效。

    如果SR Policy变为无效,则应用会失效;默认情况下SR Policy的转发条目被删除,流量回退到默认转发(SR-BE)路径。

    2、动态路径

    动态路径是由头端(路由器)或者PCEP根据头端的请求自动计算SR Policy候选路径:

    • 动态路径主要表示为优化目标和一组约束条件,这两个因素指定了SR-TE的意图。
    • 头端可以通过本地的SR-TE数据库算出路径,提供一个Segment列表或者一组Segment列表。
    • 当头端不具备足够的拓扑信息时(跨域环境),头端可以将计算委托给控制器,由控制器自动算路。
    • 当网络发生改变时,动态路径会自动进行重算以适应网络变化。

    04

    SR Policy 自动引流

    SR Policy引流支持域内场景和跨域场景,整体的转发流程如下:

    • 着色:出口PE在向入口PE通告BGP业务路由时,或者入口PE接收路由时对路由进行着色(标记路由Color),Color用于表示路由所需要的SLA。
    • 计算+引流:域内场景下,头端节点收到BGP路由后,通过头端SR-TE数据库自动算路完成引流;跨域场景下,头端向控制器发送有状态的PCEP路径计算请求,控制器计算去往远端端点的SR-TE跨域路径。
    • 转发:数据包在头端完成引流,使用头端计算或者控制器下发的路径进行标签转发。

    将 BGP 路由安装到 SR Policy 的动作称为自动引流,其原理主要是通过对BGP业务路由进行着色,将流量自动引导至 SR Policy;SR Policy的自动引流不需要复杂和繁琐的引流配置,而且流量引导对转发性能没有影响,流量控制粒度更为精细。

    SR/SR-TE or LDP/RSVP-TE ?

    UCloud基础网络团队在新一代骨干网设计中转发面统一使用MPLS封装转发,而控制面的选择经过慎重考虑,我们详细对比了SR/SR-TE和LDP/RSVP-TE后,最终选择了SR/SR-TE,具体分析情况如下:

    总结

    本篇分享了数据中心野蛮式增长给MAN网络和骨干网带来的极大挑战,以及SR部分技术原理。在过去几年里,UCloud基础网络团队不断演进骨干网架构,从骨干网1.0升级到骨干网2.0架构,实现了用户云下资源之间、云下到云上资源的快速开通,但依然满足不了当前互联网客户的业务快速发展需求,例如:不支持智能流量调度、无法实现客户L3VPN接入需求,不支持最后一公里Internet线路接入等。

    下一篇将重点介绍UCloud如何结合Segment Routing技术实现智能、可靠、可调度的新一代骨干网,助力用户分钟级构建多地域全球网络以及同城多可用区互访、多Region多可用区互联,实现UCloud与用户线上线下IDC无间隔互通,升化云网协同。

    本文作者:唐玉柱,UCloud 高级网络架构师、UCloud新一代骨干网架构规划项目负责人。拥有丰富的数据中心、骨干网架构设计和运维经验;目前主要负责UCloud全球数据中心、骨干网架构设备选型、架构设计和规划。