“Media Access Control” o MAC se refiere a los protocolos que determinan
cuál de los computadores de un entorno de medios compartidos (dominio de colisión) puede transmitir los datos. La subcapa MAC, junto con la subcapa “Logical Link Control” o LLC, constituyen la versión IEEE de la Capa 2 del modelo OSI. Tanto MAC como LLC son subcapas de la Capa 2. Hay dos categorías amplias de Control de acceso al medio que sirven como mecanismos para la resolución de conflictos en la transmisión de datos: determinística (por turnos) y la no determinística (el que primero llega, primero se sirve).
Ejemplos de protocolos determinísticos son: el Token Ring y el FDDI. En
una red Token Ring, los host individuales se disponen en forma de anillo y un token de datos especial se transmite por el anillo a cada host en secuencia. Cuando un host desea transmitir, retiene el token, transmite los datos por un tiempo limitado y luego envía el token al siguiente host del anillo. El Token Ring es un entorno sin colisiones ya que sólo un host es capaz de transmitir a la vez.
Los protocolos MAC no determinísticos utilizan el enfoque de "el primero
que llega, el primero que se sirve". El CSMA/CD (Carrier Sense Multiple Access with Collision Detection) es un sistema simple. La NIC espera la ausencia de señal en el medio y comienza a transmitir. Si dos nodos transmiten al mismo tiempo, se produce una colisión y ningún nodo podrá transmitir.
Ethernet es una tecnología de broadcast de medios compartidos. CSMA/CD es
una técnica usada en redes Ethernet para mejorar su rendimiento. Anteriormente a esta técnica se usaron las de “Aloha” puro y “Aloha ranurado”, pero ambas presentaban muy bajo rendimiento. Por eso apareció primeramente la técnica CSMA, que fue posteriormente mejorada con la aparición de CSMA/CD. Funcionamiento de CSMA/CD
El método de acceso CSMA/CD que se usa en Ethernet ejecuta tres
funciones: * Transmitir y recibir tramas de datos * Decodificar tramas de datos y verificar que las direcciones sean válidas antes de transferirlos a las capas superiores del modelo OSI * Detectar errores dentro de los tramas de datos o en la red
En este tipo de red cada estación se encuentra conectada
mayormente bajo un mismo bus de datos, es decir las computadoras se conectan en la misma línea de comunicación (cableado), y por esta transmiten los paquetes de información hacia el servidor y/o los otros nodos.
En el diagrama 1 se visualiza el flujo de actividades llevadas a
cabo en CSMA/CD. Los dispositivos de networking que tienen datos para transmitir funcionan en el modo "escuchar antes de transmitir". Esto significa que cuando un nodo desea enviar datos, primero debe determinar si los medios de networking están ocupados. Si el nodo determina que la red está ocupada, el nodo esperará un tiempo determinado al azar antes de reintentar. Si el nodo determina que el medio de networking no está ocupado, comenzará a transmitir y a escuchar. El nodo escucha para asegurarse que ninguna otra estación transmita al mismo tiempo. Una vez que ha terminado de transmitir los datos, el dispositivo vuelve al modo de escuchar. Cada transmisión está limitada en el tiempo, pues existe un tamaño máximo de paquete. Cuando un host comienza a transmitir, la señal no llega a cada punto de la red simultáneamente, a pesar de que viaja a casi un 80% de la velocidad de la luz. Por lo anterior, es posible que 2 hosts determinen que la red está ociosa y comiencen a transmitir al mismo tiempo; provocando la colisión de las dos señales.
Los dispositivos de networking detectan que se ha producido una
colisión cuando aumenta la amplitud de la señal en los medios de networking. Cuando se produce una colisión, cada nodo que se encuentra en transmisión continúa transmitiendo por poco tiempo a fin de asegurar que todos los dispositivos detecten la colisión. Una vez que todos los dispositivos la han detectado, se invoca el algoritmo de postergación y la transmisión se interrumpe. Los nodos interrumpen la transmisión por un período determinado al azar, que es diferente para cada dispositivo. El emisor espera un tiempo aleatorio después de la primera colisión; un periodo de espera 2 veces más largo que el primero en caso de una segunda colisión; 4 veces más largo la próxima vez, etc., reduciendo así al máximo la probabilidad de colisión. Cuando caduca el período de retardo cada nodo puede intentar ganar acceso al medio de networking. Los dispositivos involucrados en la colisión no tienen prioridad para transmitir datos.
Diagrama 1
Ejemplo
El protocolo CSMA/CD funciona de algún modo como una conversación
en una habitación oscura. Todo el mundo escucha hasta que se produce un periodo de silencio, antes de hablar (CS, detección de portadora). Una vez que hay silencio, todo el mundo tiene las mismas oportunidades de decir algo (Acceso Múltiple). Si dos personas empiezan a hablar al mismo tiempo, se dan cuenta de ello y dejan de hablar (Detección de Colisiones). Tipos de CSMA/CD
En función de como actue la estación, el método CSMA/CD se puede
clasificar en:
* CSMA no-persistente: si el canal está ocupado espera un
tiempo aleatorio y vuelve a escuchar. Si detecta libre el canal, emite inmediatamente
* CSMA 1-persistente: con el canal ocupado, la estación pasa a
escuchar constantemente el canal, sin esperar tiempo alguno. En cuanto lo detecta libre, emite. Puede ocurrir que, si durante un retardo de propagación o latencia de la red posterior a la emisión de la trama emitiera otra estación, se produciría una colisión (probabilidad 1).
* CSMA p-persistente: después de encontrar el canal ocupado, y
quedarse escuchando hasta encontrarlo libre, la estación decide si emite. Para ello ejecuta un algoritmo o programa que dará orden de transmitir con una probabilidad p, o de permanecer a la espera (probabilidad (1-p)). Si no transmitiera, en la siguiente ranura o división de tiempo volvería a ejecutar el mismo algoritmo. Así hasta transmitir. De esta forma se reduce el número de colisiones (compárese con CSMA 1-persistente, donde p=1).
Una vez comenzado a emitir, no para hasta terminar de emitir la
trama completa. Si se produjera una colisión, esto es, que dos tramas de distinta estación fueran emitidas a la vez en el canal, ambas tramas serán incompresibles para las otras estaciones y la transmisión habrá sido un desastre.
Finalmente CSMA/CD supone una mejora sobre CSMA, pues la estación
está a la escucha a la vez que emite, de forma que si detecta que se produce una colisión, para inmediatamente la transmisión.
La ganancia producida es el tiempo que no se continua utilizando
el medio para realizar una transmisión que resultará inútil, y que se podrá utilizar por otra estación para transmitir. Temporización
Para que Ethernet CSMA/CD opere, la estación transmisora debe
reconocer la colisión antes de completar la transmisión de una trama del tamaño mínimo. A 100 Mbps, la temporización del sistema apenas es capaz de funcionar con cables de 100 metros. A 1000 Mbps, ajustes especiales son necesarios ya que se suele transmitir una trama completa del tamaño mínimo antes de que el primer bit alcance el extremo de los primeros 100 metros de cable UTP. Por este motivo, no se permite half duplex en la Ethernet de 10 Gigabits.
I. Redes Inalámbricas
En este tipo de redes resulta a veces complicado llevar a cabo el
primer paso (escuchar al medio para determinar si está libre o no). Por este motivo, surgen dos problemas que pueden ser detectados:
1. Problema del nodo oculto: la estación cree que el medio
está libre cuando en realidad no lo está, pues está siendo utilizado por otro nodo al que la estación no "oye".
2. Problema del nodo expuesto: la estación cree que el medio
está ocupado, cuando en realidad lo está ocupando otro nodo que no interferiría en su transmisión a otro destino.
Para resolver estos problemas, la IEEE 802.3 propone MACA
(MultiAccess Collision Avoidance – Evitar Colisión por Acceso Múltiple).