前言:

  1. 多协议标签交换MPLS(Multiprotocol Label Switching)是一种IP(Internet Protocol)骨干网技术。MPLS在无连接的IP网络上引入面向连接的标签交换概念,将第三层路由技术和第二层交换技术相结合,充分发挥了IP路由的灵活性和二层交换的简捷性
  2. MPLS实际上是一种隧道技术。这种技术不仅支持多种高层协议与业务,而且在一定程度上可以保证信息传输的安全性

基本概念

传统的IP转发采用的是逐跳转发,数据报文经过每一台路由器,都要被解封装查看报文网络层信息,然后根据路由最长匹配原则查找路由表指导报文转发。各路由器重复进行解封装查找路由表和再封装的过程,所以转发慢

MPLS是基于MPLS头部实现数据快速转发,节约了时间,所以转发速度快

定义:

        MPLS(Multiprotocol Label Switching)是一种结合了第三层(网络层)路由第二层(数据链路层)交换的高效转发技术。其核心思想是通过在数据包前添加标签(Label),实现基于标签的快速转发,从而提升网络性能并支持多种高级功能(如VPN、流量工程等)

组成:

  • MPLS域(MPLS Domain):一系列连续的运行MPLS的网络设备构成了一个MPLS域

  • LSR(Label Switching Router,标签交换路由器):进行MPLS标签交换和报文转发的网络设备。位于MPLS域边缘、连接其它网络的LSR称为边沿路由器LER(Label Edge Router),区域内部的LSR称为核心LSR(Core LSR)

LSR分类:

  • 入站LSR(Ingress LSR):是向IP报文中压入MPLS头部并生成MPLS报文的的入口路由器

  • 中转LSR(Transit LSR):是将MPLS报文进行标签置换等操作,并将该报文继续在MPLS域中转发的中间路由器

  • 出站LSR(Egress LSR):是将MPLS报文中MPLS头部移除,还原为IP报文的出口路由器

FEC和LSP:

FEC:

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

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

最常见的 FEC 就是目的 IP 地址前缀(由 IGP 路由决定),LSR 会为每个 FEC 分配标签

LSP:

IP报文在MPLS网络中经过的入站,中转,出站路径称为标签交换路径LSP(Label Switched Path)。LSP是一个单向路径,与数据流的方向一致

同一个FEC的报文通常采用相同的LSP穿越MPLS域 , 所以对同一个FEC,LSR用相同的标签转发

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

标签:

IP报文进入MPLS域之前,会被入站LSR压入MPLS头部(又叫MPLS标签),形成一个MPLS标签报文,
一个标签报文可以包含一个或多个MPLS标签

标签(Label)是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个入标签,但是一台设备上,一个标签只能代表一个FEC

标签的4个字段:

  • Label:20bit,标签值域

  • Exp:3bit,用于扩展

  • S:1bit,栈底标识。S值为1时表明为最底层标签头部,为0就代表下面还有标签头部

  • TTL:8bit,用于当网络出现环路时 , 防止标签报被无限制转发 

标签栈:

标签栈(Label Stack)是指标签的排序集合(同时存在多个标签头部)

当标签栈存在多个标签时:

  • 最靠近二层头部的标签是栈顶标签,标签中的s字段为0

  • 最靠近IP头部的标签是栈底标签,标签中的s字段为1

 MPLS标签的处理:

标签操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop),它们是标签转发的基本动作

  • Push:当IP报文进入MPLS域时,MPLS边界设备在报文二层首部和IP首部之间插入一个新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新的标签(即标签嵌套封装)

  • Swap:当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换接收搭配的MPLS报文的栈顶标签

  • Pop:当报文离开MPLS域时,将MPLS报文的标签剥掉

问题:当MPLS报文到达最后一跳(Egress LER)时,标签已完成使命(下一步需转发原始IP包)。若Egress LER仍需执行撕标签+查IP路由表两步操作,效率较低

解决方案:让倒数第二跳(Penultimate Hop)提前撕掉标签,使Egress LER直接收到原始IP包,省去撕标签动作,最后一跳节点直接进行IP转发或者下一层标签转发,转发速度更快

注释:华为设备默认开启PHP,支持PHP的Egress节点分配给倒数第二跳节点的标签值为3。标签3,代表 "直接撕掉我的标签,不用替换新标签"

MPLS的转发:

MPLS转发的本质就是将数据归到对应的FEC并按照提前建立好的LSP进行转发

  • 对于整个MPLS域,LSP是某一特定的FEC进入域和离开域的路径,可以看成是LSR的有序集合
  • 对于单台LSR,需要建立标签转发表,用标签来标识FEC,并绑定相应的标签处理和转发等行为

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTF Web PHP弱类型比较与布尔值判断

题目源码与注释 <?php show_source("index.php"); // 显示自身源码&#xff0c;方便分析 include("flag.php"); // 包含flag变量 $a $_GET[a]; // 获取GET参数a&#xff0c;抑制报错// 关键判断 if($a 0 and $a){echo $flag; …

AntV G6动态连线

完整代码如下 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>AntV G6 动态连线</titl…

puppeteerSharp html转pdf

部属到linux 上报错&#xff1a; Failed to launch browser! /wwwroots/xxx/Chrome/Linux-138.0.7204.92/chrome-linux64/chrome: error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file: No such file or directory 问题服务包缺少依赖&…

springBoot接口层时间参数JSON序列化问题,兼容处理

背景&#xff1a;解决前端传入时间参数格式不固定场景&#xff0c;避免接收参数报错时间格式不能序列化。一、概述在 Java 后端开发中&#xff0c;处理 JSON 数据时&#xff0c;经常需要对日期时间字段进行反序列化。Java 中常用的日期时间类型是 java.time.LocalDateTime&…

List、Set、Map三者之间的关系

1、数据结构与核心特性接口数据结构顺序性唯一性键值对null 元素List动态数组/链表有序&#xff08;插入顺序&#xff09;允许重复否允许多个 nullSet哈希表 / 红黑树无序&#xff08;HashSet&#xff09;有序&#xff08;LinkedHashSet/TreeSet&#xff09;不允许重复否仅 Has…

进程控制----进程终止

一、进程终止的核心场景正常终止&#xff08;代码完整运行完毕&#xff09;成功&#xff1a;进程执行到main函数结束或调用exit()&#xff0c;返回退出码 0&#xff08;约定为执行成功&#xff09;。失败&#xff1a;代码执行完毕但结果异常&#xff0c;返回非零退出码&#xf…

Milvus docker-compose 部署

文章目录 前言Milvus docker-compose 部署1. 下载2. 修改配置3. 启动4. 测试 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的…

EveryThing搜索具体路径下文件中的内容

1.打开EveryThing 2.点击搜索&#xff0c;选择高级搜索 3.选择需要搜索的文件的路径以及文件中需要包含的内容 4.之后就可以搜索到对应的目标文件

【算法】宽度优先遍历BFS

二叉树的宽搜 429、N叉树的层序遍历 题解 BFS核心思想 二叉树的宽搜一般都是借助队列来实现的&#xff0c;实现的原理为首先将根节点进行放入队列中&#xff0c;然后将根节点进行弹出的时候&#xff0c;将这个节点的孩子节点进行放入队列中&#xff0c;然后继续弹出队头的元…

【STM32】通用定时器基本原理

STM32 通用定时器基本原理&#xff08;基于 STM32F1&#xff09;参考资料&#xff1a;STM32F1xx官方资料&#xff1a;《STM32中文参考手册V10》-第14章通用定时器STM32 定时器分类 STM32F103 系列共有三类定时器&#xff1a;&#x1f50e; 通用定时器&#xff08;TIM2~TIM5&…

【Go语言-Day 14】深入解析 map:创建、增删改查与“键是否存在”的奥秘

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…

Vue脚手架搭建项目+基础知识

1. 使用脚手架创建项目1.1 准备工作winR&#xff0c;在弹出的数据框中输入cmd&#xff0c;数据命令查看node以及npm版本 下载vue cli1.2 创建项目1.2.1 创建一个英文目录文件夹&#xff0c;cmd打开命令命令提示符1.2.2 vue ui命令打开控制台1.2.3 创建项目创建成功1.3 项目结构…

微信小程序下单页—地址列表页—新增地址页 页面交互

新增地址流程&#xff1a; 下单页 → 地址列表页 (1次跳转)地址列表页 → 新增地址页 (1次跳转)保存地址 → 返回地址列表页 (1次返回&#xff0c;自动刷新列表) 选择地址流程&#xff1a; 地址列表页 → 选中地址 → 返回下单页 (1次返回) 更换地址&#xff1a; 下单页 → 地址…

JVM与JMM

为了更清晰地对比JVM和JMM&#xff0c;我们可以采用表格形式&#xff0c;从定义、功能、结构、与多线程关系等方面进行详细比较&#xff1a; 对比项JVM&#xff08;Java Virtual Machine&#xff09;JMM&#xff08;Java Memory Model&#xff09;定义一种虚构的计算机&#x…

【Docker基础】Docker数据卷管理:docker volume rm及其参数详解

目录 1 引言&#xff1a;Docker Volume 的生命周期管理 2 docker volume rm命令基础 2.1 命令作用 2.2 命令语法 3 参数深度解析 3.1 基础参数表 3.2 高级参数详解 3.2.1 --force&#xff08;-f&#xff09; 4 Volume删除前置条件 4.1 可删除状态判断 4.2 常见报错处…

嵌入式系统内核镜像相关(十)

文章目录 前言一、点亮多个led灯的基础实验以及其中的问题1.1 基础流程1.1.1 alinx教程的问题1.1.1.1 驱动程序中的亮/灭逻辑修改&#xff01;1.1.1.1.1 逻辑错误的修改1.1.1.1.2 多灯亮/灭 1.1.1.2 驱动程序中引脚的问题以及与裸机开发的区别&#xff08;重要&#xff09;1.1.…

Word和Excel批量转PDF新方法,操作简单

PDF是一种跨平台的文档格式&#xff0c;无论在任何设备上查看&#xff0c;其排版、字体和图像都不会发生变化。这确保了文档的一致性&#xff0c;避免了由于不同软件版本或操作系统引起的显示问题。这款小巧的工具大小不到2MB&#xff0c;使用起来异常简单。只需要把需要转换的…

AI搜索 MCP最佳实践

背景 那些 LLM 不知道的事 尝试直接询问LLM“今天天气如何”时&#xff0c;会发现LLM无法回答——它既不知道“今天”是哪天&#xff0c;也无法获取地理位置信息。这揭示了LLM的局限&#xff1a;缺乏与外部工具和实时数据的交互能力。 为解决这一问题&#xff0c;MCP&#x…

JVM 简介与作用

&#x1f680; JVM 简介与作用 &#x1f4da; 深入理解 Java 虚拟机的核心概念与重要作用 &#x1f4d6; 目录 &#x1f914; 什么是 Java 虚拟机&#xff08;JVM&#xff09;&#x1f310; JVM 在 Java 生态中的核心地位&#x1f500; JVM 跨平台原理剖析&#x1f4dd; 总结 …

✨ OpenAudio S1:影视级文本转语音与语音克隆Mac整合包

✨ OpenAudio S1&#xff1a;影视级文本转语音与语音克隆Mac整合包 &#x1f680; OpenAudio S1 简介 OpenAudio S1 是由 Fish Audio 开发的 Fish Speech 系列的最新一代人工智能语音生成模型。该模型旨在大幅提升 AI 语音生成的技术水平&#xff0c;为用户提供更加自然、富有表…