Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica MPLS
Practica MPLS
Objetivo
El objetivo de la presente práctica es familiarizarse con la tecnología y los
conceptos de MPLS (Multiprotocol Label Switching), así como su configuración 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 distribución de etiquetas
LDP
• Verificar el comportamiento de MPLS en la red, así como la comprobación
de las tablas utilizadas por MPLS en su funcionamiento
• Adaptar el tamaño 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 realización de esta práctica 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 t 1
• 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”
1
Práctica de MPLS
Introducción
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 añadida 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 sólo 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 través 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
Práctica 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 búsqueda en la RIB para localizar la ruta
hacia dicho router remoto. Dependiendo de la complejidad de la RIB esta
búsqueda recursiva puede tener que repetirse varias veces, haciendo el proceso
de resolución 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 rápidamente asignar las etiquetas a los paquetes según 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 asociación
queda registrada en la tabla LIB en el plano de control. El plano de datos, que es
el que realiza el trabajo de conmutación, 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
Práctica de MPLS
protocolos de control, en nuestro caso OSPF para la RIB y LDP para la LIB. En
cambio la FIB y la LFIB están en el plano de datos, pues son tablas utilizadas por
el router para la conmutación de paquetes IP ó MPLS.
4
Práctica de MPLS
Cada router tiene una conexión Ethernet y una Serie. Las conexiones R0-R1 y R2-
R3 se hacen utilizando las líneas 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
5
Práctica de MPLS
tercera para R1 con R2. Por comodidad utilizaremos en todas estas interfaces
máscaras de 24 bits, aunque en las líneas serie no harían 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 conexión de los routers con detalle del direccionamiento IP.
6
Práctica 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 máscara de 32 bits
(ruta host) dejando claro que esa interfaz está aislada. Se pueden configurar
múltiples interfaces loopback (loopback0, loopback1, etc.) pero lo normal es
configurar solo una.
Fíjate 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 funcionarán sn etiqueta MPLS, por lo que en en esos
casos los routers actuarán como routers frontera.
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 domainlookup
R1(config)#exit
7
Práctica de MPLS
>enable
#erase star
#reload
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 físicas 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’.
8
Práctica de MPLS
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
R1(config-if)# no shutdown
Configura ahora las direcciones IP, máscara y router por defecto en los hosts,
utilizando los comandos ifconfig y route que ya conoces, de la siguiente manera:
9
Práctica de MPLS
Con ello podrás observar que se establecen las adyacencias y se anuncian las
redes.
……………………………………………………………………………………….
……………………………………………………………………………………….
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
10
Práctica de MPLS
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
Verás que las redes directamente conectadas llevan delante una “C” y las
aprendidas por OSPF una “O”. La información entre corchetes es [distancia
administrativa, métrica], en el caso de OSPF la distancia administrativa es siempre
110 y la métrica 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 serán diferentes de los que
aparecen en este ejemplo). Cada ruta además tiene asociada el siguiente salto, la
antigüedad y la interfaz de salida.
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 también a
utilizar el comando “traceroute” desde tu router al router más alejado de ti (por
ejemplo desde R2 hacia R0). Observa el resultado.
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
11
Práctica 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
(dirección loopback de R2) debe utilizarse la dirección 172.16.12.2 (Next Hop),
que corresponde a la interfaz Ethernet 0/0 de R2, que a su vez está accesible a
través de la interfaz Ethernet 0/0 de R1.
Al configurar MPLS en un router hay que indicar el protocolo que queremos utilizar
para la configuración de etiquetas. Si no se indica ninguno el sistema asume uno
por defecto, que depende de la versión de IOS utilizada, en nuestro caso es uno
propietario de Cisco, por lo que necesariamente debemos especificar el uso de
LDP. Es buena práctica hacerlo siempre para estar seguros y evitar sorpresas.
12
Práctica de MPLS
R1#show mpls ?
atmldp ATM LDP Protocol information
forwardingtable Show the Label Forwarding Information Base (LFIB)
interfaces Perinterface MPLS forwarding information
ip MPLS IP information
label Label information
ldp Label Distribution Protocol information
trafficeng Traffic engineering information
En primer lugar para ver rápidamente las interfaces que están funcionando con
MPLS ejecuta “show mpls interfaces”:
13
Práctica de MPLS
En MPLS cada router utiliza como identificador la IP más alta de sus interfaces
loopback (podría tener varias), y si no dispone de ninguna interfaz loopback, la
más alta de sus interfaces físicas. Esto ocurre también con otros protocolos como
OSPF, BGP etc
……………………………………………………………………………………….
……………………………………………………………………………………….
Con la configuración introducida en el paso anterior, todos los routers actúan 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
conmutación se realiza utilizando la tabla LFIB que almacena la etiqueta asignada
14
Práctica de MPLS
por el router vecino, la interfaz por donde enviar el paquete y la acción a realizar
con la etiqueta añadida (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 relación con las asignadas por el siguiente router al mismo destino. Un
ejemplo sería 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 debería 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 más 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 parámetro ‘rev’ (revisión) que aparece en la línea ‘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
15
Práctica de MPLS
es la Ethernet que le conecta con R1, localmente no le asigna etiqueta por ser una
red directamente conectada. Además 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”:
En R0
16
Práctica de MPLS
En R1
En R2
En R3
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
17
Práctica de MPLS
……………………………………………………………………………………….
En el router R2, ¿por qué hay más de una asociación remota para cada red?
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
……………………………………………………………………………………….
R2#traceroute 172.16.1.1
Type escape sequence to abort.
Tracing the route to 172.16.3.1
……………………………………………………………………………………….
……………………………………………………………………………………….
18
Práctica de MPLS
19
Práctica de MPLS
Ahora quita el filtro anterior y pon uno para capturar únicamente el tráfico 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 ¿Cómo
saben los routers que paquetes van encapsulados y cuales no?
Prueba ahora con el comando ping a enviar paquetes IP del tamaño máximo
(1500 bytes) de forma que al pasar por la Ethernet que une R1 con R2 llevando la
cabecera MPLS superen el tamaño máximo. Analiza esos paquetes con Wireshark
y comenta los resultados en relación con tu anterior intetno de aumentar la MTU
de la interfaz física. Explica las conclusiones obtenidas.
20
Práctica 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 3 4 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
21
Práctica 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
VLAN no es necesario asignarle ningún puerto.)
22
Práctica 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
(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’. También puedes preguntar
por subinterfaz.
23
Práctica de MPLS
24