Professional Documents
Culture Documents
Simulacion y comparativa de
mecanismos de conmutacion en redes
opticas
Curso 2004-2005
Proyecto Fin de Carrera
Simulacion y comparativa de
mecanismos de conmutacion en redes
opticas
Presidente:
Vocal:
Secretario:
Vigo, a de de 2005
Resumen
V
Contenido
1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1. Redes totalmente opticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Tecnologas de conmutacion para redes opticas . . . . . . . . . . . . . . 2
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Fundamentos de OBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Conformacion y segmentacion de rafagas . . . . . . . . . . . . . . . . . . . 8
2.3. Establecimiento de conexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1. El tiempo de offset entre la rafaga y el paquete de
control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2. Encaminamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4. Conmutacion interna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.1. Resolucion de contiendas . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.2. Algoritmos de planificacion de canal . . . . . . . . . . . . . . . . . 18
2.5. Hacia una Internet Optica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.1. Clases de servicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.2. Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.3. TCP sobre OBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3. El simulador ns-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2. Componentes de red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3. Paquetes de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4. Planificador de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
VII
VIII Contenido
5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1. Diseno de un escenario de pruebas . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.2.1. Generacion directa de rafagas . . . . . . . . . . . . . . . . . . . . . . . 71
5.2.2. Agregacion de paquetes en rafagas . . . . . . . . . . . . . . . . . . . 76
5.3. Otras pruebas realizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Lista de acronimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Lista de figuras
IX
X Lista de figuras
XI
1
Introduccion
1
2 1 Introduccion
Acceso electrnico
Nodo frontera Acceso electrnico
de ingreso Nodo frontera
de egreso
Nodo interno
1.3. Objetivos
Los objetivos del presente proyecto son:
1. Estudiar las prestaciones de los mecanismos de conmutacion contempla-
dos, y concluir cuales son las mejores soluciones. Se propondran, si es
posible, soluciones propias. Para realizar el estudio se empleara la tecnica
de simulacion, cuyas ventajas son bien conocidas:
El modelo construido puede ser modificado de manera rapida con el
fin de analizar diferentes polticas o escenarios.
Generalmente es mas barato mejorar el sistema va simulacion que
hacerlo directamente en el sistema real. En este caso, y de momento,
es la unica va, pues no existen redes reales que operen con OBS.
1.3 Objetivos 5
2.1. Arquitectura
Primeramente haremos una distincion entre la frontera y el interior de
la red, y describiremos las funcionalidades de los nodos pertenecientes a cada
lugar. En general, una red OBS consiste en una serie de routers opticos1 inter-
conectados que transportan datos recolectados por las interfaces electronicas
de la frontera. La interconexion se hace mediante enlaces WDM, cada uno de
ellos transporta multiples longitudes de onda o canales.
Los nodos frontera dispondran de un router optico y de una parte electroni-
ca, y seran la interfaz de acceso entre las redes optica y electronica.
Las tareas de los routers frontera son:
Ensamblar los paquetes provenientes de la red electronica en rafagas y
enviarlas hacia la red optica interna.
Desensamblar las rafagas provenientes de la red interna en paquetes y
enviarlos a la red electronica.
Iniciar el establecimiento de conexion.
Establecer el offset entre el paquete de control y la rafaga de datos.
Los nodos internos solo dispondran de un router optico, y se encargaran
de:
Propagar la senalizacion.
1
A pesar de lo que indica el termino no hay que olvidar que en estos dispositivos
todava hay procesamiento en dominio electronico en el plano de control.
7
8 2 Fundamentos de OBS
Nodo interno
Nodo frontera
1
1
Unidad de
2 control de 2
conmutacin
(SCU)
Fibras de Fibras de
entrada salida
Matriz de
conmutacin
N ptica N
(OXC)
Router interno
2 1 1 3 1
3
fibra entrada fibra salida
3
Mux
Demux
Conmutador ptico
2 1 1 3 1
3
fibra entrada fibra salida fibra entrada fibra salida
3
Fig. 2.3. Detalle del router interno OBS y comparativa con otras arquitecturas. Se
observa la fuerte separacion entre los planos de control y de datos en OBS, en este
caso con un canal reservado para la informacion de control, siendo esta informacion
la unica que sufre las conversiones O/E/O. En OPS toda la informacion se transmite
en el mismo canal, debiendo separarla en cada nodo, lo cual implica mas conversores
O/E/O que en OBS y la necesidad de retardar los datos mediante lneas de retardo
(FDL). En ambos casos se consigue una alta utilizacion de los canales. En OCS sin
conversores O/E/O los canales opticos se reservan exclusivamente para la comuni-
cacion entre un par de nodos frontera, impidiendo una mas eficiente multiplexacion
estadstica.
clase 0
clase 1
hacia nodo 1
Mdulo de Segmentador
Planificador de rfaga
trfico encaminamiento clase 0 trfico
de entrada de salida
clase 1
E
hacia nodo N1
O
Nodo frontera Ensambladores de rfaga
Rfaga de datos
E O
Conversin E/O
pertenece a una red con N nodos frontera, por lo que cada nodo frontera
debera contar con 2 (N 1) buferes.
Por otra parte, los nodos frontera son tambien los encargados de realizar la
operacion inversa, es decir, la de recoger las rafagas procedentes del interior
de la red OBS y de las que son destinatarios, extraer los paquetes que las
conforman y enviarlos hacia las capas superiores.
offset
instante
transmisin
rfaga de
datos
tiempo
de proceso
paquete control
Rafaga
de datos tiempo de
configuracin
de la matriz
ptica
tiempo de
transmisin/
recepcin
de la rfaga
tiempo de datos
2.3.2. Encaminamiento
En una red OBS sin esta tecnologa el camino configurado desde el nodo
origen al destino esta limitado al uso de la misma longitud de onda. Otra
2.4 Conmutacion interna 17
Nueva
rfaga
1 FFUC
3 LAUC
4 LAUCVF/MinSV
5 MinEV
6 BestFit
tiempo
2.5.2. Multicast
La naturaleza de OBS la hace apta para soportar multicast, gracias al cual
muchas de las aplicaciones emergentes en Internet se pueden desplegar de
forma mas eficiente. En OBS el multicast se consigue mediante bifurcacion de
la luz, lo cual conlleva inherentemente perdidas en la senal. Existe por tanto
un lmite en el numero de veces que una senal puede ser bifurcada. Se han
propuesto tres esquemas:
Multiple Unicasting (M-UCAST): El trafico multicast es tratado como
unicast: copias de los datos multicast se ensamblan junto con los unicast
hacia un mismo destino.
Separate Multicasting (S-MCAST): El trafico multicast y el unicast son
ensamblados separadamente en rafagas distintas.
Tree-Shared Multicasting (TS-MCAST): El trafico multicast perteneciente
a diferentes sesiones puede ser ensamblado en una misma rafaga que es
entregada a traves de un arbol multicast compartido. Es el mecanismo
mas sofisticado pues permite reconocer cuando hay un cierto grado de
solapamiento entre las sesiones multicast para compartir los recursos de
forma eficiente.
3.1. Generalidades
El lenguaje de interaccion con el usuario utilizado por NS es OTcl [24],
una extension del lenguaje Tcl orientado a objetos desarrollado por el MIT. El
simulador soporta una jerarqua de clases en C++, llamada jerarqua compi-
lada, y una jerarqua similar en OTcl llamada jerarqua interpretada. La razon
de usar dos lenguajes es que la simulacion de redes abarca tareas de diferente
ambito: por un lado se requiere la simulacion detallada de los protocolos de
comunicacion, con un lenguaje de programacion capaz de manejar datos efi-
cientemente y con buenas prestaciones en velocidad. Por otro lado se ha de
permitir una facil reconfiguracion de los escenarios de simulacion. El lengua-
je C++ es de rapida ejecucion, pero poco apto para realizar los cambios y
relanzar las simulaciones, y el lenguaje OTcl es de ejecucion lenta, pero su na-
turaleza interpretada hace que los cambios se puedan hacer de manera rapida
e interactiva, siendo un lenguaje idoneo para la configuracion. NS provee un
mecanismo de enlace entre los dos lenguajes, para que los objetos y variables
23
24 3 El simulador ns-2
TclObject
Otros NsObject
Connector Classifier
TCP UDP
NODO
Agente
Agente
Agente
punto de
dmux_ (Classifier/Port)
entrada
entry_
classifier_
(Classifier/Addr)
Enlace Enlace
Conectores: Elementos con una sola salida, se colocan en serie para formar
objetos mas complejos. Entre ellos se encuentran las colas, los retardos,
los agentes, objetos volcadores de resultados, etc.
Clasificadores: Poseen varias salidas, pudiendo los datos de entrada optar
por cualquiera de ellas (o por varias) en base a un criterio concreto. Entre
estos componentes estan los clasificadores de direcciones, de puertos, los
replicadores, etc.
Otros objetos importantes son:
Agentes: Representan puntos terminales en la red donde los paquetes son
creados y destruidos. Se usan para implementar protocolos, como TCP
o UDP.
Aplicaciones: Son los objetos que generan la informacion. Se montan sobre
los agentes.
Un nodo en NS se construye interconectando clasificadores, y luego se
completa anadiendo agentes y sobre estos las aplicaciones. La topologa se
conforma creando varios nodos e interconectandolos entre s mediante enlaces.
Cabecera
Datos
Comun IP TCP UDP
offset TCP
Fig. 3.3. Formato de paquete en NS. Puede observarse una pila de cabeceras corres-
pondiente a un escenario de simulacion donde se contemplan los protocolos TCP y
UDP, los cuales no van a ser utilizados simultaneamente por un mismo paquete, sin
embargo el NS crea la cabecera de ambos. La cabecera comun contiene parametros
utiles (e imprescindibles) en la simulacion como: sello temporal, identificador unico,
tipo de paquete, longitud simulada, etc.
forma discreta, ejecutando los eventos vencidos mediante una llamada a sus
funciones/objetos manejadores, que normalmente son los mismos que los pla-
nificaron.
En NS los paquetes son una clase particular de eventos, cuando un objeto
de red necesita retardar un paquete durante un cierto tiempo, este consulta al
planificador central el tiempo actual de simulacion, y planifica el paquete (que
es un evento) para cierto instante relativo despues, indicando como manejador
del evento a s mismo o al objeto siguiente. Otro uso del planificador de eventos
son los temporizadores, utiles para simular el comportamiento de protocolos
como TCP, que necesita temporizadores de retransmision. El planificador se
usa tambien para otros eventos de simulacion como instantes de inicio y fin
de transmision, fin de la simulacion, cada/recuperacion de enlaces, etc.
Existen dos tipos de planificadores de eventos: de tiempo real (para inter-
actuar con redes reales) y de tiempo simulado, y dentro del ultimo grupo tres
tipos, que difieren en la estructura de almacenamiento (listas, arboles, etc.),
pero que ofrecen la misma funcionalidad: List, Heap y Calendar.
4
Implementacion del modulo de simulacion
Hipotesis de partida
29
30 4 Implementacion del modulo de simulacion
3
Todos los enlaces implementados en NS contemplan este tiempo dependiente de
la longitud del paquete, por lo que ha de programarse una clase de enlace aparte.
4.2 Unidades de intercambio de informacion 33
zona de
1 2 3 4 5 6 datos
Fig. 4.3. Punteros a la zona de datos. En este caso una rafaga ha sido segmentada en
dos nuevas rafagas que apuntan a la misma zona de datos. Mediante la estructura que
describe los datos y los punteros dentro de la misma, no son necesarios movimientos
de memoria. En este caso el paquete numero 3 no podra ser recuperado.
Paquetes IP Capa IP
Clasificacin
destino y CoS
Agregacin
Recuperacin
Planificacin
y encolado
Generacin de Generacin de
offset y envo paquetes de control
NODO FRONTERA
Interfaz
MAC
enlace
interno
NODO INTERNO
punto de direccin propia
entrada
entry_
obs_switch_
(Classifier/ObsSwitch)
NODO HBRIDO
Agente
Agente
Agente
(Classifier/TypeSwitch)
dmux_
(Classifier/Port)
IP
Interfaz
MAC
OBS
Nodo OBS
interno
Clasificacin de destino
(Classifier/Addr)
Recupe
racin
burstifier_(dst:CoS)
(Agent/Burstifier)
(Agent/Deburstifier)
Planificador de canal
(ChannelScheduler)
Modos de funcionamiento
segun tecnicas diferentes, dependiendo del nivel de detalle que queramos simu-
lar, o de los recursos de memoria y capacidad de computo de que dispongamos.
Existen dos modos de funcionamiento.
1. Modo causal: Es el modo habitual. Se recolectan paquetes reales que llegan
por la entrada. Por ser el unico modo que maneja paquetes reales, es el
unico que puede entregarlos en su destino y, por tanto, el unico apto para
trabajar con flujos TCP. Para habilitar o deshabilitar dicha entrega se usa
el parametro booleano delivery .
2. Modo anticausal: El inconveniente del anterior modo es que el agrega-
dor desconoce los instantes de llegada de los paquetes, y debe, por tan-
to, esperar a que sean generados activamente por las aplicaciones. Pero
existe un tipo especial de aplicaciones, llamadas generadoras de trafico
(Application/Traffic), cuya implementacion en C++ permite hacer un
uso pasivo o anticausal de las mismas, a traves del metodo publico double
next interval(int&), que permite consultar las caractersticas (tiempo
de llegada y tamano) del proximo paquete. Se puede por tanto configurar
el agregador de forma activa, de manera que consulte a los generadores
de trafico asociados los instantes de llegada de paquetes futuros (de ah el
nombre de anticausal). Las mejoras de esta tecnica son significativas, pues
permite aliviar el numero total de eventos que debe manejar el planifica-
dor central, ya que antes tenamos una temporizacion (que implica encolar
un evento) por cada paquete, y ahora tendremos una temporizacion por
cada rafaga, pudiendo hablar de una reduccion del numero de eventos, por
motivos de generacion de trafico, de cerca de dos ordenes de magnitud, me-
jora notable aunque se empleen planificadores de eventos con estructuras
de arbol, y con ordenes logartmicos en sus algoritmos de insercion.
Esta tecnica esta limitada a la consideracion de un generador de trafico
por cada agregador, y debe tenerse en cuenta que seran estos ultimos los
que operen activamente, y no las aplicaciones; es decir, no deben usarse
los metodos start y stop de las aplicaciones, habiendose habilitado esos
metodos para los agregadores. Otra limitacion es que solo operan con el
tipo de aplicaciones nombradas. La sintaxis que debe seguirse es (siendo
$burstifier una variable que referencia un agregador)6:
set app [new Application/Traffic/...]
6
Se debe configurar el generador de trafico antes de asociarlo al agregador, pues-
to que disponen de un metodo de inicializacion que se ejecuta en ese momento
(normalmente se ejecuta con el start, pero aqu ese metodo no se usa).
44 4 Implementacion del modulo de simulacion
...
$burstifier start
El enlace interno une los planos optico y electronico, tiene una longi-
tud/retardo nulos y debe dimensionarse, debido a que accede directamente
a la matriz de conmutacion optica, por la forma en que esta implementada
esta ultima. Si no se quiere tener en cuenta el efecto de perdidas en este canal
se puede sobredimensionar con respecto al resto de canales externos, con un
cierto cuidado: aunque un sobredimensionamiento sin contemplaciones puede
ser una solucion aceptable, establecer un cierto lmite puede producir menores
perdidas. Esto es debido a que, si bien un canal interno sobredimensionado
es capaz de transportar todo lo que por el circule, no se debe permitir que
las rafagas lleguen a los conmutadores opticos de cualquier manera, pues una
vez se encuentren en dominio optico, no podran ser retardadas. As pues,
la mejor opcion es hacer un sobredimensionamiento razonable, y emplear la
caracterstica del planificador asociado a este canal en su direccion electronica-
optica, que permite retardar las rafagas para ser planificadas enteras. Como
sobredimensionamiento razonable puede utilizarse el criterio de asignar como
maximo el mismo numero de canales de los que disponga el nodo en todas sus
entradas/salidas8.
Este enlace esta planificado, pudiendo usarse cualquiera de los planifica-
dores implementados, con la especial caracterstica de que pueden, como se
ha visto, retardar los datos (tanto la rafaga como el paquete de control, pa-
ra no modificar la prioridad). Ademas, al ser la primera conversion optica,
este planificador actua a su vez como sintonizador. La planificacion en este
8
Ciertamente es un sobredimensionamiento, pues por esos canales circula todo el
trafico que va hacia/desde la parte electronica asociada a ese nodo (por su enlace
interno), y el trafico que va de paso con otro origen y otro destino.
46 4 Implementacion del modulo de simulacion
Eventos de conmutacin
BHP SCU n n
eventos
conmutacin 0 0
n+1 1 1 n+1
2 2
OXC enlace entrada #i enlace salida #i
DB (interno) (interno)
n n
0 0
n+1 1 1 n+1
2 2
enlace entrada #k enlace salida #k
obs_switch_ n n
(Classifier/ObsSwitch)
Fig. 4.8. Arquitectura del conmutador optico. Se ofrece un punto de vista de com-
ponentes de la ruta de datos dentro del simulador NS, y un punto de vista hardware.
Mecanismos de conmutacion
Nueva
rfaga
3
1
1
2
2
4
tiempo
p = p + (1 ) p. (4.3)
Siendo p la nueva muestra a computar y p la estimacion. Se define un
periodo de configuracion (en muestras computadas), transcurrido el cual se
puede proceder a la comprobacion de la tasa estimada y a la configuracion
de la estrategia de conmutacion. Es importante una correcta afinacion de este
periodo, junto con el parametro de la media geometrica . Un periodo de
configuracion muy largo impedira una rapida adaptacion, mientras que un
periodo corto podra producir configuraciones innecesarias y una mala esti-
macion de la probabilidad de perdida; ademas, tratandose de un algoritmo
distribuido, se debe dejar un margen de influencia de las nuevas configuracio-
nes en el resto de los nodos de la red. La afinacion del parametro indicara la
50 4 Implementacion del modulo de simulacion
planificacion en ruta
actual y busqueda
de nueva ruta
SI
ruta muy larga?
NO
SI mismo numero de
saltos y multipath?
NO
segmentacion > SI
deflexion?
NO
NO planificable
entera?
SI
reservar
recursos
entrada salida
0:0 0:0
0:1 0:1
0:2 1:1 2:0 0:2
1:0 1:0
1:1 0:2 1:1
1:2 1:2
Eventos de conmutacion
OXC OXC
oid=2 oid=2
1:6 1:6
DB_END
DB_START (nuevo)
3
5:2 5:2
2
1
DB_END DB_END
oid=1 oid=1
10:3 10:3
DB_START
DB_START (nuevo) DB_START
OXC
oid=2
1:6
DB_START
(nuevo)
DB_END
5:2
tswitch
DB_END
10:3
DB_END
(nuevo)
Puesto que la SCU puede hacer una planificacion desde un punto de vis-
ta global (puede escoger el mejor candidato siguiendo un criterio concreto,
por ejemplo LAUC, de entre varios enlaces), se ha creado una estructura de
datos que contiene informacion de planificacion. Esta estructura de datos se
reseteara antes de comenzar una planificacion, y seguidamente se ira pasando
por todos los planificadores asociados a los enlaces correspondientes (si estan
activadas tecnicas de multiencaminamiento o deflexion). De esta manera, con-
seguimos encontrar el mejor candidato, en base a algun criterio, de entre todos
los canales de todos los enlaces contemplados. Los criterios de planificacion
son, ordenados por prioridad:
10
Aunque la funcionalidad de los dos planificadores anteriores esta englobada dentro
de la mas amplia funcionalidad que ofrece este nuevo planificador, se mantiene la
implementacion de aquellos, puesto que son los tipos de planificadores mas comu-
nes, y su caracter especfico puede proporcionar mas eficiencia a las simulaciones.
4.8 Computo de estadsticas 57
1 2 3 4 5 6 7 8 9
p1 p2
Fig. 4.13. Contaje de paquetes y datos recibidos. Se recibe en este caso el segmento
definido por p1 y p2 . El contador DB RCV, se incrementara en uno, el IP RCV en cuatro
(paquetes 3, 4, 5 y 6; los otros no son recuperables), y el DATA RCV en la cantidad
p2 p1 . Se podra incluir otro tipo de contador que registrase la suma de los datos de
los paquetes correctamente recibidos, pues DATA RCV incluye datos que no se pueden
entregar, pertenecientes a los paquetes 2 y 7.
Global
flujo 1 flujo N
CoS 1 CoS 2
informacin
almacenada
en la red
tiempo
t0 t transit t1 t2 t transit t3
Distribucion realista de las longitudes de los paquetes IP, con una corre-
lacion del 98.5 % con trafico real [21], con las siguientes caractersticas:
El 55 % de los paquetes tiene 40 bytes de longitud.
El 15 % tiene 576 bytes.
El 12 % tiene 1500 bytes.
El 18 % restante tiene una longitud uniformemente distribuida entre 40 y
1500 bytes.
La clase que implementa esta distribucion se llama RandomVariable/IPlen
y no es configurable.
Distribucion Beta
1 k
P B1 = k
!. (4.7)
X 1 m
k!
m=0
m!
4.11 Validacion del modulo de simulacion 65
M/G/k/k, k=1
B1
B2
tiempo t
Suponer mas de una clase de servicio permitira validar mas aspectos del
modulo de simulacion (el propio esquema de provision de QoS y la planifica-
cion de canal), sin embargo el anterior modelo no es valido. En [2], se ofrece
un modelo de colas en un esquema de provision de calidades de servicio ba-
sado en el tiempo de offset analogo al tratado aqu, en el que, suponiendo un
aislamiento total entre clases, no se consideran paquetes de control ni tiempos
de offset, y se modela el sistema como un sistema de colas con prioridades y
expropiacion de recursos.
Suponiendo dos clases de servicio, la 1 de mayor prioridad que la 2. Se
puede obtener la probabilidad de bloqueo de rafaga de la clase 1 mediante
la ecuacion 4.7, puesto que tiene prioridad estricta sobre la clase 2. Para
evaluar la probabilidad de perdida de la clase menos prioritaria, se evalua la
probabilidad de perdida para el trafico compuesto por ambas clases, mediante
la misma formula:
1, 2 k
PB1, 2 = k
!. (4.8)
X 1, 2 m
k!
m=0
m!
Esto, sin embargo, puede ser inexacto debido a que la distribucion de
tiempo de servicio no se mantiene para las rafagas expropiadas (ver figura
4.16). Suponiendo una distribucion exponencial de la longitud de las rafa-
gas, la probabilidad de bloqueo de rafaga del trafico compuesto se puede
calcular de forma exacta mediante la formula 4.8, debido a la propiedad sin
memoria de la distribucion exponencial (el tiempo de vida residual tambien
sigue una distribucion exponencial), modelando finalmente el sistema como
un M /M /k/k. Los autores senalan que, para una distribucion general de lon-
gitud de las rafagas, el modelo sigue siendo aproximado con bajas perdidas,
donde las expropiaciones de recursos son infrecuentes.
La probabilidad de perdida de la clase menos prioritaria se obtiene facil-
mente a partir de:
66 4 Implementacion del modulo de simulacion
100
alta prio. simulacin
alpta prio. analtico
baja prio. simulacin
baja prio. analtico
global simulacin
102
3
10
4
10
Modo de depuracion
69
70 5 Resultados
630 12
11
945
315
2070
1 315
2565
14
945 9 315
1125 8
945
4 7
630
945 630
2 180
5
945
13
1710
675 1260 1935
1935 1125
3 6
10
Fig. 5.1. Topologa NSFNET de catorce nodos. Las distancias de los enlaces se
expresan en kilometros.
5.2. Resultados
En esta seccion se mostraran los resultados obtenidos con el modulo de
simulacion implementado, los cuales, junto con sus interpretaciones, ayudan
tambien a completar la validacion.
Para la obtencion de los resultados se ha simulado la transmision de un
maximo de diez millones de rafagas (dentro del regimen permanente), lo que
permite obtener medidas de probabilidades de perdida del orden de 106 .
Para el promediado de los retardos se han usado como requisitos una calidad
de la estimacion del 99 % con una tolerancia relativa del 1 %. Los resultados
finales consiguen una tolerancia relativa muy pequena para una calidad del
99 % (del orden de unas milesimas), y no se mostraran en las graficas por
resultar inapreciables.
Debido al gran numero de parametros que entran en juego, se ha hecho
un estudio individualizado del efecto de los mismos, pudiendo concluir como
afectan en otras situaciones.
100 101
102 102
103
104 103
drop
105 10 canales drop MR
15 canales segm
20 canales segm MR
106 104
0.1 0.2 0.3 0.4 0.5 0.1 0.125 0.15 0.175 0.2
Trfico ofrecido normalizado Trfico ofrecido normalizado
0
10
1
10
Probabilidad de prdida de paquete
102
3
10
4
10
105 FFUC
LAUC
LAUCVF, M=2
LAUCVF, M=3
LAUCVF
106
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Trfico ofrecido normalizado
Planificacion de canal
Estrategias de conmutacion
0
10
1
10
Probabilidad de prdida de paquete
102
3
10
4
10
105 drop
segm
defl
segm/defl
defl/segm
106
0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Trfico ofrecido normalizado
0
10
101
Probabilidad de prdida de paquete
102
3
10
4
10
segm
segm/defl
105 defl/segm
adaptativo
0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Trfico ofrecido normalizado
100 16
drop
Retardo [ms]
103 14.5
104 14
drop
segm
105 defl 13.5
segm/defl
defl/segm
106 13
0.1 0.2 0.3 0.4 0.5 0.1 0.2 0.3 0.4 0.5
Trfico ofrecido normalizado Trfico ofrecido normalizado
riores, por lo que las zonas cercanas a las colas de las rafagas tienen mayor
probabilidad de ser planificadas que las zonas cercanas a las cabezas (este
hecho ha sido comprobado con las simulaciones). Los paquetes alojados
hacia las colas de las rafagas esperan menos tiempo de agregacion, por lo
que promedian retardos mas bajos.
5. Las estrategias con deflexion producen retardos elevados con cargas de
trafico elevada (donde las deflexiones son frecuentes), ya que las rafagas
son deflectadas por rutas suboptimas en terminos de retardo. En concreto,
al no abundar en esta topologa rutas alternativas del mismo numero de
saltos, dicho incremento es notorio, no ocurriendo lo mismo en topologas
mas regulares.
6. La deflexion combinada con la segmentacion, con prioridad de la ultima,
presenta un incremento del retardo mas moderado que la deflexion simple,
ya que las deflexiones son mas infrecuentes (solo aquellos segmentos que
no se pueden planificar son desviados).
7. La deflexion combinada con la segmentacion, con prioridad de la primera,
produce incrementos del retardo mucho mayores que el resto de estrate-
gias. Esto se debe a que es posible planificar las rafagas deflectadas o, al
menos, un segmento de las mismas, aumentando la probabilidad de que
fragmentos desviados por rutas suboptimas lleguen a su destino y por tan-
to contribuyan a aumentar el retardo extremo a extremo. El incremento
aparentemente lineal del retardo se debe, en realidad, al efecto contrario
que produce el lmite de longitud comentado en el punto numero 3.
8. A pesar de que el retardo obtenido mediante las estrategias de deflexion
parece no estar acotado superiormente, en realidad s que existe una cota.
Aunque no tiene mucho interes lo que ocurre en un regimen de perdidas
tan elevado, el retardo no sigue creciendo indefinidamente con mayores
traficos ofrecidos, todo lo contrario: debido a las elevadas perdidas, se
alcanzara un regimen donde la penalizacion de las rutas largas se volvera
el factor dominante, disminuyendo el retardo.
100 16
drop
Retardo [ms]
103 14.5
104 14
drop
segm
105 defl 13.5
segm/defl
defl/segm
106 13
0.1 0.2 0.3 0.4 0.5 0.1 0.2 0.3 0.4 0.5
Trfico ofrecido normalizado Trfico ofrecido normalizado
L
. (5.2) =
tout
Siendo L la longitud de la rafaga y tout el tiempo de agregacion. Con los
datos manejados, obtenemos un valor de trafico ofrecido de 0,17. Con trafi-
cos ofrecidos por debajo de dicho punto, el temporizador de agregacion suele
vencer antes que el lmite de longitud, produciendo unas lecturas de retardo
diferentes. En ese regimen, el retardo aumenta con la carga ofrecida, pues
las rafagas son cada vez mayores, y tardan mas en ser enviadas o recibidas 3 .
Concretamente, teniendo en cuenta el ancho de banda de cada canal, se tarda
400 s en transmitir/recibir una rafaga de 50000 bytes de longitud, que es
exactamente el intervalo que vara el retardo en el regimen de trafico ofrecido
que va desde 0 hasta 0,17.
Aunque muy poco, las medidas de probabilidad tambien varan con cargas
bajas, siendo mayores que en el caso anterior, debido a que las rafagas mas
pequenas aprovechan peor el canal, pues el tiempo de configuracion de la
matriz optica se mantiene constante y baja la eficiencia.
100 21
drop
Retardo [ms]
18
3
10 17
16
104
drop
segm 15
105 defl
segm/defl 14
defl/segm
6
10 13
0.1 0.2 0.3 0.4 0.5 0.1 0.2 0.3 0.4 0.5
Trfico ofrecido normalizado Trfico ofrecido normalizado
6.1. Conclusiones
81
82 6 Conclusiones y lneas futuras
83
Anexo II
Compilacion del modulo de simulacion
Para compilar el modulo es necesario disponer del codigo fuente del simu-
lador NS. Dicho codigo fuente, as como las instrucciones para compilarlo se
encuentran disponibles en:
http://www.isi.edu/nsnam/ns/ns-build.html
Una buena opcion es escoger el paquete completo, que en su version mas
reciente es:
http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz
Antes de compilar el NS es necesario anadir el modulo implementado, para
lo cual se procedera de la siguiente forma:
1. Descomprimimos el modulo de OBS y el NS:
tar xvzf obs4ns-X.X.tar.gz
tar xvzf ns-allinone-2.28.tar.gz
cd ns-allinone-2.28/ns-2.28/
2. Parcheamos el codigo1 :
Hay que introducir los tipos de paquete creados, para ello:
(a) En el fichero common/packet.h, anadanse los tipos PT OBS BHP y
PT OBS DB:
enum packet_t {
PT_TCP,
PT_UDP,
......
PT_OBS_BHP,
PT_OBS_DB,
1
Para algunas versiones del NS estan disponibles las versiones modificadas de los
archivos citados, en el directorio obs4ns-X.X/ns/vY.YY.
85
86 Anexo II Compilacion del modulo de simulacion
p_info() {
name_[PT_TCP]= "tcp";
name_[PT_UDP]= "udp";
...........
name_[PT_OBS_BHP]= "OBS_BHP";
name_[PT_OBS_DB]= "OBS_DB";
name_[PT_NTYPE]= "undefined";
}
....
MIP
OBS_BHP // a~
nadir esta lnea y la siguiente.
OBS_DB
Ping
....
};
(c) En el Makefile:
Hay que anadir el codigo del modulo de OBS
# ruta al codigo fuente del modulo de OBS.
OBS_PATH = ../../ns4obs-3.3
OBJ_CC = \
...
$(OBS_PATH)/cpp/arch/typeswitch.o \
$(OBS_PATH)/cpp/arch/CoSclassifier.o \
$(OBS_PATH)/cpp/arch/OBSlink.o \
$(OBS_PATH)/cpp/arch/OBSswitch.o \
$(OBS_PATH)/cpp/arch/OXC.o \
$(OBS_PATH)/cpp/arch/SCU.o \
$(OBS_PATH)/cpp/arch/burstifier.o \
$(OBS_PATH)/cpp/arch/deburstifier.o \
Anexo II Compilacion del modulo de simulacion 87
$(OBS_PATH)/cpp/channelscheduler/channelscheduler.o \
$(OBS_PATH)/cpp/channelscheduler/LAUCscheduler.o \
$(OBS_PATH)/cpp/channelscheduler/LAUCVFscheduler.o \
$(OBS_PATH)/cpp/channelscheduler/LAUCVFMscheduler.o \
$(OBS_PATH)/cpp/channelscheduler/FFUCscheduler.o \
$(OBS_PATH)/cpp/traffgen/expoo2.o \
$(OBS_PATH)/cpp/stats/stats.o \
$(OBS_PATH)/cpp/stats/stat_entry.o \
$(OBS_PATH)/cpp/stats/Batches.o \
$(OBS_PATH)/cpp/stats/SmplStatDrved.o \
$(OBS_PATH)/cpp/stats/SmplStat.o \
$(OBS_PATH)/cpp/random/beta.o \
$(OBS_PATH)/cpp/random/IPlen.o \
$(OBS_PATH)/cpp/global.o \
$(OBS_PATH)/cpp/debug.o \
$(OBS_PATH)/cpp/OBSpacket.o \
$(OBS_PATH)/cpp/OBSroute.o
NS_TCL_LIB = \
...
$(OBS_PATH)/tcl/lib/ns-obs-lib.tcl \
$(OBS_PATH)/tcl/lib/ns-obs-defaults.tcl \
$(OBS_PATH)/tcl/lib/ns-obs-node.tcl \
$(OBS_PATH)/tcl/lib/ns-obs-link.tcl \
$(OBS_PATH)/tcl/lib/ns-obs-stats.tcl
3. Construmos el simulador:
make clean && make
Anexo III
Ejemplo de script OTcl de entrada
# 2 nodos.
set e0 [$ns ObsEdgeNode 1 10 ChannelScheduler/LAUCVF]
set e1 [$ns ObsEdgeNode 1 10 ChannelScheduler/LAUCVF]
$ns obs-ompile
89
90 Anexo III Ejemplo de script OTcl de entrada
# finaliza todo.
proc finish {} {
global ns sc
$ns run
Anexo IV
Glosario de parametros de configuracion.
91
92 Anexo IV Glosario de parametros de configuracion.
set MinSV 0
set MinEV 1
set BestFit 2
RouteLogic/ObsRoute deflection_routes 5
RouteLogic/ObsRoute deflection_extra_hops 0
Referencias
93
94 Referencias
10. Zvi Rosberg, Hai Le Vu, Moshe Zukerman, Burst segmentation benefit
in Optical Switching, IEEE Communications Letters, no. 3, march 2003
13. Biao Chen, Jianping Wang, Hybrid Switching and P-Routing for Optical
Burst Switching Networks, IEEE Journal on Selected Areas in Commu-
nications, no. 7, September 2003
14. Zvi Rosberg, Hai Le Vu, Moshe Zukerman, Jolyon White, Performance
Analyses of Optical Burst-Switching Networks, IEEE Journal on Selected
Areas in Communications, no. 7, September 2003
16. Jingxuan Liu, Nirwan Ansari, Teunis J. Ott Member, FRR for Latency
Reduction and QoS Provisioning in OBS Networks, IEEE Journal on
Selected Areas in Communications, no. 7, September 2003
17. Yang Chen, Chunming Qiao, Xiang Yu, Optical Burst Switching (OBS):
A New Area in Optical Networking Research, Computer Science and En-
gineering Department State University of New York at Buffalo, [OnLine]
http://www.cc.gatech.edu/people/home/yangchen/obs network.pdf
18. Fei Xue, S. J. Ben Yoo, Hiroyuki Yokoyama, Yukio Horiuchi, Performan-
ce comparison of optical burst and circuit switched networks, [OnLine]
http://sierra.ece.ucdavis.edu/documents/
10 fred-ofc05 OBSOCS v6.pdf