Plataforma de routing amb MPLS, RIP, OSPF sota Linux
09-02-2007 > Miquel CasanovasMostrar o escribir comentarios (dudas) sobre este artículo
RESUM DEL PROJECTE
En els anys 60, els Estats Units d'Amèrica buscaven un sistema per mantenir les comunicacions vitals del seu país en el cas que hi hagués una atac de tipus militar contra ells. Aquest fet va marcar profundament l'evolució de la tecnologia ja que són els inicis de l'Internet actual. Pel que fa a l'enviament de la informació, aquesta es dividiria en porcions de dades o com s'anomena actualment amb paquets. L'objectiu no era que aquest paquets passessin per la mateixa ruta, si no que arribessin al seu destí final.
Al cap d'un temps, diverses empreses van començar a fabricar els seus propis estàndards de comunicació. A causa de no haver-hi un control es va generar un gran problema de compatibilitat entre diferents fabricants que no els permetia avançar. Per aquest motiu l'organització internacional per la normalització (ISO) va estudiar els diversos protocols de tots els fabricants observant les seves característiques. Finalment en van escollir un i aquest va passar a ser l'estàndard mundial. Es tractava del model OSI que encara perdura en els nostres dies.
OSI va començar a servir de referència a totes les empreses que desenvolupaven tecnologies de la comunicació, però la seva finalitat era a nivell teòric ja que permetia una comprensió molt fàcil. Altrament, el protocol que es va començar a utilitzar a la pràctica i que és el més utilitzat en dispositius de comunicació és el protocol TCP/IP.
La progressió va ser espectacular, en poc temps moltes empreses i universitats ja tenien les seves xarxes d'àrea local (LAN). No en tenien prou només amb unir els ordinadors de dins l'edifici, necessitaven comunicar-se amb altres empreses. Per aquest motiu es van crear les primeres xarxes d'àrea metropolitana (MAN). Seguidament amb un intent de fer el món més petit, es van unir diverses MAN formant la xarxa d'àrea mundial (WAN).
Però com troben els paquets el seu destí dintre d'aquestes xarxes tant extenses?
Els routers són els encarregats de realitzar aquesta funció. Quan arriba un paquet a un router conté, a part de la informació, petits camps de dades que són molt útils pels routers. Un d'aquest camps és l'adreça destí. El router compara aquest camp amb la seva taula de rutes i llavors sap cap a quin altre router ha d'enviar el paquet. No obstant, les taules de rutes s'omplen mitjançant els protocols de routing. Aquest protocol són molt importants pel funcionament de l'Internet actual, ja que permeten que els routers s'intercanviïn informació de diferents xarxes.
Aquest Internet ja era totalment operacional, però degut a el gran creixement de número d'usuaris i empreses aquesta tecnologia no oferia un bon rendiment, i encara menys en el camp d'enllaços de gran amplada de banda com els backbones o les xarxes dels proveïdors de xarxa (NSP).
Es necessitaven noves tecnologies. Entre d'altres, es va intentar IP sobre ATM que consistia una xarxa d'encaminament IP sobre una xarxa de commutació ATM. El resultat va ser aconseguir més rapidesa, però es va utilitzar com a solució temporal. Aquesta tecnologia tenia l'inconvenient que era com gestionar dues grans xarxes, suposant una despesa molt elevada.
Més tard, va sortir l'IP switching. Era un intent d'optimitzar el control de la capa de xarxa i la commutació de la capa d'enllaç. Aquesta tecnologia ja permetia diferenciar la funció de control, de la funció de commutació. Permetia realitzar un reenviament dels paquets més ràpid. Era molt millor que IP sobre ATM però va sorgir el problema que va ser impossible fer compatible les diferents implementacions de diversos fabricants.
IP switching va servir perquè es creessin els fonaments d'un estàndard que s'ha anomenat MPLS (Multiprotocol Label Switching).
Aquest protocol té molts avantatges i promet ser molt utilitzat en l'Internet del segle XXI. Resumint, podem destacar que diferencia el forwarding i el control dels paquets. Pot implementar-se per sobre de qualsevol tecnologia, com pot ser IP, ATM, Frame Relay, xarxes de fibres òptiques (FDM) i d'altres. També és compatible amb el model de serveis integrats RSVP oferint un molt bon rendiment de la xarxa. Molts més altres aspectes fan d'aquest protocol una eina a destacar.
DESCRIPCIÓ i OBJECTIUS
En el grup BCDS tenim com a objectiu principal experimentar amb aquesta nova tecnologia que cada vegada serà més extensa. Els dispositius que suporten MPLS són dispositius cars i per poder experimentar es necessita un pressupost bastant elevat, nosaltres optarem per una altre alternativa.
Volem realitzar una plataforma de routing que ens permeti generar diferents infraestructures amb facilitat. També hem de disposar de suficients recursos tant de hardware com de software per poder realitzar diferents experiments relacionats amb el món del routing. Per aquest motiu, abans haurem d'invertir força temps en comparar diferents dispositius i aplicacions per tal d'obtenir els millors resultats.
A alt nivell, connectarem 4 PC units entre si per un switch que ens permetrà crear diferents topologies en la plataforma. Escollirem el millor sistema operatiu per portar a terme els experiments i instal·larem un software de routing que ens ha de permetre experimentar amb els protocols RIP i OSPF. Per últim, donarem suport MPLS a cada un dels 4 PC's i els equiparem amb diferents utilitats que ens han de permetre capturar i analitzar els resultats dels experiments.
Com a resultat, obtindrem una plataforma de 4 PC's actuant com a routers Cisco amb el suport d'MPLS, i tota la flexibilitat que té un SO de lliure distribució com és un Linux.
Concretament aquesta plataforma ha de permetre:
Fer proves amb diferents protocols de routing per tal de veure'n el funcionament i com reaccionen davant de canvis en la infraestructura de la xarxa.
Aprendre a gestionar routers, així com totes les seves funcionalitats creant diferents topologies de xarxa.
Aprendre a gestionar la xarxes sobre MPLS creant LSP, configurant els Igress nodes, els LSR i els Egress node amb les seves funcionalitats.
Fer comparatives entre el routing IP i l'MPLS. Per exemple, comparar les seves velocitats de transferència de paquets.
En MPLS es poden crear mecanismes de protecció utilitzant rutes de suport en cas que hi hagi una pèrdua de connectivitat entre dos LSR. La plataforma ha de permetre poder experimentar amb aquests entorns de protecció.
Realitzar enginyeria del tràfic per tal de veure el control que podem obtenir sobre diferents fluxos de la xarxa i les millores que pot suposar això en quan a rendiment de les aplicacions.
Una part important d'aquest projecte consisteix en estudiar i cercar documentació de gran quantitat de conceptes nous, que no s'han vist durant la carrera universitària. Ens haurem d'introduir en temes que són directament necessaris per entendre la base de MPLS.
CREACIÓ DE LA PLATAFORMA
En la creació de la plataforma hem donat importància tant a l'elecció del hardware com a l'elecció del software. En tots dos casos s'ha tingut present que volíem obtenir una bona plataforma de baix pressupost econòmic. S'ha optat doncs per uns PC's convencionals, com els que disposa cada usuari a casa seva i utilitzant programari lliure que actuaran com a routers.
Pel que fa el hardware podem destacar diversos elements. Un d'ells és el switch utilitzat per unir els diversos PC's. Aquest switch és un Cisco Catalyst 2900 i té la particularitat que ens permet crear xarxes d'àrea local virtual. Aquestes VLAN's ens permeten crear diferents LAN independents sense haver de canviar cap connexió física. Molt útil quan es vol obtenir una plataforma dinàmica.
També s'ha utilitzat les targes de xarxa D-Link 580. Aquestes targes disposen de 4 ports RJ45 cada una. Per tant, obtenim uns PC's amb molts recursos a l'hora de crear diferents connexions.
Per una reducció del cost de la plataforma hem utilitzat un switch KVM que la seva funció es poder controlar tots els PC's a partir d'un sol teclat, un ratolí i un monitor. També ens hem estalviat molt espai en el laboratori de xarxes.
Referent el software destaquem la utilització del sistema operatiu Fedora Core 3, juntament amb MPLS-linux que li dona el suport MPLS. Aquest software està en desenvolupament, per tant, alguns dels seus mòduls no són operatius.
També utilitzarem el Quagga que és un conegut software de routing molt complet. Aquest ens permet configurar el Linux com si fos un router Cisco dedicat. Entre moltes altres funcionalitats permet l'execució dels protocols RIP, BGP, OSPF, ISIS, ... Mitjançant MPLS-linux també li podem donar suport MPLS, és a dir, des de la interfície de línies de comandes (CLI) de Quagga podrem configurar el protocol MPLS.
Per comprovar que els paquets estiguin encapsulats amb MPLS, utilitzarem un sniffer per capturar-ne les seves capçaleres. Concretament utilitzarem el TCPdump, que és un potent sniffer.
Altrament també voldrem fer comparacions de velocitat entre el routing IP (a nivell de capa 3) i l'MPLS forwarding (a nivell de capa 2). En aquest cas utilitzarem un petit programa molt utilitzat en el camp de les connexions sense fils anomenat Iperf. Aquest programa també és considerat com un generador de tràfic i ens serà molt útil en la nostra plataforma per generar diferents fluxos de dades.
EXPERIMENTS I PROVES
S'ha optat per distingir dues fases en l'experimentació de la plataforma de routing. La primera part esta relacionada amb els protocols de routing. En realitzarem les seves configuracions i en veurem algunes de les seves característiques.
La segona part d'experimentació, consisteix en crear un quants escenaris per tal de veure i conèixer algunes propietats del protocol MPLS. Aquestes propietats han estat estudiades i analitzades a la secció de teoria, i amb la part pràctica aprofundirem més en el seu estudi i coneixement. Cada escenari té un objectiu específic que s'ha d'assolir. Els escenaris són els següents:
De routing:
Escenari 1: RIP
Escenari 2: OSPF
Amb MPLS:
Escenari 3: 2 hosts amb MPLS-linux
Escenari 4: 4 hosts amb MPLS-linux
Escenari 5: 3 hosts amb Quagga-mpls
Escenari 6: Enginyeria del Tràfic
Escenari 7: Protecció amb Script
Escenari 8: Protecció Client/Servidor
CONCLUSIONS
MPLS és un protocol per la Internet del segle XXI. Són moltes les característiques que fan d'aquest protocol una eina molt flexible i completa que ens permet solucionar grans problemes de l'Internet actual. També dona pas a nous sistemes de gestió de xarxes. S'ha dissenyat i desenvolupat una plataforma d'experimentació de routing pel grup de recerca BCDS. Després de realitzar diverses proves, hem pogut analitzar el protocol MPLS sota el sistema operatiu Linux. S'ha assolit doncs els objectius que ens havíem plantejat a l'inici del projecte.
S'ha vist el gran avantatge dels protocols de routing. Aquests protocols permeten que els diferents routers d'Internet s'intercanviïn paquets amb informació d'altres xarxes o rutes disponibles. Obtenim així que en els routers, les rutes cap els altres destins són dinàmiques i es van actualitzant cada cert temps. Per tant, si es produeixen alteracions en la xarxa (en el nostre cas, un tall d'un enllaç), aquests protocols permeten que tots els routers siguin conscients d'aquesta alteració.
Els primers escenaris d'MPLS, ens han ajudat a entendre millor el funcionament de MPLS-linux. Hem creat camins amb MPLS (LSP), hem configurat routers d'intercanvi d'etiquetes (LSR), i també els routers que encapsulaven i desencapsulaven els paquets amb la trama MPLS (Igress nodes i Egress nodes respectivament).
Un vegada assolit el domini d'aquest software hem comparat la velocitat de transferència de paquets entre la tecnologia IP i la MPLS. S'ha obtingut que IP és més ràpid que MPLS i els motius que n'hem tret són lògics. MPLS-linux no està optimitzat per aconseguit una bona velocitat de transferència si no per un bons funcionament i flexibilitat. A més es tracta d'un software en desenvolupament i porta activades les funcions de “debug”. També passa que les xarxes que podem crear amb aquesta plataforma són petites i no es pot treure un benefici dels nodes MPLS intermitjos, ja que els routers dels extrems (LER) sempre seran més lents que un router IP. Aquests manipulen el paquets a nivell de capes 2 i 3 del model OSI.
Per altra banda, en els altres escenaris ens ha quedat clar les altes funcionalitats i flexibilitats que ofereix MPLS. Concretament hem observat com mitjançant el software MPLS-linux hem fet Enginyeria del tràfic. Fent Enginyeria del tràfic hem enviat diferents tipus de tràfic segons el protocol per LSP's diferents tenint el mateix destí, així podem adaptar els tràfic de la nostre xarxa depenent dels recursos que disposem. S'obté un millor rendiment del conjunt.
Altrament hem configurat els escenaris amb els software MPLS-linux i Quagga-mpls, i per tant, hem pogut fer una comparació entre ells. Quan utilitzem MPLS-linux podem obtenir més control del protocol, per tant, podrem modificar més detalladament les taules ILM i NHLFE. O inclús, podrem utilitzar patchos que ens modificaran altres software per tal de tenir una eina més completa (com és el cas de l'Iptables).
En canvi, si utilitzem el software Quagga-mpls per configurar el protocol estem perdent flexibilitat, però estem guanyant facilitat d'ús i estabilitat. Aquest software ens permet consultar l'ajuda fàcilment i guardar les configuracions que tenim en execució. També inclou diferents nivells de permisos per manipular aquest software, així com la seva alta gamma de suport a altres protocols (RIP, OSPF, BGP, IS-IS, ...).
Lamentablement el software MPLS-linux està en desenvolupament i encara no té suport del protocol de senyalització (LDP). Aquest protocol és l'encarregat d'efectuar la distribució d'etiquetes de manera dinàmica.
Hem dissenyat i creat dues petites aplicacions que implementen un entorn de protecció MPLS. El mètode de protecció que hem implementat ha estat el global. Aquestes dues aplicacions ens han servit per realitzar diferents proves canviant alguns paràmetres (temps de timeout, interval dels paquets, ...). Hem vist quina era la resposta al provocar talls de connexió entre els hosts i s'ha repetit el procés diverses vegades per obtenir estadístiques de temps de restauració. Podem afirmar doncs, que disposar d'un entorn de protecció en les xarxes ens pot solucionar molts problemes i converteix la xarxa en una més robusta i eficient.
Per exemple, aquest és el funcionament de la segon escenari d'entorn de protecció
Finalment esmentar que la realització d'aquest projecte ens ha estat molt enriquidor i interessant. Ens ha permès assolir diferents conceptes nous tant de muntatge, com teòrics o de realització pràctica. En definitiva, aquest projecte ens ha permès aprendre més sobre el funcionament de l'Internet actual i les diferents tecnologies que el formen.
