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

MPLS小实验

实验图:

实验要求:

        要求使用MPLS技术,将实验通,并在实验结束后使用命令:tracert -v -a 看是否基于标签进行转发。

        如上:在每台路由器上都有两个环回,一个用于模拟用户网段,一个用于MPLS建立邻居。并在他们之间启用OSPF协议。

开始实验:

实验全部代码和解说如下:

AR1上:
[R1]interface lo0
[R1-LoopBack0]ip a 192.168.1.1 24
[R1-LoopBack0]in lo1
[R1-LoopBack1]ip a 1.1.1.1 24
[R1-LoopBack1]in g0/0/0
[R1-GigabitEthernet0/0/0]ip a 12.1.1.1 24
[R1]ospf 10 router-id 1.1.1.1
[R1-ospf-10]area 0
[R1-ospf-10-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[R1-ospf-10-area-0.0.0.0]network 1.1.1.0 0.0.0.255
[R1-ospf-10-area-0.0.0.0]network 192.168.1.0 0.0.0.255
-------MPLS配置
[R1]mpls lsr-id 1.1.1.1      -----定义身份标识(其实就是router-id )   
[R1]mpls    				 -----开启MPLS协议    
Info: Mpls starting, please wait... OK!
[R1-mpls]mpls		
[R1-mpls]mpls ldp            -----激活LDP协议
[R1-mpls-ldp]q
[R1]in g0/0/0                -----需要进入在所有标签经过的接口开启MPLS
[R1-GigabitEthernet0/0/0]mpls   ---开启MPLS
[R1-GigabitEthernet0/0/0]mpls ldp   ----再次激活LDP协议
当启动配置完成后,邻居间使用UDP报文组播收发hello包;之后基于hello包中的router-id地址进行TCP会话的建立;
[AR1]mpls 
[AR1-mpls]lsp-trigger all   -----开启该功能后所有的路由都会生成标签,全部基于标签进行转发。AR2上:
[AR2]in g0/0/0
[AR2-GigabitEthernet0/0/0]ip a 12.1.1.2 24
[AR2-GigabitEthernet0/0/0]in g0/0/1
[AR2-GigabitEthernet0/0/1]ip a 23.1.1.1 24
[AR2-GigabitEthernet0/0/1]in lo0
[AR2-LoopBack0]ip a 192.168.2.1 24
[AR2-LoopBack0]in lo1
[AR2-LoopBack1]ip a 2.2.2.2 24
[AR2]ospf 10 router-id 2.2.2.2
[AR2-ospf-10]ar	
[AR2-ospf-10]area 0
[AR2-ospf-10-area-0.0.0.0]net	
[AR2-ospf-10-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[AR2-ospf-10-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[AR2-ospf-10-area-0.0.0.0]network 23.1.1.0 0.0.0.255
---------------MPLS配置
[AR2]mpls lsr-id 2.2.2.2
[AR2]mpls 
Info: Mpls starting, please wait... OK!
[AR2-mpls]mpls ldp
[AR2-mpls-ldp]q
[AR2]in g0/0/0
[AR2-GigabitEthernet0/0/0]mpls 	
[AR2-GigabitEthernet0/0/0]mpls ldp 
[AR2-GigabitEthernet0/0/0]in g0/0/1
[AR2-GigabitEthernet0/0/1]mpls 
[AR2-GigabitEthernet0/0/1]mpls ldp
[AR2]mpls 
[AR2-mpls]lsp-trigger all   -----开启该功能后所有的路由都会生成标签,全部基于标签进行转发。AR3上:
[AR3]in g0/0/1
[AR3-GigabitEthernet0/0/1]ip a 23.1.1.2 24
[AR3-GigabitEthernet0/0/1]in g0/0/0
[AR3-GigabitEthernet0/0/0]ip a 34.1.1.1 24
[AR3-GigabitEthernet0/0/0]in lo0
[AR3-LoopBack0]ip a 192.168.3.1 24
[AR3-LoopBack0]in lo1
[AR3-LoopBack1]ip a 3.3.3.3 24
[AR3-LoopBack1]
[AR3]ospf 10 router-id 3.3.3.3
[AR3-ospf-10]area 0
[AR3-ospf-10-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[AR3-ospf-10-area-0.0.0.0]network 34.1.1.0 0.0.0.255
[AR3-ospf-10-area-0.0.0.0]network 3.3.3.3 0.0.0.0
------- MPLS配置
[AR3]mpls lsr-id 3.3.3.3
[AR3]mpls
Info: Mpls starting, please wait... OK!
[AR3-mpls]mpls ldp
[AR3-mpls-ldp]q
[AR3]in g0/0/1
[AR3-GigabitEthernet0/0/1]mpls
[AR3-GigabitEthernet0/0/1]mpls ldp
[AR3-GigabitEthernet0/0/1]in g0/0/0
[AR3-GigabitEthernet0/0/0]mpls
[AR3-GigabitEthernet0/0/0]mpls ldp
[AR3]mpls 
[AR3-mpls]lsp-trigger all   -----开启该功能后所有的路由都会生成标签,全部基于标签进行转发。AR4上:
[AR4]in g0/0/0
[AR4-GigabitEthernet0/0/0]ip a 34.1.1.2 24
[AR4-GigabitEthernet0/0/0]in lo0
[AR4-LoopBack0]ip a 192.168.4.1 24
[AR4-LoopBack0]in lo1
[AR4-LoopBack1]ip a 4.4.4.4 24
[AR4]ospf 10 router-id 4.4.4.4
[AR4-ospf-10]area 0
[AR4-ospf-10-area-0.0.0.0]net	
[AR4-ospf-10-area-0.0.0.0]network 34.1.1.0 0.0.0.255
[AR4-ospf-10-area-0.0.0.0]network 4.4.4.4 0.0.0.0
[AR4-ospf-10-area-0.0.0.0]network 192.168.4.0 0.0.0.255
-----------MPLS配置
[AR4]mpls lsr-id 4.4.4.4
[AR4]mpls 
Info: Mpls starting, please wait... OK!
[AR4-mpls]mpls ldp
[AR4-mpls-ldp]q
[AR4]in g0/0/0
[AR4-GigabitEthernet0/0/0]mpls
[AR4-GigabitEthernet0/0/0]mpls ldp
[AR4-GigabitEthernet0/0/0]
[AR4]mpls 
[AR4-mpls]lsp-trigger all   -----开启该功能后所有的路由都会生成标签,全部基于标签进行转发。

查看TCP回话表:

[R1]display tcp status

查看当tcp会话建立后,邻居间基于TCP会话建立的邻居关系表:

[R1]display mpls ldp peer

查看FIB表:

[R1]display fib

再然后基于本地的FIB表,默认华为仅针对32位的主机路由生成标签号;存储于LIB表中,之后邻居间共享LIB表;

查看LIB表:

[R1]display mpls ldp lsp

最后路由器将LIB和FIB集合,生成最佳路径的标签转发规则—LFIB

查看LFIB表:

[R1]display mpls lsp

测试:
通过测试发现是基于标签进行转发的,说明实验成功。

相关文章:

MPLS小实验

实验图: 实验要求: 要求使用MPLS技术,将实验通,并在实验结束后使用命令:tracert -v -a 看是否基于标签进行转发。 如上:在每台路由器上都有两个环回,一个用于模拟用户网段,一个用于M…...

MongoDB聚合运算符:$week

MongoDB聚合运算符:$week 文章目录 MongoDB聚合运算符:$week语法使用举例 $week聚合运算符返回指定日期日期为一年中第几周的数字值为0到53之间。周从周日开始,第1周从一年的第一个周日开始。一年中第一个星期日之前的日期为第0周。这和 str…...

【Linux】如何定位客户端程序的问题

文章目录 1 客户端程序和服务端程序的差别2 问题类型2.1 崩溃(crash)2.2 CPU高2.3 内存高2.4 线程卡死 3 总结 1 客户端程序和服务端程序的差别 客户端程序是运行在终端上,通常都会与业务系统共存,而服务端程序通常会运行在单独的节点上,或者…...

AI学习指南数学工具篇-PCA基础知识

AI学习指南数学工具篇-PCA基础知识 1. PCA是什么? PCA,即主成分分析(Principal Component Analysis),是一种常用的数据降维技术。它通过线性变换将原始数据投影到一个新的坐标系中,旨在找到数据中的“主成…...

《系统架构设计师教程(第2版)》第4章-信息安全技术基础知识-02-信息加密技术

文章目录 1. 信息加密技术1.1 数据加密1.2 对称密钥加密算法1)数据加密标准(DES)2)三重DES(Triple-DES)3)国际数据加密算法(IDEA)4)高级加密标准(AES&#xf…...

Leetcode 404:左叶子之和

给定二叉树的根节点 root ,返回所有左叶子之和。 思路:遍历树,寻找左叶子节点; 如果判断是左叶子节点,就更新sum。 public static int sumOfLeftLeaves(TreeNode root){int sum0;sumcompute(root,sum);return sum;}/…...

Keil问题解决:结构体数组初始化,初始化后的值不是目标值

省流:使用的编译器为compiler version 6,切换为compiler version 5 如果缺少编译器,请参考:Keil手动安装编译器V5版本 结构体定义: typedef struct _TASK_COMPONENTS {uint8_t Run; // 程序运行标…...

C++set关联式容器

Cset 1. 关联式容器 vector、list、deque、forward_list(C11)等STL容器,其底层为线性序列的数据结构,里面存储的是元素本身,这样的容器被统称为序列式容器。而map、set是一种关联式容器,关联式容器也是用来存储数据的&#xff0…...

Celery Redis 集群版连接和PyCharm启动配置

目录 使用Redis cluster版作为broker原因 PyCharm配置 使用Redis cluster版作为broker 在celery5及其之前版本,需要配置如下才可行 celery_app.conf.update( broker_transport_options{“global_keyprefix”: “{celery}:”}, ) 原因 https://github.com/celery/…...

「AIGC算法」readLink实现url识别pdf、网页标题和内容

本文主要介绍AIGC算法,readLink实现url识别pdf、html标题和内容 一、设计思路 识别url是pdf或者网页网页处理逻辑,使用cheerio解析网页PDF处理逻辑,使用pdf-parse解析PDF文件自定义的函数来提取标题和内容二、可执行核心代码 const express = require("express")…...

Vue3+ts(day06:路由)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/frontlearningNotes 觉得有帮助的同学,可以点心心支持一下哈(笔记是根据b站上学习的尚硅谷的前端视频【张天禹老师】,记录一下学习笔记,用于自己复盘,有需要学…...

springboot集成dubbo实现微服务系统

目录 1.说明 2.示例 3.总结 1.说明 dubbo官网:https://cn.dubbo.apache.org/zh-cn/ Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,支持多种语言,官方提供了 Java、Golang 等多语言 SDK 实…...

idea使用gitee基本操作流程

1.首先,每次要写代码前,先切换到自己负责的分支 点击签出。 然后拉取一次远程master分支,保证得到的是最新的代码。 写完代码后,在左侧栏有提交按钮。 点击后,选择更新的文件,输入描述内容(必填…...

Docker容器里面有什么东西?

2024年5月15日,周三下午 Docker 容器内部包含了一个运行的应用程序及其依赖环境。当你创建一个 Docker 容器时,你可以指定容器应该运行哪个镜像。这个镜像是由一系列层组成的,每一层包含了一些文件和目录。当你运行这个镜像时,Doc…...

vue基础+高级用法

一、vue基础用法 mvvm的了解/认知 语义化模板mvc - model view controllermvvm - model view view-model vue是如何利用mvvm思想进行开发 双向数据绑定 花括号,构建了数据与视图的双向绑定通过视图绑定事件,来处理数据 生命周期-vue示例 建立&…...

鸿蒙应用布局ArkUI【基础运用案例】

布局基础运用案例 平级导航的复合网格视图 平级导航的复合网格视图常出现在同时展示多种不同内容的界面。 例如,市场类应用作为典型的平级导航,其首页不同板块采用了不同布局能力。 标题栏与搜索栏:因元素单一、位置固定在顶部&#xff0c…...

GD32F103RCT6/GD32F303RCT6-UCOSIII底层移植(1)工程建立

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 后续项目主要在下面该专栏中发布: 手把手教你嵌入式国产化_不及你的温柔的博客-CSDN博客 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转: 手把手教你嵌入式国产化-实战项目-无刷电机驱动&am…...

在本地设备上配置 Git 忽略特定文件

在本地设备上配置 Git 忽略特定文件 在日常的 Git 使用中,有时我们希望某些文件只在本地设备上被忽略,而不影响其他团队成员或设备。这篇博客将介绍如何在特定设备上配置 Git 忽略规则,使得一个文件不会被提交。 背景 通常,我们…...

cin.ignore()函数和stoll函数

cin.ignore()函数 cin.ignore() 是一个非常实用的函数,主要用于控制输入流 cin 的行为 cin.ignore(int n 1, char delimiter EOF); n:一个整数参数,表示要忽略的字符数量。默认值是1,意味着只忽略下一个字符。delimiter&#x…...

win11快速安装mysql数据库系统

win11快速安装mysql数据库系统 1、下载 1.1 打开官网 1.2 向下滚动页面 1.3 进入下载选项 1.4 下载8.0.4 LTS 1.5 开始下载 1.6 下载中 2、解压 大家注意,此时解压后目录是没有data目录的。 3、数据库初始化 3.1 管理员身份打开CMD 开始菜单上,输入…...

华为云AI开发平台ModelArts

华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

<6>-MySQL表的增删查改

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

golang循环变量捕获问题​​

在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下: 问题背景 看这个代码片段: fo…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...