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

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

       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上测试连通性

测试联通正常。

相关文章:

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

MPLS(Multi-Protocol Label Switching,多协议标签交换技术)技术的出现,极大地推动了互联网的发展和应用。例如:利用MPLS技术,可以有效而灵活地部署VPN(Virtual Private Network,虚拟专用网),TE(Traffic Eng…...

【Rust】——所有的模式语法

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…...

基于Python的求职招聘管理系统【附源码】

摘 要 随着互联网技术的不断发展,人类的生活已经逐渐离不开网络了,在未来的社会中,人类的生活与工作都离不开数字化、网络化、电子化与虚拟化的数字技术。从互联网的发展历史、当前的应用现状和发展趋势来看,我们完全可以肯定&…...

Python23 使用Tensorflow实现线性回归

TensorFlow 是一个开源的软件库,用于数值计算,特别适用于大规模的机器学习。它由 Google 的研究人员和工程师在 Google Brain 团队内部开发,并在 2015 年首次发布。TensorFlow 的核心是使用数据流图来组织计算,使得它可以轻松地利…...

C++:枚举类的使用案例及场景

一、使用案例 在C中,枚举类(也称为枚举类型或enum class)是C11及以后版本中引入的一种更加强大的枚举类型。与传统的枚举(enum)相比,枚举类提供了更好的类型安全性和作用域控制。下面是一个使用枚举类的案…...

中英双语介绍美国的州:明尼苏达州(Minnesota)

中文版 明尼苏达州简介 明尼苏达州位于美国中北部,以其万湖之州的美誉、丰富的自然资源和多样化的经济结构而著称。以下是对明尼苏达州的详细介绍,包括其地理位置、人口、经济、教育、文化和主要城市。 地理位置 明尼苏达州东接威斯康星州&#xff0…...

Python实现万花筒效果:创造炫目的动态图案

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义绘制万花筒图案的函数主循环 完整代码 引言 万花筒效果通过反射和旋转图案创造出美丽的对称图案。在这篇博客中,我们将使用Python来实现一个动态的万花筒效果。通过利用Pygame库&#xf…...

JavaScript之深入对象,详细讲讲构造函数与常见内置构造函数

前言:哈喽,大家好,我是前端菜鸟的自我修养!今天给大家详细讲讲构造函数与常见内置构造函数,并提供具体代码帮助大家深入理解,彻底掌握!原创不易,如果能帮助到带大家,欢迎…...

PyQt5水平布局--只需5分钟带你搞懂

PyQt5水平布局(QHBoxLayout)是一种在GUI应用程序中用于组织和排列控件的布局方式。它允许开发者将控件在水平方向上从左到右依次排列,非常适合于需要并排显示控件的场景,如工具栏、水平菜单等。 import sys from PyQt5.QtWidgets…...

telegram mini app和game实现登录功能

接上一篇文章,我们在创建好telegram机器人后,开始开发小游戏或者mini App,那就避免不了登录功能。 公开链接 bot设置教程:https://lengmo714.top/6e79860b.html 参考教程参考教程,telegram已经给我们提供非常多的api,我们在获取用…...

【Python】字典练习

python期考练习 目录 1. 首都名​编辑 2. 摩斯电码 3. 登录 4. 学生的姓名和年龄​编辑 5. 电商 6. 学生基本信息 7. 字母数 1. 首都名 初始字典 (可复制) : d{"China":"Beijing","America":"Washington","Norway":…...

Apache POI、EasyPoi、EasyExcel

目录 ​编辑 (一)Apache PoI 使用 (二)EasyPoi使用 (三)EasyExcel使用 写 读 最简单的读​ 最简单的读的excel示例​ 最简单的读的对象​ (一)Apache PoI 使用 (二&…...

gcop:简化 Git 提交流程的高效助手 | 一键生成 commit message

💖 大家好,我是Zeeland。Tags: 大模型创业、LangChain Top Contributor、算法工程师、Promptulate founder、Python开发者。📣 个人说明书:Zeeland📣 个人网站:https://me.zeeland.cn/📚 Github…...

TS_类型

目录 1.类型注解 2.类型检查 3.类型推断 4.类型断言 ①尖括号&#xff08;<>&#xff09;语法 ②as语法 5.数据类型 ①boolean ②number ③string ④undefined 和 null ⑤数组和元组 ⑥枚举 ⑦any 和void ⑧symbol ⑨Function ⑩Object 和 object 6.高…...

Linux源码阅读笔记10-进程NICE案例分析2

set_user_nice set_user_nice函数功能&#xff1a;设置某一进程的NICE值&#xff0c;其NICE值的计算是根据进程的静态优先级&#xff08;task_struct->static_prio&#xff09;&#xff0c;直接通过set_user_nice函数更改进程的静态优先级。 内核源码 void set_user_nice…...

Elasticsearch实战教程: 如何在海量级数据中进行快速搜索

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 Elasticsearch&#xff08;简称ES&#xff09;是一个基于Apache Lucene™的开源搜索引擎&#xff0c;无论在开源还是专有领…...

Python学习笔记24:进阶篇(十三)常见标准库使用之数据压缩功能模块zlib,gzip,bz2,lzma的学习使用

前言 本文是根据python官方教程中标准库模块的介绍&#xff0c;自己查询资料并整理&#xff0c;编写代码示例做出的学习笔记。 根据模块知识&#xff0c;一次讲解单个或者多个模块的内容。 教程链接&#xff1a;https://docs.python.org/zh-cn/3/tutorial/index.html 数据压缩…...

【笔记】Android Settings 应用设置菜单的界面代码介绍

简介 Settings应用中&#xff0c;提供多类设置菜单入口&#xff0c;每个菜单内又有各模块功能的实现。 那么各个模块基于Settings 基础的界面Fragment去实现UI&#xff0c;层层按不同业务进行封装继承实现子类&#xff1a; DashboardFragmentSettingsPreferenceFragment 功…...

Symfony配置管理深度解析:构建可维护项目的秘诀

Symfony是一个高度灵活且功能丰富的PHP框架&#xff0c;它提供了一套强大的配置管理系统&#xff0c;使得开发者能够轻松定制和优化应用程序的行为。本文将深入探讨Symfony中的配置管理机制&#xff0c;包括配置的结构、来源、加载过程以及最佳实践。 一、配置管理的重要性 在…...

视频的宣传片二维码怎么做?扫码播放视频的制作教程

现在很多的宣传片会通过扫码的方式来展示&#xff0c;通过将视频生成二维码之后&#xff0c;其他人就可以扫码来查看视频内容&#xff0c;从而简化获取视频的过程&#xff0c;提升视频传播的效率及用户查看视频的便捷性。目前&#xff0c;日常生活和工作中就有视频二维码的应用…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...