用于无线局域网802.11中可降低信息交换冗余度的方法
技术领域
本发明属通讯领域,尤其涉及一种应用在无线局域网络技术802.11系统中可降低AP和non-AP用户终端交换信息冗余度的方法。
背景技术
在无线局域网络802.11协议里面现存有两种方式适合传输语音的方式。一种是扩展数据渠道访问(EDCA),另一种是混合控制信道访问(HCCA)。
混合控制信道访问(HCCA),它实施真正的轮询。为此,可在AP上安装控制装置(HC=混合控制器),负责轮询的管理。该站点接收8个出口队列,它们根据需求将数据分配到队列中以进行传输。所有等候队列必须通过所谓的业务流规范(TSPEC),注册到AP。该TSPEC包含了站点对等候队列的“期望要求”(最小和最大的服务间隔,最小的传输机会TXOP期限)。AP将返回一个所谓的计划表,其中包含等候队列的实际分配。这意味着它可能不符合“期望要求”。例如,如果AP已经超负荷,不能再处理更多数据流,这种要求甚至可能遭到完全拒绝。现在,HC应负责通过轮询处理各个站点排队。由于HCCA具有绝对的优先权,高于EDCA,因而HC实际上能够在任何时候进行控制,通过适当方式处理要求严格(包括数据速率和同步性要求)的数据流。在此期间,EDCA没有生效,未处理相应的数据流。
EDCA站台不像HCCA的站台必须卑微地配合AP之轮询排程。为执行该功能,每个站点的传输终端具有相应的4个等候队列,发送到传端终端的数据包可以进行分类。此外,每个站点的规则是:清空优先级较高的队列,然后处理优先级较低的队列。作为标准类别,“尽力而为”业务可与分布式协同DCF进行协调。背景数据流的优先级最低,只有在网络面临失活状态时才允许传输。顾名思义,视频和音频就是传输图像和语音,此时应该考虑到网络对它们的特定需求。在这一过程中,站点不能象以往那样,只为一个数据包占用无线网络,而应该使无线网络用来传输整个系列的数据包(在此定义TXOP=传输机会,transmissionopportunity),这对视频系列尤为有利。但必须注意的是,EDCA程序也称作参数化的服务质量,只是统计范围内的优先方法。换句话说,从更长的时间来看,具有更高优先级的数据流也被分配给更多的带宽。就短暂时间间隔来说,低优先级数据流的速率也可能比中优先级数据流的速率快。EDCA无法为严格的同步数据流或实时应用提供足够的安全性。
802.11技术的改良势必将网络电话、网络电话加资料、视频加资料、网络电话加视频加资料等应用带入主流。尽管802.11标准并未涵盖所有网络电话服务的各个层面,但仍有相当重要的标准。特别是HCCA与EDCA都能提供在相同无线通道中支持语音加资料的方法。
这两种方法都只是对数据包在空中的碰撞和质量服务(QoS)有明显地改善,但对象语音这样的小包,802.11的协议效率并不高。对每个802.11数据包来说,物理(PHY)信息头就占了23字节(见图2),它要求用最低地传输速率传输(对于无线局域网络协议标准802.11b,这速率是1Mbps),而MAC信息头有30字节(见图2),它的传输速率是AP和non-AP用户终端可以商榷的。如果我们已根据RFC2508把RTP(实时通讯协议)/UDP/IP信息头压缩到2-4字节,而不是IPv4的40字节和IPv6的60字节。在10ms中,G.723语音编码器将产生40字节,G.729语音编码器将产生10字节.如果802.11传输速率是1Mbps,G.723的效率将是40/(40+30+23+4)=41%,G.729的效率将是10/(10+30+23+4)=15%,如果802.11传输速率是11Mbps,G.723的效率则变成40/(40+30+23*11+4)=12%,G.729的效率则变成10/(10+30+23*11+4)=3.4%,
802.11为提高对于VoIP语音包的传输,允许PHY信息头用短的前置序列(96微秒)配置来替代长的前置序列(192微秒),这只是减轻了传输效率问题,但它要求整个系统最低工作速率在2Mbps,从而极大的影响了系统覆盖范围。这可见802.11协议对小包传输效率并没有一个很好地解决方法。
发明内容
本发明的目的是提供一种用于无线局域网802.11中可降低信息交换冗余度的方法,它产生一个新机制(集中式查询和时分多址)来补充HCCA,用压缩MAC信息头和共享PHY信息头的方式和方法来减少PHY和MAC信息头的冗余度。
这项发明通过在下链引入集中式查询和上链时分多址技术来提高语音包或小包传输效率。
为实现上述目的,本发明采取以下设计方案:
一种用于无线局域网802.11中可降低信息交换冗余度的方法,所述的方法步骤如下:
a)在AP端,把到不同的用户终端的小数据包构成一个子帧体,然后集中到一个超级MAC下链帧;在一个子帧里,包含对应的用户中端的上链的传输机会TXOP的起始时间和长度及一个链路标识符;所有的子帧共享一个PHY信息头;
b)设定每个子帧有自己的CRC校验码;
c)每一个AP和non-AP用户端的链路都用一个链路标记符来替代MAC源和目的地址;
d)设定在超级MAC下链帧里的持续时间/标识符(Duration/ID)域包含整个超级MAC下链帧的时间长度和它所对应的所有终端用户的上链时间长度;
e)上链MAC帧包含链路标识符和用户终端的队列大小;这队列大小是由用户终端还未发完的所有包的总的大小所定义;
f)上链MAC帧异或基本服务集标识符(BSSID)或者一个系统标识符来区分不同基本服务集(BSS)系统。
本发明所述的方法主要用于语音包的传输,在AP端,把不同用户终端的语音包可集中起来共享PHY信息头和部分MAC信息头控制信息。
本发明所述的步骤e)中,可以用链路标识符来标识媒体接入控制(MAC)的目的和源地址。所述的步骤f)中用基本服务集标识符(BSSID)或链路标记、MAC目的地址来异或发射端信息,在接收端在相同位置异或相同序列,由CRC校验码判定解码是否正确。
本发明用于语音传输时,传输中可删除802.11 MAC帧里的分片域。
在本发明中,如果从AP出去到用户终端们的数据或语音包使用同一种调制方式和编码,它们可以共同组成一个超级MAC下链来享用同一个PHY信息头、基本服务集标识符(BSSID)、帧控制字(frame control)、持续时间/标识符(duration/ID)域。在超级MAC下链帧里,到每个用户终端的包被称为子帧。在持续时间/标识符(duration/ID)域的值要足够大以覆盖所有对应的上链的回应帧和整个超级MAC帧的下链。在HCF机制下,每一个从HC或non-AP的用户终端发出的帧都包含了持续时间(duration)长度域已让在基本服务集系统里其他用户终端把他们的NAV重置来保护紧接而来的帧。所有的用户终端们都将遵循这个HCF的NAV规则。
在每个下链子帧里,
a)因为基本服务集标识符已经包含在超级MAC帧的帧头,所以基本服务集标识符被抑制了;
b)源和目的MAC地址可以用一个简短的链路标识符来标识;
因为在这种集中查询方式下,所有的数据或语音包都很小,从而禁止它们被分片。所以分片(Fragmentation)域可以不要;
c)在这种方式下,上链MAC帧的队列大小域的值是由现在non-AP用户端存储的所有数据包或语音包的大小决定的;
d)下链中每一个non-AP用户终端的上链传输机会TXOP限制,是由在上一次通讯中,该用户终端汇报给AP的上链队列大小和现在系统所剩资源所决定的;
e)有一个CRC校验码。
如果non-AP用户终端已在集中式查询方式注册,如收到超级MAC帧,它将扫描整个帧,找到相对应的链路标识符,如果通过CRC,就取下这个子帧,同时把下链子帧规定的上链发射起始时间和所需时间长度设置好。
加入这机制的Non-AP用户终端将数据或语音包组成一个包含CRC的上链子帧,然后用基本服务集标识符去异或这一子帧以达到抑制基本服务集标识符,又能区分不同基本服务集的目的(见图5)。当AP收到上链数据,它将先用基本服务集标识符去异或子帧,如CRC通过,则认为正确。在上链,帧控制字包含有子帧数目以帮助AP取得该用户终端的所有子帧。
本发明的优点是:
1、适用范围广,可适用于任何一个有AP和多用户终端组成的802.11系统;
2、该方法可有效传输802.11语音包或小数据包,不仅传输效率高,且可提高2-3倍语音容量。
附图说明
图1为本发明修改的帧控制域图表
图2为现有802.11b包结构图
图3-a)为本发明为得到链路标记而修改的质量服务信息QoS
图3-b)为本发明为增添链路标识符而修改的业务流加入应答
(ADDTS.response)信息域结构图
图4为本发明在集中查询方式下超级下链和上链帧的帧结构图
图5-a)为本发明超级上链帧的子帧在调制下异或过程示意图(在用户终端)
图5-b)为本发明超级上链帧的子帧在解调下异或过程示意图(在AP端)
具体实施方式
下面将结合具体实施例进一步说明本发明方法。
图1是本发明帧控制域图示,其中*栏(类型=10,子类型=1101)中为新增的帧控制字。当送至AP标记=1,来自AP标记=0,而且类型=10(二进制)和子类型=1101(二进制),比特15和10就表示是子帧数目,它们最多可表示3个子帧。
在本发明方法里,如果支持集中式查询和时分多址的用户终端加入一个基本服务集(BSS)系统,它需要经历下列步骤以达到可以传输语音包:
a)它所先要确定AP是否支持集中式查询和时分多址方式,通过AP发送的质量服务QoS能力元素(QoS Capability)里的QoS信息域的B7设置是否为1,1代表该AP支持集中式查询和时分多址机制。这个修改可在QAP发送的质量服务信息(QOS info sent by QAP)图3.a中看到,其中*栏即B7比特在现有的802.11系统中属于保留比特,现在作为支持集中式查询和时分多址机制的一个标志位。
b)无论什么时候,当一个语音数据流来了,non-AP用户终端如果通过QoS能力元素发现AP也支持这种新机制,将发送业务流加入请求(ADDTS.request)到AP。把业务流加入请求(ADDTS.request)里的业务流规范(TSPEC)元素里的接入政策域(access policy sub-field,比特7-8)置为00以表示该用户终端希望用集中式查询和时分多址工作方式。比特7-8在现有的802.11系统中属于保留比特。
c)支持集中式查询和时分多址的AP将回应一个业务流加入应答(ADDTS.response)消息,在这个方式中下,计划表(schedule)元素里把保留的一个字节用来传递链路标志信息。这个修改可以通过图3.b更直观。其中链路标识符标志位:0-不能使用集中式查询和时分多址方式;1-要使用集中式查询和时分多址方式,链路标识符在紧随的7比特。
d)如果AP认为TSPEC是周期性的小数据包流,而且系统剩有足够资源,则AP将发送一个链路标识符给non-AP用户终端。以后AP将把这数据流放在超级MAC帧中传输。而用户终端将记住这个标识符以用在下链解调和上链调制。
AP将维持多个语音队列,每个队列都有不同的802.11物理层调制和编码方式,如果语音包进来,AP将根据对应用户终端不同的链路物理层调制和编码方式而放在不同队列。HC将周期性查询每个队列(建议10ms一次),如队列有链路标识符登记过,则组成一个超级MAC帧,如队列有数据包存在,则放入下链子帧体里,否则下链子帧只有含有链路标识符和传输机会TXOP的包头和CRC,每个数据包都将组成一个子帧。图4详细说明超级MAC帧结构。每种802.11物理层调制和编码方式将对应一个超级MAC帧。超级MAC帧将共享2字节的帧控制字,在下面的表1中有上链和下联帧控制字的说明。
表1:控制字里的合法类型和子类型组合
(表1的数值是用二进制表示)
类型值(Typevalue)b3 b2 |
类型描述(Typedescription) |
子类型值(Subtypevalue)b7 b6 b5 b4 |
(子类型描述)Subtype description |
00 |
管理类(Management) |
0000 |
绑定请求(Association request) |
00 |
管理类(Management) |
0001 |
绑定应答(Association response) |
00 |
管理类(Management) |
0010 |
重新绑定请求(Reassociation request) |
00 |
管理类(Management) |
0011 |
重新绑定应答Reassociation response |
00 |
管理类(Management) |
0100 |
探测请求(Probe request) |
00 |
管理类(Management) |
0101 |
探测应答(Probe response) |
00 |
管理类(Management) |
0110-0111 |
保留(Reserved) |
00 |
管理类(Management) |
1000 |
广播(Beacon) |
00 |
管理类(Management) |
1001 |
交通指示宣布消息(Announcement trafficindication message(ATIM)) |
00 |
管理类(Management) |
1010 |
绑定去除(Disassociation) |
00 |
管理类(Management) |
1011 |
认证(Authentication) |
类型值(Typevalue)b3 b2 |
类型描述(Typedescription) |
子类型值(Subtypevalue)b7 b6 b5 b4 |
(子类型描述)Subtype description |
00 |
管理类(Management) |
1100 |
认证去除(Deauthentication) |
00 |
管理类(Management) |
1101 |
行动(Action) |
00 |
管理类(Management) |
1110 |
保留(Reserved) |
00 |
管理类(Management) |
1111 |
保留(Reserved) |
01 |
控制类(Control) |
0000-0111 |
保留(Reserved) |
01 |
控制类(Control) |
1000 |
多帧应答请求(Block AcknowledgementRequest(BlockAckReq)) |
01 |
控制类(Control) |
1001 |
多帧应答(Block Acknowledgement(BlockAck)) |
01 |
控制类(Control) |
1010 |
省电查询(Power Save Poll(PS-Poll)) |
01 |
控制类(Control) |
1011 |
请求发送(Request To Send(RTS)) |
01 |
控制类(Control) |
1100 |
可以发送(Clear To Send(CTS)) |
01 |
控制类(Control) |
1101 |
应答(Acknowledgement(ACK)) |
01 |
控制类(Control) |
1110 |
无竞争时间结束(Contention-Free(CF)-End) |
01 |
控制类(Control) |
1111 |
无竞争时间结束和无竞争应答(CF-End+CF-Ack) |
10 |
数据类(Data) |
0000 |
数据(Data) |
10 |
数据类(Data) |
0001 |
数据和无竞争应答(Data+CF-Ack) |
10 |
数据类(Data) |
0010 |
数据和无竞争查询(Data+CF-Poll) |
10 |
数据类(Data) |
0011 |
数据+无竞争应答+无竞争查询(Data+CF-Ack+CF-Poll) |
10 |
数据类(Data) |
0100 |
空(无数据)(Null(no data)) |
10 |
数据类(Data) |
0101 |
无竞争应答(无数据)CF-Ack(no data) |
10 |
数据类(Data) |
0110 |
无竞争查询(无数据)CF-Poll(no data) |
类型值(Typevalue)b3 b2 |
类型描述(Typedescription) |
子类型值(Subtypevalue)b7 b6 b5 b4 |
(子类型描述)Subtype description |
10 |
数据类(Data) |
0111 |
无竞争应答+无竞争查询(无数据)CF-Ack+CF-Poll(no data) |
10 |
数据类(Data) |
1000 |
QoS数据(QoS Data) |
10 |
数据类(Data) |
1001 |
QoS数据+无竞争应答(QoS Data+CF-Ack) |
10 |
数据类(Data) |
1010 |
QoS数据+无竞争查询(QoS Data+CF-Poll) |
10 |
数据类(Data) |
1011 |
QoS数据+无竞争查询+无竞争应答(QoS Data+CF-Ack+CF-Poll) |
10 |
数据类(Data) |
1100 |
QoS空(无数据)(QoS Null(no data)) |
*10 |
数据类(Data) |
1101 |
集中式查询和时分多址方式下的超级MAC帧 |
10 |
数据类(Data) |
1110 |
QoS无竞争查询(无数据)(QoS CF-Poll(nodata)) |
10 |
数据类(Data) |
1111 |
QoS无竞争查询+无竞争应答(无数据)QoSCF-Ack+CF-Poll(no data) |
11 |
保留(Reserved) |
0000-1111 |
保留(Reserved) |
通过设置b3-2为0b10,和b7-4为1101(表中*栏,)来表示这是一个超级MAC帧,另外它们将共享2字节持续时间/标识符(duration/ID)域,这个持续时间长度将包含整个超级MAC帧的上链和下链,以防止其它用户终端在上链对无线媒体的竞争。这域设置成:
持续时间(Duration)=向上取整(整个下链的字节数/下链传输速率)
假设第j个non-AP用户终端的上链持续时间duration是TXOP
j,N是所有的non-AP用户终端数目,单位为微秒。
任何一个下链子帧都包含有non-AP用户终端的传输机会TXOP的持续时间和起始时间。上链起始时间可以通过以下公式计算:
·第i个Non-AP用户终端的TXOP起始上链发送时间是在下链帧结束
微秒之后,这里假设第j个non-AP用户终端的上链所需时间为TXOP
j。
·Non-AP用户终端的TXOP时间长度单位可设为10us,这样整个超级上链帧加一个SIFS时间的发送时间可达2550微秒。
当non-AP用户终端通过申请,而从业务流加入应答(ADDTS.response)消息里得到自己的链路标识符。如果从AP那接收到一个MAC帧,这帧的帧控制字(见图1)的比特7到2是110110,而且基本服务集标识符和自己注册的AP一样。这时用户终端的MAC层将扫描整个MAC帧以寻找自己的链路标识符,如果找到,再通过CRC看整个子帧对不对。不管对不对,用户终端都要求扫描完整帧以收全所有的子帧。Non-AP用户终端将根据子帧里的TXOP的起始时间和持续时间来配置自己的发射时间。如果因为误码或其它原因,用户终端没收到传输机会TXOP信息,它就不能在上链时间发送。这时HC在等了SIFS加上一个时序时间以后,如果发现无线媒体还处于空闲,HC将重新控制无线媒体作其它用途,但时间不能超过TXOP所规定时间。如果non-AP用户终端得到了正确子帧,它将数据或语音包组成一个包含CRC的上链子帧,然后用基本服务集标识符去异或这一子帧以达到抑制基本服务集标识符,又能区分不同基本服务集的目的(见图5-a调制过程),然后按照传输机会TXOP所指定来限制发送802.11包持续时间长度和起始时间。上链控制字(见图1)的比特7到2是110110,比特15和比特10是上链帧的子帧数目,这样一个上链帧可以最多有3个子帧。对同一用户终端引入多子帧概念是为了解决语音包传输抖动(jittering)问题.上链的队列大小是由在用户终端缓存里的总共包的大小有关,单位可设置为字节,因此除了PHY信息头外,在上链它可以总共有255字节,足以包含2个以上20ms的G.723语音包。当AP收到上链数据,它将先用基本服务集标识符去异或子帧(见图5-b解调过程),再用CRC校验码判断子帧是否正确。如果CRC正确,则提取出上链汇报的队列大小以作为下一帧的传输机会TXOP的持续时间,当然这时系统要有足够资源以满足该用户终端请求。
如果AP收到业务流删除请求(DELTS.request)或者AP发现non-AP用户终端闲置时间超过TSPEC域所指定,AP将把链路标识符从链路标识符库里释放,同时删除该用户终端在集中式查询和时分多址方式里的登记。该用户终端在语音通讯结束,发出业务流删除请求(DELTS.request)后或者non-AP用户终端认为AP闲置时间超过TSPEC所指定,就退出这种机制。
这项发明并没有影响802.11的兼容性,它只是802.11e协议的补充,具有新功能的non-AP用户终端仍能和普通的AP通讯,反之亦然。同时这项发明对于中国的保密安全WAPI协议也没有任何影响.这项发明中,每个子帧都含有32比特CRC校验码而构成了一个独立校验体,所以在相同的误码率下,用正常的802.11协议的误包率和用集中式查询方式的误子帧率是差不多的,它并不会因超级MAC包的变得更长而具有更高的误子帧率。这里拿802.11的误包率和该发明的误子帧率相比是因为它们承载相同信息。该发明通过PHY信息头共享和MAC信息头压缩来尽可能避免PHY和MAC信息头的冗余。它可以提高2-3倍效率,数据显示在表2和表3。
表2 802.11b的语音包在1Mbps速率下的传输时间(单位:微秒)
语音编码器(vocoder) |
语音编码大小(字节) |
802.11传输语音包单向所需时间(微秒) |
无任何压缩 |
有RTP/UDP/IP头信息压缩 |
RTP/UDP/IP头信息压缩和集中式查询时分多址方式 |
G.723 |
40 |
1064 |
776 |
524 |
G.729 |
10 |
824 |
536 |
284 |
表3 802.11b的语音包在11Mbps速率下的传输时间(单位:微秒)
语音编码器(vocoder) |
语音编码大小(字节) |
802.11传输语音包单向所需时间(微秒) |
无任何压缩 |
有RTP/UDP/IP头信息压缩 |
RTP/UDP/IP头信息压缩和集中式查询时分多址方式 |
G.723 |
40 |
264 |
238 |
132 |
G.729 |
10 |
243 |
216 |
110 |