HCIE-广域承载解决方案专题02-SR-MPLS-BE-TE-Policy

HCIE-广域承载解决方案专题02-SR-MPLS-BE-TE-Policy

1 SID的使用

  • 通过按序组合前缀(节点)SID和邻接SID,可以构建出网络内的任何路径。
  • 在路径中的每一跳,使用栈顶段信息区分下一跳。
  • 段信息按照顺序堆叠在数据头的顶部。
  • 当栈顶段信息包含另一个节点的标识时,接收节点使用ECMP的方式将数据包转发到下一跳。
  • 当栈顶段信息是本节点的标识时,接收节点弹出顶部段并执行下一个段所需的任务。
  • 实际应用中Prefix Segment、Adjacency Segment可以单独使用,也可以结合使用

1.1 基于Prefix Segment的转发路径

image-20230829130459641

基于Prefix Segment的转发路径是由IGP通过最短路径算法SPF计算得出, 通过IGP扩散之后, 整个IGP域的所有设备学习到R2的Prefix SID(100), 此时R1(举例)就能通过SPF算法计算出一条到达R2的最短路径.

如果一个网络中只用Prefix SID进行数据转发, 大概率是去往某个目标并使用该目标对应的SID信息(上图中R2的Prefix SID为100)进行封装并发送.

当然也能通过从尾到头依次压入下方设备的SID List来实现从下方(cost=10+10+10+10)的路径进行转发.

总而言之, SID List中的Prefix SID为必须经过的节点, 但是到每个SID之间的路径都会经过IGP协议算出的最短路径进行转发, 且支持负载分担.

1.2 基于Adjacency Segment的转发路径

image-20230829130707763

将Adjacency Segment和Node Segment结合, 通过Adjacency Segment, 可以强制整条路径包含某一个邻接. 而对于Node Segment, 节点可以使用SPF算法计算最短路径, 也可以负载分担.

总结: 使用Node SID选择一台需要经过的节点, 使用Adj SID选择每个节点转发的方向, 可以实现整个网络严格控制网络转发.

1.3 基于Adjacency Segment+Node Segment的转发路径

image-20230906165326206

R1根据Node SID将数据包按照最短路径转发给Node SID为101的设备, 之后该设备按照Adjacency SID将数据包从1034方向转发给下一台设备, 之后该设备按照Prefix SID将数据包按照最短路径转发给R2.

假设拓扑开销由每条链路一致变为下面这样:

image-20230906170719660

数据在从Node SID=101的设备按照Adjacency SID=1034方向转发后, 此时SID List中只剩下了Prefix SID=100, 下一台设备会按照IGP计算出的最短路径将数据包重新发送会Node SID=101的设备, 这种操作并不会产生环路问题, Node SID=101的设备会接着按照最短路径向右边的设备转发数据包, 直至到达R2.

可以看到SR能够能自主控制流量转发路径, 以及不同于LDP协议需要外挂到IGP协议上使用, SR能直接在IGP协议内进行部署, 这就是SR相较于MPLS的优势.

SR推荐真机实验!

2 SR-MPLS BE&TE

使用SID来指导设备基于最短路径进行数据转发(见上文1.1),这种工作机制称为SR-MPLS BE(Best Effort), SR-MPLS BE是一种替代“LDP+IGP方案”的一种新方案.

image-20230829130824230

例如在本例中使用R6的Node SID606可以指导数据沿着去往R6的最短路径来转发数据,该最短路径是基于路由协议计算得出的,并且支持等价路径.

使用多个SID进行组合来指导数据转发(如上文1.3),这种工作机制可以对数据的转发路径进行一定约束,从而满足流量工程的需求,因此被称为SR-MPLS TE(Traffic Engine)

image-20230829130832349

SID的组合形式

  • 使用多个Node SID。
  • 使用多个Adjacency SID。
  • 使用Node SID与Adjacency SID组合

2.1 SR-MPLS BE

2.1.1 SR-MPLS BE LSP

image-20230829131218280

  • SR-MPLS BE LSP是指使用SR技术建立的标签转发路径,由一个Prefix或Node Segment指导数据包转发。
  • 其中,SR-MPLS BE是指IGP使用最短路径算法计算得到的最优SR LSP。
  • SR-MPLSBELSP的创建过程和数据转发与LDP LSP类似。这种LSP不存在Tunnel接口。

2.1.2 创建SR-MPLS BE LSP

  • SR-MPLS BE LSP是指使用SR技术建立的标签转发路径,由一个Prefix或Node Segment指导数据包转发。
  • 其中,SR-MPLSBE是指IGP使用最短路径算法计算得到的最优SRLSP。
  • SR-MPLS BE LSP的创建过程和数据转发与LDP LSP类似。这种LSP不存在Tunnel接口。

image-20230829131442171

标签由下游向上游分配(同MPLS LSP), 只是配置和底层原理(上面说的)不太一样.

LSP创建步骤:

  • 网络拓扑上报(仅在基于控制器创建LSP时需要)/控制器标签分配
  • 路径计算

对于SR-MPLS BE LSP,主要基于前缀标签创建。目的节点通过IGP协议发布Prefix SID,转发器解析Prefix SID,并根据自己的SRGB计算标签值。此后各节点使用IGP协议收集的拓扑信息,根据最短路径算法计算标签转发路径,并将计算的下一跳及出标签(Outer Label)信息下发转发表,指导数据报文转发.

2.1.3 数据转发过程

image-20230829131818579

总结就是三个动作(同MPLS):

  • push(压入): 当报文进入LSP时,入节点设备在报文二层首部和IP首部之间插入一个标签;或者根据需要,在报文标签栈的栈顶增加一个新的标签
  • swap(置换): 当报文在SR域内转发时,根据标签转发表,用下一跳分配的标签替换SR报文的栈顶标签
  • pop(弹出): 当报文在离开SR域时,根据栈顶的标签查找转发出接口,然后将SR报文的栈顶的标签剥掉

2.2 SR-MPLS TE

2.2.1 流量工程简介

流量工程(TE,Traffic Engineering)是最重要的网络业务之一。历史上流行的TE技术是基于MPLS的,被称MPLS TE。它可以精确的控制流量流经的路径,从而充分的利用现有带宽资源

image-20230829132042344

MPLS TE存在的问题

传统的MPLS TE采用分布式的方法, 由头节点根据约束计算路径, 然后通过RSVP-TE信令建立基于约束的LSP.

由MPLS节点维护完整的TE功能架构,有以下四大组件:信息发布组件、路径计算组件、路径建立组件(或信令组件)报文转发组件

image-20230908110938657

  • 由于使用RSVP进行扩展, 每条LSP都会分配多个标签, 标签资源占有导致标签转发表工作维护量大.
  • 隧道需要逐台协商, 网络发生变动时需要时间进行维护整条转发链路.

集中式SR-MPLS TE功能架构

  • R-MPLSTE(Segment Routing - MPLS Traffic Engineering)是使用SR作为控制协议的一种新型的TE隧道技术。SR-MPLS TE支持采用集中式架构,控制器收集全局网络拓扑信息和TE信息,集中算路,然后把算路结果下发给网络设备。
  • SR-MPLSTE也支持使用手工方式配置, 此方式可以在没有控制器的情况下设定转发路径.

image-20230908111144284

2.2.2 SR-MPLSTE-网络拓扑收集

image-20230908113648129

  • 转发器的扩展后IGP协议收集网络拓扑信息,收集SR的邻接标签和节点标签

  • BGP-LS将带有SR标签信息的网络拓扑和TE信息上报给控制器

2.2.3 SR-MPLS TE-标签分配

image-20230908114823097

两台设备之间自动生成接口的Adjacency SID并通过IGP协议扩散给全局, 但只有本地设备可以使用这个标签来进行转发, 其他设备只是知道R5有这个标签而已.

2.2.4 SR-MPLS TE LSP

SR-MPLS TE(Segment Routing-MPLS Traffic Engineering)是指基于TE的约束属性,利用SR创建的隧道。如图所示两条LSP分别作为主路径和备份路径。两条LSP隧道都对应同一个隧道ID的SR-MPLS TE隧道, SR-MPLS TE隧道创建包括隧道属性配置和隧道建立.

image-20230908115310117

2.2.5 SR-MPLS TE隧道属性配置

image-20230908115113337

  • SR-MPLS TE隧道的属性是创建隧道的依据。SR-MPLS TE隧道可以在控制器或转发器上配置。
  • 控制器上配置隧道:在控制器上进行SR-MPLS TE隧道配置后,控制器将隧道属性通过NET CONF下发给转发器,转发器通过PCEP协议将隧道托管给控制器进行管理。
  • 转发器上配置隧道:在转发器上进行SR-MPLS TE隧道配置后,转发器将隧道托管给控制器进行管理

2.2.6 SR-MPLS TE隧道建立过程(控制器算路)

image-20230908135743119

当配置了某种业务时, 该业务需要绑定到SR-MPLS隧道, 将按照以下过程建立SR-MPLS TE隧道

  1. 控制器基于SR-MPLS TE的隧道约束属性, 通过路径计算单元PCE进行类似普通TE的路径计算, 生成一个标签栈
  2. 控制器通过NET CONF将隧道配置信息下发给转发器、通过PCEP将标签栈下发给转发器
  3. 转发器根据控制器下发的隧道配置和标签栈信息建立SR-MPLS TE隧道LSP

优势

image-20230908135827820

  • 支持带宽计算与资源预留。
  • 可以站在全局视角计算最优路径。
  • 控制器可以与应用配合,由应用提出网络诉求,控制器计算满足诉求的转发路径,实现业务驱动网络。
  • 省去大量的手工配置,适合大规模网络。

2.2.7 SR-MPLS TE数据转发

转发器上根据SR-MPLSTE隧道LSP对应的标签栈,对报文进行标签操作,并根据栈顶标签逐跳查找转发出接口,指导数据报文转发到隧道目的地址。主要分为基于邻接标签转发和基于节点+邻接标签转发:

  • 基于邻接标签转发:基于邻接标签转发也被称为严格路径方式转发。标签栈严格确定转发路径,不支持负载分担。

  • 基于节点+邻接标签转发:基于节点标签+邻接标签转发也称作松散路径方式转发。设备在处理节点标签时,可以按照最短路径进行转发,也可以进行负载分担,其路径并不是严格固定。

2.2.8 SR-MPLS BE与SR-MPLS TE的流量导入

  • 流量导入:SR隧道建立完成后,需将业务流量引入到SR隧道。
  • SR-MPLS BE(没有隧道接口)引流方式
    • 隧道策略:按照隧道的优先级顺序选择SR-BE隧道。
    • 静态路由:将静态路由的下一跳指定为SR-BE隧道的目的地址,根据下一跳地址迭代到SR-BE隧道。
    • 根据路由下一跳迭代:BGP等公网路由可以根据路由的下一跳迭代到SR-BE隧道。
  • SR-MPLS TE(隧道接口)引流方式
    • 隧道策略:按照隧道的优先级顺序选择SR-TE隧道。
    • 静态路由:配置静态路由时,将路由的出接口指定为SR-TE隧道的接口。
    • 自动路由:将SR-TE隧道当做逻辑链路参与IGP路由计算。
    • 策略路由:在策略路由的执行执行语句中,使用SR-TE隧道接口作为出接口

2.2.9 早期SR-MPLS TE不足

早期的SR-MPLS TE沿用RSVP-TE的“隧道接口”概念,采用隧道接口实现SR, 隧道接口方式实现SR简单且易于理解,但是有以下不足

  • 隧道接口和流量导入独立实现造成引流方式复杂和性能不高。
  • 隧道需要预先配置部署,在无法明确隧道终点场景下有明显限制。
  • 基于隧道接口实现的ECMP使用场景受限

2.3 SR-MPLS Policy

2.3.1 SR Policy简介

SR Policy使用段列表(Segment List)指定转发路径,但是抛弃了隧道接口的概念

SR Policy根据Segment不同分为SR-MPLS PolicySRv6 Policy

控制器基于代表业务SLA的Color属性计算路径,并将结果下发转发器构成SR-MPLS Policy隧道。网络头端结点通过业务路由的Color团体属性和下一跳信息匹配到对应的SR-MPLS Policy隧道进行业务转发

BGP SR Policy是当前主流的路径下发方式

2.3.2 SR-MPLS Policy 元组标识

一个SR-MPLS Policy由一个元组标识<headend, color, endpoint>
对于一个指定的节点SR-MPLS Policy则由<color, endpoint>标识:

  • 头端(headend):SR-MPLS Policy生成的节点,一般是全局唯一的IP地址。
  • 颜色(color):32比特扩展团体属性,用于标识某一种业务意图(例如低延时)。
  • 尾端(endpoint):SR-MPLS Policy的目的地址,一般是全局唯一的IP地址。

Color和endpoint被用于SR-MPLS Policy在特定头端标识转发路径

2.3.3 SR-MPLS Policy标准介绍

RFC-draft-ietf-spring-segment-routing-policy中提出,BGP多协议扩展新增地址族BGP SR Policy(SAFI=73)用于下发SR-MPLS Policy

image-20230908141058621

  • 控制器通过BGP下发SR的SID组合给Ingress节点。在头端节点创建出一条到Egress节点的、带Policy Color的TE隧道
  • 当需要引用此隧道时,可以使用Policy Color对应到隧道

2.3.4 SR-MPLS Policy方案架构

image-20230908141206409

在华为SR-MPLS Policy解决方案架构中,包含BGP-LS、BGP SR Policy和NETCONF三个关键协议:

  1. BGP-LS收集隧道拓扑、网络带宽、链路时延等信息并上报隧道状态,用于控制器计算SRPolicy路径和隧道状态呈现。
  2. BGPSRPolicy用于控制器下发SRPolicy信息(color、headend、endpoint等)。
  3. NETCONF用于下发业务接口、路由策略(添加Color属性)等其他配置

2.3.5 SR-MPLS Policy模型

image-20230908142101166

  • 一个SR-MPLS Policy可以包含多个候选路径(Candidate Path)。候选路径携带优先级属性(Preference)。优先级最高的有效候选路径为SR Policy的主路径,优先级次高的有效路径为SR-MPLS Policy的备份路径。
  • 一个候选路径就是SR-MPLS Policy通过PCEP或者BGP SR Policy向头端发送的段列表

2.3.6 Binding SID

image-20230908142253894

  • 为了提供更好的扩展性、网络不透明度和服务独立性,SR运用了BSID(Binding SID)[RFC8402-5.BindingSegment]。每条候选路径都可以被定义一个BSID。
  • 与RSVP-TE隧道相似,SR-MPLS TE隧道也可做为一种转发邻接。如果将SR-MPLS TE隧道做为转发邻接分配一个邻接SID,这个SID就被称为Binding SID。一个Binding SID代表一条SR-MPLS TE隧道

每个SR-MPLS Policy最多配置1个Binding SID,Binding SID可以像其他类型SID一样,用于SR-MPLS TE路径计算

2.3.7 SR Policy业务流程:信息收集

image-20230908142402875

背景:R3作为Egress路由器向Ingress路由器R1通告路由5.5.5.5/32,最终从R1-R3建立SR Policy隧道。隧道路径如图,Color为Green

  • BGP-LS收集网络拓扑、网络带宽、链路时延等信息,用于计算SR Policy路径和隧道状态呈现
  • 控制器通过NETCONF向Egress路由器下发VPN出口策略或BGP出口策略。为路由前缀5.5.5.5/32设置扩展团体属性Color Green,路由下一跳是R3的地址
  • Egress路由器将着色的路由5.5.5.5/32通过MP-BGP通告给Ingress路由器
  • 如下,控制器向头端下发SR Policy。R1接收到R3的BGP路由5.5.5.5/32。后续执行转发时,根据此路由的Color和下一跳迭代到SR Policy隧道
  • Ingress路由器将SR Policy生成转发面隧道。头结点根据Color完成引流转发及转发(本例)
posted @ 2023-09-27 11:24  Qurare  阅读(453)  评论(0编辑  收藏  举报