PROTOCOLO CSMA/CD

Versión para imprimirVersión para imprimir

PROTOCOLO CSMA/CD

 Definición de CSMA/CD

CSMA/CD son siglas que corresponden a las siglas Carrier Sense Multiple Access with Collision Detection, que corresponden a Acceso Múltiple por Detección de Portadora con Detección de Colisiones, es una técnica usada en las redes para mejorar las prestaciones. Antes de usar estas técnicas se usaron las de Aloha puro y Aloha ranurado, pero ambas tenían muy bajas prestaciones. Por esto, primero se creó el CSMA, luego se mejoró y surgió el CSMA/CD.

La  meta  de  este  protocolo  es  de  evitar  al  máximo  las  colisiones.  La  diferencia  principal  con  el protocolo de AlohaNet es que todos los equipos escuchan el medio y se detectan las colisiones. 
A continuación se presenta un esquema del protocolo CSMA, que es muy parecido al de AlohaNet:

 Funcionamiento

Su funcionamiento es:
       1. Una estación que tiene un mensaje para enviar escucha al medio para ver si otra estación está transmitiendo un mensaje.

       2. Si el medio esta tranquilo (ninguna otra estación esta transmitiendo), se envía la transmisión y se espera el ACK (acuse de recibo). La estación que recibe comprueba el CRC (detección de errores) y si es correcto envía el ACK. Si tras un tiempo no ha sido recibido el ACK, se pasa al paso 1. Si se recibe, la operación ha sido un éxito.

       3. Cuando dos o más estaciones tienen mensajes para enviar, es posible que transmitan casi en el mismo instante, resultando en una colisión en la red.

       4. Cuando se produce una colisión, todas las estaciones receptoras ignoran la transmisión confusa.

       5. Si un dispositivo de transmisión detecta una colisión, envía una señal de expansión para notificar a todos los dispositivos conectados que ha ocurrido una colisión.

       6. Las estaciones transmisoras detienen sus transmisiones tan pronto como detectan la colisión.

       7. Cada una de las estaciones transmisoras espera un periodo de tiempo aleatorio e intenta transmitir otra vez.

En redes inalámbricas, resulta a veces complicado llevar a cabo el primer paso. Por este motivo, surgen dos problemas, que son los que siguen:

       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 se propone MACA que significa: Evasión de Colisión por Acceso Múltiple.

A continuación se muestra el funcionamiento mediante dos figuras.

Las figuras 1 y 2 muestran los dos posibles estados de transmisión de datos de Ethernet. Si el medio está ocupado, el intento de transmisión será diferido hasta que éste se desocupe. Si el medio está ocioso, entonces el intento de transmisión puede realizarse inmediatamente, como se muestra en la figura 1.

Si otros nodos intentan transmitir al mismo tiempo, se produce una colisión. El medio es agolpado durante el tiempo Jam para alertar a todas las estaciones que ha ocurrido una colisión. Las estaciones que colisionan entran a Backoff para que su reintento de transmisión sea planeado. Esto se muestra en la figura 2.

 Detección de portadora y Detección de colisiones

La detección de portadora es utilizada para escuchar al medio para ver si se encuentra libre. Si la portadora se encuentra libre, los datos son pasados a la capa física para su transmisión. Si la portadora está ocupada, se monitorea hasta que se libere.

Tras la transmisión, continúa el monitoreo del medio de transmisión. Cuando dos señales colisionan, sus mensajes se mezclan y se vuelven ilegibles. cuando esto ocurre, las estaciones afectadas detienen su transmisión y envían una señal de expansión, asegura que todas las demás estaciones de la red se enteren de que ha ocurrido una colisión.

Cada segmento de una red Ethernet, entre dos router, bridges o switches, constituye lo que se denomina dominio de tiempo de colisiones o dominio de colisiones Ethernet.

Se supone que cada bit permanece en el dominio un tiempo máximo de 25.6 µs, lo que significa que en este tiempo debe haber llegado al final del segmento.

Si en este tiempo la señal no ha salido del segmento, puede ocurrir que una segunda estación en la parte del segmento aún no alcanzado por la señal, pueda comenzar a transmitir, puesto que su detección de portadora indica que la línea está libre, dado que la primera señal aún no ha alcanzado a la segunda estación.  En este caso ocurre un acceso múltiple MA y la colisión entre ambos es inevitable.

Los síntomas de una colisión dependen del medio de transmisión utilizado.  En el caso de cable coaxial, la señal del cable contiene estados intermedios.  La interferencia produce en algunos puntos un debilitamiento de la señal mientras que en otros se produce un reforzamiento; esta condición de sobretensión es detectada por los nodos.  En cambio, cuando se utiliza cable de par trenzado, el síntoma es que existe señal en el par TX mientras que simultáneamente se recibe también señal por el par RX.

Estos estados en que la calidad de la señal no es adecuada, son detectados como errores SQEs ("Signal Quality Errors"), y el dispositivo emisor envía un mensaje de error.

 Tipos de CSMA/CD

En función de cómo actúe 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 el canal libre, emite.
 -  CSMA 1-persistente: con el canal ocupado, la estación pasa a escuchar constantemente el canal sin esperar ningún tiempo. Cuando lo detecta libre emite. Podría ocurrir que emitiera otra estación durante un retardo de propagación o latencia de la red posterior a la emisión de la trama, produciéndose una colisión.

 -  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. Si no transmitiera, en la siguiente ranura o división de tiempo volvería a ejecutar el mismo algoritmo hasta transmitir. Así se reduce el número de colisiones.

Errores más comunes

Los tipos de errores que se pueden dar en Ethernet son los siguientes:
 - “runt”: definidos antes de que expire la ranura temporal (slot). Suelen deberse a colisiones “legales” (se consideran ilegales las colisiones producidas fuera del slot, que indican una red fuera de parámetros). Las colisiones pueden ser locales (detectables por señales con voltajes duplicados o detección de señal en la recepción simultáneamente a la transmisión) o remotas (detectables porque la trama es inferior a la ranura, y son debidas a colisiones producidas más allá de un repetidor).

 - Trama larga, jabber: Transmisión excesiva o ilegalmente larga.
 - Error de FCS: Transmisión dañada.
 - Error de alineamiento: Número insuficiente o excesivo de bits transmitidos (no son un múltiplo de 8).
 - Error de intervalo o de rango: El número real y el informado de octetos en una trama no concuerda.
 - Fantasma: Preámbulo inusualmente largo o evento de congestión. Es un ruido mal apantallado que parece trama.

AUTONEGOCIACIÓN

 En Ethernet 10 Mbps cada estación emite un pulso cada 16 ms si no se está transmitiendo, denominado NLP. En Fast-Ethernet se transmiten ráfagas de varios NLPs, denominadas FLP. La autonegociación se establece emitiendo ráfagas al nivel superior e intentando enlazar a las mayores prestaciones posibles (full-duplex y Gigabit Ethernet). Si no es posible se va probando a prestaciones inferiores. Aunque es preferible configurar las NIC en modo autonegociación, es posible forzarlas para que operen a unos valores determinados. En este caso es importante forzar todas las tarjetas de la red para que operen con los mismos parámetros.