Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingenieria de Trafico en Redes MPLS PDF
Ingenieria de Trafico en Redes MPLS PDF
Redes MPLS
Prefacio
El presente documento constituye la documentacin final del Proyecto de Fin de
Carrera titulado Ingeniera de Trfico en Redes MPLS, realizado para el Instituto de
Ingeniera Elctrica de la Facultad de Ingeniera, Universidad de la Repblica. Los
integrantes del grupo de trabajo son Sebastin Rivero, Adrin Delfino y Marcelo San
Martn. Todos ellos, estudiantes de Ingeniera, opcin Telecomunicaciones.
El proyecto en cuestin se llevo a cabo en el perodo comprendido entre Marzo de
2004 y Agosto de 2005, bajo la tutora del Ing. Pablo Belzarena.
El objetivo del proyecto fue desarrollar una herramienta de software que permite
al usuario realizar lo siguiente: disear la topologa de la red a su gusto por medio de una
interfaz grfica, tanto de manera manual o cargndola de manera automtica a la misma,
disponer de diversos algoritmos para el establecimiento de LSPs (Label Switched Paths)
(objetivo principal de ste proyecto) as como de herramientas de visualizacin del estado
actual de la red. En cuanto a los mtodos de bsqueda de caminos, se utiliz el
establecimiento explcito del LSP por parte del usuario, CSPF (Constraint Shortest Path
First), una versin modificada del algoritmo MIRA (Minumum Interference Routing
Algorithm) y algoritmos usados en las llamadas Fair Networks que se explicarn ms
adelante.
El trabajo se divide en 4 partes. Primero se presenta el Objetivo del proyecto, la
Motivacin que llevo a su creacin y una breve descripcin de cmo est organizado el
mismo. Luego se presentan los conceptos principales sobre TE (Traffic Engineering) de
manera que el lector este familiarizado con los conceptos bsicos en los que se basa ste
proyecto. A continuacin pasamos a una segunda parte donde exponemos las principales
herramientas tericas que tuvieron que ser estudiadas durante todo el desarrollo del
proyecto para poder alcanzar los objetivos marcados. En la tercer parte se comenta de
manera profunda los diferentes packages que conforman el software NET-TE
(Networking Traffic Engineering), explicando con detenimiento como fueron
implementados. Finalmente, en una ltima y cuarta parte se realizan las conclusiones del
proyecto y plantean los posibles casos a futuro.
Con la presente documentacin se adjunta un disco compacto conteniendo:
Agradecimientos:
ndice General
I Presentacin del Problema
1. Introduccin y objetivos
1.2. Motivacin
8
8
9
12
14
2. Casos de Uso
16
16
18
25
3. Ingeniera de Trfico
3.1. Introduccin
27
27
28
32
32
33
34
37
37
38
38
6.1. Introduccin
40
40
41
41
42
43
44
44
45
46
48
49
52
52
54
54
54
54
54
8. Interfaz Grfica
57
57
58
59
60
61
62
62
64
65
65
70
70
71
72
75
76
77
11.1. El package MT
78
78
79
79
80
81
83
84
55
IV Conclusiones
12. Conclusiones y tareas a futuro
12.2. Conclusiones
87
87
88
89
APNDICES
A. Multi Protocol Label Switching (MPLS)
91
91
92
94
B.2. ASN.1
B.3. SNMP v1
B.4. SNMP v2
97
97
98
100
101
101
C.1. Ejemplo
102
102
D. Software
107
108
110
110
Bibliografa
Glosario de trminos
116
117
Parte I
Captulo 1
Introduccin y Objetivos
En este captulo expondremos los objetivos, motivaciones y los distintos casos de
uso de manera que se pueda entender en forma clara lo que hace el software y cul es su
utilidad.
1.2 Motivacin
El crecimiento actual de la Internet le da una oportunidad a los Internet Service
Providers (ISPs) de ofrecer nuevos servicios como VoIP, Videoconferencia, etc., adems
de los ya tradicionales servicios de datos como email, ftp y web browsing. Todos estos
nuevos servicios tienen grandes requerimientos en lo que a throughput, tasa de prdida,
delay y jitter se refiere.
La Internet no fue diseada para trabajar con este tipo de requerimientos,
trabajando desde sus comienzos, bajo el paradigma Best Effort de IP. Esto significa
que el usuario manda paquetes a la red y la red va a tratar de hacerlos llegar a destino sin
garanta alguna.
A pesar que protocolos como TCP han agregado mecanismos de reenvo que
tratan de solucionar el problema de la prdida de paquetes generado por el
congestionamiento en la red, estos no solucionan las prdidas en aplicaciones interactivas
de tiempo real, donde no es posible esperar a que un paquete sea reenviado.
Es por ello que la comunidad de Internet ha hecho grandes esfuerzos en los
pasados aos para poder ofrecer garantas de calidad de servicio (QoS) a Internet, con el
objetivo de transformarla en una red convergente para todos los servicios de
telecomunicaciones. Entre los primeros modelos podemos destacar el de Servicios
Integrados (IntServ) y el de Servicios Diferenciados (DiffServ). Debido principalmente a
problemas de escalabilidad en el primer caso y al no poder ofrecer las suficientes
garantas de QoS en el segundo (el actual paradigma de ruteo IP de la Internet provoca la
hiper-agregacin de flujos en ciertas partes de la red y sub-utilizacin de recursos en
otras), es que se necesita de la Ingeniera de Trfico en las redes IP para asegurar QoS.
Los ISPs necesitan as de sofisticadas herramientas de gestin de redes que
apunten a un uso ptimo de los recursos de la red que son compartidos entre clases de
servicios con diferentes requerimientos de QoS. La tecnologa de Multi Protocol Label
Switching (MPLS) es un buen ejemplo que ayuda a realizar TE en sistemas autnomos
(AS) (ver Apndice A por ms informacin). Se basa en la idea de enviar paquetes a
travs de Label Switched Paths (LSPs) haciendo uso de etiquetas que son adjuntadas a los
paquetes en los routers de ingreso de al red (puntos de interconexin entre la red MPLS y
la red de acceso). Esas etiquetas son a su vez asignadas a los paquetes de acuerdo a su
Forwarding Equivalence Class (FEC) (representacin de un conjunto de paquetes que
comparten los mismos requerimientos para su transporte) que son entonces mandados a
travs de uno de los LSPs asociado con esa FEC en particular.
La prctica de TE hoy en da abarca el establecimiento y uso de esos LSPs como
tuberas de determinado ancho de banda entre dos puntos. Dichos LSPs pueden ser
seteados a travs de varios routers, ya sea de forma manual por parte del usuario
9
eligiendo las rutas deseadas o por medio de una herramienta que los compute. Las rutas
pueden ser computadas tanto offline usando alguna herramienta de software, o a travs
del uso de algn algoritmo de computacin online basado en restricciones (CSPF).
Como podemos ir viendo, la Ingeniera de Trfico (TE) intenta optimizar la
performance de las redes, a travs de tres actividades integradas: medicin del trfico,
modelado de la red, y seleccin de mecanismos para el control del trfico.
Desafortunadamente, grandes Proveedores de Servicios de Internet (ISPs) tienen pocos
sistemas de software y herramientas que soporten la medicin del trfico y el modelado
de la red, pilares bsicos de una ingeniera de trfico efectiva. De manera similar,
preguntas sencillas sobre la topologa, trfico y ruteo son sorprendentemente difciles de
contestar en las redes IP de hoy en da. Una gran cantidad de trabajo ha sido dedicado al
desarrollo de mecanismos y protocolos para el control del trfico. Como ejemplo de ello,
la mayor parte del trabajo de la Internet Engineering Task Force (IETF) est relacionado
al control del trfico en lo que a la ingeniera de trfico concierne.
Existen determinados factores que indican la necesidad de ms y mejores
herramientas de ingeniera de trfico para las redes. Entre ellos se destacan la calidad del
servicio, los parmetros ajustables interdependientes, el crecimiento de las redes y la
variabilidad del trfico (Referirse a [1] por ms informacin).
En cuanto a la Calidad del Servicio, los clientes son cada vez ms exigentes en el
cumplimiento de la performance, confiabilidad y seguridad, que se manifiestan en forma
de Service Level Agreements (SLAs). Los clientes desarrollan ms procedimientos de
certificacin y testeos continuos, para asegurar el cumplimiento de dichos SLAs.
Aplicaciones como Voz sobre IP, las cuales por su naturaleza, requieren del transporte de
datos de alta calidad, medido por el retardo, tasa de prdida de paquetes y jitter, estn
emergiendo hoy en da. Por eso es muy importante para los operadores de redes el
coordinar cuidadosamente por dnde fluye el trfico de cada demanda y ver si pueden o
no tolerar la llegada de futuras nuevas demandas sin afectar las ya existentes y por ende,
viendo comprometido el cumplimiento de los SLAs pertinentes.
En lo que a los Parmetros ajustables Interdependientes se refiere, hoy en da,
los proveedores de equipos de red, proveen a los ISPs con poco o ningn control sobre
los mecanismos bsicos responsables de la coordinacin de paquetes, gestin de buffers y
seleccin de caminos. En su lugar, los proveedores de backbones son forzados a entender
una larga cantidad de parmetros interrelacionados que de una manera u otra afectan la
configuracin y operacin. Hasta el da de hoy, un ISP debe gestionar su red de
backbone, y sus complicadas relaciones de frontera con proveedores vecinos, ajustando
los asuntos mencionados anteriormente a travs de una combinacin de intuicin, testeo y
pruebas de intento y error.
El Crecimiento de las Redes se ve reflejado en que por un lado, redes de
backbones individuales estn creciendo rpidamente en tamao, velocidad y espectro
abarcado; mientras que por otro lado, la industria intenta unir redes discordes entre s, en
redes integradas ms grandes. Como resultado, las funciones de gestin de red que una
vez pudieron ser manejadas por un grupo reducido de personas, basndose en la intuicin
y experimentacin, deben ser ahora soportadas por herramientas efectivas de ingeniera
de trfico que unen informacin de configuracin y de uso de una variedad de fuentes.
Por ltimo, la Variabilidad del Trfico. El trfico de Internet es complejo. La
carga ofrecida entre pares origen-destino es tpicamente desconocida. Asimismo, la
10
distribucin del trfico IP usualmente flucta ampliamente a travs del tiempo. Esto
introduce una gran complejidad a la ingeniera de trfico sin alivianar las demandas de
los clientes por una performance de comunicacin predecible. Herramientas efectivas de
TE deben soportar la identificacin rpida de potenciales problemas de performance y un
ambiente flexible para experimentar posibles soluciones.
Es por los motivos expuestos anteriormente que se decidi la creacin del
software NET-TE, como un aporte ms en cuanto a las herramientas que puede encontrar
un usuario para poder realizar tests de ingeniera de trfico en un ambiente simulado. La
idea clave detrs de este software es la de ofrecer al usuario de una plataforma donde
pueda visualizar la topologa de su red de estudio conjuntamente con datos sobre el uso
de los enlaces, qu enlaces se encuentran saturados, establecer afinidades que distingan el
trfico que pasa por cierto grupo de enlaces del resto. Una vez enfrente a la topologa, el
poder inferir sobre ella y visualizar las implicaciones de cambios locales en el trfico y
determinar por dnde se rutean las distintas demandas a medida que van llegando, de
acuerdo al estado actual de la red. Tambin el poder realizar una mirada general sobre
todo el grupo de demandas que se tienen hasta el momento y determinar cul es la mejor
manera de ubicar los LSPs en la red de manera que todas vean sus requerimientos
satisfechos. En el caso de no ser posible satisfacerlas a todas, es deseable el poder
determinar cmo lograr cubrirlas de la manera ms justa posible a todas ellas.
Entendiendo por justicia, la eleccin por parte del usuario de determinado criterio en
cuanto a la manera en que se debe tratar de repartir la carga entre las diferentes demandas
(clientes).
Usando esta herramienta, un proveedor de red pude claramente experimentar con
cambios en la configuracin de la red en un ambiente simulado, en vez en una red
operacional, basndose en una plataforma para investigaciones del tipo what-if de
ingeniera de trfico.
11
Router ms
prximo
Objetivos de Performance
(restricciones)
MIBs
Descripcin de
la Red
Cargar Matriz
de Trfico
usuario de la
Red
Clculo de Caminos
Candidatos (Dijkstra)
Algoritmos MIRA o
FairNetworks
Seleccin de
Camino
LSPs establecidos
LSP establecido
Visualizacin
12
13
14
15
Captulo 2
Casos de Uso
Veamos ahora cules son los usos y las distintas funcionalidades que el software
NET-TE tiene para ofrecer.
Se distinguen tres principales utilidades o casos de uso dentro de NET-TE:
construccin de la topologa de la red de trabajo, establecimiento de los LSPs por los
cules pasar el trfico de cada demanda y visualizacin del estado actual de la red. A su
vez, han de destacarse los cuatro mecanismos usados por NET-TE para el
establecimiento de los LSPs: ruteo explcito, CSPF, MIRA y FairNetworks.
Explicaremos ms adelante qu ventaja ofrece cada uno de ellos y los
compararemos.
C
Caso de Uso# 11: Construccin de la topologa
Para empezar a trabajar, lo primero que necesita hacer el usuario es construirse la
topologa de la red sobre la cual va a trabajar. NET-TE ofrece dos maneras de realizar
esto: una manual y otra automtica.
La interfaz grfica donde se apoya NET-TE est formada por dos barras de
herramientas, desde las cuales el usuario puede acceder a las distintas funciones del
software y una pantalla que es el marco de trabajo donde se crea o carga la topologa de
la red.
Empecemos por el mtodo manual de construccin. En este caso, el usuario
dispone de dos posibles objetos para crear su topologa: routers y links. Como la red
donde se trabaja es basada en MPLS, los routers que se ofrecen son de dos tipos: LERs y
LSRs.
NET-TE permite manipular los objetos dentro de la pantalla con total libertad,
pudindolos colocar y desplazndolos de un lugar a otro a gusto del usuario, de manera
que ste pueda disear la red con la forma que desee y pudindola guardar luego en un
archivo en su computadora, en caso de querer reutilizarla luego, si as lo desease.
Esto resulta muy cmodo ya que el usuario puede cargar una vieja topologa que
tenia guardada, y cambiarla a su gusto, para reflejar el estado ms reciente de la misma,
agregando o quitando enlaces o routers de la red.
Los campos que ofrece NET-TE para configurar los enlaces son los siguientes:
ancho de banda, peso administrativo y afinidad. Como se puede apreciar en la Figura 2.1,
el usuario puede describir con bastantes detalles las caractersticas de los elementos de la
red. La opcin del uso de pesos administrativos es especialmente til en los casos en los
que el usuario desea darle ms prioridad a ciertos enlaces sobre otros. Son varios los
motivos que pueden llevar a un usuario el querer priorizar cierto grupo de enlaces sobre
otros. Como ejemplo, podemos mencionar razones de poltica interna por parte del cliente
que regulen el uso de los recursos sobre cierto enlace o grupo de enlaces. Tambin
pueden existir trficos que satisfacen demandas que son crticas o de mayor importancia,
16
con lo cual resultara particularmente til el evitar que futuros LSPs a ser establecidos
pasen por los enlaces que las conforman, a menos que
sea
necesario. Otra
caracterstica de suma utilidad es poder
17
C
Caso de Uso# 2
2: Establecimiento de los LSPs
En MPLS, como todos ya sabemos, el trfico para determinada demanda sigue
determinados LSPs desde que entra a la red MPLS hasta que sale. Es de esa manera que
se puede clasificar los servicios segn la QoS que desee cada usuario. Por eso, es tan
importante el establecimiento de los LSPs, cmo elegirlos y dnde ubicarlos de manera
de cubrir de la mejor manera posible las demandas. NET-TE tiene por ende cuatro
distintos mecanismos para ofrecer al usuario, al momento de elegir cmo y por dnde
ubicar a los LSPs.
18
Ruteo Explcito:
El primer mecanismo es el ms sencillo de los propuestos (en lo que a clculos
se refiere): el ruteo explcito. Se le ofrece al usuario una ventana (ver Figura 2.4) en la
cual, a partir de la eleccin del nodo de origen, se le van desplegando los posibles enlaces
para que pueda ir creando salto a salto, el LSP de manera explcita de origen a fin. En
NET-TE, la demanda se expresa en trminos del ancho de banda. Es decir, cada demanda
se representa por medio del nodo origen, destino y un determinado ancho de banda que
satisfacer. El usuario debe por ello ingresar tambin en primer lugar el ancho de banda
que desea tenga el LSP a crear. NET-TE entonces va chequeando el ancho de banda
disponible de los enlaces que contienen el nodo en el que esta parado el usuario y
despliega slo aquellos que cumplan con la condicin de tener un BW mayor o igual al
requerido por el LSP.
Esta
es
una
manera que como vemos
no utiliza algoritmo
alguno, sino que slo se
basa en la decisin que
tome el usuario y
depende exclusivamente
del camino que ste
desee. Un ejemplo de
una situacin de este tipo
es cuando el usuario, ya
sea o porque la red tiene
suficiente ancho de
banda como para no
restringir ningn posible
LSP o porque posee
un conocimiento muy
Figura 2.4: Ventana para el Ruteo Explcito.
grande de la red, cree saber ya de entrada por que camino es mejor que vaya el LSP.
Quizs haya un acuerdo con el cliente, el cual obligue al LSP a seguir cierto camino
explcito de manera obligatoria, con lo cual sta sera la manera ms sencilla de
establecerlo.
CSPF:
El segundo mecanismo ofrecido es el CSPF. Supongamos el caso donde el
usuario tiene una red sobre la cual ya existen determinadas demandas siendo ruteadas por
ciertos LSPs. Supongamos tambin que hay ms de un tipo de trfico circulando por la
red y que eso est siendo reflejado por las afinidades creadas por el usuario. Aparece
entonces un nuevo cliente queriendo conseguir un LSP por el cual rutear su trfico y
19
requiere que le aseguren determinado BW. Entonces, salvo que sea una red de tamao
pequeo y sea muy evidente el camino a usar, el usuario necesitar de algn algoritmo
que le halle ese LSP que est buscando, teniendo en cuenta el estado actual de la red.
NET-TE le muestra al usuario cuales son todos los posibles caminos por los
cuales puede rutear su trfico, asegurndose que cumplan con el BW solicitado por el
cliente, adems de un conjunto pre-definido de restricciones que puede l mismo ingresar
y comentaremos ms adelante. Finalmente, ser decisin del usuario el elegir el camino
que ms le convenga, dentro de toda la gama de soluciones.
Dentro de los parmetros obligatorios a ingresar (ver Figura 2.5) por parte del
usuario, se encuentran obviamente, el nodo de origen, el nodo destino y el BW
requerido por el cliente. En caso que se desee buscar soluciones slo por aquellos
enlaces que soportan cierto tipo de trfico se incorpor al NET-TE la posibilidad de
elegir la Afinidad, como parmetro opcional.
Puede suceder que por razones poltico-administrativas de parte del cliente, o por
determinado SLA que debe cumplirse, el usuario necesite que los caminos posibles pasen
por un determinado enlace en particular y no lo hagan por otro, por ejemplo. A manera de
tener en cuenta este tipo de solicitudes, se incorporaron tambin otros dos parmetros
opcionales a elegir, que son: Enlace Presente y Enlace Ausente. NET-TE se encarga de
esta manera de asegurar al cliente que las soluciones a mostrar (en el caso que existan)
cumplirn con estas restricciones.
Ahora bien, ya que el CSPF se basa en el algoritmo Dijkstra, se debe determinar
cul es la mtrica a usar para elegir el camino ms corto (con ms corto, nos referimos
no al camino de menos saltos, sino al camino cuya suma de pesos es la menor). Ac,
NET-TE ofrece 4 diferentes tipos de pesos a asignar a los enlaces: Ruteo Mnimo por
Pesos Administrativos, Ruteo por Mnima Cantidad de Saltos, 1/(BWreservado) y
1/(BWlibre).
El primero de todos es bsicamente basarse en los pesos que fueron pre-definidos
por el usuario para cada enlace. El usuario, al tener la posibilidad de asignar pesos a los
enlaces, puede influir en la toma de decisin de cul es el mejor camino por donde
establecer el LSP.
El segundo, es simplemente establecer la cantidad de saltos, como la mtrica
elegida. NET-TE se fijar solamente en la cantidad de saltos del origen al destino y
buscar los caminos que tengan la menor cantidad de saltos de principio a fin.
La tercera, tal como lo indica su nombre, usa pesos que equivalen al inverso del
BWreservado en cada enlace. Supongamos que el cliente, tiene ya varios LSPs
establecidos sobre la red, los cuales consumen determinado BW de los enlaces por los
que pasan. Esto hace que hayan enlaces ms ocupados y otros ms libres en la red. Llega
un nuevo LSP que necesita ser ubicado en la red y el usuario quiere que ste tienda a usar
los enlaces ms ocupados en la red, de manera tal de dejar a los que estn ms libres,
disponibles para futuras demandas. Es una manera de procurar seguir usando los enlaces
que ya estn siendo ms utilizados por otros LSPs, y no tocar los que estn ms libres.
NET-TE brinda esta posibilidad, con tan slo seleccionar este tipo de peso.
Finalmente, supongamos que el usuario quiere exactamente lo opuesto a lo
anterior. Es decir, quiere que el nuevo LSP a crearse tienda a pasar por aquellos enlaces
que estn ms libres en la red, no tocando aquellos que ya tienen recursos consumidos o
LSPs pasando por ellos. O sea, dicho con otras palabras, que se tienda a ubicar al LSP por
20
aquellas zonas de la red que no han sido usadas an, de manera de no sobrecargar
aquellas que s lo estn siendo. Esto es lo que NET-TE permite si el usuario elige la
cuarta opcin de peso.
Se puede ver que NET-TE ofrece una amplia gama de criterios de pesos, de
manera que el usuario pueda elegir cul desea sea usado por el algoritmo para el clculo
de la nueva ruta, pudiendo jugar as con las distintas combinaciones y viendo cmo afecta
una u otra eleccin. Vale decir que estos son parmetros obligatorios que debe ingresar el
usuario.
Por ltimo, NET-TE le ofrece al usuario, como ltima opcin, la posibilidad de
usar o no determinado criterio de TE, sobre los caminos encontrados: Elegir
manualmente, No saturacin enlaces crticos y Minhop.
Supongamos que luego de que el usuario haya ingresado todos los parmetros
anteriores, NET-TE encuentra ms de un camino que satisfaga los requerimientos de BW,
Afinidad y dems. Y supongamos ahora que el usuario no quiere ver uno a uno cada uno
de sos caminos, analizando sus diferencias, sino que por otro lado, desea aplicarle una
especie de filtro y que slo se desplieguen aquellas soluciones que no contienen a los
enlaces ms crticos, o por aquellas que, dentro del grupo de soluciones posibles, tengan
la menor cantidad de saltos.
Es por lo anterior que se incorporaron tres criterios de TE al software.
El primer criterio, simplemente le indica a NET-TE que despliegue todas las
soluciones posibles que encontr Dijkstra, tomando en cuenta las restricciones y pesos
seleccionados. De esta manera el usuario ve todas las soluciones y l es quien determina
con cul quedarse.
21
22
mapearn todos
los caminos de
acceso a Internet
por los caminos
ms largos, o
hasta
que
no
exista
otra
posibilidad (sature
por ejemplo algn
enlace). Luego el
usuario podr por
ejemplo
correr
CSPF
para
establecer
los
caminos
de
servicios
corporativos.
Figura 2.6: Ventana del algoritmo MIRA.
La idea bsica de este tipo de algoritmos es la de minimizar la interferencia que
provoca el establecimiento de un nuevo LSP a potenciales nuevos LSPs que son
desconocidos de modo de reservar recursos para demandas a las que considero ms
importantes. Se puede apreciar la ventana de dicho algoritmo en la Figura 2.6.
Fairness:
As llegamos al ltimo mecanismo ofrecido por NET-TE, Fairness.
Supongamos ahora que el usuario ya no tiene que preocuparse por ver cmo
colocar determinado LSP para cada demanda nueva entrante. Ahora, lo que desea es,
teniendo una matriz de trfico que contiene a todas las demandas que desean establecerse
sobre la red (la cual ya puede contener viejos LSPs establecidos), ver cmo satisfacerlas a
todas ellas de una manera lo ms justa posible.
El usuario posee la lista de todas las demandas correspondientes a cada uno de
sus clientes, especificadas por sus pares origen-destino y BW mnimo requerido por cada
una de ellas. La pregunta que le podra resultar interesante de hacerse sera: Cuntos
recursos me puede ofrecer la red en su estado actual, para cada uno de los caminos que
satisfacen las demandas de los clientes? Esos caminos solucin son los hayados por el
algoritmo CSPF. El usuario dispone de dos tipos de pesos a eleccin: minhop o pesos
administrativos. Una vez hayados todos los caminos posibles que cumplen con la
restriccin del ancho de banda para todas las demandas, el objetivo es ver cmo se
asignan los recursos de la red, a cada una de ellas, de manera que se obtenga el mximo
aprovechamiento posible de la red.
Una aplicacin puede ser cuando se tiene determinada red utilizada para brindar
servicios exclusivamente a un determinado nmero de clientes. Se quiere entonces
23
arrojar sobre ella los LSPs que van a cubrir cada una de esas demandas y darles a ellos
la mxima cantidad de recursos que la red me puede brindar, de manera que se haga un
uso de ellos justo entre las demandas.
NET-TE brinda la informacin anterior al usuario, y le da a elegir cuatro
algoritmos a usar distintos: fairness bsico, acotado, con mltiples caminos y con
mltiples caminos acotado. Observar la Figura 2.7.
El primero y el tercero brindan
informacin sobre cul es la cantidad
mxima de BW que puedo tomar de la red
para cada una de las demandas. La nica
diferencia es que el primer algoritmo slo
me considera un camino solucin fijo para
cada demanda, mientras que el tercero toma
todos los caminos solucin posibles. Para el
caso en que hayan mltiples caminos
posibles en el primero, se le brinda la
posibilidad al usuario de elegir el que guste
de entre una lista de posibles opciones, de
manera tal que se quede con uno solamente,
tal como debe ser.
El segundo considera tambin slo
un camino solucin fijo por demanda (tal
Figura 2.7: Ventana de algoritmos Fairness
como en el primero, el usuario puede elegir el que desee en caso de haber ms de una
opcin disponible), pero le brinda al usuario la opcin de ingresar prioridades a las
demandas y le permite elegir una cota inferior de BW para cada demanda. Si bien el
concepto de incorporar prioridades parece oponerse al de ofrecer un reparto de ancho de
banda justo entre las demandas, es til para aquellos casos en donde deseamos poder
diferenciar a los clientes desde un punto de vista econmico, priorizando a aquellos que
por ejemplo pagan ms de los que pagan menos. Tambin es til cuando el usuario debe
asegurarse que las demandas lleguen a obtener al menos un BW mnimo obligatorio en el
reparto.
Como ejemplo, supongamos que tiene una demanda que requiere 10MB. Como
sabe que quizs el LSP que se cree para esa demanda, tenga que compartir recursos con
otros LSPs de otras demandas, puede suceder que no llegue a obtener esos 10MB. Lo que
puede hacer es poner un mnimo de 5MB por ejemplo y de esa manera se asegura que de
haber solucin, el BW que va a obtener va a estar entre esos dos valores con seguridad.
El cuarto algoritmo es similar al tercero. La diferencia es que en vez de
detenerse el clculo cuando ya no quedan ms recursos que la red pueda ofrecer, se
detiene cuando se lleg a cumplir con el ancho de banda requerido para cada demanda.
Obviamente que en caso de saturar primero la red antes que se llegue al ancho de banda
requerido, tambin se detendr el clculo.
24
C
Caso de Uso# 3: Visualizacin del estado actual de la red
El ltimo caso de uso consiste en los mtodos que tiene el usuario con el software
NET-TE de poder ver el estado de la red.
Bsicamente lo puede hacer de dos formas posibles: por medio del uso del botn
Estadsticas o bien del botn Utilizacin.
Con tan slo apretar el botn Estadsticas (ver Figura 2.8), en cualquier momento,
al usuario se le desplegar una pantalla donde figurarn todos los nodos que conforman la
red, los enlaces, as como los LSPs establecidos hasta ahora. Podr ver las caractersticas
de cada uno de ellos, as como tambin por cul o tal nodo o enlace pasa cierto LSP, entre
otros valores. Si as lo desea, se le brinda la posibilidad de visualizar al mismo tiempo
todos los enlaces de la red, y ver el porcentaje de utilizacin de cada uno de ellos. Debido
a la manera en que esta desplegada la informacin, resulta muy prctico a la vista el
comparar unos con otros.
Basta tan slo ingresar dos valores de porcentajes, una cota inferior y otra
superior, y NET-TE pintar de colores distintos cada uno de los tres niveles de utilizacin
para cada enlace.
Esta es una manera sencilla de visualizar en pantalla qu zonas de la red estn
ms saturadas que otras. Es en especial prctico para redes de gran tamao, donde ver
valores numricos no sea tan intuitivo como esto.
26
Captulo 3
27
28
29
30
Parte II
31
Captulo 4
4.2 CSPF
Como se dijo anteriormente, CBR requiere la habilidad de computar un camino de
manera tal que
Una manera de lograr esos objetivos es usar el algoritmo de shortest path first
(SPF). El algoritmo SPF plano, computa un camino que es ptimo con respecto a cierta
mtrica escalar. Entonces, para computar un camino que no viole restricciones, todo lo
que necesitamos es el modificar el algoritmo de manera tal que pueda tomar en cuenta
33
esas restricciones. Nos referiremos a tal algoritmo como constraint shortest path first
(CSPF) (Ver [3] por ms informacin).
Para entender como SPF debe ser modificado para tomar restricciones en cuenta,
miremos primero como es la operacin del SPF plano. El algoritmo SPF plano trabaja
empezando de un nodo llamado raz, y creando luego a partir del mismo, una estructura
en forma de rbol que contiene el camino ms corto. En cada iteracin del algoritmo, hay
una lista de posibles nodos candidatos (inicialmente esta lista contiene slo a la raz).
En general, los caminos de la raz a los nodos candidatos no son los ms cortos. Sin
embargo, para el nodo candidato que esta ms cerca de la raz (con respecto a la distancia
usada por SPF), el camino a ese nodo es el ms corto garantizadamente. Entonces, en
cada iteracin, el algoritmo toma de la lista de candidatos, al nodo con la distancia ms
corta a la raz. Este nodo es entonces agregado al rbol del camino ms corto y removido
de la lista de nodos candidatos. Una vez que el nodo ha sido agregado al rbol del camino
ms corto, los nodos que no estn en el rbol, pero son adyacentes a ese nodo, son
examinados para una posible adicin o modificacin de la lista de candidatos. El
algoritmo entonces itera nuevamente. Para el caso en donde se desee encontrar el camino
ms corto de la raz a todo el resto de los nodos, el algoritmo termina cuando la lista de
candidatos esta vaca. Para el caso en que se desee simplemente encontrar el camino ms
corto de la raz a algn otro nodo especifico, el algoritmo termina cuando este otro nodo
es agregado al rbol del camino ms corto.
34
esos enlaces satisfacen todas las restricciones planteadas. Slo si el enlace satisface todas
las restricciones, recin ah examinamos el nodo que esta ubicado en el otro extremo del
enlace.
En general, el procedimiento por el cual chequeamos si un enlace satisface una
restriccin en particular, es especfico de la naturaleza de la restriccin. Por ejemplo,
cuando la restriccin que queremos satisfacer es al ancho de banda disponible, entonces
el chequeo es si el ancho de banda disponible en el enlace es mayor o igual al ancho de
banda especificado por la restriccin; slo si lo es, es que examinamos el nodo ubicado
en el otro extremo del enlace.
Tambin observar que el chequear si un enlace satisface una restriccin en
particular, asume que hay una informacin de restriccin relacionada, asociada con el
enlace. La naturaleza de esta informacin relacionada a la restriccin. Por ejemplo,
cuando la restriccin que queremos satisfacer es el ancho de banda disponible, la
informacin que necesitamos es tener al ancho de banda disponible en un enlace.
Notar que el algoritmo CSPF requiere que el router que realiza la computacin del
camino, tenga informacin sobre todos los enlaces en la red. Esto impone una restriccin
en el tipo de protocolo de ruteo que podemos usar para soportar el ruteo basado en
restricciones (CBR). Tenemos que usar protocolos de estado de enlace como IS-IS u
OSPF, ya que protocolos de ruteo de vector distancia como RIP no son capaces de
encontrar estos requerimientos.
Como comentario sobre uno del resto de los mecanismos restantes necesarios para
soportar CBR, la capacidad de ruteo explcito necesaria es provista por MPLS.
En el caso del software NET-TE en este proyecto, se utiliz CSPF para computar
los caminos para los LSPs obligando a que cumplan ciertos requerimientos. El
requerimiento usado en este proyecto fue el ancho de banda disponible en cada enlace de
la red. Adems se le agreg la posibilidad de que el usuario pueda obligar al LSP hayado
que pase por cierto enlace de la red as como que no pase por otro en particular. La razn
por la cual se puede desear querer obligar que un LSP pase por cierto enlace y no lo haga
por otro depende totalmente del usuario y de la forma en que l gestione su red. Adems
es importante destacar que con respecto a los pesos asignados a los enlaces al momento
de correr el SPF, se le ofrece al usuario la oportunidad de usar distintos pesos,
dependiendo de cual sea la mtrica en la que l este interesado de usar (por ejemplo la
cantidad mnima de saltos, minimizar los pesos administrativos asignados por el mismo a
los enlaces o hacer la mtrica en funcin del ancho de banda disponible en los enlaces,
entre otros).
35
36
Captulo 5
37
38
3- Eliminar todos los enlaces que tienen ancho de banda disponible menor al
requerido por el LSP y formar una nueva topologa con los nodos y enlaces
restantes.
4- Correr SPF con la topologa reducida.
5- Establecer el LSP entre (s, d ) y actualizar los anchos de banda disponible en cada
enlace.
Especficamente, dada una nueva demanda entre (s, d ) , se considera el impacto
de mapear esta demanda en futuras demandas entre nodos ingreso-egreso. Este impacto
es caracterizado al asignarle pesos a los enlaces que pueden ser usados por estas futuras
demandas. Cuando consideramos un par de nodos ingreso-egreso (s ' , d ') L , primero
calculamos el MNF (maximum network flow) s 'd ' [3] entre s y d. El MNF representa
el mximo ancho de banda que puede traficar la red entre el par de nodos (s, d), ya sea
por varios caminos o por uno slo. Luego para cada enlace l E se calcula la
f s 'd '
contribucin del enlace a este MNF entre s y d que es representado como ls 'd ' , donde
s 'd '
w(l ) =
f l s 'd '
s 'd ' R(l ) , l E
( s ', d ')L
(5.2a)
Una vez que los pesos son calculados y asignados, se eliminan los enlaces en E
que tienen el ancho de banda disponible menos al requerido por la demanda
obtenindose una topologa reducida con los pesos asignados incambiados. Luego se
corre el SPF basado en Dijkstra para obtener el LSP entre s y d y se actualiza el ancho de
banda disponible en los enlaces que pertenecen al nuevo LSP.
39
Captulo 6
40
6.1.1
Nociones de Justicia
Consideremos una red con demandas elsticas. Un problema general con este tipo
de redes es cmo asignar flujos (BW) a los caminos de las demandas, de manera que las
capacidades de los links no son excedidas y que los actuales volumenes de ancho de
banda agregado asignados a las demandas sean distribudos de una manera justa.
6.2
Consideremos una red con enlaces de capacidades fijas y con caminos prefijados
nicos asignados para transportar los flujos de las demandas (o sea que en caso de existir
varios caminos posibles entre determinado par de nodos, nos quedamos solamente con
uno slo de ellos, pudiendo ste ser elegido por el usuario a su gusto).
Antes de seguir con el planteo del primer mtodo utilizado de asignacin justa de
recursos, debemos introducir una definicin:
Definicin 6.1:
Un vector de n componentes x = (x1, x2,, xn) ordenado en orden ascendente (x1 x2
xn) es lexicogrficamente mayor que otro vector de n componentes y = (y1, y2,, yn)
ordenado ascendentemente (y1 y2 yn) si existe un ndice k, 0 k n, tal que xi = yi
para i=1, 2,, k y xk > yk.
Ahora presentemos la formulacin del primer algoritmo.
ndices
d = 1, 2,, D demandas
e = 1, 2,, E enlaces
Constantes
ed = 1 si el enlace e pertenece al camino fijo de la demanda d; 0 en otro caso
ce Capacidad del enlace e
Variables
xd Flujo asignado a la demanda d, x = (x1, x2,, xD)
Objetivo
Hayar el vector de asignacin x, el cual, cuando ordenado en orden ascendente, es
lexicogrficamente mximo entre todos los vectores de asignacin ordenados en orden
ascendente.
41
Restricciones
ed
xd ce
e = 1, 2,...,
(6.2.1a)
x0
(6.2.1b)
Obviamente, como es simple de ver, la ecuacion (6.2.1a) quiere decir que, para
cada enlace, la suma de los anchos de banda de cada demanda que pase por ese enlace, no
puede ser mayor que la capacidad de dicho enlace, lo cual es razonable.
De acuerdo a la Definicin 6.1, la solucin x* de ste problema tiene la propiedad
de que para cualquier otro posible vector x = (x1, x2,, xD), cuando ambos vectores estn
ordenados ( xi*(1) xi*(2) ... xi*( D )
y
x j (1) x j (2) ... x j ( D ) ) entonces existe un ndice
d, 0 d D, tal que xi*(l ) = x j (l ) para l = 1, 2,, d y xi*( d +1) > x j ( d +1) .
Para establecer la equivalencia de la caracterizacin lexicogrfica de la solucin
ptima al problema MMF/FIXSP (Max-Min Fairness for Fixs Paths; problema que
estamos actualmente analizando) con una caracterizacin justa max-min ms conocida,
para el caso considerado de camino fijo nico, debemos introducir a continuacin una
nueva definicin y proposicin.
Definicin 6.2
Un posible vector de asignacin de flujo x que satisfaga (6.2.1a y 6.2.1b) es max-min
justo si para cada demanda d existe un enlace saturado e ( ed xd = ce ) perteneciente al
d
Proposicin 6.1
Un vector de asignacin x* resuelve el problema anterior si y slo si es max-min justo en
el sentido sealado por la Definicin 6.2. La solucin x* de este problema es nica.
Finalmente, la formulacin completa del problema de MMF con caminos fijos
nicos es la siguiente:
6.2.1 Formulacin completa del Algoritmo 1:
Variables
xd
ued
ze
42
Restricciones
ed
xd ce
ed
(1 ed ) 1
e = 1, 2,...,
(6.2.2a)
(6.2.2b)
d = 1, 2,..., D
ed ce ce ed ' xd '
e = 1, 2,...,
(6.2.2c)
d ' = 1, 2,..., D
d'
ed ce ze xd
xd ze
e = 1, 2,...,
e = 1, 2,...,
d = 1, 2,..., D
d = 1, 2,..., D
y
y
ed = 1
ed = 1
(6.2.2d)
(6.2.2e)
con todas las xd y ze continuas no negativas y todas las ued binarias (6.2.2f)
Como comentarios que podemos hacer al respecto de la formulacin de las
ecuaciones anteriores, si observamos la ecuacin (6.2.2b) podemos ver que lo que
bsicamente quiere decir es que para cada demanda, si consideramos slo los enlaces que
la conforman, existe alguno para el cual ued es igual a 0, lo cual implica que se enlace e
est saturado y xd es mximo en el mismo (dicho de otra manera, que llegu a obtener al
mayor ancho de banda posible para sa demanda y me doy cuenta de ello, ya que alguno
de los enlaces que conforman la demanda satur ya). Luego, la ecuacin (6.2.2c),
bsicamente nos hace ver que si ued es igual a cero para un determinado enlace, entonces
la parte de la derecha de sa ecuacin es cero tambin, indicando que ya ha saturado el
enlace, debido a que la suma de todos los anchos de banda de todas las demandas que
pasan por el mismo ha igualado a su capacidad. Finalmente, de las ecuaciones (6.2.2d) y
(6.2.2e) sacamos que si ued es igual a cero, entonces xd = max{xd: d=1,2,D, y
ed ' = 1 } (dicho en otras palabras, si ued=0 entonces xd es el mximo flujo en el enlace e.
Por ende, usando la Preposicin 6.1, el problema (6.2.2) tiene una solucin nica
x* = ( x1* , x2* ,..., xD* ) , idntica a la solucin inicial del problema (6.2.1)).
Finalmente, el nico vector justo max-min (mximo vector de asignacin
lexicogrfico) x* = ( x1* , x2* ,..., xD* ) , puede ser hayado usando el siguiente algoritmo 1.
6.2.2 Pasos para resolver el Algoritmo 1
Paso 0:
Poner x* = 0
Paso 1:
t := min ce / ed : e = 1, 2,..., E
d
Paso 2:
ce := ce t ed
d
para
e = 1,2,..., E;
43
xd* := xd* + t
para
d = 1,2,..., D
Remover todos los enlaces saturados (todos los enlaces e con ce=0). Para
cada enlace removido e, remover todos los caminos y correspondientes
demandas que usan ese enlace removido (todas las d con ed = 1 ).
Paso 3:
(6.2.3a)
sujeto a
t ed ce
d
e = 1, 2,..., E
(6.2.3b)
6.3
Ahora seguiremos considerando el caso del MMF para caminos fijos, pero
agregndole ahora pesos a las demandas y cotas superior e inferior a los flujos asignados
a esas demandas.
6.3.1
ndices
d = 1, 2,, D demandas
e = 1, 2,, E enlaces
Constantes
ed = 1 si el enlace e pertenece al camino fijo de la demanda d; 0 en caso
contrario
ce
capacidad del enlace e
wd
peso de la demanda d
hd
lmite inferior para el flujo de la demanda d
Hd
lmite superior para el flujo de la demanda d
Variables
xd
Objetivo
Encontrar el vector de asignacin x, el cual, cuando est ordenado en orden
ascendente, es lexicogrficamente mximo entre todos los vectores de asignacin
ordenados ascendentemente.
44
Restricciones
hd xd H d
ed
d = 1, 2,..., D
wd xd ce
(6.3.1a)
(6.3.1b)
e = 1, 2,..., E
(6.3.1c)
x0
6.3.2
Paso 0:
maximizar
(6.3.2a)
sujeto a
t wd ed ce
d
e = 1, 2,..., E
(6.3.2b)
para
e = 1, 2,..., E;
Paso 1:
Paso 2:
Paso 3:
Remover todos los enlaces saturados (todos los e con ce = 0). Para cada
enlace removido e remover todos los caminos y correspondientes
demandas que usan el enlace removido (todas las d con ed = 1 ).
Resolver el problema LP (6.3.2) para obtener t.
ce := ce t ed wd
d
para
e = 1, 2,..., E;
xd* := xd* + t
para
d = 1, 2,..., D
Remover todos los enlaces saturados (todos los e con ce=0). Para cada
enlace removido e remover todos los caminos y correspondientes
demandas que usen el enlace removido (todas las d con ed = 1 ).
Si no quedan ms demandas entonces detenerse. En caso contrario ir al
paso 1.
45
Observacin
La implementacin de este algoritmo consiste bsicamente en agregar un enlace
y nodo ficticio para cada demanda, de manera de asegurarse que por dicho enlace pase
solamente sa demanda en particular. O sea que cada demanda tendr un enlace y nodo
ficiticio propio de ella. La capacidad de dicho enlace ficticio ser igual al ancho de banda
requerido para la demanda en cuestin. De esta manera, nos aseguramos que el ancho de
banda no se aumente ms que el ancho de banda requerido por el usuario. Es una manera
de poner un tope superior al ancho de banda.
6.4
El siguiente problema es para mltiples caminos flexibles (MMF/FLMP, MaxMin Fairness for Flexible Multiple Paths).
ndices
d = 1, 2,, D
p = 1, 2,, Pd
e = 1, 2,, E
Constantes
edp = 1 si el enlace e pertenece al camino p de la demanda d; 0 en caso contrario
ce
Variables
xdp
Xd
XD)
46
Objetivo
Encontrar el vector de asignacin de flujo total X, el cual, cuando ordenado en
orden ascendente, es lexicogrficamente mximo entre todos los vectores de
asignacin ordenados en orden ascendente.
Restricciones
xdp = X d
d = 1, 2,..., D
(6.4.1a)
x = ce
edp dp
e = 1, 2,..., E
(6.4.1b)
(6.4.1c)
(6.4.2a)
X d = xdp
d = 1, 2,..., D
t Xd 0
d = 1, 2,..., D
x = ce
edp dp
e = 1, 2,..., E
(6.4.2b)
(6.4.2c)
(6.4.2d)
(6.4.2e)
47
paso que chequea qu demanda de asignacin Xd puede seguir siendo incrementada sin
afectar al resto de las demandas.
La eficacia del Algoritmo 3 depende de la eficiencia del test de no bloqueo (NBT)
usado en el Paso 1. El test llamado NBT1 consiste en resolver el siguiente problema LP
para cada demanda fija d Z1:
maximizar
Xd
(6.4.3a)
sujeto a
X d ' = xd ' p
d ' = 1, 2,..., D
(6.4.3b)
td ' X d ' 0
d'
ed ' p d ' p
d ' = 1, 2,..., D
ce
e = 1, 2,..., E
(6.4.3d)
(6.4.3e)
Paso 1:
Pongamos n := n + 1. Empecemos considerando las demandas d Z1 una
por una, para chequear si el volumen total de asignacin X d* puede hacerse mayor a t*,
sin decrementar las mximas asignaciones ya encontradas td para el resto de todas las
demandas d. El chequeo es llevado a cabo por un test de no bloqueo (6.4.3). Si no hay
demandas que bloqueen en Z1 (demanda d Z1 se considera que bloquea, si Xd no puede
incrementarse ms) entonces ir al Paso 2. En caso contrario, cuando la primer demanda
que bloquee se encuentre, digamos demanda d, agregar d al conjunto Z0 y borrarla del
conjunto Z1 (Z0 := Z0 {d}, Z1 := Z1\{d}). Si Z1 = , entonces detenerse (el vector
X * = ( X 1* , X 2* ,..., X D* ) = (t1 , t2 ,..., t D ) es la solucin para el Problema (6.4.1); en caso
contrario proceder al Paso 2.
Paso 2:
Solucionar el problema LP siguiente (modificacin del (6.4.2)) para
mejorar las mejores asignaciones totales actuales:
maximizar
48
sujeto a
X d = xdp
d = 1, 2,..., D
(6.4.4a)
t Xd 0
td X d 0
edp
d = Z1
d = Z0
(td const )
e = 1, 2,..., E
(6.4.4b)
(6.4.4c)
(6.4.4d)
xdp ce
(6.4.4e)
(6.4.4f)
6.5
El siguiente problema es para mltiples caminos flexibles (MMF/FLMP, MaxMin Fairness for Flexible Multiple Paths).
La idea detrs de este algoritmo es la siguiente. Es bsicamente el mismo
algoritmo que el expuesto anteriormente. La principal diferencia es que se detiene una
vez que se llega a obtener el ancho de banda requerido por el usuario. En el algoritmo
anterior, se vea cunto era la mayor cantidad de recursos que la red me poda ofrecer
49
para cada demanda, determinando a su vez cunta carga llevara cada sub-demanda. En
este caso lo que se hace, es una especie de tratamiento sobre el resultado arrojado por el
algoritmo 3. Se toman todas las demandas y sus respectivas sub-demandas (resultados
obtenidos del algoritmo 3), y se ordenan de mayor a menor, segn el ancho de banda que
portan. Supongamos que analizamos primero la primer demanda. Tenemos ya sus subdemandas ordenadas de mayor a menor. Entonces comparamos el ancho de banda que
lleva la primer sub-demanda con el ancho de banda requerido (valor dado por el usuario).
En caso que el ancho de banda de la sub-demanda ya sea mayor que el requerido para la
demanda nmero uno, se resta el ancho de banda requerido al que porta la sub-demanda y
se descartan el resto de las sub-demandas (ya que al ancho de banda requerido ya fue
satisfecho). Ahora, en caso de no ser mayor, se prosigue a la siguiente sub-demanda y se
ve si el ancho de banda de la primer sub-demanda conjuntamente con el que lleva la
segunda sub-demanda es mayor o no que el requerido. En caso de serlo se descartan el
resto de las sub-demandas y se realiza la resta. Sino, se prosigue de la misma manera, una
y otra vez.
Este proceso se repite para todas las demandas.
Como vemos entonces, los pasos para resolver el algoritmo 4 son los mismos que
los usados en el algoritmo 3. La nica diferencia es que se hace un tratamiento de los
resultados arrojados por el algoritmo 3 de manera de, en caso de ser suficiente el ancho
de banda que porta cada demanda, detenerse en cuanto se llega al valor del ancho de
banda requerido.
50
Parte III
Arquitectura de Software
51
Captulo 7
Representacin de la red e
interaccin con ARCA
En los prximos captulos presentaremos la estructura en la que fue creado el
software NET-TE. Se presentarn los packages utilizados y especificar las principales
tareas de las clases que los conforman, as como su implementacin.
El orden en el que se presentaran los packages ser el siguiente.
En un principio, se empezar en este Captulo 7 con el Package correspondiente a
la topologa de la red en donde se presentarn los elementos que la constituyen as como
una breve descripcin de los mismos. En una diferente seccin dentro de este mismo
captulo, tambin se presentar al package encargado de la interaccin con el ARCA. El
mismo tiene como objetivo el poder crear un rea comn entre ambas aplicaciones para
poder as utilizar el archivo de salida del ARCA como entrada al nuestro y que exista as,
compatibilidad entre ambas aplicaciones.
Pasamos posteriormente a presentar en el Captulo 8 al Package Programa. El
mismo se encarga de la interfaz grfica de la aplicacin. Se encarga de ofrecerle al
usuario, por medio del modo grfico, la manera de acceder a las distintas funcionalidades
del software, como ser ingresar la topologa manualmente, configurar los parmetros de
los enlaces, desplegar los LSPs ya creados y eliminar los que se desee, obtener
informacin sobre el porcentaje de utilizacin de cada enlace en la red y observar de
manera grfica por medio de la diferenciacin de colores los distintos rangos de
utilizacin que el usuario desee analizar, etc.
Luego en el Captulo 9 describimos el Package Cargar Red, encargado de
implementar la funcionalidad de cargar la topologa de la red sobre la cual se esta
trabajando de manera automtica.
Ms adelante, en el Captulo 10, presentamos el Package Crear LSPs, que es
donde se implementa el algoritmo CSPF de computacin de caminos para hayar los
LSPs.
Por ltimo, en el Captulo 11, se trata el Package MT, el cual se encarga de crear
o cargar (en caso de que exista una ya creada) la matriz de trfico de la red, en donde el
usuario especifica todos las demandas representadas por los pares origen-destino, para
luego darla como parmetro de entrada a los algoritmos de redes justas y MIRA.
52
53
54
55
56
Captulo 8
Interfaz Grfica
Este captulo se dedica en su mayora a la interfaz grfica de la aplicacin. En el
package Programa, se implementan las distintas ventanas que permitirn al usuario el
acceso a las distintas funcionalidades que posee el software. Entre ellas se puede
enumerar por ejemplo todo lo relacionado al abrir y guardar distintas configuraciones
topolgicas con sus respectivos parmetros; tambin la barra de herramientas ubicada a la
derecha de la pantalla que es la principal herramienta para acceder a las utilidades del
software; adems, la ventana en la cual se introduce la informacin requerida para poder
cargar la red automticamente, as como las utilizadas para ver el estado actual de la red
en cuanto a lo que utilizacin y caractersticas de los LSPs creados hasta el momento se
refiere.
Se procur agrupar los botones de acuerdo a la tarea que cumplen: ingreso de
elementos de red, algoritmos para el establecimiento de los LSPs y herramientas de
visualizacin del estado actual de la red. Todo esto, por medio de una interfaz grfica
sencilla e intuitiva, que sea de fcil manejo para el usuario.
Pasemos ahora a describir el package Programa.
57
58
59
Nodo
LSR
name LSR_1
coord 208 125
routerid 10.10.10.1
ip 10.10.10.1
comunnity xxxxxxxx
descubierto
end
LSP
LSP
name LSP_1
nodoOrigen LER_1
ancho 100.0
Link_8
Link_11
end
60
61
LSPs que pasan por el elemento, o en el caso de los enlaces su utilizacin. Ver Figura
8.6. Por otro lado la clase Estadsticas, genera un marco ms general en el que se puede
63
64
Captulo 9
65
OSPF-MIB DEFINITIONS
RFC1213-MIB DEFINITIONS
ospfGeneralGroup
ospfAreaTable
mib-2
ospfStubAreaTable
system
ospfLsdbTable
interfaces
ospfAreaRangeTable
ifNumber
ospfHostTable
ifTable
ospfIfTable
at
ospfIfMetricTable
ip
ospfVirtIfTable
icmp
ospfNbrTable
tcp
ospfVirtNbrTable
udp
ospfExtLsdbTable
egp
ospfRouteGroup
transmission
ospfAreaAggregateTable
snmp
ospfConformance
Figura 9.1: Grupos y Tablas que componen los MIBs de OSPF y RFC-1213
Especficamente dada la red en la Figura 9.2, se conecta una PC con el software
instalado a uno de los routers que hablan ospf, que sera el NMS si tenemos en cuenta la
especificacin del protocolo SNMP.
66
ospfNbrIpAddr
10.10.10.17
ospfNbrRtrId
10.10.10.1
ospfNbrState
Full(8)
ospfNbrIpAddr
10.1.1.2
10.1.1.6
10.1.1.14
10.1.1.18
ospfNbrRtrId
10.10.10.2
10.10.10.3
10.10.10.4
10.10.10.5
OspfNbrState
Full(8)
Full(8)
Full(8)
Full(8)
Se comparan los RouterID de estos nuevos routers con los que el software tiene
en memoria como ya conectados. Si aparece en la lista se omite y se guardan los nuevos
routers descubiertos. De esta manera el software se va conectando a todos los routers,
carga a los vecinos, los compara para saber si son nuevos, si lo son los guarda en
memoria para conectarse luego y si no se omiten. Se sigue esta iteracin hasta que no se
descubren routers nuevos y ya me conect a todos los que tengo en memoria.
67
En resmen,
1-
2-
3-
4-
5-
ifDescr
ATM4/0
FastEthernet0/0
FastEthernet1/0
Ethernet2/0
Ethernet2/1
ifType
sonet
ethernetCsmacd
ethernetCsmacd
ethernetCsmacd
ethernetCsmacd
ifMtu
4470
1500
1500
1500
1500
ifSpeed
149760000
100000000
100000000
10000000
10000000
ifAdminStatus
down
up
up
down
down
ifOperStatus
down
up
up
down
down
68
69
Captulo 10
Computacin de caminos
El presente captulo analiza los distintos mecanismos para la computacin de
caminos que van a ser futuros LSPs. Se destaca el algoritmo Constraint Shortest Path
First (CSPF) utilizado para encontrar caminos basndose en el conocido algoritmo
Shortest Path First (SPF) o Dijkstra, con el requerimiento extra de que debe satisfacer
ciertas restricciones. Se le ofrecen al usuario adems distintos criterios a aplicar de
Ingeniera de Trfico (TE), de manera que pueda optimizar el resultado arrojado por el
CSPF, filtrando todas las soluciones posibles y dejando solamente las que ms se
aproximan a lo que desea. Tambin se presenta otro algoritmo online para el
establecimiento de rutas que es el MIRA. Se expone tambin el mtodo manual en donde
el usuario establece los LSP de manera explcita indicando el camino que desee.
71
72
Empecemos sealando cules son los distintos parmetros que debe ingresar el
usuario y las opciones que se le ofrecen para pasar luego a comentar ciertas
caractersticas de cmo fue implementada la clase CSPF.
As como lo muestra la Figura 10.3, automticamente que se abre la ventana el
programa ya le asigna un nombre determinado al LSP a crearse.
Paso siguiente, el usuario debe ingresar, como es usual, el ancho de banda que va
a requerir el LSP que desea establecer.
Asimismo tiene la posibilidad de elegir una Afinidad determinada, del grupo de
Afinidades que hayan sido creadas. Esto permite al usuario el poder correr el algoritmo
CSPF slo sobre los enlaces que pertenecen a una determinada Afinidad, lo cual es
prctico en caso de tener distintos tipos de trficos circulando por los enlaces de la red y
desear correr el algoritmo slo sobre los que portan un determinado tipo.
Finalmente, los siguientes parmetros obligatorios a ingresar son el Nodo de
Origen y de Destino.
Como comentario al margen, vale destacar que la ventana fu diseada para que
las opciones se vayan habilitando a medida que los parmetros vayan siendo ingresados
en orden. Esto obliga al usuario a ingresar si o si los parmetros que son obligatorios para
correr el Dijkstra o SPF.
Ahora pasamos a la parte en donde el usuario debe elegir qu criterio usar para
asignar los pesos a los enlaces. Esto es particularmente importante ya que determina la
mtrica en la cual se basar luego el SPF para el clculo de los caminos solucin.
Las opciones presentadas son las siguientes;
73
74
pantalla el resultado conjuntamente con los datos de los caminos descartados, en caso de
haberlos.
Sin embargo en caso de haber elegido la opcin Enlace Presente, se debe tener
ms cuidado en la manera de correr el Dijkstra y cmo hacerlo. Primeramente se
redefinen los pesos de los enlaces de acuerdo a la mtrica elegida. Se deben tomar en
cuenta casos particulares como que uno de los nodos que conforman al Enlace Presente
sea de casualidad el Nodo de Origen o Nodo de Destino, o que justo Enlace Presente sea
el enlace que une al Nodo Origen con el Destino, en cuyo caso ya sera la solucin. En
todos estos casos en particular, se corre el SPF slo 1 vez. Ahora, si no caemos en
ninguno de estos casos en particular, entonces se deber correr el SPF 4 veces. Si
llamamos al Nodo Origen, nodoA; y al Nodo Destino, nodoB. Y supongamos que los
nodos que conforman a Enlace Presente son nodo1 y nodo2. Entonces se corre primero el
Dijkstra entre el NodoA y el nodo1 y luego entre el nodo2 y el NodoB. As se deben
tomar en cuenta todos los posibles caminos que surjan en cada pasada del Dijkstra, y en
caso de haber un error en alguna pasada, tambin se debe tomar en cuenta ya que quizs
no se encuentre camino alguno. Se agrega el Enlace Presente entonces a cada una de
todas las posibles combinaciones que surjan entre todas las soluciones encontradas en las
2 pasadas. Posteriormente, corremos el Dijkstra entre el nodoA y el nodo2 y luego entre
el nodo1 y el nodoB. Ac tomamos tambin en cuenta todos los caminos posibles que
surjan en cada pasada. Y repetimos el razonamiento. En caso de haber encontrado
soluciones en el primer par de pasadas del Dijkstra y en el segundo, se deben juntar todas
y sa es la solucin a mostrar. En todo caso se deber tener especial cuidado con la
aparicin de errores en alguna pasada debido a la no existencia de una solucin.
Finalmente, recurre a la clase Algoritmo en caso de haber ms de una solucin
posible arrojada por el SPF y elegido algn criterio de TE en particular.
Una vez elegida la solucin deseada, quedar guardada con el resto de los LSPs
ya establecidos.
arrojado por el Dijkstra, el enlace con menor ancho de banda disponible (llamemos
enlaceCrtico al valor de ancho de banda de dicho enlace). Se compara cada
enlaceCrtico de cada solucin y se descartan los caminos con el enlaceCrtico ms
pequeo. En caso de quedar an ms de una solucin posible, significa que el
enlaceCrtico para cada uno de estos caminos tiene el mismo valor. Entonces se pasa a
ver cuntos enlaces en cada uno de esos caminos, tienen un ancho de banda similar al
guardado en enlaceCrtico. Los caminos que tengan ms cantidad de enlaces con ese
valor, se descartan (ya que se estara perjudicando a un nmero mayor de enlaces en esos
caminos). Y si an despus de eso, seguimos con ms de una posible solucin, buscamos
el siguiente valor ms pequeo que sea mayor que enlaceCrtico y redefinimos
enlaceCrtico para cada solucin. Repetimos as el proceso iterativamente hasta
quedarnos con una solucin solamente o con varias que sean indistintas unas de las otras
en lo que a este criterio se refiere.
Por ltimo, se debe destacar el mtodo podar3(), el cual se encarga de filtrar
tambin las soluciones arrojadas por el Dijkstra, quedndose slo con las ms cortas en
cuanto a lo que nmero de saltos se refiere.
76
fueron descartados (stos son los caminos que pertenecan a la solucin brindada por el
Dijkstra, pero que no cumplieron el requerimiento de TE elegido).
La informacin desplegada es la siguiente para cada camino: los enlaces que
conforman dicho camino, la capacidad de cada uno de los enlaces, la cantidad de Mbps
que est siendo usada en ellos y el porcentaje de utilizacin.
77
Captulo 11
11.1 El package MT
El package MT concentra todas las tareas referentes a calcular los mejores
caminos posibles para la topologa de red cargada y una matriz de trfico dada.
En este package se encuentran las clases con las que representamos los caminos
encontrados para cada ruta y cuenta con los atributos necesarios para poder asignar el
ancho de banda a cada camino de forma justa. La ruta indica entre qu nodos, qu ancho
de banda y qu afinidad deber tener el LSP que se quiere establecer y el camino indica
por los enlaces deber pasar el LSP.
En la siguiente figura podemos ver el diagrama UML del package:
78
79
80
El archivo comienza con Matriz de trfico que es utilizado por el intrprete para
indicar que es un archivo generado por la clase GeneroMT.
End es utilizado por el intrprete para indicar que se terminaron los atributos del
elemento.
81
El mtodo algoritmo1() corre el mtodo buscar() que cuenta los caminos que
pasan por cada enlace y el mtodo mnimo1() que incrementa el ancho de banda
reservado de todos los enlaces por donde pasa algn camino, esto lo hace hasta que satura
al menos un enlace de cada camino, a ese enlace le fija su ancho de banda. El mtodo
termina cuando todos caminos tienen fijo su ancho de banda.
El ancho de banda final de cada camino puede ser menor, igual o hasta mayor que
el ancho de banda deseado.
El mtodo algoritmo2() corre el mtodo buscar(), pero antes de llamar al mtodo
mnimo1() se abre una ventana que genera un marco donde el usuario puede ingresar los
valores de prioridad y demandamin de cada ruta.
82
Esto lo hace seteando el ancho de banda final de cada sub-demanda de forma que
la suma de stas no supere el ancho de banda deseado de la demanda a la que pertenecen.
Se pueden correr los cuatro algoritmos sin cerrar la ventana y as poder comparar
los resultados obtenidos para cada uno de ellos. Los resultados obtenidos de cada ruta
para el algoritmo seleccionado se pueden ver al elegir una ruta de Lista de rutas. En
pantalla muestra los enlaces por donde pasa y en la misma ventana muestra sus atributos
como se observa en la siguiente figura.
83
84
85
Parte IV
Conclusiones
86
Captulo 12
12.2 Conclusiones
En cuanto a los objetivos planteados, podemos decir que se lleg a cumplirlos
todos de manera satisfactoria.
Se logr implementar una interfaz grfica sencilla y fcil de usar por cualquier
usuario, la cual le otorga una amplia flexibilidad al momento de disear o modificar su
red. Adems, se le brind al usuario varios mecanismos para poder visualizar el estado
actual de la red, pudiendo ver informacin de elementos en particular o de la red en
general. Pensando en la comodidad del usuario en la manera de cmo apreciar esa
informacin, se brinda toda esa informacin tanto en forma numrica como grfica.
El problema del establecimiento de los LSPs fue solucionado utilizando el
algoritmo CSPF. Realizamos varias pruebas sobre distintas topologas y situaciones, y
pudimos apreciar el correcto funcionamiento del mismo. Pudimos tambin comprobar
que es muy til el tener varias opciones a elegir, ya que esto nos permiti crear mltiples
escenarios y tener as un abanico ms grande de soluciones de entre las cuales elegir.
Tambin pudimos comprobar la gran utilidad que ofrece el algoritmo MIRA. Se
hicieron pruebas de chequeo sobre topologas en las cuales haban claramente ciertos
enlaces que eran crticos para futuras posibles demandas, y pudimos apreciar como el
algoritmo tenda a evitar dichos enlaces crticos.
Finalmente, nos planteamos escenarios donde el algoritmo CSPF no encontraba
ningn camino posible para ubicar a cierta nueva demanda, y probamos en ese caso los
algoritmos de fairness. Pudimos apreciar con xito como, con el uso de stos ltimos, se
lograba ubicar esa demanda sobre la red, cosa imposible de realizar usando el CSPF.
Adems, comprobamos con xito como NET-TE lograba asignar los recursos de una
manera justa en aquellos casos donde no era posible satisfacer por completo a todas las
demandas.
Con respecto a la carga automtica de la red, se pudo comprobar con xito su
funcionamiento en la red multiservicio del PDT desde el IIE de la Facultad. Se conect
una laptop que tena el software NET-TE instalado, a la red. Una vez conectada, y luego
de ingresar la informacin requerida, se pudo apreciar en consola, como el software se
conectaba a los routers vecinos e iba descubriendo la red. Finalmente, y tal como era de
esperarse, se dibuj en pantalla la topologa descubierta. Debido a restricciones de
seguridad, no pudimos descubrir la red entera, ya que slo tenamos visibilidad hasta los
routers ms prximos de la PC de donde estabamos conectados. De cualquier manera se
pudo comprobar el correcto funcionamiento de esta funcionalidad.
Es por todo lo anterior que creemos que NET-TE es una til herramienta que
puede ser usada por cualquier usuario que desee realizar pruebas y crear distintos
escenarios de Ingenieria de Trfico, sin temor de afectar de alguna manera la red real, ya
que se est en todo momento trabajando sobre escenarios de prueba y no sobre la red en
cuestin.
Como conclusin global se puede afirmar que se lograron realizar con xito todos
los objetivos trazados, juntando diversos criterios y algoritmos para el establecimiento de
88
LSPs en un slo software, el cual puede ahora ser usado como pilar para el desarrollo de
un software ms completo y grande, que agregue ms funcionalidades a las ya presentes.
89
Apndices
90
Apndice A
91
92
93
94
95
96
Apndice B
97
B.2 ASN.1
Como ya se mencion, el corazn del modelo SNMP es el conjunto de objetos
administrados por los agentes y ledos por la estacin administradora. Para hacer posible
la comunicacin multiproveedor, es esencial que estos objetos se definan de una manera
estndar y neutral desde el punto de vista de los proveedores. Es ms, se requiere una
forma estndar de codificarlos para su transferencia a travs de la red. Por esta razn, se
requiere un lenguaje de definicin de objetos estndar, as como reglas de codificacin.
El lenguaje usado por el SNMP se toma del OSI y se llama ASN.1 (Abstract Syntax
Notation One-notacin de sintaxis abstracta uno).
Los tipos de datos bsicos del ASN.1 se muestran en la Figura B.1.
Tipo primitivo
Significado
INTEGER
BIT STRING
OCTET STRING
NULL
OBJECT IDENTIFIER
Cadena de 0 o ms bits
Cadena de 0 o ms bytes sin signo
Marcador de lugar
Tipo de datos definido oficialmente
98
Esto es necesario ya que hay que definir algunas reglas si los productos de cientos
de proveedores han de hablar entre s y realmente entender lo que dicen.
En el nivel ms bajo, las variables SNMP se definen como objetos individuales.
Los objetos relacionados se renen en grupos, y los grupos se integran en mdulos. Por
ejemplo existen grupos para los objetos IP y los objetos TCP. Un router puede
99
Todos los mdulos MIB comienzan con una invocacin de la macro MODULEIDENTITY que proporciona el nombre y la direccin del implementador, la historia de
modificaciones y otra informacin administrativa. Luego le sigue una invocacin de la
macro OBJECT-TYPE que tiene cuatro parmetros requeridos y cuatro opcionales:
SYNTAX:
MAX-ACCESS:
escritura, lectura).
STATUS:
obsoleto)
DESCRIPTION:
ospfRouterId ObjectType
Syntax
RouterID
MaxAccess
read-write
Status
current
Description
the
B.3 SNMP v1
SNMP v1 es la implementacin inicial del protocolo SNMP. Es descrito en el
RFC 1157. Opera bajo protocolos tales como User Datagram Protocol (UDP), Internet
Protocol (IP), OSI Connectionless Network Service (CLNS), AppleTalk DatagramDelivery Protocol (DDP) y Novell Internet Packet Exchange (IPX). Esta versin es la
ms extendida en su uso y es el protocolo de facto en la comunidad de Internet.
100
B.4 SNMP v2
Es una evolucin de la versin inicial. SNMP v2 ofrece muchas mejoras as como
opciones adicionales: GetBulk e Inform.
GetBulk
Inform
101
Apndice C
Ejemplo
102
tal
que
f ( x0 ) LEX f ( x)
x Q
Las restricciones con las que trabajaremos son, expresadas en trminos generales,
las siguientes:
xdp = X d
d
demanda
p
enlace
e
edp xdp ce
d p
x 0 demanda
y todo camino
dp
2
1
x12 + x22 = X 2
x12 + x12 2
x11 + x22 1
x12 + x22 2
x12 + x22 1
xij 0
i = 1, 2
j = 1, 2
103
max
1
2
x1 + x1
x1 + x 2
2
2
2
1
x1 + x2 2
* 1 2
x1 + x2 1
x2 + x2 2
2
1
1
x2 + x22 1
j
xi 0 i = 1, 2
con
x Q
j = 1, 2
Haciendo cuentas, 2 x11 + x12 + x12 + x22 = ( x11 + x22 ) + ( x12 + x12 ) 3
x12 = 0
x =1
x =0
b) x11 = 0.5
x12 = 0.5
1
2
2
2
1
2
1
2
= 1 f 2 ( x) = x2 + x2 1 x2 + x2
x Q
x Q
104
x12
x12
x22
(NET-TE en su caso arroja los valores [1, 1, 1, 0])
1
2
1 x1 + x1
x Q
0
lo cual nos lleva a la solucin:
X 0 = 0.7436,
0.6066,
0.8663,
0.1337
f 2 ( X ) = 1
x11
x12
x12
x22
(NET-TE en su caso arroja los valores [1, 0, 1, 0])
Esto demuestra que permaneci igual que el valor de hayado previamente.
No aumento!
Segn el algoritmo, tenemos que pasar entonces el ndice k = 2 al grupo B.
Por lo que, B = {2} y
B ' = {1}
con
max
1
2
x1 + x1
1 x1 + x 2
max
2
2
2
1
1
2
2
x
x
+
f1 ( x) = x1 + x1
1
2
1
2
B
1
2
1 = t2 f 2 ( x) = x2 + x2
x1 + x2 1
x Q
x2 + x2 2
2
1
1
x2 + x22 1
j
xi 0 i = 1, 2
j = 1, 2
105
La repuesta es Si:
x11 = x12 = 1
x12 = 1
x22 = 0
( B = {2}
B ' = {1}
t2B = 1) , lo
averiguamos:
max f1 ( x) = x11 + x12
max x11 + x12
B
1
2
1
2
t2 = 1 f 2 ( x) = x2 + x2 1 x2 + x2
x Q
x Q
x12
x12
x22
(NET-TE en su caso arroja los valores [1, 1, 1, 0]).
Como podemos apreciar, X1 es igual a 2. Por lo tanto no se pudo hacer mayor que
el ltimo valor de hayado.
Pasamos como es debido el ndice k = 2 al conjunto B. Tenemos entonces que
t =2.
B
1
106
Apndice D
Software
Las acciones principales que pueden realizarse en el simulador se encuentran
distribuidas en el men Archivo, en la barra de herramientas debajo del men Archivo y
en la barra vertical a la derecha. Una vez iniciado el programa se visualizar una ventana
principal como se muestra a continuacin en la Figura D.1.
107
Abrir,
para
abrir
un
archivo
mediante
el
mtodo
botonOpen_actionPerformed(ActionEvent e) de la clase Principal.
Nuevo,
para
crear
un
nuevo
archivo
mediante
el
mtodo
botonNew_actionPerformed(ActionEvent e) de la clase Principal.
Guardar,
para
guardar
un
archivo,
mediante
el
mtodo
botonSave_actionPerformed(ActionEvent e) de la clase Principal.
Crear matriz de trfico, para crear un archivo de una matriz de trfico mediante el
mtodo botonRuteo_actionPerformed(ActionEvent e) la clase Principal.
salvar y cerrar
cerrar sin salvar
cancelar
Al seleccionar este tem, se genera el evento, presionado del botn salir, el cual es
tomado por el mtodo salirArch_actionPerformed(e) de la clase Principal, que a su vez
invoca al mtodo processWindowEvent(WindowEvent e) de la clase Principal, mtodo
109
que se encarga de cerrar el programa dando las opciones correspondientes para guardar
un archivo abierto.
BW deseado: jTextFieldNombre.getText()
Nodo Origen: comboNodoOrigen_actionPerformed(ActionEvent e)
Nodo Destino: comboNodoDestino_actionPerformed(ActionEvent e)
Afinidad: comboAfinidad_actionPerformed(ActionEvent e)
LER,
para
crear
un
LER
mediante
el
botonLER_actionPerformed(ActionEvent e) de la clase VentanaConf.
LSR,
para
crear
un
LSR
mediante
el
botonLSR_actionPerformed(ActionEvent e) de la clase VentanaConf.
110
mediante
mtodo
mtodo
LINK,
para
crear
un
LINK
mediante
el
mtodo
botonLink_actionPerformed(ActionEvent e) de la clase VentanaConf.
Eliminar, para
eliminar el objeto seleccionado mediante el mtodo
botonDel_actionPerformed(ActionEvent e) de la clase VentanaConf.
CSPF, para crear un LSP con la menor mtrica posible mediante el mtodo
botonCSPFActionPerformed(ActionEvent e) de la clase VentanaConf.
Fair Network, para crear los LSPs de la matriz de trfico elegida mediante el mtodo
botonMTActionPerformed(ActionEvent e) de la clase VentanaConf.
MIRA, para crear los LSPs de la matriz de trfico elegida mediante el mtodo de
botonMIRAActionPerformed(ActionEvent e) de la clase VentanaConf.
111
Fairness bsico
Fairness acotado
Fairness con mltiples caminos
Fairness con mult. caminos acotado
Si se eligi unos de los 2 primeros algoritmos se debe elegir la mtrica entre peso
o minhop.
Al marcar Elegir camino manualmente se puede elegir entre todos los caminos
con la menor mtrica posible calculados de cada ruta, con cual quedarse. Esto se hace
llamando al mtodo jCheckBox4_actionPerformed(ActionEvent e) que llena el combo
Lista de rutas con todas las rutas de la matriz de trfico. Al seleccionar una ruta de este
combo se llama al mtodo podar, luego al mtodo shortestPath de la clase Algoritmo, se
llena el combo de Caminos posibles con los caminos calculados. Al seleccionar un
camino del combo se guarda los enlaces por donde pasa el camino seleccionado en el
vector enlacesGr de la clase Caminos.
Para correr los algoritmos se debe oprimir el botn Correr que llama al mtodo
jButtonCorrer_actionPerformed(ActionEvent e). Este mtodo primero se fija que
algoritmo se selecciono, esto lo hace fijndose cual JCheckBox fue seleccionado.
Si se eligi el algoritmo1, entonces JcheckBox().isSelected=trae. Ver Figura D.3.
113
114
El mtodo calculatodos, calcula todos los caminos posibles entre el nodo origen y
el nodo destino sin considerar BW, mtrica ni afinidad.
El mtodo OptimizacionLineal, calcula el valor de la variable auxiliar tau.
El mtodo OptimizacionLinealChequeo, maximiza de a una demanda y compara
su valor con el valor de la variable auxiliar tau calculado en OptimizacionLineal.
Los mtodos OptimizacionLineal y OptimizacionLinealChequeo son los
encargados de maximizar las demandas, asignando a cada sub-demanda el ancho de
banda calculado. El ancho de banda final de cada demanda es la suma de los anchos de
banda de todas sus sub-demandas.
Si se eligi el algoritmo 4, despus de tener el ancho de banda final de cada
demanda se llama al mtodo ordenar, que ordena de mayor a menor las sub-demandas de
cada demanda segn su ancho de banda. Esto se hace para asignar a las demandas que su
ancho de banda final es mayor que su ancho de banda deseado, asignarle como ancho de
banda final el ancho de banda deseado.
El mtodo jComboBox_actionPerformed(ActionEvent e), pinta los enlaces por los
cuales pasa la ruta seleccionada en el combo Lista de rutas. Si la ruta tiene subdemandas
permite mostrar en pantalla cada una de ellas por separado.
El mtodo jButtonAceptar_actionPerformed(ActionEvent e), crea un Lsp para
cada ruta, lo agrega en el combo de LSPs y actualiza el ancho de banda reservado de cada
enlace que pertenece al camino calculado.
115
Bibliografa
[1] NetScope: Traffic Engineering for IP Networks. Paper de AT&T Labs. Autores:
Anja Feldmann, Albert Greenberg, Carsten Lund, Nick Reingold y Jennifer
Rexford. Marzo 2000.
[2] Request for Comments (RFC): 3272. Visin y Principios de la Ingeniera de
Trfico en Internet. Autores: D. Awduche, A. Chiu, A. Elwalid, I. Widjaja, X.
Xiao. Mayo 2002.
[3] MPLS: Technology and Applications. Captulo 7: Constraint-Based Routing.
Autores: Bruce Davie y Yakov Rekhter. Ao 2000.
[4] Engineering Internet QoS. Captulo 12: Future. Autores: Sanjay Jha y Mahbub
Hassan. Ao 2002.
[5] Data Networks: Routing, Security, and Performance Optimization. Captulo 8:
Quality of Service. Autor: Tony Kenyon. Ao 2002.
[6] Minimum interference routing with applications to MPLS traffic engineering.
Proceedings of International Workshop on QoS, Pennsylvania. Autores: M.
Kodialam y T.V.Lacksham. Junio 2000.
[7] A New Bandwidth Guaranteed Routing Algorithm for MPLS Traffic
Engineering. Autores: Bin Wang, Xu Su y C.L. Philip Chen. Noviembre 2002.
[8] Network Flows. Autores: R.K Ahuja, T.L Magnanti y J.B. Orlin . Prentice Hall.
Ao 1993.
[9] Multi-terminal network flows, Journal of SIAM. Autores: R.E. Gomory y T.C.
Hu. Ao 2002.
[10] Routing, Flow and Capacity Design in Communication and Computer
Networks. Captulo 8: Fair Networks. Autores: Michal Pioro y Deepankar
Medhi. Ao 2004.
116
Glosario de trminos
ARCA: Analizador de Redes de Caminos Virtuales, software que analiza el problema de
brindar garantas de Calidad de Servicio (QoS) as como realizar Ingeniera de Trfico sobre redes de
datos.
AS: Autonomous System, reas que en su conjunto modelan a una red y dentro de las cuales las
rutas son determinadas por el ruteo intradominio.
ASN.1: Abstract Syntax Notation 1, lenguaje de definicin de objetos estndar usado por SNMP.
BGP: Border Gateway Protocol, protocolo de ruteo interdominio.
CBR: Constraint Based Routing, ruteo que intenta encontrar un camino que optimice cierta
mtrica escalar y al mismo tiempo no viole un conjunto de restricciones.
CLNS: OSI Connectionless Network Service, protocolo bajo el cual opera SNMP v1.
CR-LDP: Constraint Route LDP, protocolo de distribucin de etiquetas del tipo enrutamiento
explcito que ofrece caractersticas de Ingeniera de Trfico.
CSPF: Constraint Shortest Path First, algoritmo para la computacin de caminos que toma en
cuenta al mismo tiempo un conjunto de restricciones.
DDP: AppleTalk Datagram-Delivery Protocol, protocolo bajo el cual opera SNMP v1.
DLCI: Data Link Connection Identificator, ejemplo de etiqueta o encabezado que pueden
utilizarse como etiqueta de MPLS.
FEC: Forwarding Equivalence Class, representacin de un conjunto de paquetes que comparten
los mismos requerimientos para su transporte en MPLS.
IETF: Internet Engineering Task Force, grupo de trabajo dedicado en su mayora al control del
trfico en lo que a la ingeniera de trfico se refiere.
IPX: Novell Internet Packet Exchange, protocolo bajo el cual opera SNMP v1.
IS-IS: Intermediate System to Intermediate System, protocolo de ruteo intradominio.
ISP: Internet Service Provider, proveedor de acceso a Internet.
LDP: Label Distribution Protocol, protocolo responsable de que el LSP sea establecido para que
sea funcional mediante el intercambio de etiquetas entre los nodos de la red.
LER: Label Edge Router, router encargado de la distribucin de etiquetas.
LIB: Label Information Base, tabla de conectividad contra la cual es examinada y comparada la
etiqueta MPLS al llegar del LER al LSR, determinando la accin a seguir.
LSP: Label Switched Paths, ruta que sigue un paquete entre dos nodos de la red MPLS.
LSR: Lable Switch Router, router encargado de dirigir el trfico dentro de la red MPLS.
MIB: Management Information Base, coleccin de informacin organizada jerrquicamente
donde los objetos son accedidos usando SNMP y la cual reside en el elemento de red.
MIRA: Minumum Interference Routing Algorithm, algoritmo de ruteo de caminos que
intenta minimizar la interferencia que provoca el establecimiento de un nuevo camino a potenciales
nuevos caminos que son desconocidos.
MMF: Max-Min Fairness, principio de asignacin usado para formular el esquema de asignacin
de recursos en donde se intenta asignar la mayor cantidad de recursos a cada demanda, al mismo tiempo
que se intenta mantenerlos lo ms similares posible.
MNF: Maximum Network Flow, mximo ancho de banda que puede traficar la red entre
determinado par de nodos ya sea por un nico camino o varios.
MPLS: Multi Protocol Label Switching, tecnologa de ruteo y reenvo de paquetes en redes IP
que se basa en la asignacin e intercambio de etiquetas, que permiten el establecimiento de caminos a
travs de la red.
NET-TE: Networking Traffic Engineering, nombre del software diseado en este proyecto que
hace alusin a la Ingeniera de Trfico en redes; tema principal de ste trabajo.
117
118