MPLS:多协议标签交换
MPLS:多协议标签交换
概述
MPLS的历史背景
- 早期:90年代初期,由于硬件性能限制,路由器采取最长掩码匹配算法逐跳转发IP报文,当路由器表项过于庞大时,检索速度受限于硬件性能,短时间内无法得到提升,导致转发效率低,于是IETF组织提出MPLS作为快速转发技术
- 后期:硬件性能得到巨大的提升,MPLS快速转发的优势不再明显,MPLS逐渐被淘汰,但是由于MPLS支持多层嵌套和设备内转空分离的特点,再新兴领域得到广泛应用,如VPN、TE(流量工程)等而被保留下来
MPLS的网络架构
MPLS域:由一组连续的运行了MPLS的路由器集合构成的网络
LSR:标签交换路由器,运行了MPLS的路由器
LSR的角色
- 根据LSR位于MPLS域的未知,将LSR分为:
- LER:标签边缘路由器,位于MPLS域边缘的LSR,连接了其他网络,主要负责标签的压入和弹出
- core LSR:核心标签骄傲换路由器,位于MPLS域内的LSR主要负责标签的交换
- 根据对数据的处理的方式,将LSR分为
- ingress LSR:入站LSR(入节点)
- 对普通IP报文职系那个标签压入的动作,形成MPLS报文
- transit LSR:中转LSR(中间节点)
- 对MPLS报文进行标签交换
- egress LSR:出站LSR(出节点)
- 对MPLS报文执行标签弹出的动作,形成普通LIP报文
- ingress LSR:入站LSR(入节点)
FEC:转发等价类
定义
- 具有相同在那发特征的数据流,转发路径上的设备对于相同特性的数据流采用相同的处理方式
转发特征
- 数据流的五元组、DSCP、目的IP地址和掩码等等参数
- 在MPLS网络中,对FEC的划分方式为
- 对于到达同一目的地的所有报文就是一个FEC,也就是一条路由条目就是一个FEC
LSP:标签交换路径
定义
- 到达同一目的地的报文(FEC)在MPLS网络中经过的转发路径
- 一条FEC对应一条LSP,数据转发前需要先建立好LSP
特点
- LSP是单向的,是一组有序的标签的集合
- LSP的方向与数据流的方向一致
LSP的建立方式
- 静态LSP
- 手工配置
- 优点:无需交互协议报文,开销小且稳定
- 缺点:配置工作量大,无法适应网络变化,需要管理员手工干预,灵活性差,后期维护复杂
- 动态LSP
- 通过动态标签分发协议动态建立LSP
- LDP:标签分发协议
- MP-BGP:应用于MPLS VPN,为VPNv4路由分发标签
- RSVP-TE:应用于流量工程,RSVP的扩展协议(本课程不涉及)
- 通过动态标签分发协议动态建立LSP
- 手工配置
MPLS标签
MPLS头部封装在数据链路层和网络层中间,称为2.5层协议
MPLS头部参数:占32bit
label:标签值,20bit取值范围0~(2^20)-1
特殊标签
0~15
0:显示空标签,IPv4路由
2:显示空标签,IPv6路由
需要通告显示空标签时,配置命令:
在MPLS视图配置
label advertise explicit-null
3:隐式空标签,缺省通告
静态LSP使用
- 16~1023
动态LSP使用
- 1024~1048575
EXP:3bit,优先级字段,取值0~7,值越大优先级越高,越优先先被处理,用于QOS
s:1bit,栈底标识
- s=0时,表明该标签不是最后一个标签
- s=1时,表明该标签为栈底标签(最接近IP头部)
TTL:8bit,取值0~255,用于MPLS防环
MPLS标签的处理动作
- push:压入标签
- 入节点在二层和三层头部之间插入MPLS标签的行为,中间节点根据需要也可以执行该动作,在栈顶位压入一个新的标签
- swap:交换标签
- 中间节点根据标签在转发表,用下一跳分配的标签替换栈顶标签(最接近二层头部的标签)
- pop:弹出标签
- 出节点上将MPLS标签去掉
MPLS体系结构
控制平面
产生和维护路由信息和标签信息
RIB:路由信息表,通过运行路由协议学习到的路由存放在RIB中
LIB:标签信息表,通过LDP(标签分发协议)动态学习到的标签信息存放在LIB中
- 查看命令
display LDP LSP//查看LIB表信息
转发平面
负责转发普通IP报文和MPLS标签报文
FIB:转发信息表,由RIB映射生成,负责IP报文转发
LFIB:标签转发信息表,由ILM和NHLFE关联形成,负责MPLS标签报文转发
- 查看命令
display mpls lsp //查看LFIB表
MPLS转发的三张表
- FTN:FEC to NHLFE
- 由FIB和NHLFE关联产生,只在入节点存在,接收到的IP报文需要MPLS转发时,查该表以获得tunnel id
- 表中内容为
- FEC和tunnel id的映射关系
- NHLFE:下一跳标签转发表项
- 存在于入节点和中间节点,用于指导MPLS报文转发
- 表中内容为
- tunnel id、出接口、下一跳地址、出标签、标配前操作类型等
- ILM:入标签映射
- 存在于中间节点和出节点上,用于指导MPLS报文转发
- 表中内容为
- tunnel id、入标签、入接口、变迁操作类型等
- 表中内容为
- 存在于中间节点和出节点上,用于指导MPLS报文转发
MPLS数据标签转发的详细过程
- 当数据进入MPLS域时:
- 先查看FIB表项,找到对应的转发条目(FEC),查看转发条目包含的tunnel id字段
- 如果为0x0,则IP转发
- 如果为非0,则MPLS转发
- ingress的处理
- 通过查找FIB和NHLFE表项指导报文转发
- 先查找FIB,找到对应的tunnel id;
- 根据tunnel id查找到对应的NHLFE表项,将FIB和NHLFE关联起来(FTN)
- 查看NHLFE表项可以得出出接口、下一跳地址、出标签、和标签操作类型等信息
- 在IP报文中压入标签,同时处理TTL,封装MPLS报文后发送给下一跳
- 通过查找FIB和NHLFE表项指导报文转发
- transit的处理
- 通过查看ILM和NHLFE指导MPLS报文转发
- 根据MPLS的标签查看对应的额ILM表项,得到tunnel id;
- 根据获得的tunnel id找到对应的NHLFE表项
- 通过NHLFE表项可以的出处接口、下一跳地址、出标签和标签操作类型等信息
- MPLS报文的处理方式根据不同的出标签而不同
- 如果label>16,则用新标签替换MPLS报文中的旧标签
- 如果label=0,则用0标签替换MPLS报文中的旧标签(swap)
- 如果label=3,则直接弹出标签,同时哦处理TTL,封装好发送给下一跳(次末跳弹出)
- 通过查看ILM和NHLFE指导MPLS报文转发
- egress的处理
- 查询ILM指导MPLS报文或者FIB表指导IP报文转发
- 如果出节点接收到IP报文,则查FIB表转发
- 如果出节点接收到MPLS报文,则差ILM表获得标签操作类型,同时处理TTL(pop)
- 如果标签中s=1:表明该标签为占比标签,直接查FIB表IP转发
- 如果标签中s=0:表明还有下一层标签,则进行下一层标签转发
- 查询ILM指导MPLS报文或者FIB表指导IP报文转发
- 先查看FIB表项,找到对应的转发条目(FEC),查看转发条目包含的tunnel id字段
MPLS:多协议标签交换相关推荐
- MPLS多协议标签交换原理—Vecloud微云
MPLS:Multi-Protocol Label Switching,多协议标签交换 ① mpls-vpn ② 在各种运营商的设备上面例如:LTE 注意:MPLS是二层半协议,介于mac和ip之间 ...
- MPLS多协议标签交换
目录 MPLS(多协议标签交换) 1.1 概念 1.1.1 MPLS出现的背景 1.1.2 工作原理 1.1.3 使用场景 2. MPLS体系结构 2.1 术语 2.2 标签操作类型 3. MPLS的 ...
- mpls 保留标签值_浅析MPLS多协议标签交换的发展历程
一.MPLS概念 MPLS:multipule protocol label seitch 多协议标签交换,是通过一个叫label的东西来做交换转发的,这个label中可以承载多种协议payload, ...
- MPLS多协议标签交换技术
MPLS (multiprotocol labelswitching)多协议标签交换技术.采用短而定长的标签进行数据转发,提高了硬件限制下的转发能力,结合IP与atm的优点,而且MPLS可以扩展到多种 ...
- MPLS 多协议标签交换
标题 MPLS:多协议标签交换 多协议:可以基于多种不同的3层协议来生成2.5层的标签信息: 包交换-包为网络层的PDU,故包交换是基于IP地址进行数据转发:就是路由器的路由行为: 原始的包交换:数据 ...
- MPLS(多协议标签交换)基础
文章目录 原始包交换 标签交换 包交换的优化 MPLS 简介 标签报文格式 名词解释 LDP:标签分发协议 LDP会话 本地LDP会话建立 标签分发方式 标签传递方式 MPLS工作过程 控制层面 数据 ...
- MPLS 多协议标签交换技术
包交换 标签交换 MPLS 构建LSP 构建静态LSP 构建动态LSP 控制层面: 数据层面: 包交换 数据组成数据包,之后在各个网络节点中不断传递,最终到达目标 包交换过程:假设PC1向PC3发数据 ...
- 多协议标签交换的MPLS原理
Multi-ProtocolLabelSwitching:多协议标签交换. ampls-vpn 2各种运营者的设备如:LTE等. 注:MPLS是介于mac和ip之间的两层半协议. 通过直接查询MPLS ...
- 多协议标签交换(MPLS)技术的潜在弱点—Vecloud
多协议标签交换(MPLS)已经统治企业专用网市场十多年了.然而,随着云计算.移动应用和全球化的趋势,MPLS的缺点逐渐暴露如下: 1.不适用于云计算.SaaS和移动应用程序:云计算.SaaS和移动应用 ...
- 什么是MPLS?多协议标签交换(MPLS)基础知识和工作原理
<什么是MPLS?多协议标签交换> 简介 MPLS的起源 90年代中期,IP技术凭借技术简单和成本低廉实现快速发展,Internet数据海量增长.但由于硬件技术存在限制,基于最长匹配算法的 ...
最新文章
- 手把手带你玩转 AWS Lambda
- 重庆python培训-重庆Python培训班学完能做什么
- 不得不爱开源 Wijmo jQuery 插件集(4)-【手风琴效果】(附页面展示和源码)
- JDBC之一:JDBC快速入门
- 【Tensorflow】小白入门实战基础篇(上)
- pip download timeout 下载慢,超时解决方法
- python init 用法_python里init的用法
- 设计模式学习笔记七:常用设计模式原则总结
- Java基础系列13:JDBC批处理简介
- (十二) 简单使用 Dockerfile 保留字指令,尝试自定义centos镜像
- 吞吐量、响应时间和 CPU 利用率之间的关系
- 解码2022中国网安强星丨构建企业第一重“安全感”,联软科技以零信任重塑网络安全边界
- Ubuntu使用Windows字体
- 图书信息管理系统设计
- 不平衡电网电压下虚拟同步发电机VSG控制策略-实现不平衡电压下控制三相电流平衡
- connecting to host: cephm resulted in errors: IOError cannot send (already closed?)[ceph-deploy部署报错]
- linux who 时间,linux命令之who、w、whoami
- 删除word中的空白页
- gitlab+maven+spingboot+jenkin实现自动化部署
- 树莓派新手入门:烧录系统、换源、基础配置、putty或vnc远程连接
热门文章
- python 数据清洗 豆瓣电影_利用python进行数据清洗和分析
- Swift map、flatMap、compactMap、filer、reduce的使用总结
- 使用gcc编译报错:/tmp/ccoLTk4o.o:在函数‘main’中: main1.c:(.text+0x9c):对‘pirnt1’未定义的引用 collect2: 错误:ld 返回 1
- Arduino ESP32:测试GPIO中断功能
- STM32 USB VCOM和HID的区别,配置及Echo功能实现(HAL)
- 百度人脸识别API调用实现
- 苹果企业账号发布APP详解——通过自己网站分发应用
- python生成基础头像_python个性化头像
- 在python中怎么定义一个范围_如何定义范围
- Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 15