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

Prctica de MPLS 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. La siguiente figura muestra de forma esquemtica la relacin entre las cuatro tablas mencionadas (RIB, FIB, LIB y LFIB):

De forma simplificada en la figura 1 y 2 se explica el funcionamiento del MPLS utilizando las tablas LIB, LFIB y FIB.

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

Prctica de MPLS 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 L0 172.16.0.1/32 E 0/0 172.16.30.1/24 R0 H0 172.16.30.2/24 Rtr: 172.16.30.1 R3 H3 172.16.33.2/24 Rtr: 172.16.33.1 L0 172.16.3.1/32 E 0/0 172.16.33.1/24 Console

S 0/0 172.16.22.3/24

S 0/0 172.16.23.3/24

MPLS
E 0/0 172.16.12.1/24 172.16.31.1/24 E 0/0 172.16.12.2/24 172.16.32.1/24 S 0/0 172.16.23.2/24 R2 Console Console L0 172.16.2.1/32

S 0/0 172.16.22.2/24 L0 172.16.1.1/32 R1

H1 172.16.31.2/24 Rtr: 172.16.31.1 RS-232 10BASE-T V.35

H2 172.16.32.2/24 Rtr: 172.16.32.1

Figura 3: Esquema de conexin de los routers con detalle del direccionamiento IP. Los nombres de interfaces que aparecen en la figura 3 son las abreviaturas mnimas que pueden utilizarse para configurar los routers, es decir en vez de Ethernet 0/0, Serial 0/0 y Loopback 0 podemos escribir E0/0, S0/0 y L0, respectivamente. Como has visto en el esquema anterior, en esta prctica estamos utilizando un nuevo tipo de interfaz, la Loopback (L0). Se trata de una interfaz virtual no asociada a ninguna interfaz fsica y que no conecta con ninguna red. A pesar de su nombre y a diferencia de lo que ocurre en los hosts las interfaces loopback de los routers no estn pensadas para probar localmente el buen estado del software 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

Prctica de MPLS configuracin, lo cual puede interferir en nuestro trabajo. En ese caso borra la configuracin con los comandos erase startup configuration y reload. >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 8

Prctica de MPLS R1(config-if)# R1(config-if)# R1(config-if)# R1(config-if)# interface serial 0/0 ip address 172.16.22.2 255.255.255.0 clock rate 2000000 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 H0 H1 H2 H3

IP 172.16.30.2 172.16.31.2 172.16.32.2 172.16.33.2

Mscara 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0

Router por defecto 172.16.30.1 172.16.31.1 172.16.32.1 172.16.33.1

Por ejemplo para H3 sera:

Prctica de MPLS

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 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

10

Prctica de MPLS
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 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

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

Interface Null0 (default route handler entry) Loopback0

Ethernet0/0 Ethernet0/0 Ethernet0/0 Ethernet0/0 Ethernet0/0

11

Prctica de MPLS
224.0.0.0/4 224.0.0.0/24 255.255.255.255/32 drop receive receive

Si CEF estuviera desactivado el comando no habra devuelto ninguna informacin. 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 12

Prctica de MPLS 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

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) 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. Tunnel No No Operational Yes Yes

13

Prctica de MPLS

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 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

14

Prctica de MPLS 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: 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

15

Prctica de MPLS 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 tag tag or VC or Tunnel Id 18 Untagged 172.16.2.1/32 17 17 172.16.3.1/32 16 Pop tag 172.16.23.0/24 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 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 Et0/0 Et0/0 Et0/0 Next Hop 172.16.12.2 172.16.12.2 172.16.12.2

Bytes tag switched 384 0 Bytes tag switched 0 0 0

Outgoing interface Se0/0 Et0/0 Outgoing interface Se0/0 Se0/0 Se0/0

Next Hop point2point 172.16.12.1 Next Hop 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

16

Prctica de MPLS En R1 Network LSR Label

En R2 Network LSR Label

En R3 Network LSR Label

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? . .

17

Prctica de MPLS En el router R2, por qu hay ms de una asociacin remota para cada red? . . 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 18

Prctica de MPLS BGP tagging not enabled Tagging operational Fast Switching Vectors: 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

19

Prctica de MPLS 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. 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

Prctica de MPLS

Console L0 172.16.0.1/32 E 0/0 172.16.30.1/24 R0 H0 172.16.30.2/24 Rtr: 172.16.30.1 R3 L0 172.16.3.1/32

Console

E 0/0 172.16.33.1/24 H3 172.16.33.2/24 Rtr: 172.16.33.1

S 0/0 172.16.22.3/24

S 0/0 172.16.23.3/24

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 S 0/0 172.16.23.2/24 R2 Console Console L0 172.16.2.1/32

S 0/0 172.16.22.2/24 L0 172.16.1.1/32 R1

H1 172.16.31.2/24 Rtr: 172.16.31.1 RS-232 10BASE-T V.35

H2 172.16.32.2/24 Rtr: 172.16.32.1

Figura 4: Esquema de conexin de los routers con etiquetado 802.1Q. Lo nico que tenemos que modificar en los routers es la configuracin de las interfaces Ethernet de R1 y R2. Dichas interfaces se han de desdoblar en dos subinterfaces cada una. Es buena prctica, aunque no necesario, asignar a las subinterfaces el mismo nmero que el de la VLAN que les corresponde. Para configurar las subinterfaces debes introducir en R1 y R2 los siguientes comandos: R1(config)# interface ethernet 0/0 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)# R1(config-if)# R1(config-if)# R1(config-if)# no ip address 172.16.12.1 255.255.255.0 no ip address 172.16.31.1 255.255.255.0 secondary no mpls ip 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:

22

Prctica de MPLS #configure terminal Enter configuration commands, one per line. (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

End with CNTL/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