El acceso múltiple con detección de colisiones por detección de portadora ( CSMA/CD ) es un método de control de acceso al medio (MAC) utilizado principalmente en la tecnología Ethernet temprana para redes de área local . Utiliza la 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 está transmitiendo 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 (CSMA) puro. 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 nuevo intento.
Con la creciente popularidad de los conmutadores Ethernet en la década de 1990, IEEE 802.3 dejó obsoletos los repetidores Ethernet en 2011, [2] lo que hizo que el funcionamiento CSMA/CD y semidúplex fuera menos común y menos importante.
El siguiente procedimiento se utiliza para iniciar una transmisión. El procedimiento se completa cuando la trama se transmite correctamente 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 se completa cuando se inicia la retransmisión o esta se cancela 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 más alta de lo normal en el bus. [4] [5] En todos los demás medios, una portadora detectada en el canal de recepción durante la transmisión 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 colisiones puede compararse 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 el orador actual termine. Si dos invitados comienzan a hablar al mismo tiempo, ambos se detienen y esperan períodos cortos y aleatorios de tiempo (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 otras estaciones transmisoras de la colisión y que no deben transmitir. [9] [10]
El tiempo máximo de bloqueo se calcula de la siguiente manera: el diámetro máximo permitido de una instalación Ethernet está limitado a 232 bits. Esto supone 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 máximo de bloqueo .
Esto a su vez significa: una estación que nota que se ha producido una colisión está enviando un patrón de 4 a 6 bytes de longitud compuesto por 16 combinaciones de bits 1-0. [nota 2]
El propósito de esto es garantizar que cualquier otro nodo que pueda estar recibiendo actualmente una trama recibirá 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 adelante en el paquete de lo que permite 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 transmita los primeros 512 bits de datos, [11] se dice que se ha producido una colisión tardía. Es importante destacar que las colisiones tardías no son reenviadas por la NIC , a diferencia de las colisiones que ocurren antes de los primeros 64 octetos; se deja que las capas superiores de la pila de protocolos determinen que 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 desajustes entre dúplex completo y dúplex medio, límites de longitud del cable Ethernet excedidos o hardware defectuoso como cableado incorrecto, número no compatible de concentradores 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 , una colisión local se detecta en el segmento local solo cuando una estación detecta una señal en el par RX al mismo tiempo que está enviando en 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 solo se reconocen en UTP cuando la estación está operando en half-duplex . La única diferencia funcional entre el funcionamiento half-duplex y full-duplex en este sentido 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 no puede ser detectada por el transmisor, 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 tramas falla, requiriendo la recuperación en una capa superior, si es posible. [ cita requerida ]
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 tramas) [ aclaración necesaria ] , 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 alejan" 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á ("se alejará") durante una cantidad aleatoria de tiempo proporcional a la cantidad de veces que haya intentado acceder sucesivamente al enlace. 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. Como detectan una colisión, el usuario A espera un tiempo aleatorio entre 0 y 1 unidades de tiempo y lo mismo hace el usuario B. Digamos que el usuario A elige un tiempo de retroceso menor. El usuario A comienza a usar 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 causará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 que B colisiona consecutivamente. Es probable que A "gane" esta vez nuevamente. Si esto continúa, lo más probable es que A gane todas las batallas de colisión y, después de 16 colisiones (la cantidad 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 espera menor que el nodo que realiza la captura.
El efecto de captura de canal crea una situación en la que una estación puede transmitir mientras que las demás se retiran continuamente, lo que genera 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 se desconectan. Una vez que una estación termina de transmitir en el medio, se presentan largos tiempos de inactividad porque todas las demás estaciones se desconectan continuamente. En algunos casos, el desconexión puede durar tanto tiempo que algunas estaciones en realidad 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 utilizar CSMA/CD, porque cada segmento Ethernet, o dominio de colisión , ahora está aislado. CSMA/CD aún se admite por compatibilidad con versiones anteriores y para conexiones half-duplex. El estándar IEEE 802.3 , que define todas las variantes de Ethernet, por razones históricas todavía llevaba el título "Método de acceso y especificaciones de capa física de acceso múltiple con detección de colisiones (CSMA/CD) con detección de portadora" hasta 802.3-2008, que utiliza el nuevo nombre "Estándar IEEE para Ethernet".