11.2、SR基本原理

  • 前言

    • SR(Segment Routing)段路由作为SDN的关键技术,同时也是对IP网络倡导的极简协议的关键技术,在IP网络中得到越来越多的应用,课程将会对SR技术及在5G承载网中的应用进行分析讲解
  • SR产生背景-LDP面临的问题(一)
    • 背景
      • 随着语音、数据、视频等不同类型业务对网络要求的不尽相同,对带宽要求也不断增长。网络规模呈爆炸式的增长,传统的MPLS技术需要专门的标签分发协议,比如:LDP协议。
    • LDP协议依赖于IGP协议,使用本地标签交换,支持ECMP
      • 需要每条LSP都分配标签,资源的占用率比较大。
      • 状态维护报文也需要大量的带宽,需要和IGP进行同步,部署维护相对复杂,可扩展性也很差
    • 缺点:LDP本身有11种协议报文,在应用时大大增加了链路带宽的消耗和设备CPU利用率
    • 对于运营商来讲,需要按序快速部署网络,对于这样的业务,需求显然就不满足了
  • SR产生背景-LDP面临的问题(二)
    • LDP只支持IGP最短路径(最小开销)进行路径计算,不支持TE(流量工程)
      • 对于运营商来讲,需要软件定义网络,即SDN
  • SR产生背景-RSVP面临的问题(一)
    • RSVP面临的问题也是比较严重的
      • RSVP依据CSPF算路结果逐跳形成端到端的LSP,标签为本地标签
      • 逐跳,途径节点均会维护该Tunnel的状态信息,即便SDN化,仍需维护
      • RSVP TE配置辅助
      • ECMP实现复杂
      • 8中RSVP协议报文占据网络带宽和CPU处理
  • SR产生背景-RSVP面临的问题(二)
    • RSVP在负载分担方面实现辅助,需要配置多条Tunnel来实现,给配置和维护带来巨大的工作量
      • Eg

        • 源和目的端需要进行通信,可以通过上面的链路通信,也可以通过下面的链路通信。都要去建立一个隧道,对于维护和配置来讲都会带来巨大的工作量
  • SR产生背景-SR技术的诞生
    • 传统网络
      • 对于传统网络,显然不满足运营商按序快速部署业务网络的需要
    • 革命性SDN网络
      • 颠覆了传统网络,没有得到设备厂家和运营商的支持
    • 增量型SDN网络
      • 通过现有协议进行和扩展,采用原路由技术。能够更好地平滑演进
  • SR产生背景-SR的技术框架
    • SR是一种只需在源(显式路径加载节点)节点给报文增加一系列的段标识,便可指导报文转发的技术方案
    • 路径选路
      • 源节点具有转发路径的所有信息,来进行网络路径控制
    • 控制层面
      • 通过源节点进行控制
      • 扩展IGP和BGP来进行分段
      • 可以与控制器进行通信
    • 数据面
      • 将SR映射成MPLS标签的形式进行转发
  • SR基本概念
    • SR域(Segment Routing Domain):SR节点的集合
    • Segment:节点对入口报文执行的指令(如:依据最短路径转发报文到目的、或通过指定接口转发报文、或将报文转发至指定的应用/业务实例)
    • SID(Segment ID):Segment标识。Segment Routing将网络中的目的地址前缀/节点和邻接定义为一个个段,并且为这些目的地址前缀/节点和邻接分配段ID。段ID相当于传统MPLS技术中的MPLS标签,在转发层面映射为MPLS标签
    • SRGB(segment routing global block):为全局segment预留本地标签集合。在MPLS中,SRGB为全局标签预留的本地标签集合,在IPv6中,SRGB为全局还未被使用IPv6的地址集合
    • 标签栈(Segment List):标签栈是目的地址前缀SID/节点SID和邻接SID有序列表的排序集合,用于标识一条完整的标签交换路径LSP(Label Switched Path)。在MPLS架构中为标签栈,封装于报文头中指导转发
  • Segment
    • SR的基本理念是把网络分为不同的段(Segment),然后拼接起来,用于知道报文按指定的路径转发
    • SID:即Segment ID,用来标识唯一的段。在转发层面,映射为MPLS标签
    • SR技术中三种基本Segment:邻接段,前缀段和节点段
  • Segment-Prefix Segment
    • 基于Prefix Segment:由IGP使用SPF算法计算最短路径,所以也称为SR-BE(Best Effort)
    • 如下图所示,以节点Z为目的节点,其Prefix SID是100。通过IGP扩散之后,整个IGP域的所有设备学习到节点PE2的Prefix SID,之后都会使用SPF算法得出一条到节点PE2的最短路径
  • Segment-Adjacency Segment
    • 基于Adjacency Segment:头结点指定严格显式路径(Strict Explicit)。这种方式可以集中进行路径调整和流量调优,因此可以更好地配合实现SDN(Software-Defined Network)。Adjacency Segment主要用于SR-TE(Traffic Engineering)
  • Segment-Adjacency Segment + Node Segment
    • 基于Adjacency Segment + Node Segment:显式路径与最短路径相结合,称为松散路径(Loose Explicit)。主要用于SR-TE。
  • SRGB
    • SRGB是从本地标签资源隔离出来的一段区间,专门用于SR,以使SR的全局标签和传统MPLS在本地共存
    • 为节点SID基础,全局唯一的节点标签与本地标签不得冲突
    • SRGB范围和起始值需配置,在起始值基础上对节点SID的索引值进行偏移,得出本地标签
    • 各设备上的SRGB范围为何不配置为一样?
      • 标准中未统一规定SRGB范围,各设备商实现不同
      • 与传统MPLS共存时,各设备上空余的标签空间不能保证一样
  • SR的原理
    • SR(Segment Routing)段路由是对现有IGP协议进行扩展,基于MPLS协议,采用源路由技术而设计的在网络上转发数据包的一种协议
    • SR数据包转发过程·
      • 1、通过网络去划分段

        • 邻接段、前缀段、节点段
      • 2、每个段分配SID
      • 3、源节点配置段列表,在源节点进行有序的排列
      • 4、SR会将代表转发路径的段序列封装在数据包的头部,然后随着数据包传输。当网络的节点收到数据包后,会对段序列进行解析
        • 如果段序列的顶部标识是节点的段ID,会根据SPF计算提供的最短路径来转发该节点
        • 如果是邻接的,会根据邻接的SID来转发到下一个节点,知道目的报文到达目的节点
    • SR将网络中的目的地址前缀/节点和邻接定义为段,并且为这些段分配SID(Segment ID)。通
      过对Adjacency SID(邻接段)和Prefix/Node SID(目的地址前缀/节点段)进行有序排列(Segment List),就得到一条转发路径
  • 工作原理-SR如何工作(IS-IS SR-BE)(控制平面)
    • 拓扑中使用的IGP协议为ISIS,也是采用链路状态的算法
    • eg
      • P2上有loopback的环回口,IP地址为2.2.2.2/32。为环回口,即节点段分一个节点段的ID10,并将该信息泛洪到ISIS域当中,所有节点都会收到P2的NODE SID,生成一个标签转发表
  • 可以看到转发表中的出标签和入标签
  • eg
    • PE1

      • 入标签

        • 代表本地SRGB的起始值加发布的偏移值
        • 进入PE1的方向
      • 出方向
        • 下一跳SRGB的起始值加发布的偏移值
        • PE1出去的方向
      • 接口
        • 出接口的下一跳
  • 最终经过ISIS、SPF进行计算,得到两条负载分担的链路
  • 工作原理-SR如何工作(IS-IS SR-BE)(转发平面)

    • SR的标签操作类型是和MPLS是相同的
      • 标签

        • Push

          • 压入
        • 标签栈的交换
        • 标签的弹出
    • 拓扑
      • PE1到达PE2的SR-BE的Tunnel走的是两条链路

        • 在PE1节点接收到业务报文,根据目的地址和标签转发表,以及ECMP封装下一跳分配的标签

          • 如果走的是上面的链路,在PE1上就会封装出标签,出标签可以查看标签转发表为210,然后发送给下一跳接口P1
          • 如果走的是下面的链路,操作同上
    • 到达P1时,会根据外层标签以及标签转发表,来交换出标签作为下一跳分配的SR标签
    • 到达P3,查看转发表项,将新标签代替旧标签。最终PE2发现外层标签是自己的,会弹出外层标签。根据外层地址将业务报文转发给目标设备
  • 工作原理-SR如何工作(SR-TE)(控制平面)
    • SR-TE工作原理
      • 各节点通过BGP-LS将所有邻接SID的信息上报给控制器
      • 控制器采用PCEP来进行标签转发路径的计算,并且下发隧道信息
      • 通过NETCONF下发隧道属性信息给隧道首节点,隧道首节点通过PCEP来将它的状态上报给控制器。
      • 隧道首节点会根据控制器下发的标签栈,建立SR-TE的隧道
    • 控制层面的标签转发表项已经生成了
    • 如何工作
      • 假设

        • 所有节点使用相同的SRGB[1000,1999]
        • 所有Cost值都是1
      • 标签和拓扑信息已经上报给控制器,网络中的各节点通过BGP-LS把信息上报了控制器,控制器也完成了路径计算,然后下发路径。
        • 最终在PE1上可以看到标签转发表项和Tunnel标签栈的封装表格

          • Tunnel标签栈的封装表格

            • Tunnel在标签上走的路径
      • 通过控制器下发的路径和隧道的创建
  • 工作原理-SR如何工作(SR-TE Strict Explicit Path)(转发平面)
    • 如何进行转发?
      • 以图中PE1到PE2的严格路径,SR-TE Tunnel1为例

        • 1、接收到业务报文以后,会根据业务配置的路由策略

          • 隧道策略决定的SR-TE Tunnel封装Tunnel对应的标签栈
        • 2、判断对应的标签顶部是501为邻接的SID,会弹出进的标签501,并封装标签的其他标签,发送给下一跳接口P1
    • 步骤
      • 到达P1,判断栈顶标签是邻接的SID,会弹出栈顶标签,将剩余的标签封装起来,然后从对应的接口转发出去
      • 转发到P3,对于P3也是采取同样动作,判断栈顶标签是否为邻接SID,然后弹出栈顶标签将剩余的标签封装起来发送出去
      • 到达PE2时,将标签弹出。依据业务报文外部地址将业务报文转发给目标设备
    • 综上
      • 转发路径是根据SR-TE隧道对应的标签栈来对报文进行标签的操作,然后根据栈顶标签逐跳查找转发的出接口来指导报文转发到隧道的目的地址
  • 工作原理-SR如何工作(SR-TE Loose Explicit Path)(转发平面)
    • 图中PE1到PE2存在一个松散路径SR-TE Tunnel,松散路径SR-TE Tunnel松散路径如何转发
      • 1、PE1接收到一个业务报文,会根据业务配置的隧道策略来确定SR-TE Tunnel封装,然后封装对应的标签栈。
      • 2、根据外层标签和标签转发表来封装下一跳PE1节点分配的SR出标签,为1004。然后根据他的标签转发表到达下一跳,下一跳为P2
      • 3、根据外层标签和标签转发表,交换外层标签为1004,然后从对应的接口转发出去到达P4
      • 4、P4发现他的外层标签1004是自己,然后需要弹出1004标签,然后封装403,判断403是否为邻接的SID,将其弹出后根据转发表对应的接口转发出去,到达P3
      • 4、到达P3判断外层标签为306,是邻接标签则弹出外层标签306然后转发到PE2,PE2会依据业务报文的外层地址将业务报文转发给目标设备
    • 需要注意栈顶标签和栈顶标签的类型是什么
  • 思考题
    • 1、SR隧道类型有哪些(ABD)

      • A、SR-BE最短路径隧道
      • B、SR-TE严格显示路径隧道
      • C、SR-BE严格显示路径隧道
      • D、SR-TE松散显示路径隧道
    • 2、基于SR标签转发报文时,数据包可能需要执行的动作有哪些(ABC)
      • A、Push
      • B、Pop
      • C、Swap
      • D、Switch

11.2、SR基本原理相关推荐

  1. HC110110036 SR基本原理

    0x00 汇总 汇总链接 已经不想吐槽了,逼死强迫症 其实现在感觉已经要被淘汰了,不算是个合格的IE了,带完最后一期就再见好了!. 只学IA不用看,现在看了没意义 0x01 SR基本原理 SR(Seg ...

  2. 【计算机网络高分笔记】第三章:数据链路层

    [计算机网络高分笔记]第三章:数据链路层 标签(空格分隔):[计算机网络] 第三章:数据链路层 第三章:数据链路层 3.1 数据链路层的功能 3.2 组帧 3.3 差错控制 3.3.1 检错编码 3. ...

  3. 【考研408】计算机网络笔记

    文章目录 计算机网络体系结构 计算机网络概述 计算机网络的组成 计算机网络的功能 计算机网络的分类 计算机网络的性能指标 课后习题 计算机网络体系结构与参考模型 计算机网络协议.接口.服务的概念 IS ...

  4. 洛谷P1919 【模板】A*B Problem升级版(FFT)

    传送门 话说FFT该不会真的只能用来做这种板子吧-- 我们把两个数字的每一位都看作多项式的系数 然后这就是一个多项式乘法 上FFT就好了 然后去掉前导零 (然而连FFT的板子都背不来orz,而且空间又 ...

  5. c#实现客户端程序自动下载更新(单独程序)

    首先,自己工作需要实现客户端程序的自动更新下载,下面简单介绍自己实现逻辑和遇到的一些问题及解决方法 信息基本都是通过XML文件配置的,下文本地需要更新的程序简称为主程序 实现步骤简介: 1.获取本地程 ...

  6. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十九:LCD模块

    实验二十九:LCD模块 据说Alinx 301支持 7"TFT,好奇的朋友一定疑惑道,它们3.2"TFT以及7"TFT等两者之间究竟有何区别呢?答案很简单,前者自带控制器 ...

  7. 一文了解HCIA考试相关问题

    1.通过HCIA考试,说明您对中小型网络有初步的了解,了解中小型网络的通用技术,并具备中小型网络设计以及使用华为路由交换设备实施的基础协助能力. 2.因为hcia毕竟作为一门入门级别的网络工程师认证课 ...

  8. C#开发微信公众平台-就这么简单(附Demo)(转)

    原文:http://www.cnblogs.com/xishuai/p/3625859.html 写在前面 阅读目录: 服务号和订阅号 URL配置 创建菜单 查询.删除菜单 接受消息 发送消息(图文. ...

  9. php操作带中文的json数据

    1 <?php 2 //json格式字符串转成数组 3 $json='{"name":"肖滔","sex":"男" ...

最新文章

  1. Tensorflow— word2vec
  2. 分区格式化/挂载数据盘
  3. ITK:将图像传递给函数
  4. 【每天一道算法题】Numeric Keypad
  5. Groovy的本地安装和Eclipse插件的配置
  6. 红歌合唱之团结就是力量
  7. 的标题形状工具在哪里_自媒体如何搜集素材?标题、文章、图片素材收集3大途径!...
  8. 灯泡(信息学奥赛一本通-T1438)
  9. 4.13 | 学习笔记
  10. linux sed 笔记
  11. 打包Spring Boot应用
  12. oracle建立表语句 主键,oracle 创建表sql语句,主键,自增长
  13. 最好的ppt转pdf软件
  14. skills --札记
  15. 单片机STM32开发环境的安装
  16. Quasi-Newton拟牛顿法(共轭方向法)
  17. 关于DrawText的基准线纵坐标的计算
  18. 正则表达式的.*?不包含空格(解决办法)
  19. Linux命令 - mkdir命令
  20. 论文复现:Learning Efficient Convolutional Networks through Network Slimming

热门文章

  1. 淮南师范学院计算机组成原理试卷,淮南师范学院物化试卷J
  2. 额定功率台式计算机,解决方案:计算机电源分类当前的台式计算机电源的额定功率为200-4...
  3. outlook 2010 为啥设置签名没反应
  4. 用CSS样式完成作业
  5. 浅谈《数学之美》①——自然语言处理
  6. gigaset812说明书_西门子+Gigaset+A280+说明书.pdf
  7. 廖晓峰重庆大学计算机学院院长,重庆大学廖晓峰教授当选IEEE Fellow
  8. iOS开发中使用UILabel设置字体的相关技巧小结
  9. 【Linux】Linux的共享内存
  10. 一种4Gwifi远程控制三色灯蜂鸣报警器支持ERP安灯系统MESAPS对接