无线网络技术的发展,始终是以速率(即吞吐量)作为标志的。最早的802.11b技术,其最高速率仅为11Mbps,发展到802.11a、802.11g,最高速率达到了54Mbps,这也是当前WLAN网络的主流技术。最新的802.11n技术,其最高速率更是达到了令人瞠目的300Mbps,这足以让11n成为WLAN技术的弄潮儿,引领了WLAN技术的发展方向。
但是以上数值都是物理层的理论数据,在实际应用中,IP数据的传输带宽远远低于最高速率。究其原因,与802.11协议开销、报文结构、网络流量模型、环境干扰等均存在很大关系。本文重点讨论802.11g在实际无线网络的最高吞吐量及其影响因素。
一、理论上的吞吐量
无线局域网的性能实际是指一个共享空间媒质所能够支持的最大传输能力。在这个空间媒质中(即同一信道)的所有设备都将共享空间媒质,也就是共同抢占空间媒质资源。由于媒质共享,WLAN采用分时传输机制,这在一定程度上消耗了空口资源,降低了空口的传输能力。为了说明和解释WLAN网络的实际应用性能情况,下面给出了理论下802.11g的性能:
根据802.11g协议和IP报文的不同长度,可以通过计算,得出理论上单信道最大的吞吐量,如下表:
| 802.11g | 带宽利用率 |
物理层最大速率 | 54M |
|
IP报文长度为1500字节报文传输速率 | 30.5 M | 56.5% |
IP报文长度为512字节报文传输速率 | 16.4M | 30.3% |
IP报文长度为160字节报文传输速率 | 6.48M | 12% |
IP报文长度为40字节报文传输速率 | 1.8M | 3.33% |
以上的结果是有条件的:
1、无线环境是干净的:整个环境中只有一台AP和一个客户端在工作,没有其它AP或其它工作站,且无线传输是可靠的,没有任何丢包和重传。
2、整个信道只用于数据帧传输,不考虑其它管理帧以及控制帧。
3、客户端以54Mbps最高物理速率传输。
4、所有报文采用明文传输,没有任何加密。
考虑到无线网络的多种影响因素,一般认为在理想环境中,最高吞吐量如下表:
| 802.11g |
物理层最大速率 | 54M |
理论最大传输速率(1500Byte报文) | 22M |
理论最大传输速率(512Byte报文) | 14M |
理论最大传输速率(88Byte报文) | 3.2M |
二、常见网络应用的报文分析
通过以上理论数据表明:IP报文的长度是影响吞吐量的重要因素,那么对常见应用进行报文分布分析就非常有必要了。以下通过对网络中常用工具进行抓包,分析其流量构成模型,并探讨其对无线网络的影响。下面为分析的相关约定:
1) 所有报文以Ethernet二层报文为依据进行统计,通过ethereal抓包工具抓取空口报文;
2) 把小于160字节的报文定义为小报文;
1、普通网页浏览
网页浏览软件采用Windows的IE,使用TCP传输协议。根据HTTP协议,对于普通的网络浏览都是即时触发的,当点击进入新的页面的时候,无论网页多大,都会一次传输完成,再关闭连接。对于普通上网来说,存在两种情况,一种为简单的网页浏览,另外一种为视频新闻浏览。这里仅对简单网页流量的流量进行分析,下面为不断地进行网络浏览117秒的数据统计。
以上数据表明:普通网页浏览的主要流量为下行流量,上行流量集中了大量小报文,小报文比例约为52%。
2、PPstream观看视频
该软件使用UDP传输协议,通常软件安装完成以后,就会有一个进程ppsap.exe在运行,ppsap.exe会向服务器的UDP端口8800进行注册,周期大约为30秒。该进程可能会创建多个UDP端口号,一般1个到3个。在观看视频时候,客户端会发送查询报文,同时其他的客户端也会向该客户端发送查询报文,通常报文长度为59字节或者76字节;实际的数据报文大小为1103字节。在没有看视频的时候,客户端会定期发送查询报文,也可以收到查询报文但是频率非常低,此时报文都是小报文,小于80字节。下面为在正常观看视频的过程中,进行了64秒钟的数据统计:
以上数据表明:网络的主要流量还是下行流量,但上行流量主要集中了大量的小报文,小报文比例大约为70%。
3、优酷在线视频
优酷软件使用TCP传输协议,在观看视频的时候,只会建立一条TCP连接,之后所有的数据传输都使用该TCP连接。这表明,在后续的过程中,只会存在进行数据传输和确认,在一段时间后可能进行相应的seq和ack确认。其中ACK报文长度为54字节,确认报文长度为74字节,数据报文大小通常为1506字节。
下面为观看视频27秒钟的数据统计:
以上数据表明:网络流量主要为下行流量,上行报文集中了大部分小报文,其比例约为37%。
4、迅雷下载
迅雷软件使用UDP协议传输,通常安装完成以后,就会有一个进程thunder.exe在运行。运行迅雷软件后,它会启动大量的UDP端口号,而且会建立大量的TCP连接。迅雷的查询报文一般在80个字节左右。
下面为使用迅雷下载一个文件过程中,收集了60秒的数据统计:
从分析的流量看来,主要流量还是下行流量;在下行流量中也包含着一定的小报文流量(这些报文主要为迅雷的查询报文,这个下载工具通过这种机制可以共享本客户端的资源)。小报文比例超过60%,远远超过普通应用中的小报文比例。
三、实际无线网络的性能
在实际的无线网络环境中,网络软件纷繁复杂,网络应用层出不穷,按照常用软件的分析方法,即通过在实际网络中进行抓包分析,我们可以确定报文大小的分布情况,并评估WLAN网络的性能。为了简化分析的复杂度,我们做如下约定:将报文的大小分为1518字节、512字节和88字节。其中超过1000字节的报文统一按照1518字节计算;从256字节到512字节报文统一按照512字节计算;而小于256字节的报文则统一按照88字节处理。
在某学校的WA1208E-GP上行交换机上镜像抓包,所抓取的报文为进出AP有线端口的所有报文,其统计信息如下表:
根据我们的约定,抽象模型如下:
通过上面的实际数据可以看出,在这个校园网的实际应用中,小报文的比例很高,超过50%,且AP下连接的客户端数量越多,小报文占比越高。
1、单AP网络性能分析
根据上述实际的网络流量分布,来评估在这样的网络应用条件下,一台AP设备能够提供最高吞吐量(环境无干扰条件下,WLAN网络能够支撑的网络性能)为22×25%+14×17%+3.2×58%,为9.736Mbps。
| 802.11g |
物理层最大速率 | 54M |
理论最大传输速率(1500字节报文) | 22M |
理论最大传输速率(512字节报文) | 14M |
理论最大传输速率(88字节报文) | 3.2M |
综合实际应用速率 | 9.73M |
按照80%干扰计算应用速率 | 7.78M |
在实际的无线网络中,很难保证一个AP覆盖的范围中没有其他任何AP在同一信道中,即同一个信道中至少会存在多个AP,这就是无线网络的同频干扰。同频干扰带来的问题是多种多样的,对吞吐量的影响非常大。
假设环境中有3台AP工作在一个信道,由于信道总吞吐量为9.73M,加上3个AP的同频干扰,因此可以初步估计所有的AP能够提供的总带宽也就是7.78M左右,即3个AP共享这7.78M带宽。
这也说明:我们所说的理论最高性能通常指的是信道的传输能力,与AP的数量没有直接关系。同信道内AP数量越多,则每个AP实际可用带宽越低。
四、影响无线网络带宽的其他因素
1、CSMA/CA机制
802.11和以太网使用的都是时分复用的机制,但802.11协议将以太网使用的信道抢占机制做了一定的调整,以适应无线环境的特点。802.11假定发送的报文都会产生冲突,也就是发送的每个报文都需要进行随机退避,并且将这个随机退避提到了帧发送之前,这也就是CSMA/CA机制,如下图所示。
图1 802.11STA退避机制
从图上看出,在有数据发送时,STA首先监听信道,如果信道中没有其他STA在传输数据,则首先随机退避一个时间,如果在这个时间内没有其他STA抢占到信道,STA等待完后可以立即占用信道并传输数据。
CSMA/CA机制决定了:STA越多,则冲突开销越大,信道可用带宽越低。
2、隐藏节点
无线信号有一定的传输距离限制,超过这个距离就不能检测到该信号,这个特性对802.11的信道抢占机制带来了很大的挑战。信道抢占机制的前提是检测信道忙闲情况,如果STA间距离超过了无线信号所能传输的距离,彼此不能检测到对方在占用信道,从而同时向AP发送数据,在AP接收无线信号时会形成物理信号冲突。这就是无线网络的隐藏节点问题,即STA1和STA2互为隐藏节点。如下图:
图2 802.11中的隐藏节点
802.11协议定义了RTS/CTS机制来解决这个问题,RTS/CTS机制如下图:
图2 802.11中的RTS/CTS机制
在RTS/CTS机制下,STA抢占到信道后,首先向接收方发送RTS报文,接收方会回应CTS,CTS报文会发到AP下的所有STA。RTS/CTS报文中都包含信道被占用的时间,协议规定接收到RTS和CTS的其他STA必须在RTS/CTS报文中要求的时间内认为信道忙,不能发送数据。
RTS/CTS机制虽然解决了隐藏节点问题,但是信道可用带宽却因此而进一步降低。一般认为,RTS/CTS机制将消耗10%左右的带宽。以上文中某学校模型为例,启用RTS/CTS后的可用带宽将变为7M。
3、11b用户对于11G网络性能的影响
由于11g和11b使用的相同的频段,而且11g网络的一个最大的优点,就是可以兼容11b客户端。但是如果一个网络中既存在11b用户,又存在11g用户,特别实在经常下载网络数据的网络应用中,整体网络的性能将会受到非常大的影响。
理想环境中,如果一个11b用户进行BT下载,并协商速率为11Mbps,此时最高可用带宽为2.4M。如果对此11b用户限速1M,此时相当于该用户占用了1/2.4=41%的带宽,只给其他用户留下了59%的带宽。若此时其他用户均为11g用户,那么信道的可用带宽为9.73*59%=5.74M。
如果网络中存在多个11b用户,那么整个网络的性能将进一步下降,再考虑到CTS/RTS机制,恐怕能够达到5M的总体应用已经非常困难。
4、信号衰减
在WLAN网络中,无线设备通常根据信号强度(一般不会变化)、丢包率、误码率等等逐渐调整自己的发送速率。上文中我们所有的讨论都是基于信号最好的情况,即协商速率都是物理层的最高速率。如果客户端由于信号衰减导致协商速率达不到物理层最高速率,则更多媒质资源将消耗在协议开销等上面,从而导致整个信道可用带宽的下降。