Uma conexão lenta com a Internet pode corromper um arquivo baixado?

6

Ao fazer o download de um arquivo grande, uma conexão lenta com a Internet pode corromper?

    
por Tony The Lion 13.02.2010 / 12:01

5 respostas

5

Atualização: Na primeira versão da minha resposta, eu estava confundindo a detecção de erro de código de Hamming com a detecção de erro de soma de verificação, que é usada no TCP / IP. É muito mais improvável que os erros não sejam detectados, se uma soma de verificação for usada. Teoricamente, ainda deve ser possível, se houver erros na parte de soma de verificação da embalagem e no restante dela. Mas isso é muito improvável. Existem outras fontes de erro, que podem corromper os dados.

Como mencionado na outra resposta, você pode detectar erros no arquivo baixado, verificando a soma de verificação do arquivo (por exemplo, MD5SUM).

A razão para corrupção de dados é sempre uma conexão com defeito ou outro erro de hardware / software (como um sistema de arquivos defeituoso ou disco rígido), a velocidade da conexão não é importante. Mas uma conexão defeituosa pode atrasar suas transferências e, assim, resultar em uma transferência de dados lenta.

    
por 13.02.2010 / 14:24
9

Depende de como você o transfere: supondo que você esteja baixando usando HTTP, FTP, BitTorrent ou algum outro serviço TCP, todos os pacotes de dados chegarão (eventualmente) intactos. Isso levará mais tempo em uma conexão lenta.

Se você estivesse baixando os dados em um modem V92 usando o kermit ou um mecanismo mais primitivo, então os erros de transmissão seriam uma possibilidade.

Mas usando protocolos de internet, a única maneira de ter um arquivo corrompido é se o download estiver incompleto; isso pode acontecer se o seu navegador ou gerenciador de downloads for um pouco burro sobre decidir quando a transferência foi concluída. Então você acaba com um arquivo curto: os dados que você tem estão intactos, mas você não tem tudo isso.

Se a sua conexão com a Internet é escamosa e você geralmente é desconectado, seu software ainda deve ser capaz de lidar com isso e deve continuar de onde parou quando você está on-line novamente.

O protocolo TCP subjacente usa uma soma de verificação para garantir que cada pacote (na verdade, um "segmento" no TCP-speak) esteja correto e retransmitirá segmentos que estão corrompidos.

Tendo dito tudo isso, é possível que alguns raios cósmicos perdidos possam virar um pouco os dados quando chegam ao disco, então onde grandes arquivos são distribuídos geralmente há um checksum publicado em algum lugar: normalmente é um hash MD5 ou SHA. e você pode encontrar software para calcular essas somas de verificação em sua própria cópia do arquivo. Se você está nervoso em pegar qualquer software livre antigo (possivelmente contaminado por vírus), a Microsoft fornece uma ferramenta de soma de verificação .

Clientes BitTorrent usam checksums implicitamente para garantir que os dados estejam intactos.

    
por 13.02.2010 / 12:38
1

sim, pode ... Seu computador obtém arquivos do servidor em uma espécie de pacote de dados, se ocorrer algum tipo de desconexão durante a transferência de dados devido à conexão lenta, isso significa que pode haver um erro no arquivo.

    
por 13.02.2010 / 12:14
1

@Customizer escreve: "Mas eles só são capazes de detectar uma contagem limitada de erros por pacote (apenas erros de um ou dois bits)" - Você está possivelmente pensando em verificar ECC nos módulos de RAM? Checksums podem detectar mais de um ou dois erros de bit. O protocolo TCP também pode detectar outros erros além de dados corrompidos de pacotes, veja: tcpipguide.com .

Teria escrito isso como um comentário, mas o botão de envio está oculto pela coluna de texto à direita no meu navegador.

    
por 13.02.2010 / 18:31
0

Sim, certamente é possível. Recentemente, ouvi falar de alguém que estava tendo problemas semelhantes e descobriu-se que eram apenas arquivos que eles baixaram enquanto usavam um ISP específico. Embora isso seja menos provável, vale a pena ter em mente.

    
por 13.02.2010 / 15:28