Componentes del protocolo Wi-Fi: capas PHY y MAC
El protocolo Wi-Fi consta de dos componentes principales: la capa física (PHY) y la capa de control de acceso a medios (MAC). Estas capas trabajan juntas para proporcionar una conectividad inalámbrica confiable y eficiente.
Capa física (PHY)
La capa PHY es responsable de las señales físicas reales que se transmiten a través del aire. Define las características de la señal, como frecuencia, ancho de banda y modulación. También gestiona la transmisión y recepción de datos en bruto.
La capa PHY utiliza diversas técnicas para transmitir datos de forma inalámbrica, como modulación por desplazamiento de fase (PSK), modulación por desplazamiento de frecuencia (FSK) y modulación por desplazamiento de amplitud en cuadratura (QAM). Estas técnicas permiten que los datos se codifiquen en señales de radio que pueden transmitirse a través del aire.
La capa PHY también es responsable de gestionar las antenas utilizadas para transmitir y recibir señales Wi-Fi. Las antenas pueden ser omnidireccionales, lo que significa que transmiten señales en todas las direcciones, o direccionales, lo que significa que transmiten señales en una dirección específica. La elección de la antena depende de los requisitos específicos de la red Wi-Fi.
Capa de control de acceso al medio (MAC)
La capa MAC gestiona el acceso al medio inalámbrico, asegurando que los dispositivos no transmitan simultáneamente y causen colisiones. Utiliza el protocolo CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) para evitar colisiones.
CSMA/CA funciona haciendo que los dispositivos escuchen el medio antes de transmitir. Si el medio está libre, el dispositivo transmite sus datos. Si el medio está ocupado, el dispositivo espera un período de tiempo aleatorio antes de intentar transmitir nuevamente. Este proceso ayuda a reducir las colisiones y mejora el rendimiento general de la red.
CSMA/CD
Para comprender el concepto de CSMA/CA, primero debemos entender cómo funciona en Ethernet y aquí hablaremos de CSCM/CD (Carrier Sense Multiple Access with Collision Detection).
La idea de la detección de colisiones es saber si se ha producido una colisión o no. Y eso es una gran diferencia en relación con las comunicaciones inalámbricas, que no podremos detectar las colisiones, sino que podremos evitarlas. ¿Pero por qué si se puede detectar una colisión en un medio compartido como Ethernet no se puede realizar sobre el aire?
Cuando se produce una colisión por Ethernet, la señal se va a ver interferida, como si se tratase de interferencia inalámbrica, pero una de las grandes diferencias es que, normalmente, Ethernet no puede superar los 100 metros de cableado, si eso se supera, la detección no podría ser efectiva. Al saber que solo hay 100 metros de cable, podríamos detectar la colisión, recordar que en Ethernet son señales eléctricas y podría calcular basándonos en la distancia una colisión.
Mientras un dispositivo está transmitiendo, también escucha el medio para detectar la presencia de cualquier señal que no sea la suya. En una situación normal, sin colisiones, lo único que debería escuchar es su propia señal. Si durante la transmisión, el dispositivo detecta una señal diferente a la que está enviando, esto indica que otro dispositivo ha intentado transmitir al mismo tiempo, causando una colisión. Esto es posible porque las señales eléctricas de diferentes transmisiones se superpondrán y distorsionarán mutuamente en el cable.
La detección es posible realizarla en la capa física, aquí no hay ACK’s, ni CRC involucrados.
Hay que aclarar en que las redes actuales el protocolo ya no se utiliza porque las redes pasaron a ser Full-duplex, y al tener 2 canales para transmitir y enviar, se da por hecho que no existen colisiones.
CSMA/CA funciona mediante un proceso de cuatro pasos:
Escuchar: El dispositivo escucha el medio para detectar si hay otras transmisiones.
Esperar: Si el medio está ocupado, el dispositivo espera un período de tiempo aleatorio antes de intentar transmitir nuevamente.
Transmitir: Si el medio está libre, el dispositivo transmite sus datos.
ACK: El dispositivo receptor envía un acuse de recibo al dispositivo transmisor para indicar que los datos se recibieron correctamente.
El procedimiento de escuchar y luego transmitir parece muy sencillo de explicar, pero lleva una tecnología compleja en su funcionamiento, no podríamos esperar 2 minutos para transmitir o esperar, sino, la comunicación sería muy difícil, lenta y no confiable.
En este tipo de tecnología solo uno de los dispositivos puede transmitir a la vez, es por eso que comúnmente lo asociamos con el término Half-duplex (A diferencia de redes Ethernet que son Full-duplex). La diferencia con CSMA/CD es que, en Wireless, las señales pueden tomar múltiples caminos, tampoco tenemos una distancia como los 100 metros por Ethernet, un cliente inalámbrico puede estar ubicado a la 10, 20, 30 o incluso más metros, entonces detectar sin conocer la ubicación de APs o clientes, se vuelve un desafío complejo.
A diferencia de CSMA/CD, aquí sí intervienen otros mecanismos como los ACK, que son acuses de recibo para saber si una trama fue recibida correctamente, en caso de no recibir un ACK, damos por hecho que no se recibió y es necesario retransmitirla. Este mecanismo funciona por turnos, las estaciones se van a sincronizar para censar el medio y luego intentar transmitir. ¿Puede existir una colisión en Wireless? Si, y puede ser que a pesar de esto 2 estaciones transmitan de forma simultánea, con un efecto conocido como “nodo oculto”, donde dos o más estaciones no se ven entre ellas y piensan que el medio está libre, cuando no es así, también Wireless cuanta con mecanismos para evitar estas situaciones, no lo puede corregir, pero puede ayudarnos.
Sincronización de las estaciones
Anteriormente, he comentado sobre el mecanismo CSMA/CA, pero esto no deja de ser una serie de reglas o mecanismo de funcionamiento, donde se especifican algunos lineamientos para la comunicación, pero luego las estaciones, en la vida real, deben esperar tiempos para transmitir, esperar ACK’s, y los tiempos no pueden ser muy “largos”, ya que si tuviésemos 100 estaciones, no podríamos esperar 1 segundo a cada una.
Aquí es donde entra el concepto de DCF (Distributed Coordination Function), este es un elemento fundamental del protocolo MAC (Control de Acceso al Medio) en el estándar IEEE 802.11. DCF está diseñado para regular cómo los dispositivos comparten el medio de transmisión inalámbrico, es decir, cómo se comunican entre sí a través del aire, de manera eficiente y lo más justa posible.
¿Cómo Funciona DCF?
Detección de Portadora: Antes de que un dispositivo comience a transmitir datos, primero escucha el medio/canal para asegurarse de que no haya otra transmisión en curso. Esto es similar a «escuchar antes de hablar».
Backoff Timer: Si el canal está ocupado, el dispositivo espera un período aleatorio antes de volver a intentar transmitir. Este período se determina mediante un algoritmo de backoff exponencial, que ayuda a reducir la probabilidad de colisiones cuando varios dispositivos intentan transmitir al mismo tiempo después de que el canal se libere.
El valor de la ventana de contención (CW) en redes Wi-Fi se determina a partir de los parámetros definidos en el estándar IEEE 802.11. Estos parámetros incluyen CWmin (ventana de contención mínima) y CWmax (ventana de contención máxima). La elección de CWmin y CWmax depende del estándar específico de 802.11 que se esté utilizando (por ejemplo, 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, etc.).
El tiempo de backoff se calcula multiplicando el número de ranuras de espera seleccionadas por el tiempo de ranura (Slot Time).
El valor de Slot Time depende de la tecnología y el estándar específico de 802.11 que se esté utilizando:
- 802.11b: 20 microsegundos (µs)
- 802.11a/g: 9 microsegundos (µs)
- 802.11n/ac: 9 microsegundos (µs)
- 802.11ax: Puede variar dependiendo de la configuración, pero típicamente es similar a 802.11n/ac.
Ejemplo de Cálculo
Supongamos que estamos utilizando 802.11g, donde el Slot Time es 9 µs, y el dispositivo selecciona un número aleatorio de ranuras de espera dentro de una ventana de contención (CW) de 15.
- Selección de Ranuras de Espera:
- Número de Ranuras de Espera seleccionado aleatoriamente = 10
- Cálculo del Tiempo de Backoff:
- Tiempo de Backoff = 10 ranuras * 9 µs/ranura = 90 µs
Ventana de contención: La espera aleatoria se selecciona de un conjunto de tiempos denominado «ventana de contención». Después de cada intento fallido de transmisión, el tamaño de esta ventana aumenta exponencialmente hasta un límite máximo, que generalmente en el estándar 802.11 es de 1023, cada intento fallido incrementa la ventana en su valor X2 +1. Al llegar al máximo, no incrementa más su valor y selecciona uno entre 1023.
Esto disminuye las posibilidades de futuras colisiones al dispersar los intentos de retransmisión en el tiempo. La ventana de contención es el rango dentro del cual se selecciona un valor de backoff aleatorio.
CW (Ventana de contencion) se inicializa con un valor mínimo (CWmin) y puede incrementarse hasta un valor máximo (CWmax) en caso de colisiones sucesivas.
El estandar 802.11 define lo siguientes valores:
Para trafico de QOS (WMM) la tabla es la siguiente:
ACKs: Después de una transmisión exitosa, el receptor envía un acuse de recibo (ACK) para confirmar la recepción del paquete. Si el emisor no recibe un ACK dentro de un tiempo determinado, asume que ocurrió una colisión o algún otro error, y el paquete se retransmite siguiendo el mismo proceso de backoff.
DCF no únicamente funciona con las ventanas de contención y Backoff-timer, sino que tiene otros elementos adicionales:
- Phisical Carrier Sense.
- Virtual Carrier Sense.
- IFS (Interframe Space).
Puedes ver más de este proceso en la siguiente entrada. Pero algo adicional respecto a este funcionamiento, es que no hay prioridades de las tramas, y esto es importante, ya que no es lo mismo un tráfico de Voip, que uno de navegación y para gestionar esto, existe otro concepto llamado HCF (Hybrid Coordination Function), HCF, es un mecanismo de control de acceso al medio diseñado para mejorar la eficiencia y la calidad del servicio (QoS) en redes 802.11.
HCF combina aspectos de DCF (Distributed Coordination Function) y PCF (Point Coordination Function) para proporcionar una forma más flexible y eficiente de manejar tanto el tráfico de datos ordinario como el tráfico sensible al tiempo, como el streaming de video o las llamadas VoIP.
Espero esta entrada te haya ayudado a comprender un poco más en profundidad como funciona la comunicación Wireless en 802.11.
¡Nos vemos en la próxima entrada!
Comentarios