# | Vídeo | Duración |
---|---|---|
1 | Creación de subredes | 06:57 |
2 | Tiempo de transmisión y de propagación | 04:22 |
3 | Retardo de transferencia de un paquete | 07:10 |
4 | Transmisión de un fichero extremo a extremo | 08:32 |
Parte IV: Transmisión de un fichero extremo a extremo
Para terminar este conjunto de ejemplos, lo último que veremos es, como continuación del ejemplo anterior, la transmisión de un fichero. De hecho en la transparencia adjunta, tenéis también los datos de este fichero y la idea que nos piden en este caso es: ¿Cuánto tardamos a transmitir este fichero desde A hasta C? Vamos a volver a dibujar la red, así podemos contextualizarlo todo. En este caso, desde A mandamos paquetes de datos a C, y contesta con un ACK, con un paquete que reconoce que he recibido el paquete anterior, son paquetes de datos. Tenemos un fichero aquí, que tiene un tamaño FL = 1*10^9 Bytes. Recordad que un Byte no es más que 8 bits, por tanto el tamaño de este fichero en bits será 8 Gbits y nos preguntan: ¿Cuánto tardaremos en transmitir todo este fichero desde A hasta C?, teniendo en cuenta que por cada paquete que recibe C nos envía un ACK y cuando A recibe este ACK envía este paquete.
Para resolver el problema del ejemplo, volvemos a hacer un dibujo, igual que antes e intentamos ver cómo funciona el sistema. Igual que antes, tenemos el nodo A, tenemos el Router y tenemos el nodo C. Dibujamos el tiempo en un eje vertical y cogemos un valor de referencia donde enviamos el primer paquete. En este caso este paquete se enviaría para el enlace 1, esto sería el enlace 1, esto el enlace 2. Se procesa en el Router y se envía hacia C. ¿Qué hace C una vez recibe este paquete? Hemos dicho que contesta con un ACK, por tanto el que haría en el sentido contrario es enviar este paquete de reconocimiento, que como veis en las transparencias, si este paquete eran 12.000 bits este paquete de aquí son solo 120 bits, simplemente para reconocer que este paquete se ha recibido bien. Este ACK se envía en dirección contraria: primero pasa por el Router, dónde también se procesa, y después se envía otra vez hacia A, dónde también se procesa. Por tanto en este punto de aquí, tenemos que A es consciente de que el paquete que se ha enviado antes se recibe bien y puede comenzar a transmitir un segundo paquete. Si esto era el paquete 1, ahora comenzaría a transmitir el paquete 2 y así irá haciendo.
Por tanto para poder responder cuánto tiempo tardaría en transmitir todo este fichero, necesitamos dos cosas. Primero de todo saber cuánto tiempo necesitamos para cada paquete, y en este caso este tiempo es desde este punto de aquí hasta que A sabe que el paquete que ha enviado se ha recibido bien. ¿Qué tendríamos que hacer?: sumar este término de aquí con este de aquí, esto es el tiempo de propagación sobre el enlace 1, el tiempo de transmisión sobre el enlace 1, tiempo de proceso en el Router, tiempo de transmisión en el enlace dos (los datos), tiempo de propagación sobre el enlace 2, tiempo de proceso en el enlace 2 y repetir todo lo mismo sobre el ACK. Tiempo de transmisión del ACK, tiempo de propagación del ACK, tiempo de proceso del ACK en el Router, tiempo de transmisión del ACK en el enlace 1, tiempo de propagación del ACK en el enlace y tiempo de proceso en el nodo A.
Fijaos en que los tiempos de propagación son independientes del tamaño del paquete, por tanto, en este caso este valor de aquí será exactamente igual al valor que tenéis aquí, es decir, este intervalo de aquí será el mismo que el que tenéis aquí. Y de la misma manera, este intervalo de aquí será el mismo que este intervalo de aquí. Tenéis escritos todos los diferentes términos pero básicamente es repetir lo mismo que hemos visto antes, pero tanto como para el paquete como para le ACK. En todo caso, si tenemos el tiempo de un paquete y nos piden el tiempo que necesitaremos para transmitir todo el fichero, otra cosa que necesitamos saber es cuántos paquetes tenemos que enviar. Esto sería el tiempo para enviar un paquete. Y podemos llamar N al número de paquetes que nos falta enviar. Si la imagen tiene 1Gbit, y cada paquete tiene una longitud de 12.000 bits, de los cuales 200 son de cabeceras, quiere decir que solo 10.000 son de datos, el número del paquete se calcula como el tamaño del fichero dividido por el tamaño de los datos de cada paquete. Aquí un error muy típico es dividir por el tamaño total, simplemente tened cuidado y sed conscientes de que sólo se ha de dividir por el tamaño de los datos. Si hacemos esta división, en este caso es sencilla, son 10.000 bits por el tamaño de los datos. 8 Gbit sería 8 mil millones de bits del tamaño del fichero. Esto lo podemos simplificar y nos queda 800 mil paquetes. Fijaos en que 8 Gbits puede ser el tamaño de una película, o cualquier fichero de este estilo y eso implica transmitir paquetes de datos de 8.000 bits que tenemos que transmitir en 800.000. Por tanto, ¿Cómo calcularemos el tiempo total de la transferencia?: Pues simplemente multiplicando el retardo de un paquete por el número de paquetes que tenemos.
Imaginaos que este retardo de aquí es de alrededor de medio segundo, eso quiere decir que multiplicado por este valor de aquí puede ser que nos dé unos cuantos miles de segundos y en la práctica eso quiere decir unas cuantas horas. ¿Por qué nos puede dar un valor tan grande cuando calculamos esto? Básicamente fijaos en que este enlace de dos tiene una capacidad muy baja solo de 250 Kbits, muy baja para valores actuales, pero puede ser que hace 10 años era un valor muy normal y si hoy bajarnos una de estas películas que puede ser cuestión de una hora o dos horas, puede ser que hace 10 años era cuestión de 12 horas o más y veréis que este resultado va en esta línea.
Obra amb llicència Creative Commons Reconeixement-NoComercial-NoDerivats 3.0 Unported License.