You are on page 1of 24

Prctica de MPLS

PRCTICA: Configuracin de MPLS en modo trama


(versin 2012-2013)
Autores: Santiago Felici
Rogelio Montaana

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 Cisco.
Para ello, se realizarn las siguientes actividades:

Montar una maqueta con varios routers 2610 (MPLS capable) con
interfaces Ethernet, Serie y Loopback
Configurar routing OSPF en la maqueta
Configurar en los routers MPLS y el protocolo de distribucin de etiquetas
LDP
Verificar el comportamiento de MPLS en la red, as como la comprobacin
de las tablas utilizadas por MPLS en su funcionamiento
Adaptar el tamao de Maximum Transmission Unit (MTU) para ser
compatible con los requisitos de funcionamiento de MPLS
Analizar los paquetes MPLS intercambiados por los routers

Aunque los equipos utilizados son Cisco, los conceptos introducidos en la


presente prctica tienen carcter general.
Materiales necesarios
Para la realizacin de esta prctica es necesario disponer de:
Seis cables Ethernet
Cuatro cables serie, dos DTE V.35 macho y dos DCE V.35 hembra
Cuatro cables de consola RS-232
Cuatro routers Cisco 2610 con al menos 16 MB de Flash y 48 MB de RAM,
con una interfaz serie y otra Ethernet, con IOS con soporte de MPLS t1
Un conmutador con capacidad de encapsulado 802.1Q (por ejemplo un
catalyst 2950)
Un hub de cuatro puertos de 10 Mb/s
Cuatro ordenadores para actuar de consola de los routers y conectarse en
su red local, equipados con los programas minicom y Wireshark
Prerrequisitos
1

IOS Version 12.3(26) Telco Feature Set- General Deployment, RELEASE SOFTWARE (fc2)
c2600-telco-mz.123-26.bin

Prctica de MPLS

Tener un conocimiento bsico de configuracin de los routers Cisco, 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 este guin

Introduccin
En ocasiones MPLS se clasifica como una 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 funcionar independientemente del protocolo de capa 3
utilizado, de ah lo de multiprotocol. Esta arquitectura de etiquetado es flexible y
permite anidar o apilar 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.
Los routers inicialmente calculan las rutas a los destinos usando protocolos de
routing IP (OSPF por ejemplo) y luego intercambiando etiquetas establecen los
circuitos virtuales entre cualquier origen y cualquier destino para empezar a
conmutar los paquetes. La etiqueta aadida al paquete se antepone a la cabecera
IP en el router frontera de ingreso a la red MPLS, y est asociada al circuito virtual
que seguir hacia su destino. La etiqueta slo tiene significado local en el enlace
entre ese router y el siguiente, y va cambiando en cada enlace por el que pasa el
paquete hacia 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 en el router frontera de egreso, que se encarga de quitarle la
etiqueta.
Para que MPLS mejore el rendimiento de un router necesita soporte por parte del
hardware. En los routers de cisco ese soporte se consigue activando un modo de
funcionamiento llamado CEF (Cisco Express Forwarding). El uso de CEF es un
prerrequisito para que el router pueda soportar MPLS, sin embargo un router
puede utilizar CEF sin tener habilitado MPLS.
Todo router construye a partir de la informacin obtenida por los diversos
protocolos de routing y por las rutas estticas que tiene configuradas, la tabla de
rutas llamada tambin RIB (Routing Information Table). La RIB contiene una
entrada para cada posible red de destino y una direccin de encaminamiento
hacia dicha red. Dicha direccin de encaminamiento puede corresponder a un

Prctica de MPLS
router vecino, en cuyo caso nuestro router tendr esa red directamente conectada
y ya sabr por que interfaz acceder a l, o puede corresponder a un router remoto,
en cuyo caso ser necesaria una nueva bsqueda en la RIB para localizar la ruta
hacia dicho router remoto. Dependiendo de la complejidad de la RIB esta
bsqueda recursiva puede tener que repetirse varias veces, haciendo el proceso
de resolucin de rutas lento y costoso.
Cuando se activa CEF el router construye, a partir de la informacin de la tabla
RIB, otra tabla llamada FIB (Forwarding Information Base) que especifica para
cada posible red de destino la direccin del siguiente router (y por tanto la interfaz)
que se debe utilizar. As pues la tabla FIB es una versin simplificada de la tabla
de rutas que acelera, el proceso de enrutamiento de los paquetes ya que para
cada red de destino indica directamente la inerfaz que ha de utilizarse y el router
de siguiente salto hacia dicho destino, evitando las bsquedas recursivas.
Normalmente en los routers CEF est activado por defecto y la FIB se utiliza aun
en el caso de que no se active MPLS.
Cuando se activa MPLS el router construye una tabla de conmutacin de etiquetas
denominada LIB (Label Information Base). Dicha tabla contiene entradas que
relacionan interfaz-etiqueta de entrada con interfaz-etiqueta de salida. Las
entradas en dicha tabla pueden incluirse de dos maneras: manualmente, por
configuracin, o automticamente, mediante un protocolo de distribucin de
etiquetas. El protocolo de distribucin de etiquetas ms extendido es el conocido
como LDP (Label Distribution Protocol) y es el que utilizaremos en esta prctica.
Para crear las etiquetas LDP utiliza la informacin facilitada por el protocolo OSPF.
Esto nos evita tener que decidir e introducir manualmente las tablas de etiquetas
en cada router.
A partir de la LIB y la FIB el router construye otra tabla, conocida como LFIB
(Label Forwarding Information Base), que relaciona cada red de destino con la
interfaz y con las etiquetas MPLS que le corresponden en la tabla LIB a esa red.
De este modo el router puede rpidamente asignar las etiquetas a los paquetes
segn la red de destino.
Una vez el router conoce, mediante OSPF, todas las redes accesibles, le asocia a
cada una una etiqueta y la anuncia a sus vecinos utilizando LDP. Esta asociacin
queda registrada en la tabla LIB en el plano de control. El plano de datos, que es
el que realiza el trabajo de conmutacin, se encarga de mantener la tabla 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).
Normalmente MPLS se describe mediante un modelo de arquitectura basado en
dos planos, el plano de control (utilizado por los protocolos de routing IP y los
protocolos de gestin de MPLS) y el plano de datos donde se realiza la
conmutacin de los paquetes. De acuerdo con ese modelo la RIB y la LIB se
encuentran en el plano de control, ya que son tablas controladas por los
3

Prcttica de MPL
LS
proto
ocolos de ccontrol, en
n nuestro caso
c
OSPF
F para la R
RIB y LDP
P para la LIB.
L
En
camb
bio la FIB y la LFIB e
estn en el plano de datos, pue
es son tablas utilizad
das por
el rou
uter para la
a conmutacin de pa
aquetes IP MPLS.
orma esque
emtica la
a relacin entre las cuatro
La ssiguiente fiigura muestra de fo
tabla
as mencion
nadas (RIB
B, FIB, LIB y LFIB):

plificada en
n la figura 1 y 2 se explica el funcionam
miento del MPLS
De fforma simp
utilizando las ta
ablas LIB, LFIB y FIB
B.

Prctica de MPLS
Figura 1: La red X (network X) est directamente conectada al router D, que la
anuncia. Instantes ms tarde la red X aparece en la tabla de rutas del router B,
que ha acordado con el router A utilizar para ella la etiqueta 25, decisin que
anuncia a sus routers vecinos A, E y C por LDP. La decisin queda registrada en
la tabla LIB del router B. A partir de ese momento cuando el router A tenga que
enviar un paquete a la red X, lo encapsular en una trama MPLS con etiqueta 25,
dado que B sabe qu hacer con dicha etiqueta.

Figura 2: Independientemente del proceso anterior el router C ha acordado con el


router B que el trfico enviado hacia la red X lo marcarn con la etiqueta 47 en el
enlace que les une. Igual que antes hizo B ahora C anuncia esta decisin a todos
sus vecinos (B, E y D). B incorpora esta informacin a su LIB, FIB y LFIB, dando el
resultado que aparece en la figura. Ahora cuando A le enva un paquete con
etiqueta 25 B sabe que tiene que enviar dicho paquete por la interfaz que le
conecta con C, cambiando la etiqueta a 47.
La etiqueta MPLS es un nmero entero de 20 bits. Las etiquetas de 0 a 15 estn
reservadas, por lo que el rango utilizable es de 16 a 1.048.575 (2**20-1). En los
routers Cisco por defecto LDP empieza a asignar valores de forma consecutiva
empezando por abajo, por lo que los valores de etiquetas que veremos empezarn
por el 16 en adelante.

Esquema de la red MPLS a implementar


En la presenta maqueta hay 4 routers que forman la red MPLS como muestra la
figura 3.
Cada router tiene una conexin Ethernet y una Serie. Las conexiones R0-R1 y R2R3 se hacen utilizando las lneas serie. Los routers R1 y R2 se conectan entre s
utilizando su interfaz Ethernet, que al mismo tiempo los conecta con sus
respectivos hosts. Para dar cierta independencia hemos configurado en esta
Ethernet tres redes IP, una para conectar R1 con H1, otra para R2 con H2 y una

Prcttica de MPL
LS
terce
era para R
R1 con R2
2. Por com
modidad utilizaremos en todas estas inte
erfaces
msccaras de 24 bits, aunque en lass lneas serrie no hara
an falta tan
ntas direcciiones.
C
Console

Console
L0
172
2.16.0.1/32

L0
172.16.3..1/32

E 0/0
172
2.16.30.1/24

E 0/0
33.1/24
172.16.3
R0

H0
172.16.30.2/24
Rtr: 1
172.16.30.1

S 0/0
17
72.16.23.3/24
4

S 0/0
172.16.2
22.3/24

S 0/0
172.16.22
2.2/24
L0
172.16.1.1
1/32

R3
H3
172.16
6.33.2/24
Rtr: 17
72.16.33.1

MPLSS
E 0/0
172
2.16.12.1/24
172
2.16.31.1/24

E 0/0
2.2/24
172.16.12
172.16.32
2.1/24

R1

S 0//0
172
2.16.23.2/24
R2

L0
17
72.16.2.1/32

Co
onsole

Cons
sole

H1
172
2.16.31.2/24
4
Rtr: 172.16.31.1
1

H2
172.16.32.2//24
R
Rtr: 172.16.3
32.1
R
RS-232
1
10BASE-T
V
V.35

ura 3: Esqu
uema de co
onexin de
e los routerrs con deta
alle del dire
eccionamie
ento IP.
Figu
a
e la figura 3 son las abreviaturas
en
Los nombres de interfacces que aparecen
mnim
mas que p
pueden utilizarse pa
ara configu
urar los ro
outers, es decir en vvez de
Ethe
ernet 0/0, Serial 0/0
0 y Loopback 0 p
podemos escribir
e
E0
0/0, S0/0 y L0,
respe
ectivamentte.
mo has vistto en el essquema an
nterior, en esta prcctica estam
mos utilizan
ndo un
Com
nuevvo tipo de
e interfaz, la Loopba
ack (L0). Se trata de
d una interfaz virtu
ual no
asocciada a ninguna interrfaz fsica y que no conecta
c
co
on ninguna red. A pe
esar de
su no
ombre y a diferencia
a de lo que
e ocurre en
n los hosts las interfa
aces loopba
ack de
los ro
outers no e
estn penssadas para
a probar loccalmente el
e buen esttado del so
oftware
6

Prctica de MPLS
de comunicaciones, y de hecho si intentamos asignarle cualquier direccin de la
red 127.0.0.0/8 el router no nos deja y da un mensaje de error. El objetivo de esta
interfaz es servir como identificador del router, la direccin IP que le asignamos a
ella acta como una especie de direccin cannica que identifica al router ante
cualquier protocolo que lo requiera, por ejemplo OSPF o LDP. Al no estar
vinculada a ninguna interfaz fsica la interfaz loopback esta operativa siempre que
el router est encendido. Si no existiera la interfaz loopback OSPF y LDP
utilizaran para identificar al router la direccin IP ms alta, que en nuestro caso
sera la de la interfaz Ethernet; en ese caso si se desenchufara el cable Ethernet la
interfaz caera y el router tendra que cambiar de identificador. En nuestra
maqueta esto no sera muy importante, ya que si cae la interfaz Ethernet de un
router poco podemos hacer ya con l, pero en un router con ms interfaces resulta
muy til que el identificador no dependa de una interfaz fsica concreta.
Puesto que la interfaz loopback no nos conecta con ninguna red y solo se utiliza
como identificador lo normal suele ser configurarla con una mscara de 32 bits
(ruta host) dejando claro que esa interfaz est aislada. Se pueden configurar
mltiples interfaces loopback (loopback0, loopback1, etc.) pero lo normal es
configurar solo una.
Fjate por ltimo que en la figura 3 la nube MPLS comprende solo las interfaces
que interconectan los routers, quedando fuera las cuatro loopback y las Ethernet
de R0 y R4. Estas interfaces funcionarn sn etiqueta MPLS, por lo que en en esos
casos los routers actuarn como routers frontera.
Paso 0: Cableado e inicializacin de los routers
Cablea la maqueta tal como se indica en la figura 3. De momento no conectes la
interfaz serie en R0 y en R3. Seguidamente conctate por consola a los
diferentes equipos e introduce la configuracin de la siguiente manera:
Would you like to enter the initial configuration dialog? [yes/no]: no

Do you want to terminate autoinstall? [yes/no]: ]: yes


Router>enable
Router#configure terminal
Router(config)#hostname R1
R1(config)#no ip domain-lookup
R1(config)#exit
El comando no ip domain-lookup evita la consulta al DNS, lo cual es muy
recomendable ya que si no lo ponemos cuando nos equivocamos al teclear un
comando se interpreta como un telnet a ese nombre y tarda un rato en abortar por
timeout la consulta al DNS.
Si el equipo no muestra la pregunta inicial es porque tiene grabada alguna
configuracin, lo cual puede interferir en nuestro trabajo. En ese caso borra la
configuracin con los comandos erase startup configuration y reload.
7

Prctica de MPLS

>enable
#erase star
#reload
Al reiniciar el router ya debe aparecer la pregunta:
Would you like to enter the initial configuration dialog? [yes/no]: no

Comprueba los nombres utilizados por el sistema operativo para cada una de las
interfaces fsicas de los routers con el siguiente comando:
#show ip interface brief
En nuestro caso cada router debe tener una interfaz Ethernet0/0 y una Serial0/0.
Ahora s conecta ya la interfaz serie en R0 y en R3.
Paso 1: Configuracin del direccionamiento IP
A continuacin vamos a configurar las interfaces, tanto las fsicas como las
virtuales, con las direcciones que les corresponden y las habilitaremos con el
comando no shutdown. En las interfaces serie vamos a aadir adems el
comando clock rate. Por simplificar pondremos la seal de reloj en ambos lados
de la lnea, para no tener que preocuparnos de como hemos puesto el cable.
Esta es la configuracin necesaria para cada router:
R0(config)# interface loopback 0
R0(config-if)# ip address 172.16.0.1 255.255.255.255
R0(config-if)# no shutdown
R0(config-if)# interface ethernet 0/0
R0(config-if)# ip address 172.16.30.1 255.255.255.0
R0(config-if)# no shutdown
R0(config-if)# interface serial 0/0
R0(config-if)# ip address 172.16.22.3 255.255.255.0
R0(config-if)# clock rate 2000000
R0(config-if)# no shutdown
R1(config)# interface loopback 0
R1(config-if)# ip address 172.16.1.1 255.255.255.255
R1(config-if)# no shutdown
R1(config-if)# interface ethernet 0/0
R1(config-if)# ip address 172.16.12.1 255.255.255.0
R1(config-if)# ip address 172.16.31.1 255.255.255.0 secondary
R1(config-if)# no shutdown
R1(config-if)# interface serial 0/0
R1(config-if)# ip address 172.16.22.2 255.255.255.0
R1(config-if)# clock rate 2000000
8

Prctica de MPLS
R1(config-if)# no shutdown
R2(config)# interface loopback 0
R2(config-if)# ip address 172.16.2.1 255.255.255.255
R2(config-if)# no shutdown
R2(config-if)# interface ethernet 0/0
R2(config-if)# ip address 172.16.12.2 255.255.255.0
R2(config-if)# ip address 172.16.32.1 255.255.255.0 secondary
R2(config-if)# no shutdown
R2(config-if)# interface serial 0/0
R2(config-if)# ip address 172.16.23.2 255.255.255.0
R2(config-if)# clock rate 2000000
R2(config-if)# no shutdown
R3(config)# interface loopback 0
R3(config-if)# ip address 172.16.3.1 255.255.255.255
R3(config-if)# no shutdown
R3(config-if)# interface ethernet 0/0
R3(config-if)# ip address 172.16.33.1 255.255.255.0
R3(config-if)# no shutdown
R3(config-if)# interface serial 0/0
R3(config-if)# ip address 172.16.23.3 255.255.255.0
R3(config-if)# clock rate 2000000
R3(config-if)# no shutdown
Configura ahora las direcciones IP, mscara y router por defecto en los hosts,
utilizando los comandos ifconfig y route que ya conoces, de la siguiente manera:

Host

IP

Mscara

Router por defecto

H0

172.16.30.2

255.255.255.0

172.16.30.1

H1

172.16.31.2

255.255.255.0

172.16.31.1

H2

172.16.32.2

255.255.255.0

172.16.32.1

H3

172.16.33.2

255.255.255.0

172.16.33.1

Por ejemplo para H3 sera:


ifconfig p17p1 inet 172.16.33.2 netmask 255.255.255.0
route add net 0.0.0.0 netmask 0.0.0.0 gw 172.16.33.1

Prctica de MPLS
Ahora desactiva el cortafuegos de Linux:
service iptables stop

Paso 2: Configura OSPF en todos los routers


Configura OSPF en los 4 routers de la maqueta en el rea 0. Por simplificar
anunciaremos toda la red 172.16.0.0/16, sabiendo que as cada router anunciar
solamente las subredes que tiene directamente conectadas. Los comandos, que
son iguales en todos los routers, son los siguientes:
R1(config)# router ospf 1
R1(config-router)# network 172.16.0.0 0.0.255.255 area 0
Con ello podrs observar que se establecen las adyacencias y se anuncian las
redes.
Podra funcionar MPLS si no hubiera conectividad IP?
.
.
Paso 3: Comprobacin de la conectividad IP y del funcionamiento de CEF
(Cisco Express Forwarding)
Utilizando el comando show ip route podrs observar la tabla de rutas (tabla
RIB). Por ejemplo en R2 debera aparecer algo parecido a lo siguiente:
R2#show ip route

172.16.0.0/16 is variably subnetted, 11 subnets, 2 masks


C
172.16.23.0/24 is directly connected, Serial0/0
C
172.16.12.0/24 is directly connected, Ethernet0/0
C
172.16.32.0/24 is directly connected, Ethernet0/0
O
172.16.1.1/32 [110/11] via 172.16.12.1, 00:02:35, Ethernet0/0
O
172.16.0.1/32 [110/11] via 172.16.12.1, 00:02:35, Ethernet0/0
O
172.16.30.0/24 [110/11] via 172.16.12.1, 00:02:35, Ethernet0/0
O
172.16.31.0/24 [110/11] via 172.16.12.1, 00:02:35, Ethernet0/0
O
172.16.3.1/32 [110/65] via 172.16.23.3, 00:02:35, Serial0/0
O
172.16.33.1/24 [110/65] via 172.16.23.3, 00:02:35, Serial0/0
C
172.16.2.0/32 is directly connected, Loopback0

Vers que las redes directamente conectadas llevan delante una C y las
aprendidas por OSPF una O. La informacin entre corchetes es [distancia
administrativa, mtrica], en el caso de OSPF la distancia administrativa es siempre

10

Prctica de MPLS
110 y la mtrica se calcula como la suma de los costes de los enlaces hasta el
destino, coste que es inversamente proporcional a la velocidad de la interfaz (los
valores que observes en el laboratorio seguramente sern diferentes de los que
aparecen en este ejemplo). Cada ruta adems tiene asociada el siguiente salto, la
antigedad y la interfaz de salida.
Atencin: a ltima hora se han realizado importantes modificaciones en la
maqueta de esta prctica sin modificar las capturas de comandos que
aparecen en el guin, por lo que en general stas diferirn de las que tu
obtengas en el laboratorio.
Haz ping, ping R y traceroute desde tu host a los otros tres y a las interfaces
loopback de los routers para comprobar la conectividad IP. Prueba tambin a
utilizar el comando traceroute desde tu router al router ms alejado de ti (por
ejemplo desde R2 hacia R0). Observa el resultado.
Como hemos comentado en la parte introductoria los routers Cisco emplean un
mecanismo conocido como CEF (Cisco Express Forwarding) para acelerar el
proceso de conmutacin de paquetes, construyendo la tabla FIB (Forwarding
Information base). MPLS necesita que CEF est activado, ya que utiliza la tabla
FIB para construir la tabla LFIB que utiliza para la conmutacin de sus paquetes.
CEF puede activarse o desactivarse con los comandos ip cef o no ip cef,
respectivamente en modo configuracin global. Por defecto CEF est activado,
para comprobarlo podemos utilizar el comando show ip cef que nos devuelve la
tabla FIB del router:
R1#show ip cef
Prefix
0.0.0.0/0
0.0.0.0/32
172.16.1.0/32
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

Si CEF estuviera desactivado el comando no habra devuelto ninguna informacin.


11

Prctica de MPLS

La tabla FIB nos indica cual es el siguiente salto hacia cada destino posible. Por
ejemplo la tabla anterior nos dice que para ir desde R1 hacia 172.16.2.1/32
(direccin loopback de R2) debe utilizarse la direccin 172.16.12.2 (Next Hop),
que corresponde a la interfaz Ethernet 0/0 de R2, que a su vez est accesible a
travs de la interfaz Ethernet 0/0 de R1.
Paso 4: Habilita MPLS en las interfaces
Al configurar MPLS en un router hay que indicar el protocolo que queremos utilizar
para la configuracin de etiquetas. Si no se indica ninguno el sistema asume uno
por defecto, que depende de la versin de IOS utilizada, en nuestro caso es uno
propietario de Cisco, por lo que necesariamente debemos especificar el uso de
LDP. Es buena prctica hacerlo siempre para estar seguros y evitar sorpresas.
Para configurar LDP utilizaremos el comando mpls label protocol ldp en
modo configuracin global. Adems debemos habilitar MPLS mediante el
comando mpls ip en todas las interfaces que estn dentro de la nube MPLS, es
decir en todas las serie y las ethernet de R1 y R2. Los comandos a utilizar son
pues los siguientes:
R1(config)# mpls label protocol ldp
R1(config-if)# interface serial0/0
R1(config-if)# mpls ip
R2(config)# mpls label protocol ldp
R2(config)# interface ethernet0/0
R2(config-if)# mpls ip
R2(config-if)# interface serial0/0
R2(config-if)# mpls ip
R3(config)# mpls label protocol ldp
R3(config)# interface ethernet0/0
R3(config-if)# mpls ip
R3(config-if)# interface serial0/0
R3(config-if)# mpls ip
R4(config)# mpls label protocol ldp
R4(config-if)# interface serial0/0
R4(config-if)# mpls ip
Cuando configuras MPLS en los dos extremos de una conexin, aparecen
mensajes por consola en ambos routers indicando que LDP ha creado una nueva
vecindad parecidos a este:
*Mar

1 00:42:34.996: %LDP-5-NBRCHG: LDP Neighbor 172.16.1.1:0 is UP

12

Prctica de MPLS

Paso 5: Verifica la configuracin de MPLS


Para comprobar el funcionamiento de MPLS vamos a utilizar el comando show
mpls. Para ver de que opciones dispones utiliza el comando show mpls ?
R1#show mpls ?
atm-ldp
forwarding-table
interfaces
ip
label
ldp
traffic-eng

ATM LDP Protocol information


Show the Label Forwarding Information Base (LFIB)
Per-interface MPLS forwarding information
MPLS IP information
Label information
Label Distribution Protocol information
Traffic engineering information

En primer lugar para ver rpidamente las interfaces que estn funcionando con
MPLS ejecuta show mpls interfaces:
R2# show mpls interfaces
Interface
IP
Ethernet0/0
Yes (tdp)
Serial0/0
Yes (tdp)

Tunnel
No
No

Operational
Yes
Yes

Otros comandos interesantes son:


show mpls ldp discovery para observar informacin de LDP, como el
identificativo del router MPLS y los vecinos.
R2#show mpls ldp discovery
Local LDP Identifier:
172.16.2.1:0
Discovery Sources:
Interfaces:
Ethernet0/0 (ldp): xmit/recv
LDP Id: 172.16.1.1:0
Serial0/0 (ldp): xmit/recv
LDP Id: 172.16.3.1:0
show mpls ldp neighbor para deteccin de las adyacencias de LDP y el
estado de las conexiones establecidas.
R2#show mpls ldp nei
Peer LDP Ident: 172.16.1.1:0; Local LDP Ident 172.16.2.1:0
TCP connection: 172.16.1.1.646 - 172.16.2.1.19940
State: Oper; PIEs sent/rcvd: 0/23; Downstream
Up time: 00:17:12
13

Prctica de MPLS
LDP discovery sources:
Ethernet0/0, Src IP addr: 172.16.12.1
Addresses bound to peer LDP Ident:
172.16.12.1
172.16.1.1
Peer LDP Ident: 172.16.3.1:0; Local LDP Ident 172.16.2.1:0
TCP connection: 172.16.3.1.40446 - 172.16.2.1.646
State: Oper; PIEs sent/rcvd: 0/20; Downstream
Up time: 00:14:16
LDP discovery sources:
Serial0/0, Src IP addr: 172.16.23.3
Addresses bound to peer LDP Ident:
172.16.23.3
172.16.3.1
En MPLS cada router utiliza como identificador la IP ms alta de sus interfaces
loopback (podra tener varias), y si no dispone de ninguna interfaz loopback, la
ms alta de sus interfaces fsicas. Esto ocurre tambin con otros protocolos como
OSPF, BGP etc
A la vista de lo anterior indica Qu protocolo de transporte utiliza LDP para
comunicarse con sus vecinos?
.
Seras capaz de decir si LDP tiene asignado un nmero de puerto bien
conocido? Sabras decir cual es?
.
Paso 6: Estudio de las tablas LIB y LFIB
Con la configuracin introducida en el paso anterior, todos los routers actan como
Label Switch Routers (LSRs) y ejecutan LDP. Cada router crea una FEC
(Forwarding Equivalence Class) para cada entrada de la tabla FIB, a cada FEC le
asigna una etiqueta MPLS y registra la etiqueta en la tabla LIB. Estas etiquetas
pueden variar cada vez que inicializamos el router.
Mediante LDP cada router distribuye sus etiquetas a sus vecinos para que las
utilicen cuando le mandan paquetes. Una vez las etiquetas se han distribuido, la
conmutacin se realiza utilizando la tabla LFIB que almacena la etiqueta asignada
por el router vecino, la interfaz por donde enviar el paquete y la accin a realizar
con la etiqueta aadida (ponerla, cambiarla o quitarla).
Para visualizar los datos de la LIB se utiliza el comando show mpls ldp
bindings. Las asociaciones de etiquetas con las redes de destino solo tienen
significado local al router, es decir, las etiquetas asignadas por un router no tienen
en principio relacin con las asignadas por el siguiente router al mismo destino. Un

14

Prctica de MPLS
ejemplo sera el siguiente:
R2#show mpls ldp bindings
lib entry: 172.16.1.1/32, rev 6
local binding: label: 16
remote binding: lsr: 172.16.3.1:0,
lib entry: 172.16.2.1/32, rev 12
remote binding: lsr: 172.16.1.1:0,
remote binding: lsr: 172.16.3.1:0,
lib entry: 172.16.3.1/32, rev 8
local binding: label: 17
remote binding: lsr: 172.16.1.1:0,
lib entry: 172.16.12.0/24, rev 4
local binding: label: imp-null
remote binding: lsr: 172.16.1.1:0,
remote binding: lsr: 172.16.3.1:0,
lib entry: 172.16.23.0/24, rev 2
local binding: label: imp-null
remote binding: lsr: 172.16.1.1:0,
remote binding: lsr: 172.16.3.1:0,

label: 17
label: 18
label: 18

label: 17

label: imp-null
label: 16

label: 16
label: imp-null

La etiqueta imp-null indica que el paquete ser renviado sin etiqueta MPLS. Esto
ocurre normalmente en el router de destino, es decir el que tiene la red de destino
directamente conectada, que es el que debera quitar la etiqueta MPLS del
paquete, pero en el caso de los routers cisco la etiqueta la quita ya el router
anterior, ya que ve que el siguiente router tiene directamente conectada la red de
destino y en ese caso resulta ms eficiente quitar de forma anticipada la etiqueta
MPLS. Este modo de funcionamiento se conoce como PHP (Penultimate Hop
Popping). De este modo se evita una consulta en la tabla LFIB del router de
destino, pues ya sabemos que tiene esa red directamente conectada.
El parmetro rev (revisin) que aparece en la lnea lib entry es para control
interno de LDP. Se utiliza para identificar los mensajes LDP recibidos, de forma
que cuando el router recibe un paquete LDP puede saber si realmente es nuevo o
si es uno viejo que ha llegado repetido por algun motivo.
En el caso anterior podemos ver que por ejemplo R2 asocia localmente para la
interfaz loopback de R3 (172.16.3.1/32) la etiqueta 17, y sabe que R1 le ha
asociado casualmente la misma etiqueta. En cuanto a la red 172.16.12.0/24, que
es la Ethernet que le conecta con R1, localmente no le asigna etiqueta por ser una
red directamente conectada. Adems por LDP ha sabido que R1 tampoco le ha
asignado etiqueta (por el mismo motivo) y que R3 le ha asignado la etiqueta 16.
Para consultar la tabla FIB utilizaremos el comando show mpls forwarding ldp
bindings:
R1#show mpls forwarding-table

15

Prctica de MPLS
Local
tag
18
17
16

Outgoing
tag or VC
Untagged
17
Pop tag

Prefix
or Tunnel Id
172.16.2.1/32
172.16.3.1/32
172.16.23.0/24

Bytes tag
switched
0
0
0

Outgoing
interface
Et0/0
Et0/0
Et0/0

Next Hop

R2#sh mpls forwarding-table


Local Outgoing
Prefix
tag
tag or VC
or Tunnel Id
17
Untagged
172.16.3.1/32
16
Untagged
172.16.1.1/32

Bytes tag
switched
384
0

Outgoing
interface
Se0/0
Et0/0

Next Hop

R3#show mpls forwarding-table


Local Outgoing
Prefix
tag
tag or VC
or Tunnel Id
18
Untagged
172.16.2.1/32
16
Pop tag
172.16.12.0/24
17
16
172.16.1.1/32

Bytes tag
switched
0
0
0

Outgoing
interface
Se0/0
Se0/0
Se0/0

Next Hop

172.16.12.2
172.16.12.2
172.16.12.2

point2point
172.16.12.1

point2point
point2point
point2point

En esta tabla las entradas que ponen Untagged en el Outgoing tag


corresponden a interface sque se encuentran fuera de la nube MPLS; las que
ponen Pop tag son los casos en que el router ha de quitar la etiqueta
correspondiente y pasar el paquete IP tal cual.

Con la informacin obtenida anteriormente, podramos disear la LIB en cada uno


de los routers tal como se detalla en la figura 2.
En R0
Network

LSR

Label

LSR

Label

En R1
Network

16

Prctica de MPLS

En R2
Network

LSR

Label

LSR

Label

En R3
Network

A la vista de los resultados mostrados en las tablas LIB y LFIB, si realizamos


un ping desde R1 con origen en 172.16.1.1 y destino a 172.16.3.1 qu
etiquetas se utilizan?
.
.
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?
.

17

Prctica de MPLS
.
Qu significa la etiqueta implicit NULL?
.
.
Prueba ahora a ejecutar el ping R y el traceroute desde tu host a los dems
hosts, y el traceroute desde tu router al router mas alejado. Compara el resultado
con el obtenido antes de activar MPLS:
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
Qu diferencias observas y por qu?
.
.

Paso 7: Modifica el tamao de MTU para MPLS


Una de las caractersticas de MPLS es que permite anidar etiquetas MPLS en
funcin de la aplicacin y por tanto puede aumentar el nmero de cabeceras y
para ello hay que informar a las interfaces fsicas de dichas eventualidades para
evitar el descarte de tramas que superen la MTU. La cabecera MPLS tiene 4
bytes. La MTU por defecto siempre se toma de la propia interfaz, que en el caso
de una Ethernet es 1500 bytes. Para comprobarlo, utilizamos el comando show
mpls interfaces interface-type interface-number detail en las interfaces que une
los routers R1 y R2.
R2#show mpls interface ethernet 0/0 detail
Interface Ethernet0/0:
IP labeling enabled (ldp)
LSP Tunnel labeling not enabled
BGP tagging not enabled
Tagging operational
Fast Switching Vectors:

18

Prctica de MPLS
IP to MPLS Fast Switching Vector
MPLS Turbo Vector
MTU = 1500
En esta prctica modificaremos la MTU de la conexin MPLS Ethernet entre R1 y
R2 para soportar hasta 2 cabeceras de MPLS, de forma que la nueva MTU ser
1508 bytes. Para modificar la MTU para MPLS utiliza el comando mpls mtu.
Verifica el cambio utilizando el comando show mpls interfaces interface detail .
R2(config)# interface ethernet0/0
R2(config-if)# mpls mtu 1508
R2# show mpls interface ethernet 0/0 detail
Interface Ethernet0/0:
IP labeling enabled (ldp):
Interface config
LSP Tunnel labeling not enabled
BGP tagging not enabled
Tagging operational
Fast Switching Vectors:
IP to MPLS Fast Switching Vector
MPLS Turbo Vector
MTU = 1508
Aunque hemos aumentado el tamao de MTU para el trfico MPLS de la interfaz
Ethernet si ejecutas el comando show interface Ethernet 0/0 vers que el tamao
de la MTU en la interfaz fsica sigue siendo de 1500 bytes. Intenta ahora averiguar
como podras cambiar el tamao de esta MTU e intntalo. Cul es el resultado?
Paso 8: Anlisis de tramas MPLS
Una vez tenemos la maqueta funcionando vamos a utilizar el Wireshark en los
hosts H2 y H3 para analizar los paquetes MPLS que pasan por el hub. Disea en
primer lugar un filtro de captura que te permita coger solo ese trfico, no el trfico
de los hosts. Una vez lo tengas compara los resultados obtenidos, en particular la
estructura de la etiqueta MPLS, con lo que se ha visto en teora. Analiza y
comenta los valores de las etiquetas que aparecen en relacin con los resultados
obtenidos en la consola de los routers. Analiza tambin el valor del TTL que
aparecen en la etiqueta MPS y en la cabecera IP.
Ahora quita el filtro anterior y pon uno para capturar nicamente el trfico ICMP.
Lanza un ping de H2 a H3 y otro de H1 a H4. Qu diferencia hay entre los dos
ping? van todos los paquetes encapsulados en MPLS? En caso negativo Cmo
saben los routers que paquetes van encapsulados y cuales no?

19

Prctica de MPLS
Prueba ahora con el comando ping a enviar paquetes IP del tamao mximo
(1500 bytes) de forma que al pasar por la Ethernet que une R1 con R2 llevando la
cabecera MPLS superen el tamao mximo. Analiza esos paquetes con Wireshark
y comenta los resultados en relacin con tu anterior intetno de aumentar la MTU
de la interfaz fsica. Explica las conclusiones obtenidas.
Prueba a hacer ping de H1 a H3, o de H2 a H0. Captura el ICMP Echo Request y
el ICMP Echo Reply, analiza, compara y comenta los resultados obtenidos.
Paso 9: Configuracin de subinterfaces con etiquetas 802.1Q (VLANs)
Como has podido observar en la maqueta que hemos montado las interfaces
Ethernet de R1 y R2 cumplen una doble funcin, por un lado sirven para
interconectar los routers entre s y por otro para conectarlos con sus respectivos
hosts. Esto significa que por la misma interfaz estos routers reciben y envan
paquetes con y sin etiquetas MPLS. Adems, no conseguimos una separacin
completa del trfico de las diferentes redes, por tanto no se trata de una situacin
ideal. Sera ms conveniente haber utilizado interfaces fsicas diferentes y haber
configurado MPLS nicamente en la que interconectara los dos routers. Sin
embargo, como solo disponemos de una interfaz Ethernet por router esto no ha
sido posible.
A continuacin, para aproximarnos a esa solucin ideal de las dos interfaces
vamos a crear dos subinterfaces sobre la interfaz Ethernet, configurando en ellas
etiquetado
802.1Q (VLANs). Conectando entonces
un conmutador
adecuadamente configurado podremos separar el trfico de los hosts del trfico de
la red MPLS. Vamos a utilizar para ello un catalyst 2950. Utilizaremos la VLAN 2
para el trfico R1-H1, la VLAN 3 para el R2-H2 y la VLAN 4 para el trfico MPLS,
es decir el R1-R2. El esquema de la conexin es el que aparece en la figura 4. El
hub que aparece entre R1 y el conmutador nos permitir husmear el trfico que
circula entre ambos equipos, pudiendo analizar con el Wireshark las tramas
802.1Q, tanto la de MPLS como las de R1-H1, que no llevan dicha etiqueta. Las
tramas R2-H2 no podremos verlas pues no llegarn al hub.

20

Prcttica de MPL
LS

Co
onsole

Console
e
L0
16.0.1/32
172.1

L0
172.16.3.1
1/32

E 0/0
172.1
16.30.1/24

E 0/0
172.16.33.1/24
R0

H0
172.16.30.2/24
72.16.30.1
Rtr: 17

R3

S0
0/0
172
2.16.23.3/24

S 0/0
172.16.22
2.3/24

S 0/0
172.16.22..2/24
L0
172.16.1.1//32

H
H3
172.16.33.2/24
2.16.33.1
Rtr: 172

M S
MPLS
E 0/0.4
172..16.12.1/24
E 0/0.2
172..16.31.1/24 1 2 3 4

E 0/0.4
172.16.12.2/24
E 0/0.3
172.16.32.1/24

R1

S 0/0
0
172.16.23.2/24
R2

L0
172
2.16.2.1/32

Con
nsole

Conso
ole

H1
172.16.31.2/24
Rtr: 172.16.31.1

H2
172.16.32.2/2
24
Rttr: 172.16.32
2.1
R
RS-232
10
0BASE-T
V.35

Figura 4
4: Esquema
a de conexxin de los routers con etiquetad
do 802.1Q.
nico que tenemos q
que modifiicar en loss routers es
e la conffiguracin de las
Lo
interffaces Ethe
ernet de R
R1 y R2. D
Dichas inte
erfaces se han de desdoblar e
en dos
subin
nterfaces ccada una. Es buena
a prctica, aunque no necesarrio, asignarr a las
subin
nterfaces e
el mismo nmero qu
ue el de lla VLAN q
que les co
orresponde
e. Para
confiigurar las subinterfac
s
ces debes iintroducir e
en R1 y R2
2 los siguientes coma
andos:

1(config)
)# interface eth
hernet 0/
/0
R1
R1
1(config-if)# no ip addr
ress 172.
.16.12.1
1 255.255
5.255.0
R1
1(config-if)# no ip addr
ress 172.
.16.31.1
1 255.255
5.255.0 secondar
ry
R1
1(config-if)# no mpls ip
p
21

Prctica de MPLS
R1(config-if)#
R1(config-if)#
R1(config-if)#
R1(config-if)#
R1(config-if)#
R1(config-if)#
R1(config-if)#

interface ethernet 0/0.2


ip address 172.16.31.1 255.255.255.0
encapsulation dot1Q 2
interface ethernet 0/0.4
ip address 172.16.12.1 255.255.255.0
mpls ip
encapsulation dot1Q 4

R2(config)# interface ethernet 0/0


R2(config-if)# no ip address 172.16.12.2 255.255.255.0
R2(config-if)# no ip address 172.16.32.1 255.255.255.0 secondary
R2(config-if)# no mpls ip
R2(config-if)# interface ethernet 0/0.3
R2(config-if)# ip address 172.16.32.1 255.255.255.0
R2(config-if)# encapsulation dot1Q 3
R2(config-if)# interface ethernet 0/0.4
R2(config-if)# ip address 172.16.12.2 255.255.255.0
R1(config-if)# mpls ip
R2(config-if)# encapsulation dot1Q 4

Ahora cuando R1 enve paquetes a R2 les pondr la etiqueta de la VLAN 4,


mientras que si los enva a H1 les pondr la etiqueta de la VLAN 2. (Fjate que
solo hemos preparado para MPLS la subinterfaz que corresponde a la
interconexin entre los routers.)
Ahora vamos a configurar el conmutador. Crearemos las VLANs 2, 3 y 4 y
asignaremos los puertos de la siguiente manera:
Puerto 1: trunk
Puerto 2: VLAN 2
Puerto 3: VLAN 3
Puerto 4: trunk
(Como la VLAN 4 la usan los routers y estos se conectan a puertos trunk a esta
VLAN no es necesario asignarle ningn puerto.)
Para configurar el conmutador nos conectaremos por consola mediante el
programa minicom y en primer lugar comprobaremos que no tenga ya alguna
configuracin introducida que pudiera interferir con nuestra prctica, en cuyo caso
restauraremos la configuracin de fbrica. A continuacin introduciremos la
configuracin siguiente:
#configure terminal
Enter configuration commands, one per line.
(config)#vlan 2

22

End with CNTL/Z

Prctica de MPLS
(config-vlan)#name red H1
(config-vlan)#vlan 3
(config-vlan)#name red H2
(config-vlan)#vlan 4
(config-vlan)#name red R1-R2
(config-vlan)#i fa0/1
(config-if)# switchport mode trunk
(config-if)#i fa0/2
(config-if)# switchport access vlan 2
(config-if)#i fa0/3
(config-if)# switchport access vlan 3
(config-if)#i fa0/4
(config-if)# switchport mode trunk
(config-if)#exit
(config)#CTRL/Z
(config)#CTRL/Z
Ahora prueba si hay conectividad entre R1-R2 y entre R1-H1 y R2-H2. Observa la
respuesta del comando show interface Ethernet 0/0. Tambin puedes preguntar
por subinterfaz.
Conecta ahora H0 (o un ordenador ajeno a la maqueta) al hub y analiza con
Wireshark el trfico que discurre por l. Para comparar genera trfico que vaya por
la VLAN de MPLS (la 4) y que vaya por la 2.
Si quisiramos analizar el trfico en el lado de R2 podramos conectar otro hub a
su enlace con el conmutador.
Tambin se podra configurar port mirroring en el conmutador para conseguir el
mismo efecto que con los hubs.

23

Prctica de MPLS
ANEXO I: Terminologa bsica de MPLS:

FEC (Forwarding Equivalence Class): conjunto de paquetes que entran


en la red MPLS por una misma interfaz, que reciben la misma etiqueta y por
tanto circulan por un mismo trayecto. La FEC puede caracterizarse por el
valor de uno o varios de los campos de la cabecera IP.
LSP (Label Switched Path): camino que siguen los paquetes que
pertenecen a la misma FEC.
LSR (Label Switching Router): router que puede encaminar paquetes en
funcin del valor de la etiqueta MPLS
LIB (Label Information Base): La tabla de etiquetas que manejan los
routers MPLS. 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.
LDP (Label Distribution Protocol): protocolo estndar utilizado para la
asignacin de etiquetas MPLS. Es el ms extendido, aunque no el nico.
FIB (Forwarding Information Base): es la tabla de rutas del router
simplificada, indicando para cada red de destino la interfaz que debe
utilizarse y el router vecino al que ha de enviarse (Next Hop). Esta tabla se
actualiza automticamente a peticin de los protocolos de routing y existe
cuando esta CEF activado, aunque no se utilice MPLS.
LFIB (Label Forwarding Information Base): es la tabla que indica los
cambios que el router debe realizar en la etiqueta MPLS de los paquetes.
PHP (Penultimate Hop Popping): es una forma de funcionar en la que el
penltimo router del trayecto quita la etiqueta MPLS porque sabe que el
siguiente ya es el final del circuito y tiene la red de destino directamente
conectada. Permite reducir el consumo de CPU y mejorar el rendimiento del
router, y es el modo de funcionamiento por defecto en los routers de Cisco
Systems.

24

You might also like