Может ли медленное интернет-соединение повредить загруженный файл?

4886
Tony The Lion

Может ли медленное интернет-соединение при загрузке большого файла вызвать его повреждение?

6
да, я пытаюсь скачать игру, которую я ждал и ждал, думал, что это было сделано, тогда он говорит, что он испорчен или поврежден. 14 лет назад 0

5 ответов на вопрос

9
njd

Зависит от того, как вы его передаете: при условии, что вы загружаете с использованием HTTP, FTP, BitTorrent или какой-либо другой службы TCP, все пакеты данных (в конечном итоге) будут в целости и сохранности. Это займет больше времени на медленном соединении.

Если бы вы передавали данные на модем V92 с помощью kermit или более примитивного механизма, то возможны ошибки при передаче.

Но используя интернет-протоколы, единственный способ получить поврежденный файл - это если загрузка была неполной; это может произойти, если ваш браузер или менеджер загрузок немного не решаются, когда закончится передача. Затем вы получите короткий файл: ваши данные не повреждены, но у вас их нет.

Если ваше интернет-соединение ненадежное, и вы часто отключаетесь, ваше программное обеспечение все равно должно быть в состоянии справиться с этим и должно просто определить, где оно было прервано, когда вы вернетесь в сеть.

Базовый протокол TCP использует контрольную сумму, чтобы убедиться, что каждый пакет (фактически «сегмент» в TCP-говорить) является правильным, и будет повторно передавать сегменты, которые будут обнаружены поврежденными.

Сказав все это, вполне возможно, что некоторые паразитные космические лучи могут немного перевернуться в данных, когда они поступают на диск, поэтому при распределении больших файлов обычно где-то публикуется контрольная сумма: обычно это хеш MD5 или SHA, и вы может найти программное обеспечение для вычисления этих контрольных сумм на вашей собственной копии файла. Если вы беспокоитесь о приобретении какого-либо старого (возможно, изобилующего вирусами) бесплатного программного обеспечения, то Microsoft предоставляет инструмент для проверки контрольных сумм .

Клиенты BitTorrent неявно используют контрольные суммы, чтобы гарантировать, что данные не повреждены.

Ах, точно. Незавершенные законченные переводы. Случилось со мной по набору достаточно. Иногда Firefox просто останавливал загрузку как законченную, прежде чем он загрузил все это. И у меня было несколько тайм-аутов при загрузке по FTP, что меня очень разозлило. Хмм. Nathaniel 14 лет назад 0
5
Customizer

Обновление: в первой версии моего ответа я путал обнаружение ошибок кода Хемминга с обнаружением ошибок контрольной суммы, которое используется в TCP / IP. Гораздо менее вероятно, что ошибки останутся незамеченными, если будет использована контрольная сумма. Теоретически это все еще возможно, если есть ошибки в части контрольной суммы пакета и в остальной части. Но это очень маловероятно. Есть и другие источники ошибок, которые могут повредить данные.

Как упоминалось в другом ответе, вы можете обнаружить ошибки в загруженном файле, проверив контрольную сумму файла (например, MD5SUM).

Причиной повреждения данных всегда является неисправное соединение или другая аппаратная / программная ошибка (например, неисправная файловая система или жесткий диск), скорость соединения не важна. Но дефектное соединение может замедлить передачу и, следовательно, привести к медленной передаче данных.

1
NT.

да, может ... Ваш компьютер получает файлы с сервера в виде пакетов данных, если при передаче данных происходит какое-либо отключение из-за медленного соединения, это означает, что в вашем файле МОЖЕТ быть ошибка.

1
casualuser

@Customizer пишет: «Но они способны обнаруживать только ограниченное количество ошибок в пакете (только одно- или двухбитные ошибки)» - Возможно, вы думаете о проверке ECC в модулях RAM? Контрольные суммы могут обнаруживать более чем одно- или двухбитные ошибки. Протокол TCP может также обнаруживать другие ошибки, помимо поврежденных данных пакета, см .: tcpipguide.com .

Написал бы это как комментарий, но кнопка «Отправить» скрыта в правом столбце текста в моем браузере.

Вы правы. На самом деле, коды Хэмминга не используются для исправления ошибок TCP. Я исправлю свой ответ. Customizer 14 лет назад 0
0
Mark Reid

Да, это возможно. Недавно я услышал о ком-то, у кого были подобные проблемы, и оказалось, что это были только файлы, которые они загружали при использовании определенного интернет-провайдера. Хотя это менее вероятно, стоит иметь в виду.

Похожие вопросы