No estoy de acuerdo con que "si no tiene un problema de nodo oculto, cambiar el umbral RTS no mejorará el rendimiento". El uso de CTR / RTS siempre reduce las posibilidades de colisiones de datos. Dado que cada colisión de datos causa corrupción de datos y, por lo tanto, requiere el reenvío de datos, menos colisiones significa menos reenvío de datos y menos reenvío de datos puede mejorar en gran medida su rendimiento WiFi; por supuesto solo si hay una cantidad notable de colisiones en su red.
Para explicar los detalles: un nodo siempre tiene que esperar un cierto período de tiempo y detectar el canal en busca de posibles transmisiones antes de establecer uno propio. Solo si no detecta ninguna transmisión, puede iniciar una propia. Sin RTS / CTS, esta transmisión es directamente una transmisión de datos. Si ahora dos nodos tienen la misma idea y comienzan una transmisión de datos casi al mismo tiempo, entonces estas transmisiones colisionarán. El resultado es que ninguna de las transmisiones llega a ninguna parte, ya que todos los datos recibidos se dañarán para todos los demás nodos y el AP.
Si se utiliza RTS / CTS, la transmisión comienza con un paquete RTS enviado por el nodo después de la detección. Solo si esa solicitud RTS es respondida por una respuesta CTS, se inicia una transmisión de datos. Por supuesto, si dos nodos desean transmitir al mismo tiempo, sus solicitudes de RTS también pueden colisionar con el mismo efecto negativo que no se recibe ningún RTS. La diferencia es que toda la red se recuperará mucho más rápido de una colisión RTS que de una colisión de datos. Por lo tanto, una colisión RTS es menos dañina para el rendimiento de toda la red que una colisión de datos.
La desventaja es que el RTS / CTS en sí requiere algo de ancho de banda de la red por sí solo e introduce nuevos tiempos de detección durante los cuales no se pueden realizar otras transmisiones de datos o transmisiones RTS / CTS. Para empeorar las cosas, por supuesto, RTS / CTS siempre debe realizarse utilizando la velocidad más lenta que admite la red, de lo contrario, los nodos que solo admiten esta velocidad no lo verán. Básicamente, puede decir que RTS / CTS siempre reduce el rendimiento teórico de toda su red, sin embargo, si su red sufre muchas colisiones, ya sea por el problema del nodo oculto (que también puede ser causado por nodos de otras redes que simplemente usan el mismo canal como su red) o porque su WiFi está abarrotado (a medida que más nodos aumentan la posibilidad de colisiones aleatorias), de hecho, puede aumentar el rendimiento real. No es el número de nodos ocultos,
Leí un estudio (actualizaré y agregaré un enlace aquí una vez que pueda encontrarlo nuevamente), que sugiere que a menos que su red sea realmente pequeña (menos de tal vez 6 nodos y cubra solo un área pequeña) y no esté aislada de otros redes que usan el mismo canal, el uso de RTS / CTS casi siempre tiene un efecto bastante positivo en la práctica. Entonces, ¿por qué el valor umbral? Si enviar los datos llevaría tanto tiempo como lo haría un apretón de manos RTS / CTS, hay poco beneficio al usar RTS / CTS, ya que si la red tiene que recuperarse de una colisión de datos muy pequeña o de una colisión RTS no mucha diferencia La mejor recuperación de las colisiones RTS se debe a que los paquetes RTS son muy pequeños, mientras que los paquetes de datos generalmente no lo son. Pero para paquetes de datos muy pequeños, RTS / CTS solo agrega gastos generales sin ganancia práctica.
Y ahora también sabe cómo un umbral de fragmentación puede mejorar el rendimiento de la red. Por un lado, limita el tamaño de los paquetes enviados y, como se explicó anteriormente, cuanto más pequeño es el paquete en una colisión, más rápido se recuperará la red. Y, por otro lado, si hubo una colisión, solo el fragmento afectado debe ser reenviado, no todo el paquete. Sin embargo, cada fragmento enviado tiene una sobrecarga propia, por lo que cuantos más fragmentos se envíen, más sobrecarga se agregará y sobrecarga es básicamente un ancho de banda desperdiciado que también podría haberse utilizado para las transmisiones de datos.