Protocolos ARQ

Vicente González Ruiz

December 14, 2014

Contents

1 El protocolo ARQ con parada y espera (stop and wait)
 1.1 NAK vs s’olo-ACK
 1.2 Numeraci’on de los paquetes
 1.3 Confirmaci’on de los paquetes duplicados
 1.4 Numeraci’on de los paquetes de confirmaci’on
 1.5 El protocolo falla si los paquetes se desordenan
 1.6 Rendimiento pobre
2 ARQ con retroceso a n (go back n)
 2.1 Longitud de la secuencia de conteo
 2.2 Tratamiento de los errores
 2.3 Confirmaci’on acumulativa
 2.4 Piggybacking [6]
3 ARQ con repetici’on selectiva (selective repeat o SR)
 3.1 Longitud de la secuencia de conteo
4 Consideraciones sobre la eficiencia
 4.1 Tasa de transmisi’on versus tasa de errores
 4.2 Latencia media versus tasa de errores
 4.3 Tasa de transmisi’on versus tamaño del paquete
5 Soluci’on al desorden de los paquetes

Introducci’on

1 El protocolo ARQ con parada y espera (stop and wait)

1.1 NAK vs s’olo-ACK

PIC ¡N’otese que la versi’on que utiliza NAK’s es m’as r’apida!

1.2 Numeraci’on de los paquetes

PIC

1.3 Confirmaci’on de los paquetes duplicados

PIC

1.4 Numeraci’on de los paquetes de confirmaci’on

PIC

1.5 El protocolo falla si los paquetes se desordenan

PIC

1.6 Rendimiento pobre

Supongamos que se est’an transmitiendo paquetes de 1.000 bits a trav’es de un canal de 1 Mbps y que el RTT del enlace es de 10 ms. En la figura

PIC

se muestra el time-line asociado a la transmisi’on de un paquete de datos. El emisor necesita

ttran = 103bpaquete 106bs = 1mspaquete.

Como cada 11 ms se logran enviar 1.000 bits, es l’ogico pensar que cada 11 s se lograr’ian enviar 106 bits. Por lo tanto la transmisi’on es 11 veces m’as lenta de lo deber’ia ser.

2 ARQ con retroceso a n (go back n)

2.1 Longitud de la secuencia de conteo

2.2 Tratamiento de los errores

2.3 Confirmaci’on acumulativa

2.4 Piggybacking [6]

3 ARQ con repetici’on selectiva (selective repeat o SR)

PIC

3.1 Longitud de la secuencia de conteo

PIC

Tratamiento de los errores (otros ejemplos)

PIC PIC

Ejercicio 1: Considere dos hosts conectados por un enlace con una capacidad de 106 bits/segundo y con un retraso de propagaci’on de 10 × 103 segundos. Se desea transmitir un fichero de 4000 bytes. Cada paquete tiene un tamaño m’aximo de 1000 bytes (incluyendo 40 bytes de cabecera). Suponiendo que los paquetes con los ACKs tienen 125 bytes, que se tarda 2 × 103 segundos en comprobar si un paquete recibido contiene errores de transmisi’on, que dichos errores afectan a cada paquete cuyo ’indice es m’ultiplo de 3 y que se utiliza un protocolo ARQ con repetici’on selectiva que s’olo usa reconocimientos positivos y un tam no de ventana de 3 paquetes. ¿Cu’anto tiempo pasar’ia, como m’inimo, desde que el emisor env’ia el primer paquete hasta que el ’ultimo ACK es recibido? En sus c’alculos utilice un time-out acorde con los datos proporcionados.

El nmero de paquetes que como mnimo hay que enviar es:  
 
floor(4000/(1000 - 40)) = 5  
 
Por tanto, los 4 primeros paquetes tienen 1000 bytes de longitud y el  
ltimo 4000 - 4x960 + 40 = 200 bytes.  
 
Un paquete de 1000 bytes tarda en enviarse:  
 
1000*8 bits/10^6 bits/segundo = 8 ms  
 
El paquete de 200 bytes tarda en enviarse:  
 
200*8 bits/10^6 bits/segundo = 1,6 ms  
 
Un ACK tarda en enviarse:  
 
125*8 bits/10^6 bits/segundo = 1 ms  
 
El time-out tiene que ser mayor o igual que  
RTT+tiempo_de_chequeo_errores+envo_ACK = 10*2 + 2 + 1 = 23 ms  
Supondremos, por tanto, un Time-out = 24 ms  
 
ms    Emisor                        Receptor  
-- -------------------------------- ---------------------------------------------  
 0 .. Comienza el envo del paquete P1  
 8 .. Finaliza envo P1 y comienza envo P2  
10 ................................ Comienza recepcin P1  
16 .. Finaliza envo P2 y comienza envo P3  
18 ................................ Finaliza recepcin P1 y comienza recepcin P2  
20 ................................ Comienza envo ACK1  
21 ................................ Finaliza envo ACK1  
24 .. Finaliza envo P3  
26 ................................ Finaliza recepcin P2 y comienza recepcin P3  
28 ................................ Comienza envo ACK2  
29 ................................ Finaliza envo ACK2  
30 .. Comienza recepcin ACK1  
31 .. Finaliza recepcin ACK1 y comienza envo P4  
34 ................................ Finaliza recepcin P3 (con errores)  
38 .. Comienza recepcin ACK2  
39 .. Finaliza recepcin ACK2, finaliza envo P4 y comienza envo P5  
40,6 .............................. Finaliza el envo de P5  
41 ................................ Comienza recepcin P4  
47 .. Comienza reenvo P3  
49 ................................ Finaliza recepcin P4 y comienza recepcin P5  
50,6 .............................. Finaliza recepcin P5  
55 .. Finaliza reenvo P3  
57 ................................ Comienza recepcin P3  
65 ................................ Finaliza recepcin P3  
67 ................................ Comienza envo ACK5  
68 ................................ Finaliza envo ACK5  
77 .. Comienza recepcin ACK5  
78 .. Finaliza recepcin ACK5

4 Consideraciones sobre la eficiencia

4.1 Tasa de transmisi’on versus tasa de errores

4.2 Latencia media versus tasa de errores

4.3 Tasa de transmisi’on versus tamaño del paquete

5 Soluci’on al desorden de los paquetes

References

[1]   Behrouz Forouzan. Introduction to Data Communications and Networking. WCB/McGraw-Hill, 1998.

[2]   Fred Halsall. Comunicaciones de Datos, Redes de Computadores y Sistemas Abiertos (4a Edici’on). Pearson Educaci’on, 1998.

[3]   James F. Kurose and Keith W. Ross. Computer Networking: A Top-Down Approach Featuring the Internet (2nd Edition). Addison Wesley, 2003.

[4]   Alberto León-García and Indra Widjaja. Redes de Comunicación. McGraw-Hill, 2002.

[5]   Larry L. Petterson and Bruce S. Davie. Computer Networks: A System Approach (2nd Edition). Morgan Kaufmann, 2000.

[6]   Andrew S. Tanenbaum. Redes de Computadoras (3a Edici’on). Prentice Hall, 1997.