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: