Práctica de MPLS
PRÁCTICA: Configuración de MPLS en modo trama REALIZADO POR: Lennin Tierra Alvaro Veintimilla Veintimilla
Objetivo El objet objetiv ivo o de la pres present ente e prác práctic tica a es famil familia iariz rizars arse e con la tecn tecnolo ología gía y los conceptos conceptos de MPLS (Multiprotocol (Multiprotocol Label Switcing!" así como su configuraci#n en una ma$ueta con routers %isco&
Para ello" se realizarán las siguientes actividades' •
• •
•
•
•
Montar una ma$ueta con varios routers )*+ (,MPLS capable-! con interfaces Eternet" Serie y Loopbac. %onfigurar routing /SP0 en la ma$ueta %onfigurar en los routers MPLS y el protocolo de distribuci#n de eti$uetas L1P 2erificar el comportamiento de MPLS en la red" así como la comprobaci#n de las tablas utilizadas por MPLS en su funcionamiento 3daptar el tama4o tama4o de Ma5imum Ma5imum 6ransmissio 6ransmission n 7nit (M67! (M67! para para ser compatible con los re$uisitos de funcionamiento de MPLS 3nalizar los pa$uetes pa$uetes MPLS MPLS intercambiados intercambiados por los routers routers
3un$ue los e$uipos e$uipos utilizados utilizados son son %isco" %isco" los conceptos conceptos introducid introducidos os 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 Eternet %uatro cables serie" dos 16E 2&89 maco y dos 1%E 2&89 embra %uatro cables de consola :S;8 %uatro routers %isco )*+ con al menos *) M< de 0las y => M< de :3M" * con una interfaz serie y otra Eternet" con ?/S con soporte de MPLS t 7n conmutador con capacidad de encapsulado >+&*@ (por ejemplo un catalyst A9+! 7n ub de cuatro puertos de *+ MbBs %uatro ordenadores para actuar de consola de los routers y conectarse en
* ?/S 2ersion *&8()! Telco Feature Set- General Deployment " :ELE3SE S/06C3:E (fc! Dc)++;telco;mz&*8;)& Dc)++;telco;mz&*8;)&bin bin 1
Práctica de MPLS
su red local" e$uipados con los programas minicom y Ciresar. Prerrequisitos •
• •
6ener un conocimiento básico de configuraci#n de los routers %isco" así como los comando comandos s de su siste sistema ma opera operativ tivo o ?/S" ?/S" para para lo cual cual se remite remite a las prácticas realizadas previamente en esta u otras asignaturas 6ener un conocimiento te#rico de MPLS Faberse leído completamente este gui#n
Introducción
En ocasiones MPLS se clasifica como una tecnología de la capa &9" por$ue realiza un encapsulado intermedio entre la capa de enlace (capa ! y la capa de red (capa 8!& En este encapsulado se introduce una eti$ueta de = bytes" $ue permite a los routers utilizar tGcnicas de conmutaci#n& El utilizar el eti$uetado por debajo de capa 8" permite funcionar independientemente del protocolo de capa 8 utilizado" de aí lo de Dmultiprotocol& Esta ar$uitectura de eti$uetado es fle5ible y permite anidar o apilar eti$uetas" es decir" introducir una trama MPLS dentro de otra& El objet objetivo ivo de MPLS MPLS es separ separar ar la parte parte de encami encaminam namien iento to de la parte parte de conmutaci#n en el reenvío de los pa$uetes" de forma $ue mientras la parte de encaminamiento es compleja y lenta (tiempos de convergencia" cálculo de rutas!" se realiza independientemente de la parte de conmutaci#n" $ue es rápida y simple& Los routers inicialmente calculan las rutas a los destinos usando protocolos de routing ?P (/SP0 por ejemplo! y luego intercambiando eti$uetas establecen los circuito circuitos s virtuale virtuales s entre entre cual$uie cual$uierr origen origen y cual$u cual$uier ier destino destino para empezar empezar a conmutar los pa$uetes& La eti$ueta a4adida al pa$uete se antepone a la cabecera ?P en el router frontera de ingreso a la red MPLS" y está asociada al circuito virtual $ue seguirá acia su destino& La eti$ueta s#lo tiene significado local en el enlace entre ese router y el siguiente" y va cambiando en cada enlace por el $ue pasa el pa$uete acia su destino& El pa$uete es conmutado dentro de la red (a travGs de los routers MPLS internos! cambiando en cada salto la eti$ueta y finalmente sale de la red MPLS en el router frontera de egreso" $ue se encarga de $uitarle la eti$ueta& Para $ue MPLS mejore el rendimiento de un router necesita soporte por parte del ardware& En los routers de cisco ese soporte se consigue activando un modo de funcionamiento llamado %E0 (%isco E5press 0orwarding!& El uso de %E0 es un prerre$uisito para $ue el router pueda soportar MPLS" sin embargo un router puede utilizar %E0 sin tener abilitado MPLS& 6odo router construye
a
partir de la los diversos
2
informaci#n obtenida
por
Práctica de MPLS
protocolos de routing y por las rutas estáticas $ue tiene configuradas" la tabla de rutas llamada tambiGn :?< (:outing ?nformation 6able!& La :?< contiene una entrada para cada posible red de destino y una direcci#n de encaminamiento acia dica red& 1ica direcci#n de encaminamiento puede corresponder a un router vecino" en cuyo caso nuestro router tendrá esa red directamente conectada y ya sabrá por $ue interfaz acceder a Gl" o puede corresponder a un router remoto" en cuyo caso será necesaria una nueva bHs$ueda en la :?< para localizar la ruta acia dico router remoto& 1ependiendo de la complejidad de la :?< esta bHs$ueda recursiva puede tener $ue repetirse varias veces" aciendo el proceso de resoluci#n de rutas lento y costoso& %uando se activa %E0 el router construye" a partir de la informaci#n de la tabla :?<" otra tabla llamada 0?< (0orwarding ?nformation
Práctica de MPLS
dos planos" el plano de control (utilizado por los protocolos de routing ?P y los protocolos de gesti#n de MPLS! y el plano de datos donde se realiza la conmutaci#n de los pa$uetes& 1e acuerdo con ese modelo la :?< y la L?< se encuentran en el plano de control" ya $ue son tablas controladas por los protocolos de control" en nuestro caso /SP0 para la :?< y L1P para la L?<& En cambio la 0?< y la L0?< están en el plano de datos" pues son tablas utilizadas por el router para la conmutaci#n de pa$uetes ?P # MPLS& La siguiente figura muestra de forma es$uemática la relaci#n entre las cuatro tablas mencionadas (:?<" 0?<" L?< y L0?
1e forma simplificada en la figura * y se e5plica el funcionamiento del MPLS utilizando las tablas L?<" L0?< y 0?<&
4
Práctica de MPLS
Figura 1: La red J (networ. J! está directamente conectada al router 1" $ue la anuncia& ?nstantes más tarde la red J aparece en la tabla de rutas del router <" $ue a acordado con el router 3 utilizar para ella la eti$ueta 9" decisi#n $ue anuncia a sus routers vecinos 3" E y % por L1P& La decisi#n $ueda registrada en la tabla L?< del router <& 3 partir de ese momento cuando el router 3 tenga $ue enviar un pa$uete a la red J" lo encapsulará en una trama MPLS con eti$ueta 9" dado $ue < sabe $uG acer con dica eti$ueta&
Figura 2' ?ndependientemente del proceso anterior el router % a acordado con el router < $ue el tráfico enviado acia la red J lo marcarán con la eti$ueta =K en el enlace $ue les une& ?gual $ue antes izo < aora % anuncia esta decisi#n a todos sus vecinos (<" E y 1!& < incorpora esta informaci#n a su L?<" 0?< y L0?<" dando el resultado $ue aparece en la figura& 3ora cuando 3 le envía un pa$uete con eti$ueta 9 < sabe $ue tiene $ue enviar dico pa$uete por la interfaz $ue le conecta con %" cambiando la eti$ueta a =K&
La eti$ueta MPLS es un nHmero entero de + bits& Las eti$uetas de + a *9 están reservadas" por lo $ue el rango utilizable es de *) a *&+=>&9K9 (+;*!& En los routers %isco por defecto L1P empieza a asignar valores de forma consecutiva empezando por abajo" por lo $ue los valores de eti$uetas $ue veremos empezarán por el *) en adelante&
5
Práctica de MPLS
Esquema de la red MPLS a imlementar
En la presenta ma$ueta ay = routers $ue forman la red MPLS como muestra la figura 8& %ada router tiene una cone5i#n Eternet y una Serie& Las cone5iones :+;:* y :; :8 se acen utilizando las líneas serie& Los routers :* y : se conectan entre sí utilizando su interfaz Eternet" $ue al mismo tiempo los conecta con sus respectivos osts& Para dar cierta independencia emos configurado en esta Eternet tres redes ?P" una para conectar :* con F*" otra para : con F y una tercera para :* con :& Por comodidad utilizaremos en todas estas interfaces máscaras de = bits" aun$ue en las líneas serie no arían falta tantas direcciones& !onsole
!onsole
L" 1#2$1%$"$1&'2
L" 1#2$1%$'$1&'2
E "&"
E "&"
1#2$1%$'"$1&2(
1#2$1%$''$1&2( )"
*" 1#2$1%$'"$2&2( )tr: 1#2$1%$'"$1
)'
S "&" 1#2$1%$2'$'&2(
S "&"
1#2$1%$22$'&2(
*' 1#2$1%$''$2&2( )tr: 1#2$1%$''$1
MPLS E "&" 1#2$1%$12$1&2( 1#2$1%$'1$1&2(
S "&" 1#2$1%$22$2&2( L" 1#2$1%$1$1&'2
E "&" 1#2$1%$12$2&2( 1#2$1%$'2$1&2(
)1
S "&" 1#2$1%$2'$2&2( )2
!onsole
L" 1#2$1%$2$1&'2
!onsole
*1 1#2$1%$'1$2&2( )tr: 1#2$1%$'1$1
*2
1#2$1%$'2$2&2( )tr: 1#2$1%$'2$1
)S+2'2 1",-SE+. /$'0
Figura ': Es$uema de cone5i#n de los routers con detalle del direccionamiento ?P&
6
Práctica de MPLS
Los nombres de interfaces $ue aparecen en la figura 8 son las abreviaturas mínimas $ue pueden utilizarse para configurar los routers" es decir en vez de Eternet +B+" Serial +B+ y Loopbac. + podemos escribir E+B+" S+B+ y L+" respectivamente& %omo as visto en el es$uema anterior" en esta práctica estamos utilizando un nuevo tipo de interfaz" la Loopbac. (L+!& Se trata de una interfaz virtual no asociada a ninguna interfaz física y $ue no conecta con ninguna red& 3 pesar de su nombre y a diferencia de lo $ue ocurre en los osts las interfaces loopbac. de los routers no están pensadas para probar localmente el buen estado del software de comunicaciones" y de eco si intentamos asignarle cual$uier direcci#n de la red *K&+&+&+B> el router no nos deja y da un mensaje de error& El objetivo de esta interfaz es servir como identificador del router" la direcci#n ?P $ue le asignamos a ella actHa como una especie de ,direcci#n can#nica, $ue identifica al router ante cual$uier protocolo $ue lo re$uiera" por ejemplo /SP0 o L1P& 3l no estar vinculada a ninguna interfaz física la interfaz loopbac. esta operativa siempre $ue el router está encendido& Si no e5istiera la interfaz loopbac. /SP0 y L1P utilizarían para identificar al router la direcci#n ?P más alta" $ue en nuestro caso sería la de la interfaz Eternet en ese caso si se desencufara el cable Eternet la interfaz caería y el router tendría $ue cambiar de identificador& En nuestra ma$ueta esto no sería muy importante" ya $ue si cae la interfaz Eternet de un router poco podemos acer ya con Gl" pero en un router con más interfaces resulta muy Htil $ue el identificador no dependa de una interfaz física concreta& Puesto $ue la interfaz loopbac. no nos conecta con ninguna red y solo se utiliza como identificador lo normal suele ser configurarla con una máscara de 8 bits (ruta ost! dejando claro $ue esa interfaz está aislada& Se pueden configurar mHltiples interfaces loopbac. (loopbac.+" loopbac.*" etc&! pero lo normal es configurar solo una& 0íjate por Hltimo $ue en la figura 8 la nube MPLS comprende solo las interfaces $ue interconectan los routers" $uedando fuera las cuatro loopbac. y las Eternet de :+ y :=& Estas interfaces funcionarán sn eti$ueta MPLS" por lo $ue en en esos casos los routers actuarán como routers frontera& Paso ": !ableado e inicialiación de los routers
%ablea la ma$ueta tal como se indica en la figura 8& e momento no conectes la inter3a serie en )" 4 en )'$ Seguidamente conGctate por consola a los diferentes e$uipos 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>enable Router#configure terminal Router(config#hostname R1 7
Práctica de MPLS
R!(config#no ip domain-lookup R!(config#exit
El comando no ip domain-lookup evita la consulta al 1IS" lo cual es muy recomendable ya $ue si no lo ponemos cuando nos e$uivocamos al teclear un comando se interpreta como un telnet a ese nombre y tarda un rato en abortar por timeout la consulta al 1IS& Si el e$uipo no muestra la pregunta inicial es por$ue tiene grabada alguna configuraci#n" lo cual puede interferir en nuestro trabajo& En ese caso borra la configuraci#n con los comandos D erase startup configuration y Dreload & >enable
#erase star #reload
3l reiniciar el router ya debe aparecer la pregunta' Would you like to enter the initial configuration dialog? [yes/no]: no
%omprueba 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 ,Eternet+B+- y una ,Serial+B+-& -5ora s6 conecta 4a la inter3a serie en )" 4 en )'$ Paso 1: !on3iguración del direccionamiento IP
3 continuaci#n vamos a configurar las interfaces" tanto las físicas como las virtuales" con las direcciones $ue les corresponden y las abilitaremos con el comando “no shutdown”. En las interfaces serie vamos a a4adir además el comando Dclock rate& Por simplificar pondremos la se4al de reloj en ambos lados de la línea" para no tener $ue preocuparnos de como emos puesto el cable& Esta es la configuraci#n necesaria para cada router' R"(config# interface loo$ack " R"(config%if# i address !&'!)"! '**'**'**'** R"(config%if# no shutdown R"(config%if# interface ethernet "/" R"(config%if# i address !&'!)+"! '**'**'**" R"(config%if# no shutdown R"(config%if# interface serial "/" R"(config%if# i address !&'!)''+ '**'**'**" R"(config%if# clock rate '""""""
8
Práctica de MPLS
R"(config%if# no shutdown R!(config# interface loo$ack " R!(config%if# i address !&'!)!! '**'**'**'** R!(config%if# no shutdown R!(config%if# interface ethernet "/" R!(config%if# i address !&'!)!'! '**'**'**" R!(config%if# i address !&'!)+!! '**'**'**" secondary R!(config%if# no shutdown R!(config%if# interface serial "/" R!(config%if# i address !&'!)''' '**'**'**" R!(config%if# clock rate '"""""" R!(config%if# no shutdown R'(config# interface loo$ack " R'(config%if# i address !&'!)'! '**'**'**'** R'(config%if# no shutdown R'(config%if# interface ethernet "/" R'(config%if# i address !&'!)!'' '**'**'**" R'(config%if# i address !&'!)+'! '**'**'**" secondary R'(config%if# no shutdown R'(config%if# interface serial "/" R'(config%if# i address !&'!)'+' '**'**'**" R'(config%if# clock rate '"""""" R'(config%if# no shutdown R+(config# interface loo$ack " R+(config%if# i address !&'!)+! '**'**'**'** R+(config%if# no shutdown R+(config%if# interface ethernet "/" R+(config%if# i address !&'!)++! '**'**'**" R+(config%if# no shutdown R+(config%if# interface serial "/" R+(config%if# i address !&'!)'++ '**'**'**" R+(config%if# clock rate '"""""" R+(config%if# no shutdown
%onfigura aora las direcciones ?P" máscara y router por defecto en los osts" utilizando los comandos ifconfig y route $ue ya conoces" de la siguiente manera'
*ost
IP
M7scara
)outer or de3ecto
F+
*K&*)&8+&
99&99&99&+
*K&*)&8+&*
F*
*K&*)&8*&
99&99&99&+
*K&*)&8*&*
9
Práctica de MPLS
F
*K&*)&8&
99&99&99&+
*K&*)&8&*
F8
*K&*)&88&
99&99&99&+
*K&*)&88&*
Por ejemplo para F8 sería'
3ora desactiva el cortafuegos de Linu5'
Paso 2: !on3igura OSPF en todos los routers
%onfigura /SP0 en los = routers de la ma$ueta en el área +& Por simplificar anunciaremos toda la red *K&*)&+&+B*)" sabiendo $ue así cada router anunciará solamente las subredes $ue tiene directamente conectadas& Los comandos" $ue son iguales en todos los routers" son los siguientes' R!(config# router ospf 1 R!(config%router# network 172.16.. ..2!!.2!! area
%on ello podrás observar $ue se establecen las adyacencias y se anuncian las redes& 8Podr6a 3uncionar MPLS si no 5ubiera conectividad IP9 o uede 3uncionar orque rimero debe 5aber ad4acencia entre toda la red$ Paso ': !omrobación de la conectividad IP 4 del 3uncionamiento de !EF ;!isco E<ress For=arding>
7tilizando el comando D show ip route podrás observar la tabla de rutas (tabla :?
!&'!)""/!) is -aria$ly su$netted. !! su$nets. ' masks !&'!)'+"/'0 is directly connected. 1erial"/"
10
Práctica de MPLS
!&'!)!'"/'0 is directly connected. 2thernet"/" !&'!)+'"/'0 is directly connected. 2thernet"/" 3!&'!)!!/+' [!!"/!!] -ia !&'!)!'!. "":"':+*. 2thernet"/" 3!&'!)"!/+' [!!"/!!] -ia !&'!)!'!. "":"':+*. 2thernet"/" 3!&'!)+""/'0 [!!"/!!] -ia !&'!)!'!. "":"':+*. 2thernet"/" 3!&'!)+!"/'0 [!!"/!!] -ia !&'!)!'!. "":"':+*. 2thernet"/" 3!&'!)+!/+' [!!"/)*] -ia !&'!)'++. "":"':+*. 1erial"/" 3!&'!)++!/'0 [!!"/)*] -ia !&'!)'++. "":"':+*. 1erial"/" !&'!)'"/+' is directly connected. 4oo$ack"
2erás $ue las redes directamente conectadas llevan delante una D C” y las aprendidas por /SP0 una D ” & La informaci#n entre corcetes es !distancia administrati"a# m$trica%# en el caso de /SP0 la distancia administrativa es siempre **+ y la mGtrica se calcula como la suma de los costes de los enlaces asta el destino" coste $ue es inversamente proporcional a la velocidad de la interfaz (los valores $ue observes en el laboratorio seguramente serán diferentes de los $ue aparecen en este ejemplo!& %ada ruta además tiene asocia da el siguiente salto" la antigNedad y la interfaz de salida& -tención: a ?ltima 5ora se 5an realiado imortantes modi3icaciones en la maqueta de esta r7ctica sin modi3icar las caturas de comandos que aarecen en el guión@ or lo que en general Astas di3erir7n de las que tu obtengas en el laboratorio$
Faz ping" ping O: y traceroute desde tu ost a los otros tres y a las interfaces loopbac. de los routers para comprobar la conectividad ?P& Ping c1-pc2
Ping c1-pc"
11
Práctica de MPLS
Ping c1-pc
Ping a los loobacB
Prueba tambiGn a utilizar el comando Dtraceroute desde tu router al router más alejado de ti (por ejemplo" desde : acia :+!& /bserva el resultado&
12
Práctica de MPLS
%omo emos comentado en la parte introductoria los routers %isco emplean un mecanismo conocido como %E0 (%isco E5press 0orwarding! para acelerar el proceso de conmutaci#n de pa$uetes" construyendo la tabla 0?< (0orwarding ?nformation base!& MPLS necesita $ue %E0 estG activado" ya $ue utiliza la tabla 0?< para construir la tabla L0?< $ue utiliza para la conmutaci#n de sus pa$uetes& %E0 puede activarse o desactivarse con los comandos Ci ce3 o Dno i ce3 " respectivamente en modo configuraci#n global& Por defecto %E0 está activado" para comprobarlo podemos utilizar el comando D s5o= i ce3D $ue nos devuelve la tabla 0?< del router' R1#show ip cef 5refi6 """"/" """"/+' !&'!)!"/+' !&'!)!"/+' !&'!)!!/+' !&'!)!'**/+'
7e6t 8o dro recei-e attached recei-e recei-e recei-e
9nterface 7ull" (default route handler entry
172.16.2.1$"2
172.16.12.2
%thernet$
!&'!)+!/+' !&'!)!'"/'0 !&'!)!'"/+' !&'!)!'!/+' !&'!)!''/+' !&'!)!''**/+' !&'!)'+"/'0 ''0"""/0 ''0"""/'0 '**'**'**'**/+'
!&'!)!'' attached recei-e recei-e !&'!)!'' recei-e !&'!)!'' dro recei-e recei-e
2thernet"/" 2thernet"/"
4oo$ack"
2thernet"/" 2thernet"/"
Si %E0 estuviera desactivado el comando no abría devuelto ninguna informaci#n& La tabla 0?< nos indica cual es el siguiente salto acia cada destino posible& Por ejemplo la tabla anterior nos dice $ue para ir desde :* acia *K&*)&&*B8 (direcci#n loopbac. de :! debe utilizarse la direcci#n *K&*)&*& (Ie5t Fop!" $ue corresponde a la interfaz Eternet +B+ de :" $ue a su vez está accesible a travGs de la interfaz Eternet +B+ de :*& Paso (: *abilita MPLS en las inter3aces
3l configurar MPLS en un router ay $ue indicar el protocolo $ue $ueremos utilizar para la configuraci#n de eti$uetas& Si no se indica ninguno el sistema asume uno por defecto" $ue depende de la versi#n de ?/S utilizada" en nuestro caso es uno propietario de %isco" por lo $ue necesariamente debemos especificar el uso de
13
Práctica de MPLS
L1P& Es buena práctica acerlo siempre para estar seguros y evitar sorpresas& label protocol ldp& en Para configurar L1P utilizaremos el comando mpls , modo configuraci#n global& 3demás debemos abilitar MPLS mediante el ip- en todas las interfaces $ue están dentro de la nube MPLS" es comando mpls , decir en todas las serie y las eternet de :* y :& Los comandos a utilizar son pues los siguientes' R!(config# mpls label protocol ldp R!(config%if# interface serial$ R!(config%if# mpls ip R'(config# mpls label protocol ldp R'(config# interface ethernet$ R'(config%if# mpls ip R'(config%if# interface serial$ R'(config%if# mpls ip R+(config# mpls label protocol ldp R+(config# interface ethernet$ R+(config%if# mpls ip R+(config%if# interface serial$ R+(config%if# mpls ip R0(config# mpls label protocol ldp R0(config%if# interface serial$ R0(config%if# mpls ip
%uando configuras MPLS en los dos e5tremos de una cone5i#n" aparecen mensajes por consola en ambos routers indicando $ue L1P a creado una nueva vecindad parecidos a este' ;ar
! "":0':+0<<): =4D5%*%7R8: 4D5 7eigh$or !&'!)!!:" is @5
Paso 0: /eri3ica la con3iguración de MPLS
Para comprobar el funcionamiento de MPLS vamos a utilizar el comando D s5o= mls& Para ver de $ue opciones dispones utiliza el comando Dsow mpls R1#show mpls ' atm%ld
AB; 4D5 5rotocol information
forwarding-table interfaces
(how the )abel *orwarding +nformation ,ase )*+, /er-interface 0/)( forwarding information
i la$el
;541 95 information 4a$el information
ldp
)abel istribution /rotocol information
14
Práctica de MPLS
traffic%eng
Braffic engineering information
En primer lugar para ver rápidamente las interfaces $ue están funcionando con MPLS ejecuta D s5o= mls inter3aces ' R2# show mpls interfaces 9nterface 95 2thernet"/" Ces (td 1erial"/" Ces (td
Bunnel 7o 7o
3erational Ces Ces
/tros comandos interesantes son' s5o= mls ld discover4 para observar informaci#n de L1P" como el identificativo del router MPLS y los vecinos& R2#show mpls ldp discoery
15
Práctica de MPLS
s5o= mls ld neig5bor para detecci#n de las adyacencias de L1P y el estado de las cone5iones establecidas&
R2#show mpls ldp nei
En MPLS cada router utiliza como identificador la ?P más alta de sus interfaces loopbac. (podría tener varias!" y si no dispone de ninguna interfaz loopbac." la más alta de sus interfaces físicas& Esto ocurre tambiGn con otros protocolos como /SP0"
16
Práctica de MPLS
Paso %: Estudio de las tablas LI, 4 LFI,
%on la configuraci#n introducida en el paso anterior" todos los routers actHan como Label Switc :outers (LS:s! y ejecutan L1P& %ada router crea una 0E% (0orwarding E$uivalence %lass! para cada entrada de la tabla 0?<" a cada 0E% le asigna una eti$ueta MPLS y registra la eti$ueta en la tabla L?<& Estas etiquetas ueden variar cada ve que inicialiamos el router & Mediante L1P cada router distribuye sus eti$uetas a sus vecinos para $ue las utilicen cuando le mandan pa$uetes& 7na vez las eti$uetas se an distribuido" la conmutaci#n se realiza utilizando la tabla L0?< $ue almacena la eti$ueta asignada por el router vecino" la interfaz por donde enviar el pa$uete y la acci#n a realizar con la eti$ueta a4adida (ponerla" cambiarla o $uitarla!& Para visualizar los datos de la L?< se utiliza el comando D s5o= mls ld bindings& Las asociaciones de eti$uetas con las redes de destino solo tienen significado local al router" es decir" las eti$uetas asignadas por un router no tienen en principio relaci#n con las asignadas por el siguiente router al mismo destino& 7n ejemplo sería el siguiente' R2#show mpls ldp bindings
La eti$ueta Dimp;null indica $ue el pa$uete será renviado sin eti$ueta MPLS& Esto ocurre normalmente en el router de destino" es decir el $ue tiene la red de destino directamente conectada" $ue es el $ue debería $uitar la eti$ueta MPLS del pa$uete" pero en el caso de los routers cisco la eti$ueta la $uita ya el router anterior" ya $ue ve $ue el siguiente router tiene directamente conectada la red de destino y en ese caso resulta más eficiente $uitar de forma anticipada la eti$ueta MPLS& Este modo de funcionamiento se conoce como P*P ;Penultimate *o
17
Práctica de MPLS
Poing>& 1e este modo se evita una consulta en la tabla L0?< del router de destino" pues ya sabemos $ue tiene esa red directamente conectada&
El parámetro ,rev- (revisi#n! $ue aparece en la línea ,lib entry- es para control interno de L1P& Se utiliza para identificar los mensajes L1P recibidos" de forma $ue cuando el router recibe un pa$uete L1P puede saber si realmente es nuevo o si es uno viejo $ue a llegado repetido por algun motivo& En el caso anterior podemos ver $ue por ejemplo : asocia localmente para la interfaz loopbac. de :8 (*K&*)&8&*B8! la eti$ueta *K" y sabe $ue :* le a asociado casualmente la misma eti$ueta& En cuanto a la red *K&*)&*&+B=" $ue es la Eternet $ue le conecta con :*" localmente no le asigna eti$ueta por ser una red directamente conectada& 3demás por L1P a sabido $ue :* tampoco le a asignado eti$ueta (por el mismo motivo! y $ue :8 le a asignado la eti$ueta *)& Para consultar la tabla 0?< utilizaremos el comando D s5o= mls 3or=arding ld bindings' R1#show mpls forwarding-table 4ocal tag !E !& !)
3utgoing tag or @ntagged !& 5o tag
5refi6 or Bunnel 9d !&'!)'!/+' !&'!)+!/+' !&'!)'+"/'0
ytes tag switched " " "
3utgoing interface 2t"/" 2t"/" 2t"/"
ytes tag switched +E0 "
3utgoing interface 1e"/" 2t"/"
ytes tag switched " " "
3utgoing interface 1e"/" 1e"/" 1e"/"
7e6t 8o !&'!)!'' !&'!)!'' !&'!)!''
R2#sh mpls forwarding-table 4ocal tag !& !)
3utgoing tag or @ntagged @ntagged
5refi6 or Bunnel 9d !&'!)+!/+' !&'!)!!/+'
7e6t 8o oint'oint !&'!)!'!
R"#show mpls forwarding-table 4ocal tag !E !) !&
3utgoing tag or @ntagged 5o tag !)
5refi6 or Bunnel 9d !&'!)'!/+' !&'!)!'"/'0 !&'!)!!/+'
7e6t 8o oint'oint oint'oint oint'oint
En esta tabla las entradas $ue ponen ,7ntagged- en el ,/utgoing tagcorresponden a interface s$ue se encuentran fuera de la nube MPLS las $ue ponen ,Pop tag- son los casos en $ue el router a de $uitar la eti$ueta correspondiente y pasar el pa$uete ?P tal cual&
%on la informaci#n obtenida anteriormente" podríamos dise4ar la L?< en cada uno de los routers tal como se detalla en la figura 18
Práctica de MPLS
En :*
En :
19
Práctica de MPLS
En :8
En :=
20
Práctica de MPLS
- la vista de los resultados mostrados en las tablas LI, 4 LFI,@ si realiamos un ing desde )1 con origen en 1#2$1%$1$1 4 destino a 1#2$1%$'$1 8quA etiquetas se utilian9 La eti$ueta *> para el local y *) para el outgoing 8uA signi3icado tiene la entrada Clocal bindingD9
@ue la red de donde proviene es local y es la eti$ueta" en cada router no del siguiente
8uA signi3icado tiene la entrada Cremote bindingD9 En el router )2@ 8or quA 5a4 m7s de una asociación remota ara cada red9 Q ue la eti$ueta proviene de una red" $ue no esta en el mismo router&
8uA signi3ica la etiqueta Cimlicit LLD9
$ue el pa$uete será reenviado sin eti$ueta MPLs Prueba aora a ejecutar el ping O: y el traceroute desde tu ost a los demás osts" y el traceroute desde tu router al router mas alejado& %ompara el resultado con el obtenido antes de activar MPLS' 8uA di3erencias observas 4 or quA9 En el primer caso se alcanza la ruta solo por la direcci#n ?P y en el segundo se observa la eti$ueta MPLS $ue toma cada ruta
Paso #: Modi3ica el tamaGo de M. ara MPLS
7na de las características de MPLS es $ue permite anidar eti$uetas MPLS en funci#n de la aplicaci#n y por tanto puede aumentar el nHmero de cabeceras y para ello ay $ue informar a las interfaces físicas de dicas eventualidades para evitar el descarte de tramas $ue superen la M67& La cabecera MPLS tiene = bytes& La M67 por defecto siempre se toma de la propia interfaz" $ue en el caso de una Eternet es *9++ bytes& Para comprobarlo" utilizamos el comando D s5o= mls inter3aces interface-type interface-num&er detailD en las interfaces $ue une los routers :* y :& R2#show mpls interface ethernet $ detail
21
Práctica de MPLS
9nterface 2thernet"/": 95 la$eling ena$led (ld 415 Bunnel la$eling not ena$led 5 tagging not ena$led Bagging oerational Fast 1witching ectors: 95 to ;541 Fast 1witching ector ;541 Bur$o ector ;B@ G !*""
En esta práctica modificaremos la M67 de la cone5i#n MPLS Eternet entre :* y : para soportar asta cabeceras de MPLS" de forma $ue la nueva M67 será *9+> bytes& Para modificar la M67 para MPLS utiliza el comando D mls mtu” & 2erifica el cambio utilizando el comando D s5o= mls inter3aces interface detail D& R'(config# interface ethernet$ R'(config%if# mpls mtu 1!3
R'# show mpls interface ethernet $ detail 9nterface 2thernet"/": 95 la$eling ena$led (ld: 9nterface config 415 Bunnel la$eling not ena$led 5 tagging not ena$led Bagging oerational Fast 1witching ectors: 95 to ;541 Fast 1witching ector ;541 Bur$o ector ;B@ G !*"E
3un$ue emos aumentado el tama4o de M67 para el tráfico MPLS de la interfaz Eternet si ejecutas el comando Dsow interface Eternet +B+ verás $ue el tama4o de la M67 en la interfaz física sigue siendo de *9++ bytes& ?ntenta aora averiguar como podrías cambiar el tama4o de esta M67 e intGntalo& R%uál es el resultado Paso H: -n7lisis de tramas MPLS
7na vez tenemos la ma$ueta funcionando vamos a utilizar el Ciresar. en los osts F y F8 para analizar los pa$uetes MPLS $ue pasan por el ub& 1ise4a en primer lugar un filtro de captura $ue te permita coger solo ese tráfico" no el tráfico de los osts& 7na vez lo tengas compara los resultados obtenidos" en particular la estructura de la eti$ueta MPLS" con lo $ue se a visto en teoría& 3naliza y comenta los valores de las eti$uetas $ue aparecen en relaci#n con los resultados obtenidos en la consola de los routers& 3naliza tambiGn el valor del 66L $ue aparecen en la eti$ueta MPS y en la cabecera ?P&
22
Práctica de MPLS
3ora $uita el filtro anterior y pon uno para capturar Hnicamente el tráfico ?%MP& Lanza un ping de F a F8 y otro de F* a F=& R@uG diferencia ay entre los dos ping Rvan todos los pa$uetes encapsulados en MPLS En caso negativo R%#mo saben los routers $ue pa$uetes van encapsulados y cuales no Prueba aora con el comando ping a enviar pa$uetes ?P del tama4o má5imo (*9++ bytes! de forma $ue al pasar por la Eternet $ue une :* con : llevando la cabecera MPLS superen el tama4o má5imo& 3naliza esos pa$uetes con Ciresar. y comenta los resultados en relaci#n con tu anterior intetno de aumentar la M67 de la interfaz física& E5plica las conclusiones obtenidas& Prueba a acer ping de F* a F8" o de F a F+& %aptura el ?%MP Eco :e$uest y el ?%MP Eco :eply" analiza" compara y comenta los resultados obtenidos& Paso : !on3iguración de subinter3aces con etiquetas H"2$1 ;/L-s>
%omo as podido observar en la ma$ueta $ue emos montado las interfaces Eternet de :* y : cumplen una doble funci#n" por un lado sirven para interconectar los routers entre sí y por otro para conectarlos con sus respectivos osts& Esto significa $ue por la misma interfaz estos routers reciben y envían pa$uetes con y sin eti$uetas MPLS& 3demás" no conseguimos una separaci#n completa del tráfico de las diferentes redes" por tanto no se trata de una situaci#n ideal& Sería más conveniente aber utilizado interfaces físicas diferentes y aber configurado MPLS Hnicamente en la $ue interconectara los dos routers& Sin embargo" como solo disponemos de una interfaz Eternet por router esto no a sido posible& 3 continuaci#n" para apro5imarnos a esa ,soluci#n ideal- de las dos interfaces vamos a crear dos subinterfaces sobre la interfaz Eternet" configurando en ellas eti$uetado >+&*@ (2L3Is!& %onectando entonces un conmutador adecuadamente configurado podremos separar el tráfico de los osts del tráfico de la red MPLS& 2amos a utilizar para ello un catalyst A9+& 7tilizaremos la 2L3I para el tráfico :*;F*" la 2L3I 8 para el :;F y la 2L3I = para el tráfico MPLS" es decir el :*;:& El es$uema de la cone5i#n es el $ue aparece en la figura =& El ub $ue aparece entre :* y el conmutador nos permitirá ,usmear- el tráfico $ue circula entre ambos e$uipos" pudiendo analizar con el Ciresar. las tramas >+&*@" tanto la de MPLS como las de :*;F*" $ue no llevan dica eti$ueta& Las tramas :;F no podremos verlas pues no llegarán al ub&
23
Práctica de MPLS
!onsole
!onsole
L" 1#2$1%$"$1&'2
L" 1#2$1%$'$1&'2
E "&"
E "&"
1#2$1%$'"$1&2(
1#2$1%$''$1&2( )"
*" 1#2$1%$'"$2&2( )tr: 1#2$1%$'"$1
)'
S "&" 1#2$1%$2'$'&2(
S "&"
1#2$1%$22$'&2(
*' 1#2$1%$''$2&2( )tr: 1#2$1%$''$1
MPLS S "&" 1#2$1%$22$2&2( L" 1#2$1%$1$1&'2
E "&"$( 1#2$1%$12$1&2( E "&"$2 1#2$1%$'1$1&2( 1
2 '(
E "&"$( 1#2$1%$12$2&2( E "&"$' 1#2$1%$'2$1&2(
)1
S "&" 1#2$1%$2'$2&2( )2
L" 1#2$1%$2$1&'2
!onsole
!onsole
*1 1#2$1%$'1$2&2( )tr: 1#2$1%$'1$1
*2
1#2$1%$'2$2&2( )tr: 1#2$1%$'2$1
)S+2'2 1",-SE+. /$'0
Figura (: Es$uema de cone5i#n de los routers con eti$uetado >+&*@& 24
Práctica de MPLS
Lo Hnico $ue tenemos $ue modificar en los routers es la configuraci#n de las interfaces Eternet de :* y :& 1icas interfaces se an de desdoblar en dos subinterfaces cada una& Es buena práctica" aun$ue no necesario" asignar a las subinterfaces el mismo nHmero $ue el de la 2L3I $ue les corresponde& Para configurar las subinterfaces debes introducir en :* y : los siguientes comandos' R!(config# interface ethernet "/" R!(config%if# no i address !&'!)!'! '**'**'**" R!(config%if# no i address !&'!)+!! '**'**'**" secondary R!(config%if# no mls i R!(config%if# interface ethernet "/"' R!(config%if# i address !&'!)+!! '**'**'**" R!(config%if# encasulation dot!H ' R!(config%if# interface ethernet "/"0 R!(config%if# i address !&'!)!'! '**'**'**" R!(config%if# mls i R!(config%if# encasulation dot!H 0 R'(config# interface ethernet "/" R'(config%if# no i address !&'!)!'' '**'**'**" R'(config%if# no i address !&'!)+'! '**'**'**" secondary R'(config%if# no mls i R'(config%if# interface ethernet "/"+ R'(config%if# i address !&'!)+'! '**'**'**" R'(config%if# encasulation dot!H + R'(config%if# interface ethernet "/"0 R'(config%if# i address !&'!)!'' '**'**'**" R!(config%if# mls i R'(config%if# encasulation dot!H 0
3ora cuando :* envíe pa$uetes a : les pondrá la eti$ueta de la 2L3I =" mientras $ue si los envía a F* les pondrá la eti$ueta de la 2L3I & (0íjate $ue solo emos preparado para MPLS la subinterfaz $ue corresponde a la intercone5i#n entre los routers&! 3ora vamos a configurar el conmutador& %rearemos las 2L3Is " 8 y = y asignaremos los puertos de la siguiente manera' Puerto *' trun. Puerto ' 2L3I Puerto 8' 2L3I 8 Puerto =' trun. (%omo la 2L3I = la usan los routers y estos se conectan a puertos trun. a esta
25
Práctica de MPLS
2L3I no es necesario asignarle ningHn puerto&! Para configurar el conmutador nos conectaremos por consola mediante el programa minicom y en primer lugar comprobaremos $ue no tenga ya alguna configuraci#n introducida $ue pudiera interferir con nuestra práctica" en cuyo caso restauraremos la configuraci#n de fábrica& 3 continuaci#n introduciremos la configuraci#n siguiente' #configure terminal 2nter configuration commands. one er line 2nd with 7B4/I (config#lan 2 (config%-lan#name red 41 (config%-lan#lan " (config% -lan#name red 42 (config% -lan#lan (config%-lan#name red R1-R2 (config%-lan#i fa$1 (config%if# switchport mode trunk (config%if#i fa$2 (config%if# switchport access lan 2 (config%if#i fa$" (config%if# switchport access lan " (config%if#i fa$ (config%if# switchport mode trunk (config%if#exit (config#5R)$ (config#5R)$
3ora prueba si ay conectividad entre :*;: y entre :*;F* y :;F& /bserva la respuesta del comando ,sow interface Eternet +B+-& 6ambiGn puedes preguntar por subinterfaz&
26
Práctica de MPLS
-EJO I: .erminolog6a b7sica de MPLS: •
•
•
•
•
•
•
•
FE! ;For=arding Equivalence !lass>: conjunto de pa$uetes $ue entran en la red MPLS por una misma interfaz" $ue reciben la misma eti$ueta y por tanto circulan por un mismo trayecto& La 0E% puede caracterizarse por el valor de uno o varios de los campos de la cabecera ?P& LSP ;Label S=itc5ed Pat5>: camino $ue siguen los pa$uetes $ue pertenecen a la misma 0E%& LS) ;Label S=itc5ing )outer>: router $ue puede encaminar pa$uetes en funci#n del valor de la eti$ueta MPLS LI, ;Label In3ormation ,ase>: La tabla de eti$uetas $ue manejan los routers MPLS& :elaciona la pareja (interfaz de entrada ; eti$ueta de entrada! con (interfaz de salida ; eti$ueta de salida!& En versiones de ?/S antiguas" en lugar de Label se utilizaba 6ag y de aí" $ue ay algunos comandos $ue utilizan D tag en lugar de D la&el & LP ;Label istribution Protocol>: protocolo estándar utilizado para la asignaci#n de eti$uetas MPLS& Es el más e5tendido" aun$ue no el Hnico& FI, ;For=arding In3ormation ,ase>: es la tabla de rutas del router simplificada" indicando para cada red de destino la interfaz $ue debe utilizarse y el router vecino al $ue a de enviarse (,Ie5t Fop-!& Esta tabla se actualiza automáticamente a petici#n de los protocolos de routing y e5iste cuando esta %E0 activado" aun$ue no se utilice MPLS& LFI, ;Label For=arding In3ormation ,ase>: es la tabla $ue indica los cambios $ue el router debe realizar en la eti$ueta MPLS de los pa$uetes& P*P ;Penultimate *o Poing>: es una forma de funcionar en la $ue el penHltimo router del trayecto $uita la eti$ueta MPLS por$ue sabe $ue el siguiente ya es el final del circuito y tiene la red de destino directamente conectada& Permite reducir el consumo de %P7 y mejorar el rendimiento del router" y es el modo de funcionamiento por defecto en los routers de %isco Systems&
27