DCN - Protocolos y control de enlace de datos
La capa de enlace de datos es responsable de la implementación del flujo punto a punto y del mecanismo de control de errores.
Control de flujo
Cuando se envía una trama de datos (datos de capa 2) de un host a otro a través de un solo medio, se requiere que el remitente y el receptor trabajen a la misma velocidad. Es decir, el remitente envía a una velocidad en la que el receptor puede procesar y aceptar los datos. ¿Qué pasa si la velocidad (hardware / software) del remitente o del receptor es diferente? Si el remitente envía demasiado rápido, el receptor puede estar sobrecargado (inundado) y los datos pueden perderse.
Se pueden implementar dos tipos de mecanismos para controlar el flujo:
Stop and WaitEste mecanismo de control de flujo obliga al remitente después de transmitir una trama de datos a detenerse y esperar hasta que se reciba la confirmación de la trama de datos enviada.
Sliding Window
En este mecanismo de control de flujo, tanto el emisor como el receptor acuerdan el número de tramas de datos después de las cuales se debe enviar el acuse de recibo. Como aprendimos, el mecanismo de control de flujo de detener y esperar desperdicia recursos, este protocolo intenta hacer uso de los recursos subyacentes tanto como sea posible.
Control de errores
Cuando se transmite una trama de datos, existe la probabilidad de que la trama de datos se pierda en el tránsito o se reciba corrupta. En ambos casos, el receptor no recibe la trama de datos correcta y el remitente no sabe nada sobre cualquier pérdida, en tal caso, tanto el emisor como el receptor están equipados con algunos protocolos que les ayudan a detectar errores de tránsito como la pérdida de datos. marco. Por tanto, el remitente retransmite la trama de datos o el receptor puede solicitar reenviar la trama de datos anterior.
Requisitos para el mecanismo de control de errores:
Error detection - El remitente y el destinatario, ambos o alguno, deben comprobar que existe algún error en el tránsito.
Positive ACK - Cuando el receptor recibe una trama correcta, debe reconocerla.
Negative ACK - Cuando el receptor recibe una trama dañada o una trama duplicada, envía un NACK al remitente y el remitente debe retransmitir la trama correcta.
Retransmission: El remitente mantiene un reloj y establece un período de tiempo de espera. Si un acuse de recibo de una trama de datos transmitida previamente no llega antes del tiempo de espera, el remitente retransmite la trama, pensando que la trama o su acuse de recibo se ha perdido en tránsito.
Hay tres tipos de técnicas disponibles que la capa de enlace de datos puede implementar para controlar los errores mediante solicitudes de repetición automática (ARQ):
ARQ de parar y esperar
La siguiente transición puede ocurrir en ARQ Stop-and-Wait:
- El remitente mantiene un contador de tiempo de espera.
- Cuando se envía una trama, el remitente inicia el contador de tiempo de espera.
- Si el reconocimiento de la trama llega a tiempo, el remitente transmite la siguiente trama en la cola.
- Si el acuse de recibo no llega a tiempo, el remitente asume que la trama o su acuse de recibo se han perdido en tránsito. El remitente retransmite la trama e inicia el contador de tiempo de espera.
- Si se recibe un acuse de recibo negativo, el remitente retransmite la trama.
Go-Back-N ARQ
Detener y esperar El mecanismo de ARQ no utiliza los recursos de la mejor manera. Cuando se recibe el reconocimiento, el remitente permanece inactivo y no hace nada. En el método ARQ Go-Back-N, tanto el emisor como el receptor mantienen una ventana.
El tamaño de la ventana de envío permite al remitente enviar múltiples tramas sin recibir el reconocimiento de las anteriores. La ventana de recepción permite al receptor recibir múltiples tramas y reconocerlas. El receptor realiza un seguimiento del número de secuencia de la trama entrante.
Cuando el remitente envía todos los marcos en la ventana, verifica hasta qué número de secuencia ha recibido un reconocimiento positivo. Si todas las tramas se reconocen positivamente, el remitente envía el siguiente conjunto de tramas. Si el remitente encuentra que ha recibido NACK o no ha recibido ningún ACK para una trama en particular, retransmite todas las tramas después de las cuales no recibe ningún ACK positivo.
ARQ de repetición selectiva
En Go-back-N ARQ, se supone que el receptor no tiene ningún espacio de búfer para el tamaño de su ventana y tiene que procesar cada cuadro a medida que viene. Esto obliga al remitente a retransmitir todas las tramas que no se reconocen.
En ARQ de repetición selectiva, el receptor, mientras realiza un seguimiento de los números de secuencia, almacena las tramas en la memoria y envía NACK solo para la trama que falta o está dañada.
En este caso, el remitente envía solo el paquete para el que se recibe NACK.