第29章-SR技术概述

news2025/1/11 18:40:23

1. SR技术的产生背景

2. SR技术的基本概念

3. SR技术的基本原理


1. SR技术的产生背景

        1.1 传统的路由器设备因其转发性能较低

        ① 最长匹配算法的缺点,需要遍历整个路由表;

        ② 早期路由器多采用通用CPU进行转发处理,性能有限;

        ③ 路由转发属于面向无连接的,QoS保障效果差;

        1.2 MPLS转发的特点和缺点

        定义:MPLS(Multiprotocol Label Switching,多协议标签交换)的基本概念是用一个短而定长的标签来封装网络层分组;

        ① 在数据包的三层头部前二层头部后添加一个MPLS数据头部;

        ② 将标签封装后的报文转发到已升级改进过的交换机或者路由器;

        ③ 交换机或路由器根据标签值转发报文;

        特点:

        MPLS协议采用定长的标签代替IP地址,数据包抵达路由器或交换机后只需要一次查表,就能找出与其唯一匹配的表项,确定报文的出接口。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,从而节约了处理时间。

        MPLS的标签转发本质上是一种隧道技术,天然兼容多种网络层和链路层协议,非常适合在各种VPN业务中充当公网隧道。此外MPLS的报文转发依靠一条固定的标签交换路径,是一种面向连接的转发技术,这使得 MPLS在流量工程(Traffic Engineering,TE)、服务质量(Quality of Service,QoS)等领域也有着广泛的应用。

        MPLS的缺点:

        MPLS在广域网场景已经得到了大量部署,为广域网业务提供VPN隔离以及差异化的流量调度方案。但随着网络规模的不断扩大,云计算的发展以及用户对网络精细化管控需求的增强,MPLS 协议种类多、部署复杂、管理困难、可扩展性差等劣势也更加凸显,无法满足新代广域网所要求的动态部署、灵活调度、快速、可扩展等方面的要求。

        在控制协议方面,除了IGP和BGP协议外,MPLS 转发需要部署额外的标签分发控制协议,协议种类多,配置复杂,不利于维护:

在网络扩展能力方面,MPLS转发需要网络中各个节点逐个进行路径计算,且为了维护节点间链接状态,节点间需要发送大量消息维持邻居和路径,浪费了链路带宽及设备资源,设备控制层面压力大,对MPLS协议规模部署造成一定阻碍;

        被称为“下一代MPLS”的Segment Routing技术很好地继承了MPLS的优势,同时也对MPLS的劣势进行了颠覆和创新。

2. SR技术的基本概念

        2.1 SR技术的优势:

        与MPLS相比,SR(Segment Routing)技术的优势主要有以下3个方面:

        在转发平面,可以从MPLS直接继承,原有MPLS转发平面不需要做任何修改或进行小的修改就可以应用于SR网络,所以天然支持传统MPLS网络:IP6网络针对SR技术定义一个新的扩展头,叫 Segment Routing Header (SRH),来提供基于源的路由能力。

        在控制平面,不需要部署复杂的标签分发协议,通过对现有的IGP 协议和BGP协议进行扩展和优化,实现全网SR标签信息的通告和交:同时也可以通过SDN 控制器集中控制SR标签的分发和同步,从全局视角来为流量进行路径的规划,下发路径转发指导信息;

        在路径选择方面,采用源路由的方式进行转发,中间节点不需要维护路径信息,只需维持部分标签转发表项即可,简化了设备控制平面,而且这也正符合 SDN 转控分离的思想,可以说SR理念上天然支持 SDN。

3. SR技术的基本原理

        3.1 什么是SR?

        分段路由(Segment Routing,简称 SR)是基于源路由理念而设计的在网络上转发数据包的一种协议。SR 将网络路径分成一个个段,并且为这些段和网络节点分配 Segment ID(SID)。通过对SID进行有序排列 (Segment List,SID 列表), 就可以得到一条转发路径。

        SR采用源路径选择机制,预先在源节点封装好路径所要经过节点分配的SID(Segmentdentifier,段标识),当报文经过 SR 节点时,该节点根据报文的SID对报文进行转发。除源节点外,其它节点无需维护路径状态。

        3.2 SR的基本概念

        SR 有以下基本概念:

        SR节点:开启SR功能的设备通常被称为SR节点。其中,负责为进入SR网络的报文添加标签的入口节点称为源节点;负责剥离报文中标签、并将报文转发给目的网络的出口节点称为尾节点。

        Segment:段,表示网络指令,用来指明节点对入报文所执行的操作,指引报文去哪,怎么去。在MPLS SR 中是指对标签的操作,即压入标签、交换标签和弹出标签。

        SID:段标识,用来标识SR域内唯一的段,在MPLS SR中为MPLS标签,在SRv6中为IPv6 报文头。

        SR将网络路径分成一个个的段(Segment),并且为这些段分配 SID(Segment ID)。SID的分配对象有两种,转发节点或者链路。本例中转发节点SID1600X,X为路由器编号:链路SID XOX,X表示链路两端的节点编号

        3.3 SR转发案例

        如图所示,R1、R2、R3、R6 为链路分配的SID分别为102、203、306、607。R1将报文转发到R7 时,需要为报文指定出标签栈为(102、203、306、607)。报文转发过程如下:

        1.在源节点R1根据栈顶标签102查找标签转发表项,判断该标签对应的下一跳为R2,R1为报文封装标签栈 (203,306,607) 后,将该报文转发给 R2。

        2.中间节点 R2 接收到报文后,根据入标签 203 查找标签转发表项,判断该标签对应的下“跳为 R3。R2 删除标签栈最外层标签 203 后,发送给下一个中间节点 R3 继续转发

        3.中间节点 R3 接收到报文后,根据入标签 8 查找标签转发表项,判断该标签对应的下跳为 R6。R3 删除标签栈最外层标签 306 后,发送给下一个中间节点 R6 继续转发

        4.中间节点 R6 接收到报文后,根据入标签 607 查找标签转发表项,判断该标签对应的下4一跳为 R7。R6 删除标签栈最外层标签 607 后,发送给 R7 继续转发。

        5.R7 收到是一个IP 报文,按 IP 转发即可。

        3.4 SR的应用场景

        相比 MPLS 协议,SR 虽然有很多优势,但仍然需要计算和设计路转发路径。谁更合适来做这件事?显然是拥有网络全局视角的 SDN。可以说 Segment Routing 协议本身就是面向SDN 架构设计的协议,融合了设备自主转发和集中编程控制的优势,所以 SR 更多的是搭配SDN 控制器一同使用。

        如图所示,设备通过 BGP-LS (BGP Link-state)将网络拓扑信息同步到 SDN 控制器控制器知晓整个网络拓扑以及网络质量后,根据业务不同的质量需求进行路径的选择,并通过NETCONF 协议将相关选路配置下发到设备上。

        BGP-LS 主要的作用是汇总IGP 协议收集的拓扑信息上送给上层控制器。BGP-LS 特性产生前,路由器使用IGP (OSPF 或IS-IS) 协议收集网络的拓扑信息,IGP 协议将各个域的拓扑信息单独上送给上层控制器,在这种拓扑收集方式下,存在以下几个问题:

        对上层控制器的计算能力要求较高,且要求控制器也支持 IGP 协议及其算法:

        当涉及到跨IGP 域拓扑信息收集时,上层控制器无法看到完整的拓扑信息,无法计算端到端的最优路径。

        不同的路由协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理过程比较复杂。

        BGP-LS 特性产生后,IGP 协议发现的拓扑信息由 BGP 协议汇总后上送给上层控制器利用 BGP 协议强大的选路和算路能力,可产生以下几点优势:

        降低对上层控制器计算能力的要求,且不再对控制器的IGP 能力有要求:

        BGP 协议将各个进程或各个 AS 的拓扑信息做汇总,直接将完整的拓扑信息上送给控制器,有利于路径选择和计算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1654615.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第七届机电、机器人与自动化国际会议(ICMRA 2024)即将召开!

第七届机电、机器人与自动化国际会议(ICMRA 2024)将于2024年9月20日-22日在中国武汉举行。ICMRA 2024为各国专家学者提供一个学术交流的平台,讨论机电、机器人和自动化领域的最新研究成果和未来的研究方向,旨在能够建立起国家间&a…

(五)JSP教程——response对象

response对象主要用于动态响应客户端请求(request),然后将JSP处理后的结果返回给客户端浏览器。JSP容器根据客户端的请求建立一个默认的response对象,然后使用response对象动态地创建Web页面、改变HTTP标头、返回服务器端地状态码…

【Redis7】了解Redis

1.常见数据库 1.1.键值存储数据库 如 Map 一样的key-value 对,典型代表就是 Redis。 1.2.列存储数据库 关系型数据库是典型的行存储数据库,按行存储的数据在物理层面占用的是连续存储空间,不适合海量数据存储。而按列存储则可实现分布式存储&…

新火种AI|马斯克聘用OpenAI泄密者,他们的梁子着实越结越深...

作者:小岩 编辑:彩云 就在最近,昔日就职于OpenAI的工程师Pavel Izmailov正式加入了马斯克的AI团队,他还在自己的推特上大张旗鼓的做着宣传:研究院xai。 AI工程师的跳槽本不值得惊讶,但Pavel的跳槽却在行…

什么牌子的洗地机质量最好?四款耐用高分产品推荐

洗地机具备了吸尘、擦拭、除菌等多种功能,可以一次完成多种清洁任务,帮助用户更高效地保持家居整洁,节省时间和精力,备受人们的喜爱。但是怎么挑选到优质的洗地机一直是大家关注的问题。今天,笔者将结合自己在家电行业…

mac通过termius连接Linux服务器

mac上安装 linux系统 如果有 linux服务器账号密码,那么上一步可忽略; 比如:直接连接阿里云或腾讯云账号 1. 安装termius 链接: https://pan.baidu.com/s/1iYsZPZThPizxqtkLPT89-Q?pwdbw6j 提取码: bw6j 官网 Termius - SSH platform for …

Linux-信号保存

1. 概念 进程执行信号的处理动作,称为 信号递达(Delivery) 信号从产生到递达之间的状态,称为 信号未决(Pending) 进程可以选择 阻塞(Block)某个信号 过程: 信号产生 ——…

flowable一对并发网关跳转的分析

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…

hadoop学习---基于Hive的聊天数据分析报表可视化案例

背景介绍: 聊天平台每天都会有大量的用户在线,会出现大量的聊天数据,通过对聊天数据的统计分析,可以更好的对用户构建精准的用户画像,为用户提供更好的服务以及实现高ROI的平台运营推广,给公司的发展决策提…

二进制,八进制,十六进制转十进制 c++

紧接着十进制转二进制,八进制,十六进制-CSDN博客这篇文章 输入一个二进制,八进制的数,怎样能转化为十进制呢? 原理如下: K进制转十进制 按权相加法展开成一个多项式,每项是该位的数码与相应…

Maven+Junit5 + Allure +Jenkins 搭建 UI 自动化测试实战

文章目录 效果展示Junit 5Junit 5 介绍Junit 5 与 Junit 4 对比PageFactory 模式编写自动化代码公共方法提取测试用例参数化Jenkins 搭建及配置参数化执行生成 Allure 报告Maven 常用命令介绍POM 文件效果展示 本 chat 介绍 UI 自动化测试框架的搭建: 运用 page factory 模式…

高速开箱机价格与性能解析:如何挑选适合您的开箱解决方案?

随着电商和物流行业的迅猛发展,高效、自动化的包装设备成为了提升工作效率、减少人工成本的必备利器。高速开箱机作为其中的重要一环,其性能与价格成为了许多企业和个人关注的焦点。星派将深入探讨高速开箱机的价格与性能之间的关系,帮助您在…

基于springboot+vue+Mysql的口腔管理平台

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

Linux无root配置Node,安装nvm

1. 安装NVM: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # 或者,如果你使用wget wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 对于bash用户,可以运行&…

时序图详解

1.这是iic总线在回应时候的时序图,data in代表eeprom收到数据,回stm32的ack,数据回应,data out代表stm32收到eeprom的消息,数据输出ack回应 2.交叉线 代表在这一次输出高电平,或者在这一次也可能输出低电…

《武林秘籍》——闪侠惠递如何让消费者寄快递更安心!

现如今,网上下单寄快递的便利性让众多人享受到了电商物流飞速发展带来的红利性。今天小编直接介绍一款寄快递特别省钱的利器,就是利用闪侠惠递来寄快递。闪侠惠递寄快递,真正的实现了便宜寄快递发物流的便捷性,开创了低价发快递的…

Hypack 2024 简体中文资源完整翻译汉化已经全部完成

Hypack 2024 简体中文资源完整翻译汉化已经全部完成 Hypack 2024,资源汉化共翻译11065条。毕竟涉及测绘、水文、疏浚等专业术语太多,翻译有很多理解不正确的地方,望各位专业人员指正。 压缩包内包含Hypack 2024、Hypack 2022、Hypack 2021、…

企业如何用数字化为预提摊销业务赋能?

对于企业来说,想要实现系统化、智能化、自动化的预提摊销管理,需要做足哪些功课?常见场景下的业务难题又该如何破解?今天胜意科技就给大家介绍一下,企业如何通过数字化手段搞定预提摊销业务难题。 一、预提摊销痛点 在…

Java 三大特性之继承

目录 一、为什么需要继承? 二、继承概念 三、继承的语法 四、子类访问父类成员 五、super关键字 六、继承关系下的构造方法 七、继承关系下的初始化 八、protected关键字 九、继承的三种方式 十、final关键字 十一、继承和组合 一、为什么需要继承&#…

可视化面板布局适配屏幕-基于 flexible.js + rem 智能大屏适配

可视化面板布局适配屏幕-基于 flexible.js rem 智能大屏适配 VScode 安装cssrem插件引入flexible.js在之后的开发都使用rem为单位,安装cssrem插件就是为了快捷将px转为rem我们的设计稿是1920px,设置最小宽度为1024px,最后,我们可…