MPLS和LDP基本配置

原理概述:

MPLS(Multi-Protocol Label Switching,多协议标签交换技术)技术的出现,极大地推动了互联网的发展和应用。例如:利用MPLS技术,可以有效而灵活地部署VPN(Virtual Private Network,虚拟专用网),TE(Traffic Engineering,流量工程)和Qos(Quality of Service,服务质量)。目前,MPLS技术主要应用于运营商网络之中。

在MPLS网络中,位于网络边缘的路由称为LER(Label Edge Router),网络内部路由器称为LSR(Label Switch Router),MPLS报文经过的路径称为LSP(Label Switch Path)。一条LSP总是起于一台被称为Ingress的LER,止于另一台被称为Egress的LER,中间经过若干台被被称为Transit的LSR。LSP具有单向性,且由静态LSP和动态LSP之分。静态LSP需要人工进行固定的标签分配,动态LSP需要利用诸如LDP(Label Distribution Protocol,标签分发协议)这样的协议进行动态标签分配。

传统的IP转发中,物理层从交换机的一个端口收到一个报文,上送到数据链路层。数据链路层去掉链路层封装,根据报文的协议域上送给相应的网络层。网络层首先看报文是否是送给本机的,若是,去掉网络层封装,上送给它的上层协议。若不是,则根据报文的目的地址查找路由表,若找到路由,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文。若找不到路由,将报文丢弃。传统的IP转发采用的是逐跳转发,数据报文经过每一台交换机,都要执行上述过程(如图中SWA收到目的地址为10.2.0.1的数据包,SWA会依次查找路由表,根据匹配的路由表项的进行转发,SWB、SWC、SWD都会进行类似的处理),所以速度缓慢。并且所有的交换机需要知道全网的路由或者默认路由。另外,由于传统IP转发是面向无连接的,所以无法提供好的Qos保证。

MPLS中一些基本概念:

标签(Label):是一个定长的,比较短的,只具有本地意义的标识

FEC(转发等价类):一组或一类数据,这组数据分配的标签相同

LSP(标签交换通道):一个FEC的数据流,在不同的节点被赋予确定的标签,数据转发按照这些标签进行。数据流所走的路径就是LSP

LSR(Label Switching Router): LSR是MPLS的网络的核心交换机,它提供标签交换和标签分发功能

LER(Label Switching Edge Router):在MPLS的网络边缘,进入到MPLS网络的流量由LER分为不同的FEC,并为这些FEC请求相应的标签。它提供流量分类和标签的映射、标签的移除功能

控制平面:负责产生和维护路由信息以及标签信息

1:路由信息表RIB(Routing Information Base):由IP路由协议(IP Routing Protocol)生成,用于选择路由。  

2:标签分发协议LDP(Label Distribution Protocol):负责标签的分配、标签转发信息表的建立、标签交换路径的建立、拆除等工作。  

3:标签信息表LIB(Label Information Base):由标签分发协议生成,用于管理标签信息。  

转发平面:即数据平面(Data Plane),负责普通IP报文的转发以及带MPLS标签报文的转发  

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

2:标签转发信息表LFIB(Label Forwarding Information Base):简称标签转发表,由标签分发协议建立LFIB,负责带MPLS标签报文的转发。  

MPLS路由器上,报文的转发过程:  

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

2:当收到带标签的报文时,查找LFIB表,如果对应的出标签是普通标签,则进行MPLS转发;查找LFIB表,如果对应的出标签是特殊标签,如标签3,则将报文的标签去掉,进行IP转发。

 

实验目的:

掌握MPLS和LDP的基本配置方法

观察MPLS标签转发过程

 路由基础之MPLS和LDP的基本配置_LDP

 

1:基础配置:

配置OSPF协议及接口IP

R1:

interface GigabitEthernet0/0/0
ip address 10.0.12.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.255
#
ospf 1 router-id 10.0.1.1
area 0.0.0.0
network 10.0.1.1 0.0.0.0
network 10.0.12.0 0.0.0.255

R2:

interface GigabitEthernet0/0/0
ip address 10.0.12.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 10.0.23.2 255.255.255.0
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.2.2 255.255.255.255
#
ospf 1 router-id 10.0.2.2
area 0.0.0.0
network 10.0.2.2 0.0.0.0
network 10.0.12.0 0.0.0.255
network 10.0.23.0 0.0.0.255

R3:

interface GigabitEthernet0/0/0
ip address 10.0.23.3 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface NULL0
#
interface LoopBack0
ip address 10.0.3.3 255.255.255.255
#
ospf 1 router-id 10.0.3.3
area 0.0.0.0
network 10.0.3.3 0.0.0.0
network 10.0.23.0 0.0.0.255

配置完成后,查看R1的路由表

 路由基础之MPLS和LDP的基本配置_MPLS_02

 

2:配置MPLS协议:

首先配置LSR ID

[R1]mpls lsr-id 10.0.1.1

全局启用MPLS

[R1]mpls 
Info: Mpls starting, please wait... OK!

在全局启用MPLS之后,还需要再转发MPLS报文的接口上使用MPLS命令使能接口的MPLS功能

[R1-mpls]int g0/0/0
[R1-GigabitEthernet0/0/0]mpls
[R1-GigabitEthernet0/0/0]qu

配置完成后,再R1上查看LSP的信息

[R1]dis mpls lsp

 路由基础之MPLS和LDP的基本配置_MPLS_03

 

3:配置静态LSP

在R1上配置从R1到R3的静态LSP的Ingress,并进行标签的分配

[R1]static-lsp ingress R1toR3 destination 10.0.3.3 32 nexthop 10.0.12.2 out-label 102

在R2上配置从R1到R3的静态LSP的Transit,并进行标签的分配

[R2]mpls lsr-id 10.0.2.2
[R2]mpls
Info: Mpls starting, please wait... OK!
[R2-mpls]int g0/0/0
[R2-GigabitEthernet0/0/0]mpls
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]mpls
[R2-GigabitEthernet0/0/1]qu
[R2]static-lsp transit R1toR3 incoming-interface g0/0/0 in-label 102 nexthop 10.0.23.3 out-label 203

在R3上配置从R1到R3的静态LSP的Egress,并进行标签的分配

[R3]mpls lsr-id 10.0.3.3 
[R3]mpls
Info: Mpls starting, please wait... OK!
[R3-mpls]int g0/0/1
[R3-GigabitEthernet0/0/1]mpls
[R3-GigabitEthernet0/0/1]qu
[R3]st
[R3]standby
[R3]static-cr-lsp
[R3]static-lsp egress R1toR3 incoming-interface g0/0/0 in-label 203

配置完成后,在R1上查看LSP信息

 路由基础之MPLS和LDP的基本配置_MPLS_04

可以看到,R1上已经拥有了去往R3(10.0.3.3/32)的静态LSP,且在本地的In标签为NULL,说明R1是该LSP的Ingress。

在R2和R3上也可以查看到同样的信息

 路由基础之MPLS和LDP的基本配置_MPLS_05路由基础之MPLS和LDP的基本配置_数据链路层_06

在R1上验证去往10.0.3.3/32的MPLS报文所经过的路径

 路由基础之MPLS和LDP的基本配置_LDP_07

从上面的显示消息中可以看到报文在进行MPLS转发过程中使用的标签,以及各路由器在LSP中的角色。

在R3上验证去往10.0.1.1/32的MPLS报文所经过的路径

 路由基础之MPLS和LDP的基本配置_数据链路层_08

可以看到,系统提示LSP并不存在,这也正好说明了LSP具有单向性;

接下来,手动配置从R3去往R1的静态LSP

[R3]static-lsp ingress R3toR1 destination 10.0.1.1 32 nexthop 10.0.23.2 out-label 101
[R2]static-lsp transit R3toR1 incoming-interface g0/0/1 in-label 101 nexthop 10.0.12.1 out-label 201
[R1]static-lsp egress R3toR1 incoming-interface g0/0/0 in-label 201

路由基础之MPLS和LDP的基本配置_MPLS_09

从上面的显示信息中可以看到报文在进行MPLS转发过程中使用的标签,以及各路由器在该LSP中的角色

4:利用LDP动态分发标签并建立LSP

首先,在R1、R2、R3上删除之前创建的静态LSP

[R1]undo static-lsp ingress R1toR3
[R1]undo static-lsp egress R3toR1

 

[R2]undo static-lsp transit R1toR3
[R2]undo static-lsp transit R3toR1

 

[R3]undo static-lsp egress R1toR3
[R3]undo static-lsp ingress R3toR1

在R1上全局启用LDP,然后再接口上使用同样的命令使能LDP

[R1]mpls ldp 
[R1-mpls-ldp]int g0/0/0
[R1-GigabitEthernet0/0/0]mpls ldp

 

[R2]mpls ldp 
[R2-mpls-ldp]int g0/0/0
[R2-GigabitEthernet0/0/0]mpls ldp
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]mpls ldp

 

[R3]mpls ldp 
[R3-mpls-ldp]int g0/0/0
[R3-GigabitEthernet0/0/0]mpls ldp

 

需要注意的是,必须先完成MPLS协议的配置,然后才能够进行上面的LDP的配置

再R1上使用查看启用了LDP的接口

 路由基础之MPLS和LDP的基本配置_MPLS_10

可以看到,R1的G0/0/0接口启用了LDP,并且标签分发方式DU方式

再R1、R2、R3上查看LDP会话信息

路由基础之MPLS和LDP的基本配置_数据链路层_11路由基础之MPLS和LDP的基本配置_数据链路层_12路由基础之MPLS和LDP的基本配置_MPLS_13

可以看到,R1和R2之间、R2和R3之间的LDP会话状态为Operational,表示会话已成功建立

再R1、R2、R3上查看LSP信息

 路由基础之MPLS和LDP的基本配置_MPLS_14路由基础之MPLS和LDP的基本配置_数据链路层_15路由基础之MPLS和LDP的基本配置_MPLS_16

可以看到,LDP为R1去往R3以及R3去往R1均动态地建立了LSP,从R1去往R3方向的标签顺序为NULL/1025、1025/3、3/NULL,从R3去往R1方向的标签顺序为NULL/1024、1024/3、3/NULL。

在R1上验证去往10.0.3.3/32的MPLS报文所经过的路径

 路由基础之MPLS和LDP的基本配置_MPLS_17

可以看到,报文在R3上出发时被赋予了标签1024,经过R2时,标签被替换为3

分别在R1和R3上测试其连通性

 路由基础之MPLS和LDP的基本配置_MPLS_18路由基础之MPLS和LDP的基本配置_MPLS_19路由基础之MPLS和LDP的基本配置_MPLS_20

 连通性正常,实验结束;

备注:如有错误,请谅解!

此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!