10

802.11协议精读31:IEEE 802.11a/b

 3 years ago
source link: https://zhuanlan.zhihu.com/p/121058846
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

802.11协议精读31:IEEE 802.11a/b

Wi-Fi话题下的优秀回答者

802.11a/b是802.11协议的第二个阶段的版本,都是在1999年发布的,用现在Wi-Fi的新的命名方式来说的话,802.11b对应的是Wi-Fi 1,802.11a对应的是Wi-Fi 2。本文还是偏向于个人的技术笔记,主要是记录关于802.11a/b两个协议的内容。

Ref:Intelligent Transportation Systems

802.11b(HR,High Rate)

首先我们谈一谈802.11b。802.11的命名法一直是有些无章法的,比如说802.11b就是802.11-1997的正统后续版本,所以在后来定义的时候也被称为Wi-Fi 1。另外802.11b是有代号的,High Rate DSSS,用以和802.11-1997的DSSS模式做一个区分。

802.11-1997定义了三种不同的工作模式,即FHSS,DSSS,IR,其实802.11在1990年就起草了,在其发展过程中,实际上在95年左右开始,就有很多Wi-Fi产品了,不过当时不叫Wi-Fi,而是叫做WaveLAN。所以在经过了5年左右的市场选择后,802.11b最终选择是扩展了DSSS的模式,DSSS模式最后取得成功主要是因为其稳定性最好。

v2-142050770f675136e19aacd59144d61f_720w.jpg

在前面一篇已经描述了802.11-1997的DSSS模式了,802.11b是这个模式的一个扩展,主要引入了CCK这种编码方式,chip rate还是11M,但是经过了CCK调制后其数据速率可以提升到5.5Mbps和11Mbps。

同时这里我们还需要知道一点,就是5.5Mbps和11Mbps并不是单纯只有CCK调制模式,我们通常说802.11b支持DSSS/CCK因为这是协议中固有的机制,协议中还定义了一种可选的调制模式,PBCC(Packet Binary Convolutional Code),不过PBCC最后没有商用化就是了。

v2-0e2a9dcce6092b773c4437630d80121d_720w.jpg

另外在PLCP帧体的部分,我们可以关注下,802.11b和802.11-1997有两个地方的区别,1)802.11b引入了Short Preamble的结构,传统的802.11-1997只有Long Preamble(128bits的Sync),而802.11b除了Long Preamble以外还有Short Preamble。

还有一个是802.11b的PLCP Header的Service字段,在802.11-1997中,service字段全部是保留字段。

v2-a339b35186329ddf03268aa962286ead_720w.jpg

在802.11b中,service字段已经被使用了三个位,这里Locked Clock bit翻译过来是锁定时钟,实际上表示的意思是frequency和symbol是不是来自于同一个振荡器的,Mod selection bit就是指示调制的时候是用CCK还是PBCC的,还有一个Length extension bit我们需要注意下。在DSSS/CCK模式的帧结构中,PLCP Header中的length字段标识的是数据包的时间(单位us),而不是bits,这个很特殊,而且时间敏感。在802.11b支持了11Mbps以后,由于大于了8Mbps的速率,所以原有的length字段表达的时间精度就不够了,所以要进行补位提升精度,这个length extension bit实际上就是这个功能。

v2-52bc153088a8e3e0ecd22591de363e14_720w.jpg

802.11b世代中,由于没有采用Beamforming的定向技术,其都是全向覆盖的,所以我们能够给出的一般的覆盖范围示意。

802.11a和HyperLAN

802.11a的协议版本也是1999年出的,现在大家基本都是把802.11a采用OFDM,802.11b采用的DSSS/CCK作为一个基础知识记忆。但是如果详细考虑的话,可以发现802.11a并不是802.11-1997的一个正统的后续版本。感觉就是凭空冒出来的,无论是OFDM的调制方式,以及其帧结构,进而到同步方式等等,其实都没有太多802的影子。

在我的目前读协议的理解中,802.11-1997实际上是结合了802.3的技术框架和IS-95中采用的CDMA技术的结合,不过实际上802.11-1997参考CDMA的部分不多,主要是扩频的模式,参考最多是802.3,一个很典型的例子就是PLCP Preamble的SFD字段,很直观的感觉就是在802.3的帧结构扩展一下,在PLCP Preamble的部分增加了同步用的SYNC字段,然后为了变速率引入了PLCP Header,剩余字段的构架实际上和802.3是一样的。

所以802.11-1997的溯源应该是802.3框架,但是802.11a就是另起一路了。这个问题实际上我考虑了很久,目前觉得802.11a的溯源应该就是HyperLAN。HyperLAN是早于802.11协议的,而且也是同时期802.11的最主要竞争对手,其是比较早采用OFDM传输技术的商业协议了。不过该协议最后没有成功,主要其是参考移动通信框架构架的。

移动通信框架有两个主要特点,1)有明显的AP和节点的区分,也就是协议构造的时候,AP的角色是抽离出来的,从协议层面,AP就具有更强的控制平面,而节点脱离了AP就不好工作,需要听从AP的指挥,2)面向连接的网络,移动通信协议基本上都是面向连接的,需要完成一个rach过程和AP连接上,然后在根据这个连接状态分配资源。

而802.11a实际上就是基于802.11的特点,改变了一下HyperLAN。首先从物理层的发送机而言,或者用802.11的概念,其PMD子层实际上和HyperLAN是非常一样的,除了一些编码速率上有差异,其他结构基本差不多。但是PLCP子层变化就比较多了。我们先对应上面两个特点对比下:1)802.11没有AP和节点的区分,在802.11的概念里面大家都是节点。竞争信道是公平的,采用同一种机制来竞争。这也是因为802.11的前身WaveLAN一开始设计目标就是Ad-hoc的一类场景,在Ad-hoc场景下面就是没有AP这样的角色的。没有角色划分实际上意味着简单,简单就意味着802.11是一种best-effort的协议,AP和STA可以采用同一个芯片去构架,只不过后期管理层面加点程序就行了。同时这样做还有一点就是轻量,其实单纯的按照802.11的DCF接入模式而言,整个协议还是挺轻量的,不需要跑太复杂的控制层面,所以对于配套的MCU要求很低,应用面广,从这个层面而言,也可以说是DCF最后成功,PCF失败的一个原因。2)802.11的接入流程不是面向连接的,是best-effort的,也就是每一个数据包尽量发,而且大家采用同一种机制来竞争,不搞太复杂的调度。虽然802.11中有关联过程,但是这种关联仅仅是分配AID,然后认证的时候分配下秘钥,其他关于无线接入的过程,不会进行控制。

所以802.11a实际上的来源是HyperLAN,而且是一种符合802.11精神的hyperLAN设计,不过802.11a也是没有成功,一方面是5GHz的信道原因,另外一方面是还是协议比802.11b要复杂,所以市场一开始没有接受。这种机制直到802.11g世代以后,才重新变为了主流。

另外为什么不一开始就把802.11a定义到2.4GHz上呢?这里可能协议组本身是想的,不过法规没有过,而且也是前面说的,802.11a的对比对象就是HyperLAN,而HyperLAN就是工作在5GHz频段上的。

802.11a

我们下面记录一下802.11a的协议特点:

802.11a是采用OFDM模式来进行调制的,在OFDM中,每一个信道包含很多个子载波,每一个子载波上可以进行调制,比如QPSK,QAM。在时域上,OFDM的传输是由OFDM Symbol构成的,为了避免Symbol与Symbol间的码间串扰(ISI),通常需要加入保护间隔。在802.11a中,保护间隔是填充了CP循环前缀,这是因为如果留空会导致ICI。另外在子载波中,还有部分子载波被用作了Pilot,这里是导频子载波的意思。OFDM具有高的频谱效率,而且可以很好的抵抗窄带干扰以及减少多径效应的影响(因为码率低)。

在802.11a中,每一个子载波带宽为312.5KHz,symbol时间是4us,所以symbol rate是250ksps,其最大的传输速率为54Mbps。这里有很多内容在《802.11协议精读7:802.11a/g的发送过程与接收过程》,《802.11协议精读8:再论802.11a/g的发送过程与接收过程》里面提到过了,就不展开了。

然后上图是802.11a的一个帧结构,其PLCP部分只有一个PLCP Preamble,里面包含了STF,LTF,SIG字段,上图中由于是比较早期的描述方式,所以Preamble里面只包含了STF和LTF,然后SIGNAL是分开的,不过目前的802.11a是把SIGNAL也放在Preamble里面。

我们可以定量观察下802.11a的覆盖范围,上图中是802.11b和802.11a覆盖范围和传输速率的对比,图中802.11a的传输范围尽量取小,图上最大的范围可能有点大了。

802.11a/b的产品

在802.11a/b世代已经有不少产品了,产品也逐渐迈入民用场景了,这里我们列举一些当时世代的产品。

Aironet PCI352, CB20A, or PCM 352 Client Adapter Network Interface CardCisco Aironet 1100/1200,WRT11v2-17b6ee828bce20462f57fe089aaffea3_720w.jpgWGB350/1400 Series Bridge

综上,我们整理了802.11a/b内容,以上还是作为个人笔记多一些。

本文为原创文章,如需转载须注明出处和原文链接。

v2-2aaf0aeed95fdea6d87e6ee8ccfde641_720w.png

欢迎大家关注我们的微信公众号:无线技术大讲堂,请搜索公众号(must_wireless)。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK