【21-7-25笔记】SR(Segment Routing)详解

2023-05-16

第一卷

第一章 简介

1.11 SRv6
SRv6:将SR框架应用到IPv6数据平面
SRv6对IPv6的价值至关重要,将极大地影响未来的IP基础设施部署,无论是在数据中心,大规模汇聚网络,还是在骨干网中。

第二章 Segment Routing基础

2.1 什么是SR
定义:基于源路由。用于节点选择路径。
原理:在数据包头部插入带顺序的Segment列表,以指示接收到这些数据包的节点怎么去处理和转发这些数据包。其中,Segment可以表示任何类型的指令,例如:与拓扑相关的、基于服务的、基于上下文的等等。
优势:
1.转发链路的节点无需存储所有可能经过的流维持状态信息,而只需执行数据包中的Segment指令。
2.源节点通过在数据报头中添加适当命令,可以实现基于单条流颗粒度的数据包引导。
特点:1、在IP和MPLS网络中提供高级流量引导能力;2、在数据平面和控制平面中保持可扩展性。
2.2 Segment概念
2.2.1 Segment和Segment标识
segment:节点针对所接收到的数据包要执行的指令,存于数据包报头中。
例子:指示按照最短路径传输、指示特定接口接收、指示发送的特定目的应用/实例。
segment标识(SID segment identifier):用于标识segment。格式取决于实现。
例子:MPLS标签、MPLS标签空间中的索引、IPv6地址。

2.2.2 segment组合
segment作为构建网络卢静的基本模块。可以单独使用,也可以组合使用。即使用segment有序列表(即“segment列表”或“SID列表”)
组合使用的优势:
1、可以引导数据包到网络的任何路径上,而不受最短路径、域边界、路由协议等的影响;
2、通过segment列表,数据包可以被引导通过服务链。

2.2.3 segment列表操作
①压入(PUSH)
在segment列表头部或者尾部插入一个或多个segment,其中第一个segment为活动segment。(与链表非常相似)
②继续(CONTINUE)
活动segment还没完成时,使其保持活动状态。
③下一个(NEXT)
活动segment已经完成时,设立下一个segment为活动segment。

2.2.4 全局和本地segment
2.2.4.1 全局segment
每个节点在其转发表中均安装全局segment指令,每个节点都学习并知道这个segment。
2.2.4.2 本地segment
本地segment只有在数据包被引导至特定节点时才可执行,一般搭配全局使用。
例子:有个本地segment为发送至特定特定端口,但需要一个前置的全局segment来将数据包引导到特定节点才可执行指定本地segment。
PS:本地segment虽然只能在特定的节点执行,但是所有的节点都需要知道该segment的存在。
2.3 SR控制平面
SR体系结构不基于特定的控制平面实现。虽然理论上,在各个节点配置segment也是可能的,但一般都是利用路由协议进行segment列表分发。
现在可用的路由协议有:IGP ISIS OSPF BGP
命名规则:IGP分发的segment称为“IGP segment”,ISIS的称为“ISIS segment”,以此类推。

第12章 segment routing ipv6数据平面

SR可以使用IPv6和MPLS数据平面。两者区别不在于架构,而在于架构的实现。
区别:
MPLS:当使用MPLS数据平面传送IPv6数据包时,segment列表以MPLS标签栈的形式压入数据包报头。当活动segment完成后,会被删除。
SRv6:当使用SR IPv6数据平面传送IPv6数据包时,segment列表被压入到数据包报头的SR报头中(SRH)(该报头是一种新型路由报头,IETE RFC 2460 IPv6协议规范中的一种扩展报头。)使用指针指向活动segment,活动segment执行后,指针指向下一segment,但原segment并不会删除。
PS:SRv6不需要网络中的所有节点都支持SRv6,只需必须处理报头的节点支持就可以,因为SRv6和非SRv6节点是可以相互操作的。
12.1 IPv6 segment

SRv6不同类型节点
图中显示了SRv6不同类型的节点。
①源节点:
-产生带有SRH的IPv6数据包的节点。
-SRv6域的入口节点(一般是路由器),其在IPv6报头中插入SRH或在数据包上压入带有SRH的外层IPv6报头。
②segment端节点:
segment端节点是终结一个segment的节点。带有SRH的IPv6数据包的目的地址对应于segment端节点的其中一个地址。segment端节点检查并更新SRH,执行与活动segment相关联的指令,此时活动segment即数据包的目的地址。
③中转节点:
中转节点是数据包路径上的节点,更具体地说,就是路由器。但不是segment端节点。数据包的目的地址不对应于中转节点上的地址。
RFC协议规范中规定,如果节点不对应于数据包的目的地址,则节点不处理路由报头。
中转节点基于IPv6目的地址转发IPv6数据包,不对SRH进行查找或改动,因此中转节点不需要支持SRv6。
重点:SRv6中很少使用真正的本地segment。一般使用的是关联性指令来代替本地segment,例如某个节点检测到分发的全局segment的某部分与其本身具有关联性,则会执行相关操作。

12.2 SRv6 SID
SRv6中的segment用128位的IPv6地址进行标识,相较于MPLS更加简单,不需要通过除了IPv6前缀(SID)之外的任何信息。
IPv6地址不仅可以表示路由器,还可以表示接口、设备、业务和应用等,或者也可以表示上述任何一种对象的集合。
同样,IPv6地址可以进行汇总,这也适用于用作SID的IPv6地址。但是,MPLS SID不能进行汇总。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【21-7-25笔记】SR(Segment Routing)详解 的相关文章

  • (译)ASP.NET MVC Routing 概述

    ASP NET MVC Routing 概述 在本篇教程中 xff0c 你将会了解到 ASP NET MVC 中一个重要的组件 这个组件叫做 ASP NET Routing xff0c 它负责将客户端请求的路径映射到特定的一个类 Contr
  • HCIE-Routing & Switching V3.0模拟试题.docx

    1 单选 如果有一个运行802 1D生成树协议的局域网 那么在这个网络中的交换机会从根交换机收到哪些参数信息 A Maxage nbsp B Forward delay nbsp C Root Cost nbsp D 以上选项都正确 2 单
  • ubuntu 出现 core dump 和 segment fault 错误

    在Linux环境下执行程序的时候 xff0c 有的时候会出现段错误 xff08 segment fault xff09 xff0c 同时显示core dumped 就像下面这样 xff1a 1 15428 segmentation faul
  • Paper review: Dynamic Routing Between Capsules

    Paper review Dynamic Routing Between Capsules 基本信息主要内容摘要基本思想神经科学设想routing by agreement卷积胶囊 算法和网络算法细节网络结构网络主体用重构来做正则化方法 实
  • Segment Routing笔记(一)

    SR 理论 一 MPLS TE缺点 RSVP TE大部分都是为了FRR的目的不支持ECMP所有流量都需要在隧道里诞生了 战术型 TE xff0c 只在需要的时候使用 术语 TI LFA 与拓扑无关的无环路备份 xff0c 能保证备份路径的最
  • Segment Routing—BGP-LS

    BGP LS概况 BGP LS是学习多个IGP区域和区域拓扑的首选机制 BGP LS使用BGP xff0c 以可扩展的方式分发网络信息 重要的是 xff0c BGP LS还承载了IGP没有分发的信息 xff08 例如BGP对等体互联链路 x
  • SAM-Segment Anything Model进行单张图片的检测记录

    一 代码和模型下载 下载链接 GitHub facebookresearch segment anything 将代码下载并解压到一个没有中文的路径下 页面往下滑找到需要下载的模型 nbsp 这里提供了三个模型 vit b的大小是358m
  • 【数据结构与算法】车辆路径问题(Vehicle Routing Problem,VRP)

    车辆路径问题 xff08 Vehicle Routing Problem VRP xff09 什么是车辆路径问题 车辆路线问题 xff08 VRP xff09 是指一定数量的客户 xff0c 各自有不同数量的货物需求 xff0c 配送中心向
  • 程序员的自我修养--链接、装载与库笔记:可执行文件的装载与进程

    可执行文件只有装载到内存以后才能被CPU执行 1 进程虚拟地址空间 程序和进程有什么区别 程序 或者狭义上讲可执行文件 是一个静态的概念 它就是一些预先编译好的指令和数据集合的一个文件 进程则是一个动态的概念 它是程序运行时的一个过程 很多
  • C 中的内存段——文本段

    有人可以告诉我什么是 C 中的 文本段 如果可能的话 给我看一个简单的例子 Unix 系统上程序的 文本 段是代码 机器代码 组成程序的函数 特别包括 main 如果程序是用 C 或 C 编写的 它还可以包含只读数据 经典程序中的其他段是
  • 如何访问 Nuxt 插件中的 .env 变量?

    细分分析提供了一个包含秘密 API 密钥的代码片段 在我的Nuxt js项目我创建了一个名为的插件segment js我在我的nuxt config js nuxt config js plugins src plugins segment
  • 使用 ggplot2 仅将线段添加到一个方面

    作为一个例子 我有这个数据框 称为my data Groups FactorA FactorB FactorC N value sd se ci 1 Control Condition1 Condition1 Condition1 3 92
  • 如何引用 Visual Studio 项目中用户定义段的开头?

    我正在努力转换与 gnu 工具链的 ld 链接的 C 程序 使其编译为 Visual studio 2005 项目 该程序将 data symbol 放在不同的段中并在 初始化阶段它在段之间复制数据 指向的指针 段的开始和结束在 ld 链接
  • 8086中的堆栈段和堆栈指针

    我对堆栈段 ss 和堆栈指针 sp 寄存器有点困惑 当堆栈为空时 sp值等于ss值吗 我读到 当我们将一个字 2字节 推入堆栈时 sp会减2 如果第一个语句为真 sp ss 那么我可以说 如果堆栈不为空 堆栈指针的值总是较小或等于堆栈段的值
  • 如何使用 gstreamer 从较长源的片段中制作音频剪辑?

    我想使用 gstreamer 将一个音频文件中的任意剪辑保存到一个新文件中 比如原著中1分钟到2分钟的片段 我该怎么做 你需要gnonlin http wiki pitivi org wiki GNonLin documentation S
  • 如何在 R 中创建字符串的重叠段列表?

    对于像 ABCDEFG 这样的字符串 是否可以分成不同长度的重叠段的不同列表 例如 有 2 个字母 AB BC CD DE EF FG 包含 3 个字母 ABC BCD CDE DEF EFG 等等 这些片段应该只是一个字母的移位 而不是简
  • ORG指令后设置段寄存器

    我目前正在关注操作系统开发教程 http brokenthorn com Resources OSDev4 html 其中包括有关引导加载程序的讨论 我的引导加载程序当前处于 16 位实模式 因此 我能够使用提供的 BIOS 中断 例如 V
  • Tensorflow unsorted_segment_sum 维度

    我正在使用tf unsorted segment sumTensorFlow 的方法 当我作为数据给出的张量只有一行时 它工作得很好 例如 tf unsorted segment sum tf constant 0 2 0 1 0 5 0
  • 如何通过 $_GET 接受 URL 中的哈希标记?

    据我所知 井号 不会发送到服务器 因此我似乎无法使用原始 PHP 来解析数据 如下面的 URL 所示 index php name Ben address 101 S 10th St Suite 301 我希望使用 GET 数据预先填充表单
  • 使用指针作为函数参数时的段前缀

    我有一个汇编 c 问题 我刚刚读到了有关段前缀的内容 例如 ds varX 等 前缀对于逻辑地址的计算很重要 我也读到 默认值是 ds 一旦您使用 ebp 寄存器来计算地址 就会使用 ss 对于代码 cs 是默认值 这一切都是有道理的 现在

随机推荐

  • linux/mm/memory.c/try_to_share()

    try to share checks the page at address 34 address 34 in the task 34 p 34 to see if it exists and if it is clean If so s
  • 通过 Telnet 在 Linux 终端中观看ASCII 星球大战

    打开终端并使用以下命令安装 telnet xff1a span class token function sudo span span class token function apt span span class token funct
  • 追逐鼠标光标的好奇小猫咪

    Oneko 是一个有趣的命令 xff0c 它将常规光标变成鼠标 xff0c 并创建一只好奇的小猫 xff0c 一旦移动光标 xff0c 小猫就会追逐它 它不仅限于终端 当猫追逐光标时 xff0c 还可以继续工作 使用以下命令安装 Oneko
  • Linux 中的旧扣簧键盘(Bucklespring 键盘)声音

    Ubuntu 可以使用 Snap 轻松安装它 运行以下命令 xff1a span class token function sudo span snap span class token function install span buck
  • PDF已加密,可以打开但是不能编辑不允许打印的解决办法

    文章目录 文档打开口令和许可口令解除加密方法一 FreeMyPdf xff1a http freemypdf com http freemypdf com 方法二 绿色小软件 xff1a PDF Password Remover 文档打开口
  • 如何在 Ubuntu 和其他 Linux 发行版中查看 MAC 地址

    文章目录 使用命令行查找MAC地址获取蓝牙的MAC地址 使用 GUI 获取 MAC 地址 在学习网络或对其进行故障排除时 xff0c 需要知道 MAC 地址 一台计算机可以有多个 MAC 地址 因为MAC地址是联网的核心部分 xff0c 每
  • 卸载流氓透明APP,帮老人清理手机弹窗广告

    症状 xff1a 只要解锁手机 xff0c 就时不时弹出广告视频 xff0c 声音还开到最大 xff0c 无法关闭 尤其是 xff0c 每点开一个app xff0c 都会弹出广告视频 xff0c 接打电话也不例外 xff0c 导致无法正常通
  • 无法翻译此网页的解决办法 - GoogleTranslateIpCheck

    2022年9月末 xff0c 网页翻译工具谷歌翻译停止了中国区服务 GitHub 地址 xff1a https github com Ponderfly GoogleTranslateIpCheck 我用的是win10系统 xff0c 所以
  • 树莓派4B(aarch64,arm64)bullseye安装Qt5、GStreamer

    简介 本文描述树莓派 4B Raspberry Pi OS xff08 64位 xff09 完成启动后 xff0c 进行的第一个编译安装任务 xff1a Qt5 43 GStreamer xff0c 同时也是OpenCV编译安装前的准备工作
  • 51单片机:蜂鸣器

    小白向单片机笔记二 xff1a 蜂鸣器 前言一 蜂鸣器原理二 蜂鸣器原理图1 蜂鸣器代码2 代码解释1 为什么蜂鸣器响 xff0c 和LED6闪烁中有两个delay 函数 xff1f 2 为什么BEEP 61 1是关闭LED6 而i 61
  • 多目标跟踪算法中之图匹配——匈牙利算法和KM算法详解

    目录 一 匈牙利算法1 算法背景及思想2 最大匹配3 最优匹配 完美匹配4 增广路径5 代码实现6 匈牙利算法总结6 1 深度优先6 2 广度优先 二 KM算法思想及局限性代码示例1 定义KM方法类2 定义权重数值 xff0c 执行主函数
  • linux/mm/memory.c/int share_page(unsigned long address)

    share page tries to find a process that could share a page with the current one Address is the address of the wanted pag
  • sumo教程 Hello World

    sumo教程 Hello World 注意事项 确保安装的sumo版本至少为1 4 0 以便能够使用本教程中显示的所有功能 要求 sumo gui和netedit的版本大于等于1 4 0 介绍 这个教程服务于第一次使用sumo的人员 我们准
  • 教程——OSMWebWizard

    教程 OSMWebWizard 有关事宜 osm web wizard提供一种最简单的方式开始sumo 基于一种openstreetmap的摘抄 你可以配置随机流量需求和可视化一种场景在sumo gui 这个教程可以指导你一步步从选择地图类
  • sumo-绕圈行驶

    绕圈行驶 在本教程中 xff0c 我们将使用 netedit 构建一个简单的圆形网络 xff0c 并使用重路由器使车辆绕圈行驶 所有定义文件都可以在 lt SUMO HOME gt docs tutorial circles 目录中找到 本
  • 教程——sumolympics

    SUMOlympics 本教程针对不同的交通模式设置了比赛 xff08 集体 100 米冲刺 xff09 您将学习如何在 netedit 中创建特殊车道和 xff08 非常简单的 xff09 红绿灯 xff0c 使用不同的车辆类别来定义车辆
  • sumo 教程——高速公路

    本教程涵盖了在多车道高速公路上创建异构流以及修改和保存视图设置的非常基本的元素 修建高速公路 编辑几何点 打开 netedit 创建一个虚构的高速公路 我们一开始就保持这个非常简单 xff0c 并考虑一个没有入口或出口的路段 按e进入边创建
  • sumo教程——Manhattan

    介绍 本教程介绍了如何在 SUMO 中构建曼哈顿移动模型 在这个模型中 xff0c 固定数量的车辆在曼哈顿电网网络上随机行驶 所有文件也可以在 lt SUMO HOME gt docs tutorial manhattan 目录中找到 创建
  • 基于51单片机的双通道DHT11温湿度显示器(LCD1602)

    基于STC89C51单片机的双通道DHT11实时温湿度显示系统 xff08 LCD1602 xff09 前言题目要求实现的功能思路介绍 代码部分注意事项驱动部分LCD1602驱动按键驱动 主要模块初始化DHT11驱动中断服务程序显示函数主函
  • 【21-7-25笔记】SR(Segment Routing)详解

    第一卷 第一章 简介 1 11 SRv6 SRv6 将SR框架应用到IPv6数据平面 SRv6对IPv6的价值至关重要 xff0c 将极大地影响未来的IP基础设施部署 xff0c 无论是在数据中心 xff0c 大规模汇聚网络 xff0c 还