140 likes | 417 Views
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
E N D
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 protocolofiableorientado a conexiónmássencillo • Impide un usoeficiente de los enlaces, p. ej. Líneapunto 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 terminaenvío de T1 y espera • 20 ms: B empiezarecepción de T1 • 30 ms: B terminarecepción de T1; envía ACK de T1 • 50 ms: A recibe ACK de T1; empiezaenvío de T2 • Eficiencia: 10/50 = 0,2 = 20%
0 2000 4000 Km Parada y espera 0 ms T1 10 ms T1 20 ms T1 ACK 30 ms T1 ACK 40 ms ACK 50 ms T2
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
0 2000 4000 Km Ventana deslizante 0 ms T1 10 ms T1 20 ms T2 T1 ACK(1) 30 ms T3 T2 ACK(2) ACK(1) 40 ms T4 T3 ACK(2) ACK(3) ACK(1) 50 ms T6 T4 T5
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 protocolopuede ser: • Retroceso n: no se aceptaunatramahastahaberrecibidolasanteriores • Repeticiónselectiva: se admitecualquiertrama en el rangoesperado y se pide solo la quefalta. • Repeticiónselectivaesmáscomplejoperomáseficiente, y requieremasespacio en buffers en el receptor(paraalmacenar un nº de tramasigual al tamaño de la ventana, puespodríaperderse la 1ª trama). • Tamaño de ventana: • Retroceso n: Número de secuencia – 1 • Repeticiónselectiva: Número de secuencia/2