lunes, 15 de junio de 2015

[MPLS para Dummies]: MPLS Traffic Engineering



Este artículo forma parte de un grupo de artículos llamado MPLS para Dummies en el que se pretende dar una iniciación práctica de como  configurar una red MPLS básica. Si sigues los pasos uno a uno, con las configuraciones que aquí se presentan es imposible que no puedas montar tu propia red MPLS :) .

MPLS traffic engineering es una manera de enviar el tráfico por los enlaces que nos interesa, ignorando lo que nos diga el protocolo de routing. Aquí solo vamos a configurar un flujo de manera estática, pero con MPLS TE se pueden hacer auténticas maravillas.




Configuración:

La configuración consiste en crear un objeto llamado explicit path que contendrá explícitamente el camino que vamos a seguir para llegar al destino, y luego asignaremos eso a un túnel. Ojo, porque estos túneles son unidireccionales, por tanto el tráfico puede ser asimétrico si no lo configuramos específicamente.

También hay que configurar mpls traffic engineering en todos los dispositivos que formen parte del path entre ambos extremos. Tanto a nivel de interfaces como dentro del protocolo de routing.
 

R4:

mpls traffic-eng tunnels
interface Ethernet0/0.14
 mpls traffic-eng tunnels
!
interface Ethernet0/0.34
 mpls traffic-eng tunnels
router ospf 1
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0
!
!
ip explicit-path name 4315 enable
 index 10 next-address 20.0.34.3
 index 20 next-address 20.0.13.1
 index 30 next-address 20.0.15.5

 interface Tunnel45
 ip unnumbered Loopback0
 tunnel source Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 100.0.0.5
 tunnel mpls traffic-eng path-option 1 explicit name 4315

ip route 100.0.0.5 255.255.255.255 Tunnel45


R5:

mpls traffic-eng tunnels
interface Ethernet0/0.15
 mpls traffic-eng tunnels
!
ip explicit-path name 5134 enable
 index 10 next-address 20.0.15.1
 index 20 next-address 20.0.13.3
 index 30 next-address 20.0.34.4
interface Tunnel54
 ip unnumbered Loopback0
 tunnel source Loopback0
 tunnel mode mpls traffic-eng
 tunnel destination 100.0.0.4
 tunnel mpls traffic-eng path-option 1 explicit name 5134
 no routing dynamic
!

 !
ip route 100.0.0.4 255.255.255.255 Tunnel54
router ospf 1
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0

R1:

router ospf 1

 address-family ipv4 unicast
 area 0
  mpls traffic-eng
  exit
 !
 mpls traffic-eng router-id Loopback0
!
mpls traffic-eng
 interface GigabitEthernet0/0/0/2.13
 !
 interface GigabitEthernet0/0/0/2.14
 !
 interface GigabitEthernet0/0/0/2.15


R3:

mpls traffic-eng tunnels
interface Ethernet0/0.13
 mpls traffic-eng tunnels
!
interface Ethernet0/0.34
 mpls traffic-eng tunnels
router ospf 1
 mpls traffic-eng router-id Loopback0
 mpls traffic-eng area 0


Verificación:

El camino que seguimos antes y después es claramente distinto tras aplicar TE.

Trace sin el tunel:
 
 R4#trace 100.0.0.5
Type escape sequence to abort.
Tracing the route to 100.0.0.5
VRF info: (vrf in name/id, vrf out name/id)
  1 20.0.14.1 4 msec 3 msec 3 msec
  2 20.0.15.5 2 msec 3 msec *
Activamos el tunel:

R4#
R4#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R4(config)#int tunn 45
R4(config-if)#no shut
R4(config-if)#end
R4#
*May 20 01:05:24.413: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel45, changed state to up
R4#
*May 20 01:05:25.510: %SYS-5-CONFIG_I: Configured from console by console
R4#trace 100.0.0.5
Type escape sequence to abort.
Tracing the route to 100.0.0.5
VRF info: (vrf in name/id, vrf out name/id)
  1 20.0.34.3 [MPLS: Label 22 Exp 0] 8 msec 3 msec 3 msec
  2 20.0.13.1 4 msec 3 msec 3 msec
  3 20.0.15.5 3 msec 4 msec *
R4#
Sin tunel:

R5#traceroute 100.0.0.4
Type escape sequence to abort.
Tracing the route to 100.0.0.4
VRF info: (vrf in name/id, vrf out name/id)
  1 20.0.15.1 6 msec 4 msec 3 msec
  2 20.0.14.4 3 msec 2 msec *

Con tunel:

R5#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R5(config)#int tunn
R5(config)#int tunnel 54
R5(config-if)#no shut
R5(config-if)#end
R5#
*May 20 01:05:09.497: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel54, changed state to up
*May 20 01:05:10.271: %SYS-5-CONFIG_I: Configured from console by console
R5#traceroute 100.0.0.4
Type escape sequence to abort.
Tracing the route to 100.0.0.4
VRF info: (vrf in name/id, vrf out name/id)
  1 20.0.15.1 4 msec 4 msec 3 msec
  2 20.0.13.3 [MPLS: Label 23 Exp 0] 3 msec 3 msec 3 msec
  3 20.0.34.4 2 msec 3 msec *
R5#
Verificando los tuneles:



R4#show mpls traffic-eng tunnels
P2P TUNNELS/LSPs:
Name: R4_t45                              (Tunnel45) Destination: 100.0.0.5
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit 4315 (Basis for Setup, path weight 21)
  Config Parameters:
    Bandwidth: 0        kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 0 [0] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled

  InLabel  :  -
  OutLabel : Ethernet0/0.34, 22
  Next Hop : 20.0.34.3
  RSVP Signalling Info:
       Src 100.0.0.4, Dst 100.0.0.5, Tun_Id 45, Tun_Instance 18
    RSVP Path Info:
      My Address: 20.0.34.4  
      Explicit Route: 20.0.34.3 20.0.13.3 20.0.13.1 20.0.15.1
                      20.0.15.5 100.0.0.5
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
  History:
    Tunnel:
      Time since created: 15 minutes, 33 seconds
      Time since path change: 3 minutes, 49 seconds
      Number of LSP IDs (Tun_Instances) used: 18
    Current LSP: [ID: 18]
      Uptime: 3 minutes, 49 seconds
    Prior LSP: [ID: 17]
      ID: path option unknown
      Removal Trigger: tunnel shutdown
LSP Tunnel R5_t54 is signalled, connection is up
  InLabel  : Ethernet0/0.34, implicit-null
  Prev Hop : 20.0.34.3
  OutLabel :  -
  RSVP Signalling Info:
       Src 100.0.0.5, Dst 100.0.0.4, Tun_Id 54, Tun_Instance 16
    RSVP Path Info:
      My Address: 100.0.0.4  
      Explicit Route:  NONE
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
P2MP TUNNELS:
P2MP SUB-LSPS:

R5#show mpls traffic-eng tunnels
P2P TUNNELS/LSPs:
Name: R5_t54                              (Tunnel54) Destination: 100.0.0.4
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected
    path option 1, type explicit 5134 (Basis for Setup, path weight 21)
  Config Parameters:
    Bandwidth: 0        kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute announce: disabled LockDown: disabled Loadshare: 0 [0] bw-based
    auto-bw: disabled
  Active Path Option Parameters:
    State: explicit path option 1 is active
    BandwidthOverride: disabled  LockDown: disabled  Verbatim: disabled

  InLabel  :  -
  OutLabel : Ethernet0/0.15, 16007
  Next Hop : 20.0.15.1
  RSVP Signalling Info:
       Src 100.0.0.5, Dst 100.0.0.4, Tun_Id 54, Tun_Instance 16
    RSVP Path Info:
      My Address: 20.0.15.5  
      Explicit Route: 20.0.15.1 20.0.13.1 20.0.13.3 20.0.34.3
                      20.0.34.4 100.0.0.4
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
  History:
    Tunnel:
      Time since created: 16 minutes, 3 seconds
      Time since path change: 4 minutes, 35 seconds
      Number of LSP IDs (Tun_Instances) used: 16
    Current LSP: [ID: 16]
      Uptime: 4 minutes, 35 seconds
    Prior LSP: [ID: 15]
      ID: path option unknown
      Removal Trigger: tunnel shutdown
LSP Tunnel R4_t45 is signalled, connection is up
  InLabel  : Ethernet0/0.15, implicit-null
  Prev Hop : 20.0.15.1
  OutLabel :  -
  RSVP Signalling Info:
       Src 100.0.0.4, Dst 100.0.0.5, Tun_Id 45, Tun_Instance 18
    RSVP Path Info:
      My Address: 100.0.0.5  
      Explicit Route:  NONE
      Record   Route:   NONE
      Tspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
    RSVP Resv Info:
      Record   Route:   NONE
      Fspec: ave rate=0 kbits, burst=1000 bytes, peak rate=0 kbits
P2MP TUNNELS:
P2MP SUB-LSPS:





No hay comentarios:

Publicar un comentario