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

相关推荐
黑客Ash2 小时前
【D01】网络安全概论
网络·安全·web安全·php
->yjy2 小时前
计算机网络(第一章)
网络·计算机网络·php
摘星星ʕ•̫͡•ʔ3 小时前
计算机网络 第三章:数据链路层(关于争用期的超详细内容)
网络·计算机网络
.Ayang4 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
好想打kuo碎4 小时前
1、HCIP之RSTP协议与STP相关安全配置
网络·安全
虚拟网络工程师5 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
JosieBook6 小时前
【网络工程】查看自己电脑网络IP,检查网络是否连通
服务器·网络·tcp/ip
黑客Ash7 小时前
计算机中的网络安全
网络·安全·web安全
PersistJiao7 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算