多协议标签交换 (MPLS) : MPLS

使用 IS 间互联配置 MPLS 基本流量工程

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

此配置示例显示如何使用帧中继和 Intermediate System-to-Intermediate System (IS-IS),在现有的多协议标签交换 (MPLS) 网络上实现 Traffic Engineering (TE)。此示例实现两条动态隧道(由入口标签交换路由器 [LSR] 自动设置)和两条使用明确路径的隧道。

TE 是一个通称,是指使用不同的技术优化指定骨干容量和拓扑的利用率。

MPLS TE 提供了一种方法,可将 TE 功能(如用于类似 ATM 的第 2 层协议的功能)整合到第 3 层协议 (IP) 中。MPLS TE 使用现有协议(Resource Reservation Protocol [RSVP]、IS-IS、Open Shortest Path First [OSPF])的扩展,根据网络限制条件,计算和建立单向隧道。通信流根据其目的地不同,被映射到不同的隧道上。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • Cisco IOSï ¿  ½软件版本12.0(11)S和12.1(3a)T

  • Cisco 3600 路由器

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

功能组件

组件 说明
IP 隧道接口 第 2 层:MPLS 隧道接口是标签交换路径 (LSP) 的前端。它配置有一组资源需求,例如带宽和优先级。第 3 层:LSP 隧道接口是指向隧道目标的单向虚拟链路的前端。
具有 TE 扩展的 RSVP 使用 RSVP,可通过 PATH 和 RESV 消息根据计算出的路径建立和维护 LSP 隧道。RSVP 协议规范已扩展,使 RESV 消息也分发标签信息。
链路状态 IGP(具有 TE 扩展的 IS-IS 或 OSPF) 用于对来自链路管理模块的拓扑和资源信息进行泛洪。IS-IS 使用新的类型长度值 (TLV),OSPF 使用类型 10 链路状态通告(也称为不透明 LSA)。
MPLS TE 路径计算模块 仅在 LSP 前端运行,用于使用来自链路状态数据库的信息确定路径。
MPLS TE 链路管理模块 在每个 LSP 跳,此模块对 RSVP 信令消息执行链路呼叫准入,并对要由 OSPF 或 IS-IS 泛洪的拓扑和资源信息进行登记。
标签交换转发 基于标签的基本 MPLS 转发机制。

配置

网络图

本文档使用此图所示的网络设置。

/image/gif/paws/13737/mplsteisis1.gif

配置

快速配置指南

此过程可用于执行快速配置。有关更多详细信息,请参阅 MPLS Traffic Engineering 和增强功能

  1. 使用通常的配置(在这种情况下,可使用帧中继)设置您的网络。

    注意: 必须使用 32 位 IP 掩码设置环回接口。

    此地址将用于按照路由协议设置 MPLS 网络和 TE。此环回地址必须是可通过全局路由表到达的地址。

  2. 为 MPLS 网络设置路由协议。它必须是链路状态协议(IS-IS 或 OSPF)。在路由协议配置模式下,输入:

    • 对于 IS-IS:

      metric-style wide (or metric-style both) 
      mpls traffic-eng router-id LoopbackN 
      mpls traffic-eng [level-1 | level-2 |]
    • 对于 OSPF:

      mpls traffic-eng area X 
      mpls traffic-eng router-id LoopbackN (must have a 255.255.255.255 mask)
  3. 启用 MPLS TE。在一般配置模式下输入 ip cef(如果 ip cef distributed 可用,也可输入以提高性能)。为每个相关接口启用 MPLS (tag-switching ip)。输入 mpls traffic-engineering tunnel 以启用 MPLS TE,以及零带宽 TE 隧道的 RSVP。

  4. 在非零带宽隧道的每个相关接口通过输入 ip rsvp bandwidth XXX 启用 RSVP。

  5. 设置要用于 TE 的隧道。针对 MPLS TE 隧道可以配置许多选项,但 tunnel mode mpls traffic-eng 命令是必需的。tunnel mpls traffic-eng autoroute announce 命令按照路由协议宣布隧道的存在。

注意: 不要忘记为隧道接口的 IP 地址使用 ip unnumbered loopbackN

此配置示例显示了两条从 Pescara 路由器通往 Pesaro 路由器的不同带宽(和优先级)的动态隧道,以及两条使用了明确路径,从 Pesaro 通往 Pescara 的隧道。

配置文件

仅包括配置文件的相关部分。用于启用 MPLS 的命令显示为斜体,特定于 TE 的命令(包括 RSVP)显示为粗体。

Pesaro
Current configuration:
 !
 version 12.1
 !
 hostname Pesaro
 !
 ip cef
 mpls traffic-eng tunnels
 !
 interface Loopback0
  ip address 10.10.10.6 255.255.255.255
  ip router isis 
 !
 interface Tunnel158
  ip unnumbered Loopback0
  tunnel destination 10.10.10.4
  tunnel mode mpls traffic-eng
  tunnel mpls traffic-eng autoroute announce
  tunnel mpls traffic-eng priority 2 2
  tunnel mpls traffic-eng bandwidth 158
  tunnel mpls traffic-eng path-option 1 explicit name low
 !
 interface Tunnel159
  ip unnumbered Loopback0
  tunnel destination 10.10.10.4
  tunnel mode mpls traffic-eng
  tunnel mpls traffic-eng autoroute announce
  tunnel mpls traffic-eng priority 4 4
  tunnel mpls traffic-eng bandwidth 159
  tunnel mpls traffic-eng path-option 1 explicit name straight
 !

 interface Serial0/0
  no ip address
  encapsulation frame-relay
 !
 interface Serial0/0.1 point-to-point
  bandwidth 512
  ip address 10.1.1.22 255.255.255.252
  ip router isis 
  tag-switching ip
  mpls traffic-eng tunnels 
  frame-relay interface-dlci 603   
  ip rsvp bandwidth 512 512
 !
 router isis 
  net 49.0001.0000.0000.0006.00
  is-type level-1
  metric-style wide
  mpls traffic-eng router-id Loopback0
  mpls traffic-eng level-1
 !
 !
 ip classless
 !
 ip explicit-path name low enable
  next-address 10.1.1.21 
  next-address 10.1.1.10 
  next-address 10.1.1.1 
  next-address 10.1.1.14 
 !
 ip explicit-path name straight enable
  next-address 10.1.1.21 
  next-address 10.1.1.5 
  next-address 10.1.1.14 
 !
 end

佩斯卡拉
Current configuration:
 !
 version 12.0
 !
 hostname Pescara
 !

 ip cef
 !
 mpls traffic-eng tunnels
 !
 interface Loopback0
  ip address 10.10.10.4 255.255.255.255
  ip router isis 
 !
 interface Tunnel1
  ip unnumbered Loopback0

  tunnel destination 10.10.10.6
  tunnel mode mpls traffic-eng
  tunnel mpls traffic-eng autoroute announce
  tunnel mpls traffic-eng priority 5 5
  tunnel mpls traffic-eng bandwidth 25
  tunnel mpls traffic-eng path-option 2 dynamic
 !
 interface Tunnel3
  ip unnumbered Loopback0

  tunnel destination 10.10.10.6
  tunnel mode mpls traffic-eng
  tunnel mpls traffic-eng autoroute announce
  tunnel mpls traffic-eng priority 6 6
  tunnel mpls traffic-eng bandwidth  69
  tunnel mpls traffic-eng path-option 1 dynamic
 !

 interface Serial0/1
  no ip address
  encapsulation frame-relay
 !
 interface Serial0/1.1 point-to-point
  bandwidth 512
  ip address 10.1.1.14 255.255.255.252

  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
  frame-relay interface-dlci 401   
  ip rsvp bandwidth 512 512
 !
 router isis 
  net 49.0001.0000.0000.0004.00
  is-type level-1
  metric-style wide
  mpls traffic-eng router-id Loopback0
  mpls traffic-eng level-1
 !
 end

Pomerol
Current configuration:

 version 12.0
 !
 hostname Pomerol
 !
 ip cef
 !
 mpls traffic-eng tunnels
!
 interface Loopback0
  ip address 10.10.10.3 255.255.255.255
  ip router isis 
 !
 interface Serial0/1
  no ip address
  encapsulation frame-relay
 !
 interface Serial0/1.1 point-to-point
  bandwidth 512
  ip address 10.1.1.6 255.255.255.252
  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
   frame-relay interface-dlci 301   
  ip rsvp bandwidth 512 512
 !
 interface Serial0/1.2 point-to-point
  bandwidth 512
  ip address 10.1.1.9 255.255.255.252
  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
  frame-relay interface-dlci 302   
  ip rsvp bandwidth 512 512
 !
 interface Serial0/1.3 point-to-point
  bandwidth 512
  ip address 10.1.1.21 255.255.255.252
  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
  frame-relay interface-dlci 306   
  ip rsvp bandwidth 512 512
 !
 router isis 
  net 49.0001.0000.0000.0003.00
  is-type level-1
  metric-style wide
  mpls traffic-eng router-id Loopback0
  mpls traffic-eng level-1
 !
 ip classless
 !
 end

Pulligny
Current configuration:
 !
 version 12.1
 !
 hostname Pulligny
 !
 ip cef
 !
 mpls traffic-eng tunnels
 !
 interface Loopback0
  ip address 10.10.10.2 255.255.255.255
 !
 interface Serial0/1
  no ip address
  encapsulation frame-relay
 !
 interface Serial0/1.1 point-to-point
  bandwidth 512
  ip address 10.1.1.2 255.255.255.252
  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
  frame-relay interface-dlci 201   
  ip rsvp bandwidth 512 512
 !
 interface Serial0/1.2 point-to-point
  bandwidth 512
  ip address 10.1.1.10 255.255.255.252
  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
  frame-relay interface-dlci 203   
  ip rsvp bandwidth 512 512
 !
 router isis 
  passive-interface Loopback0
  net 49.0001.0000.0000.0002.00
  is-type level-1
  metric-style wide
  mpls traffic-eng router-id Loopback0
  mpls traffic-eng level-1
 !
 ip classless
 !
 end

Pauillac
!
 version 12.1
 !
 hostname pauillac
 !
 ip cef
 mpls traffic-eng tunnels
 !
 interface Loopback0
  ip address 10.10.10.1 255.255.255.255
  ip router isis 
 !
 interface Serial0/0
  no ip address
  encapsulation frame-relay
 !
 interface Serial0/0.1 point-to-point
  bandwidth 512
  ip address 10.1.1.1 255.255.255.252
  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
  frame-relay interface-dlci 102   
  ip rsvp bandwidth 512 512
 !
 interface Serial0/0.2 point-to-point
  bandwidth 512
  ip address 10.1.1.5 255.255.255.252
  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
  frame-relay interface-dlci 103   
  ip rsvp bandwidth 512 512
 !
 interface Serial0/0.3 point-to-point
  bandwidth 512
  ip address 10.1.1.13 255.255.255.252
  ip router isis 
  mpls traffic-eng tunnels
  tag-switching ip
  frame-relay interface-dlci 104   
  ip rsvp bandwidth 512 512
 !
 router isis 
  net 49.0001.0000.0000.0001.00
  is-type level-1
  metric-style wide
  mpls traffic-eng router-id Loopback0
  mpls traffic-eng level-1
 !
 ip classless
 !
 end

验证

显示命令

本部分所提供的信息可用于确认您的配置是否正常工作。

命令输出解释程序仅限注册用户)(OIT) 支持某些 show 命令。使用 OIT 可查看对 show 命令输出的分析。

  • show mpls traffic-eng tunnels brief

  • show mpls traffic-eng tunnels name Pesaro_t158

  • show ip rsvp interface

  • show mpls traffic-eng topology path destination 10.10.10.6 bandwidth 75

其他有用命令(未在此处阐述)包括:

  • show isis mpls traffic-eng advertisements

  • show tag-switching forwarding-table

  • show ip cef

  • show mpls traffic-eng tunnels summary

show 输出示例

在所有 LSR 上,您都可以使用 show mpls traffic-eng tunnels 检查隧道的存在和状态。例如,在 Pesaro 上,您可以看到总共四条隧道,两条到达 Pesaro(Pescara_t1 和 t3),两条从 Pesaro(t158 和 t159)开始:

Pesaro#show mpls traffic-eng tunnels brief 
Signaling Summary:
    LSP Tunnels Process:            running
    RSVP Process:                   running
    Forwarding:                     enabled
    Periodic reoptimization:        every 3600 seconds, next in 606 seconds
TUNNEL NAME                      DESTINATION      UP IF     DOWN IF   STATE/PROT
Pesaro_t158                      10.10.10.4       -         Se0/0.1   up/up
Pesaro_t159                      10.10.10.4       -         Se0/0.1   up/up     
Pescara_t1                       10.10.10.6       Se0/0.1   -         up/up     
Pescara_t3                       10.10.10.6       Se0/0.1   -         up/up     
Displayed 2 (of 2) heads, 0 (of 0) midpoints,2 (of 2) tails

这是在中间路由器上看到的输出:

Pulligny#show mpls traffic-eng tunnels brief 
Signaling Summary:
    LSP Tunnels Process:            running
    RSVP Process:                   running
    Forwarding:                     enabled
    Periodic reoptimization:        every 3600 seconds, next in 406 seconds
TUNNEL NAME                      DESTINATION      UP IF     DOWN IF   STATE/PROT
Pescara_t3                       10.10.10.6       Se0/1.1   Se0/1.2   up/up
Pesaro_t158                      10.10.10.4       Se0/1.2   Se0/1.1   up/up
Displayed 0 (of 0) heads, 2 (of 2) midpoints, 0 (of 0) tails

可以使用以下命令查看所有隧道的详细配置:

Pesaro#show mpls traffic-eng tunnels name Pesaro_t158

Name: Pesaro_t158                         (Tunnel158) Destination: 10.10.10.4
  Status:
    Admin: up         Oper: up     Path: valid       Signaling: connected

    path option 1, type explicit low (Basis for Setup, path weight 40)

  Config Parameters:
    Bandwidth:  158      kbps  Priority: 2  2   Affinity: 0x0/0xFFFF
    AutoRoute:  enabled   LockDown: disabled    

  InLabel  :  - 
  OutLabel : Serial0/0.1, 17
  RSVP Signaling Info:
       Src 10.10.10.6, Dst 10.10.10.4, Tun_Id 158, Tun_Instance 1601
    RSVP Path Info:
      My Address: 10.10.10.6   
      Explicit Route: 10.1.1.21 10.1.1.10 10.1.1.1 10.1.1.14 
 10.10.10.4 
      Record   Route:  NONE
      Tspec: ave rate=158 kbits, burst=8000 bytes, peak rate=158 kbits
    RSVP Resv Info:
      Record   Route:  NONE
      Fspec: ave rate=158 kbits, burst=8000 bytes, peak rate=4294967 kbits
  History:
    Current LSP:
      Uptime: 3 hours, 33 minutes
      Selection: reoptimation
    Prior LSP:
      ID: path option 1 [1600]
      Removal Trigger: configuration changed

在此情况下,路径在 RSVP 消息中是明确的并且是在其中指定的(承载路径的字段也称为显式路由对象 [ERO])。如果无法跟随此路径,MPLS TE 引擎会使用下一个路径选项,它可以是另一个显式路由或动态路由。

RSVP 特定信息可以使用标准 RSVP 命令查看。在此输出中,在 Pulligny 上有两个预留,一个是 Pesaro_t158 (158K) 请求的,另一个是 Pescara_t3 (69k) 请求的。

Pulligny#show ip rsvp interface
interface    allocated  i/f max  flow max pct UDP  IP   UDP_IP   UDP M/C 
Se0/1        0M         0M       0M       0   0    0    0        0       
Se0/1.1      158K       512K     512K     30  0    1    0        0 
Se0/1.2      69K        512K     512K     13  0    1    0        0

如果要知道在不创建隧道的情况下,特定目的地(和特定带宽)使用了哪个 TE 路径,可使用以下命令:

注意: 请注意,由于空间原因,此命令会分两行显示。

Pescara#show mpls traffic-eng topology path destination 
                          10.10.10.6 bandwidth 75
Query Parameters:
  Destination: 10.10.10.6
    Bandwidth: 75
   Priorities: 0 (setup), 0 (hold)
     Affinity: 0x0 (value), 0xFFFFFFFF (mask)
Query Results:
  Min Bandwidth Along Path: 385 (kbps)
  Max Bandwidth Along Path: 512 (kbps)
  Hop  0: 10.1.1.14      : affinity 00000000, bandwidth 512 (kbps)
  Hop  1: 10.1.1.5       : affinity 00000000, bandwidth 385 (kbps)
  Hop  2: 10.1.1.21      : affinity 00000000, bandwidth 512 (kbps)
  Hop  3: 10.10.10.6

如果网络执行 IP TTL 传播(请参阅 mpls ip ttl propagate),请发出 traceroute 命令,并查看跟随的路径是否为隧道以及隧道是否根据配置的内容进行路由:

Pescara#traceroute 10.10.10.6

Type escape sequence to abort.
Tracing the route to 10.10.10.6

  1 10.1.1.13 [MPLS: Label 29 Exp 0] 540 msec 312 msec 448 msec
  2 10.1.1.2 [MPLS: Label 27 Exp 0] 260 msec 276 msec 556 msec
  3 10.1.1.9 [MPLS: Label 29 Exp 0] 228 msec 244 msec 228 msec
  4 10.1.1.22 112 msec *  104 msec

相关信息


Document ID: 13737