SIMULACIÓN DE PROTOCOLOS DE ENRUTAMIENTO PARA REDES MÓVILES AD-HOC MEDIANTE HERRRAMIENTA DE SIMULACIÓN NS-3 ALGORITMOS DE ADAPTACIÓN VELOCIDAD BINARIA Contenidos 1. Auto Rate Fallback (ARF) 2. Adaptive Auto Rate Fallback (AARF) 3. Adaptive Auto Rate Fall back with Collision Detection (AARF-CD) 4. Collision-Aware Rate Adaptation (CARA) 5. Robust Rate Adaptation Algorithm (RRAA) Todos los algoritmos son conformes a las normas IEEE 802.11 Loja - 2014 2
Rate Adaptation (RA) Diferentes tasas especificadas en las normas o 802.11b: 1, 2, 5.5, 11 Mbps o 802.11a: 6, 9, 12, 18, 24, 36, 48, 54 Mbps o 802.11g: 12 regímenes binarios (11a+11b) Loja - 2014 3 Rate Adaptation (RA) Loja - 2014 4
Rate Adaptation (RA) Loja - 2014 5 Auto Rate Fallback (ARF) Algoritmo de optimización de la velocidad binaria para sistemas LAN 802.11 Cada transmisor aumenta su tasa después de un número mínimo de transmisiones con éxito a una cierta velocidad Después de un número fijo de transmisiones erróneas consecutivas, se disminuye la tasa binaria a un valor menor anteriormente usado Ejemplo de implementación (ARF primitivo): Cuando ocurren dos errores de transmisión consecutivos, se disminuye la tasa binaria y se pone en marcha un temporizador Si se producen 10 transmisiones correctas (ack) o expira el temporizador, se aumenta la tasa binaria y se reinicia el temporizador Loja - 2014 6
Auto Rate Fallback (ARF) Ejemplo (continuación): Cuando se incrementa la tasa, si la primera transmisión (probingtx) no es correcta, inmediatamente se disminuye la tasa binaria y se reinicia el temporizador El esquema adolece principalmente de dos defectos: Si las condiciones del canal varían muy rápidamente, el sistema no llega a adaptarse nunca o Las interferencias producidas por paquetes transmitidos por otros transmisores 802.11 se limitan al intervalo de un solo paquete o La tasa no se decrementa hasta que se producen 2 errores o no se incrementa hasta experimentar 10 transmisiones correctas no se adapta a los cambios a nivel intrapaquete Si las condiciones del canal son estáticas, tratará de aumentar la tasa cada 10 transmisiones correctas, teniendo que decrementarla de nuevo cuando la probingtx resulte errónea, con la consiguiente pérdida de throughput de la aplicación Loja - 2014 7 Auto Rate Fallback (ARF) Loja - 2014 8
Auto Rate Fallback (ARF) Loja - 2014 9 Auto Rate Fallback (ARF) Loja - 2014 10
Adaptive Auto Rate Fallback (AARF) Lo habitual es que las condiciones del canal sean estáticas Ejemplo: usuarios de laptops que se sitúan en un determinado lugar de una oficina y no se desplazan mientras lo utilizan En esos casos, ARF no es óptimo (siempre trata de aumentar la tasa después de N up transmisiones con éxito, provocando fallos y las consiguientes retransmisiones) AARF se basa en la modificación del valor de N up de forma dinámica, teniendo en cuenta la historia de las condiciones del canal Loja - 2014 11 Adaptive Auto Rate Fallback (AARF) Ejemplo de implementación de AARF Si el probing falla, se decrementa la tasa (igual que en ARF) y se multiplica por 2 (con un límite máximo de 50) el número de transmisiones consecutivas con éxito necesarias para incrementar la tasa, N up Cuando se decrementa la tasa por dos paquetes fallidos consecutivos, se restablece el valor primitivo de N up (número de paquetes consecutivos con éxito necesarios para incrementar la tasa) Con esta estrategia se aumenta el período entre intentos fallidos de incrementar la tasa (menor número de retransmisiones, mejor throughput) Loja - 2014 12
Adaptive Auto Rate Fallback (AARF) 4 Modo de transmisión 3 2 1 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 Iteración ARF 4 Modo de transmisión 3 2 AARF 1 0 10 20 30 50 90 170 Iteración Loja - 2014 13 Adaptive Auto Rate Fallback (AARF) Loja - 2014 14
Adaptive Auto Rate Fallback (AARF) Loja - 2014 15 Adaptive Auto Rate Fallback (AARF) Loja - 2014 16
Adaptive Auto Rate Fallback (AARF) Loja - 2014 17 Adaptive Auto Rate Fallback with Collision Detection (AARF-CD) Mecanismo RTS/CTS o se pone en funcionamiento: cuando se produce error no estando activado RTS después de incrementar la tasa o se detiene: después de recibir un cierto número de tramas sin error después de decrementar la tasa El número de tramas correctas consecutivas necesarias para incrementar la tasa es adaptativo (AARF) Loja - 2014 18
Adaptive Auto Rate Fallback with Collision Detection (AARF-CD) Loja - 2014 19 Collision-Aware Rate Adaptation (CARA) ARF no tiene en cuenta las colisiones que se producen en entorno multi-usuario (con estaciones escondidas), y decrementa la tasa cuando se producen los fallos de transmisión debidos a dichas colisiones Distinción entre errores debidos a colisiones y debidos a pérdidas de propagación para tomar la decisión correcta de adaptación de tasa de transmisión Cuando se producen errores por colisión, el decremento de la tasa de transmisión puede ser menos agresivo que en el caso de errores de canal Si se producen colisiones, el decremento de la tasa de transmisión producirá aún más colisiones (mayores tiempos de transmisión mayor probabilidad de colisionar con estaciones escondidas) es necesario distinguir entre fallos por colisiones y fallos por el canal Loja - 2014 20
Collision-Aware Rate Adaptation (CARA) Uso del mecanismo RTS/CTS (RequestToSend/Clear To Send) y de la funcionalidad CCA (Clear Channel Assessment), incluidos en el estándar IEEE 802.11 RTS/CTS: acorta el intervalo vulnerable a la colisión, pero sólo se utiliza para tramas con gran longitud uso muy marginal en redes inalámbricas IEEE 802.11e, 802.11g: se contempla el empleo de las tramas RTS/CTS, y la consiguiente reserva de un intervalo de transmisión en el canal, aunque el tamaño del mensaje a transmitir no supere el umbral (incluyendo el envío de una trama CTS con dirección igual a la del transmisor, para compatibilidad hacia atrás de la norma) CCA: si se detecta un nivel de energía por encima de un cierto umbral, se concluye que el canal está ocupado Loja - 2014 21 Collision-Aware Rate Adaptation (CARA) RTS Probing: La probabilidad de error por pérdidas de propagación del canal en la transmisión de una trama RTS es despreciable (pequeña longitud, tasa robusta) los errores en las tramas RTS siempre se deben a colisiones Los errores de datos posteriores a la transmisión de RTS/CTS tienen necesariamente que deberse al canal de propagación, y nunca a colisiones Aplicando seguidamente ARF, todos los decrementos de tasa se deberán a errores de propagación, y no habrá decrementos innecesarios debidos a colisiones El envío de tramas RTS/CTS consume ancho de banda y recursos en la red (habitualmente deshabilitado en las redes) Puede limitarse su uso únicamente a los casos en que se produzcan pérdidas de paquetes Loja - 2014 22
Collision-Aware Rate Adaptation (CARA) CARA utiliza el mecanismo CCA para que el transmisor pueda detecta la colisión de su propia trama con otras tramas transmitidas Se usa como mecanismo suplementario a RTS Probing Se trata de estimar el nivel de ocupación del canal Cuando el paquete transmitido es muy largo, no se puede detectar la energía de otra trama más corta transmitida simultáneamente por otra estación Cuando CCA falla, se activa RTS Probing No funciona cuando existen estaciones escondidas Loja - 2014 23 Collision-Aware Rate Adaptation (CARA) Loja - 2014 24
Collision-Aware Rate Adaptation (CARA) Loja - 2014 25 Robust Rate Adaptation Algorithm (RRAA) ARF, AARF y CARA no pueden adaptarse a todos los cambios del canal (SNR muy cambiante) RRAA (Robust Rate Adaptation Algorithm) se basa en dos principios: oobtención de estadísticas a corto plazo (ventana temporal deslizante) ouso adaptativo de tramas RTS Sólo cuando sea necesario (colisiones), evitando el overhead resultante en la medida de lo posible Filtrar o distinguir los fallos debidos a colisiones de los debidos al canal Loja - 2014 26
Robust Rate Adaptation Algorithm (RRAA) Obtención de estadísticas a corto plazo (ventana temporal deslizante) o Aprovechar los tiempos de coherencia del canal o Promediado de las pérdidas durante la ventana o Pérdidas de propagación > P MTL reducir la tasa o Pérdidas de propagación > P ORI incrementar la tasa o Cualquier otro caso mantener la misma tasa Los umbrales P MTL y P ORI deben diseñarse para que el throughput efectivo resultante después de cambiar la tasa permanezca invariante o Ejemplo: mismos bps efectivos a 11 Mbps (con errores) que a 5.5 Mbps (sin errores) Si se recibe una trama con error, se calculan las pérdidas promediadas sin esperar a que termine la ventana (suponiendo las tramas que restan sin error) Loja - 2014 27 Robust Rate Adaptation Algorithm (RRAA) Ventajas RRAA: Robusto frente a los cambios aleatorios del canal No reduce la tasa tanto como ARF en presencia de estaciones escondidas Buena respuesta a la movilidad (dependiendo de la longitud de la ventana de estimación) Para su aplicación no requiere que se produzcan patrones deterministas de tramas erróneas/correctas Loja - 2014 28
Robust Rate Adaptation Algorithm (RRAA) Inconvenientes de RRAA: La decisión del tamaño de la ventana de estimación es compleja o Ventanas muy largas no proporcionan adaptación al canal o Ventanas muy cortas dan lugar a decisiones erróneas sobre la tasa de transmisión Las estaciones poco activas tardan mucho en completar el número de paquetes de la ventana de estimación la estimación se torna obsoleta Es necesario modificar el número de paquetes de la ventana en función de la tasa (tiempo de transmisión) Los sistemas 802.11a no implementan RTS No funciona bien cuando hay muchas estaciones (se suele desactivar la adaptación de tasa) Loja - 2014 29 Robust Rate Adaptation Algorithm (RRAA) Loja - 2014 30