Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica4 MPLS PDF
Practica4 MPLS PDF
Objetivo
El objetivo de la presente prctica es familiarizarse con la tecnologa y los
conceptos de MPLS (Multiprotocol Label Switching), as como su configuracin en
una maqueta con routers de Cisco Systems.
Para ello, se realizarn las siguientes actividades:
Configurar routing IP con OSPF en los routers
Configurar en los routers protocolos de distribucin de etiquetas (TDP y LDP)
Adaptar el tamao de Maximum Transmission Unit (MTU) para ser compatible
con los requisitos de funcionamiento de MPLS
Verificar el comportamiento de MPLS en la red, as como la comprobacin de las
variables (tablas) utilizadas por MPLS en su funcionamiento
Aunque los equipos utilizados son de un fabricante en particular, los conceptos
introducidos en la presente prctica tienen carcter general.
Materiales necesarios
Para la realizacin de esta prctica es necesario disponer de:
Tres cables ethernet normales y un cable serie DTE-DCE
Tres routers Cisco Systems de la serie 2600 equipados mnimo con 16 MB de
Flash y 48 MB de RAM, con una interfaz serie y otra Ethernet, con la IOS
Version 12.3(26) Telco Feature Set- General Deployment1
Un hub
Tres ordenadores de consola para cada uno de los routers, uno de ellos
equipado con un analizador de protocolos
Prerrequisitos
Previa a la realizacin de esta prctica es necesario:
Tener un conocimiento bsico de configuracin de los routers de Cisco
Systems, as como los comandos de su sistema operativo IOS, para lo cual se
remite a las prcticas realizadas previamente en esta u otras asignaturas
Tener un conocimiento terico de MPLS
Haberse ledo completamente esta prctica antes de empezar
IOS Version 12.3(26) Telco Feature Set- General Deployment, RELEASE SOFTWARE (fc2)
c2600-telco-mz.123-26.bin
Prctica de MPLS
Introduccin
La tecnologa MPLS (Multiprotocol Label Switching) tambin es conocida como
tecnologa de la capa 2.5, porque realiza un encapsulado intermedio entre la capa
de enlace (capa 2) y la capa de red (capa 3). En este encapsulado se introduce
una etiqueta de 4 bytes, que permite a los routers utilizar tcnicas de conmutacin.
El utilizar el etiquetado por debajo de capa 3, permite que MPLS pueda funcionar
independientemente del protocolo de capa 3 utilizado, de ah lo de multiprotocol.
Esta arquitectura de etiquetado es flexible y permite anidar etiquetas, es decir,
introducir una trama MPLS dentro de otra.
El objetivo de MPLS es separar la parte de encaminamiento de la parte de
conmutacin en el reenvo de los paquetes, de forma que mientras la parte de
encaminamiento es compleja y lenta (tiempos de convergencia, clculo de rutas),
se realiza independientemente de la parte de conmutacin, que es rpida y simple.
De forma muy simplificada, se podra decir que los routers inicialmente calculan
todas las rutas (usando protocolos de routing IP) a los destinos y luego
intercambiando etiquetas establecen los circuitos virtuales entre cualquier origen y
cualquier destino para empezar a conmutar. Las etiquetas introducidas a los
paquetes cuando entran en la red MPLS estn asociadas al circuito virtual que
seguir el paquete en la red hacia un destino determinado y estas etiquetas se
introducen en el paquete, antes de la cabecera de capa 3. Las etiquetas que se
aaden slo tienen significado local al nodo MPLS (el router) y van cambiando
salto a salto. As de esta manera, el paquete entra en la red (a travs de los
routers MPLS frontera) y se le aade una etiqueta segn el circuito virtual para su
destino, el paquete es conmutado dentro de la red (a travs de los routers MPLS
internos) cambiando en cada salto la etiqueta y finalmente sale de la red MPLS (a
travs de los routers MPLS frontera) prximo al destino, quitndole la etiqueta.
Las principales aplicaciones de MPLS son funciones de ingeniera de trfico (a los
flujos de cada usuario se les asocia una etiqueta diferente), routing basados en
polticas (Policy Routing), servicios de VPN, servicios que requieren QoS , etc y
segn la aplicacin, se necesitarn ms o menos etiquetas, desde 1 hasta 3 o 4.
En el caso particular del fabricante Cisco Systems, la implementacin de la
tecnologa MPLS tiene un precursor que es el Tag Switching y ocasionalmente
aparecen literalmente estas palabras en las salidas de algn comando. En ingls
tag y label son sinnimos.
Actualmente Cisco implementa MPLS basndose en la tecnologa CEF (Cisco
Express Forwarding) que es un nuevo esquema de encaminamiento utilizando
soporte hardware para una conmutacin rpida. La idea de CEF es que la tabla de
rutas en cada router permita asignar las interfaces de salida para cada paquete sin
tener que consultar la tabla de rutas tradicional, de forma que se ahorra tiempo. Se
puede decir que el proceso de encaminamiento se hace utilizando hardware
especfico, evitando la consulta lenta en las tablas de rutas tradicionales. En las
Prctica de MPLS
versiones de IOS utilizadas en el laboratorio y en general que soportan MPLS en
Cisco Systems, este modo est habilitado por defecto.
La terminologa ms importante y necesaria para esta prctica de MPLS es:
1 FEC (Forwarding Equivalence Class): conjunto de paquetes que entran en la
red MPLS por la misma interfaz, que reciben la misma etiqueta y por tanto
circulan por un mismo trayecto. Normalmente se trata de paquetes que
pertenecen a un mismo flujo.
2 LSP (Label Switched Path): camino que siguen los paquetes que pertenecen
a la misma FEC, es equivalente a un circuito virtual.
3 LSR (Label Switching Router) : router que puede encaminar paquetes en
funcin del valor de la etiqueta MPLS
4 LIB (Label Information Base) o TIB (Tag Information Base): La tabla de
etiquetas que manejan los LSR. Relaciona la pareja (interfaz de entrada etiqueta de entrada) con (interfaz de salida - etiqueta de salida). En versiones
de IOS antiguas, en lugar de Label se utilizaba Tag y de ah, que hay algunos
comandos que utilizan tag en lugar de label.
5 LDP o TDP ( Label o Tag Distribution Protocol): protocolo utilizado para
distribucin de etiquetas MPLS. LDP es la versin estandarizada e integrada
en las IOS con versiones 12.4(3) o superior y TDP es una versin precursora
propietaria definida por Cisco Systems que ha sido reemplazada por LDP.
Podramos decir que TDP est incluido en LDP.
6 FIB (Forwarding Information Base): en pocas palabras es la tabla de rutas
del router, pero con soporte hardware, basado en CEF. Esta tabla se actualiza
automticamente a peticin de los protocolos de routing.
7 LFIB (Label Forwarging Information Base): es la tabla que asocia las
etiquetas con los destinos o rutas de capa 3 y la interfaz de salida en el router,
indicndole al router lo que tiene que hacer: poner o quitar etiqueta.
8 LIB (Label Information Base): es la tabla que contiene slo informacin de
etiquetas MPLS y es utilizada por LDP (o TDP) para la gestin y envo de las
etiquetas.
9 PHP (Penultimate Hop Popping): es una alternativa de entrega de trama
MPLS al final del circuito virtual, para mejorar las prestaciones y el consumo de
CPU. Consiste en quitar la etiqueta MPLS cuando se sabe que el siguiente
router no necesita la etiqueta MPLS por estar la red directamente conectada a
l o ser el final del circuito virtual. De esta forma, se evita hacer una doble
bsqueda en dicho router, tanto en la tabla de LFIB y en la tabla de rutas. Es el
modo de funcionamiento por defecto en los routers de Cisco Systems.
La implementacin de MPLS en los routers de Cisco Systems se realiza utilizando
una arquitectura basada en dos planos, el plano de control (para routing y
protocolos de gestin de MPLS) y el plano de datos donde se realiza la
conmutacin utilizando las etiquetas.
Para el funcionamiento de MPLS, una vez el router tiene la tabla FIB completa por
el protocolo de routing, a cada destino que aparece en dicha tabla, le asocia una
etiqueta y la anuncia a sus vecinos utilizando LDP (o TDP). Esta asociacin queda
3
Prctica de MPLS
registrada en la tabla LIB en el plano de control. El plano de datos, que es el que
realiza el trabajo de conmutacin, lo que hace es mantener las tablas de FIB (para
enrutar los paquetes de red directamente) y la tabla LFIB (para conmutar las
tramas MPLS utilizando las etiquetas y reenviar la trama a la interfaz de salida
correspondiente).
De forma simplificada en la figura 1 y 2 se explica el funcionamiento del MPLS
utilizando las tablas LIB, LFIB y FIB.
Figura 2: Una vez tenemos las tablas inicializadas, FIB, LIB y LFIB en el router B,
cuando llegue un paquete del router A con etiqueta 25, el router B sabe que tiene
que cambiar la etiqueta a 47 consultando la tabla LFIB y conmutar, es decir
sacarla por la interfaz que conecta con el router C.
Prctica de MPLS
Esquema de la red MPLS a implementar
En la presenta maqueta hay 3 routers que forman la red MPLS como muestra la
figura 3. Por simplificacin, se han introducido las interfaces virtuales de
Loopback, para representar las LAN para las redes 172.16.1.0/24, 172.16.2.0/24 y
172.16.3.0/24 en los routers R1, R2 y R3 respectivamente. Las conexiones entre
los routers son: R1-R2 por LAN 172.16.12.0/24 y conexin serie R2-R3 con
172.16.23.0/24.
Figura 3: Esquema conexin de los 3 routers con detalle del direccionamiento IP.
Para el desarrollo de la prctica, en lugar del switch de la LAN de R1-R2 se
conectar un hub.
Paso 0: Cableado e inicializacin de los routers
Cablea la maqueta tal como se indica en la figura 3, pero en lugar de conectar un
switch entre R1 y R2, vamos a conectar un hub. Seguidamente conctate por
consola a los diferentes equipos, borra su configuracin si es necesario (con los
comandos erase startup configuration y reload) y establece el nombre asignado
en las maquetas a cada router utilizando los siguientes comandos. Este ejemplo
sera para el caso del router R1.
>enable
#erase star
#reload
Would you like to enter the initial configuration dialog? [yes/no]: no
Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#no ip domain-lookup
R1(config)#exit
Prctica de MPLS
Router\interfaz
R1
R2
R3
Ethernet 0/0
Ethernet 0/0
Ethernet 0/0
Serial 0/0
Serial 0/0
Serial 0/0
Prctica de MPLS
Configura OSPF en los 3 routers de la maqueta en el rea 0. Para ello
configura la clase mayor de las diferentes subredes utilizadas, dado que los
routers anunciarn solamente las subredes que tienen directamente
conectadas.
R1(config)# router ospf 1
R1(config-router)# network 172.16.0.0 0.0.255.255 area 0
R2(config)# router ospf 1
R2(config-router)# network 172.16.0.0 0.0.255.255 area 0
R3(config)# router ospf 1
R3(config-router)# network 172.16.0.0 0.0.255.255 area 0
O
C
C
O
O
R2#show ip route
Prctica de MPLS
C
C
O
O
C
R3#show ip route
Prctica de MPLS
show ip cef command.
R1#show ip cef
Prefix
0.0.0.0/0
0.0.0.0/32
172.16.1.0/24
172.16.1.0/32
172.16.1.1/32
172.16.1.255/32
172.16.2.1/32
172.16.3.1/32
172.16.12.0/24
172.16.12.0/32
172.16.12.1/32
172.16.12.2/32
172.16.12.255/32
172.16.23.0/24
224.0.0.0/4
224.0.0.0/24
255.255.255.255/32
Next Hop
drop
receive
attached
receive
receive
receive
172.16.12.2
172.16.12.2
attached
receive
receive
172.16.12.2
receive
172.16.12.2
drop
receive
receive
Interface
Null0 (default route handler entry)
Loopback0
Ethernet0/0
Ethernet0/0
Ethernet0/0
Ethernet0/0
Ethernet0/0
Prctica de MPLS
R2(config-if)# mpls ip
*Mar 1 00:42:34.996: %LDP-5-NBRCHG: TDP2 Neighbor 172.16.1.1:0 is UP
R2(config-if)# interface serial0/0
R2(config-if)# mpls ip
R3(config)# interface serial0/0
R3(config-if)# mpls ip
*Mar 1 00:44:44.164: %LDP-5-NBRCHG: TDP Neighbor 172.16.2.1:0 is UP
Date cuenta que cuando configures MPLS en los dos extremos de una
conexin, aparecen mensajes del sistema operativo en ambos routers
indicando que TDP ha creado nueva vecindad.
Paso 5: Verifica la configuracin de MPLS
Para comprobar el funcionamiento de MPLS vamos a utilizar los comandos
show disponibles para MPLS. Para ver de qu comandos disponemos
utilizamos el comando ?
R1#show mpls ?
atm-ldp
forwarding-table
interfaces
ip
label
ldp
traffic-eng
En primer lugar para ver rpidamente las interfaces trabajando con MPLS
ejecutaremos show mpls interfaces y saber qu protocolo de intercambio
de etiquetas usan.
R1# show mpls interfaces
Interface
IP
Ethernet0/0
Yes (tdp)
Tunnel
No
Operational
Yes
Tunnel
No
No
Operational
Yes
Yes
Tunnel
No
Operational
Yes
TDP (Tag Distribution Protocol) es una herencia de la versin precursora del LDP (Label
Distribution Protocol).
10
Prctica de MPLS
LDP) y el estado de las conexiones establecidas.
Destacar que en cada router MPLS se utiliza como identificativo para hablar
con sus vecinos, la IP ms alta de sus propias interfaces de loopback y si no
dispone de interfaces de loopback, de cualquier interfaz fsico, al igual que
pasa con otros protocolos como OSPF, BGP etc
R1#show mpls ldp discovery
Local LDP Identifier:
172.16.1.1:0
Discovery Sources:
Interfaces:
Ethernet0/0 (tdp): xmit/recv
TDP Id: 172.16.2.1:0
R1#show mpls ldp nei
Peer TDP Ident: 172.16.2.1:0; Local TDP Ident 172.16.1.1:0
TCP connection: 172.16.2.1.19940 - 172.16.1.1.711
State: Oper; PIEs sent/rcvd: 0/15; Downstream
Up time: 00:10:26
TDP discovery sources:
Ethernet0/0, Src IP addr: 172.16.12.2
Addresses bound to peer TDP Ident:
172.16.12.2
172.16.23.2
172.16.2.1
11
Prctica de MPLS
Interfaces:
Serial0/0 (tdp): xmit/recv
TDP Id: 172.16.2.1:0
R3#sho mpls ldp nei
Peer TDP Ident: 172.16.2.1:0; Local TDP Ident 172.16.3.1:0
TCP connection: 172.16.2.1.711 - 172.16.3.1.40446
State: Oper; PIEs sent/rcvd: 0/24; Downstream
Up time: 00:18:05
TDP discovery sources:
Serial0/0, Src IP addr: 172.16.23.2
Addresses bound to peer TDP Ident:
172.16.12.2
172.16.23.2
172.16.2.1
12
Prctica de MPLS
tib entry: 172.16.3.1/32, rev 8
local binding: tag: 17
remote binding: tsr: 172.16.2.1:0, tag: 17
tib entry: 172.16.12.0/24, rev 4
local binding: tag: imp-null
remote binding: tsr: 172.16.2.1:0, tag: imp-null
tib entry: 172.16.23.0/24, rev 2
local binding: tag: 16
remote binding: tsr: 172.16.2.1:0, tag: imp-null
R2#show mpls ldp bindings
tib entry: 172.16.1.0/24, rev 11
remote binding: tsr: 172.16.1.1:0,
tib entry: 172.16.1.1/32, rev 6
local binding: tag: 16
remote binding: tsr: 172.16.3.1:0,
tib entry: 172.16.2.0/24, rev 10
local binding: tag: imp-null
tib entry: 172.16.2.1/32, rev 12
remote binding: tsr: 172.16.1.1:0,
remote binding: tsr: 172.16.3.1:0,
tib entry: 172.16.3.0/24, rev 13
remote binding: tsr: 172.16.3.1:0,
tib entry: 172.16.3.1/32, rev 8
local binding: tag: 17
remote binding: tsr: 172.16.1.1:0,
tib entry: 172.16.12.0/24, rev 4
local binding: tag: imp-null
remote binding: tsr: 172.16.1.1:0,
remote binding: tsr: 172.16.3.1:0,
tib entry: 172.16.23.0/24, rev 2
local binding: tag: imp-null
remote binding: tsr: 172.16.1.1:0,
remote binding: tsr: 172.16.3.1:0,
R3#show mpls ldp bindings
tib entry: 172.16.1.1/32, rev 6
local binding: tag: 17
remote binding: tsr: 172.16.2.1:0,
tib entry: 172.16.2.0/24, rev 12
remote binding: tsr: 172.16.2.1:0,
tib entry: 172.16.2.1/32, rev 10
local binding: tag: 18
tib entry: 172.16.3.0/24, rev 8
local binding: tag: imp-null
tib entry: 172.16.3.1/32, rev 11
remote binding: tsr: 172.16.2.1:0,
tib entry: 172.16.12.0/24, rev 4
local binding: tag: 16
remote binding: tsr: 172.16.2.1:0,
tib entry: 172.16.23.0/24, rev 2
local binding: tag: imp-null
remote binding: tsr: 172.16.2.1:0,
tag: imp-null
tag: 17
tag: 18
tag: 18
tag: imp-null
tag: 17
tag: imp-null
tag: 16
tag: 16
tag: imp-null
tag: 16
tag: imp-null
tag: 17
tag: imp-null
tag: imp-null
Prctica de MPLS
siguiente LSR ya tiene el destino directamente conectado, la entrega la
realizan directamente sin etiqueta, es decir, directamente el paqueta IP. Esto
se realiza para evitar una consulta innecesaria en la tabla LIB en el LSR
destino, cuando ya sabemos que el destino est conectado directamente a
dicho LSR.
Por ejemplo, asumimos que todos los routers han realizado adyacencia con
LDP. La ejecucin de MPLS implica:
1) R2 asocia etiquetas localmente, por ejemplo la 17, para el prefijo
172.16.3.0/24 de su tabla de rutas
2) R2 anuncia por LDP (oTDP) la asociacin local a su vecino R1.
3) R1 introduce la asociacin de R2 para la red 172.16.3.0/24,
clasificndola
como
asignacin
remota
en
su
LIB,
independientemente de si la utiliza para alcanzar dicha red. La
asignacin remota para dicha red a travs de R2 es la etiqueta 17.
4) Basndose en la tabla de rutas, R2 utilizar R3 como siguiente
salto para la red 172.16.3.0/24. R2 no reenviar los paquetes IP en
MPLS porque R3 ha anunciado la red con la etiqueta implicit-NULL
a R2. Este modo de operar se llama PHP.
Destacar que LDP (o TDP) asigna etiquetas a todos las entradas de la tabla
de rutas, independientemente del protocolo de routing que la genere y las
advierte a todos los vecinos.
Por qu para un mismo destino tiene varias etiquetas? Con qu
vecinos intercambia etiquetas?
.
.
De la misma forma, la tabla LFIB se puede consultar con:
R1#show mpls forwarding-table
Local Outgoing
Prefix
tag
tag or VC
or Tunnel Id
Bytes tag
switched
Outgoing
interface
Next Hop
18
17
16
0
0
0
Et0/0
Et0/0
Et0/0
172.16.12.2
172.16.12.2
172.16.12.2
Bytes tag
switched
384
Outgoing
interface
Se0/0
Next Hop
Untagged
17
Pop tag
172.16.2.1/32
172.16.3.1/32
172.16.23.0/24
14
point2point
Prctica de MPLS
16
Untagged
172.16.1.1/32
Et0/0
172.16.12.1
Bytes tag
switched
0
0
0
Outgoing
interface
Se0/0
Se0/0
Se0/0
Next Hop
point2point
point2point
point2point
LSR
Label
LSR
Label
LSR
Label
En R2
Network
En R3
Network
15
Prctica de MPLS
Qu significado tiene la entrada local binding?
.
.
Qu significado tiene la entrada remote binding?
.
.
En el router R2, por qu hay ms de una asociacin remota para cada
red?
.
.
Qu significa la etiqueta implicit NULL?
.
.
Si volviramos a ejecutar el comando traceroute utilizado anteriormente tanto
desde R1 y R3 a 172.16.3.1 y 172.16.1.1 respectivamente, la salida podemos
ver que difiere respecto a la salida obtenida previamente. Ahora se incluye la
informacin de las etiquetas para cada salto. Desafortunadamente porque la
red es pequea y adems se utiliza PHP slo se puede ver una etiqueta en
cada trayecto.
R1#traceroute 172.16.3.1
Type escape sequence to abort.
Tracing the route to 172.16.3.1
1 172.16.12.2 [MPLS: Label 17 Exp 0] 4 msec 4 msec 4 msec
2 172.16.23.3 16 msec * 17 msec
R2#traceroute 172.16.1.1
Type escape sequence to abort.
Tracing the route to 172.16.3.1
1 172.16.23.2 [MPLS: Label 16 Exp 0] 28 msec 28 msec 28 msec
2 172.16.12.1 20 msec * 17 msec
16
Prctica de MPLS
Paso 7: Migrando de TDP a LDP
Como hemos comentado, la IOS utilizada en estas prcticas por defecto ejecuta
TDP, versin precursora del LDP. Pero TDP es un subconjunto de LDP. Vamos a
modificar la configuracin de MPLS en los routers para utilizar LDP en lugar de
TDP.
En el router R2 aade en modo global:
R2 (config)# mpls label protocol ldp
17
Prctica de MPLS
MPLS Turbo Vector
MTU = 1500
R2#show mpls int eth0/0 detail
Interface Ethernet0/0:
IP labeling enabled (ldp)
LSP Tunnel labeling not enabled
BGP tagging not enabled
Tagging operational
Fast Switching Vectors:
IP to MPLS Fast Switching Vector
MPLS Turbo Vector
MTU = 1500
Prctica de MPLS
19