13. Control de acceso al medio.

El grupo de trabajo 802.11 consideró dos tipos de propuestas para un algoritmo MAC protocolos de acceso distribuido, que, como Ethernet, distribuyen la decisión
transmitir sobre todos los nodos utilizando un mecanismo de detección de portadora; y centralizado protocolos de acceso, que implican la regulación de la transmisión por una decisión centralizada fabricante de iones.
Un protocolo de acceso distribuido tiene sentido para una red ad hoc de
estaciones de trabajo pares (típicamente un IBSS) y también puede ser atractivo en otras WLAN configuraciones que consisten principalmente en tráfico en ráfagas. Un acceso centralizado.
El protocolo es natural para configuraciones en las que se utilizan varias estaciones inalámbricas interconectados entre sí y algún tipo de estación base que se conecta a un LAN cableada troncal; es especialmente útil si algunos de los datos son sensibles al tiempo o alta prioridad.

El problema del nodo oculto


El problema del terminal oculto surge cuando empiezan a emplearse redes inalámbricas. Los nodos en una red inalámbrica tienen un alcance limitado, por lo que puede ocurrir que los miembros de una misma red no se perciban entre sí (en lenguaje técnico, escucharse) al estar ambos en diferentes áreas de alcance.

De hecho, es completamente factible que dos nodos que no se escuchen quieran llegar al mismo tiempo a otro situado entre ellos, de tal modo que se realicen transmisiones que corren el riesgo de superponerse en el nodo destinatario y, dado el caso, perderse todos los datos (es decir, colisionan). Además, como ninguno de los emisores son conscientes de que se ha producido una colisión, no vuelven a intentar el envío de los datos, pues asumen que han llegado correctamente. Veremos que el control de acceso al medio usado en 8201.11 llamado CSMA/CA no puede por sí solo eliminar el problema del nodo oculto, para lo que debe recurrir a un protocolo complementario que también veremos  RTS/CTS (Request to Send y Clear to Send).

En 802.11 se usa CSMA/CA (del inglés Carrier Sense Multiple Access with Collision Avoidance) o, en español, acceso múltiple por detección de portadora y prevención de colisiones, es un protocolo de control de acceso a redes de bajo nivel que permite que múltiples estaciones utilicen un mismo medio de transmisión. Cada equipo anuncia opcionalmente su intención de transmitir antes de hacerlo para evitar colisiones entre los paquetes de datos (comúnmente en redes inalámbricas, ya que estas no cuentan con un modo práctico para transmitir y recibir simultáneamente), esto evita el problema del nodo oculto.


Función de coordinación distribuida (DCF)


La función de coordinación distribuida (DCF) regula en CSMA/CA el periodo de espera de los nodos antes de iniciar la transmisión en un medio desocupado. DFC también adjudica a las estaciones ranuras de tiempo aleatorias (time slots) para acciones que tienen lugar posteriormente, consiguiendo una estructuración coordinada de los tiempos de espera. Este procedimiento es la clave en la prevención de colisiones o collision avoidance. Para su creación, DCF recurre a determinados intervalos:

    DCF Interframe Space (DIFS): si un nodo de la red quiere empezar una transmisión, en primer lugar escucha el medio. Si descubre que el medio está libre, espera un intervalo DIFS. Este indica a CSMA/CA que en el momento en el que se inicie la nueva trama ningún otro nodo dentro del alcance va a estar transmitiendo información. El DIFS resulta del SIFS y de un espacio de tiempo duplicado y tiene entre 28 y 50 µs de longitud.
     
    Ventana de contienda o contención (content window): cuando las estaciones se aseguran de que el medio está libre, esperan un periodo de tiempo aleatorio antes de empezar con el envío. Este espacio de tiempo es lo que se conoce como ventana de contención y se duplica con cada colisión. Se corresponde con el Binary Exponential Backoff (BEB) del protocolo CSMA/CD.
     
    Short Interframe Space (SIFS): una vez que los paquetes de datos llegan al nodo receptor, este manda una notificación al emisor, siempre y cuando se use RTS/CTS. No obstante, este nodo receptor también espera un periodo de tiempo establecido antes de proceder al envío de la confirmación. SIFS hace referencia al tiempo que se necesita para procesar un paquete de datos. Su duración depende del estándar IEEE-802.11 utilizado y oscila entre 10 µs y 16 µs.


 Request to Send y Clear to Send (RTS/CTS)


Las tramas Request to Send (RTS) o petición para enviar y Clear to Send (CTS) o permiso para enviar componen el protocolo complementario de CSMA/CA conocido como RTS/CTS y conforma un procedimiento que tiene lugar antes de la transmisión de datos. Tras comprobar que el medio está libre, el emisor envía una trama RTS al destinatario, que también escuchan todos los miembros de la red dentro de su alcance, indicándole su deseo de iniciar una transmisión. Es decir, comunica que el medio de transmisión va a estar ocupado durante cierto tiempo.

El receptor envía a modo de respuesta al emisor una trama CTS donde se transmite también a todos los miembros dentro de su alcance que el medio de transmisión va a estar ocupado. Además, indica al emisor que tiene vía libre para realizar la transmisión. Solo entonces el dispositivo inicia el envío.

Además, dado que los nodos en una red inalámbrica no pueden detectar colisiones u otro tipo de irregularidades en la transmisión, es importante que el receptor mande también una confirmación de que el paquete de datos ha llegado correctamente. Para ello recurre a la trama ACK. Si ACK no llega, el emisor deduce que ha debido surgir algún problema durante el envío y vuele a enviar los datos, pues tiene preferencia para usar el medio, es decir, no tiene que esperar hasta que el canal esté de nuevo libre.

 Network Allocation Vector (NAV)


Antes de que un dispositivo empiece con una transmisión, envía a todos los nodos información sobre el tiempo en el que el canal va a estar ocupado en el campo “duración” de la trama RTS. Cada dispositivo introduce esta información en su respectivo vector de reserva de red, conocido por sus siglas en inglés NAV, de Network Allocation Vector. El NAV, que matemáticamente hablando no se puede considerar un vector, se gestiona de forma interna y establece, mediante una cuenta atrás, el momento a partir del cual se puede volver a intentar enviar datos. Es decir, cuando una estación emisora informa a un nodo de que se va a producir una transmisión, este vuelve a poner en marcha su mecanismo interno de cuenta regresiva.