prÁctica: configuración de mpls en modo trama...prÁctica: configuración de mpls en modo trama 4...

22
PRÁCTICA: Configuración de MPLS en modo trama 1 PRÁCTICA: Configuración de MPLS en modo trama 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. Para ello, se realizarán 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 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 Aunque los equipos utilizados son Cisco, los conceptos introducidos en la presente práctica tienen carácter general. 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 1 IOS Version 12.3(26) Telco Feature Set- General Deployment, RELEASE SOFTWARE (fc2) “c2600-telco-mz.123-26.bin”

Upload: others

Post on 18-Feb-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

  • PRÁCTICA: Configuración de MPLS en modo trama

    1

    PRÁCTICA: Configuración de MPLS en modo trama

    ObjetivoEl objetivo de la presente práctica es familiarizarse con la tecnología y losconceptos de MPLS (Multiprotocol Label Switching), así como su configuración enuna maqueta con routers Cisco.

    Para ello, se realizarán las siguientes actividades:

    • Montar una maqueta con varios routers 2610 (‘MPLS capable’) coninterfaces 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

    Aunque los equipos utilizados son Cisco, los conceptos introducidos en lapresente práctica tienen carácter general.

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

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

  • PRÁCTICA: Configuración de MPLS en modo trama

    2

    Prerrequisitos Tener un conocimiento básico de configuración de los routers Cisco, así como

    los comandos de su sistema operativo IOS, para lo cual se remite a lasprácticas realizadas previamente en esta u otras asignaturas

    Tener un conocimiento teórico de MPLS Haberse leído completamente este guión

    Introducción

    En ocasiones MPLS se clasifica como una tecnología de la capa 2.5, porquerealiza un encapsulado intermedio entre la capa de enlace (capa 2) y la capa dered (capa 3). En este encapsulado se introduce una etiqueta de 4 bytes, quepermite a los routers utilizar técnicas de conmutación. El utilizar el etiquetado pordebajo de capa 3, permite funcionar independientemente del protocolo de capa 3utilizado, de ahí lo de “multiprotocol”. Esta arquitectura de etiquetado es flexible ypermite anidar o apilar etiquetas, es decir, introducir una trama MPLS dentro deotra.

    El objetivo de MPLS es separar la parte de encaminamiento de la parte deconmutación en el reenvío de los paquetes, de forma que mientras la parte deencaminamiento es compleja y lenta (tiempos de convergencia, cálculo de rutas),se realiza independientemente de la parte de conmutación, que es rápida y simple.

    Los routers inicialmente calculan las rutas a los destinos usando protocolos derouting IP (OSPF por ejemplo) y luego intercambiando etiquetas establecen loscircuitos virtuales entre cualquier origen y cualquier destino para empezar aconmutar los paquetes. La etiqueta añadida al paquete se antepone a la cabeceraIP en el router frontera de ingreso a la red MPLS, y está asociada al circuito virtualque seguirá hacia su destino. La etiqueta sólo tiene significado local en el enlaceentre ese router y el siguiente, y va cambiando en cada enlace por el que pasa elpaquete hacia su destino. El paquete es conmutado dentro de la red (a través delos routers MPLS internos) cambiando en cada salto la etiqueta y finalmente salede la red MPLS en el router frontera de egreso, que se encarga de quitarle laetiqueta.

    Para que MPLS mejore el rendimiento de un router necesita soporte por parte delhardware. En los routers de cisco ese soporte se consigue activando un modo defuncionamiento llamado CEF (Cisco Express Forwarding). El uso de CEF es unprerrequisito para que el router pueda soportar MPLS, sin embargo un routerpuede utilizar CEF sin tener habilitado MPLS.

    Todo router construye a partir de la información obtenida por los diversosprotocolos de routing y por las rutas estáticas que tiene configuradas, la tabla derutas llamada también RIB (Routing Information Table). La RIB contiene unaentrada para cada posible red de destino y una dirección de encaminamiento

  • PRÁCTICA: Configuración de MPLS en modo trama

    3

    hacia dicha red. Dicha dirección de encaminamiento puede corresponder a unrouter vecino, en cuyo caso nuestro router tendrá esa red directamente conectaday ya sabrá por qué 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 rutahacia dicho router remoto. Dependiendo de la complejidad de la RIB estabúsqueda recursiva puede tener que repetirse varias veces, haciendo el procesode resolución de rutas lento y costoso.

    Cuando se activa CEF el router construye, a partir de la información de la tablaRIB, otra tabla llamada FIB (Forwarding Information Base) que especifica paracada posible red de destino la dirección del siguiente router (y por tanto la interfaz)que se debe utilizar. Así pues la tabla FIB es una versión simplificada de la tablade rutas que acelera, el proceso de enrutamiento de los paquetes ya que paracada red de destino indica directamente la inerfaz que ha de utilizarse y el routerde ‘siguiente salto’ hacia dicho destino, evitando las búsquedas recursivas.Normalmente en los routers CEF está activado por defecto y la FIB se utiliza aunen el caso de que no se active MPLS.

    Cuando se activa MPLS el router construye una tabla de conmutación de etiquetasdenominada LIB (Label Information Base). Dicha tabla contiene entradas querelacionan interfaz-etiqueta de entrada con interfaz-etiqueta de salida. Lasentradas en dicha tabla pueden incluirse de dos maneras: manualmente, porconfiguración, o automáticamente, mediante un protocolo de distribución deetiquetas. El protocolo de distribución de etiquetas más extendido es el conocidocomo LDP (Label Distribution Protocol) y es el que utilizaremos en esta práctica.Para crear las etiquetas LDP utiliza la información facilitada por el protocolo OSPF.Esto nos evita tener que decidir e introducir manualmente las tablas de etiquetasen 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 lainterfaz 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 paquetessegún la red de destino.

    Una vez el router conoce, mediante OSPF, todas las redes accesibles, le asocia acada una una etiqueta y la anuncia a sus vecinos utilizando LDP. Esta asociaciónqueda registrada en la tabla LIB en el plano de control. El plano de datos, que esel 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 lastramas MPLS utilizando las etiquetas y reenviar la trama a la interfaz de salidacorrespondiente).

    Normalmente MPLS se describe mediante un modelo de arquitectura basado endos planos, el plano de control (utilizado por los protocolos de routing IP y losprotocolos de gestión de MPLS) y el plano de datos donde se realiza laconmutación de los paquetes. De acuerdo con ese modelo la RIB y la LIB se

  • PRÁCTICA: Configuración de MPLS en modo trama

    4

    encuentran en el plano de control, ya que son tablas controladas por losprotocolos de control, en nuestro caso OSPF para la RIB y LDP para la LIB. Encambio la FIB y la LFIB están en el plano de datos, pues son tablas utilizadas porel router para la conmutación de paquetes IP ó MPLS.

    La siguiente figura muestra de forma esquemática la relación entre las cuatrotablas mencionadas (RIB, FIB, LIB y LFIB):

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

  • PRÁCTICA: Configuración de MPLS en modo trama

    5

    Figura 1: La red X (network X) está directamente conectada al router D, que laanuncia. Instantes más 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, decisión queanuncia a sus routers vecinos A, E y C por LDP. La decisión queda registrada enla tabla LIB del router B. A partir de ese momento cuando el router A tenga queenviar 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 elrouter B que el tráfico enviado hacia la red X lo marcarán con la etiqueta 47 en elenlace que les une. Igual que antes hizo B ahora C anuncia esta decisión a todossus vecinos (B, E y D). B incorpora esta información a su LIB, FIB y LFIB, dando elresultado que aparece en la figura. Ahora cuando A le envía un paquete conetiqueta 25 B sabe que tiene que enviar dicho paquete por la interfaz que leconecta con C, cambiando la etiqueta a 47.

    La etiqueta MPLS es un número entero de 20 bits. Las etiquetas de 0 a 15 estánreservadas, por lo que el rango utilizable es de 16 a 1.048.575 (2**20-1). En losrouters Cisco por defecto LDP empieza a asignar valores de forma consecutivaempezando por abajo, por lo que los valores de etiquetas que veremos empezaránpor el 16 en adelante.

    Esquema de la red MPLS a implementarEn la presenta maqueta hay 4 routers que forman la red MPLS como muestra lafigura 3.

    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 susrespectivos hosts. Para dar cierta independencia hemos configurado en esta

  • PRÁCTICA: Configuración de MPLS en modo trama

    6

    Ethernet tres redes IP, una para conectar R1 con H1, otra para R2 con H2 y unatercera para R1 con R2. Por comodidad utilizaremos en todas estas interfacesmáscaras de 24 bits, aunque en las líneas serie no harían falta tantas direcciones.

    Figura 3: Esquema de conexión de los routers con detalle del direccionamiento IP.

    Los nombres de interfaces que aparecen en la figura 3 son las abreviaturasmínimas que pueden utilizarse para configurar los routers, es decir en vez deEthernet 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 práctica estamos utilizando unnuevo tipo de interfaz, la Loopback (L0). Se trata de una interfaz virtual noasociada a ninguna interfaz física y que no conecta con ninguna red. A pesar desu nombre y a diferencia de lo que ocurre en los hosts las interfaces loopback de

    E 0/0172.16.12.1/24172.16.31.1/24

    E 0/0172.16.12.2/24172.16.32.1/24

    S 0/0172.16.23.2/24

    S 0/0172.16.22.2/24

    RS-23210BASE-TV.35

    H1172.16.31.2/24

    Rtr: 172.16.31.1

    Console

    H2172.16.32.2/24

    Rtr: 172.16.32.1

    S 0/0172.16.22.3/24

    E 0/0172.16.30.1/24

    E 0/0172.16.33.1/24

    S 0/0172.16.23.3/24

    Console Console

    R0 R3

    H3172.16.33.2/24

    Rtr: 172.16.33.1

    H0172.16.30.2/24

    Rtr: 172.16.30.1

    L 0172.16.0.1/32

    L 0172.16.3.1/32

    L 0172.16.2.1/32

    L 0172.16.1.1/32

    MPLS

    R1 R2

    Console

  • PRÁCTICA: Configuración de MPLS en modo trama

    7

    los routers no están pensadas para probar localmente el buen estado del softwarede comunicaciones, y de hecho si intentamos asignarle cualquier dirección de lared 127.0.0.0/8 el router no nos deja y da un mensaje de error. El objetivo de estainterfaz es servir como identificador del router, la dirección IP que le asignamos aella actúa como una especie de ‘dirección canónica’ que identifica al router antecualquier protocolo que lo requiera, por ejemplo OSPF o LDP. Al no estarvinculada a ninguna interfaz física la interfaz loopback está operativa siempre queel router está encendido. Si no existiera la interfaz loopback OSPF y LDPutilizarían para identificar al router la dirección IP más alta, que en nuestro casosería la de la interfaz Ethernet; en ese caso si se desenchufara el cable Ethernet lainterfaz caería y el router tendría que cambiar de identificador. En nuestramaqueta esto no sería muy importante, ya que si cae la interfaz Ethernet de unrouter poco podemos hacer ya con él, pero en un router con más interfaces resultamuy útil que el identificador no dependa de una interfaz física concreta.

    Puesto que la interfaz loopback no nos conecta con ninguna red y solo se utilizacomo identificador lo normal suele ser configurarla con una máscara de 32 bits(ruta host) dejando claro que esa interfaz está aislada. Se pueden configurarmúltiples interfaces loopback (loopback0, loopback1, etc.) pero lo normal esconfigurar solo una.

    Fíjate por último que en la figura 3 la nube MPLS comprende solo las interfacesque interconectan los routers, quedando fuera las cuatro loopback y las Ethernetde R0 y R4. Estas interfaces funcionarán sn etiqueta MPLS, por lo que en en esoscasos los routers actuarán como routers frontera.

    Paso 0: Cableado e inicialización de los routersCablea la maqueta tal como se indica en la figura 3. De momento no conectes lainterfaz serie en R0 y en R3. Seguidamente conéctate por consola a losdiferentes equipos e introduce la configuración 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>enableRouter#configure terminalRouter(config)#hostname R1R1(config)#no ip domain-lookupR1(config)#exit

    El comando no ip domain-lookup evita la consulta al DNS, lo cual es muyrecomendable ya que si no lo ponemos cuando nos equivocamos al teclear uncomando se interpreta como un telnet a ese nombre y tarda un rato en abortar portimeout la consulta al DNS.

  • PRÁCTICA: Configuración de MPLS en modo trama

    8

    Si el equipo no muestra la pregunta inicial es porque tiene grabada algunaconfiguración, lo cual puede interferir en nuestro trabajo. En ese caso borra laconfiguración 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 lasinterfaces 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’.

    Ahora sí conecta ya la interfaz serie en R0 y en R3.

    Paso 1: Configuración del direccionamiento IPA continuación vamos a configurar las interfaces, tanto las físicas como lasvirtuales, con las direcciones que les corresponden y las habilitaremos con elcomando “no shutdown”. En las interfaces serie vamos a añadir además elcomando “clock rate”. Por simplificar pondremos la señal de reloj en ambos ladosde la línea, para no tener que preocuparnos de cómo hemos puesto el cable.

    Esta es la configuración necesaria para cada router:

    R0(config)# interface loopback 0R0(config-if)# ip address 172.16.0.1 255.255.255.255R0(config-if)# no shutdownR0(config-if)# interface ethernet 0/0R0(config-if)# ip address 172.16.30.1 255.255.255.0R0(config-if)# no shutdownR0(config-if)# interface serial 0/0R0(config-if)# ip address 172.16.22.3 255.255.255.0R0(config-if)# clock rate 64000R0(config-if)# no shutdown

    R1(config)# interface loopback 0R1(config-if)# ip address 172.16.1.1 255.255.255.255R1(config-if)# no shutdownR1(config-if)# interface ethernet 0/0R1(config-if)# ip address 172.16.12.1 255.255.255.0R1(config-if)# ip address 172.16.31.1 255.255.255.0 secondary

  • PRÁCTICA: Configuración de MPLS en modo trama

    9

    R1(config-if)# no shutdownR1(config-if)# interface serial 0/0R1(config-if)# ip address 172.16.22.2 255.255.255.0R1(config-if)# clock rate 64000R1(config-if)# no shutdown

    R2(config)# interface loopback 0R2(config-if)# ip address 172.16.2.1 255.255.255.255R2(config-if)# no shutdownR2(config-if)# interface ethernet 0/0R2(config-if)# ip address 172.16.12.2 255.255.255.0R2(config-if)# ip address 172.16.32.1 255.255.255.0 secondaryR2(config-if)# no shutdownR2(config-if)# interface serial 0/0R2(config-if)# ip address 172.16.23.2 255.255.255.0R2(config-if)# clock rate 64000R2(config-if)# no shutdown

    R3(config)# interface loopback 0R3(config-if)# ip address 172.16.3.1 255.255.255.255R3(config-if)# no shutdownR3(config-if)# interface ethernet 0/0R3(config-if)# ip address 172.16.33.1 255.255.255.0R3(config-if)# no shutdownR3(config-if)# interface serial 0/0R3(config-if)# ip address 172.16.23.3 255.255.255.0R3(config-if)# clock rate 64000R3(config-if)# no shutdown

    Configura ahora las direcciones IP, máscara y router por defecto en los hosts, dela siguiente manera:

    Host IP Máscara 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

  • PRÁCTICA: Configuración de MPLS en modo trama

    10

    Paso 2: Configura OSPF en todos los routers

    Configura OSPF en los 4 routers de la maqueta en el área 0. Por simplificaranunciaremos toda la red 172.16.0.0/16, sabiendo que así cada router anunciarásolamente las subredes que tiene directamente conectadas. Los comandos, queson iguales en todos los routers, son los siguientes:

    R1(config)# router ospf 1R1(config-router)# network 172.16.0.0 0.0.255.255 area 0

    Con ello podrás observar que se establecen las adyacencias y se anuncian lasredes.

    ¿Podría funcionar MPLS si no hubiera conectividad IP?

    Paso 3: Comprobación de la conectividad IP y del funcionamiento de CEF(Cisco Express Forwarding)

    Utilizando el comando “show ip route” podrás observar la tabla de rutas (tablaRIB). Por ejemplo en R2 debería aparecer algo parecido a lo siguiente:

    R2#show ip route…

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

    Verás que las redes directamente conectadas llevan delante una “C” y lasaprendidas por OSPF una “O”. La información entre corchetes es [distanciaadministrativa, métrica], en el caso de OSPF la distancia administrativa es siempre110 y la métrica se calcula como la suma de los costes de los enlaces hasta eldestino, coste que es inversamente proporcional a la velocidad de la interfaz (losvalores que observes en el laboratorio seguramente serán diferentes de los queaparecen en este ejemplo). Cada ruta además tiene asociada el siguiente salto, laantigüedad y la interfaz de salida.

  • PRÁCTICA: Configuración de MPLS en modo trama

    11

    Atención: Algunas capturas pertenecen a una topología distinta de larealizada, por lo que algunas capturas pueden diferir de lo que se obtenga enel laboratorio.

    Haz ping, ping –R y traceroute desde tu host a los otros tres y a las interfacesloopback de los routers para comprobar la conectividad IP. Prueba también autilizar el comando “traceroute” desde tu router al router más alejado de ti (porejemplo desde R2 hacia R0). Observa el resultado.

    Como hemos comentado en la parte introductoria los routers Cisco emplean unmecanismo conocido como CEF (Cisco Express Forwarding) para acelerar elproceso de conmutación de paquetes, construyendo la tabla FIB (ForwardingInformation base). MPLS necesita que CEF esté activado, ya que utiliza la tablaFIB para construir la tabla LFIB que utiliza para la conmutación de sus paquetes.CEF puede activarse o desactivarse con los comandos “ip cef” o “no ip cef”,respectivamente en modo configuración global. Por defecto CEF está activado,para comprobarlo podemos utilizar el comando “show ip cef” que nos devuelve latabla FIB del router:

    R1#show ip cefPrefix Next Hop Interface0.0.0.0/0 drop Null0 (default route handler entry)0.0.0.0/32 receive172.16.1.0/32 attached Loopback0172.16.1.0/32 receive172.16.1.1/32 receive172.16.1.255/32 receive172.16.2.1/32 172.16.12.2 Ethernet0/0172.16.3.1/32 172.16.12.2 Ethernet0/0172.16.12.0/24 attached Ethernet0/0172.16.12.0/32 receive172.16.12.1/32 receive172.16.12.2/32 172.16.12.2 Ethernet0/0172.16.12.255/32 receive172.16.23.0/24 172.16.12.2 Ethernet0/0224.0.0.0/4 drop224.0.0.0/24 receive255.255.255.255/32 receive

    Si CEF estuviera desactivado el comando no habría devuelto ninguna información.

    La tabla FIB nos indica cual es el siguiente salto hacia cada destino posible. Porejemplo 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 através de la interfaz Ethernet 0/0 de R1.

  • PRÁCTICA: Configuración de MPLS en modo trama

    12

    Paso 4: Habilita MPLS en las interfaces

    Al configurar MPLS en un router hay que indicar el protocolo que queremos utilizarpara la configuración de etiquetas. Si no se indica ninguno el sistema asume unopor defecto, que depende de la versión de IOS utilizada, en nuestro caso es unopropietario de Cisco, por lo que necesariamente debemos especificar el uso deLDP. Es buena práctica hacerlo siempre para estar seguros y evitar sorpresas.

    Para configurar LDP utilizaremos el comando ‘mpls label protocol ldp’ enmodo configuración global. Además debemos habilitar MPLS mediante elcomando ‘mpls ip’ en todas las interfaces que están dentro de la nube MPLS, esdecir en todas las serie y las ethernet de R1 y R2. Los comandos a utilizar sonpues los siguientes:

    R0(config)# mpls label protocol ldpR1(config)# interface serial0/0R1(config-if)# mpls ip

    R1(config)# mpls label protocol ldpR2(config)# interface ethernet0/0R2(config-if)# mpls ipR2(config-if)# interface serial0/0R2(config-if)# mpls ip

    R2(config)# mpls label protocol ldpR3(config)# interface ethernet0/0R3(config-if)# mpls ipR3(config-if)# interface serial0/0R3(config-if)# mpls ip

    R3(config)# mpls label protocol ldpR4(config)# interface serial0/0R4(config-if)# mpls ip

    Cuando configuras MPLS en los dos extremos de una conexión, aparecenmensajes por consola en ambos routers indicando que LDP ha creado una nuevavecindad 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 configuración de MPLS

    Para comprobar el funcionamiento de MPLS vamos a utilizar el comando “showmpls”. Para ver de qué opciones dispones utiliza el comando “show mpls ?”

  • PRÁCTICA: Configuración de MPLS en modo trama

    13

    R1#show mpls ?atm-ldp ATM LDP Protocol informationforwarding-table Show the Label Forwarding Information Base (LFIB)interfaces Per-interface MPLS forwarding informationip MPLS IP informationlabel Label informationldp Label Distribution Protocol informationtraffic-eng Traffic engineering information

    En primer lugar para ver rápidamente las interfaces que están funcionando conMPLS ejecuta “show mpls interfaces”:

    R2# show mpls interfacesInterface IP Tunnel OperationalEthernet0/0 Yes (tdp) No YesSerial0/0 Yes (tdp) No Yes

    Otros comandos interesantes son:

    show mpls ldp discovery para observar información de LDP, como elidentificativo del router MPLS y los vecinos.

    R2#show mpls ldp discoveryLocal LDP Identifier:

    172.16.2.1:0Discovery Sources:Interfaces:

    Ethernet0/0 (ldp): xmit/recvLDP Id: 172.16.1.1:0

    Serial0/0 (ldp): xmit/recvLDP Id: 172.16.3.1:0

    show mpls ldp neighbor para detección de las adyacencias de LDP y elestado de las conexiones establecidas.

    R2#show mpls ldp neiPeer 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.19940State: Oper; PIEs sent/rcvd: 0/23; DownstreamUp time: 00:17:12LDP 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

  • PRÁCTICA: Configuración de MPLS en modo trama

    14

    TCP connection: 172.16.3.1.40446 - 172.16.2.1.646State: Oper; PIEs sent/rcvd: 0/20; DownstreamUp time: 00:14:16LDP 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 más alta de sus interfacesloopback (podría tener varias), y si no dispone de ninguna interfaz loopback, lamás alta de sus interfaces físicas. Esto ocurre también con otros protocolos comoOSPF, BGP etc

    A la vista de lo anterior indica ¿Qué protocolo de transporte utiliza LDP paracomunicarse con sus vecinos?

    ¿Serías capaz de decir si LDP tiene asignado un número de puerto bienconocido? ¿Sabrías decir cuál es?

    Paso 6: Estudio de las tablas LIB y LFIB

    Con la configuración introducida en el paso anterior, todos los routers actúan comoLabel Switch Routers (LSRs) y ejecutan LDP. Cada router crea una FEC(Forwarding Equivalence Class) para cada entrada de la tabla FIB, a cada FEC leasigna una etiqueta MPLS y registra la etiqueta en la tabla LIB. Estas etiquetaspueden variar cada vez que inicializamos el router.

    Mediante LDP cada router distribuye sus etiquetas a sus vecinos para que lasutilicen cuando le mandan paquetes. Una vez las etiquetas se han distribuido, laconmutación se realiza utilizando la tabla LFIB que almacena la etiqueta asignadapor el router vecino, la interfaz por donde enviar el paquete y la acción a realizarcon la etiqueta añadida (ponerla, cambiarla o quitarla).

    Para visualizar los datos de la LIB se utiliza el comando “show mpls ldpbindings”. Las asociaciones de etiquetas con las redes de destino solo tienensignificado local al router, es decir, las etiquetas asignadas por un router no tienenen principio relación con las asignadas por el siguiente router al mismo destino. Unejemplo sería el siguiente:

    R2#show mpls ldp bindingslib entry: 172.16.1.1/32, rev 6

    local binding: label: 16remote binding: lsr: 172.16.3.1:0, label: 17

    lib entry: 172.16.2.1/32, rev 12remote binding: lsr: 172.16.1.1:0, label: 18remote binding: lsr: 172.16.3.1:0, label: 18

  • PRÁCTICA: Configuración de MPLS en modo trama

    15

    lib entry: 172.16.3.1/32, rev 8local binding: label: 17remote binding: lsr: 172.16.1.1:0, label: 17

    lib entry: 172.16.12.0/24, rev 4local binding: label: imp-nullremote binding: lsr: 172.16.1.1:0, label: imp-nullremote binding: lsr: 172.16.3.1:0, label: 16

    lib entry: 172.16.23.0/24, rev 2local binding: label: imp-nullremote binding: lsr: 172.16.1.1:0, label: 16remote binding: lsr: 172.16.3.1:0, label: imp-null

    La etiqueta “imp-null” indica que el paquete será renviado sin etiqueta MPLS. Estoocurre normalmente en el router de destino, es decir el que tiene la red de destinodirectamente conectada, que es el que debería quitar la etiqueta MPLS delpaquete, pero en el caso de los routers cisco la etiqueta la quita ya el routeranterior, ya que ve que el siguiente router tiene directamente conectada la red dedestino y en ese caso resulta más eficiente quitar de forma anticipada la etiquetaMPLS. Este modo de funcionamiento se conoce como PHP (Penultimate HopPopping). De este modo se evita una consulta en la tabla LFIB del router dedestino, 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 controlinterno de LDP. Se utiliza para identificar los mensajes LDP recibidos, de formaque cuando el router recibe un paquete LDP puede saber si realmente es nuevo osi es uno viejo que ha llegado repetido por algun motivo.

    En el caso anterior podemos ver que por ejemplo R2 asocia localmente para lainterfaz loopback de R3 (172.16.3.1/32) la etiqueta 17, y sabe que R1 le haasociado casualmente la misma etiqueta. En cuanto a la red 172.16.12.0/24, quees la Ethernet que le conecta con R1, localmente no le asigna etiqueta por ser unared directamente conectada. Además por LDP ha sabido que R1 tampoco le haasignado etiqueta (por el mismo motivo) y que R3 le ha asignado la etiqueta 16.

    Para consultar la tabla LFIB utilizaremos el comando show mpls forwarding-table:

    NOTA: Esta captura no pertenece a la topología de la práctica por lo que loobtenido en el laboratorio pude diferir pero será similar.

    R1#show mpls forwarding-tableLocal Outgoing Prefix Bytes tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface18 Untagged 172.16.2.1/32 0 Et0/0 172.16.12.217 17 172.16.3.1/32 0 Et0/0 172.16.12.216 Pop tag 172.16.23.0/24 0 Et0/0 172.16.12.2

  • PRÁCTICA: Configuración de MPLS en modo trama

    16

    En esta tabla las entradas que ponen ‘Untagged’ en el ‘Outgoing tag’corresponden a interfaces que se encuentran fuera de la nube MPLS; las queponen ‘Pop tag’ son los casos en que el router ha de quitar la etiquetacorrespondiente y pasar el paquete IP tal cual.

    A la vista de los resultados mostrados en las tablas LIB y LFIB, si realizamosun 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 más de una asociación 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 demáshosts, y el traceroute desde tu router al router más alejado. Compara el resultadocon el obtenido antes de activar MPLS:

    R3#traceroute 172.16.1.1Type 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 msec2 172.16.12.1 20 msec * 17 msec

    ¿Qué diferencias observas y por qué?

    Paso 7: Modifica el tamaño de MTU para MPLS

    Una de las características de MPLS es que permite anidar etiquetas MPLS enfunción de la aplicación y por tanto puede aumentar el número de cabeceras ypara ello hay que informar a las interfaces físicas de dichas eventualidades paraevitar el descarte de tramas que superen la MTU. La cabecera MPLS tiene 4bytes. La MTU por defecto siempre se toma de la propia interfaz, que en el casode una Ethernet es 1500 bytes. Para comprobarlo, utilizamos el comando “showmpls interfaces interface-type interface-number detail” en las interfaces que unelos routers R1 y R2.

  • PRÁCTICA: Configuración de MPLS en modo trama

    17

    R2#show mpls interface ethernet 0/0 detailInterface Ethernet0/0:

    IP labeling enabled (ldp)LSP Tunnel labeling not enabledBGP tagging not enabledTagging operationalFast Switching Vectors:IP to MPLS Fast Switching VectorMPLS Turbo Vector

    MTU = 1500

    En esta práctica modificaremos la MTU de la conexión MPLS Ethernet entre R1 yR2 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/0R2(config-if)# mpls mtu 1508

    R2# show mpls interface ethernet 0/0 detailInterface Ethernet0/0:

    IP labeling enabled (ldp):Interface config

    LSP Tunnel labeling not enabledBGP tagging not enabledTagging operationalFast Switching Vectors:IP to MPLS Fast Switching VectorMPLS Turbo Vector

    MTU = 1508

    Aunque hemos aumentado el tamaño de MTU para el tráfico MPLS de la interfazEthernet si ejecutas el comando “show interface Ethernet 0/0” verás que el tamañode la MTU en la interfaz física sigue siendo de 1500 bytes.

    Paso 8: Análisis de tramas MPLS

    Una vez tenemos la maqueta funcionando vamos a utilizar el Wireshark en loshosts H1 y H2 para analizar los paquetes MPLS que pasan por el hub. Diseña enprimer lugar un filtro de captura que te permita coger solo ese tráfico, no el tráficode los hosts. Una vez lo tengas compara los resultados obtenidos, en particular laestructura de la etiqueta MPLS, con lo que se ha visto en teoría. Analiza ycomenta los valores de las etiquetas que aparecen en relación con los resultadosobtenidos en la consola de los routers. Analiza también el valor del TTL queaparecen en la etiqueta MPS y en la cabecera IP.

  • PRÁCTICA: Configuración de MPLS en modo trama

    18

    Ahora quita el filtro anterior y pon uno para capturar únicamente el tráfico ICMP.Lanza un ping de H1 a H2 y otro de H0 a H3. ¿Qué diferencia hay entre los dosping? ¿van todos los paquetes encapsulados en MPLS? En caso negativo ¿Cómosaben los routers que paquetes van encapsulados y cuáles 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 lacabecera MPLS superen el tamaño máximo. Analiza esos paquetes con Wiresharky comenta los resultados en relación con tu anterior intento de aumentar la MTUde la interfaz física. Explica las conclusiones obtenidas.

    Prueba a hacer ping de H1 a H3, o de H2 a H0. Captura el ICMP Echo Request yel ICMP Echo Reply, analiza, compara y comenta los resultados obtenidos.

    Paso 9: Configuración de subinterfaces con etiquetas 802.1Q (VLANs)Como has podido observar en la maqueta que hemos montado las interfacesEthernet de R1 y R2 cumplen una doble función, por un lado sirven parainterconectar los routers entre sí y por otro para conectarlos con sus respectivoshosts. Esto significa que por la misma interfaz estos routers reciben y envíanpaquetes con y sin etiquetas MPLS. Además, no conseguimos una separacióncompleta del tráfico de las diferentes redes, por tanto no se trata de una situaciónideal. Sería más conveniente haber utilizado interfaces físicas diferentes y haberconfigurado MPLS únicamente en la que interconectara los dos routers. Sinembargo, como solo disponemos de una interfaz Ethernet por router esto no hasido posible.

    A continuación, para aproximarnos a esa ‘solución ideal’ de las dos interfacesvamos a crear dos subinterfaces sobre la interfaz Ethernet, configurando en ellasetiquetado 802.1Q (VLANs). Conectando entonces un conmutadoradecuadamente configurado podremos separar el tráfico de los hosts del tráfico dela red MPLS. Vamos a utilizar para ello un catalyst 2950. Utilizaremos la VLAN 2para el tráfico R1-H1, la VLAN 3 para el R2-H2 y la VLAN 4 para el tráfico MPLS,es decir el R1-R2. El esquema de la conexión es el que aparece en la figura 4. Elhub que aparece entre R1 y el conmutador nos permitirá ‘husmear’ el tráfico quecircula entre ambos equipos, pudiendo analizar con el Wireshark las tramas802.1Q, tanto la de MPLS como las de R1-H1, que no llevan dicha etiqueta. Lastramas R2-H2 no podremos verlas pues no llegarán al hub.

  • PRÁCTICA: Configuración de MPLS en modo trama

    19

    Figura 4: Esquema de conexión de los routers con etiquetado 802.1Q.

    Lo único que tenemos que modificar en los routers es la configuración de lasinterfaces Ethernet de R1 y R2. Dichas interfaces se han de desdoblar en dossubinterfaces cada una. Es buena práctica, aunque no necesario, asignar a lassubinterfaces el mismo número que el de la VLAN que les corresponde. Paraconfigurar las subinterfaces debes introducir en R1 y R2 los siguientes comandos:

    E 0/0.4172.16.12.1/24

    E 0/0.2172.16.31.1/24

    E 0/0.4172.16.12.2/24E 0/0.3172.16.32.1/24 S 0/0172.16.23.2/24

    S 0/0172.16.22.2/24

    RS-23210BASE-TV.35

    H1172.16.31.2/24

    Rtr: 172.16.31.1

    Console

    H2172.16.32.2/24

    Rtr: 172.16.32.1

    S 0/0172.16.22.3/24

    E 0/0172.16.30.1/24

    E 0/0172.16.33.1/24

    S 0/0172.16.23.3/24

    Console Console

    R0 R3

    H3172.16.33.2/24

    Rtr: 172.16.33.1

    H0172.16.30.2/24

    Rtr: 172.16.30.1

    L 0172.16.0.1/32

    L 0172.16.3.1/32

    L 0172.16.2.1/32

    L 0172.16.1.1/32

    MPLS

    R1 R2

    Console

    1 42 3

  • PRÁCTICA: Configuración de MPLS en modo trama

    20

    R1(config)# interface ethernet 0/0R1(config-if)# no ip address 172.16.12.1 255.255.255.0R1(config-if)# no ip address 172.16.31.1 255.255.255.0 secondaryR1(config-if)# no mpls ipR1(config-if)# interface ethernet 0/0.2R1(config-subif)# encapsulation dot1Q 2R1(config-subif)# ip address 172.16.31.1 255.255.255.0R1(config-subif)# interface ethernet 0/0.4R1(config-subif)# encapsulation dot1Q 4R1(config-subif)# ip address 172.16.12.1 255.255.255.0R1(config-subif)# mpls ip

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

    Ahora cuando R1 envíe paquetes a R2 les pondrá la etiqueta de la VLAN 4,mientras que si los envía a H1 les pondrá la etiqueta de la VLAN 2. (Fíjate quesolo hemos preparado para MPLS la subinterfaz que corresponde a lainterconexión entre los routers.)

    Ahora vamos a configurar el conmutador. Crearemos las VLANs 2, 3 y 4 yasignaremos los puertos de la siguiente manera:

    Puerto 1: trunkPuerto 2: VLAN 2Puerto 3: VLAN 3Puerto 4: trunk

    (Como la VLAN 4 la usan los routers y estos se conectan a puertos trunk a estaVLAN no es necesario asignarle ningún puerto.)

    Para configurar el conmutador nos conectaremos por consola mediante el cablede consola y en primer lugar comprobaremos que no tenga ya algunaconfiguración introducida que pudiera interferir con nuestra práctica, en cuyo casorestauraremos la configuración de fábrica. A continuación introduciremos laconfiguración siguiente:

  • PRÁCTICA: Configuración de MPLS en modo trama

    21

    #configure terminalEnter 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 larespuesta del comando ‘show interface Ethernet 0/0’. También puedes preguntarpor subinterfaz.

    Conecta ahora H0 (o un ordenador ajeno a la maqueta) al hub y analiza conWireshark el tráfico que discurre por él. Para comparar genera tráfico que vaya porla VLAN de MPLS (la 4) y que vaya por la 2.

    Si quisiéramos analizar el tráfico en el lado de R2 podríamos conectar otro hub asu enlace con el conmutador.

    También se podría configurar port mirroring en el conmutador para conseguir elmismo efecto que con los hubs.

  • PRÁCTICA: Configuración de MPLS en modo trama

    22

    ANEXO I: Terminología básica de MPLS:

    FEC (Forwarding Equivalence Class): conjunto de paquetes que entranen la red MPLS por una misma interfaz, que reciben la misma etiqueta y portanto circulan por un mismo trayecto. La FEC puede caracterizarse por elvalor de uno o varios de los campos de la cabecera IP.

    LSP (Label Switched Path): camino que siguen los paquetes quepertenecen a la misma FEC.

    LSR (Label Switching Router): router que puede encaminar paquetes enfunción del valor de la etiqueta MPLS

    LIB (Label Information Base): La tabla de etiquetas que manejan losrouters MPLS. Relaciona la pareja (interfaz de entrada - etiqueta deentrada) con (interfaz de salida - etiqueta de salida). En versiones de IOSantiguas, en lugar de Label se utilizaba Tag y de ahí, que hay algunoscomandos que utilizan “tag” en lugar de “label”.

    LDP (Label Distribution Protocol): protocolo estándar utilizado para laasignación de etiquetas MPLS. Es el más extendido, aunque no el único.

    FIB (Forwarding Information Base): es la tabla de rutas del routersimplificada, indicando para cada red de destino la interfaz que debeutilizarse y el router vecino al que ha de enviarse (‘Next Hop’). Esta tabla seactualiza automáticamente a petición de los protocolos de routing y existecuando esta CEF activado, aunque no se utilice MPLS.

    LFIB (Label Forwarding Information Base): es la tabla que indica loscambios que el router debe realizar en la etiqueta MPLS de los paquetes.

    PHP (Penultimate Hop Popping): es una forma de funcionar en la que elpenúltimo router del trayecto quita la etiqueta MPLS porque sabe que elsiguiente ya es el final del circuito y tiene la red de destino directamenteconectada. Permite reducir el consumo de CPU y mejorar el rendimiento delrouter, y es el modo de funcionamiento por defecto en los routers de CiscoSystems.