段路由SR(Segment Routing)是基于源路由理念而设计的在网络上转发数据包的一种技术架构

一、SR背景

段路由SR(Segment Routing)是基于源路由理念而设计的在网络上转发数据包的一种技术架构。

    SR-MPLS可以通过多个MPLS形成路径(基于标签转发)
    SRv6可以通过多个IPv6的拓展头部来实现

传统的专线业务使用的是MPLS LDP与 RSVP-TE(资源预留协议)

针对以上,Segment Routing给出的解决方案:

①、简化协议,基于现有协议进行拓展:

    拓展后的IGP/BGP具有标签分发能力,因此网络中无需LDP,实现协议简化。
    引入了源路由机制:通过在头端节点实例化转发策略为标签列表,控制业务流量的转发路径。

②、由业务来定义网络:

    由应用提出需求(时延、带宽、丢包率等),控制器收集网络拓扑、带宽利用率、时延等信息,根据业务需求计算显式路径。

二、SR概述:

    SR(Segment Routing,段路由)是基于源路由理念而设计的在网络上转发数据包的一种架构,而不是一个单独的技术。
    SR将网络路径分成一个个段(Segment),并且为这些段和网络中的转发节点分配段标识ID(即SID)。通过对段和网络节点进行有序排列(Segment List),就可以得到一条转发路径。
    SR将代表转发路径的段序列编码在数据包头部,随数据包传输。接收端收到数据包后,对段序列进行解析,如果段序列的顶部段标识是本节点时,则弹出该标识,然后进行下一步处理;如果不是本节点,则使用ECMP(Equal Cost Multiple Path,等价负载分担)方式将数据包转发到下一节点。

SR具有如下特点:

    通过对现有协议(例如IGP)进行扩展,能使现有网络更好的平滑演进。
    同时支持控制器的集中控制模式和转发器的分布控制模式,提供集中控制和分布控制之间的平衡。
    采用源路由技术,提供网络和上层应用快速交互的能力。

SR优势:

    有控制器的叫TE
    靠IGP集中算路的叫BE

    Tl-LFA(确保无环)
    SR技术的标签数量是:全网节点数+本地邻接数
    SR仅需在头节点对报文的标签进行操作即可任意控制业务路径,中间节点不需要维护路径信息。

三、一些名词的基本概念
基本概念:Segment

Segment是节点针对所收到的数据包要执行的指令,该指令包含在数据包头部中

基本概念:Segment ID——简称SID,用于标识segment 一般就是MPLS标签

segment list是一个或多个SID构成的有序列表(MPLS 标签列表)

基本概念:源路由

源路由(Source Routing):源节点选择一条路径并在报文中压入一个有序的Segment List,网络中的其他节点按照报文封装的Segment List进行转发。

基本概念:Segment 分类

    Prefix Segment (前缀段),用于标识某个目的地址前缀,手工生成,通过IGP协议扩散到其他网元,全局可见,全局有效。——通常用环回口地址
    Adjacency Segment(邻接段),标识网络中某个邻接,源节点通过协议动态分配,通过IGP协议扩散到其他网元,全局可见,本地有效。也可以手工强制分,本地有效

Prefix Segment(前缀段)

    Prefix Segment通过Prefix SID(Segment ID)标识。
    Prefix SID是发布端通过的SRGB(Segment Routing Global Block)范围内的偏移值,接收端会根据自己的SRGB计算实际标签值用于生成MPLS的转发表项
    Node Segment是特殊的Prefix Segment,用于标识特定的节点Node。
    在节点的Loopback接口下配置IP地址作为前缀,这个节点的Prefix SID实际就是Node SID。

SRGB

    SRGB(Segment Routing Global Block):用户指定的为Segment Routing MPLS预留的全局标签集合。
    每台设备通过扩展的路由协议通告自己的SRGB。
    节点通过扩展的路由协议通告前缀SID索引(Index)后【或者可以叫为偏移量】,各台设备分别根据SRGB计算入站及出站SID。
    在实际部署中,建议设备采用统一的SRGB。

为什么需要SRGB:

    SR要求前缀SID全局有效。
    在MPLS中,设备的一部分标签空间可能被其他协议,例如LDP占用,因此需指定明确的空间用于SR全局标签。

基本概念:Adjacency Segment(邻接段)

AS内Node SID及Adjacency SID的泛洪

SR-MPLS使用IGP协议进行拓扑信息、前缀信息、SRGB和标签信息的通告。IGP协议为了完成上述功能,对于协议报文的TLV进行了一些扩展。(例如如下OSPF for SR-MPLS) 使能Segemnet mpls

基本概念:SR Policy 段策略

    RFC 8402中定义SR Policy是一段有序的段列表(an ordered list of segments)。更完整的说法是SR Policy最终呈现为一段有序的段列表(Segment list),还包含了计算、生成和维护这个段列表及引入流量等SR技术的一种框架。SR Policy是当前最主流的实现SR的方式。
    一个SR Policy由头端节点引导流量进入这个段策略中。它的段列表被精确的分配为标签栈指导流量转发。这个段列表由一系列的优化目标和限制(例如时延、亲和性和SRLG等)综合计算得到。这个计算可由本地或者控制器完成,然后应用到网络中。

SR Policy 段策略(根本就是一个标签堆栈)可以由CLI、NETCONF、PCEP、BGP SR Policy等多种方式生成。包含Segment List,完整的指导流量引入和转发。

基本概念:SR-MPLS 与SRv6

    如果数据转发平面:基于MLS,就是SR-MPLS,如果是基于IPv6的就是SRV6。

标签栈 & 粘连标签 与 粘连节点

    标签栈是标签的排序集合,可以标识一条完整的LSP
    标签栈中每一个邻接标签标识一条具体的邻接,整个标签栈标识了整条转发路径LSP的所有邻接。
    在报文转发过程中,通过标签栈中的每个邻接标签查找对应的邻接,并将标签弹出后转发,将标签栈中所有邻接标签弹出后,报文就走完了整条LSP,到达隧道的目的地。

SID的使用:(Segment ID——简称SID,用于标识segment)其实就是标签

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

四、关于SR应用方式的三种场景
场景一:基于Prefix Segment的转发路径 (全局有效)

基于Prefix Segment的转发路径是由IGP通过最短路径算法(SPF)计算得出。

1、通过IGP扩散之后,整个IGP域的所有设备学习到R2的Prefix SID(100)。

2、以R1为例(其他设备类似),它通过SPF算法计算出一条到达R2的最短路径。

基于Prefix Segment的转发路径并不是一条固定路径,头节点也无法控制报文的整条转发路径。

场景二:基于Adjacency Segment的转发路径 (本地有效)

通过给网络中每个邻接分配一个Adjacency Segment,然后在头节点定义一个包含多个Adjacency Segment的Segment List。

通过这种方式可以严格指定任意一条显式路径(Strict Explicit),可更好的配合实现SDN。

场景三:基于Adjacency Segment + Node Segment的转发路径 (常用)

将Adjacency Segment和Node Segment结合,通过Adjacency Segment,可以强制整条路径包含某一个邻接。而对于Node Segment,节点可以使用 SPF算法计算最短路径,也可以负载分担。——(相当于一部分路径是强制指定,一部分是SPF计算的)

这种方式的路径并不是严格固定,所以也称作松散路径(Loose Explicit)

五、SR-BE与 SR-TE
SR-MPLS BE (Best Effort)

    使用SID来指导设备基于最短路径进行数据转发,没有强制走哪条路径,这种工作机制称为SR-MPLS BE。
    例如在本例中使用R6的Node SID 606可以指导数据沿着去往R6的最短路径来转发数据,该最短路径是基于路由协议计算得出的,并且支持等价路径。
    SR-MPLS BE是一种替代“LDP+IGP方案”的一种新方案。

SR-MPLS TE (Traffic Engine)流量工程

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

使用多个Node SID。

使用多个Adjacency SID。

使用Node SID与Adjacency SID组合,如图中所示。

你可能感兴趣的:(网络,网络协议,服务器)