En las redes inalámbricas, la eficiencia en el uso del medio compartido es importante para garantizar un rendimiento óptimo. Dos mecanismos fundamentales que ayudan a gestionar el acceso al medio son la Detección de Portadora Física (Physical Carrier Sense) y la Detección de Portadora Virtual (Virtual Carrier Sense). Además, los Espacios Inter-Trama (IFS) juegan un papel crucial en la coordinación de las transmisiones. En esta entrada de blog, exploraremos estos conceptos en detalle.
Detección de Portadora Física (Physical Carrier Sense)
La Detección de Portadora Física (Physical Carrier Sense) en redes Wi-Fi utiliza la evaluación del canal claro (Clear Channel Assessment, CCA) para determinar si el medio físico está en uso. Este proceso implica la detección de la energía de radiofrecuencia (RF) en el canal para decidir si está ocupado o libre. Los valores de umbral de energía que deben detectarse para considerar el canal ocupado varían según las especificaciones del PHY (capa física) en uso. A continuación, se describen algunos de estos valores:
Valores de Umbral de Energía para Physical Carrier Sense
- Umbral de Detección de Energía (Energy Detect Threshold):
- El umbral de detección de energía es el nivel de energía en dBm que, si se excede, indica que el canal está ocupado.
- Este umbral puede variar entre diferentes implementaciones y versiones del estándar IEEE 802.11.
- Ejemplos de Umbrales de Energía:
- Para muchas implementaciones de 802.11, el umbral típico de detección de energía es de -82 dBm. Esto significa que si el dispositivo detecta una señal con una potencia de -82 dBm o superior, considerará que el canal está ocupado.
- En algunas versiones y configuraciones, este umbral puede ser más bajo, por ejemplo, -85 dBm o incluso -90 dBm, dependiendo de la sensibilidad del receptor y los requisitos específicos del entorno de despliegue.
Consideraciones Adicionales
- Probabilidad de Detección: La norma IEEE 802.11 exige que la capa física (PHY) tenga una probabilidad de detección superior al 90% para señales que superen el umbral de energía. Esto significa que en al menos el 90% de los casos, el PHY debe ser capaz de detectar una señal que exceda el umbral y reportar el canal como ocupado.
- Variabilidad entre Implementaciones: Debido a diferencias en la interpretación de los estándares y la calibración de los chipsets de radio, los umbrales de detección de energía pueden variar ligeramente entre diferentes fabricantes y modelos de dispositivos. Sin embargo, estas variaciones suelen estar dentro de un rango de aproximadamente 3 dB en comparación con la especificación estándar.
Detección de Portadora Virtual (Virtual Carrier Sense)
La Detección de Portadora Virtual complementa la Detección de Portadora Física al proporcionar una forma adicional de coordinar el acceso al medio. Se basa en la información contenida en los campos de duración de las tramas de control.
¿Cómo Funciona?
- Campo de Duración: Las tramas de control, como RTS (Request to Send) y CTS (Clear to Send), contienen un campo de duración que indica el tiempo que se espera que el canal esté ocupado.
- Actualización del NAV: Los dispositivos que reciben estas tramas actualizan su Vector de Asignación de Red (Network Allocation Vector, NAV) con el valor del campo de duración.
- Esperar hasta que el NAV se Agote: Los dispositivos no intentarán transmitir hasta que el valor del NAV llegue a cero, lo que indica que el canal debería estar libre.
Espacios Inter-Trama (IFS)
Los Espacios Inter-Frame son periodos de espera que los dispositivos deben observar entre transmisiones consecutivas. Diferentes tipos de IFS se utilizan para priorizar distintos tipos de tráfico y asegurar una coordinación adecuada.
Tipos de IFS
- SIFS (Short Interframe Space):
- Es el más corto de todos los IFS.
- Se utiliza para transmisiones que requieren alta prioridad, como ACKs (Acknowledgements), CTS y respuestas de datos fragmentados.
- Permite una rápida respuesta y asegura la continuidad de las transmisiones de alta prioridad.
- PIFS (Point Coordination Function Interframe Space):
- Es más largo que SIFS pero más corto que DIFS.
- Utilizado por la función de coordinación punto a punto (PCF) para obtener acceso al medio antes que los dispositivos que utilizan DIFS.
- No es común en redes Wi-Fi modernas debido al uso predominante de Distributed Coordination Function (DCF).
- DIFS (Distributed Coordination Function Interframe Space):
- Es el IFS utilizado por la mayoría de las transmisiones de datos regulares.
- Es más largo que PIFS y SIFS, lo que le da menor prioridad en comparación con los tipos de tráfico que usan estos IFS más cortos.
- EIFS (Extended Interframe Space):
- Utilizado cuando se detecta una trama corrupta.
- Es más largo que DIFS y proporciona tiempo adicional para que los dispositivos se recuperen de errores de transmisión.
Proceso completo
Con los conceptos anteriores, y junto a la entrada anterior donde hablamos de Backoff timer y los conceptos de ventanas de contención, ahora podremos entender todo el proceso completo, para que un dispositivo inalámbrico pueda transmitir en el protocolo 802.11.
- Detección de Portadora Virtual (Virtual Carrier Sense):
- Network Allocation Vector (NAV): Cada dispositivo mantiene un temporizador llamado Network Allocation Vector (NAV). Este temporizador se actualiza basado en la información de duración contenida en los marcos de control (como RTS/CTS) y datos que se reciben.
- Verificación del NAV: Antes de intentar transmitir, el dispositivo verifica el valor del NAV. Si el NAV es mayor que cero, significa que el canal está reservado por otro dispositivo, y debe esperar hasta que el NAV llegue a cero.
- Detección de Portadora Física (Physical Carrier Sense):
- Clear Channel Assessment (CCA): Una vez que el NAV llega a cero, el dispositivo realiza una evaluación del canal claro (CCA) para determinar si el canal está libre. Esto implica medir la energía del canal y compararla con el umbral de detección de energía (por ejemplo, -82 dBm).
- Estado del Canal: Si la energía detectada es menor que el umbral, el canal se considera libre. Si es mayor, el canal se considera ocupado y el dispositivo debe esperar.
- Espacios Inter-Trama (IFS):
- Esperar el IFS Apropiado: Si el canal está libre, el dispositivo debe esperar un periodo de tiempo específico llamado Interframe Space (IFS) antes de transmitir. El tipo de IFS depende del tipo de trama que se va a enviar:
- SIFS (Short Interframe Space): Utilizado para tramas de alta prioridad como ACKs, CTS y respuestas de datos fragmentados.
- PIFS (Point Coordination Function Interframe Space): Utilizado por la función de coordinación punto a punto (PCF).
- DIFS (Distributed Coordination Function Interframe Space): Utilizado para la mayoría de las transmisiones de datos regulares.
- EIFS (Extended Interframe Space): Utilizado cuando se detecta una trama corrupta.
- Esperar el IFS Apropiado: Si el canal está libre, el dispositivo debe esperar un periodo de tiempo específico llamado Interframe Space (IFS) antes de transmitir. El tipo de IFS depende del tipo de trama que se va a enviar:
- Proceso de Backoff:
- Selección del Tiempo de Backoff: Después de esperar el IFS apropiado, el dispositivo selecciona un valor de backoff aleatorio dentro del rango definido por la ventana de contención actual (CW). Este valor es un número de ranuras de tiempo (slots).
- Cuenta Regresiva del Backoff: El dispositivo comienza una cuenta regresiva del tiempo de backoff. Si el canal permanece libre durante este periodo, la cuenta regresiva continúa. Si el canal se vuelve ocupado, la cuenta regresiva se pausa y se reanuda cuando el canal esté libre nuevamente.
- Transmisión de Datos:
- Transmisión: Una vez que el tiempo de backoff llega a cero y el canal está libre, el dispositivo procede a transmitir su trama de datos.
- Recepción del ACK: Después de transmitir, el dispositivo espera un ACK (Acknowledgement) del receptor. Si recibe el ACK, la transmisión se considera exitosa. Si no recibe el ACK, el dispositivo asume que hubo una colisión y ajusta su ventana de contención (CW) para intentar retransmitir.
Ejemplo Práctico
Imaginemos un dispositivo A que quiere transmitir datos a un dispositivo B:
- NAV y CCA:
- El dispositivo A verifica su NAV y encuentra que es cero.
- Realiza una evaluación del canal claro (CCA) y detecta que la energía del canal está por debajo del umbral de -82 dBm, lo que indica que el canal está libre.
- IFS:
- El dispositivo A espera un DIFS (Distributed Coordination Function Interframe Space) ya que está a punto de transmitir datos regulares.
- Backoff:
- El dispositivo A selecciona un valor de backoff aleatorio dentro de su ventana de contención actual (CW).
- Comienza la cuenta regresiva del tiempo de backoff. Si el canal permanece libre, la cuenta regresiva continúa hasta llegar a cero.
- Transmisión y ACK:
- Una vez que el tiempo de backoff llega a cero, el dispositivo A transmite su trama de datos al dispositivo B.
- El dispositivo B recibe la trama y envía un ACK de vuelta al dispositivo A.
- El dispositivo A recibe el ACK y confirma que la transmisión fue exitosa.
Espero que esta entrada te haya ayudado a comprender el proceso completo para que un dispositivo pueda comunicarse por el medio inalámbrico. ¡Nos vemos en la próxima entrada!
Comentarios