HCIP:MPLS静态LSP的配置及抓包

目录

一、MPLS的简单的一些知识点 

1.MPLS的概述:

2.MPLS工作原理:

3.MPLS的核心组件:

4. MPLS标签

 5.MPLS标签的处理

6.MPLS转发的概述:

 7.MPLS的静态LSP建立方式

二、MPLS的静态LSP的实验配置

1.配置接口的地址和配置OSPF

2.配置静态LSP

三、MPLS总结


一、MPLS的简单的一些知识点 

1.MPLS的概述:

mpls是一种高效的网络数据包传输技术,通过标签转发替代传统IP路由的逐跳查找,优化数据传输效率与控制能力。用于优化网络流量转发,工作在OSI模型的第二层(数据链路层)和第三层(网络层)之间。

2.MPLS工作原理:

(1)入站LSR(ingress LSR)‌:数据包进入MPLS网络时,入口路由器(LER)为其添加一个标签‌(标识转发路径)。

‌(2)中转LSR(transit LSR)‌:中间路由器(LSR)根据标签转发,无需解析IP头部,路径由预定义的‌标签交换路径(LSP)‌ 决定。

(3)出站LSR(egress LSR)‌:出口路由器(LER)剥离标签,恢复传统IP路由

3.MPLS的核心组件:

  •         LER(标签边缘路由器)‌:负责标签的添加(入站)和移除(出站)。
    •         ‌LSR(标签交换路由器)‌:基于标签进行高速转发。
      •         ‌LDP(标签分发协议)‌:动态分配标签并建立LSP。
        • ‌​​​​​​​        FEC(转发等价类)‌:将相似特征(如目的地址、QoS需求)的数据包归为一类,统一处理。

4. MPLS标签

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

     5.MPLS标签的处理

    LSR对标签的操作类型包括标签压入(push)、标签交换(swap)和标签弹出(pop)

    (1)入口LER(标签边缘路由器)

    操作类型:push(标签压入)

    IP报文进入MPLS域时,MPLS边界设备在报文二层头部和IP头部之间插入一个新的标签;MPLS中间设备也可以根据需要,在标签栈顶增加一个新的标签。

    (2)中间LSR(标签交换路由器)

    操作类型:(swap)标签交换

    当报文在MPLS域时,根据标签转发表,下一条分配的标签,替代MPLS报文的栈顶标签。

    (3)出口LER(标签边缘路由器)

    操作类型:POP(标签弹出)

    当报文离开MPLS域时,将MPLS报文的标签去掉。

    6.MPLS转发的概述:

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

            对于整个MPLS域,LSP是某一给定的FEC进入域和离开域的路径,可以看成LSR的有序集合。

            对于单台LSR,需要建立标签转发表,用标签标识FEC,并绑定响应的标签处理和转发等行为。

     7.MPLS的静态LSP建立方式

            静态LSP是用户通过手工为各个FEC分配标签而建立的。

            静态LSP不使用标签发布协议,不需要交互控制报文,因此消耗资源比较小;

            通过惊天方式建立的LSP不能根据网络拓扑动态调整,需要管理员干预。

            标签分配的原则:前一个点出标签的值等于下一个节点如标签的值。

    二、MPLS的静态LSP的实验配置

    1.配置接口的地址和配置OSPF

    [AR1]int g0/0/0

    [AR1-GigabitEthernet0/0/0]ip add 12.1.1.1 24

    [AR1-GigabitEthernet0/0/0]q

    [AR1]int LoopBack 0

    [AR1-LoopBack0]ip add 1.1.1.1 32

    [AR1-LoopBack0]q

    [AR1]ospf

    [AR1-ospf-1]area 0

    [AR1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255

    [AR1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

    [AR1-ospf-1-area-0.0.0.0]q

    [AR1-ospf-1]q

    [AR2]int g0/0/1

    [AR2-GigabitEthernet0/0/1]ip add 12.1.1.2 24

    [AR2-GigabitEthernet0/0/1]q

    [AR2]int g0/0/0

    [AR2-GigabitEthernet0/0/0]ip add 23.1.1.1 24

    [AR2-GigabitEthernet0/0/0]q

    [AR2]int LoopBack 0

    [AR2-LoopBack0]ip add 2.2.2.2 32

    [AR2-LoopBack0]q

    [AR2]ospf

    [AR2-ospf-1]area 0

    [AR2-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255

    [AR2-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255

    [AR2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0

    [AR2-ospf-1-area-0.0.0.0]q

    [AR2-ospf-1]q

    [AR3]int g0/0/1

    [AR3-GigabitEthernet0/0/1]ip add 23.1.1.2 24

    [AR3-GigabitEthernet0/0/1]q

    [AR3]int LoopBack 0

    [AR3-LoopBack0]ip add 3.3.3.3 32

    [AR3-LoopBack0]q

    [AR3]ospf

    [AR3-ospf-1]area 0

    [AR3-ospf-1-area-0.0.0.0]network 23.1.1.0 0.0.0.255

    [AR3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0

    [AR3-ospf-1-area-0.0.0.0]q

    2.配置静态LSP

    (1)配置使能接口及全局的MPLS功能

    [AR1]mpls lsr-id 1.1.1.1                                 //配置MPLS LSR-ID

    [AR1]mpls                                                      //全局开启MPLS功能

    [AR1-mpls]q

    [AR1]int g0/0/0

    [AR1-GigabitEthernet0/0/0]mpls                 //接口下开启MPLS功能

    [AR1-GigabitEthernet0/0/0]q

    [AR2]mpls lsr-id 2.2.2.2

    [AR2]mpls

    [AR2-mpls]q

    [AR2]int g0/0/1

    [AR2-GigabitEthernet0/0/1]mpls

    [AR2-GigabitEthernet0/0/1]q

    [AR2]int g0/0/0

    [AR2-GigabitEthernet0/0/0]mpls

    [AR2-GigabitEthernet0/0/0]q

    [AR3]mpls lsr-id 3.3.3.3

    [AR3]mpls

    [AR3-mpls]q

    [AR3]int g0/0/1

    [AR3-GigabitEthernet0/0/1]mpls

    [AR3-GigabitEthernet0/0/1]q

    (2)配置FEC为3.3.3.3的静态LSP

    [AR1]static-lsp ingress 1-3 destination 3.3.3.3 32 nexthop 12.1.1.2 outgoing-interface g0/0/0 out-label 200                                //配置AR1为去往FEC 3.3.3.3/32的ingress(入站LSR),静态LSP命名为1-3,下一条地址为12.1.1.2,出接口为g0/0/0,出标签为200

    查看MPLS LSP

    可以看到,LSP information:STATIC LSP表示此LSP为静态LSP,当设备在发送目的网段为3.3.3.3/32的数据时,从G0/0/0接口转发,出标签为200

    [AR2]static-lsp transit 1-3 incoming-interface g0/0/1 in-label 200 nexthop 23.1.1.2 out-label 100

            //配置AR2为去往FEC 3.3.3.3/32的transit(中转LSR),静态LSP命名为1-3,入接口为g0/0/1,下一条地址为23.1.1.2,出标签为100。

     

    可以看到,AR2在G0/0/1接口收到标签为200的数据,则发往G0/0/0接口,并添加标签100。

    [AR3]static-lsp egress 1-3 incoming-interface g0/0/1 in-label 100

    //配置AR3为FEC 3.3.3.3/32的egress(出站LSR),静态LSP命名为1-3,入接口为g0/0/1,出标签为100

     可以看到,AR3在G0/0/0接口收到标签为100的数据,则剥离标签。

    (3)在AR1上测试,并且在G0/0/0接口抓包查看数据特征。

    如下图为1.1.1.1发送3.3.3.3的抓包结果,可以看到在发送时添加了标签200.

    如下图所示3.3.3.3回复1.1.1.1的抓包结果,可以看到回复的报文并没有添加标签,因此现在还只是一个单向的隧道。

    (4)配置FEC为1.1.1.1 的静态LSP

    [AR3]static-lsp ingress 3-1 destination 1.1.1.1 32 nexthop 23.1.1.1 out-label 100

    [AR2]static-lsp transit 3-1 incoming-interface g0/0/0 in-label 100 nexthop 12.1.1.1 out-label 300

    [AR1]static-lsp egress 3-1 incoming-interface g0/0/0 in-label 300

    再次在AR1上ping命令测试3.3.3.3,查看抓包结果。

     

    在下图可以看到来回的报文都添加了对应的标签,迭代进入静态的LSP隧道 

    三、MPLS总结

    静态MPLS是一种‌低成本、高可控性‌的标签转发方案,适用于网络规模小、路径需求固定的场景。但其手动管理模式在大规模网络中会显著增加运维负担,因此企业通常结合动态MPLS实现灵活性与稳定性的平衡。

    MPLS通过‌标签交换机制‌解决了传统IP网络的效率与可控性问题,成为运营商和企业骨干网的核心技术。尽管面临SD-WAN、Segment Routing等新技术的挑战,其在‌高可靠性、流量工程和复杂组网‌场景中仍不可替代,尤其适合对服务质量要求严苛的关键业务。

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

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

    相关文章

    Azure DevOps 管道部署系列之一本地服务器

    Azure DevOps 是一个帮助改进 SDLC(软件开发生命周期)的平台。 在本文中,我们将使用 Azure Pipelines 创建自动化部署。 Azure DevOps 团队将 Azure Pipelines 定义为“使用 CI/CD 构建、测试和部署,适用于任何语言、平台和云平台”。 在这里,我将解释如何在 Azure Dev…

    深入剖析网络协议:七层协议与四层协议详解

    在计算机网络的世界中,数据的传输与交互离不开协议的规范。其中,七层协议和四层协议是网络通信架构的核心概念,它们如同网络世界的 “交通规则”,保障着数据准确、高效地在不同设备间流转。本文将深入解读七层协议与四层协议&…

    回头看,FPGA+RK3576方案的功耗性能优势

    作者:Hello,Panda 各位朋友,大家好,熊猫君这次开个倒车,在这个广泛使用Xilinx(Altera)高端SoC的时代,分享一个“FPGAARM”实现的低功耗高性能传统方案。 图1 瑞芯微RK3576电路 当前&#xff0c…

    打造极致计算器:HTML+Tailwind+DaisyUI实战

    一、计算器总体描述 创建一个在线计算器来实现基础数学运算功能,通过单一页面集成数字按钮、运算符按钮和显示结果区域,界面采用简洁直观的布局设计,按钮排列合理且提供即时运算反馈,确保计算逻辑准确和良好的按键响应体验&#x…

    基于mediapipe深度学习的虚拟画板系统python源码

    目录 1.前言 2.算法运行效果图预览 3.算法运行软件版本 4.部分核心程序 5.算法仿真参数 6.算法理论概述 7.参考文献 8.算法完整程序工程 1.前言 虚拟画板系统基于计算机视觉与深度学习技术,通过摄像头捕获用户手部动作,利用 MediaPipe框架实现手…

    开源的JT1078转GB28181服务器

    JT1078转GB28181流程 项目地址: JT1078转GB28181的流媒体服务器: https://github.com/lkmio/lkm JT1078转GB28181的信令服务器: https://github.com/lkmio/gb-cms 1. 创建GB28181 UA 调用接口: http://localhost:9000/api/v1/jt/device/add 请求体如下&#xf…

    元器件基础学习笔记——双极结型晶体管 (BJT)

    一、概述 1.1 基本结构 双极结型晶体管(Bipolar Junction Transistor)由发射极(Emitter)、基极(Base)和集电极(Collector)三个掺杂程度不同的半导体区域组成,分别对应有…

    Python 在金融中的应用- Part 1

    早在2018年,我开始对资本市场产生兴趣。理解资本市场的基本理论对财富积累至关重要。我开始阅读所有经典著作,如《聪明的投资者》和《证券分析》。在这一系列文章中,我想与读者分享在Python编程语言背景下理解金融理论的旅程。在文章的第一大部分,我们将专注于金融模型的线…

    css使用scoped之后样式失效问题

    项目中的vue代码原本用的style标签来写css&#xff0c;现在想改成<style langscss scoped>&#xff0c;但是改完之后发现样式不对&#xff1a; 原来是&#xff1a; 将style改成scoped之后变成了&#xff1a;检查发现是之前定义的一些变量无法被识别&#xff0c;导致这些样…

    基于 GitLab CI + Inno Setup 实现 Windows 程序自动化打包发布方案

    在 Windows 桌面应用开发中&#xff0c;实现自动化构建与打包发布是一项非常实用的工程实践。本文以我在开发PackTes项目时的为例&#xff0c;介绍如何通过 GitLab CI 配合 Inno Setup、批处理脚本、Qt 构建工具&#xff0c;实现版本化打包并发布到共享目录的完整流程。 项目地…

    能源领域新兴技术论坛:EMQ 实时数据引擎构建工业智能中枢

    5 月 26 日&#xff0c;由沙特阿美亚洲公司主办的能源领域新兴技术论坛在上海顺利举行。本次论坛聚焦智能工厂、无人机与机器人、可靠性与完整性、先进材料四大技术赛道&#xff0c;吸引了来自全球的能源企业、技术供应商及行业专家。 作为业内知名的 MQ AI 实时数据与智能产…

    【计算机网络】第2章:应用层—DNS

    目录 一、PPT 二、总结 DNS&#xff08;域名系统&#xff09;详解 &#xff08;一&#xff09;DNS核心概念 &#xff08;二&#xff09;DNS查询过程&#xff08;重点❗&#xff09; &#xff08;三&#xff09;DNS资源记录&#xff08;RR&#xff09;类型…

    PHP HTTP 完全指南

    PHP HTTP 完全指南 引言 PHP 作为一种流行的服务器端脚本语言,广泛应用于各种Web开发项目中。HTTP(超文本传输协议)是互联网上应用最为广泛的网络协议之一,用于在Web服务器和客户端之间传输数据。本文将详细介绍 PHP 在 HTTP 通信中的应用,帮助开发者更好地理解和利用 P…

    C++测开,自动化测试,业务(第一段实习)

    目录 &#x1f33c;前言 一&#xff0c;实习经历怎么写简历 &#x1f339;业务理解 &#x1f382;结构化表达 二&#xff0c;实习 &#x1f982;技术和流程卡点 &#x1f511;实习收获 / 代码风格 三&#xff0c;测试理论&#xff0c;用例设计&#xff0c;工具链 &…

    NodeJS全栈开发面试题讲解——P5前端能力(React/Vue + API调用)

    ✅ 5.1 如何使用 React/Vue 发起后端请求&#xff1f;用什么库&#xff1f; 面试官您好&#xff0c;在实际项目中我们通常使用 axios、fetch 或框架提供的封装库发起后端请求。 &#x1f527; 常用库对比&#xff1a; 库框架适配优点axios通用默认支持拦截器、取消请求、请求体…

    【C/C++】cmake实现Release版本禁用调试接口技巧

    在 C 中通过 CMake 实现部分接口在 Release 版本不生效&#xff0c;可以通过条件编译结合 CMake 的构建类型判断来实现。以下是详细步骤&#xff1a; 1. 在 CMakeLists.txt 中定义配置相关宏 # 设置构建类型&#xff08;可选&#xff0c;但推荐显式设置&#xff09; if(NOT C…

    Spring Boot中的WebSocket技术实现

    WebSocket协议基础 WebSocket作为现代实时通信的核心技术,通过全双工TCP通道实现了接近实时的数据传输能力。该协议主要包含以下核心特性: 协议特点与通信机制 全双工通信:与HTTP等传统协议不同,WebSocket允许客户端和服务端同时发送和接收数据,消除了请求-响应模式的限…

    无法发布到PowerBI?试试拆分它

    无法发布到PowerBI&#xff1f;试试拆分它 在进行PowerBI发布时&#xff0c;可能会遇到如下两种无法发布到PowerBI的情况&#xff1a; 第一种&#xff0c;文件太大&#xff0c;无法发布&#xff0c;如图&#xff1a; 第二种&#xff1a;远程主机强迫关闭了一个现有的连接&…

    光伏功率预测 | LSTM多变量单步光伏功率预测(Matlab完整源码和数据)

    光伏功率预测 | MATLAB实现基于LSTM长短期记忆神经网络的光伏功率预测 目录 光伏功率预测 | MATLAB实现基于LSTM长短期记忆神经网络的光伏功率预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 光伏功率预测 | LSTM多变量单步光伏功率预测&#xff08;Matlab完整源码和…

    【图像处理入门】2. Python中OpenCV与Matplotlib的图像操作指南

    一、环境准备 import cv2 import numpy as np import matplotlib.pyplot as plt# 配置中文字体显示&#xff08;可选&#xff09; plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False二、图像的基本操作 1. 图像读取、显示与保存 使用OpenCV…