domingo, 22 de febrero de 2015

PROTOCOLO DE ACCESO CSMA/CD

Cuando la interfaz del servidor tiene un paquete para transmitir, escucha en la línea para determinar si hay mensajes siendo transmitidos. Si no detecta transmisión alguna, la interfaz comienza a enviar. Cada transmisión está limitada en el tiempo, pues existe un tamaño máximo de paquete. Cuando un transceiver 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 transceivers determinen que la red está ociosa y comiencen a transmitir al mismo tiempo; provocando la colisión de las dos señales.
Detección de Colisiones (CD): Cada transceiver monitorea el cable mientras está transfiriendo para verificar que una señal externa no interfiera con la suya. Cuando una colisión es detectada, la interfaz aborta la transmisión y espera hasta que la actividad cese antes de volver a intentar la transmisión. Política de retención exponencial. 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.
Otro modo de explicarlo es:
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.)

PROTOCOLOS DE ACCESO MÚLTIPLE CON DETECCIÓN DE PORTADORA

En ALOHA las estaciones se ponían a transmitir sin preguntar si el medio está libre. Veamos ahora protocolos más 'diplomáticos', que antes de ponerse a hablar miran si alguien ya lo está haciendo. Estos protocolos se denominan de acceso múltiple con detección de portadora o CSMA (Carrier Sense Multiple Access). Esto permite hacer un uso más eficiente del canal, y llegar a mayores grados de ocupación.
CSMA 1-persistente
En su nivel más primitivo el protocolo CSMA hace lo siguiente: cuando tiene una trama lista para enviar primero escucha el canal para saber si está libre; si lo está envía la trama; en caso contrario espera a que se libere y en ese momento envía la trama. Este protocolo se denomina CSMA 1-persistente porque hay una probabilidad 1 (es decir certeza) de que la trama se transmita cuando el canal esté libre.
En una situación real con tráfico intenso es muy posible que cuando un ordenador termine de transmitir haya ya una 'cola' de ordenadores esperando para enviar su trama; con CSMA 1-persistente es altamente probable que todas esas tramas sean emitidas a la vez y colisionen, pudiéndose repetir este proceso varias veces con la consiguiente degradación del rendimiento. De hecho no hace falta que lo hagan exactamente a la vez: basta con que empiecen a transmitir con una diferencia de tiempos menor que la distancia que los separa, ya que en tal caso detectarán el canal libre en el momento de iniciar la transmisión; por ejemplo, supongamos dos ordenadores unidos por un cable de un kilómetro de longitud, con lo que la señal emitida por uno tardará unos 5 m s en llegar al otro; si la diferencia de tiempo con la que ambos empiezan a emitir es menor de 5 m s se producirá una colisión, pues el segundo no habrá recibido la señal del primero a tiempo de evitarla. En este tipo de redes el retardo de propagación de la señal puede tener un efecto importante en el rendimiento.
A pesar de sus inconvenientes el CSMA 1-persistente supone un avance respecto al ALOHA ranurado, ya que toma la precaución de averiguar antes si el canal está disponible, con lo que se evitan un buen número de colisiones. Suponiendo distribución de Poisson la máxima eficiencia puede llegar al 55% aproximadamente, obteniéndose ésta con un grado de ocupación del 100%. Como veremos más tarde el funcionamiento de Ethernet corresponde hasta cierto punto con el de CSMA 1-persistente.
CSMA no persistente
En un intento por resolver el problema del protocolo anterior podemos adoptar la estrategia siguiente: antes de enviar escuchamos, si el canal está libre transmitimos, pero si está ocupado, en vez de estar a la escucha, pendientes de usarlo en cuanto se libere, esperamos un tiempo aleatorio después del cual repetimos el proceso; A este protocolo se le denomina CSMA no persistente. Intuitivamente podemos predecir que dará una menor eficiencia que CSMA 1-persistente para tráficos moderados (pues introduce una mayor latencia), pero se comportará mejor en situaciones de tráfico elevado pues evita el efecto 'cola de espera' y las colisiones que en consecuencia se producen. La simulación matemática confirma esta suposición.
CSMA p-persistente
Tratemos ahora de diseñar un protocolo híbrido, que combine las ventajas de los dos anteriores. Tendrá el rendimiento de CSMA 1-persistente en tráficos moderados y el de CSMA no persistente en tráficos intensos. Este protocolo se denomina CSMA p-persistente y se aplica a canales a intervalos o ranurados. El funcionamiento es el siguiente: cuando el ordenador tiene algo que enviar primero escucha el canal; si está libre transmite, en caso contrario espera; cuando se ha liberado transmite con una probabilidad p (o no transmite con una probabilidad q=1-p); si no ha transmitido en el primer intervalo el ciclo se repite, es decir transmite con una probabilidad p (o no transmite con una probabilidad q). El proceso se repite hasta que finalmente la trama es transmitida o bien otro ordenador utiliza el canal, en cuyo caso espera un tiempo aleatorio y empieza de nuevo el proceso.
Ajustando el valor del parámetro p se puede regular el funcionamiento de este protocolo entre el de CSMA.1-persistente y el de CSMA no persistente. Su eficiencia es en general superior a la de ambos.
CSMA con detección de colisión
Hasta ahora, una vez habían empezado a transmitir una trama los ordenadores seguían transmitiendo aun cuando detectaran que había una colisión. En ese caso sería más eficiente parar de transmitir, ya que la trama será errónea e inútil. Este tipo de protocolo se conoce comoCSMA/CD (Carrier Sense Multiple Access with Collision Detection, acceso múltiple detección de portadora con detección de colisiones), y se utiliza en la red local IEEE 802.3, también conocida como Ethernet, en sus múltiples variantes.
En una red CSMA/CD la única circunstancia en la que puede producirse una colisión es cuando dos ordenadores empiezan a transmitir a la vez, o con una diferencia de tiempo lo bastante pequeña como para que la señal de uno no haya podido llegar al otro antes de que éste empiece a transmitir. Supongamos que tenemos dos ordenadores A y B situados en extremos opuestos de la red, y que el tiempo que la señal tarda en propagarse de un extremo a otro de la red es t; cabría pensar que pasado ese tiempo t desde que A empieza a transmitir ya puede estar seguro de que no se producirán colisiones; sin embargo esta suposición es incorrecta, ya que B podría haber empezado a transmitir justo en el instante t -e, o sea inmediatamente antes de que le haya llegado la trama de A; por tanto sólo después de un tiempo 2t puede A estar seguro de haberse `apoderado' del canal de transmisión.
Dado que el período de incertidumbre en CSMA/CD se reduce a ese intervalo 2t estas redes se suelen modelar como un sistema ALOHA ranurado con intervalos de tamaño 2t.


No hay comentarios:

Publicar un comentario