当前位置: 首页 > news >正文

MPLS-基础、LSR、LSP、标签、体系结构

MPLS技术

MPLS基础

MPLS:转发数据时,只在网络边缘分析IP报文头,不在每一跳都分析,节约了转发时间。

MPLS:Multiprotocol Label Switching,多协议标签交换骨干网技术。主要应用:VPN、流量工程、QoS(Quality of Service)等方面。

ATM:Asynchronous Transfer Mode,异步传输模式。

应用方面:VPN(Virtual Private Network),流量工程,Qos(Quality of Service)等广泛应用。    

网络结构,基于标签进行转发。

LSR:Label Switching Router,标签交换路由器,进行MPLS标签交换和报文转发的网络设备。

MPSL域:MPLS Domain,由LSR构成的网络区域。

LER:Label Edge Router,MPLS区域边缘路由器,连接其他网络的LSR设备。

Core LSR:核心LSR,MPLS区域内部的LSR。

LSP:Label Switched Path,标签交换路径,IP报文在MPLS网络中经过的路径。LSP是一个单向路径,与数据流的方向一致。

        1.1、 Ingress:LSP的入口LER称为入节点。打上标签。

        1.2 、Transit:位于LSP中间的LSR称为中间节点。

        1.3 、Egress:LSP的出口LER称为出节点。弹出标签。

注意:一条LSP可以有0个、1个或多个中间节点,但有且只有一个入节点和出节点!!!

MPLS体系结构

由控制平面(Control Plane)和转发平面(Forwading Palne)组成。

1、控制平面: 负责产生和维护路由器信息以及标签信息。

        1.1、 路由信息表RIB:Routing Information Base,由IP路由协议生成,用于选择路由。

        1.2、 标签分发协议LDP:Label Distribution Protocol,负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。

        1.3 、标签信息表LIB:Label Information Base,由标签分发协议生成,用于管理标签信息。

2、转发平面:即数据平面(Data Palne),负责普通IP报文的转发以及带MPLS标签报文的转发。

        2.1 、转发信息表FIB:Forwarding Information Base,从RIB提取必要的路由信息生成,负责普通IP报文的转发。

[LSR_1]display fib

        2.2 、标签转发信息表LFIB:Label Forwarding Information Base,简称标签转发表,由标签分发协议在LSR建立LFIB,负责带MPLS标签报文的转发。

MPLS标签

1、转发等价类:

        1.1、 MPLS将具有相同特征的报文归为一类,称为转发等价类FEC(Forwarding Equivalence Class),属于相同FEC的报文在转发过程中被LSR以相同方式处理。

        1.2 、FEC:可以1根据源地址、目的地址、源端口、目的端口、VPN等要素进行划分。在传统的IP匹配算法中,将路由作为转发等价类。到同一条路由的所有报文就是一个转发等价类。

2、标签:4字节,32bit

        2.1、 Label,是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC。

        2.2 、在MPLS中,标签可以多层,即标签嵌套,主要应用在MPLS VPN、TE FRR(Traffic Engineering Fast ReRouter)中。

        2.3 、标签栈:Label Stack,指标签的排序集合。

                2.3.1 、栈顶MPLS标签或者外层MPLS标签:Outer MPLS label,靠近二层首部的标签。

                2.3.2 、栈底MPLS标签或者内层MPLS标签:Inner MPLS label,靠近IP首部的标签。

标签栈:按照后进先出方式组织标签,从栈顶开始处理标签。

部署Qos时,端到端的部署,从始至终经过的设备都部署优先转发。

MPLS标签空间:20bit

1、取值范围

        1.1、0~15,特殊标签

2、标签的分配

3、LSP的两种建立方式:MPLS需要为报文事先分配好标签,建立一条LSP,才能进行报文转发。用于在MPLS域中指导报文的转发。

        3.1 静态:管理员人为配置的(16~1023),不能相互感知到整个LSP的情况,因此静态LSP是一个本地概念。适用于规模较小、业务稳定的网络部署。

        3.2 动态:协议自动产生的(1024及以上),由MPLS的控制协议(也称为信令协议)动态建立。(LDP,RSVP,MP-BGP)

标签由下游LSR分配,按从下游到上游的方向分发。

        3.3 MPLS可以使用多种标签发布协议

                3.3.1 LDP:Label Distribution Protocol,标签分发协议,专门为标签发布而制定的协议。

                3.3.2 RSVP-TE:Resource Reservation Protocol Traffic Engineering,是对RSVP的扩展,主要用于流量工程。

                3.3.3 MP-BGP:Multiprotocol Border Gateway Protocol,是在BGP协议基础上扩展的协议,主要用于 MPLS VPN和跨域VPN的标签路由分配标签。

相关文章:

MPLS-基础、LSR、LSP、标签、体系结构

MPLS技术 MPLS基础 MPLS:转发数据时,只在网络边缘分析IP报文头,不在每一跳都分析,节约了转发时间。 MPLS:Multiprotocol Label Switching,多协议标签交换骨干网技术。主要应用:VPN、流量工程…...

【RV1126】Ubuntu22.04下sdk编译问题汇集

对于新版本Ubuntu系统来编译SDK,尤其是buildroot ,是一个巨大考验,发现问题如下: 1. c-stack.c的SIGSTKSZ错误 buildroot 报错:c-stack.c:55:26:error:missing binary operator before token “(“55 在buildroot目录中找到c-s…...

51单片机使用uart串口和助手简单调试

基础知识 参考 特殊功能寄存器PCON(控制波特率是否加倍SMOD)、TMOD(T0,T1计时器的功能方式)、TCON(T0,T1计时器的控制)、串口中断、SCON(串口数据控制寄存器) 关闭定时器1中断&…...

Python网络爬虫(五):b站弹幕

上一篇对b站的视频评论爬取进行了探讨,这一篇是弹幕。直接上代码: import csv import json import re import chardet import requestsheaders = {user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Saf…...

Docker环境安装Postgresql数据库Posrgresql 15.6

宿主机是ubuntu 22.04版本 ubuntu宿主机上安装docker,参见官方文档https://docs.docker.com/engine/install/ubuntu/, docker-ce是社区版 docker-ee是企业版 1、检查Docker是否安装 rootODS1SPGOFSDEV:~# docker Command docker not found, but can be installed …...

当代软件专业大学生与青年在新质生产力背景下的发展探究

在新质生产力的浪潮中,信息技术以前所未有的速度革新,为软件专业的大学生和青年带来了丰富的机遇,同时也伴随着一系列的挑战。他们如何把握时代的脉搏,实现个人的发展,成为了值得深入探讨的话题。 一、新质生产力背景下的机遇 随着新质生产力的不断发展,信息技术在各个领…...

MATLAB——知识点备忘

最近在攻略ADC建模相关方面,由好多零碎的知识点,这里写个备忘录。 Matlab 判断一个数是否为整数 1. isinteger 函数 MATLAB中,可以使用 isinteger 函数来判断一个数是否为整数,例如:要判断x是否为整数可以采用以下代…...

C++入门(以c为基础)——学习笔记2

1.引用 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空 间。在语法层面,我们认为它和它引用的变量共用同一块内存空间。 可以取多个别名,也可以给别名取别名。 b/c/d本质都是别名&#…...

设计模式-单例模式(懒汉式)

1. 概念 保证一个类只有一个实例并为该实例提供一个全局唯一的访问节点 2. 懒汉式-方式一 2.1 代码示例(方式一) 示例 public class Singleton03 {/*** 构造器私有化*/private Singleton03() {}/*** 成员变量*/private static Singleton03 INSTANCE;…...

算法| ss 回溯

39.组合总数46.全排列—478.子集79.单词搜索—1连续差相同的数字—1 39.组合总数 /*** param {number[]} candidates* param {number} target* return {number[][]}*/ // 思路 // dfs传参,传idx, 剩余target // dfs返回: 0 收集&#xff0c…...

基于R语言绘制-散点小提琴图

原文链接:R语言绘图 | 散点小提琴图 本期教程 写在前面 本期的图形来自发表在Nature期刊中的文章,这样的基础图形在日常分析中使用频率较高。 获得本期教程数据及代码,后台回复关键词:20240405 绘图 设置路径 setwd("You…...

Arduino开发 esp32cam+opencv人脸识别距离+语音提醒

效果图 低于20厘米语音提醒字体变红 Arduino代码 可直接复制使用&#xff08;修改自己的WIFI) #include <esp32cam.h> #include <WebServer.h> #include <WiFi.h> // 设置要连接的WiFi名称和密码 const char* WIFI_SSID "gumou"; const char* …...

LeNet卷积神经网络

文章目录 简介conv2d网络层的结构 简介 它是最早发布的卷积神经网络之一 conv2d 这个卷积成的参数先进行介绍一下&#xff1a; self.conv1 nn.Conv2d(in_channels3, out_channels10, kernel_size3, stride1, padding1)先看一下in_channels 输入的通道数&#xff0c;out_cha…...

Python常用算法思想--回溯算法思想详解【附源码】

通过回溯算法解决“组合”问题、“排序”问题、“搜索”之八皇后问题、“子集和”之0-1背包问题、字符串匹配等六个经典案例进行介绍: 一、解决“组合”问题 从给定的一组元素中找到所有可能的组合,这段代码中的 backtrack_combinations 函数使用了回溯思想,调用 backtrack…...

Day5-Hive的结构和优化、数据文件存储格式

Hive 窗口函数 案例 需求&#xff1a;连续三天登陆的用户数据 步骤&#xff1a; -- 建表 create table logins (username string,log_date string ) row format delimited fields terminated by ; -- 加载数据 load data local inpath /opt/hive_data/login into table log…...

01 计算机网络发展与分类

计算机网络&#xff1a;计算机技术与通信技术的结合。 阶段一&#xff1a;早期网络&#xff1a;ARPAnet。 阶段二&#xff1a;厂商独立发展阶段 阶段三&#xff1a;标准化阶段&#xff1a;ISO,TCP/IP 计算机网络分类 计算机网络分类1&#xff1a;通信子网和资源子网 通信子…...

ubuntu安装sublime3并设置中文

安装Sublime Text 3 在Ubuntu上安装Sublime Text 3可以通过以下步骤进行&#xff1a; 打开终端。 导入Sublime Text 3的GPG密钥&#xff1a; wget -qO- https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - 添加Sublime Text 3的存储库&#xff1a; …...

python调用阿里云短信配置

1. 新增资质和签名 # 访问地址&#xff1a; https://dysms.console.aliyun.com/domestic/text/qualification2. 静静等待几十分钟~~~ 3. 通过sdk去调用&#xff0c;查看有没有python的sdk https://next.api.aliyun.com/api/Dysmsapi/2017-05-25/SendSms?完整代码 # -*- cod…...

MySQL 8.0.13安装配置教程

写个博客记录一下&#xff0c;省得下次换设备换系统还要到处翻教程&#xff0c;直接匹配自己常用的8.0.13版本 1.MySQL包解压到某个路径 2.将bin的路径加到系统环境变量Path下 3.在安装根目录下新建my.ini配置文件&#xff0c;并用编辑器写入如下数据 [mysqld] [client] port…...

【idea快捷键】idea开发java过程中常用的快捷键

含义win快捷键mac快捷键复制当前行或选定的代码块Ctrl DCommand D通过类名快速查找类Ctrl NCommand N通过文件名快速查找文件Ctrl Shift NCommand Shift N通过符号名称快速查找符号&#xff08;类、方法等&#xff09;Ctrl Alt Shift NCommand Shift O跳转到声明C…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍&#xff1a; img 属性指定分区存放的 image 名称&#xff0c;指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件&#xff0c;则以 proj_name:binary_name 格式指定文件名&#xff0c; proj_name 为工程 名&…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...