MPLS基本原理讲解

这篇具有很好参考价值的文章主要介绍了MPLS基本原理讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

MPLS基础概念

MPLS协议发展历程

MPLS网络结构

建立LSP的标签操作动作

MPLS标签分配和交换的体系结构

MPLS标签结构

MPLS报文转发

MPLS报文转发涉及的相关概念

MPLS报文转发的基本流程

MPLS报文转发的具体流程   

MPLS对TTL的处理


MPLS基础概念

MPLS(多协议标签交换协议),是一种应用于运营商IP骨干网的数据交换技术,采用短而定长的标签进行数据转发。

MPLS起源于IPv4网络,但目前其核心技术可通过扩展支持多种网络层协议,如IPv6、IPX(因特网包交换)、CLNP(无连接网络协议)等,在数据链路层上支持PPP、以太网、HDLC等多种协议

MPLS协议发展历程

20世纪90年代,互联网流量快速增长,基于CPU驱动的路由表数据转发模式在进行数据转发时占用了设备的CPU资源,转发效率低,成为网络数据转发的瓶颈,快速路由技术成为当时研究的热点,在各种方案中,IETF确定了MPLS协议作为标准的协议。

不过随着硬件技术的发展,路由查找速度和设备性能已经不是阻碍网络发展的瓶颈了,这使得MPLS在提高转发速度方面不再具备明显的优势。MPLS在设计时定位在TCP/UDP网路体系结构中的2.5层位置,即位于链路层和网络层之间,但是加上其“Multiprotocol”的设计理念,使得MPLS在VPN、TE(流量工程)、QoS等应用方面变得更加灵活

MPLS网络结构

MPLS基本原理讲解

路由器角色

LSR(Label Switch Router标签交换路由器)

MPLS网络中的路由器,进行MPLS标签交换和报文转发的网络设备

如果收到报文的二层协议字段为0x8847,则表示此报文为MPLS标签报文

LER---边界LSR(边缘路由器)

位于MPLS网络边缘,连接其它网络(如IP网络)的LSR,主要进行标签的分发和剥离

标签转发涉及的基本概念

LSP(Label Switched Path 标签交换路径)——具有方向性

  • IP报文在MPLS网络转发过程中所经过的路径就为LSP
  • LSP是从MPLS网络的入口到出口的一条单向路径
  • 在一条LSP上,沿着数据包转发的方向,相邻的LSR分别称为上游LSR和下游LSR,下游LSP为路由始发方向
  • 下游LSR给上游LSR分配标签(即标签分配方向与数据包转发方向相反,与路由发布的方向相同)

FEC(等价转发类)

  • 一般具有相同特征的报文为同一FEC,相同的FEC报文在MPLS网络中将获得相同的处理方式
  • 这个特征可以是报文的源IP地址、目的IP地址、源端口、目的端口、VPN实例、QoS策略等要素中的一个或者多个
  • 在MPLS网络中,常见的就是基于目的IP地址来划分FEC,并为其分配标签
  • 对于一条FEC来说,沿途所有设备都必须有此目的IP地址(并且前缀和掩码必须完全相同),才可以建立一条LSP(即不能随便做路由聚合的操作)

FEC与LSP的关系

同一FEC的报文走的是同一条LSP

可以理解为  相同特征的报文打上同一标记,同一标记的走同一条路径进行转发

建立LSP的两种标签类型

标签用来唯一标识一个FEC

入标签(In lable)  ——  本地自己产生

出标签(Out lable)——   由邻居分配(针对动态LSP)

FEC和出入标签之间的关系(同一台设备上)

相同FEC的入标签之间必须一致,出标签之间必须一致;但是出标签和入标签之间可以相同,也可以不同(因为入标签是由本地分配的,出标签是由下游节点分配的,之间没有唯一性要求)

不同FEC的入标签必须不同;不同FEC的出标签可以相同,也可以不同

下一跳和出入标签之间的关系

对于下一跳相同的不同路由,出标签必须不同(是同一下游节点为不同FEC下发的标签)

对于下一跳也不同的不同路由,出标签可以相同,也可以不同(是由不同下游节点为不同FEC下发的标签)

建立LSP的三种节点

一条LSP有且只有一个入节点和一个出节点,可以有0各或多个中间节点

需要先有LSP,才可以确定入节点、出节点等

入节点(Ingress)

LSP的入口LER称为入节点(打标签操作)

中间节点(Transit)

LSP的中间的LSR称为中间节点(进行标签交换和转发)

出节点(Egress)

LSP的出口LER称为入节点(剥离标签操作)

建立LSP的标签操作动作

 Push:标签压入, 可能会在Ingress或Transit节点上发生,在二层协议头和IP头部之间插入一个MPLS标签,或者是在现有标签栈顶再增加一个新的出标签(标签嵌套)

MPLS基本原理讲解

Swap:标签交换,会在Transit节点上发生,根据标签转发表查找下一跳,用下一跳分配的标签(出标签)交换MPLS报文中原有的栈顶标签

原有MPLS报文可以携带一层或多层标签,不过只会替换最外层标签

MPLS基本原理讲解

Pop:标签剥掉,在当报文离开MPLS域时,将MPLS报文的标签剥离掉,使得后续报文按照IP路由转发

会在倒数第二跳Transit节点(PHP特性-在LDP协议中有讲解)或者最后一跳Egress节点发生

MPLS基本原理讲解

MPLS标签分配和交换的体系结构

MPLS体系主要是由控制平面和转发平面构成

MPLS基本原理讲解

控制平面(产生和维护路由信息以及标签信息)

RIB(Routing Information Base):又称为路由表,由各种IP路由协议生成的表项,用于进行路由选择

MPLS基本原理讲解

LDP:一种动态标签分发协议,负责MPLS标签的分配、LFIB的建立,LSP的建立与拆除等工作

LIB(Label Information Base):由LDP协议生成的表项(每个LSR都会基于所收到的每个FEC的标签映射信息,建立LIB表项),用于管理标签信息,包含FEC网段、入标签、出标签等信息

LDP和LIB的关系就类似于IP路由协议和路由表RIB的关系

MPLS基本原理讲解

转发平面(负责普通IP报文的转发以及MPLS标签报文的转发)

FIB(Forwarding Information Base):用于指导IP报文转发,从RIB提取必要的路由信息生成;包含目的网段、出接口、下一跳IP地址、路由标记、路由优先级等信息

MPLS基本原理讲解

LFIB(Label Forwarding Information Base):用于指导MPLS报文转发,从LIB提取必要的信息生成;包含目的网段、出接口、下一跳、入标签、出标签等信息

MPLS基本原理讲解

MPLS标签结构

MPLS标签封装在数据链路层和网络层之间,总共32Bit

标签(Label)是一个短而定长的、只有本地意义的表示,用于唯一标识一个FEC

MPLS基本原理讲解Label(20bit):标签值字段

       0~15:特殊标签

MPLS基本原理讲解

16~1023:    静态LSP和MPLS TE中静态CR-LSP共享的标签空间。

1024及以上:LDP、RSVP-TE、MP-BGP等动态信令协议的标签空间。

Exp(3bit):标识MPLS报文的优先级,数值越小,优先级越低,当设备阻塞时,优先发送优先级高的报文;主要用于Qos场景

S(1bit):栈底标识,由于MPLS支持多层标签(即标签嵌套),当S值为1时表明为最底层标签,其它各层标签S值为0

TTL(8bit):和IP报文中的TTL(Time To Live)意义相同,用于限制MPLS报文的传输距离


MPLS报文转发

MPLS报文转发涉及的相关概念

Tunnel ID字段:32bit,就只是本地有效,需要在本地设备上唯一

MPLS基本原理讲解

NHLFE(Next Hop Label Forwarding Entry)

下一跳标签转发表项,存储转发MPLS报文的下一跳信息,用于指导MPLS报文转发

包含Tunnel ID、报文出接口、报文出标签、标签操作类型、报文下一跳等信息

MPLS基本原理讲解

ILM(Incoming Label Map)

入标签映射,将每个入标签都映射到NHLFE表项上(如果单个标签映射到多个NHLFE则表示此入标签为多路径)

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

主要用于接收带标签的报文并对其进行转发

MPLS基本原理讲解

在MPLS转发过程中,FIB、ILM和NHLFE表项之间是通过Tunnel ID关联的(每个厂商对于MPLS控制层面的做法不同,以上介绍的是华为)

例如锐捷不是使用Tunnel来区分是IP转发还是MPLS转发,而是专门通过FTN表来实现,收到IP报文时,如果发现此目的IP在FTN表中,则直接将IP报文在转发时封装标签

华为可以将LFIB再细化为ILM表、NHLFE表

锐捷可以将LFIB表再细化为ILM表、NHLFE表、FTN表

MPLS报文转发的基本流程

IP报文和MPLS报文的转发主要是依靠FIB表和LFIB表项的

当收到普通IP报文时,查找FIB表,如果Tunnel ID为0x0,则进行普通报文IP转发(通过FIB表转发)。如果Tunnel ID为非0x0,则进行MPLS转发(通过LFIB表)

当收到带标签的报文时,查找LFIB表,如果对应的标签为普通标签,则进行MPLS转发。如果对应的标签为特殊标签(例如标签3),则将标签弹出,进行IP转发

MPLS报文转发的具体流程   

将LFIB再细化为ILM表和NHLFE表,来讨论其转发流程

不同节点对标签不同的处理方式

Ingree入节点,执行Push动作。

  1. 查看FIB表,根据目的IP地址找到对应的Tunnel ID
  2. 根据FIB表的Tunnel ID找到对应的Nhlfe表项,得到出接口、下一跳、出标签和标签操作类型
  3. 在IP报文中压入出标签,同时处理TTL,然后将封装好的MPLS报文发送给下一跳

Transit中间节点,执行Swap动作。

  1. 根据MPLS的标签值查找对应的ILM表,得到对应入标签对应的Tunnel ID
  2. 根据Tunnel ID找到对应的Nhlfe表项,得到出接口、下一跳、出标签和标签操作类型
  3. 如果MPLS的标签值≥16,则用新标签替换MPLS报文中的旧标签,同时处理TTL,然后将封装好的MPLS报文通过LFIB表项发送给下一跳
  4. 如果标签值为3,则直接弹出标签,同时处理TTL,然后将封装好的MPLS报文发送给下一跳

Egress出节点,执行Pop动作。

  1. 如果Egress收到IP报文,则根据FIB表转发
  2. 如果Egree收到MPLS报文,根据MPLS的标签值找到对应的ILM表,获得标签操作类型进行相应的标签操作,并处理TTL
  • 对MPLS报文进行标签操作结束后,如果标签中的栈底标识S=1,则表明该标签是栈底标签,直接进行IP转发
  • 对MPLS报文进行标签操作结束后,如果标签中的栈底标识S=0,则表明还有下一层标签,继续下一层标签转发 

MPLS对TTL的处理

两种模式,Uniform和Pope模式

Uniform模式:(缺省)

在入节点,IP TTL减1映射到MPLS TTL字段

此后报文在MPLS网络中按照标准的TTL处理方式处理

在出节点将MPLS TTL减1后映射到IP TTL字段

MPLS基本原理讲解

Pipe模式:

在入节点,IP TTL值减1,MPLS TTL字段为固定值(255)

此后报文在MPLS网络中按照标准的TTL处理方式处理。

在出节点会将IP TTL字段的值减1。

即IP分组经过MPLS网络时,无论经过多少跳,IP TTL只在入节点和出节点分别减1

MPLS基本原理讲解

注意事项

在MPLS VPN应用中,出于网络安全的考虑,需要隐藏MPLS骨干网络的结构,这种情况下,对于私网报文,Ingress上使用Pipe模式。

当TTL到达0时,TTL过期的节点向数据包的源地址发送ICMP超时;不过产生该ICMP信息的界定啊并不是直接向源发送ICMP超时信息,而是将不可送达的数据包的原始标签栈压入到ICMP数据包,并根据新压入标签栈的顶层标签转发该数据包

入节点系统视图:undo ttl propagate  配置ttl模式为Pipe

                             ttl propagate          配置ttl模式为propagate文章来源地址https://www.toymoban.com/news/detail-491367.html

到了这里,关于MPLS基本原理讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI 大模型 LLM 的基础概念、核心算法原理数学模型和发展历史及其应用领域

    LLM(Large Language Model)是一种大型自然语言处理模型,它基于深度学习技术,通过大规模预训练和微调的方式来完成各种自然语言处理任务。下面我们简要介绍 LLM 模型的发展历史以及应用领域。 在过去的几年中,许多研究人员不断地探索着更加高效的深度学习算法和模型架

    2024年02月10日
    浏览(44)
  • 广域网技术——SR-MPLS技术基础理论讲解

    目录 SR-MPLS基础概念 使用Segment Routeing MPLS技术的优点 Segment Routeing MPLS的基本原理 SRGB全局标签空间 SRLB本地标签空间 Segment ID Bind SID 粘连标签 SID标签冲突 数据转发隧道建立方式 SR-MPLS BE SR-MPLS TE SR-MPLS TE Policy 隧道的流量引入方式 数据转发路径的类型 基于Perfix Segment的转发路径

    2023年04月20日
    浏览(37)
  • 爬虫入门到精通_基础篇1(爬虫基本原理讲解, Urllib库基本使用)

    发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。 获取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。

    2024年01月23日
    浏览(40)
  • 七、VPN技术之隧道技术原理与VPN技术原理(PPTP协议、L2TP协议、MPLS VPN、Web VPN)

     更多网络基础内容可见: 网络基础学习目录及各章节指引 虽然计算机网络技术已经逐步发展完善和成熟,并且具有通用的OSI模型体系和TCP/IP模型体系,但是各类厂商公司在研发自己的网络设备时,依旧会有自己私有协议的存在。当我们在发送数据时,有可能会经过不同厂商

    2024年02月16日
    浏览(34)
  • 【云计算与大数据技术】大数据概念和发展背景讲解(图文解释 超详细)

    大数据是一个不断发展的概念,可以指任何体量或负载下那个超出常规数据处理方法和处理能力的数据,数据本身可以是结构化,半结构化甚至是非结构化的,随着物联网技术与可穿戴设备的飞速发展,数据规模变得越来越大,内容越来越复杂,更新速度越来越快,大数据和

    2024年02月03日
    浏览(47)
  • HarmonyOS Stage模型基本概念讲解

    本文 我们来说harmonyos中的一种应用模型 Stage模型 官方提供了两种模型 一种是早期的 FA模型 另一种就是就是 harmonyos 3.1才开始的新增的一种模型 Stage模型 目前来讲 Stage 会成为现在乃至将来 长期推进的一种模型 也就是 无论是 现在的harmonyos 4.0 乃至 之后要发布的 harmonyos next

    2024年02月21日
    浏览(39)
  • 【华为】MPLS及MPLS VPN概念

    设计初衷 多协议指的是在IPV4,IPV6,IPX等网络环境中都可以使用,并且它不对底层物理介质,数据链路层介质,以及上层所使用的协议栈有要求。 MPLS是工作在 数据层面的交换技术 ,也可以理解为是一种转发技术。 MPLS是多协议 标签 交换,所以重点是标签Label中。就它是怎么

    2024年02月10日
    浏览(32)
  • 通用人工智能:概念,原理,历史,应用场景,影响,未来挑战,发展前景

    通用人工智能(General Artificial Intelligence, GAI)是指能够像人类一样学习、推理、决策和适应各种任务的人工智能系统。与目前主流的弱人工智能不同,通用人工智能具有高度的自主性和创造性,能够解决新问题和执行新任务。 通用人工智能的原理主要包括以下两个方面: 智

    2024年02月09日
    浏览(57)
  • 《网络协议》01. 基本概念

    title: 《网络协议》01. 基本概念 date: 2022-08-30 09:50:52 updated: 2023-11-05 15:28:52 categories: 学习记录:网络协议 excerpt: 互联网、网络互连模型(OSI,TCP/IP)、计算机通信基础、MAC 地址、ARP ICMP、IP 子网掩码、CIDR 表示方法、子网、超网、路由、网络 互联网 因特网、ISP、网络分类、上

    2024年02月05日
    浏览(39)
  • Dockerfile概念、镜像原理、制作及案例讲解

    Linux文件操作系统讲解 Docker网址:https://hub.docker.com 3.1 Dockerfile

    2024年02月12日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包