stringtranslate.com

Acceso múltiple con detección de portadora y detección de colisiones

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.

Procedimiento

Algoritmo simplificado de CSMA/CD que incluye la lógica de retransmisión utilizada para resolver una colisión detectada.

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 

  1. ¿Hay algún cuadro listo para transmitir? Si no, espere a que llegue un cuadro.
  2. ¿El medio está inactivo? Si no, espere hasta que esté listo. [nota 1]
  3. Comience a transmitir y controle si hay colisiones durante la transmisión.
  4. ¿Se produjo una colisión? En caso afirmativo, vaya al procedimiento de detección de colisión.
  5. Restablecer los contadores de retransmisión y completar la transmisión de la trama.

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.

  1. Continuar la transmisión (con una señal de interferencia en lugar de encabezado de trama/datos/ CRC ) hasta que se alcance el tiempo mínimo de paquete para garantizar que todos los receptores detecten la colisión.
  2. Contador de retransmisión incremental.
  3. ¿Se alcanzó el número máximo de intentos de transmisión? En caso afirmativo, cancele la transmisión.
  4. Calcular y esperar el período de retroceso aleatorio en función del número de colisiones.
  5. Reingrese al procedimiento principal en la etapa 1.

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.

Señal de atasco

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.

Colisión tardía

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.

Colisión local

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.

Colisión remota

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 ]

Efecto de captura de canal

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.

Aplicaciones

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".

Véase también

Notas

  1. ^ En Ethernet, las estaciones deben esperar adicionalmente el período de intervalo entre tramas de 96 bits .
  2. ^ El tamaño de esta señal de atasco está claramente por encima del tamaño de trama mínimo permitido de 64 bytes.

Referencias

  1. ^ "Explicación de la detección de colisiones de acceso múltiple con detección de portadora (CSMA/CD)". learn-networking.com . 29 de enero de 2008. Archivado desde el original el 23 de julio de 2011 . Consultado el 29 de julio de 2011 .
  2. ^ Cláusulas 9, 27 y 41 de IEEE 802.3-2012
  3. ^ Heinz-Gerd Hegering; Alfred Lapple (1993). Ethernet: construcción de una infraestructura de comunicaciones . Addison-Wesley. ISBN 0-201-62405-2.
  4. ^ IEEE 802.3 8.3.1.5 Umbrales de detección de colisiones
  5. ^ IEEE 802.3 10.4.1.5 Umbrales de detección de colisiones
  6. ^ Requisitos de la función de presencia de colisión IEEE 802.3 14.2.1.4 (solo modo semidúplex)
  7. ^ IEEE 802.3 9.5.6 Manejo de colisiones
  8. ^ IEEE 802.3 27.3.1.4 Requisitos funcionales de manejo de colisiones
  9. ^ Forouzan, Behrouz A. (2010). Conjunto de protocolos TCP/IP (4.ª ed.). Boston: McGraw-Hill Higher Education. pág. 54. ISBN 978-0073376042.
  10. ^ IEEE 802.3 4.2.3.2.4 Detección y aplicación de colisiones (solo modo semidúplex)
  11. ^ IEEE 802.3-2008 Sección 1, IEEE sección 5.2.2.1.10
  12. ^ Kopparty, S; Krishnamurthy, SV; Faloutsos, M.; Tripathi, SK (1998). "Split TCP for Mobile Ad Hoc Networks" (PDF) . Conferencia Global de Telecomunicaciones, 2002. GLOBECOM '02. IEEE . Vol. 1. págs. 138–142. doi :10.1109/GLOCOM.2002.1188057. ISBN . 0-7803-7632-3. S2CID  18426. Archivado (PDF) del original el 9 de octubre de 2022.