Protocolo de RQ inactiva Dos formas de implementarlo: Retransmisión Implícita: S sólo confirma las tramas recibidas correctamente usando tramas ACK. P interpreta la uasencia de tramas ACK como error en la trama anterior. Solicitud explícita: S devuelve una confirmación negativa para solicitar el reenvío de una trama alterada. Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 153 Protocolo de RQ inactiva Retransmisión Implícita Temporizador N) ACK ( Tiempo máximo alcanzado I(N) Tiempo (a) Tiempo (b) I(N+1) A Temporizador P I(N+1) I(N) I(N) I(N) S ACK ( N) P 1) I(N) A I(N+2) I(N+1) I(N+ I(N) S P N+1 ) I(N) P Temporizador P A ACK ( A I(N) Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 154 Protocolo de RQ inactiva Solicitud Explícita Temporizador Temporizador P A I(N+1) I(N) NAC I(N) I(N) K(N ) N) I(N) P P ACK ( A S Tiempo (a) Tiempo (b) I(N) A P Tiempo máximo alcanzado Temporizador P I(N+1) I(N) N) I(N) A ACK ( I(N) I(N) S I(N) Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 155 Protocolo de RQ inactiva Grado de utilización del enlace Temporizador P A ) +1 ) ) +1 ) AC K(N I(N I(N I(N) S P I(N+1) I(N) P Temporizador AC K(N A Tiempo I(N+1) Tp Tp = Retardo de propagación de trama (P→S) Tix Tix= Tiempo de transmisión de trama I (P→S) Tip Tip = Tiempo de procesamiento de trama en S Tp Tp= Tiempo de propagación de trama ACK (S→P) Tax Tax= Tiempo de transmisión de trama ACK (S→P) Tap Tap= Tiempo de porcesamiento de ACK en P Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 156 Protocolo de RQ inactiva Grado de utilización del enlace (U) U= Tix Tt En la práctica, los tiempos de propagación son mucho mayores que el resto de los tiempos, así que U puede aproximarse por: U= Tix 1 1 = = Tix + 2T p 1 + 2T p Tix 1 + 2a Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 157 Grado de utilización del enlace Ejemplo Se desea transmitir una serie de tramas de información con una longitud promedio de 1000 bits, usando un protocolo de RQ inactiva. Si la velocidad de propagación del enlace es 2x108 m/s y las velocidades de transmisión son de (i) 64 kbps y (ii) 10 Mbps, determine la eficiencia (grado de utilización del enlace) para cada uno de los sigiuentes enlaces: 1. Un cable de par trenzado de 5 km de longitud 2. Una línea alquilada de 100 km de longitud 3. Un enlace por satélite de 50000 km Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 158 Grado de utilización del enlace Observaciones U es 100% para valores pequeños de a. Valores pequeños de a significa: Tix grande (tramas grandes) Tp pequeño (enlaces cortos) U se va reduciendo a medida que a aumenta. Valores grandes de a significa: Tix pequeño (tramas pequeñas) Tp grande (enlaces largos) Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 159 Influencia de los errores en el grado de utilización del enlace Los errores implican retransmisiones En promedio, se necesitan Nr intentos para retransmitir con éxito una trama. Asumiendo que el tiempo máximo (timeout) es cercano a Tt: U= Tix 1 = N r Tix + 2 N r T p N r (1 + 2a ) Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 160 Influencia de los errores en el grado de utilización del enlace Si se conoce la probabilidad de errores de bit P y suponiendo que los errores son aleatorios, la porbabilidad de que una trama de Ni bits se reciba con errores es: P f = 1 − (1 − P ) N i ≈ N i P si N i P << 1 La probabilidad de recibir una trama no alterada es 1 - Pf y Nr = 1/(1 - Pf ), por lo tanto: U= Luis Tarazona, DIP UNEXPO Barquisimeto 1 − Pf 1 + 2a ELT-51123 - Redes de Computadores 2001 161 Resumen RQ inactiva Ventajas: Sencilla de implementar Los requerimientos de memoria en el primario y secundario son mínimos. Desventajas Muy ineficiente para altas tasas de bits y enlaces largos Solo se procesa una trama a la vez. Se necesitan dos procesos separados para un comunicación full duplex. Solución: RQ continua Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 162 P envia tramas-I a medidad que van llegando, no espera por ACK o NACK. Cada trama-I no confirmada se mantiene en una lista de retransmisión. S envia una trama ACK(N) para cada trama N recibida Las tramas recibidas se colocan en la lista de recepción en el secundario a la espera de ser procesadas. Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 163 Protocolo de RQ continua N+3 N+2 N+1 N AC I(N+2) N+1 I(N+3) N+2 ) 4) I (N+ I(N+1) N+4 N+3 Contenido de la lista de retransmisión del enlace I(N+4) 3) I (N+ I(N) I(N+3) 2) I (N+ 1) I (N+ I (N) S N+4 N+3 N+2 K( N+ 3 I(N+2) V(S) Tiempo AC I(N+1) N+5 K( N) +2 I(N) N+4 ) P N+2 N+1 N N+1 N N N+3 AC N+2 K( N+ 1 N+1 K( N) N AC Protocolo de RQ continua - Reglas I(N+4) N+3 N+4 Contenido de la lista de recepción del enlace N N+1 Luis Tarazona, DIP UNEXPO Barquisimeto N+2 N+3 N+4 ELT-51123 - Redes de Computadores 2001 V(R) 164 RQ continua – Ventajas vs Desventajas 100% de utilización – Todos las tramas-I se envian inmediatamente PERO: V(S) está limitado, así que es dependiente de la tasa a la cual el secundario puede responder No hay recuperación, las tramas-I se pueden perder, los ACK pueden alterarse. No hay control de flujo. Hay dos estrategias para tratar los errores en C-RQ: Repetición selectiva Retroceder N Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 165 Repetición selectiva - Reglas Dos estrategias: Implícita – S confirma las tramas recibidas correctamente Explícita – S confirma negativamente las tramas con error (rechazo selectivo). ACK(N) confirma N P retransmite las tramas para las cuales no se recibe el ACK. Las tramas-I o los ACK pueden alterarse. Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 166 Repetición selectiva – Retransmisión implícita N N+1 N+2 N+3 N+4 N+5 N+5 V(S) N N+2 N+1 Luis Tarazona, DIP UNEXPO Barquisimeto N+1 ) AC I(N+5) N+2 N+3 N+4 N+1 N+2 N+3 N+4 N+1 K( N+ 1 ) K( N+ 4 I(N+1) I(N+4) N+2 N+3 N+1 AC AC AC N I(N+3) 5) I (N+ I(N+2) Tiempo I(N+5) 1) I (N+ I(N) 4) I (N+ 3) I (N+ 2) I (N+ 1) I (N+ I (N) S I(N+1) I(N+4) ) I(N+3) N+1 N+4 K( N+ 3 I(N+2) N+1 N+4 N+3 AC I(N+1) K( N) I(N) N+4 N+3 N+2 N+1 N+3 N+2 N+1 K( N) +2 N+1 N N P N+2 N+1 N N+1 N+5 ELT-51123 - Redes de Computadores 2001 167 Repetición selectiva - Variantes Se pueden usar NACKs para rechazar selectivamente y solicitar retansmisiones – solamente si se detecta un error. [N]ACK(N) confirma todas las tramas hasta e incluyendo la trama N. No se puede saltar sobre tramas perdidas Puede reducir el número de ACKs Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 168 V(R) Repetición selectiva – solicitud explícita N+4 N+3 N+2 N+1 N+3 N+2 N+1 I(N+2) I(N+3) NA C AC N+1 N+1 Luis Tarazona, DIP UNEXPO Barquisimeto I(N+4) N+2 N+3 N+1 Tiempo I(N+5) 5) I (N+ I(N+3) N+2 V(S) N+5 1) I (N+ I(N+2) N N I(N+1) 4) I (N+ I(N) N+6 N+5 N+1 N+4 N+3 N+2 N+1 N+4 N+3 N+2 I(N+4) 3) I (N+ 2) I (N+ 1) I (N+ I (N) S N+5 ) I(N+1) N+5 K( N+ 1 I(N) N+4 AC P N+2 N+1 N N+1 N N N+3 ) N+2 K( N+ 1 N+1 K( N) N I(N+1) N+2 N+3 N+4 N+1 I(N+5) N+2 N+3 N+4 N+1 N+1 N+5 V(R) N+5 ELT-51123 - Redes de Computadores 2001 N+6 169 Repetición selectiva Ventajas vs Desventajas Usualmente se mantiene la secuencia de entrega, los errores se corrigen. PERO: Posibilidad de retardos largos y estancamiento (deadlock). Se puede perder la secuencia de entrega por un largo tiempo. Alta demanda de memoria – Aún no hay control de flujo. Se pueden perder los datos al reusar los números de secuencia. Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 170 Retroceder N - Generalidades S solicita a P retransmitir desde un número de trama específico, N. S descarta tramas hasta que la trama N se recibe. ¿QUE BENEFICIOS SE OBTIENEN? Se puede asegurar el orden de entrega, aún cuando ocurran errores. Menos requerimientos de memoria en S, pero a expensas del incremento en las retransmisiones. Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 171 Repetición selectiva – solicitud explícita P N+2 N+1 N N+1 N N I(N) N+3 I(N+1) N+4 N+4 N+3 N+2 N+1 N+3 N+2 N+1 I(N+2) I(N+3) N+5 V(S) N+4 N+3 N+2 N+1 I(N+1) N+4 N+3 N+2 N+1 Tiempo I(N+2) NA C 2) I (N+ 1) I (N+ AC N+4 N+3 N+2 N+1 4) I (N+ I(N) N+5 I(N+4) 3) I (N+ 2) I (N+ 1) I (N+ I (N) S N+5 ) N+2 K( N+ 1 N+1 K( N) N I(N+2) N I(N+3) N+2 I(N+4) N+3 I(N+1) N+4 N+1 Tramas desechadas N N+1 N+1 Luis Tarazona, DIP UNEXPO Barquisimeto N+1 N+1 N+1 V(R) N+2 ELT-51123 - Redes de Computadores 2001 172 Retroceder N - Problemas Aún no hay un control de flujo coordinado - S no puede detener a P, solo descarta tramas buenas. Número elevado de retransmisiones PERO Es útil para secundarios con poca memoria Control de flujo muy simple – solo desechar tramas Mantiene la secuencia. Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 173 Repetición selectiva vs. Retroceder N Repetición selectiva ACK(N) significa: S ha recibido la trama-I N, no hay compromiso con otras, O S ha recibido las tramas-I hasta e incluyendo N NACK(N) significa que la trama-I N está incorrecta Retroceder N ACK(N) significa que S ha recibido las tramas-I hasta e incluyendo N . NACK(N) significa que P debe reenviar todas las tramas a partir de N. Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 174 Ventana deslizante Permite el control de flujo mediante la manipulación de los números de secuencia Advertencia: H ≠ T Terminología: Ventana de transmisión (número de tramas en espera de confirmación que P puede almacenar). Ventana de recepción (número de tramas que S puede aceptar). Borde superior de la ventana, UWE (última trama enviada por P). Borde inferior de la ventana, LWE (última trama no confirmada por S) Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 175 Ventana deslizante El rango de los números de secuencia es usualmente 0..2m –1 (m bits). n números disponibles pero sólo deben usarse n – 1 De otro modo es posible perder bloques enteros de n tramas. El tamaño de la ventana puede ser variable hasta n – 1 Para esto se requieren comandos adicionales Las ventanas de transmisión y de recepción pueden tener tamaños distintos Depende del flujo de información Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 176 Ventana deslizante – números de secuencia Rango de los números de secuencia de P (8): 0 – 7, tamaño de la ventana = 7 Tramas ya confirmadas Esperando y borradas confirmación Tramas almacenadas para transmisión 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 LWE UWE Advertencia: H ≠ T Máx. Luis Tarazona, DIP UNEXPO Barquisimeto ELT-51123 - Redes de Computadores 2001 177