PARÁMETROS
4. HERRAMIENTA DE SIMULACIÓN Y LA IMPLEMENTACIÓN WLL DESARROLLADA
4.3. EXTENSIONES A NS-2 PARA LA SIMULACIÓN DE WLL
Retomando las características de la tecnología WLL descritas anteriormente, se presenta un enfoque hacia la interacción entre la estación base y la estación de usuario en una red WLL, específicamente para la simulación de la capa LL y el control de acceso al medio. La estación base puede estar interconectada con otros nodos cableados (usando enrutamiento jerárquico), sin embargo se considera una celda única debido a que una simulación para un escenario multicelda (multibase) no se puede soportar por la falta de implementaciones en ns- 2 que están fuera del alcance de este proyecto.
El tráfico se configura en dirección estación de usuario a estación base (UL), un proceso muy similar al estudiado ocurre en el enlace de bajada, pues se ha definido duplexación por división de frecuencia (FDD). El número de códigos y slots por trama disponibles puede ser
cambiado desde el script Tcl, al igual que el número de usuarios, la duración del slot, la longitud en bytes de una MAC-PDU y su payload, el algoritmo MAC y el método de llenado. Cada estación de usuario transmite en los códigos y slots de tiempo (de cada trama) asignados, excepto sobre el canal ReqCh donde tiene una posición estática asignada en todas las tramas para hacer los requerimientos. La estación base envía sobre el canal AlCh las asignaciones para cada usuario en cada trama. A continuación se mencionan las características más sobresalientes de las implementaciones de la capa MAC y LL:
• LL: Fragmentación y reensamblaje de paquetes y un mecanismo de desecho de paquetes erróneos. Un aspecto importante que se implementó, fue la generación de archivos3 para registrar las medidas de desempeño como: Retardos end to end de los paquetes recibidos (exitosamente) de cada tipo de flujo y para cada terminal de usuario; y los paquetes desechados por erróneos.
• MAC: Definición de los procedimientos en los enlaces de subida y bajada para la estación base y de usuario. Algoritmos de asignación de capacidad, con ancho de banda garantizado para flujos GB solamente y para GB y BE. Métodos de llenado de la matriz (capacidad de la interfaz aire asignada). Igualmente, se implementó la generación de archivos4 para registrar medidas como: Retardos medios de fragmento en cada cola y usuario; paquetes bloqueados por saturación de la capacidad de las colas en cada terminal de usuario; tamaño de los buffers, requerimientos y asignaciones trama por trama para cada terminal de usuario en la simulación.
En secciones siguientes se detallan las funciones principales de cada una de estas capas WLL implementadas para ns-2. Otros archivos adicionados al simulador son los relacionados con las fuentes de tráfico implementadas que se utilizaron en las simulaciones. Lógicamente se adicionaron las líneas de código correspondientes en Makefile.in para su enlazamiento, como se menciona más adelante. Estos archivos son5: expoo-wll.cc, exp-wll.cc, fuente-wll.cc y traffictracemympeg.cc.
3
Para mayor detalle véase sección Archivos Generados del ANEXO A.
4
Ídem.
5
La explicación detallada de estos generadores de tráfico se encuentra en la sección Fuentes Implementadas del ANEXO A.
4.3.1. Cambios en la Estructura del Nodo Inalámbrico
Debido a que la implementación MAC requiere de dos colas para almacenar los fragmentos GB y BE de cada usuario, se modifica la estructura del nodo inalámbrico para quitar la interfaz de cola y fijar el manejo de las dos nuevas dentro de la capa MAC implementada, tal y como muestra la Figura 27. Los cambios involucrados se hacen en los archivos de código siguientes: ns/tcl/lib/ns-mobilenode.tcl, ns/tcl/lib/ns-lib.tcl y ns/tcl/lib/ns-default.tcl.
Canal Inalámbrico Capa Física Capa MAC Capa LL ARP RTAgent (Enrutamiento) Fuente/ Sumidero IP Móvil Puerto Dirección Modelo de Radiopropagación Antena Esquema de Modulación Modelo de Propagación
Figura 27. Estructura Modificada para el Nodo Inalámbrico WLL.
4.3.2. Archivos de Ns-2 Modificados
A continuación de detalla brevemente las modificaciones hechas sobre algunos archivos del simulador (los más importantes)6 para el correcto funcionamiento de la implementación desarrollada. Se aclara que se deben incluir en el simulador los archivos del protocolo de enrutamiento inalámbrico No Ad-Hoc (NOAH) desarrollado por Jörg Widmer [12], el cual
6
Para la instalación completa del desarrollo hecho para ns-2 se entrega en medio óptico todos los archivos -modificados, desarrollados como aporte y otras implementaciones utilizadas (como NOAH)- que deben ser copiados o sobrescritos en el directorio principal de la herramienta.
permite la comunicación directa entre la estación base y los nodos de usuario únicamente (no entre los nodos de usuario).
• channel.cc: Se modifica la rutina de cálculo del retardo de propagación y se fija su valor a cero, esto para simplificar la sincronización entre la estación base y los terminales de usuario. Este valor se involucra después en los cálculos de retardo.
• cmu-trace.cc: Se incluye el formato de salida de las trazas para las simulaciones.
• Makefile.in: Se incluyen las líneas para la generación de los archivos de enlazamiento ll.o y mac-wll.o, así como noah/noah.o y tcl/mobility/noah.tcl para el protocolo de enrutamiento No Ad-Hoc utilizado y para las fuentes de tráfico implementadas en este proyecto.
• ns-default.tcl: Se dan los valores por defecto para las variables utilizadas en las capas MAC y LL.
• ns-lib.tcl: Básicamente se incluye el procedimiento instproc create-noah-agent {node} para crear el agente noah en los nodos.
• ns-mobilenode.tcl: Se cambia el down-target para la capa LL de $ifq a $mac, ya que la interfaz de cola original se cancela y se colocan dos nuevas, pero en la capa MAC.
• ns-packet.tcl: Se incluye la cabecera de paquete WLL.
• packet.h: Se define la cabecera HDR_MAC_WLL(p) y se incluye el nuevo tipo de paquete PT_MAC_WLL para identificar los paquetes de control enviados sobre AlCh y ReqCh.