关于无线速率与实际吞吐量的关系
Simon Lee, NETGEAR Inc.
本文以主流无线标准IEEE802.11b 和IEEE802.11g 来说明传输速率与实际吞吐量的关系。IEEE802.11b 和IEEE802.11g 均以2.4GHz 的频率传输数据,其中IEEE802.11b 标准的最高传输速率是11Mbps ,IEEE802.11g 的最高传输速率是54Mbps ,bps = bit per second。然而,我们发现,在实际应用环境里,并不能得11Mbps 或54Mbps 的实际吞吐量,甚至连接近这个速率都达不到。以802.11b 标准为例,当我们看到连接速率为11Mbps 的时侯,实测只有大约4~5Mbps ,再实际一点,化为byte 计量单位,大约就只有400~500K左右。 导致实际吞吐量与宣称的传输速率有很大差别的原因,是传输编码里插入了较大比例的冗余码,降低了实际的有效载荷,这是由有线和无线的传输环境有很大的不同决定的。在有线网络环境里,例如Fast Ethernet ,其干扰要比无线环境低得多,因此传输一个8bit 的二进制代码的时侯,只需在前插1bit 的起始位和在最后插1bit 的较验码就足够了,实践证明,这种低冗余的编码并不会引起很大的误码率,因此,我们可以在100M 有线埠上获得80~90Mbps的实际传输速率。然而在无线环境下没有那么幸运了,干扰和其它不确定的因素很多,为了降低误码率,减少重传机会,我们只可能采取较高冗余的编码,根据信息论定义,高冗余码可提高数据的准确性,举例,传输一个11bit 的二进制,其中可能有7bit 都是前报头和大量较验码组成,其余4bit 才是真正要传输的内容,也就是说,这时的传输效率只有37%,于是,你就会看到宣称11Mbps 的无线产品实际只能拿到4~5Mbps的吞吐量。这是无线局域网标准的一个共性问题,与产品无关,只要标准一样,实际的数据吞吐量相差不大。
在802.11b 里,支持多种调制方式,可以提供4种速率来实现在不同通信条件下的最佳通信速率。其实AP 与Client 之间永远以同一固定速率传输数据的,不管Client 距离AP 近或远,只是当距离很近时,传输质量好,系统会自动选择较低overhead 的编码,当通信环境恶化时,误码率增加,达到系统规定的门限制后,为了减少误码率,系统此时会自动选择其它编码传输数据以保证有效的通信质量。所以在用户看来,距离AP 越近,吞吐量越大,信号质量越好,吞吐量也是越大。基本上,在802.11b 标准里,规定的速率有11Mbps ,
5.5Mbps ,2Mbps ,1Mbps ,每种速率对应不同的编码。这也可以说明为什么无线局域网里传输速率的改变值都是固定的,而不是连续平滑改变。