HUAWEI MPLS 静态配置和动态LDP配置

news2024/12/23 5:46:52

       MPLS(Multi-Protocol Label Switching,多协议标签交换技术)技术的出现,极大地推动了互联网的发展和应用。例如:利用MPLS技术,可以有效而灵活地部署VPN(Virtual Private Network,虚拟专用网),TE(Traffic Engineering,流量工程)和Qos(Quality of Service,服务质量)。目前,MPLS技术主要应用于运营商网络之中。

       在MPLS网络中,位于网络边缘的路由称为LER(Label Edge Router),网络内部路由器称为LSR(Label Switch Router),MPLS报文经过的路径称为LSP(Label Switch Path)。一条LSP总是起于一台被称为Ingress的LER,止于另一台被称为Egress的LER,中间经过若干台被被称为Transit的LSR。LSP具有单向性,且由静态LSP和动态LSP之分。静态LSP需要人工进行固定的标签分配,动态LSP需要利用诸如LDP(Label Distribution Protocol,标签分发协议)这样的协议进行动态标签分配。

传统的IP转发中,物理层从交换机的一个端口收到一个报文,上送到数据链路层。数据链路层去掉链路层封装,根据报文的协议上送给相应的网络层。网络层首先看报文是不是发送给本机的,若是,去掉网路层封装,上送给它的上层协议。若不是,则根据报文的目的地址查找路由表,若找到路由,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文。若找不到路由,将报文丢弃。传统的IP转发采用的时逐条转发,数据报文经过每一台交换机,都要执行上诉过程。由于传统IP转发时面向无连接的,所以无法提供更好的Qos保证。

MPLS 基本概念

标签(Label):是一个定长的,比较短的,只有本地意义的标识,4字节(0-3)

FEC(转发等价类):是一组或一类数据,这组数据分配的标签相同

LSP(标签交换通道):一个FEC的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是LSP 

LSR (Label Switch Router) :LSR是MPLS中的网络核心交换机,它提供标签交换和标签分发功能。

LER (Label Switch Edge Router) :在MPLS的网络边缘,进入到MPLS网络的流量由LER分为不同的FEC,并且为这些FEC请求相应的标签。它提供流量分类和标签的映射、标签的移除功能。

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

      1.路由信息RIB(Routing Information Base):由IP路由协议生产,用于选择路由

      2.标签分发协议LDP(Label Distribution protocol) :负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。

      3.标签信息表LIB(Label Information Base):由标签分发协议生成,负责管理标签信息。

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

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

      2.标签转发信息表LFIB(Label Forwarding Information Base) :简称标签转发表,由表换转发协议建立LFIB,负责带MPLS标签报文的转发。

      MPLS 路由器上,报文的转发过程:

1. 当收到普通IP报文时,查找FIB,如果Tunnel ID为0X0,则进行普通IP报文转发;如果查找FIB表,Tunnel ID 为非0X0 ,则进行MPLS转发。

2.当收到带标签的报文时,查找LFIB表,如果对应的出标签是普通标签,则惊醒MPLS转发;查找LFIB,如果对应的出标签是特殊标签,如标签3 ,则将报文的标签去掉,进行IP转发。

实验:

基础配置:

配置ospf协议和接口ip 略

R1 :

:配置MPLS协议:

首先配置LSR ID

[R1]mpls lsr-id 1.1.1.1

全局启用MPLS

[R1]mpls

Info: Mpls starting, please wait... OK!

在全局启用MPLS之后,还需要再转发MPLS报文的接口上使用MPLS命令使能接口的MPLS功能

[R1-mpls]int g0/0/0

[R1-GigabitEthernet0/0/0]mpls

[R1-GigabitEthernet0/0/0]qu

配置完成后,再R1上查看LSP的信息

[R1]dis mpls lsp 

配置静态LSP

在R1上配置从R1到R3的静态LSP的Ingress,并进行标签的分配

[R1]static-lsp ingress 1t3 destination 10.0.3.3 32 nexthop 10.0.12.2 out-label 102

在R2上配置从R1到R3的静态LSP的Transit,并进行标签的分配

[R2]mpls lsr-id 2.2.2.2

[R2]mpls

Info: Mpls starting, please wait... OK!

[R2-mpls]int g0/0/0

[R2-GigabitEthernet0/0/0]mpls

[R2-GigabitEthernet0/0/0]int g0/0/1

[R2-GigabitEthernet0/0/1]mpls

[R2-GigabitEthernet0/0/1]qu

[R2]static-lsp transit 1t3 incoming-interface g0/0/0 in-label 200 nexthop 10.0.23.3 out-label 300

在R3上配置从R1到R3的静态LSP的Egress,并进行标签的分配

[R3]mpls lsr-id 3.3.3.3

[R3]mpls

Info: Mpls starting, please wait... OK!

[R3-mpls]int g0/0/1

[R3-GigabitEthernet0/0/1]mpls

[R3-GigabitEthernet0/0/1]qu

[R3]static-lsp egress 1t3 incoming-interface g0/0/0 in-label 200

配置完成后,在R1上查看LSP信息

可以看到,R1上已经拥有了去往R3(3.3.3.3/32)的静态LSP,且在本地的In标签为NULL,说明R1是该LSP的Ingress。

在R1 上 ping -a 1.1.1.1 3.3.3.3

通过抓包获取,是通过标签转发的,是单向的

配置动态LDP协议:

[R1]undo static-lsp ingress 1t3 xuyao 
[R1]mpls ldp 
[R1-mpls-ldp]quit
[R1]int g0/0/0 
[R1-GigabitEthernet0/0/0]mpls ldp 

[R2]undo static-lsp transit 1t3 
[R2]mpls ldp 
[R2-mpls-ldp]quit
[R2]int g0/0/0 
[R2-GigabitEthernet0/0/0]mpls ldp 
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]mpls ldp 
[R2-GigabitEthernet0/0/1]

[R3]undo static-lsp egress 1t3 
[R3]mpls ldp 
[R3-mpls-ldp]int g0/0/1
[R3-GigabitEthernet0/0/1]mpls ldp 
[R3-GigabitEthernet0/0/1]

R1、R2和R3的接口启动了LDP。并且标签分发方式为DU模式

R1和R2、R2和R3之间的LDP会话状态为operrational,表示会话已经建立

R1验证去往3.3.3.3 /32 的MPLS报文所经过的路径

可以看到,报文在R3上出发时被赋予标签1024,经过R2时,标签被替换为3

分别 在R1和R3上测试连通性

测试联通正常。

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

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

相关文章

昇思第7天

模型训练 模型训练一般分为四个步骤: 构建数据集。 定义神经网络模型。 定义超参、损失函数及优化器。 输入数据集进行训练与评估。 数据集加载 import mindspore from mindspore import nn # 从 MindSpore 数据集包中导入 vision 和 transforms 模块。 # visio…

肝癌-图像分类数据集

肝癌-图像分类数据集 数据集: 链接:https://pan.baidu.com/s/18r-JS1FIv6BiyvlqDpUE0w?pwdrw5w 提取码:rw5w 数据集信息介绍: 文件夹 恶性 中的图片数量: 1008 文件夹 良性 中的图片数量: 882 所有子文件夹中的图片总数量: 1…

微软账户和本地账户有什么区别?如何切换登录账户?

Windows 操作系统是目前世界上比较流行的操作系统之一,在使用 Windows 系统的时候都需要我们进行登录,其中我们可以使用微软账户或者本地账户进行登录,那本地账户和微软账户有什么区别?下面就带大家了解一下微软账户和本地账户。 …

请不要在 Vue 中滥用“watch”功能,拜托了!

随着 Vue 3 的 Composition API 风格的普及,使用 watch 的成本越来越低。 现在,我们可以在任何地方使用 watch 来监听响应式数据。随着业务的推进,你可能会在代码中看到大量的 watch。 当你接手修改这些充满 watch 代码时,我相信…

电梯修理升级,安装【电梯节能】能量回馈设备

电梯修理升级,安装【电梯节能】能量回馈设备 1、节能率评估 15%—45% 2、降低机房环境温度,改善电梯控制系统的运行环境; 3、延长电梯使用寿命; 4、机房可以不需要使用空调等散热设备的耗电,间接节省电能。 欢迎私询哦…

使用PID算法实现DAC模拟量输出的快速调节

目录 概述 1 系统框架和算法 1.1 框架结构介绍 1.2 PID算法实现 1.2.1 理论介绍 1.2.2 离散化位置式PID 1.2.3 位置式PID算法 2 STM32Cube 配置项目 2.1 配置参数 2.2 GENERATE项目 3 功能实现 3.1 ADC采样数据功能 3.2 DAC数据转换 3.3 PID相关的调制函数 4 …

黄子韬vs徐艺洋卫生间风波

【热搜爆点】黄子韬VS徐艺洋:卫生间风波背后的职场与友情界限探讨在这个充满欢笑与意外的综艺时代,《跟我出游吧》再次以它独有的魅力,引爆了一个既尴尬又引人深思的话题——“黄子韬要上徐艺洋的卫生间?”这不仅仅是一句简单的调…

CSS|03 尺寸样式属性文本与字体属性

尺寸样式属性 height:元素高度height的值:auto 自动length 使用px定义高度% 基于包含它的块级对象的百分比高度 width:元素的宽度width的值与height一样span标签可以设置宽度、高度吗? 答:不可以,因为span标签是一个行…

mysql-sql-第十四周

学习目标: sql 学习内容: 40.查询学过「哈哈」老师授课的同学的信息 Select * from students left join score on students.stunmscore.stunm where counm (select counm from teacher left join course on teacher.teanmcourse.teanm where teache…

DCU整体硬件架构

DCU整体硬件架构 DCU整体硬件架构 首先,DCU通过PCI-E总线与CPU处理器相连,它是CPU主机系统的一个硬件扩展,其存在的目的是为了对程序某些模块或者函数进行加速。虽然DCU是原硬件系统的一个扩展,接受CPU调度指挥,但是在…

西部智慧健身小程序+华为运动健康服务

1、 应用介绍 西部智慧健身小程序为用户提供一站式全流程科学健身综合服务。用户通过登录微信小程序,可享用健康筛查、运动风险评估、体质检测评估、运动处方推送、个人运动数据监控与评估等公益服务。 2、 体验介绍西部智慧健身小程序华为运动健康服务核心体验如…

认识流式处理框架Apache Flink

目录 一、Apache Flink 的基础概念 1.1 Apache Flink是什么? 1.2 Flink的定义 二、Apache Flink 的发展史 2.1 Flink前身Stratosphere 2.2 Flink发展时间线及重大变更 三、Flink核心特性 3.1 批流一体化 3.2 同时支持高吞吐、低延迟、高性能 3.3 支持事件时…

前端接入chatgpt,实现流式文字的显示

前端接入chatgpt,实现流式文字的显示 业务需求: 项目需要接入chatgpt提供的api,后端返回流式的字符,前端接收并实时显示。 相关技术原理: 1. JS中的Stream流: 在JavaScript中,使用Stream流通常指的是处理数据流的…

react native中使用@react-navigation/native进行自定义头部

react native中使用react-navigation/native进行自定义头部 效果示例图实例代码 效果示例图 实例代码 /* eslint-disable react-native/no-inline-styles */ /* eslint-disable react/no-unstable-nested-components */ import React, { useLayoutEffect } from react; import…

ripro子主题eeesucai-child集成后台美化包(适用于设计素材站+资源下载站等)

模板介绍 最新RiPro子主题模板,Eeesucai-child模板后台美化包,使用该子主题前需要安装WordPress程序和RiPro模板。 安装教程 第一种,在wordpress后台上传主题,上传之后点启动 第二种,上传到wordpress主题目录/wp-con…

MatLab 二维图像绘制基础

MatLab 二维图像绘制基础 plot 描点绘图 %% % 二维绘图 ,plot进行描点,步长越小,越平滑 x [1:9]; y [0.1:0.2:1.7]; X x y*i; % 复数 plot(X)plot绘制矩阵 %% % 当X Y 为矩阵时,对应矩阵中的元素依次绘制 t 0:0.01:2*pi; …

将多个Excel工作表合并成一个工作表,1分钟轻松搞定!

1. 案例展示 2. 视频详解 多个工作表合并成一个工作表 3. 图文详解 第一步:相同格式(表头)的表格,并将所有表格都放在一个文件夹内“将多个工作表合并成一个工作表”(自己定义文件名) 第二步:新…

Linux 【线程池】【单例模式】【读者写者问题】

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:Linux初窥门径⏪   🚚代码仓库:Linux代码练习🚚   🌹关注我🫵带你学习更多Linux知识   🔝 目录 🏳️‍🌈前言 …

VSCode打开其它IDE项目注释显示乱码的解决方法

问题描述:VSCode打开Visual Studio(或其它IDE)工程,注释乱码,如下图所示: 解决方法:点击VSCode右下角的UTF-8,根据提示点击“通过编码重新打开”,再选择GB2312&#xff0…

JDBC链接kerberos认证的impala数据库报错问题解决

先上代码 public static Connection connectToImpala() {try {log.info("ketTabPath:" ketTabPath);log.info("krb5Path:" krb5Path);System.setProperty("java.security.krb5.conf", krb5Path);System.setProperty("sun.security.krb5.…