深入浅出MPLS

MPLS的原理与应用

前言

路由硬件架构

  • 集成式
  • 分布式(基于板卡级的转控分离);SDN是基于设备的转控分离

MPLS两大优点

  • 定长

  • 标签

    下图为路由器内部结构的发展过程,由于IP地址是变长的,而MPLS是定长的,所以当时的MPLS技术产生的意义在于提高数据转发的速率与能力,即LFIB,根据标签转发信息库以标签进行转发;但是当MPLS出来的时候,路由器内部结构进行进行了变化,即板卡级别的转控分离,并且CEF(特快转发)的出现,MPLS的定长并不在是优点,进而发现MPLS的另一特性,标签;在PE与CE间建立的MPLS隧道更是解决私网IP地址与站点的重叠问题,所以MPLS目前来看还是一个很关键的技术。
    在这里插入图片描述

一、MPLS概述

MPLS位于OSI模型中的数据链路层与IP层的中间,可以逻辑的想象成2.5层,其是根据标签进行转发数据的,不依靠三层的IP地址

1.1 MPLS体系架构

MPLS的体系结构如下
在这里插入图片描述

  • 控制平面:负责产生和维护路由信息以及标签信息
路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由
标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作
标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息
  • 转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发
转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成, 负责普通IP报文的转发
标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表, 由标签分发协议建立LFIB,负责带MPLS标签报文的转发

1.2MPLS数据包结构

在这里插入图片描述

Label:20bit,标签值字段,用来标识一个 FEC

Exp:3bit,用于扩展。现在通常用做 CoS(Class of Service),当设备发生阻塞时, 优先发送优先级高的报文;其作用与 Ethernet802.1p 的作用类似

S:1bit,栈底标识。MPLS支持多层标签,即标签嵌套。S值为1时表明为最底层标签

TTL:8bit,和IP报文中的TTL(Time To Live)意义相同;用于防止环路

对于标签的取值范围

0~15:特殊标签;如标签3,称为隐式空标签,用于倒数第二跳弹出;即次末跳弹出,用于出MPLS域前剥离标签,防止数据包不能查看FIB表所导致的数据丢弃

16~1023:静态LSP和静态CR-LSP(Constraint-based Routed Label Switched Path)共享的标签空间

1024及以上:LDP、RSVP-TE(Resource Reservation Protocol-Traffic Engineering)、MP-BGP(MultiProtocol Border Gateway Protocol)等动态信令协议的标签空间。

1.3 LSP的建立

  • 静态LSP:手工为各个转发等价类建立转发的隧道;资源消耗小,适用于拓扑简单并且稳定的网络,但是不利于维护
  • 动态LSP:通过LDP(标签发布协议)建立转发的隧道;配置组网简单,易于管理和维护

术语解释:
LSP(Label Switched Path):标签交换路径,到达同一目的地址的报文在MPLS网络中金国的路径
FEC(Forwarding Equivalent Class):转发等价类,一些具有相同转发处理方式的报文,在MPLS网络中,到达同意目的地址的所有报文就是一个FEC;FEC的划分方式非常灵活,可以是以源目IP、源目Port、协议类型或VPN等为划分依据的任意组合
LDP(Label Distribute Protocol):标签分发协议,动态的为每个MPLS域中的路由器分发标签
LER(Label Edge Router):在MPLS网络中,用于标签的压入或弹出,可理解为MPLS网络的边界路由器
LSR(Label Switched Router):在MPLS网络中,用于标签的交换,完全处于MPLS网络中的路由器
根据数据流的方向,LSP的入口LER被称为入节点(Ingress);位于LSP中间的LSR被称为中间节点(Transit);LSP的出口LER被称为出节点(Egress)

1.4 LDP邻居的建立

LDP的邻居发现通过周期5s发送Hello(Discover)包,为保证速度,基于UDP端口646发送,使用组播224.0.0.2为目的IP为保证可靠,LDP 的 Session 消息、Advertisement 消息和 Notification 消息都使用 TCP(端口 646)传输

LDP的数据包如下所示
在这里插入图片描述

Version:版本号,目前的LDP版本始终为1

PDU LENgth:表示 PDU 的总长度,包括 LDP ID 和整组 LDP 消息,但不包括 Version 和 PDU Length 字段;如某个 LDP 报文中包含 3 个 Hello 消息,则该报文的 PDU length = 3 * Message length

LSR-ID:表示一台LSR,必须全局唯一;可理解为OSPF的RID

Laber Space ID:表示LSR内的标签空间

如下图所示,Hello包中携带有Transport Address字段,该字段与设备配置的LSR ID 一致;如果该字段IP地址是直连接口IP 地址,则直接建立邻居关系;如果该字段地址是LoopBack接口IP地址,需要先保证该接口IP地址路由可达,才能建立邻居关系;Hello包的交互可以参考OSPF中的Init(初始化)状态,IP可达可以参考BGP中IBGP的邻居建立
OSPF工作过程
BGP汇总(理论+实验)
在这里插入图片描述
LDP邻居的建立如下所示
在这里插入图片描述
四类消息

  • 发现(Discovery)消息:用于通告和维护网络中邻居的存在,如Hello消息。
  • 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话,如Initialization消息、Keepalive消息。
  • 通告(Advertisement)消息:用于创建、改变和删除FEC的标签映射,如Address 消息、Label Mapping消息。
  • 通知(Notification)消息:用于提供建议性的消息和差错通知。

LDP邻居建立过程简单概述
1、Discovery阶段:Hello包的发现,LSR-ID较大的一方作为主动方,发起TCP连接;如图所示为RTB首先发起
2、TCP的三次握手阶段
3、Session建立阶段:TCP建立完成后,主动方发送初始化消息,协商建立LDP会话的一些参数(如LDP协议版本、标签分发方式、Keepalive保持定时器的值、最大PDU长度和标签空间等);被动方RTA若接收相关参数,就发送初始化与keepalive给主动方,若不接受,则发送Notification,进而终止此次LDP的会话建立;主动方这边同理,接收则发送keepalive消息,不接受则发送Notification,进而终止此次LDP的会话
4、Advertisement阶段:至此,LDP会话建立完成,进行标签的动态分发与FEC的创建


各报文数据结构

  • Hello消息
    在这里插入图片描述
  • Initialization 消息
    在这里插入图片描述
  • Keepalive消息
    在这里插入图片描述
  • Address消息
    在这里插入图片描述
  • 地址撤销( Address Withdraw)消息
    在这里插入图片描述

二、标签

以上简单阐述了LDP的建立,至此就会发布标签与分配,存在两种两种标签的发布方式

2.1 标签的发布方式

在这里插入图片描述

  • DU(Downstream Unsolicited,下游自主方式):对于一个到达同一目地址报文的分组,LSR无需从上游获得标签请求消息即可进行标签分配与分发。
  • DoD(Downstream on Demand,下游按需方式):对于一个到达同一目的地址报文的分组,LSR获得标签请求消息之后才进行标签分配与分发。

比较:
显而易见,DU是自主的通告,但是大量的标签在路由器上转发,消耗标签空间,在网络拓扑发生变化时,采用DU方式可以快速反应为新的拓扑分发标签,收敛时间相对于DoD方式短;DoD是按需的分发通告,即根据请求来进行分配与分发,虽然节省了资源但是从一定程度上降低了速度

2.2 标签的分配控制方式

在这里插入图片描述

  • Independent(独立标签分配控制方式):本地LSR可以自主地分配一个标签绑定到某个IP分组,并通告给上游LSR,而无需等待下游的标签。
  • Ordered(有序标签分配控制方式):只有当该LSR已经具有此IP分组的下一跳的标签,或者该LSR就是该IP分组的出节点时,该LSR才可以向上游发送此IP分组的标签。

比较:
采用Ordered方式,只有当该LSR已经具有此IP分组的下一跳的标签时,才能向上游分发标签,这样是为了避免下游IP分组的标签未分配或收敛时间较长,上游的标签已分配,数据开始转发造成的数据丢失;稳定大于一切的原则,即在数据通信中,数据包的丢失是不能容忍的

2.3 横向结合对比

在这里插入图片描述


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值