使用“scp”传输后数据失真

Loo*_*ast 1 scp corruption hpcc

最近我从一台服务器传输一组数据到hpcc(高性能计算)命令是这样的:

scp /folder1/*.fastq.gz xxx@hpcc:/home/
scp /folder2/*.fastq.gz xxx@hpcc:/home/
scp /folder3/*.fastq.gz xxx@hpcc:/home/
Run Code Online (Sandbox Code Playgroud)

我打开多个终端同时传输数据。我总共有大约 50 个这样的 fastq.gz 文件,每个文件大约 10GB。我只是想知道数据(特别是这么大的数据)在以上述方式传输时是否有可能被扭曲?

因为服务器上的数据是完好的;而一些数据被复制到hpcc后被扭曲了。

谢谢谢谢

sar*_*old 5

我强烈怀疑您的数据在传输过程中被scp(1).

TCP 提供流量流的(弱)16 位 CRC 校验和。因为它只有 16 位长,依赖 TCP 来保证数据完整性意味着损坏的数据包仍然会大约每 (2^16) 个损坏数据包验证一个。我早就失去了链接(和数学),但依稀记得这意味着损坏的数据将在公共互联网上每 2 到 4 GB 被验证为正确 - 尽管这些数字依赖于特定的错误引入率我读到那个统计数据的时候。

SSH 版本 2在协议中引入了消息身份验证检查。这些是在对等方之间协商的,但我预计允许的最弱的是MD5,它提供数据的 128 位加密散列。加密散列比循环冗余校验先进得多,循环冗余校验在 20 年前更常见于检测数据传输错误,128 位是校验和大小的显着扩展。如今,我们可能不太信任 MD5 以完全依赖它来抵御专门的攻击者,但它应该足以发现除了最不可思议的情况之外的所有错误。

我会在别处寻找您的损坏情况——首先是您存储数据的目标驱动器。