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

MPLS原理及配置

赶时间可以只看实验部分

由来:90年代中期,互联网流量的快速增长。传统IP报文依赖路由器查询路由表转发,但由于硬件技术存在限制导致转发性能低,查表转发成为了网络数据转发的瓶颈。
因此,旨在提高路由器转发速度的MPLS(Multi-Protocol Label switching,多协议标签交换)被提出。与传统IP路由方式相比,MPLS在数据转发时,只在网络边缘分析IP报文头,在网络内部采用更为高效的标签(Label)转发,节约了处理时间。
随着设备硬件性能不断提升,MPLS在提高数据转发速度上的优势逐渐弱化,但其支持多层标签嵌套和设备内转控分离的特点,使其在VPN(VirtualPrivate Network,虚拟私有网络)、QoS(Quality ofService,服务质量)等新兴应用中得到广泛应用。

一:MPLS基本概念:(俗称为2.5层)

在这里插入图片描述

术语介绍:
1.MPLS域(MPLS Domain):一系列连续的运行MPLS的网络设备构成了一个MPLS域。
2.LSR(Label Switching Router,标签交换路由器):支持MPLS的路由器(实际上也指支持MPLS的交换机或其他网络设备)。位于MPLS域边缘、连接其它网络的LSR称为边沿路由器LER(LabelEdge Router),区域内部的LSR称为核心LSR(Core LSR)。
3.除了根据LSR在MPLS域中的位置进行分类之外,还可以根据对数据处理方式的不同进行分类:
入站LSR(IngressLSR):通常是向IP报文中压入MPLS头部并生成MPLS报文的LSR。
中转LSR(Transit LSR):通常是将MPLS报文进行例如标签置换操作,并将报文继续在MPLS域中转发的LSR。
出站LSR(Egress LSR):通常是将MPLS报文中MPLS头部移除,还原为IP报文的LSR。
在这里插入图片描述
4.LSP(Label switched Path,标签交换路径):是标签报文穿越MPLS网络到达目的地所走的路径
5.FEC(Forwarding Equivalence Class,转发等价类)是一组具有某些共性的数据流的集合,这些数据流在转发过程中被网络节点以相同方式处理。
在MPLS网络中,FEC可以通过多种方式划分,例如基于目的IP地址及网络码、DSCP等特征来划分。
数据属于哪一个LSP,由数据进入MPLS域时的Ingress LSR决定。
MPLS标签通常是与FEC相对应的,必须有某种机制使得网络中的LSR获得关于某FEC的标签信息。

二:MPLS标签:

IP报文进入MPL域之前,会被入站LSR压入MPLS头部(又叫MPLS标签),形成一个MPLS标签报文。一个标签报文可以包含一个或多个MPLS标签。
在这里插入图片描述

标签(Label):用于携带标签值,长度20 bit。
EXP(ExperimentalUse):主要用于CoS(Class of Service),长度3 bit。
S(Bottom of stack):栈底位,用于指示该标签头部是否为最后一层标签,长度1bit。如果该字段为1,则表示当前标签头部为栈底;如果该字段为0,则表示当前标签头部之后依然还有其他标签头部。TTL(TimeTo Live):用于当网络出现环路时,防止标签报文被无限制转发,与IP报文头部中的TTL具有相同的意义 长度8 bit。

三:MPLS标签栈:

MPLS支持一层或多层标签头部,这些标签头部的有序集合被称为标签栈(Labelstack)
当标签栈中存在多个标签时:
最靠近二层头部的标签是栈顶标签,标签中的s字段为0。
最靠近IP头部的标签是栈底标签,标签中的S字段为1。

在这里插入图片描述
标签是一个短而定长的、只具有本地意义的标识符。标签空间就是指标签的取值范围。标签值的范围及规划 如下:
在这里插入图片描述

标签处理过程:

在这里插入图片描述
标签是由LDP分发的,LDP 协议即标签分发协议(也有建立邻居关系,默认自动建立完成的)
路径建立:通过邻居发现、会话建立等过程,使标签交换路由器 LSR 之间能够相互通信并交换标签信息,确定每个转发等价类 FEC 对应的标签交换路径 LSP,让数据包能沿着特定路径进行转发。
路径维护:在网络运行过程中,LDP 协议持续监测 LSP 的状态,当网络拓扑发生变化或链路出现故障时,能够及时调整标签映射关系和 LSP,保证数据的正常转发。

四:实验部分

静态部分

[R1]static-lsp ingress lto4 destination 4.4.4.4 32 nexthop 12.1.1.2 out-label 104
[R2]static-lsp transit lto4 incoming-interface g0/0/0 in-label 104 outgoing-interface g0/0/1 nexthop 23.1.1.3 out-label 204
[R3]static-lsp transit lto4 incoming-interface g0/0/0 in-label 204 outgoing-interface g0/0/1 nexthop 34.1.1.4  out-label 304
[R4]static-lsp egress lto4 incoming-interface G0/0/0 in-label 304

动态部分:

LDP先为下游设备添加标签
入栈设备收到IP包后,查FIB(即路由表),压入102号标签;到达中转设备,它查LFIB(标签转发表),进行标签交换(102->103),再到R3,进行LFIB表查询:弹出标签(103),再查FIB表,进行ip地址转发。

如果知道R3是末跳,R2是次末跳,这时候在R2的时候就弹出标签,发IP包给R3,到R3的时候直接查看FIB表(路由表),就不需要进行弹出标签了。
在这里插入图片描述

全局下:
[R1-LoopBack0]mpls lsr-id 1.1.1.1		//用环回口充当mpls的id编号
[R1]mpls
Info: Mpls starting, please wait... OK!
[R1-mpls]mpls ldp
接口下:
[R1-GigabitEthernet0/0/0]mpls
[R1-GigabitEthernet0/0/0]mpls ldp
其他也一样

抓取报文如下:对应上述内容
在这里插入图片描述

[R1]dis mpls ldp peer		//用于显示本地路由器 R1 的标签分发协议 LDP 对等体及会话信息。
[R1]dis cu co ospf			//用于显示 R1 上与 OSPF 协议相关的配置信息。
[R1-GigabitEthernet0/0/1]dis cu | include mpls		//在指定的 GigabitEthernet0/0/1 接口下,显示该接口包含 “mpls” 关键字的配置信息。
[R1]dis mpls lsp			//用于显示 R1 路由器上的 MPLS 标签交换路径 LSP 的相关信息,

假设以到达4.4.4.4的网络为例:
根据 PHP 机制,当数据包到达倒数第二跳 LSR 时,会将数据包的标签替换为一个特殊的标签(例如隐式空标签,值通常为 3)所以:
在R4上的R4的入标签为3,R3这里的出标签也为3(代表次末跳),入标签为1026(路由器根据本地的标签分配策略为其分配了 1026 作为入标签。)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

MPLS原理及配置

赶时间可以只看实验部分 由来:90年代中期,互联网流量的快速增长。传统IP报文依赖路由器查询路由表转发,但由于硬件技术存在限制导致转发性能低,查表转发成为了网络数据转发的瓶颈。 因此,旨在提高路由器转发速度的MPL…...

口碑很好的国产LDO芯片,有哪些?

在几乎任何一个电路设计中,都可能会使用LDO(低压差线性稳压器)这个器件。 虽然LDO不是什么高性能的IC,但LDO芯片市场竞争异常激烈。最近几年,诞生了越来越多的精品国产LDO,让人看得眼花缭乱。 业内人士曾经…...

【流程设计】类似钉钉的流程设计功能样式demo

对于一些审批流程&#xff0c;可能会用到这个功能&#xff0c;通过这样一层层的加下来&#xff0c;弄一个审批流程的数组&#xff0c;然后根据这个来审核是否都通过审批&#xff0c;这里是简单的弄一个样式的demo&#xff0c;功能自由发挥 <!DOCTYPE html> <html>…...

ChatGPT入门之文本情绪识别:先了解LSTM如何处理文字序列

文章目录 0. 首先聊聊什么是RNN1. 理解LSTM&#xff0c;从数据如何喂给 LSTM开始2. LSTM每个门是如何处理序列数据的&#xff1f;2.1 遗忘门&#xff08;Forget Gate&#xff09;&#xff1a;该忘掉哪些信息&#xff1f;2.2 输入门&#xff08;Input Gate&#xff09;&#xff…...

测试开发之面试宝典

目录 session和cookie的区别 session和cookie的区别 1.session和cookie都是鍵值对应的 2.session和cookie都是服务器生成的&#xff0c;session的ID&#xff0c;即服各器用来识别读取session对象的一把钥匙 3.session是保存在服各器端&#xff0c;而cookie是返回給客戶端的&…...

399. 除法求值【 力扣(LeetCode) 】

文章目录 零、LeetCode 原题一、题目描述二、测试用例三、解题思路3.1 图的路径搜索3.2 路径压缩 四、参考代码4.1 图的路径搜索4.2 路径压缩 零、LeetCode 原题 399. 除法求值 一、题目描述 给你一个变量对数组 equations 和一个实数值数组 values 作为已知条件&#xff0c;…...

算法日记1:洛谷p2678跳石头(二分答案)

1、题目 二、题解&#xff1a; 2.1解题思路: 1.题目要求求出最小值最大&#xff0c;明显的二分答案题目&#xff0c;所以我们可以二分可以跳跃距离int l-1,rL1; 2.此时我们思考lmid和rmid的处理,当我们的check(mid)为true时候 表明我们此时的mid是符合要求的&#xff0c; 那么…...

Unity shader中真的可以动态关闭Stencil Test吗?

这个问题很多年前就有人问了&#xff1a; https://discussions.unity.com/t/how-to-disable-the-stencil-block-via-shader-properties/600273/1 最后的答案是&#xff1a; set [_StencilComp] to CompareFunction.Disabled to disable the Stencil Op completely. 但是我测试…...

YOLOv9改进,YOLOv9自研检测头融合HyCTAS的Self_Attention自注意力机制,2024,适合目标检测、分割任务

摘要 论文提出了一种新的搜索框架,名为 HyCTAS,用于在给定任务中自动搜索高效的神经网络架构。HyCTAS框架结合了高分辨率表示和自注意力机制,通过多目标优化搜索,找到了一种在性能和计算效率之间的平衡。 # 理论介绍 自注意力(Self-Attention)机制是HyCTAS框架中的一个…...

计算机网络 (36)TCP可靠传输的实现

前言 TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP通过多种机制实现可靠传输&#xff0c;这些机制主要包括连接管理、序列号和确认应答机制、重传机制、流量控制、拥塞控制等。 一、连接管理 TCP使用三次握手&#xff0…...

Git版本控制 - 创建使用Repository

Git版本控制 – 创建使用Repository Version Control with Git - Create and Use Repository By JacksonML 上文提到&#xff0c;Git是一种分布式版本控制系统。作为全球范围内广泛使用的工具&#xff0c;如何将项目分步骤运用到其中呢&#xff1f; 本文简要介绍如何用Git工…...

MySQL —— 在CentOS9下安装MySQL

MySQL —— 在CentOS9下安装MySQL 1.查看自己操作系统的版本2.找到对应的安装源3.上传我们在windows下&#xff0c;下载的文件&#xff0c;解压4.执行rpm命令&#xff0c;启用MySQL8仓库5.执行dnf install -y mysql-community-server6.设置开机自启动7.获得初始密码8.登录MySQL…...

LeetCode 热题 100_腐烂的橘子(52_994_中等_C++)(图;广度优先遍历(队列))

LeetCode 热题 100_腐烂的橘子&#xff08;52_994&#xff09; 题目描述&#xff1a;输入输出样例&#xff1a;题解&#xff1a;解题思路&#xff1a;思路一&#xff08;广度优先遍历&#xff08;队列&#xff09;&#xff09;&#xff1a; 代码实现代码实现&#xff08;思路一…...

Nginx 可观测性最佳实践

Nginx 介绍 Nginx 是一个开源、轻量级、高性能的 HTTP 和反向代理服务器&#xff0c;也可以用于 IMAP/POP3 代理服务器。Nginx 因其采用的异步非阻塞工作模型&#xff0c;使其具备高并发、低资源消耗的特性。高度模块化设计也使得 Nginx 具备很好的扩展性&#xff0c;在处理静…...

LabVIEW光流跟踪算法

1. 光流跟踪算法的概述 光流&#xff08;Optical Flow&#xff09;是一种图像处理技术&#xff0c;用于估算图像中像素点的运动。通过比较连续帧图像&#xff0c;光流算法可以分析图像中的运动信息&#xff0c;广泛用于目标跟踪、运动检测和视频处理等场景。该示例使用了NI Vi…...

Jira用例自动去除summary重复用例

title: Jira用例自动去除summary重复用例 tags: - jira - python categories: - python一、背景与需求二、解决方案思路三、实施步骤本文永久更新地址: 在使用 Jira 进行项目管理时&#xff0c;测试用例的维护至关重要。随着项目推进&#xff0c;用例数量增多&#xff0c;可能…...

基于openEuler22.03SP4部署Prometheus+Grafana

测试环境 Virtual Box&#xff0c;openEuler-22.03-LTS-SP4-x86_64-dvd.iso&#xff0c;4 vCPU, 8G RAM, 60 vDisk。最小化安装。需联网。 系统环境 关闭防火墙 systemctl stop firewalld systemctl disable firewalld systemctl status firewalld selinux关闭 sed -ri…...

泛目录和泛站有什么差别

啥是 SEO 泛目录&#xff1f; 咱先来说说 SEO 泛目录是啥。想象一下&#xff0c;你有一个巨大的图书馆&#xff0c;里面的书架上摆满了各种各样的书&#xff0c;每一本书都代表着一个网页。而 SEO 泛目录呢&#xff0c;就像是一个超级图书管理员&#xff0c;它的任务就是把这些…...

css 布局及动画应用(flex+transform+transition+animation)

文章目录 css 布局及动画应用animationtransform&#xff0c;transition&#xff0c;animation 综合应用实例代码实例解释 css 布局及动画应用 Display用法 作用&#xff1a;用于控制元素的显示类型&#xff0c;如块级元素、内联元素、无显示等。常见属性值及示例&#xff1a;…...

springboot vue uniapp 仿小红书 1:1 还原 (含源码演示)

线上预览: 移动端 http://8.146.211.120:8081/ 管理端 http://8.146.211.120:8088/ 小红书凭借优秀的产品体验 和超高人气 目前成为笔记类产品佼佼者 此项目将详细介绍如何使用Vue.js和Spring Boot 集合uniapp 开发一个仿小红书应用&#xff0c;凭借uniapp 可以在h5 小程序 app…...

OpenClaw多模态开发:Qwen2.5-VL-7B实现自动化图文内容审核

OpenClaw多模态开发&#xff1a;Qwen2.5-VL-7B实现自动化图文内容审核 1. 为什么需要本地化内容审核 去年我接手了一个社区运营项目&#xff0c;每天需要审核数百张用户上传的图片和文字内容。最初尝试用第三方审核API&#xff0c;但很快遇到三个痛点&#xff1a;一是敏感数据…...

嵌入式R-Tree空间索引:轻量级矩形碰撞检测与地理围栏实现

1. R-Tree库技术解析&#xff1a;面向嵌入式平台的空间索引实现1.1 库定位与工程价值R-Tree是一种经典的动态空间索引数据结构&#xff0c;由Antonin Guttman于1984年提出&#xff0c;核心目标是高效支持多维空间对象&#xff08;如矩形、点、多边形&#xff09;的范围查询、邻…...

如何用Bubblewrap CLI创建你的第一个Trusted Web Activity项目

如何用Bubblewrap CLI创建你的第一个Trusted Web Activity项目 【免费下载链接】bubblewrap Bubblewrap is a Command Line Interface (CLI) that helps developers to create a Project for an Android application that launches an existing Progressive Web App (PWAs) usi…...

终极指南:如何使用HunterPie游戏界面增强工具提升《怪物猎人:世界》体验

终极指南&#xff1a;如何使用HunterPie游戏界面增强工具提升《怪物猎人&#xff1a;世界》体验 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.co…...

BilibiliDown:开源视频下载工具的批量处理与高效下载指南

BilibiliDown&#xff1a;开源视频下载工具的批量处理与高效下载指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirror…...

用于计算系统状态的卡尔曼最优增益和最小均方误差(MMSE)估计研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…...

别只盯着图像分类了:CVPR 2025揭示的对抗攻击新战场——扩散模型与说话人生成

CVPR 2025&#xff1a;生成式AI安全新战场——扩散模型与说话人生成对抗攻防全景 当Stable Diffusion生成的虚拟网红开始接管社交媒体&#xff0c;当InstantID克隆的真人数字分身接听你的银行电话&#xff0c;当Talking-Head视频会议中的"同事"实为AI合成——我们正站…...

机器学习模型配置终极指南:yaml-cpp如何彻底解决参数管理难题 [特殊字符]

机器学习模型配置终极指南&#xff1a;yaml-cpp如何彻底解决参数管理难题 &#x1f680; 【免费下载链接】yaml-cpp A YAML parser and emitter in C 项目地址: https://gitcode.com/gh_mirrors/ya/yaml-cpp 在当今的机器学习开发中&#xff0c;YAML配置文件已成为管理复…...

Anthropic 源代码泄露:Claude Code 安全漏洞敲响 AI 警钟

Claude Code 源代码泄露&#xff0c;安全防线告急 人工智能公司 Anthropic 遭遇了严重的源代码泄露事件&#xff0c;此次事件直接影响了其 Claude Code 工具的安全性。研究人员在泄露的代码中发现了一个关键漏洞&#xff0c;这一漏洞的存在使得 Claude Code 可能执行其本不愿执…...

电力设施智能检测:TTPLA数据集赋能电网巡检自动化全流程指南

电力设施智能检测&#xff1a;TTPLA数据集赋能电网巡检自动化全流程指南 【免费下载链接】ttpla_dataset aerial images dataset on transmission towers and power lines 项目地址: https://gitcode.com/gh_mirrors/tt/ttpla_dataset 在电力行业数字化转型进程中&…...