El acceso múltiple con detección de portadora y detección de colisiones ( CSMA/CD ) es un método de control de acceso al medio (MAC) utilizado sobre todo en las primeras tecnologías Ethernet para redes de área local . Utiliza detección de portadora para diferir las transmisiones hasta que no haya otras estaciones transmitiendo. Esto se utiliza en combinación con la detección de colisiones en la que una estación transmisora detecta colisiones detectando transmisiones de otras estaciones mientras transmite una trama . Cuando se detecta esta condición de colisión, la estación deja de transmitir esa trama, transmite una señal de interferencia y luego espera un intervalo de tiempo aleatorio antes de intentar reenviar la trama. [1]
CSMA/CD es una modificación del acceso múltiple con detección de portadora pura (CSMA). CSMA/CD se utiliza para mejorar el rendimiento de CSMA al finalizar la transmisión tan pronto como se detecta una colisión, acortando así el tiempo necesario antes de que se pueda intentar un reintento.
Con la creciente popularidad de los conmutadores Ethernet en la década de 1990, IEEE 802.3 desaprobó los repetidores Ethernet en 2011, [2] haciendo que el funcionamiento CSMA/CD y semidúplex sea menos común y menos importante.
El siguiente procedimiento se utiliza para iniciar una transmisión. El procedimiento finaliza cuando la trama se transmite con éxito o se detecta una colisión durante la transmisión. [3] : 33
El siguiente procedimiento se utiliza para resolver una colisión detectada. El procedimiento finaliza cuando se inicia la retransmisión o se cancela la retransmisión debido a numerosas colisiones.
Los métodos para la detección de colisiones dependen del medio. En un bus eléctrico compartido como 10BASE5 o 10BASE2 , las colisiones se pueden detectar comparando los datos transmitidos con los datos recibidos o reconociendo una amplitud de señal superior a la normal en el bus. [4] [5] En todos los demás medios, una portadora detectada en el canal de recepción mientras transmite desencadena un evento de colisión. [6] Los repetidores o concentradores detectan colisiones por sí solos y propagan señales de interferencia. [7] [8]
El procedimiento de recuperación de una colisión se puede comparar con lo que sucede en una cena, donde todos los invitados hablan entre sí a través de un medio común (el aire). Antes de hablar, cada invitado espera cortésmente a que termine el orador actual. Si dos invitados comienzan a hablar al mismo tiempo, ambos se detienen y esperan durante períodos cortos de tiempo aleatorios (en Ethernet, este tiempo se mide en microsegundos). La esperanza es que al elegir cada uno un período de tiempo aleatorio, ambos invitados no elijan el mismo momento para intentar hablar nuevamente, evitando así otra colisión.
La señal de interferencia o señal de interferencia es una señal que lleva un patrón binario de 32 bits enviada por una estación de datos para informar a las demás estaciones transmisoras de la colisión y que no deben transmitir. [9] [10]
El tiempo máximo de interferencia se calcula de la siguiente manera: El diámetro máximo permitido de una instalación Ethernet está limitado a 232 bits. Esto genera un tiempo de ida y vuelta de 464 bits. Como el tiempo de ranura en Ethernet es de 512 bits, la diferencia entre el tiempo de ranura y el tiempo de ida y vuelta es de 48 bits (6 bytes), que es el tiempo de interferencia máximo .
Esto a su vez significa: Una estación que detecta que se ha producido una colisión envía un patrón de 4 a 6 bytes de longitud compuesto por 16 combinaciones de 1-0 bits. [nota 2]
El propósito de esto es garantizar que cualquier otro nodo que pueda estar recibiendo una trama actualmente reciba la señal de interferencia en lugar del CRC MAC de 32 bits correcto; esto hace que los otros receptores descarten la trama debido a un error de CRC.
Una colisión tardía es un tipo de colisión que ocurre más adentro del paquete de lo permitido por el estándar de protocolo en cuestión. En Ethernet de medio compartido de 10 megabits por segundo, si se produce un error de colisión después de que la estación transmisora transmite los primeros 512 bits de datos, [11] se dice que ha ocurrido una colisión tardía. Es importante destacar que la NIC no reenvía las colisiones tardías , a diferencia de las colisiones que ocurren antes de los primeros 64 octetos; queda en manos de las capas superiores de la pila de protocolos determinar si hubo pérdida de datos.
Como un enlace de red CSMA/CD configurado correctamente no debería tener colisiones tardías, las posibles causas habituales son una falta de coincidencia full-duplex/half-duplex, límites de longitud de cable Ethernet excedidos o hardware defectuoso, como cableado incorrecto, número de concentradores no compatible. en la red o una NIC defectuosa.
Una colisión local es una colisión que ocurre en la NIC , en lugar de en el cable. Una NIC no puede detectar colisiones locales sin intentar enviar información.
En el cable UTP , se detecta una colisión local en el segmento local solo cuando una estación detecta una señal en el par RX al mismo tiempo que envía por el par TX. Dado que las dos señales están en pares diferentes, no hay ningún cambio característico en la señal. Las colisiones sólo se reconocen en UTP cuando la estación funciona en modo semidúplex . La única diferencia funcional entre la operación half y full-duplex a este respecto es si se permite o no el uso simultáneo de los pares de transmisión y recepción.
Una colisión remota , en redes informáticas CSMA/CD sobre medios semidúplex (10BASE5 o 10BASE2), es una colisión que se produce cuando se transmite una trama más corta que la longitud mínima. Esta trama puede provocar una colisión en el extremo remoto que el transmisor no puede detectar, por lo que la trama no se reenvía a la capa física. Debido a la interferencia en el medio, sus datos se corrompen y la secuencia de verificación de cuadros falla, lo que requiere recuperación en una capa superior, si es posible. [ cita necesaria ]
El efecto de captura de canal es un fenómeno en el que un usuario de un medio compartido "captura" el medio durante un tiempo significativo. Durante este período (normalmente 16 fotogramas) [ se necesita aclaración ] , a otros usuarios se les niega el uso del medio. Este efecto se observó por primera vez en redes que utilizan CSMA/CD en Ethernet. Debido a este efecto, la conexión con mayor intensidad de datos domina el canal inalámbrico de acceso múltiple. [12] Esto sucede en los enlaces Ethernet debido a la forma en que los nodos "se retiran" del enlace e intentan volver a acceder a él. En el protocolo Ethernet, cuando ocurre una colisión de comunicación (cuando dos usuarios del medio intentan enviar al mismo tiempo), cada usuario espera un período de tiempo aleatorio antes de volver a acceder al enlace. Sin embargo, un usuario esperará ("retrocederá") durante un período de tiempo aleatorio proporcional al número de veces que ha intentado acceder al enlace sucesivamente. El efecto de captura de canal ocurre cuando un usuario continúa "ganando" el enlace.
Por ejemplo, el usuario A y el usuario B intentan acceder a un enlace silencioso al mismo tiempo. Dado que detectan una colisión, el usuario A espera un tiempo aleatorio entre 0 y 1 unidades de tiempo y también lo hace el usuario B. Digamos que el usuario A elige un tiempo de retroceso más bajo. El usuario A entonces comienza a utilizar el enlace y B le permite terminar de enviar su trama . Si el usuario A todavía tiene más para enviar, entonces el usuario A y el usuario B provocarán otra colisión de datos. A elegirá una vez más un tiempo de retroceso aleatorio entre 0 y 1, pero el usuario B elegirá un tiempo de retroceso entre 0 y 3, porque esta es la segunda vez consecutiva que B choca. Lo más probable es que A "gane" este de nuevo. Si esto continúa, lo más probable es que A gane todas las batallas de colisiones, y después de 16 colisiones (el número de intentos antes de que un usuario retroceda durante un período de tiempo prolongado), el usuario A habrá "capturado" el canal.
La capacidad de un nodo para capturar todo el medio disminuye a medida que aumenta el número de nodos. Esto se debe a que a medida que aumenta el número de nodos, existe una mayor probabilidad de que uno de los "otros" nodos tenga un tiempo de retroceso menor que el nodo capturador.
El efecto de captura de canal crea una situación en la que una estación puede transmitir mientras otras retroceden continuamente, lo que lleva a una situación de injusticia a corto plazo. Sin embargo, la situación es justa a largo plazo porque cada estación tiene la oportunidad de "capturar" el medio una vez que una estación termina de transmitir. La eficiencia del canal aumenta cuando un nodo ha capturado el canal.
Un efecto secundario negativo del efecto de captura sería el tiempo de inactividad creado debido a que las estaciones retroceden. Una vez que una estación termina de transmitir en el medio, se presentan largos tiempos de inactividad porque todas las demás estaciones retroceden continuamente. En algunos casos, el retroceso puede ocurrir durante tanto tiempo que algunas estaciones realmente descartan paquetes porque se han alcanzado los límites máximos de intentos.
CSMA/CD se utilizó en variantes de Ethernet de medio compartido ahora obsoletas ( 10BASE5 , 10BASE2 ) y en las primeras versiones de Ethernet de par trenzado , que utilizaban concentradores repetidores . Las redes Ethernet modernas, construidas con conmutadores y conexiones full-duplex , ya no necesitan usar CSMA/CD, porque cada segmento de Ethernet, o dominio de colisión , ahora está aislado. CSMA/CD todavía es compatible para compatibilidad con versiones anteriores y para conexiones semidúplex. El estándar IEEE 802.3 , que define todas las variantes de Ethernet, por razones históricas todavía llevaba el título "Acceso múltiple por detección de operador con método de acceso de detección de colisiones (CSMA/CD) y especificaciones de capa física" hasta 802.3-2008, que utiliza el nuevo nombre "Estándar IEEE". para Ethernet".