Capa de Control de Acceso al Medio (MAC)


Contenido

Control del medio de Acceso MAC del IEEE 802.11

El estándar IEEE 802.11 define nueve servicios MAC (Medium Access Control). Seis de estos servicios están destinados a la transmisión de paquetes (MSDUs) entre STA (estaciones). Los tres servicios restantes se utilizan para controlar el acceso a la LAN 802.11 y para proporcionar confidencialidad a la transacción de datos. Los servicios son: entrega de MSDUs (MSDU delivery), distribución (distribution), integración (integration), asociación (association), reasociación (reassociation), desasociación (disassociation), autentificación (authentication), desautentificación (deauthentication) y privacidad (privacy). Algunos de estos servicios van ligados a la funcionalidad de las STA mientras que el resto están asociados a la funcionalidad del DS. Cada uno de estos servicios está soportado por una o más tramas de tipo MAC. Algunos de ellos son soportados por tramas MAC de gestión (management) y otros por tramas MAC de datos.

El protocolo MAC del estándar IEEE 802.11 distingue tres tipos de tramas: tramas de control, de datos y de gestión (management). Los mensajes de gestión se utilizan para soportar los servicios de 802.11. Los mensajes de control se utilizan para la correcta entrega de tramas y los mensajes de datos transportan la información de los usuarios.


Arquitectura MAC

El método básico de acceso al medio del protocolo MAC 802.11 es la llamada Distributed Coordination Function (DCF) basada en CSMA/CA (carrier sense multiple access with collision avoidance) y se utiliza tanto en redes en modo infraestructura como en redes ad-hoc. También se puede incluir de forma opcional la llamada Point Coordination Function (PCF), que tan sólo se puede utilizar en redes conectadas en modo infraestructura.


Distributed Coordination Function (DCF)

Este es el método de acceso básico definido en el estándar MAC 802.11. Permite compartir automáticamente el medio entre varias estaciones que usen PHYs compatibles y CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) con backoff aleatorio. Este mecanismo se basa en que una estación que desea transmitir primero "escucha" o detecta el medio. Si el medio se detecta como ocupado (por ejemplo, alguna estación está transmitiendo) entonces la estación retrasa la transmisión hasta un momento posterior. Si en cambio el medio se detecta como libre la estación tiene permiso para transmitir. Esta parte del mecanismo (detección) la proporciona el carrier-sensing. Por otro lado, para evitar colisiones (Collision Avoidance) se utiliza el algoritmo de "backoff" aleatorio. Este algoritmo se invoca cuando el medio se detecta como ocupado antes de la transmisión, después de cada retransmisión y después de cada transmisión correcta.

Como el estándar 802.11 emplea un medio inalámbrico, incluye un mecanismo para aumentar la fiabilidad y para detectar colisiones a nivel de MAC. Este método está enfocado a paquetes unicast, es decir paquetes que tienen un solo destinatario (y en contraposición a los paquetes broadcast o multicast). Este mecanismo está constituido por las retransmisiones y los acknowledgements. Cuando una estación recibe un paquete destinado a ella, envía una trama de acknowledgement a la estación que lo ha enviado. Por su parte la estación que envía un paquete espera un tiempo el acknowledgement y si no se recibe dentro de un tiempo especificado empieza el proceso de retransmisión (el paquete se vuelve a enviar empezando de nuevo el proceso normal de envío de un paquete, con el backoff). El mecanismo de detección de portadora (carrier-sense), es decir el proceso de "escuchar" el medio antes de transmitir, es proporcionado por una combinación de los procesos MAC y PHY. A nivel de PHY se compara el nivel de energía detectado con unos thresholds para decidir si indicar al MAC que el medio está libre u ocupado. En el MAC esta indicación se combina con lo que se llama "virtual carrier sense" (detección virtual de portadora). Este proceso se encarga de actualizar un indicador llamado NAV (Network Allocation Vector) con los tiempos de duración indicados por otras estaciones en sus tramas en el campo Duration/ID y que marca el tiempo que tomará la transmisión de la trama que se ha detectado. La estación determina el estado del medio de ocupado o libre en función de una combinación de estos dos mecanismos (el PHY y el MAC). Si cualquiera de los dos indica que el medio está ocupado entonces el se invoca el proceso de backoff. El algoritmo de backoff funciona como sigue. Cuando se invoca backoff se genera un número aleatorio en el rango \\\[0, Contention Window\\\]. Este número que se genera indica el número de slots temporales que la estación debe retrasar la transmisión de la trama. Cuando se establece el número de backoff, si el medio se detecta libre, se reduce en un slot, en otro caso se mantiene el valor que tenga en ese instante. El valor de Contention Window inicialmente se pone a CWmin y a partir de este punto crece exponencialmente en cada nueva retransmisión siguiendo la regla "2\\\*Contention Window +1" hasta un máximo de CWmax. La siguiente figura representa esquemáticamente el funcionamiento del backoff.

Un último aspecto a tener en consideración del mecanismo DCF son los indicadores temporales que se pueden observar en la figura anterior. El estándar define el DIFS (Distributed Inter-Frame Space) y el SIFS (Short Inter-Frame Space). El DIFS se usa por las estaciones para transmitir tramas de datos y de gestión. Es el tiempo que la estación tiene que esperar sin detectar ninguna transmisión para determinar que el medio está libre. Por otro lado SIFS es el tiempo que una estación que ha transmitido debe esperar a recibir una notificación de recepción (acknowledgement).

Referencias