dove sono i dati che non sono stati completamente ricevuti e possono essere recuperati?

0

quando un server riceve dati da un altro computer, diciamo che quella trasmissione di dati era incompleta e metà del file è stato inviato. ora dove è questo memorizzato su un computer e viene memorizzato nella memoria principale. fondamentalmente ciò che voglio chiedere è: i pacchetti di dati sono memorizzati singolarmente su un computer uno alla volta o tutti insieme? e questi dati possono essere recuperati e visualizzati? in base alle mie conoscenze limitate che utilizzano un software di acquisizione dei pacchetti, il protocollo che dice che viene utilizzato è: tcp.so una persona che tenta di recuperare soffre di desincronizzazione

    
posta sweet punk 02.08.2017 - 21:36
fonte

2 risposte

3

Non esiste un modo in cui questi dati saranno gestiti, cioè dipende dall'applicazione che riceve i dati:

  • Se si dispone ad esempio di un'applicazione Web con qualche modo per caricare dati, questi dati verranno probabilmente accumulati prima in un file temporaneo su disco in alcune cartelle predefinite o dipendenti dalla configurazione. Ovviamente "su disco" potrebbe anche essere un disco RAM nel qual caso i dati sono solo in memoria. Ma, se la connessione si chiude (cioè il caricamento interrotto) i dati verranno di solito cancellati, nel qual caso potrebbero rimanere come byte in qualche spazio libero sul disco. Inoltre, alcune applicazioni Web potrebbero accumulare i dati solo in memoria, ad esempio non viene scritto nulla sul disco.
  • Se si ha invece un server FTP e si carica un file, di solito viene trasferito direttamente nel punto in cui il client vuole che sia, cioè nessun file temporaneo e nessuna pulizia. Ma ovviamente i dettagli variano a seconda dell'implementazione del server FTP.
  • Con rsync ottieni di solito file temporanei che di solito vengono ripuliti alla chiusura della connessione.
  • ... e diversi comportamenti per diverse applicazioni

Ciò che è comune a tutta la memorizzazione fatta a livello di applicazione è che non i pacchetti ma i dati saranno memorizzati, dal momento che un'applicazione basata su TCP non ha idea dei confini dei pacchetti. Questo può essere diverso con le applicazioni basate su UDP poiché con UDP un confine di pacchetto è un limite di messaggio (ignorando i pacchetti frammentati). Ma, UDP di solito non viene utilizzato per il trasferimento di file.

    
risposta data 02.08.2017 - 23:02
fonte
0

TCP è il protocollo più comune per le comunicazioni Internet in quanto è affidabile (nessuna perdita di dati perché un pacchetto o due sono andati persi) a differenza di altri protocolli più veloci come UDP (qualcosa che potrebbe essere usato per i dati vocali, dove è più importante mantenere il flusso va avanti rispetto a riprodurre una raffica di 0,1 secondi).

Are data packets stored individually ...? and can this data be recovered and viewed?

I pacchetti TCP non verranno mai memorizzati sul disco. Di solito, un'applicazione memorizza alcuni dati nella memoria e se è un file grande scarica periodicamente la cache online sul disco rigido. Così, ad esempio, trasferisci i dati da 3,2 MB e le interruzioni di connessione: forse 3mb viene salvato in un file temporaneo mentre l'ultimo da 0,2 MB è solo nella cache di memoria.

In questo caso, è possibile cercare il file 3mb nella posizione di download effettiva o come file temporaneo (diversi sistemi operativi hanno posizioni diverse per archiviarli). I dati in memoria non possono essere recuperati una volta che l'app di download si è arrestata in modo anomalo.

will a person trying to recover suffer from desynchronisation

Se l'app ti consente di riprendere, ad es. download manager, quindi è anche abbastanza intelligente per richiedere correttamente eventuali dati mancanti dal server.

    
risposta data 03.08.2017 - 02:49
fonte

Leggi altre domande sui tag