计算机网络-MPLS静态标签实验

发布于:2025-03-29 ⋅ 阅读:(29) ⋅ 点赞:(0)

前面我们学习了MPLS和标签的基础概念,但是单看概念肯定是不容易理解的,现在通过静态的标签分配深入学习下MPLS的转发原理。

一、网络拓扑

MPLS静态标签转发

需要先完成相应的基础配置:

  • IP地址正确配置
  • R1、R2、R3、R4部署OSPF区域,确保192.168.1.0/24和172.16.1.0/24已经能够互访。
  • 通过配置MPLS静态标签分配使用MPLS标签进行转发。

二、配置

2.1 基础配置

AR1:
interface GigabitEthernet0/0/0
 ip address 10.0.12.1 255.255.255.0 
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255 
#
interface LoopBack1
 ip address 192.168.1.1 255.255.255.255 
# 配置OSPF
ospf 1 
 area 0.0.0.0 
  network 10.0.12.0 0.0.0.255 
  network 192.168.1.1 0.0.0.0

AR2:
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 LoopBack0
 ip address 2.2.2.2 255.255.255.255 
#
ospf 1 
 area 0.0.0.0 
  network 10.0.12.0 0.0.0.255 
  network 10.0.23.0 0.0.0.255
  
AR3:
interface GigabitEthernet0/0/1
 ip address 10.0.23.3 255.255.255.0 
#
interface GigabitEthernet0/0/2
 ip address 10.0.34.3 255.255.255.0 
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255 
#
ospf 1 
 area 0.0.0.0 
  network 10.0.23.0 0.0.0.255 
  network 10.0.34.0 0.0.0.255
  
AR4:
interface GigabitEthernet0/0/2
 ip address 10.0.34.4 255.255.255.0 
#
interface LoopBack0
 ip address 4.4.4.4 255.255.255.255 
#
interface LoopBack1
 ip address 172.16.1.1 255.255.255.255 
#
ospf 1 
 area 0.0.0.0 
  network 10.0.34.0 0.0.0.255 
  network 172.16.1.1 0.0.0.0
  

完成基础的接口配置和OSPF的路由通告。

两边子网互通

2.2 MPLS配置

前面基础概念我们知道FEC和LSP是单向的,如果是手工定义LSP需要双向配置LSP路径和标签,从拓扑图也能够看到。下面先配置从AR1到达AR4的标签路径。

AR1:
# 全局配置MPLS lsr-id,在MPLS域内标识该LSR路由器,类似router id
mpls lsr-id 1.1.1.1
# 全局使能mpls功能
mpls
# 在接口使能mpls
interface GigabitEthernet0/0/0
 ip address 10.0.12.1 255.255.255.0 
 mpls

# 手工配置一天LSP,AR1类型为ingress ,LSP的名字为192->172,可以自定义,然后目的地址为172.16.1.1 32 ,出标签为100
static-lsp ingress 192->172 destination 172.16.1.1 32 nexthop 10.0.12.2 out-labe
l 100

AR2:
# 配置mpls lsr-id
mpls lsr-id 2.2.2.2
# 全局使能mpls功能
mpls
# 接口使能mpls功能
interface GigabitEthernet0/0/0
 ip address 10.0.12.2 255.255.255.0 
 mpls
#
interface GigabitEthernet0/0/1
 ip address 10.0.23.2 255.255.255.0 
 mpls
 
# AR2作为中间转发路由器transit,需要定义标签入接口和入标签、下一跳和出标签,表示从哪个接口进来,下一跳和出标签
static-lsp transit 192->172 incoming-interface GigabitEthernet0/0/0 in-label 100
 nexthop 10.0.23.3 out-label 200

AR3:
# 配置mpls lsr-id
mpls lsr-id 3.3.3.3
# 全局使能mpls功能
mpls
# 接口使能mpls功能
interface GigabitEthernet0/0/1
 ip address 10.0.23.3 255.255.255.0 
 mpls
#
interface GigabitEthernet0/0/2
 ip address 10.0.34.3 255.255.255.0 
 mpls
 
# AR3也是作为中间标签转发路由器配置为transit,和AR2一样定义入接口、入标签,下一跳和出标签
static-lsp transit 192->172 incoming-interface GigabitEthernet0/0/1 in-label 200
 nexthop 10.0.34.4 out-label 300

AR4:
# 配置mpls lsr-id
mpls lsr-id 4.4.4.4
# 全局使能mpls功能
mpls
# 接口使能mpls功能
interface GigabitEthernet0/0/2
 ip address 10.0.34.4 255.255.255.0 
 mpls

# AR4作为出节点egress,只需要定义入接口和入标签即可
static-lsp egress 192->172 incoming-interface GigabitEthernet0/0/2 in-label 300

现在从AR1->AR4的单向LSP已经建立了,可以通过display mpls lsp查看LSP信息。这里能够看到入标签和出标签以及接口信息等。

AR1

AR2

AR3

AR4

那怎样可以看到标签信息呢?通过tracert -v 172.16.1.1命令可以查看MPLS标签。

在AR1上查看到达172.16.1.1的标签信息。

tracert -v查看标签信息

也可以通过tracert lsp ip 172.16.1.1 32查看LSP定义的标签信息。

LSP信息

也可以通过抓包查看MPLS 标签,因为MPLS的一个倒数第二跳弹出因此需要在AR3之前进行抓包。

抓包数据

然后通过查看FIB转发表可以看到tunnel ID不为0x0的信息。

MPLS FIB表项

最后我们再来配置反向LSP来实现标签转发,注意LSR的角色是相反的。

AR1:
static-lsp ingress 192->172 destination 172.16.1.1 32 nexthop 10.0.12.2 out-labe
l 100
static-lsp egress 172->192 incoming-interface GigabitEthernet0/0/0 in-label 600

AR2:
static-lsp transit 192->172 incoming-interface GigabitEthernet0/0/0 in-label 100
 nexthop 10.0.23.3 out-label 200
static-lsp transit 172->192 incoming-interface GigabitEthernet0/0/1 in-label 500
 nexthop 10.0.12.1 out-label 600
 
AR3:
static-lsp transit 192->172 incoming-interface GigabitEthernet0/0/1 in-label 200
 nexthop 10.0.34.4 out-label 300
static-lsp transit 172->192 incoming-interface GigabitEthernet0/0/2 in-label 400
 nexthop 10.0.23.2 out-label 500

AR4:
static-lsp egress 192->172 incoming-interface GigabitEthernet0/0/2 in-label 300
static-lsp ingress 172->192 destination 192.168.1.1 32 nexthop 10.0.34.3 out-lab
el 400

双向LSP

FIB

tunnel id不为0表示隧道转发,其它的都是正常的IP路由转发,然后在转包上也能看到对应的标签。整个过程就差不多是这样了,不过这里有几个点需要注意:

  • mpls lsr-id命令用来配置LSR的ID。LSR ID用来在网络中唯一标识一个LSR。LSR没有缺省的LSR ID,必须手工配置。
  • in-label占用的是当前LSR的标签空间,采用静态LSP时,标签空间为16~1023。
    -** out-label** 占用的是下游LSR的标签空间,而下游空间采用的标签分发方式不确定,所以out-label的标签空间为16~1048575。
  • LSP如果想要实现正常通信需要双向进行配置
  • 缺省情况下MPLS有一个倒数第二跳弹出也就是在AR3的G2口或者AR2的G0口就会进行弹出,可能无法观察到现象

三、MPLS配置命令

基础配置命令:

# 配置LSR ID
[Huawei] mpls lsr-id lsr-id

# 使能MPLS
[Huawei] mpls

# 在接口视图下,使能当前接口的MPLS功能。需先使能全局MPLS能力后才能执行接口下的MPLS使能命令。
[Huawei-GigabitEthernet0/0/0] mpls

# Ingress LSR配置
[Huawei] static-lsp ingress lsp-name destination ip-address { mask-length | mask } { nexthop next-hop-address | outgoing-interface interface-type interface-number } * out-label out-label

static-lsp ingress命令用来为入口节点配置静态LSP。
推荐采用指定next-hop的方式配置静态LSP,确保本地路由表中存在与指定目的IP地址精确匹配的路由项,包括目的IP地址和下一跳IP地址。

# Transit LSR配置,static-lsp transit命令用来为中间转发节点配置静态LSP。
[Huawei] static-lsp transit lsp-name [ incoming-interface interface-type interface-number ] in-label in-label { nexthop next-hop-address | outgoing-interface interface-type interface-number }* out-label out-label

# Egress LSR配置
[Huawei] static-lsp egress lsp-name [ incoming-interface interface-type interface-number ] in-label in-label 
static-lsp egress命令用来在出口节点配置静态LSP。

# 查看静态LSP配置
[Huawei] display mpls static-lsp [ lsp-name ] [ { include | exclude } ip-address mask-length ] [ verbose ]

# 追踪MPLS标签路径
tracert -v 192.168.1.1

# 查看转发表项
dis fib


总结:通过静态配置LSP的方式观察标签的转发现象,但是总体来说手工配置LSP是比较繁琐的。


网站公告

今日签到

点亮在社区的每一天
去签到