如何计算通过 LAN 传输文件需要多长时间?

Roh*_*hit 7 networking performance file-transfer

我想知道我们可以用什么方法来计算数据传输速度。

如果我通过 1 Gb/s LAN 连接将 1 GB 文件从一台计算机发送到另一台计算机,传输该文件需要多长时间?

DMA*_*361 14

正如HippoMaQleod所说,一个字节是 8 位。
这意味着 1Gigabit = 0.125 GigaBytes = 125 MegaBytes。

这意味着1Gbps 连接的理论最大值是每秒 0.125 GB

请记住,整个连接将以最慢元素的速度运行。因此,如果您要下载到硬盘驱动器,您会期望它受到驱动器速度的限制——普通机械硬盘驱动器大约为 60-70MB/s。

即使没有其他限制速度,由于其他限制因素(例如数据包开销),您仍然可能无法达到理论上的最大数据传输速度。

此外,您最好确保使用的是 Cat6 布线,而不是 Cat5/5e


关于大小前缀的注意事项

这部分就是为什么我觉得我会添加我的答案的原因,尽管到目前为止它是对答案的适度欺骗。

有两种主要的字节前缀方案来表示幅度:

SI Prefix (abbr)= Num Bytes             |  IEC Prefix (abbr)= Num Bytes       
-------------------------------------------------------------------------------
1 GigaByte (GB) = 1 000 000 000 (10^9)  |  1 GibiByte (GiB) = 1 073 741 824 (2^30)
1 MegaByte (MB) = 1 000 000     (10^6)  |  1 MebiByte (MiB) = 1 048 576     (2^20)
1 KiloByte (KB) = 1 000         (10^3)  |  1 KibiByte (KiB) = 1 024         (2^10)
Run Code Online (Sandbox Code Playgroud)

大多数人使用 SI 前缀来表示 IEC 字节数是非常常见的,尽管在所有“官方”术语中,这种用法已被弃用,不应使用。这两种前缀模式经常被相同的短版本错误地表示无济于事- 您通常无法仅通过查看GB是 GigaByte 还是 GibiByte 来判断,即使它应该是 Giga,它也经常用于表示 Gibi - 例如例如在 Windows 资源管理器中。

这就是为什么您经常购买 500GB 硬盘驱动器,当连接时,它只有大约 465GiB 的空间 - 制造商使用 Giga,而操作系统使用 Gibi。

就千兆以太网而言,它以每秒 1000 兆位或 1 000 000 000 位/秒的速度运行,因此为了完整性,最终结果为:

1 Gigabit  =  125 000 000 Bytes  =   125 MegaBytes  =   0.125 GigaBytes 
                                 =  ~119 MebiBytes  =  ~0.116 Gibibytes  
Run Code Online (Sandbox Code Playgroud)


MaQ*_*eod 2

1 字节 = 8 位,这意味着 1 GB 等于 8589934592 位,即 8 GB。因此,在 1 GB/秒的 LAN 上,1 GB 将需要 8 秒(但您必须考虑到一些数据包开销,因此需要更长的时间)。

我必须补充一点,这将根据协议的不同而有很大差异。例如,通过 NFS 传输的开销比通过 SMB 传输数据包的开销要低得多,而且两者都比 NETBIOS 更快/更精简(希望头脑清醒的人不再使用 NETBIOS)。