Practica MPLS
Practica MPLS
REALIZADO POR:
Lennin Tierra
Alvaro Veintimilla
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.
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
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,
1
con una interfaz serie y otra Ethernet, con IOS con soporte de MPLS t
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
1 IOS Version 12.3(26) Telco Feature Set- General Deployment, RELEASE SOFTWARE
(fc2) c2600-telco-mz.123-26.bin
1
Prctica de MPLS
Prerrequisitos
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
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.
2
Prctica de MPLS
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
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.
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).
3
Prctica de MPLS
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
protocolos de control, en nuestro caso OSPF para la RIB y LDP para la LIB. En
cambio la FIB y la LFIB estn en el plano de datos, pues son tablas utilizadas por
el router para la conmutacin de paquetes IP MPLS.
4
Prctica de MPLS
5
Prctica de MPLS
Cada router tiene una conexin Ethernet y una Serie. Las conexiones R0-R1 y R2-
R3 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
tercera para R1 con R2. Por comodidad utilizaremos en todas estas interfaces
mscaras de 24 bits, aunque en las lneas serie no haran falta tantas direcciones.
Console Console
L0 L0
172.16.0.1/32 172.16.3.1/32
E 0/0 E 0/0
172.16.30.1/24 172.16.33.1/24
R0 R3
H0 H3
172.16.30.2/24 S 0/0 S 0/0 172.16.33.2/24
Rtr: 172.16.30.1 172.16.22.3/24 172.16.23.3/24 Rtr: 172.16.33.1
MPLS
E 0/0 E 0/0
S 0/0 172.16.12.1/24 172.16.12.2/24 S 0/0
172.16.22.2/24 172.16.31.1/24 172.16.32.1/24 172.16.23.2/24
L0 L0
R1 R2
172.16.1.1/32 172.16.2.1/32
Console Console
H1 H2
172.16.31.2/24 172.16.32.2/24
Rtr: 172.16.31.1 Rtr: 172.16.32.1
RS-232
10BASE-T
V.35
Figura 3: Esquema de conexin de los routers con detalle del direccionamiento IP.
6
Prctica de MPLS
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.
Router>enable
Router#configure terminal
Router(config)#hostname R1
7
Prctica de MPLS
R1(config)#no ip domain-lookup
R1(config)#exit
>enable
#erase star
#reload
Comprueba los nombres utilizados por el sistema operativo para cada una de las
interfaces fsicas de los routers con el siguiente comando:
En nuestro caso cada router debe tener una interfaz Ethernet0/0 y una Serial0/0.
8
Prctica de MPLS
R0(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:
9
Prctica de MPLS
Con ello podrs observar que se establecen las adyacencias y se anuncian las
redes.
No puede funcionar porque primero debe haber adyacencia entre toda la red.
R2#show ip route
10
Prctica de MPLS
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
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 asocia
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.
11
Prctica de MPLS
Ping pc1-pc4
12
Prctica de MPLS
R1#show ip cef
Prefix Next Hop Interface
0.0.0.0/0 drop Null0 (default route handler entry)
0.0.0.0/32 receive
172.16.1.0/32 attached Loopback0
172.16.1.0/32 receive
172.16.1.1/32 receive
172.16.1.255/32 receive
172.16.2.1/32 172.16.12.2 Ethernet0/0
172.16.3.1/32 172.16.12.2 Ethernet0/0
172.16.12.0/24 attached Ethernet0/0
172.16.12.0/32 receive
172.16.12.1/32 receive
172.16.12.2/32 172.16.12.2 Ethernet0/0
172.16.12.255/32 receive
172.16.23.0/24 172.16.12.2 Ethernet0/0
224.0.0.0/4 drop
224.0.0.0/24 receive
255.255.255.255/32 receive
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.
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
13
Prctica de MPLS
LDP. Es buena prctica hacerlo siempre para estar seguros y evitar sorpresas.
14
Prctica de MPLS
En primer lugar para ver rpidamente las interfaces que estn funcionando con
MPLS ejecuta show mpls interfaces:
15
Prctica de MPLS
TCP
646 UDP
16
Prctica de MPLS
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
ejemplo sera el siguiente:
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
17
Prctica de MPLS
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
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
18 Untagged 172.16.2.1/32 0 Et0/0 172.16.12.2
17 17 172.16.3.1/32 0 Et0/0 172.16.12.2
16 Pop tag 172.16.23.0/24 0 Et0/0 172.16.12.2
18
Prctica de MPLS
En R1
En R2
19
Prctica de MPLS
En R3
En R4
20
Prctica de MPLS
En el router R2, por qu hay ms de una asociacin remota para cada red?
21
Prctica de MPLS
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
22
Prctica de MPLS
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?
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.
23
Prctica de MPLS
Console Console
L0 L0
172.16.0.1/32 172.16.3.1/32
E 0/0 E 0/0
172.16.30.1/24 172.16.33.1/24
R0 R3
H0 H3
172.16.30.2/24 S 0/0 S 0/0 172.16.33.2/24
Rtr: 172.16.30.1 172.16.22.3/24 172.16.23.3/24 Rtr: 172.16.33.1
MPLS E 0/0.4
E 0/0.4
172.16.12.2/24
172.16.12.1/24
E 0/0.3
S 0/0 E 0/0.2 S 0/0
172.16.32.1/24
172.16.22.2/24 172.16.31.1/24 1 2 34 172.16.23.2/24
L0 L0
R1 R2
172.16.1.1/32 172.16.2.1/32
Console Console
H1 H2
172.16.31.2/24 172.16.32.2/24
Rtr: 172.16.31.1 Rtr: 172.16.32.1
RS-232
10BASE-T
V.35
24
Prctica de MPLS
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
25
Prctica de MPLS
#configure terminal
Enter configuration commands, one per line. End with CNTL/Z
(config)#vlan 2
(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
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.
26
Prctica de MPLS
27