lunes, 10 de febrero de 2014

CSMA/CD

En comunicaciones, CSMA/CD (del inglés Carrier Sense Multiple Access with Collision Detection) o, en español, acceso múltiple con escucha de portadora y detección de colisiones, es un protocolo de acceso al medio compartido. Su uso está especialmente extendido en redes Ethernet donde es empleado para mejorar sus prestaciones. En CSMA/CD, los dispositivos de red escuchan el medio antes de transmitir, es decir, es necesario determinar si el canal y sus recursos se encuentran disponibles para realizar una transmisión. Además, mejora el rendimiento de CSMA finalizando el envío cuando se ha detectado una colisión. 
Historia 
Una red en donde los equipos pueden transmitir de forma simultánea varios paquetes es propensa a sufrir colisiones que generan, en el mejor de los casos, retardos en la entrega de estos paquetes y, en otros, la pérdida de información. Para evitar estas situaciones se desarrollaron las técnicas de control de acceso al medio.
Las bajas prestaciones de los primeros mecanismos empleados: Aloha y Aloha ranurado, provocaron la aparición de nuevas técnicas encaminadas a la gestión más eficiente de los recursos de una red, dando lugar al protocolo CSMA y posteriormente a su evolución CSMA/CD (CSMA con detección de colisiones). 
Trama CSMA/CD 
 

La trama empleada en CSMA/CD está formada por ocho campos:


·         El preámbulo, formado por 7 octetos, es el encargado de que el receptor pueda sincronizarse con el emisor, de forma que pueda localizarse el principio de la trama.
·         Delimitador de inicio: es un byte empleado para indicar al receptor el inicio de la trama.
·         Dirección de destino: contiene la dirección física (MAC) del equipo destinatario de la trama.
·         Dirección de origen: contiene la dirección MAC de la estación emisora de la trama y tiene un formato similar al de la dirección de destino.
·         Longitud: indica la longitud del campo de datos que se encuentra a continuación. Es necesaria para determinar la longitud del campo de datos en los casos que se utiliza un campo de relleno.
·         Información: contiene los datos transmitidos. Es de longitud variable, por lo que puede tener cualquier longitud entre 42 y 1500 bytes.
·         Relleno: es usado para que la trama alcance la longitud mínima requerida. Una trama debe contener un mínimo número de bytes para que las estaciones puedan detectar las colisiones con precisión.
·         Chequeo: contiene un código de redundancia cíclica de 32 bits. Es utilizada como mecanismo de control de errores en la transmisión.
Tipo de CSMA/CD 

El protocolo CSMA/CD puede estar basado en cualquiera de los siguientes procedimientos:


·         CSMA 1-persistente: cuando una estación quiere transmitir, primero escucha el canal. Si éste está libre entonces transmite inmediatamente. En el caso contrario permanece a la escucha hasta que esté libre. En el momento en el que la estación considere que el canal está disponible, se transmite inmediatamente. El problema radica en que varias estaciones pueden estar esperando a que el canal esté libre para transmitir, dando lugar a una colisión de sus tramas.
·         CSMA no persistente: funciona de forma análoga al anterior excepto en el hecho de que cuando detecta que el canal está ocupado, en vez de permanecer a la espera escuchándolo, espera un tiempo aleatorio y vuelve a escuchar el canal. Con este método se reducen las colisiones si el tráfico es elevado, mejorándose la utilización del canal. Sin embargo aumentan los retardos para cargas de tráfico bajas .
·         CSMA p-persistente: al igual que en los casos anteriores se escucha el canal, sin embargo si éste está libre, en vez de transmitir inmediatamente, se transmite con una probabilidad p, o bien se retrasa la emisión una ranura temporal con una probabilidad q=1-p . Esta ranura temporal suele ser igual al máximo retardo de propagación de la señal.
Habitualmente suele ser utilizado el protocolo 1-persistente, pues es empleado en el estándar IEEE_802.3

Funcionamiento


Funcionamiento general



En CSMA/CD , cada estación que desea transmitir debe realizar una escucha del medio – detección de portadora- para comprobar si éste se encuentra libre, es decir, para comprobar que ninguna otra estación está en ese instante transmitiendo un mensaje. Si el medio se encuentra libre entonces tiene lugar dicha transmisión. Aun así, puede ocurrir que varias estaciones tengan mensajes para enviar y que comiencen a transmitir una trama en el mismo instante. Cuando esto se sucede, se dice que ha ocurrido una colisión en la red. La estación que ha detectado la colisión procederá a enviar un mensaje de jam de 32 bits al resto de estaciones para notificar dicho evento. Una vez que todas las estaciones han sido notificadas, automáticamente se paran todas las transmisiones y se ejecuta un algoritmo de backoff (o de postergación) que consiste en esperar un tiempo aleatorio (backoff) antes de volver a intentar la transmisión. Durante los 10 primeros intentos el valor medio del tiempo de espera se duplica mientras que durante los 6 siguientes intentos adicionales, se mantiene. Tras 16 intentos fallidos, el algoritmo notificará un error a las capas superiores. 



Ventajas 
·         La detección de colisiones en redes LAN cableadas es fácil.


·         El tiempo medio necesario para dectectar una colisión es relativamente bajo.
·         Puede ser empleado en sistemas de control de procesos contínuos si la carga de tráfico de la red es baja (inferior al 20 %)
·         Ofrece un rendimiento mayor en especial cuando existen pocas colisiones. 

Desventajas 
·         Una de las desventajas más importantes radica en que no es posible garantizar un tiempo máximo finito para el acceso de las tramas al canal de comunicación, por lo cual no resulta adecuado para aplicaciones de tiempo real.
·         Normalmente las redes CSMA/CD son de tipo half-duplex, lo cual significa que mientras una estación envía información es incapaz de escuchar el tráfico existente.
·         Problemática en redes inalámbricas (ver más abajo) 


Problemática en Redes inalámbricas 
En las redes inalámbricas proceder a la escucha del medio y por lo tanto detectar las colisiones producidas, puede resultar complicado. Esto se manifiesta en dos problemáticas:
·         Problema del nodo oculto: una estación puede creer que el canal (medio) está libre cuando en realidad está ocupado por otra estación a la que no oye. En la siguiente imagen se muestra como A y C transmiten hacia B ya que ambos detectaron que el canal estaba libre. Sin embargo B escucha a ambos nodos, dando lugar a una colisión.
·         Problema del nodo expuesto: una estación puede creer que el canal está ocupado cuando en realidad lo está ocupando otra estación que no interferiría en su transmisión a otro destino. En la figura se muestra como C está comunicándose con B. Como D detecta que el canal está ocupado, no puede transmitir hacia E, cuando lo idóneo sería que sí pudiese.
Estos problemas fueron resueltos con la implementación del protocolo CSMA/CA (MultiAccess Collision Avoidance). 

Parámetros según norma IEEE 802.3 

PARÁMETROS DE CSMA/CD NORMA IEE 802.3
Velocidad de transmisión
10Mbps
Slot time
51.2 microseg (512 bits)
Límite de intentos
16
Longitud de jam
32 bits
Longitud máxima de la trama
1518 bytes
Longitud mínima de la trama
64 bytes
Intervalo entre tramas
9.6 microseg










0 comentarios:

Publicar un comentario

Subscribe to RSS Feed Follow me on Twitter!