Control de errores
Control de flujo
Control de errores
Técnicas orientadas a detectar y corregir errores:
• trama perdida
• trama dañada
Se utilizan mensajes ARQ (automatic repeat request) que implican:
• detección de errores
• confirmación positiva de transmisión de trama
• confirmación negativa y retransmisión de trama
• retransmisión por no confirmación
Las técnicas más usadas son:
• ARQ con parada-y-espera
• ARQ con vuelta-atrás-N
• ARQ con rechazo selectivo
Control de flujo
• Necesario para no 'agobiar' al receptor.
• Se realiza normalmente a nivel de transporte,
también a veces a nivel de enlace.
• Utiliza mecanismos de retroalimentación (el
receptor advierte al emisor). Por tanto:
– Requiere un canal semi-duplex o full-duplex
– No se utiliza en emisiones multicast/broadcast
• Suele ir unido a la corrección de errores
• No debe limitar la eficiencia del canal.
Control Flujo
Consiste en no saturar al receptor con más información de la que es capaz de gestionar
El receptor ha de usar una memoria temporal donde alojar la información antes de enviarla a las
capas superiores
Conceptos fundamentales:
• tiempo de transmisión: tiempo empleado por una estación para transmitir todos los bits de
una trama
• tiempo de propagación: tiempo empleado por un bit en atravesar el medio desde el origen
hasta el destino
• latencia: retardo producido desde que la información se genera en origen hasta que llega a su
destino:
• fija: inherente al medio físico
• variable: consecuencia de los problemas de la transmisión
Mecanismos de Control de Flujo:
• parada y espera
• ventana deslizante
Protocolo de parada y espera
Parada y Espera (mecanismo de control de flujo):
– La confirmación se produce trama a trama mediante un mensaje ACK, lo que implica que
sólo hay una trama en tránsito en cada momento
– Si el receptor no envía la trama de confirmación (ACK) en un tiempo preestablecido, el
emisor procede a reenviar dicha trama
– Es bastante ineficaz:
• si la longitud del enlace (número de bits presentes en el enlace) es mayor que la
longitud de la trama
• en sistemas con alta velocidad de transmisión sobre grandes distancias
•
•
Es el protocolo fiable orientado a conexión más sencillo
Impide un uso eficiente de los enlaces, p. ej. Línea punto a punto de A a B de 64 Kb/s de 4000
Km de longitud, tramas de 640 bits:
– 0 ms: A empieza el envío de trama T1
– 10 ms: A termina envío de T1 y espera
– 20 ms: B empieza recepción de T1
– 30 ms: B termina recepción de T1; envía ACK de T1
– 50 ms: A recibe ACK de T1; empieza envío de T2
– Eficiencia: 10/50 = 0,2 = 20%
Parada y espera
0
2000
4000
0 ms
T1
10 ms
T1
20 ms
T1
ACK
30 ms
T1
ACK
40 ms
50 ms
ACK
T2
Km
Control flujo: Ventana Deslizante (mecanismo de
control de flujo):
Soluciona el problema de una única trama en tránsito:
• el emisor asigna a las tramas un número de secuencia
• el receptor trabaja con una memoria temporal que le permite almacenar n tramas
• el receptor envía un mensaje enviando el siguiente número de trama que espera
recibir:
• confirma n tramas
• indica que está preparado para recibir n tramas
Este sistema implica el uso de dos ventanas (transmisión simplex):
• ventana emisor: lista de números de secuencia que se le permite transmitir
• ventana receptor: lista de números de secuencia que está esperando recibir
Para una transmisión Half-Duplex o Full-Duplex, el sistema necesita 4 ventanas:
emisión y recepción en cada terminal
Dado que se incluye el número de secuencia en la trama, su máximo valor
(MAX_SEQ) vendrá dado por el número de bits reservados para ello (3 bits 
números de 0 a 7)
Los mensajes de confirmación son:
• RRx: aceptadas las tramas hasta x-1
• RNRx: aceptadas las tramas hasta x-1, pero no se admiten más tramas hasta un
nuevo aviso (mensaje)
Protocolo de ventana deslizante
• Implementa un pipeline para evitar los tiempos
muertos en la línea:
–
–
–
–
–
–
–
0 ms: A envía T1
10 ms: A envía T2;
20 ms: A envía T3; B empieza a recibir T1
30 ms: A envía T4; B envía ACK(T1)
40 ms: A envía T5
50 ms: A recibe ACK(T1) y envía T6
Ventana mínima para 100% de ocupación: 5
• Resuelve problema de eficiencia a cambio de
mayor complejidad y espacio en buffers
Ventana deslizante
0
2000
4000
0 ms
T1
10 ms
T1
20 ms
T2
T1
ACK(1)
30 ms
T3
T2
40 ms
T4
50 ms
ACK(2)
ACK(1)
ACK(2)
ACK(1)
T6
T3
T5
ACK(3)
T4
Km
Tamaño de ventana
• La ventana mínima para 100% de ocupación es la
que ‘llena el hilo’ de datos en ambos sentidos, mas
uno:
• W = 2*(v/t) + 1
–
–
–
–
–
W: tamaño de ventana
: tiempo de propagación (en segundos)
v: velocidad de la línea
t: tamaño de trama
Ej.: =20ms, v = 64 Kb/s, t = 640 bits W = 5
Protocolos de ventana deslizante
• El protocolo puede ser:
– Retroceso n: no se acepta una trama hasta haber recibido
las anteriores
– Repetición selectiva: se admite cualquier trama en el rango
esperado y se pide solo la que falta.
• Repetición selectiva es más complejo pero más
eficiente, y requiere mas espacio en buffers en el
receptor(para almacenar un nº de tramas igual al
tamaño de la ventana, pues podría perderse la 1ª
trama).
• Tamaño de ventana:
– Retroceso n: Número de secuencia – 1
– Repetición selectiva: Número de secuencia/2
Descargar

Control de errores Control de flujo