在数位时代,网路速度似乎是每个人都非常关心的话题,尤其当我们进行速度测试时,结果往往不如预期。许多用户怀疑自家的网路状态,不免产生疑问:为什么我的网路吞吐量无法达到应有的水准?
网路的吞吐量通常是透过多种不同的平台工具来测量的,这些工具的测量旨在揭示背后的理论及测量中可能出现的问题。
很多人关心的是通讯链路或网路接取的最大数据吞吐量,通常以每秒位元(bit/s)为单位。一般的测量方法是将一个「大型」文件从一个系统传输到另一个系统,然后测量所需的时间。计算则是将文件大小除以传输所需时间。
然而,这种测量方式很可能得到的结果是「良好吞吐量」(goodput
),而这一数据值远低于理论最高数据吞吐量,这让用户误以为通讯链路出现了问题。
实际上,网路吞吐量存在多种开销,包括延迟、TCP接收窗口大小及系统限制,这些都意味着计算出的良好吞吐量不代表能够实现的最大吞吐量。
根据流量控制的基本理论,吞吐量是由TCP接收窗口大小(RWIN
)和往返时间(RTT
)所决定的。即使理论上应该有较高的带宽,但在单一的TCP连接中,由于这些限制,所测得的带宽也可能受到压制。
带宽测试软体旨在确定网路或互联网连接的最大带宽。测试通常通过试图在一定时间内下载或上传最多数据来完成。这个过程可能导致网路传输延迟,甚至可能攀升数据费用。
吞吐量可以用位元每秒(bit/s)、千位元每秒(kbit/s)、兆位元每秒(Mbit/s)和吉位元每秒(Gbit/s)等单位来测量。
由于人们常常会误用术语,如将带宽、吞吐量及速度交替使用,这样的混淆容易导致误解。不少使用者可能认为他们的高速互联网连接可以在一秒钟内传输相应大小的文件,但实际上并非如此。
一些设备可以透过压缩数据提高传输效率,特别是在传送高度可压缩的文件时。然而,这种隐形压缩的存在则并不容易被察觉。
在测量吞吐量时,最好使用不能被压缩的文件,如随机数据的文件,以避免额外的变量影响测试结果。
网路的传送效率还会受到各种协议开销的影响,例如常见的异步串行连接。在这种连接中,数据的编码和传输方式会导致附加的开销,使数据传输速率远低于理论值。
例如,在异步串行连接中,假设的9600波特率实际上由于开销的存在,传输效率只有9600/10,这意味着每秒只能传输960字节数据。
现今网路传输中,文件并不仅仅是复制到HDLC或PPP帧的数据字段中,还有另一层协议,譬如IP和TCP,它们各自会额外增加开销,最终可能会影响整体的吞吐量。
尽管我们无法完全消除影响吞吐量的所有因素,但通过了解其背后的运作原理,使用更优化的传输方式,选择合适的协议,或许能在一定程度上改善测试结果。
所以,当你下次进行网路速度测试时,是否也会反思这些影响是否在你的结果中有着潜在的角色呢?