一种提高无线网络信道传输效率的方法技术领域
本发明涉及无线网络的数据传输技术,特别涉及一种提高无线网络信道
传输效率的方法。
背景技术
无线网络是从有线缆连接的有线网络基础上发展起来的,无线网络与普遍
应用的有连接网线的网络相比,主要区别在于物理层的实现方式,无线网络通
过无线信道传输,有线网络采用有线信道传输。有线信道主要的特点是传输性
能稳定,带宽充足、廉价,误码率低,受环境的影响较小。而无线信道是的传
输特性是易变的,带宽相对缺乏、昂贵,误码率高,对周围环境比较敏感。无
线网络的物理层和媒体接入控制层(MAC)协议为了尽可能与有线网络兼容,在
很大程度上延用了有线网络中的技术和方法。在进行数据传输时,在将MAC
层业务数据包——MAC服务数据单元(MSDU)拆分成MAC协议数据单元
(MPDU),MPDU加上物理帧的前导和帧头成为物理帧,物理帧在物理层进行
传输,MPDU在物理帧中也被称为物理层汇聚协议(PLCP)服务数据单元
(PSDU)。
参见图1、图2,图1为MSDU帧结构示意图,图2为物理帧结构示意图。
MSDU帧中除了有效的传输数据外,还包含网络传输中所必须的额外信息:
MAC帧头、帧校验序列。物理帧包含:PLCP前导、帧头和PSDU。
在MSDU拆分为MPDU过程中,在无线网络中也像有线网络一样,拆分
后的MPDU的帧长度一旦设置后就固定下来,数据传输过程中不考虑无线信道
传输特性的不断变化。
目前,无线网络的数据包拆分方法通常是将MSDU按协议规定的固定阈值
拆分为固定的MPDU,一般是拆分为协议规定的最大帧长度的数据帧。这种数
据包拆分方法是延用了有线网络的数据包拆分方法,其应用于传输性能稳定,
带宽充足、廉价,误码率低,受环境的影响较小的有线信道时,信道传输效率
比较高。
然而无线信号在空间传播过程中迅速衰减并且很难准确估计,因此,随着
空间、时间的变化或者周围环境的改变,物理层链路的质量也将发生较大的改
变。比如在室内,打开或关上房间的门窗,打开或关上柜子的门,无线信号多
径反射的路径就改变了。不同的建筑材料对信号吸收或衰减的程度也存在较大
的差异。另外在无线通信中,通信双方的相对位置或方位的变化也会引起信号
强度很大的差异。
可见,无线信道和有线信道相比在传输特性上存在较大差异,适用于有线
网络的数据包拆分方法不能完全适用于无线网络,主要的问题是无线信道传输
效率低。
无线网络信道传输效率可以从两个方面来考虑。一方面,从信号质量来考
虑:如果信号质量很好并且信道中没有干扰等不利因素,这时一般没有数据误
码,则数据帧越大,有效数据越多,则信道传输效率越高。当信道存在干扰等
因素引起误码时,在接收方检测出数据帧中有误码时,或者通过纠错码的方法也
不能将误码消除时,接收方将出错的数据帧丢弃,发送方需要重传该数据包。数
据包的重传显然降低了无线信道的传输效率。
另一方面,从帧长度来考虑:当帧长度较小时,由于固定的帧头部分占全
部帧的比例较大,这时误码率对传输效率的影响不大。随着帧长度的不断增加,
而帧头部分不变,信道传输效率不断提高。当帧长度逐渐变长,帧头对信道传
输效率的影响就越来越小。但是由于帧长度变长,传输时间增加,在一定的误
码率下,数据帧中出现误码的概率加大,误码率对传输效率的影响就表现得越
来越明显。在无线信道传输的数据帧中如果出现无法纠正的误码时,需要整个
数据帧重新传输,从而导致信道的数据传输效率下降。
所以,在一定的信道误码率下,存在一个最佳的数据帧长度,使得无线信道
的有效传输率达到最高。现有的固定帧长度的数据传输方法,是在一个估计的
信道误码率下,选择的一个最佳的数据帧长度固定不变。
但是,无线信道的传输特征以及无线信号的信噪比是易变的,因此误码率
也在不断变化,有时信道误码率低,有时误码率高。由于无线信道的连接状况
不是稳定的,而是持续变化的,其误码率受信号强度、信号质量、周围环境等
因素的影响很大,因此目前固定帧长度的数据传输方法,在无线信道中不可能
得到较高的信道传输效率。实际上,在IEEE 802.11b中,有效传输速率只能达
到5Mbps左右,远低于协议所标称的11Mbps的最大速率。
发明内容
有鉴于此,本发明的目的在于提供一种提高无线网络信道传输效率的方法,
该方法能够根据无线信道特性,选择无线通讯中的帧结构中有效数据的长度值,
从而提高无线通讯信道的数据传输效率。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种提高无线网络信道传输效率的方法,在数据传输过程中,根据无线网
络信道状况,实时改变媒体接入控制层(MAC)业务数据包拆分数据帧的帧长
度。
该方法可以为:在数据传输过程中,实时监测无线网络信道状况,如果无
线网络信道质量好,或信道上不存在信号冲突现象,则加长媒体接入控制层
(MAC)业务数据包拆分的数据帧的帧长度,如果无线网络信道质量差,或信
道上信号冲突的情况严重,则缩短该数据帧的帧长度。
该方法可以包括以下步骤:
1)数据传输开始,将MAC业务数据包按数据帧的帧长度初始阈值拆分传
输;
2)实时读取并记录对方发送的确认信息(ACK);
3)根据是否成功收到了预定次数的ACK信息,判断无线网络信道质量;
如果无线网络信道质量好,则加长MAC业务数据包拆分的数据帧的帧长度阈
值,否则缩短该数据帧的帧长度阈值;
4)将后续MAC业务数据包按步骤3)调整的数据帧长度阈值进行拆分传
输;
5)循环执行步骤2)、3)、4)直到本次数据传输结束。
所述的初始阈值可以为无线局域网媒体接入控制(MAC)和物理层(PHY)规
范(IEEEE 802.11)中规定的阈值。
所述步骤3)可以包括以下步骤:
3A)预先设定加长数据帧长度阈值前需要连续成功接收ACK信息的次数
N,和缩短数据帧长度阈值前需要连续未成功接收ACK信息的次数M;
3B)当连续成功接收N次ACK信息时,则无线网络信道质量好,加长数
据帧的帧长度阈值;
3C)当连续M次没有成功接收ACK信息时,则无线网络信道质量,差缩
短加长数据帧的帧长度阈值。
其中,N、M可以相同也可以不相同。
所述步骤3)也可以包括以下步骤:
3a)预先设定调整数据帧帧长度阈值的时间;
3b)判断在步骤3a)中预定的时间内是否收到了预定次数的ACK信息;
如果成功接收了预定次数的ACK信息,则无线网络信道质量好,加长数据帧
的帧长度阈值,否则无线网络信道质量差,缩短该帧长度阈值。
所述的预定时间可以为发送的数据帧的个数与IEEEE 802.11协议中规定的
从发送一个数据帧到收到该帧的ACK所需要的最大时间的乘积。
所述预定收到的ACK信息次数的范围可以为:在发送的数据帧的个数减去
用户允许丢包的个数和发送的数据帧的个数之间。
所述加长数据帧的帧长度阈值的范围可以为每次加长原阈值的0-100%;缩
短数据帧的帧长度阈值的范围可以为每次缩短原阈值的0-100%。
所述帧长度阈值的范围为:IEEEE802.11规范中规定的最小帧长度阈值和
IEEEE802.11规范中规定的最大帧长度阈值之间。
由本发明的技术方案可见,本发明的这种提高无线网络信道传输效率的
方法,是根据信道特性选择MAC帧长度的自适应数据包拆分方法,在数据
传输过程中能够根据无线信道特性,不断改变帧结构中有效数据的长度值,
保证在不同信道误码率下,都使用接近最佳的数据帧长度进行数据传输,从
而提高了无线信道数据传输的效率,而且实现简单,不需要对硬件设备进行
改动。
附图说明
图1为MSDU帧结构示意图;
图2为物理帧结构示意图;
图3为本发明第一较佳实施例的数据传输流程示意图;
图4为本发明第二较佳实施例的数据传输流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合两个实施
例和附图,对本发明进一步详细说明。
本发明的这种提高无线网络信道传输效率的方法,是根据信道特性选择
MAC帧长度的自适应数据包拆分方法,在数据传输过程中根据无线信道质
量,不断改变帧结构中有效数据的长度值,在不同信道误码率下,使用接近
最佳的数据帧长度进行数据传输。
本发明多种实施方式,以下举两个较佳实施例进行说明。
第一较佳实施例:参见图3,图3为本发明第一较佳实施例的数据传输
流程示意图。本实施例以MPDU的确认帧ACK收到与否作为自适应调整的
依据,每个MSDU拆分后的MPDU分别用ACK确认,即在规定的时间内,
收到ACK说明MPDU发送成功,否则认为发送失败,需要重发。MPDU发
送失败,则认为当前信道状态较差,误码率较高,需要减短帧长度;反之认
为信道较好,可以加长帧长度。
本实施例通过实时改变MAC帧的拆分阈值来达到适应无线信道的目
的,该流程包括以下步骤:
步骤301,预先设定加长数据帧长度阈值前需要连续成功接收ACK信息的
次数N,和缩短数据帧长度阈值前需要连续未成功接收ACK信息的次数M,N、
M可以相等可以不等。
本实施例中数据包丢失认为是由干扰或者噪声引起的,而无线通讯的传
输介质是多用户共享的,不同用户间的数据包碰撞也会导致丢包。仅有一个
包丢失时,还不足以认为信道已经变差。同样,一个数据包传输成功也不应
该立即扩大MAC帧长,应该有连续多次发送成功或不成功,才认为信道特
性确实发生了变化,所以N、M应该选择大于1的常数。应用中可以根据实
际使用的情况,选择合适的N、M。
步骤302,数据传输开始,将MAC业务数据包按数据帧的帧长度初始阈
值拆分传输。这个初始阈值可以采用IEEEE 802.11规范中规定的阈值。
步骤303,实时读取并记录对方发送的确认信息(ACK)。
步骤304,判断是否连续成功接收N次ACK信息,如果是则无线网络信
道质量好,执行步骤305-307,否则执行步骤312。
步骤305-307,加长MAC业务数据包拆分的数据帧的帧长度阈值;判断
该阈值是否大于IEEEE802.11规范中规定的最大帧长度阈值;如果是则设置
数据帧长度阈值等于IEEEE802.11规范中规定的最大帧长度阈值,执行步骤
312,否则直接执行步骤312。
步骤308,判断是否连续有M次没有成功接收ACK信息,如果是,则无
线网络信道质量差,执行步骤309-311,否则执行步骤312。
步骤309-311,缩短该数据帧的帧长度阈值,判断该阈值是否小于
IEEEE802.11规范中规定的最小帧长度阈值;如果是则设置数据帧长度阈值
等于IEEEE802.11规范中规定的最小帧长度阈值,执行步骤312,否则直接
执行步骤312。
步骤312,按调整后的数据帧的帧长度拆分后续数据,返回步骤302对
后续传输数据进行处理,直到本次数据传输结束。
本实施例中,加长和缩短帧长度阈值的幅度由用户根据实际情况进行设
置,要求调整不发生振荡,且传输效率比较高。在实际实施前可以进行多次
仿真实验,得到一个相对合适的幅度运用到实施过程中,如果在实施过程中
出现振荡,或传输效率比较低的情况,还可以进行修改。一般情况下,每次
加长和缩短帧长度的幅度在原阈值的0-100%之间比较适合。本实施例中,
加长幅度设置为原阈值的30%,缩短幅度设置为原阈值的25%。对于本实施
例在一定时间内进行测试,本实施例在该段时间内正确传输的字节数比固定
长度拆分传输方法多20%以上。
第二较佳实施例:参见图4,图4为本发明第二较佳实施例的数据传输
流程示意图。本实施例也以MPDU的确认帧ACK收到与否作为自适应调整
的依据,通过实时改变MAC帧的拆分阈值来达到适应无线信道的目的,该
流程包括以下步骤:
步骤401,数据传输开始,将MAC业务数据包按数据帧的帧长度初始阈
值拆分传输。这个初始阈值可以采用IEEEE 802.11规范中规定的阈值。
步骤402,实时读取并记录对方发送的确认信息(ACK);
步骤403,判断是否在预定时间内收到了预定个数的ACK信息,如果是,
则无线网络信道质量好,执行步骤404-406,否则无线网络信道质量差,执行步
骤407-409。
这里预定时间可以是发送的数据帧的个数与IEEEE 802.11规范中规定的
收到一个ACK需要的时间的乘积。即,预定时间的设置也就是设置自适应
调整帧长度的频率,或者说是每发送多少个数据帧进行一次自适应调整。
本实施例中数据包丢失认为是由干扰或者噪声引起的,而无线通讯的传
输介质是多用户共享的,不同用户间的数据包碰撞也会导致丢包。所以仅有
一个包丢失时,还不足以认为信道已经变差。同样,一个数据包传输成功也
不应该立即扩大MAC帧长,应该有连续多次发送成功或不成功,才认为信
道特性确实发生了变化。所以在设置预定时间时,不应该是每发送一个数据
包,就进行一次自适应调整,而且,在预定时间内预定收到的ACK信息的
数量不必与发送的数据帧的个数相同完全相同,而是根据用户允许丢包的个
数进行设置,这样,预定收到ACK信息个数可以为发送的数据帧的个数减去
用户允许丢包的个数。
可见,预定时间决定了自适应方法跟踪信道变化的速度。当预定时间较
短时,自适应方法的跟踪性能会比较好,但是可能跟踪频率过大,产生较大
偏差;如果预定时间较长,算法结果不会与信道生能产生大的偏离,但跟踪
速度会慢一些。应用中可以根据实际使用的情况,选择合适的预定时间。
步骤404-406,加长MAC业务数据包拆分的数据帧的帧长度阈值;判断
该阈值是否大于IEEEE802.11规范中规定的最大帧长度阈值;如果是则设置
数据帧长度阈值等于IEEEE802.11规范中规定的最大帧长度阈值,执行步骤
410,否则直接执行步骤410。
步骤407-409,缩短该数据帧的帧长度阈值,判断该阈值是否小于
IEEEE802.11规范中规定的最小帧长度阈值;如果是则设置数据帧长度阈值
等于IEEEE802.11规范中规定的最小帧长度阈值,执行步骤410,否则直接
执行步骤410。
步骤410,按调整后的数据帧长度阈值拆分后续数据,返回步骤402对
后续传输数据进行处理,直到本次数据传输结束。
本实施例中,加长和缩短帧长度阈值的幅度由用户根据实际情况进行设
置,要求调整不发生振荡,且传输效率比较高。在实际实施前可以进行多次
仿真实验,得到一个相对合适的幅度运用到实施过程中,如果在实施过程中
出现振荡,或传输效率比较低的情况,还可以进行修改。一般情况下,每次
加长和缩短帧长度的幅度在原阈值的0-100%之间比较适合。
因此,上述两个实施例在数据传输过程中能够根据无线信道特性,不断
改变帧结构中有效数据的长度值,保证了在不同信道误码率下,都使用接近
最佳的数据帧长度进行数据传输,从而提高了无线信道数据传输的效率。
由上述的两个实施例可见,本发明的这种提高无线网络信道传输效率的
方法,能够有效地提高无线信道数据传输的效率,而且实现简单。