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

MPLS原理

背景

90年代,为解决流量快速增长而设备性能受到限制,相较于传统的基于IP路由表转发已经无法满足需求,MPLS多协议标签交换被提出,创新式的提出基于标签转发,一定情况下缩短了包处理时间,而后续随着设备性能不断迭代,MPLS因为其转控分离,支持多层标签嵌套分发更多被用于VPN和QOS领域当中

相关概念

MPLS域:一系列运行MPLS的设备组成的域

LSR:运行MPLS的设备

FEC:转发等价类,是一组具有某些共性的数据流集合,通常用路由条目或DSCP等特征划分

LSP:标签交换路径,是标签报文穿越MPLS域到达目的地的路径,对于同一个FEC其标签是一样的

设备角色

根据所属MPLS域的位置

ler:位于MPLS域边缘的设备

core lsr:MPLS域内部的设备

根据对流量处理的方式

ingress入站LSR:通常指向IP报文中压入标签的设备

transit中转LSR:通常指将MPLS报文进行置换标签,并将其在MPLS域内继续传递的设备

egress出站LSR:通常指将MPLS报文进行剥离标签,还原为IP报文的设备

行为

PUSH:压入标签

SWAP:交换标签

POP:弹出标签

报文

MPLS标签报文被嵌入在数据链路层和网络层之间,自持嵌套包含

Label20bit,范围0-15,16-1023静态分布,1023-1048575被用于动态分配

Experimental Use实验字段3bit:同于CoS(class of servive)

S栈底位1bit:用于标识该标签是不是最后一个MPLS标签,如果是置1,不是置0

TTL8bit:作用同IP报文的TTL

重要表项

FTNFEC-to-NHLFE)在ingress存在

包括:Tunnel IDFECNHLFE映射信息

NHLFE下一跳标签转发表项(Next Hop Label Forwarding Entry)在ingress和transit存在

包括:Tunnel ID、出接口、下一跳、出标签、标签操作类型等信息

ILM标签映射(ILMIncoming Label Map)在transit和egress存在

包括Tunnel ID、入标签、入接口、标签操作类型等信息

转发流程

1.当流量进入根据FIB表项查看如果发现Tunnel-id不为0X0即视为进入标签转发(对应图中1)

2.通过Tunnel-id查询NHLFE表项关联流量(对应图中2)

3.依据NHLFE表项对流量进行相关操作,这里是压入标签Z并转发到1.1.1.2(对应图中3,4)

4.R2收到数据查ILM表(对应图中5)

6.由ILM表的Tunnel-id关联NHLFE表项(对应图中6)

7.明确行为位交换标签并且下一跳为2.2.2.2执行(对应图中7)

8.R3收到查ILM表项根据表项进行下一步处理即出站去除标签还原为IP报文(对应图中8,9)

配置案例

结合以上拓扑现要求实现1.1.1.1访问3.3.3.3实现双向标签转发

实验步骤

1.IP地址配置

R1

R2

R3


2.OSPF路由互通


3.激活MPLS

本操作以R1为例

mpls lsr-id 1.1.1.1
mpls
INT E0/0/0 
MPLS


4.静态LSP配置

[R3]static-lsp egress 1 incoming-interface Ethernet0/0/0 in-label 666
[R1]static-lsp ingress 1 destination 3.3.3.3 32 nexthop 10.0.12.2 out-label 777
[R2]static-lsp transit 1 incoming-interface Ethernet0/0/0 in-label 777 nexthop 10.0.
23.3 out-label 666
1.1.1.1 ---->3.3.3.3[R3]static-lsp ingress 2 destination 1.1.1.1 32 nexthop 10.0.23.2 out-label 666
[R2]static-lsp transit 2 incoming-interface Ethernet0/0/1 in-label 666 nexthop 10.0.
12.1 out-label 777
[R1]static-lsp egress 2 incoming-interface Ethernet0/0/0 in-label 777
3.3.3.3 ---->1.1.1.1

效果查看

对于入栈设备查看FIB表得到tunnel id,再通过nhlfe表项得知具体行为

对于中转设备查看ILM表得到tunnel id,再通过nhlfe表项得知具体行为

对于出栈设备查看ILM表可看到其弹出栈的行为

以下以R1为例查看

ping包携带标签

http://www.dtcms.com/a/344433.html

相关文章:

  • 新能源知识库(84)什么是IEC白皮书
  • 初识数据结构——Map和Set:哈希表与二叉搜索树的魔法对决
  • CoreShop微信小程序商城框架开启多租户-添加一个WPF客户端以便进行本地操作--读取店铺信息(6)
  • 循环神经网络实战:GRU 对比 LSTM 的中文情感分析(三)
  • UE5关卡蓝图能不能保存副本呀?
  • Pandas 合并数据集:concat 和 append
  • 2025年城市建设与公共管理国际会议(UCPM 2025)
  • Linux之Ubuntu入门:Vmware中虚拟机中的Ubuntu中的shell命令-常用命令
  • C++实现简易线程池:理解 function 与 bind 的妙用
  • CMake进阶:Ninja环境搭建与加速项目构建
  • JVM-(8)JVM启动的常用命令以及参数
  • 期货Level-2五档订单簿每250毫秒高频数据及分时、日度历史行情深度解析
  • 【大模型采样策略(Greedy、Top-k、Top-p、温度调节)三化学习】
  • 旧物新生,交易无界——探索二手交易小程序系统的绿色革命
  • 优考试局域网系统V6.0.0版
  • 谁才是多快好省的数据分析选择:SelectDB vs. ClickHouse vs. Snowflake
  • 关于常用线程池CompletableFuture和Future的介绍
  • 我从零开始学习C语言(13)- 循环语句 PART2
  • QT-左右侧边栏动画
  • 动态代理保姆级别
  • 大模型微调:从理论到实践的全面指南
  • 数据结构与算法之数组篇leetcode704 - 二分查找
  • kubernetes中pod的管理及优化
  • Spring Boot 自动配置全流程深度解析
  • Linux虚拟机安装FTP
  • 「越短越合法」型滑动窗口
  • Seaborn数据可视化实战:Seaborn基础图表绘制入门
  • 分布式日志分析平台(ELFK 与 EFK)理论
  • 【机器学习深度学习】大模型分布式推理概述:从显存困境到高并发挑战的解决方案
  • 技术干货|使用Prometheus+Grafana监控Tomcat实例详解