11兆无线LAN为何比10兆以太网慢?


IEEE802.11b无线LAN的速度为11Mbit/秒 。但是与10Mbit/秒以太网相比有很多用户认为“无线LAN比较慢!” 。下面就对802.11b无线LAN和10兆以太网(10BASE-T)的速度作一下比较 。
首先,笔者对802.11b和10BASE-T做了比较试验 。使用常见的免费通信速度测定工具对两者的通信速度进行了测试 。结果显示,IEEE802.11b的通信速度为4.7Mbit/秒 。而10BASE-T则为8.9Mbit/秒 。也就是说11兆无线LAN的通信速度只有10兆以太网的一半左右 。
为什么会出现这种情况呢?难道802.11b的传输速度11Mbit/秒是假的?其实并非如此 。802.11b传输数据的速度的确为11Mbit/秒 。也就是说传输1bit信号所需的时间为1/1100万秒(约合90.9纳秒) 。
而10兆以太网传输1bit数据则需要1/1000万秒(100纳秒) 。假如仅比较这个速度的话,IEEE802.11b要快一些 。
那么,两者的速度为何相反呢?其原因就在于无线LAN和以太网传输数据的顺序截然不同 。
在以太网中,一个数据帧最大可传输150个“0”字节数据 。在这些数据前后分别加上14字节以太网报头和用于容错的4字节校正位,这样就组成一个数据帧 。然后在数据帧之前还要加上8字节的链接码 。即便连续传输数据帧,在数据帧之间也必定会有一个被称为帧间隔的最小限度时间间隔,以太网中有相当于12个字节的间隔 。也就是说如要在以太网中传输1500字节的数据,那么就要发送1500 14 4 8 12=1538(字节)=1万2304(bit)的信号 。在10BASE-T中,这1万2304bit的信号全部可以10Mbit/秒的速度发送 。也就是说,以太网发送1500字节数据的时间包括等待时间在内就是1万2304(bit)÷10M(bit/秒)=1230微秒 。
下面同样再计算一下IEEE802.11b传输1500字节数据所需的时间 。由于无线LAN的数据传输步骤非常复杂,因此计算也就麻烦一些 。
在IEEE802.11b中,加在1500字节数据前面的报头是32字节,比以太网要长 。数据校验位与以太网同为4字节 。最长1536字节的数据帧将以11Mbit/秒的速度传输,计算出的传输时间为1536(字节)×8(字节)÷11M(bit/秒)=1117微秒 。
不过,在无线LAN中,在数据帧之前还要传输链接码和无线LAN特有的PLCP报头 。传输这两种信息的时间总计定为192微秒 。另外,在无线LAN中发送数据帧时除帧间隔的时间以外还必须等待一个随机时间(称为补偿时间) 。在802.11b中这个平均时间总计定为360微秒 。
此外,无线LAN还规定,每发送一个数据帧就要从通信对象那里接收一个ACK帧,以确认通信成功 。在收到ACK帧之前不发送下一个数据帧 。这个等待时间总计为213微秒 。
也就是说,在无线LAN中发送一个1500字节的数据帧所需时间包括等待时间和发送应答分组信息的时间在内,为1117 192 360 213=1882(微秒) 。
发送等量数据时,10BASE-T只需1230微秒,而802.11b则需1882微秒,最终导致无线LAN和以太网的通信速度的差别 。

    推荐阅读