¿dónde se recibieron los datos que no se recibieron completamente y se pueden recuperar?

0

cuando un servidor recibe datos de otra computadora, digamos que la transmisión de datos fue incompleta y que se envió la mitad del archivo. ahora dónde se almacena esto en una computadora y se almacena en el almacenamiento principal. Básicamente, lo que quiero preguntar es: ¿los paquetes de datos se almacenan individualmente en una computadora uno por uno o todos juntos? ¿Se pueden recuperar y ver estos datos? de acuerdo con mi conocimiento limitado que utiliza un software de captura de paquetes, el protocolo que dice que se está utilizando es: tcp.so será una persona que intenta recuperarse sufrir desincronización

    
pregunta sweet punk 02.08.2017 - 21:36
fuente

2 respuestas

3

No hay una única forma en que estos datos se manejen, es decir, depende de la aplicación que reciba los datos:

  • Si, por ejemplo, tiene una aplicación web con alguna forma de cargar datos, estos datos probablemente se acumularán primero en algún archivo temporal en el disco en alguna carpeta predeterminada o dependiente de la configuración. Por supuesto, "en el disco" también puede ser un disco RAM, en cuyo caso los datos solo están en la memoria. Pero, si la conexión se cierra (es decir, se interrumpe la carga), los datos generalmente se eliminarán, en cuyo caso aún podrían permanecer como bytes en algún espacio libre en el disco. Y, algunas aplicaciones web también pueden acumular los datos solo en la memoria, es decir, no se escribe nada en el disco.
  • Si, en cambio, tiene un servidor FTP y carga un archivo, generalmente se transfiere directamente al lugar donde el cliente quiere que esté, es decir, no hay un archivo temporal ni una limpieza. Pero, por supuesto, los detalles varían según la implementación del servidor FTP.
  • Con rsync vuelve a obtener archivos generalmente temporales que, por lo general, se limpian al cerrar la conexión.
  • ... y comportamiento diferente para diferentes aplicaciones

Lo que es común para todo el almacenamiento realizado en el nivel de la aplicación es que no los paquetes sino los datos se almacenarán, ya que una aplicación basada en TCP no tiene idea de los límites de los paquetes. Esto puede ser diferente con las aplicaciones basadas en UDP, ya que con UDP un límite de paquete es un límite de mensaje (ignorando paquetes fragmentados). Pero, UDP generalmente no se usa para la transferencia de archivos.

    
respondido por el Steffen Ullrich 02.08.2017 - 23:02
fuente
0

TCP es el protocolo más común para la comunicación por Internet, ya que es confiable (no hay pérdida de datos debido a que faltan uno o dos paquetes) a diferencia de otros protocolos más rápidos como UDP (algo que podría usarse para datos de voz, donde es más importante mantenerlos). la secuencia va a reproducir una ráfaga de estática de 0,1 s).

  

¿Los paquetes de datos se almacenan individualmente ...? ¿Se pueden recuperar y ver estos datos?

Los paquetes TCP nunca se almacenarán en el disco. Por lo general, una aplicación almacenará en caché algunos datos en la memoria y, si se trata de un archivo de gran tamaño, vaciará periódicamente el caché en línea en el disco duro. Así, por ejemplo, transfiere datos de 3,2 MB y cortes de conexión, tal vez 3 MB se guardan en un archivo temporal, mientras que los últimos 0,2 MB estaban solo en la memoria caché.

En este caso, puede buscar el archivo de 3mb en la ubicación de descarga real o como un archivo temporal (diferentes sistemas operativos tienen diferentes lugares para almacenarlos). Los datos en memoria no se pueden recuperar una vez que la aplicación de descarga se ha bloqueado.

  

una persona que intenta recuperarse sufre de desincronización

Si la aplicación te permite reanudar, por ejemplo, gestores de descargas, entonces también es lo suficientemente inteligente como para solicitar correctamente los datos faltantes del servidor.

    
respondido por el Alok 03.08.2017 - 02:49
fuente

Lea otras preguntas en las etiquetas