Definición de CSMA/CD
El estándar IEEE 802.3 especifica el método de control del medio (MAC) denominado CSMA/CD por las siglas en ingles de acceso múltiple con detección de portadora y detección de colisiones (carrier sense multiple access with collision detection). CSMA/CD opera de la siguiente manera:
- Una estación que tiene un mensaje para enviar escucha al medio para ver si otra estación está transmitiendo un mensaje.
- Si el medio esta tranquilo (ninguna otra estación esta transmitiendo), se envía la transmisión.
- 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.
- Cuando se produce una colisión, todas las estaciones receptoras ignoran la transmisión confusa.
- 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.
- Las estaciones transmisoras detienen sus transmisiones tan pronto como detectan la colisión.
- Cada una de las estaciones transmisoras espera un periodo de tiempo aleatorio e intenta transmitir otra vez.
Detección de portadora
La detección de portadora es utilizada para escuchar al medio (la portadora) 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.
Detección de colisiones
Luego de comenzar 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. Si esto ocurre, las estaciones afectadas detienen su transmisión y envían una señal de expansión. La señal de expansión de colisión asegura que todas las demás estaciones de la red se enteren de que ha ocurrido una colisión.
Funciones de CSMA/CD
El estándar CSMA/CD de la IEEE define un modelo hecho de hasta seis funciones. Tres de estas funciones están relacionadas con el envió de datos y las otras tres de la recepción de datos. Las funciones de recepción funcionan en paralelo con las de envio.
Encapsulado/Desencapsulado de datos
La función de encapsulación y desencapsulación de datos es llevada a cabo por la subcapa MAC. Este proceso es responsable de las funciones de direccionamiento y del chequeo de errores.
Encapsulado
El encapsulado es realizado por la estación emisora. El encapsulado es el acto de agregar información, direcciones y bytes para el control de errores, al comienzo y al final de la unidad de datos transmitidos. Esto es realizado luego que los datos son recibidos por la subcapa de control de enlace lógico (LLC). La información añadida es necesaria para realizar las siguientes tareas:
Sincronizar la estación receptora con la señal.
Indicar el comienzo y el fin de la trama.
Identificar las direcciones tanto de la estación emisora como la receptora.
Detectar errores en la transmisión.
Desencapsulado
El desencapsulado es realizado por la estación receptora. Cuando es recibida una trama, la estación receptora es responsable de realizar las siguientes tareas:
- Reconocer la dirección de destino y determinar si coincide con su propia dirección.
- Realizar la verificación de errores.
- Remover la información de control que fue añadida por la función de encapsulado de datos en la estación emisora.
Administración de acceso al medio
La función de administración de acceso al medio es realizada por la subcapa MAC.
En la estación emisora, la función de administración de acceso al medio es responsable de determinar si el canal de comunicación se encuentra disponible. Si el canal se encuentra disponible puede iniciarse la transmisión de datos.
Adicionalote, la función de administración es responsable de determinar que acción deberá tomarse en caso de detectarse una colisión y cuando intentará retransmitir.
En la estación receptora la función de administración de acceso al medio es responsable de realizar las comprobaciones de validación en la trama antes de pasarla a la función de desencapsulado.
Codificación/decodificación de datos
La función de codificación/decodificación es realizada en la capa física. Esta función es responsable de obtener la forma eléctrica u óptica de los datos que se van a transmitir en el medio.
La codificación de datos es realizada por la estación emisora. Esta es responsable de traducir los bits a sus correspondientes señales eléctricas u ópticas para ser trasladadas a través del medio. Adicionalmente, esta función es responsable de escuchar el medio y notificar al la función de administración de acceso al medio si el medio se encuentra libre, ocupado o se ha detectado una colisión.
La decodificación de datos es realizada en la estación receptora. Esta es responsable de la traducción de las señales eléctricas u ópticas nuevamente en un flujo de bits.
Trama de transmisión CSMA/CD
Se defina a una trama de transmisión como el grupo de bits en un formato particular con un indicador de señal de comienzo de la trama.
El formato de la trama permite a los equipos de red reconocer el significado y propósito de algunos bits especificos en la trama. Una trama es generalmente una unidad lógica de transmisión conteniendo información de control para el chequeo de errores y para el direccionamiento.
El formato de la trama CSMA/CD (IEEE 8023.3) se encuentra a continuación:
Los componentes de la trama CSMA/CD son responsables de las siguientes tareas:
- El preámbulo es responsable de proveer sincronización entre los dispositivos emisor y receptor.
- El delimitador de inicio de trama indica el comienzo de una trama de datos.
- El delimitador de inicio de trama esta formado de la siguiente secuencia de 8 bits, 10101011
- Cada campo de dirección, dirección de origen y dirección
de destino, puede tener una longitud tanto de 2 bytes como de 6 bytes.
Ambas direcciones, origen y destino, deben tener la misma longitud en
todos los dispositivos de una red dada.
El campo dirección de destino específica la estación o estaciones a las cuales están dirigidos los datos. Una dirección que referencia a un grupo de estaciones es conocida como dirección de grupo de multicast, o dirección de grupo de multidifusión. Una dirección que referencia a todas las estaciones de una red es conocida como dirección de difusión.
La dirección de origen identifica a la estación que está haciendo la transmisión. - El campo longitud indica la longitud del campo de datos que se encuentra a continuación. Es necesaria para determinar la longitud del campo de datos en los casos que se utiliza un campo pad (campo de relleno).
- El campo información contiene realmente los datos transmitidos. Es de longitud variable, por lo que puede tener cualquier longitud entre 0 y 1500 bytes.
- Un campo pad o campo de relleno es usado para asegurar que la trama alcance la longitud mínima requerida. Una trama debe contener mínimo un número de bytes para que las estaciones puedan detectar las colisiones con precisión.
- Una secuencia de chequeo de trama es utilizada como
mecanismo de control de errores.
Cuando el dispositivo emisor ensambla la trama, realiza un cálculo en los bits de la trama. El algoritmo usado para realizar este cálculo siempre genera como salida un valor de 4 bytes. El dispositivo emisor almacena este valor en el campo de chequeo de secuencia de la trama.
Cuando el receptor recibe la trama, realiza el mismo cálculo y compara el resultado con el del campo de chequeo de secuencia de la trama. Si los dos valores coinciden, la transmisión se asume como correcta. Si los dos valores son diferentes, el dispositivo de destino solicita una retransmisión de la trama.