MPLS原理与配置

1.MPLS概述
(1)传统IP路由转发
(2)MPLS基本概念

⦁ MPLS起源于IPv4(Internet Protocol version 4),其核心技术可扩展到多种网络协议,包括IPv6(Internet Protocol version 6)、IPX(Internet Packet Exchange)、Appletalk、DECnet、CLNP(Connectionless Network Protocol)等。MPLS中的"Multiprotocol"指的就是支持多种网络协议。

⦁ MPLS以标签交换替代IP转发。标签是一个短而定长的、只具有本地意义的标识符。

2.MPLS术语
(1)MPLS术语介绍-LSR与MPLS域
(2)MPLS术语介绍-LSR分类
(3)MPLS术语介绍-FEC

⦁ 在传统的采用最长匹配算法的IP转发中,匹配到同一条路由的所有报文就是一个转发等价类。

⦁ 在MPLS中,关于FEC最常见的例子是:目的IP地址匹配同一条IP路由的报文被认为属于同一个FEC。

(4)MPLS术语介绍-LSP

⦁ 一条LSP包含一台入站LSR、一台出站LSR以及数量可变的中转LSR,因此LSP也可以看做是这些LSR的有序集合。

⦁ LSP需要在数据转发开始前建立完成,只有这样报文才能顺利穿越MPLS域。

⦁ LSP可通过静态和动态两种方式建立。

⦁ 需要注意的是,LSP是一个从"起点"到"终点"的单向路径,若需要双向数据互通,则需要在双方之间建立双向的LSP。

3.MPLS标签
(1)MPLS标签

⦁ EXP字段在早期的MPLS标准中被定义,意为试验性的字段,但实际上该字段主要被用于CoS。为了避免歧义,RFC5462重新定义了该字段,命名为流分类(Traffic Class)。

(2)MPLS标签栈

当上层为MPLS标签栈时,以太网头部中的Type字段为0x8847,PPP头部中的Protocol字段为0x8281

(3)MPLS标签的处理

只具有本地意义说明每一台LSR之间的标签空间是相互独立的,即每台路由器都可以使用完整的标签空间。

(4)MPLS标签的处理
4.MPLS转发
(1)MPLS转发概述

⦁ 同一个FEC,若进入MPLS域的Ingress LSR(入站LSR)不同,转发时的LSP也不相同。

⦁ 同一个FEC,LSR的处理方式相同,不论这个FEC来自哪里(进入设备的接口)。

⦁ LSR的转发动作决定了LSP,而标签转发表确定转发动作,所以建立标签转发表也可以理解为建立LSP。

⦁ 如图所示,因为有着相同的目的地,所以这三份数据属于同一个转发等价类FEC1。同时由于入站LSR不同,这些数据将分别在LSP1、LSP2和LSP3上被转发。因为标签仅具有本地意义,所以每台LSR上给同一FEC分配的标签,可以相同,也可以不同。

(2)MPLS体系结构

⦁ 控制平面:

⦁ 控制平面是无连接的,主要功能是负责产生和维护路由信息以及标签信息。

⦁ 控制平面包括:

⦁ 路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)、静态路由和直连路由共同生成,用于选择路由。

⦁ 标签信息表LIB(Label Information Base):用于管理标签信息,LIB中的表项可由标签交换协议(LDP、RSVP等协议)或静态配置生成。

⦁ 转发平面:

⦁ 转发平面也称为数据平面,是面向连接的, 主要功能是负责普通IP报文的转发以及带MPLS标签报文的转发。

⦁ 转发平面包括:

⦁ 转发信息表FIB(Forwarding Information Base):从RIB提取必要的路由信息生成,负责普通IP报文的转发。

⦁ 标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,负责带MPLS标签报文的转发。

(3)控制平面与转发平面
(4)LSP建立原则
(5)LSP建立方式

⦁ 静态LSP:

⦁ 由于静态LSP各节点上不能相互感知到整个LSP的情况,因此静态LSP是一个本地的概念。

⦁ 动态LSP:

⦁ 其他标签分布协议:

⦁ RSVP-TE:Resource Reservation Protocol Traffic Engineering,它是对RSVP的扩展,用于建立基于约束的LSP。它拥有普通LDP LSP没有的功能,如发布带宽预留请求、带宽约束、链路颜色和显式路径等。

⦁ MP-BGP:Multiprotocol Border Gateway Protocol,MP-BGP是在BGP协议基础上扩展的协议。MP-BGP支持为MPLS VPN业务中私网路由和跨域VPN的标签路由分配标签。

(6)MPLS标签转发

⦁ Tunnel ID:为了给使用隧道的上层应用(如VPN、路由管理)提供统一的接口,系统自动为隧道分配了一个ID,也称为Tunnel ID。该Tunnel ID的长度为32比特,只是本地有效。在MPLS转发过程中,FIB、ILM和NHLFE表项是通过Tunnel ID关联的。

(7)Ingress LSR的处理

⦁ 在Ingress LSR,通过查询FIB表(得到FTN信息)和NHLFE表指导报文的转发。

⦁ 当IP报文进入MPLS域时,首先查看FIB表,检查目的IP地址对应的Tunnel ID值是否为0x0。

⦁ 如果Tunnel ID值为0x0,则进入正常的IP转发流程。

⦁ 如果Tunnel ID值不为0x0,则进入MPLS转发流程。

(8)Transit LSR的处理

⦁ 在Transit LSR,通过查询ILM表和NHLFE表指导MPLS报文的转发。

(9)Egress LSR的处理

⦁ 在Egress LSR,通过查询ILM表指导MPLS报文的转发。

(10)MPLS详细转发过程
5.静态LSP配置
(1)MPLS基本配置命令
(2)静态LSP配置命令(1)

⦁ out-label占用的是下游LSR的标签空间,而下游空间采用的标签分发方式不确定,所以out-label的标签空间为16~1048575。

⦁ in-label占用的是当前LSR的标签空间,采用静态LSP时,标签空间为16~1023。

(3)静态LSP配置命令(2)

(4)案例

案例介绍:R1、R2和R3 R4之间已经部署了IGP协议,故1.1.1.0/24与4.4.4.0/24网络之间已经能够互访。现要求通过配置静态LSP,使得这两个网络之间能基于MPLS进行互访,标签分配如图。

配置思路:在设备和接口上使能MPLS功能按照规划配置静态LSP

配置如下:

[czyAR1]mpls lsr-id 1.1.1.1

[czyAR1]inter g0/0/0

[czyAR1-GigabitEthernet0/0/0]mpls

[czyAR1]static-lsp ingress 1to4 destination 4.4.4.0 24 nexthop 10.0.12.2 out-lab

el 200

[czyAR2]mpls lsr-id 2.2.2.2

[czyAR2]mpls

[czyAR2]inter g0/0/0

[czyAR2-GigabitEthernet0/[czyAR3]mpls lsr-id 3.3.3.3

[czyAR3]mpls

[czyAR3]inter g0/0/0

[czyAR3-GigabitEthernet0/0/0]mpls

[czyAR2]static-lsp transit 1to4 incoming-interface g0/0/0 in-label 200 nexthop 1

0.0.23.3 out-label 300

[czyAR4]mpls lsr-id 4.4.4.4

[czyAR4]mpls

[czyAR4]inter g0/0/0

[czyAR4-GigabitEthernet0/0/0]mpls

[czyAR4]static-lsp egress 1to4 incoming-interface g0/0/0 in-label 400

查看配置

此时可以发现我们的AR1的链路状态是down的

当我们去traffic的时候显示我们的lsp不存在

那么是什么原因导致的呢?

因为OSPF协议默认会把环回口looback地址认为是主机地址/32,本质是因为默认情况下OSPF中loopback的OSPF网络类型为P2P,默认只为非物理接口主机路由建立LSP,确定loopback接口地址是否为32位。

你说是24位的但是我学到的是32位的,路由器认为这是不正常的所以down了

那么该如何解决呢

1.可以将ospf network-type改为broadcast

2.looback的地址改为32位的

以AR1为例子,其他路由器类似

[czyAR1]inter LoopBack 1

[czyAR1-LoopBack1]ospf network-type broadcast

改完之后立马发现状态为up

进行tracert测试

经过测试,1.1.1.0/24网段的主机到3.3.3.0/24主机的ping测试没有问题。

仅配置了1.1.1.0/24到3.3.3.0/24的单向静态LSP,为何可以实现双向通信呢

因为1.1.1.0/24网段的主机到3.3.3.0/24主机的报文基于MPLS标签转发。

3.3.3.0/24网段的主机到1.1.1.0/24主机的报文基于IP包头转发。

双向都通过MPLS标签进行通信

[czyAR1]static-lsp egress 4to1 incoming-interface g0/0/0 in-label 700

[czyAR2]static-lsp transit 4to1 incoming-interface g0/0/1 in-label 600 nexthop 1

0.0.12.1 out-label 700

[czyAR3]static-lsp transit 4to1 incoming-interface g0/0/1 in-label 500 nexthop 1

0.0.23.3 out-label 600

[czyAR4]static-lsp ingress 4to1 destination 1.1.1.0 24 nexthop 10.0.34.4 out-lab

el 500

相关推荐
hunandede1 小时前
Ubuntu网络配置(桥接模式, nat模式, host主机模式)
网络·ubuntu·桥接模式
wellnw1 小时前
[Router]路由器常用的后台判断网络ping 可靠公共 IP 地址整理
网络
廿二又1 小时前
http 请求总结get
网络·网络协议·http
Vin0sen1 小时前
xiaomiR4c openwrt
网络
亚远景aspice2 小时前
亚远景-ISO 21434标准下的汽车网络安全测试:全面要求与实施策略
网络·web安全·汽车
忘川8562 小时前
以太网帧结构
网络·物联网·网络协议
IPdodo全球网络服务2 小时前
如何通过TikTok引流到私域流量池
运维·服务器·网络
手心里的白日梦3 小时前
网络层协议--ip协议
网络·网络协议·tcp/ip
IT 古月方源3 小时前
关于高级acl的配置和讲解
运维·开发语言·网络·tcp/ip·智能路由器
开疆智能3 小时前
ModbusTCP转Profinet:工业通信的利器
linux·服务器·网络