Control de errores Control de flujo Control de

  • Slides: 11
Download presentation
Control de errores Control de flujo

Control de errores Control de flujo

Control de errores Técnicas orientadas a detectar y corregir errores: • trama perdida •

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

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

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 tiempo de transmisión: una trama • tiempo de propagación: tiempo empleado por un bit en atravesar el medio desde el origen tiempo de propagación hasta el destino • latencia: retardo producido desde que la información se genera en origen hasta que llega a su latencia: 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): –

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 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 T 1 – 10 ms: A termina envío de T 1 y espera – 20 ms: B empieza recepción de T 1 – 30 ms: B termina recepción de T 1; envía ACK de T 1 – 50 ms: A recibe ACK de T 1; empieza envío de T 2 – Eficiencia: 10/50 = 0, 2 = 20%

Parada y espera 0 0 ms 2000 4000 T 1 10 ms T 1

Parada y espera 0 0 ms 2000 4000 T 1 10 ms T 1 20 ms T 1 ACK 30 ms ACK 40 ms 50 ms ACK T 2 T 1 Km

Control flujo: Ventana Deslizante (mecanismo de control de flujo): Soluciona el problema de una

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: emisor lista de números de secuencia que se le permite transmitir • ventana receptor: 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

Protocolo de ventana deslizante • Implementa un pipeline para evitar los tiempos muertos en la línea: – – – – 0 ms: A envía T 1 10 ms: A envía T 2; 20 ms: A envía T 3; B empieza a recibir T 1 30 ms: A envía T 4; B envía ACK(T 1) 40 ms: A envía T 5 50 ms: A recibe ACK(T 1) y envía T 6 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 0 ms 2000 4000 T 1 10 ms T 1 20

Ventana deslizante 0 0 ms 2000 4000 T 1 10 ms T 1 20 ms T 2 T 1 ACK(1) 30 ms T 3 40 ms ACK(1) T 4 50 ms T 5 ACK(2) T 3 ACK(2) ACK(1) T 6 T 2 ACK(3) T 4 Km

Tamaño de ventana • La ventana mínima para 100% de ocupación es la que

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. : =20 ms, v = 64 Kb/s, t = 640 bits W = 5

Protocolos de ventana deslizante • El protocolo puede ser: – Retroceso n: no se

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