目录
一.802.11成帧封装实现 3
1.1控制帧 3
1.1.1 一般的帧控制位 3
1.1.2 RTS(请求发送) 4
1.1.3 CTS (允许发送) 5
1.1.4 ACK (应答) 6
1.1.5 PS-Poll (省电模式一轮询) 7
1.2 数据帧 8
1.2.1 Frame Control (帧控制) 8
1.2.2 Duration(持续时间) 8
1.2.3 地址与DS Bit 9
1.2.4 数据帧的次类型 12
1.2.5 数据帧的封装 13
1.3 管理帧 15
1.3.1 管理帧的结构 16
1.3.2 长度固定的管理帧元件 17
1.3.3 管理帧的信息元素 25
1.3.4 管理帧的类型 39
1.4 帧发送以及连接与身份认证状态 43
1.4.1 帧等级 44
二、802.11网络协议细节 46
1.5 利用DCF进行竞争式访问 46
1.5.1 DCF 与错误复原 47
1.5.2 使用重传计数器 47
1.5.3 DCF 与延迟 47
1.5.4 Spectralink 语音优先性 48
1.5.5 帧的分段与重组 49
1.5.6 帧格式 50
1.5.7 Frame Control 位 50
1.5.8 Duration/ID 位 54
1.5.9 Address 位 55
1.5.10 Basic Service Set ID (BSSID) 55
1.5.11 顺序控制位 56
1.5.12 帧主体 56
1.5.13 帧检验序列(FCS ) 57
1.6 802.11对上层协议的封装 57
1.7 竞争式数据服务 58
1.7.1 广播与组播数据或管理帧 58
1.7.2 单点传播帧 59
1.7.3 省电程序 61
1.7.4 多种速率支持(Multirate Support ) 63
1.8 帧的处理与桥接 64
1.8.1 无线介质到有线介质(802.11至以太网) 65
1.8.2 有线介质至无线介质(Wired Medium to Wireless Medium ) 66
1.8.3 服务质量延伸功能 67
三、CSMA/CD 67
1.9 基本概念 67
1.10 基本算法 68
1.11 原理介绍 68
1.12 协议过程 69
1.13 性能指标 70
1.14 退避算法 70
1.15 算法应用 71
四、附录 72
4.1 Wireshark 关于802.11无线局域网的过滤器 72
4.2 802.11无线局域网缩写词及中文含义 73
正文
以太网的帧封装十分简单,只要为帧加上同步信号、一些地址信息,以及在结尾加上检验码即可。相对而言,802.11的帧封装就比较复杂,因为无线介质必须将有线网络所没有的帧类型,以及各式管理功能纳入考虑。
802.11帧主要有三种类型。数据帧好比 802.11的驮马,负责在工作站之间传输数据。数据帧可能会因为所处的网络环境不同而有所差异。控制帧通常与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。管理帧负责监督,主要用来加入或退出无线网络,以及处理接入点之间连接的转移事宜。
控制帧主要在协助数据帧的传递。它们可用来监督无线介质的访问(但非介质本身),以及提供MAC层次的可靠性。
为控制帧均使用相同的 Frame Control(帧控制)位,如图1-1所示。
图1-1:控制帧中的Frame Control 位
Protocol(协议版本)
在图1-1 中,协议版本的值为 0 ,因为这是目前绝无仅有的版本。未来可能会出其他新的版本。
| Type(类型)
控制帧的类型识别码为 01。定义上,所有控制帧均使用此识别码。
| Subtype(次类型)
此位代表发送控制帧的次类型。
| ToDS 与FromDS bit
控制帧负责处理无线介质的访问,因此只能够由无线工作站产生。传输系统并不会收送控制帧,因此这两个 bit必然为 0 。
| More Fragments(尚有片段)bit
控制帧不可能被切割,这个 bit必然为 0 。
| Retry(重试)bit
控制帧不像管理或数据帧那样,必须在序列中等候重送,因此这个 bit必然为0 。
| Power Management (电源管理)bit
此bit用来指示、完成当前的帧交换过程后,发送端的电源管理状态。
| More Data(尚有数据)bit
More Data bit 只用于管理数据帧,在控制帧中此 bit必然为0 。
| Protected Frame(受保护帧)bit
控制帧不会经过加密。因此对控制帧而言,Protected Frame bit 必然为 0。
| Order(次序)bit
控制帧是基本帧交换程序(atomic frame exchange operation )的组成要件,因此必须依序发送。所以这个 bit必然为 0 。
RTS帧可用来取得介质的控制权,以便传输「大型」帧。至于多大称之大型:是由网卡驱动程式中的 RTS threshold(门限)来定义。介质访问权只能保留给单点传播(unicast)帧使用,而广播(broadcast)与组播(multicast )帧只须发送便是了。RTS 帧的格式如图 1-2所示。
就和所有控制帧一样,RTS 帧只包含标头。帧主体中并未包含任何数据,标头之后即为FCS (帧检查码)。
图1-2:RTS帧
RTS的MAC标头由四个位构成:
| Frame Control(帧控制)
Frame Control位并没有任何特殊之处。帧的 subtype(次类型)位设定为 1011,代 表 RTS帧。除此之外,它与其他的控制帧具备相同位。(在 802.11规格书中,最高效 bit乃是最后一个bit,因此在 subtype 位中,第 7 个bit代表最高效 bit。)
| Duration (持续时间)
RTS帧会试图预定介质使用权,供帧交换程序使用,因此 RTS 帧发送者必须计算 RTS帧结束后还需要多少时间。图 1-3说明了整个交换过程,总共需要三个 SIFS、一个CTS、最后的ACK,加上发送第一个帧或帧片段所需要的时间。(fragmentation burst 〔片段宣泄期〕会使用后续的帧片段来更新 Duration 位。)传输所需要的微秒数经过计算后会置于 Duration 位。假使计算的结果不是整数,就会被修正为下一个整数微秒。
图1-3:RTS帧的Duration 位
Address 1 位;Receiver Address (接收端地址)
接收大型帧的工作站的地址。
Address -2 位:Transmitter Address (发送端地址)
RTS帧的发送端的地址。
CTS帧有两种目的,其格式如图 1-4 所示。起初,CTS帧仅用于应答 RTS帧,如果之前没有RTS出现,就不会产生 CTS 。后来,CTS帧被 802.11g 防护机制用来避免干扰较旧的工作站。
图1-4:CTS帧
CTS帧的 MAC标头由三个位构成:
| Frame Control( 帧控制)
帧的subtype(次类型)位被设定为 1100,代表 CTS 帧。
| Duration (持续时间)
用来应答 RTS 时,CTS帧的发送端会以 RTS 帧的 duration 值作为持续时间的计算基准。RTS会为整个 RTS-CTS-frame-ACK 交换过程预留介质使用时间。不过当 CTS 帧被发送出后,只剩下其他未帧或帧片段及其回应待传。CTS帧发送端会将 RTS 帧的duration 值减去发送CTS帧及其后短帧间隔所需的时间,然后将计算结果置于 CTS 的Duration 位。图 1-5显示了 CTS duration 与RTS diratopm的关系。
图1-5二CTS的持续时间
| Address 1 位:Receiver Address (接收端地址)
CTS帧的接收端即为之前 RTS帧的发送端,因此 MAC会将 RTS帧的发送端地址复制到CTS帧的接收端地址。802.11g保护操作所使用的 CTS 帧会被发送给发出 RTS 的工作站,而且只用来设定 NAV。
ACK帧(图 1-6 )就是 MAC以及任何数据传输(包括一般传输 RTS/CTS交换之前的帧、帧片段)所需要的正面应答(positive acknowledgment)。服务质量扩展功能放宽了个别数据帧必须各自得到应答的要求。
图1-6:ACK帧
ACK帧的 MAC标头由三个位构成:
| Frame Control(帧控制)
帧的subtype(次类型)位被设定为 1101,代表 ACK帧。
| Duration (持续时间)
依照ACK信号在整个帧交换过程中位居何处,duration 的值可以有两种设定方式。在完整的数据帧及一连串帧片段的最后一个片段中,duration 会被设定为 0。数据发送端会将 Frame Control(帧控制)位中的 More Fragments(尚有片段)bit设定为 0,表示数据传输已经结束。
如果More Fragments bit 为0 ,表示整个传输已经完成,没有必要再延长对无线信道的控制权,因此会将 duration 设定为 0 。
如果More Fragments bit为1 ,表示尚有帧片段仍在发送中。此时Duration 位的用法和 CTS帧中的Duration 位相同。发送ACK以及短帧间隔所需要的时间,将由最近帧片段所记载的duration 中减去。如果不是最后一个 ACK帧,duration 的计算方式类似 CTS duration 的计算方式。事实上,802.11的规格书将 ACK帧中的duration 设定称为虚拟 CTS。
| Address 1 位:Receiver Address (接收端地址)
接收端地址是由所要应答的发送端帧复制而来。技术上而言,它是由所要应答帧的Address 2 位复制而来。应答主要是针对数据帧、管理帧以及 PS-Poll帧。
图1-7:非最终ACK帧的Duration 位
当一部移动工作站从省电模式中苏醒,便会发送一个 PS-Poll帧给接入点,以取得任何暂存帧。PS-Poll帧的格式如图 1-8 所示。
图1-8:PS-Poll帧
PS-Poll帧的 MAC标头由四个位构成:
| Frame Control(帧控制)
帧的subtype(次类型)位被设定为 1010,代表 PS-Poll帧。
| AID(连接识别码)
PS-Poll帧将会以 MAC标头的第三与第四 bit来代表连接识别码(association ID)。连接识别码是接入点所指定的一个数值,用以区别各个连接。将此识别码置入帧,可让接入点找出为其(移动工作站)所暂存的帧。
| Address 1 位:BSSID
此位包含发送端目前所在 BSS 的BSSID ,此BSS 建立自目前所连接的 AP。
| Address 2 位:Transmitter Address (发送端地址)
此为PS-Poll帧之发送端的 MAC地址
在PS-Poll帧中并未包含 duration 信息,因此无法更新 NAV。不过,所有收到 Ps-Poll帧的工作站,都会以短帧间隔加上发送 ACK信号所需要的时间来更新 NAV。此一自动调整机制使得接入点在发送 ACK信号时,比较不会与移动接入点发生碰撞。
【连接识别码(AID)在PS-Poll帧中,Duration/ID位是连接识别码,而非虚拟载波侦测功能所使用的数值。当移动工作站与接入点连接时,接入点会从1-2,007范围内指派一个值来做为连接识别码(AID)。】
数据帧会将上层协议的数据置于帧主体加以传递。图 1-9 显示了数据帧的基本结构。会用到哪些位,取决于该数据帧所属的类型。
图1-9 基本的数据帧
不同类型的数据帧可根据功能加以分类。其中一种方式,是将数据帧区分为竞争式服务及免竞争服务两种数据帧。只能在免竞争期间出现的帧,就不可能在IBSS(独立型基本服务组合)中使用。另一种区分方式,则是对携带数据与提供管理功能的帧加以区别。表1-1 显示了数据帧的分类方式。
表 4-1:数据帧的各种分类方式
Frame Control(帧控制)位各个 bit都可能影响到MAC标头其他位的解读方式。最值得注意的是那些地址位,它们的意义将因ToDS 及FromDSbit 的值而异。
Duration (持续时间)位用来记载网络分配矢量(NAV)的值。访问介质的时间限制是由NAV所指定。数据帧之 Duration 位的设定,必须依循四项规范:
1. 免竞争期间所传递的任何帧,必须将Duration 位设定为32768 。此规范适用于免竞争期间所传递的任何数据帧。
2. 目的地为广播或组播地址的帧(Address 1 位设定了群组 bit),其持续时间为 0。此类帧并非基本交换过程的一部分,接收端也不会加以应答,因此竞争式介质访问可以在广播或组播数据帧结束后立即开始。NAV在帧交换过程中是用来保护传输介质。既然广播或组播帧之后不会有来自链路层的应答,因此没有必要为后续帧锁住介质使用权。
3. 如果Frame Control位中的More Fragments bit 为0,表示该帧已无其余片段。最后的帧片段只须为本身的应答预订介质使用权,之后就可以恢复竞争式访问了。Duration位会被设定为发送一个短帧间隔及片段应答所需要的时间。整个过程如图 1-10 所示。倒数第二个片段的Duration 位,会为最后一个片段锁住介质使用权。
图1-10:最终片段的Duration 设定
4. 如果Frame Control位的More Fragmentsbit被设定为 1,表示其后还有帧片段。因此, Duration 位便会被设定为发送两个应答、加上三个短帧间隔及下一个帧片段所需要的时间。为非最终片段设定NAN 的方式本质上与 RTS 相同,所以亦称为虚拟RTS 。
图1-11:非最终片段的Duration 设定
地址位的编号与功能取决于设定了哪个 DS(分布式系统)bit,因此所使用的网络类型会间接影响到地址位的用法。表 1-2 列出了地址位在数据帧中的各种用法。只有无线桥接器才会使用第四个地址位,因此比较少见。
表 1-2:地址位在数据帧中的用法
Address 1 代表帧接收端的地址。在某些情况下,接收端即为目的地,但不总是这样。目的地是指负责处理帧中网络层封包的工作站;而接收端则是负责将无线电解码为 802.11帧的工作站。如果Address 1 被设为广播或组播地址,则必须同时检查 BSSID (基本服务组合识别码)。工作站只会应答来自同一个基本服务集(basic service set,简称 BSS )的广播或组播信息;至于来自其他不同 BSS 者则加以忽略。Address 2 是发送端的地址,用来发送应答信息。发送端就是源地址。源地址是指产生帧中网络层协议封包的工作站;而发送端则是负责将帧发送至无线链路。Address 3 位则是供接入点与分布式系统过滤之用,不过该位的用法,取决于所使用的网络类型。
由于IBSS 并未使用接入点,因此不会涉及分布式系统。发送端即为帧的源,而接收端即为帧的目的地。每个帧都会记载 BSSID ,因此工作站可以检查广播与组播信息。只有隶属同一个 BSS的工作站,才会处理该广播或组播信息。在 IBSS 中,BSSID 是由随机数产生器随机产生的。
BSSID
每个BSS都会被赋予一个BSSID,它是一个长度为48个bit的二进制识别码,用来辨识不同的BSS。BSSID的主要优点是,它可作为过滤之用。虽然不同的802.11网络彼此间可能重叠,但即使如此也不应该让相互重叠的网络收到彼此的链路层广播。
在 infrastructure BSS(基础架构型基本服务集)中,BSSID 就是建立该 BSS 的接入点上无线接口的MAC地址。而IBSS(独立型基本服务组合)则必须建立BSSID。方能产生网络。
为了让所建立的地址尽量不致重复,BSSID有46个bit是随机产生的。其所产生的BSSID,会将Universal/Local bit设定为1,代表这是一个区域地址,至 于vidual/Group bit则会设定为0。两个不同的IBSS,如果要产生相同的BSSID,它们所产生的46bit数必须完全相同。
有一个BSSID会被保留不用,就是所有bit均设定为1的BSSID,又称为广播型BSSID。使用广播型BSSID的帧,可以不被MAC中任何的BSSID filter所过滤。BSSID的广播只有在移动式工作站送出probe request(检测要求),试图找出有哪些网络可以加入时才会用到。probe帧要能够检测现存的网络,就不能被 BSSID filter过滤掉probe帧是惟一允许使用广播型BSSID的帧。
802.11对源与发送端以及目的地与接收端有明确的区分。将帧送至无线介质的发送端,不见得就是帧的产生者。目的地址与接收端地址同样有此区别。接收端可能只是中介目的地,而帧只有到达目的地,才会由较上层的协议加以处理。
图1-12 展示了一个简单的网络,其中有某个无线用户端通过 802.11网络连接至服务器。用户端将帧发送给服务器时,地址位的用法如表 1-2 第二列所示。
图1-12:将帧发送至服务器时,地址位的用法
如果帧的目的地位于分布式系统,则用户端既是源亦是发送端。至于无线帧的接收端则是接入点,不过该接入点只是个中介目的地。当帧送到接入点时,该帧会经分布式系统转送给服务器。因此,接入点是接收端,而服务器才是最后的目的地。在基础架构型网络里,接入点会以其无线接口的地址建立相应的BSS ,这就是为什么接收端地址(Address 1)会被设定为 BSSID 的原因。
当服务器应答用户端时,帧会通过接入点发送给用户端,如图 1-13 所示。这种情况相当于表1-2 的第三列。
图1-13:帧来自分布式系统时,地址位的用法
由于帧产生自服务器,所以服务器的 MAC地址即为该帧的来源地址(简称 SA)。当帧通过接入点转送出去时,接入点将会以自己的无线接口做为发送端地址(简称TA)。如同前一个例子,接入点的接口地址就是 BSSID 。帧最后会被送至用户端,此时用户端既是目的地又是接收端。
表1-2 的第四列展示了地址位在无线分布式系统(wireless distribution system 简称 WDS)中的用法。无线分布式系统有时也称为无线桥接器。如图1-14 所示,两条有线网络通过扮演无线桥接器角色的接入点彼此相连。从用户端送至服务器的帧会经过 802.11 WDS 。该无线帧的源与目的地址,依然对应到用户端与服务器的地址。不过,这些帧还是会区分无线接口上帧的发送端与接收端。对于由用户端送至服务器的帧而言,发送端就是用户端这边的接入点,而接收端就是服务器这边的接入点。将来源地与发送端分开的好处是,当服务器这边的接入点送出必要的 802.11应答给对方接入点时,不会干扰到有线链路层。
图1-14:无线分布式系统
802.11具有数种不同类型的数据帧。要使用何种帧,取决于服务是属于竞争式或免竞争式服务。基于效率上的考虑,免竞争帧中可以加入其他功能。只要改变帧的次类型,免竞争期间的数据帧即可用来应答其他帧,由此便可省去帧间隔以及一一应答所带来的负担。以下是常见的数据帧次类型:
| Data(数据)
子类型为 Data的帧,只有在竞争访问期间才会传输。这类简单的帧只有一个目的,亦即在工作站间发送帧主体。
| Null (空)
Null 帧看起来有点奇怪。它是由 MAC标头与 FCS 标尾所组成。在传统的以太网中,Null帧无非就是额外的负担;在 802.11网络中,移动工作站会利用 Null 帧来通知接入点省电状态的改变。当工作站进入休眠状态,接入点必须开始为之暂存帧。如果该移动式工作站没有数据要通过分布式系统传输,也可以使用 Null 帧,同时将 Frame Control(帧控制)位的 Power Management(电源管理)bit设定为1。接入点不可能进入省电模式,因此不会发送 Null 帧。Null 帧的用法,如图1-15 所示。此外尚有一些在免竞争期间使用的帧类型。不过,免竞争服务在实际上并不常见。
图1-15:次类型为Null 的数据帧
数据帧的形式取决于网络的形式。帧究竟属于哪种类型,完全取决于subtype(子类型)位,而与其他位是否出现在帧中无关。
在IBSS 中,所使用的 address 位有三种,如图 1-16 所示。第一个地址代表接收端,同时也是IBSS 网络中的目的地址。第二个地址是源地址。在这些地址之后,伴随而来的是 IBSS 的BSSID 。当无线 MAC收到一个帧时,首先会去检查 BSSID ,只有BSSID 与工作站相同的帧,才会交由上层协议加以处理。
图1-16:IBSS 数据帧
IBSS 数据帧的子类型不是 data 就是 Null ;后者只是用来告知目前的电源管理状态。
图1-17 显示了由接入点发送给移动工作站的帧格式。和所有数据帧一样,第一个位代表无线网络中接收该帧的接收端,亦即该帧的目的地。第二个位存放了发送端的地址。在基础网络中,发送端地址即为接入点(AP)上无线接口的地址,同时也是BSSID 。最后,该帧会记载帧的源MAC地址。区分源与发送端之所以必要,是因为 802.11 MAC 会将应答送给帧的 Transmitter(发送端AP),而较上层的协议会将应答送给帧的 source (来源地)。
图1-17:发送自接入点的数据帧
在802.11的规格书中并未明文禁止接入点发送 Null 帧,不过这么做并没有任何意义。因为接入点禁止使用省电程序,所以接入点只会应答来自工作站的 Null 帧,而不会在应答中使用 Null 帧。
实际上,在竞争式访问期间,接入点会使用 Data帧,而在免竞争期间则是使用包含 CF-Poll功能的帧。
图1-18 显示了,在 infrastructure (基础架构型)网络里,移动工作站发送给所连接接入点的帧格式。接收端地址(RA)为 BSSID 。在基础网络里,BSSID 即为接入点的 MAC地址。送至接入点的帧,其源/发送端地址(SA/TA )得自无线工作站的网络接口。接入点并未进行地址过滤的动作,而是使用第三个地址(DA ),将数据转送至位于分布式系统的适当位置。
图1-18:发送至接入点的数据帧
发送至分布式系统(Ds)的帧其 ToDS bit 会被设定为 1,而 FromDS bit会被设定为 0 。在基础网络中,移动工作站不能扮演中枢协调者(point coordinato)的角色,因此不能发送含有CF-Poll(免竞争一轮询)功能的帧。
当接入点被部署成无线桥接器(或者 VUDS )时,就会用到四个地址位,如图 1-19 所示。和其他数据帧一样,WDS帧会使用第一个地址(RA)代表 receiver (接收端),第二个地址(TA)代表Transmitter(发送端)MAC层会使用这两个地址送出应答以及控制流量,例如 RTS 、CTS以及ACK帧。另外两个地址位(SA与DA)则是用来记载帧的 source(源)以及 destination(目的)地址,并且将之与无线链路所使用的地址区别开来。
图1-19:WDS帧
在无线桥接链路中,通常不会存在移动工作站,也不会使用免竞争期间。接入点禁止进入省电模式,因此 power management (电源管理)bit必然设定为 0 。
受到链路层安全协议保护的帧并不算新的帧类型。当帧经过加密处理,Frames Control (帧控制)位的 Protected Frame bit会被设定为 1 ,至于帧主体,则是以加密标头起头,这取决于所使用的何种协议。
在802.11规格书中,管理所占据的篇幅最多。各式各样的管理帧,为的只是提供对有线网络而言相当简单的服务。对有线网络而言,识别一部工作站并非难事,毕竟控制中心与工作站之间必须通过布线方能建立连接。有时候,集线器的插座面板可加速网络的构建,不过重点还是在于:建立新的连接时,可通过人员进行身份认证。
无线网络必须建立一些管理机制,方能提供类似的功能。802.11将整个过程分解为三个步骤。寻求连接的移动工作站,首先必须找出可供访问的无线网络。在有线网络中,这个步骤相当于在墙上找出适当的网孔。其次,网络系统必须对移动工作站进行身份认证,才能决定是否让工作站与网络系统关联。在有线网络方面,身份认证是由网络系统本身提供。如果必须通过网线才能够取得信号,那么能够使用网线至少算得上是一种认证过程。最后,移动工作站必须与接入点建立关联,这样才能访问有线网络,这相当于将网线插到有线网络系统。
802.11管理帧的基本结构如图 1-20 所示。所有管理帧的 MAC标头都一样,这与帧的子类型无关。管理帧会使用信息元素(带有数字标签的数据区块)来与其他系统交换数据。
图1-20:管理帧的基本结构
和其他帧一样,第一个地址位是给帧的目的地址使用的。有些管理帧主要用来维护个别 BSS特有的属性。为了限制广播或组播管理帧所造成的副作用,收到管理帧之后,工作站必须加以验证,虽然不是所有实现均会进行这一 BSSID 过滤程序。只有在广播或组播帧来自工作站目前所连接的BSSID ,才会被送至 MAC管理层。惟一的例外是 Beacon帧,毕竟它是用来宣布 802.11网络的存在。BSSID 是以大家所熟悉的方式来指定的。接入点会以本身无线网络接口的MAC地址作为BSSID 。移动工作站会采纳目前所连接的接入点的 BSSID 。位于 IBSS 的工作站则会使用 BSS建立之初随机产生的 BSSID 。惟一的例外是:寻找特定网络的工作站,可以在所发出的帧中指定该特定网络的 BSSID ,或者使用广播型 BSSID 来寻找邻近所有的网络。
管理帧使用 Duration (持续时间)位的方式和其他帧没有两样:
1. 免竞争期间所发送的任何帧,均会将持续时间设为32,768。
2. 竞争式访问期间,利用DCF 所发送的帧会通过 Duration位防止别人访问介质。确保基本帧交换程序得以完成。
a.如果是广播或组播帧(目的地地址为群组地址),则持续时间会设定为 0。广播与组播帧无须得到应答,因此 NAV 无须防止别人访问介质。
b.如果不是最终片段,则持续时间会设为三个 SIFS期间加上下一个片段及其应答所需要的微秒数。
c.最终帧片段的持续时间会设定为一个应答加上一个 SIFS 所需要的时间。
管理帧十分具有弹性。帧主体中大部份的数据,如果使用长度固定的位,就称为固定式位;如果位长度不定,就称为信息元素(information element )。所谓信息元素,是指长度不定的数据区块。每个数据区块均会标注上类型编号与大小,各种信息元素的数据位都有特定的解释方式。新版的802.11规格书允许定义新的信息元素;根据旧版规格书所实现的产品可忽略这些新元素。实际上,硬件一般采取回溯相容(backward-compatible)原则,因此较旧的产品通常无法加入根据新标准所建立的网络。还好,新功能通常可以予以停用,以便兼容性。
除了探讨这些作为基本元件的固定式与信息元素,本节还会说明这些基本元件如何构成管理帧。802.11强制规定了这些信息元素的排列次序,不过并非所有元素均属于要。本书将以特定的顺序说明这些基本元件,论及各个次类型时,也会特别标明哪些元素比较少见,哪些元素彼此互不相容。
在管理帧中,可能出现的长度固定位有十种。长度固定的位一般简称为位,以便与长度不定的信息元素有所区别。位本身并无标头可与帧主体其他部份区别。因为长度与次序固定,因此不需要以位标头作为界定。
Authentication Algorithm Number位
Authentication Algorithm Number (身份认证算法编号)位占用了两个字节,如图 1-21 所示。此位代表连接发生之前 802.11层次(802.11-level)的最初认证程序所使用的认证类型。此位值的允许范围列于表 1-3。目前只定义了两种值。其他值保留给未来版本使用。
图1-21 :Authentication Algorithm Number(身份认证演算法编号)位
表1-3:Authentication Algorithm Number(身份认证算法编号)位的允许值
Authentication Transaction Sequence Number 位
身份认证过程分为好几个步骤,其中包含由接入点所发出的质询口令(challenge),以及试图关联的移动工作站所做出的应答。如图 1-22 所示Authentication Transaction Sequence Number(身份认证交易顺序编号)位是由两个字节所构成,用以追踪身份认证的进度。此位值介于1 到65,535直接,其值不可为 0 。
图1-22:Authentication Transaction Sequence Number(身份认证交易顺序编号)位
Beacon interval位
每隔一段时间就会发出的Beacon(信标)信号,用来宣布 802.11网络的存在。Beacon帧中除了包含BSS 参数的信息,也包含接入点暂存帧的信息,因此移动工作站必须仔细聆听Beacons 信号。Beacon interval (信标间隔)位的长度有 16个bit,用来设定 Beacon信号之间相隔多少时间单位。时间单位通常缩写为 TU,代表 1,024 微秒(microseconds),相当于一毫秒。有些文件中会以千一微秒(kilo-microseconds )[注]来表示时间单位。Beacon interval位通常会被设定为 100 个时间单位,相当于每 100 毫秒或0.1 秒发送一次 Beacon信号。
[注]千一微秒(kilo-microseconds)是相当奇怪的组合, 因为它以2的乘方来计算Kilo,而以较为常见的1/1000来表示micro。
图1-23:Beacon Interval (信标间隔)寺阑位
Capability information 位
图1-24 所示为长度 16个bit的Capability Information 性能信息位,发送Beacon信号的时候,它被用来通知各方,该网络具备哪种性能。Capability information 位也可以使用在 Probe Request 与Probe Response 帧。在本位中,每个 bit各自代表一个旗标,对应到网络所具备的某种特殊功能。工作站会使用这些公告数据来判断自己是否支持该 BSS 所有的功能。没有实现性能公告中所有功能的工作站,就无法加入该 BSS 。
图1-24:Capability Information(性能信息)位
l ESS/IBSS(扩展服务集/独立型塞本服务集)
这两个bit旗标彼此互斥(mutually exclusive)。接入点会将 ESS 位设定为 1,而将 IBSS 布位设定为 0,表示接入点属于基础网络的一部分。IBSS 中的工作站则会将 ESS 位设定为 0 ,而将IBSS 位设定为 1 。
| Privacy(私密性)
将Privacy bit 设定认1 ,代表需要使用 WEP以维持机密性。在基础网络中,发送端为接入点。在IBSS 里,Beacon信号必须由 IBSS 当中某部工作站负责。
| short Preamble (短同步信号)
802.11b 规格新增此位的目的,是为了支持高速直接序列扩频物理层( high-rate DSSS PHY)。将之设定为 1 ,代表此网络目前使用短同步信号(short preamble )。0 代表不使用此选项,并且在该 BSS 中禁止使用短同步信号。802.11g 规定使用短同步信号,因此在依循 802.11g 标准所建置的网络中,此位必然设定为 1 。
| PBCC (分组二进制卷积编码)
802.11b 规格新增此位的目的,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。将之设定为1 ,代表此网络目前使用的分组二进制卷积编码(packet binary convolution coding)调变机制,或是802.11g PBCC 调变机制。0 代表不使用此选项,并且在该 BSS 中禁止使用分组二进制卷积编码。
| Channel Agility(机动信道转换)
这一位加入802.11b 规格的目的,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。将之设定为 1 ,代表此网络使用机动信道转换(Channel Agility)选项。0 代表不使用此选项,并且在该 BSS 中禁止使用机动信道转换。
| Short Slot Time (802.llg )
此bit若设定为 1 ,代表使用 802.11所支持的较短的时槽。
| DSSS-OFDM (802.lIg )
此bit若设定为 1 ,代表使用 802.11g 的DSSS-OFDM 帧构建(frame construction)选项。
| Contention-free polling(免竞争轮询)bit
工作站与接入点使用这两个 bit(CF-Ppllable 与CF-Poll Request) 当作标签。这些标签的意义如表1 一4 所示。
表1-4:Capability Information(性能信息)位中 polling bit所代表的意义
Current AP Address 位
移动工作站可以使用图 1-25 所示的 Current AP Address (目前接入点的地址)位来表明目前所连接的接入点的 MAC地址。这个位的用途是便于连接(association )与重新连接(reassociation )的进行。工作站会借此发送上一次所连接的接入点的地址。当工作站打算与不同的接入点建立连接时,此位可用来转换连接,以及取回所有暂存的帧。
图1-25:Current AP Address (目前接入点的地址)位
Listen interval 位
为了节省电池的电力,工作站可以暂时关闭 802.11网络接口的天线。当工作站处于休眠状态,接入点必须为之暂存帧。休眠中的工作站会定期醒来聆听往来信息,以判断是否有帧暂存于基站。当工作站与接入点连接时,会将 Listen Interval(聆听间隔)记录下来。所谓 Listen Interval,其实就是以 Beacon interval(信标间隔)为单位所计算出的休眠时间。图 1-26 所示的Listen Interval ,让移动工作站得以要求接入点必须为它暂存帧多久的时间。聆听间隔越久,接入点就必须使用更多记忆体来暂存帧。接入点可以藉此项功能估计所需资源,以决定是否拒绝资源密集(resource-intensive)的连接。第八章会进一步描述 Listen Interval。
图1-26 :Listen Interval(聆听间隔)位
Association ID 位
图1-27 所示为长度 16bit的Association ID(连接识别码)位。当工作站与接入点连接时,就会被赋予一个连接识别码,用以协助控制与管理功能。虽然连接识别码可用 bit数为 14个bit,不过只有1-2007可以使用。为了与 MAC标头的Duration/ID位相容,最高效的两个 bit均被设定为1。
图1-27:Association ID(连接识别码)位
Timestamp位
图1-28 所显示的 Timestamp (时戳)位,可用来同步 BSS 中的工作站 BSS 的主计时器会定期发送目前已作用的微秒数。当计数器到达最大值时,便会从头开始计数。(对一个长度 64bit、可计数超过 580,000 年的计数器而言,很难会遇到有从头开始计数的一天。)
图1-28:Timestamp (时戳)位
Reason Code位
当对方不适合加入网络时,工作站会送出 Disassociation(解除关联)或 Deauthentication(解除身份认证)帧作为应答。这些帧当中包含一个长度 16bit的Reason Code(原因代码)位,表示对方的做法有误,如图 1-29 所示。表 1-5 列出了产生原因代码的理由。要完全了解原因代码的用法,必须对各种帧以及 802.11工作站的状态有所了解。
图1-29:Reason Code(原因代码)位
Status Code 位
状态代码用来表示某项过程成功或失败。Status Code (状态代码)位,如图 1-30 所示。如果某项过程成功,该位的值就会被设定为0 ,否则设为非零值。表1-6 列出了标准的状态代码。
图1-30:Status Code(状态代码)位
表4-6:状态代码
信息元素(information element )是管理帧的组成元件,其长度不定。信息元素通常包含一个Element ID(元素识别码)位、一个 Length(长度)位以及一个长度不定的位,如图 1-31所示。Element ID 编号的标准值如表 1-7 所示。
图1-31:一般管理帧的信息元素
表1-7:信息元素
网络管理人员通常比较喜欢跟文字、数字或名称打交道,而不是48个bit的MAC地址。广义的802.11 网络不是扩展式服务集(extended service set ),就是独立型基本服务集(independent BSS )。如图1-32 所示的 SSID,让网管人员为服务集(service set) 指定识别码。试图加入网络的工作站可以扫描目前区域所有网络,然后以特定的SSID加入。共同组成扩展式服务区域(extended service area )的所有基本服务区域(basic service areas )都会使用相同的SSID。
图1-32:SSID(服务组合识别码)信息元素
有些文件将SSID 视为网络名称,因为网管人员通常以字串来指定 SSID。其实,SSID 不过是由字节所形成的字串,用来标示所属网络的 BSSID 。有些产品要求此字串必须是以 null(即0 )结尾的 ASCII 字串,虽然标准对此并无特别规范。
SSID的长度介于 0 至32字节之间。如果完全不加指定,此种特例称为 broadcast SSID ; broadcast SSID 只用于 Probe Request 帧,工作站可以藉此找出该区域中所有的 802.11网络。
无线局域网络支持数种标准速率。802.11网络可以使用 Supported Rates(所支持的速率)信息元素指定其所支持的速率。当移动工作站试图加入网络,会先检视该网络所使用的数据速率。有些速率是强制性的,每部工作站都必须支持,有些则是选择性的。
图1-33:Supported Rates(所支持的速率)信息元素
Supported Rates 信息元素如图 1-33 所示。它是由一串字节所构成。每个字节会使用七个低效bit来代表数据速率;最高效 bit则是用来表示该数据速率是否为强制性。如果是强制性速率,最高效 bit为1 ;非强制性速率则为 0 。此信息元素最多可涵括八种速率。随着各种数据速率的增加,目前已将 Extended Supported Rates(扩展支持速率)元素标准化,以便处理八种以上的速率。
在802.11规格书最初的版本中,是以这七个 bit对数据速率进行编码,而数据速率为 500 kbps的倍数。新的技术,特别是 ETSI的HIPERLAN ,必须以不同的方式来解读。当这七个 bit用来编码数据速率时,每种编码均为500 kbps 的倍数,那么可编码的最高数据速率为63.5 Mbps。无线网络的进展,使得这个速率在不久的将来即可实现。因此,IEEE 在802.11b 中改用简单的标记来代表所支持的速率。先前已经标准化的速率,则根据 500 kbps倍数予以标记,不过未来的标准可能会有所更动。目前使用的标准值如表1-8 所示。
表1_8 :数据速率标记
图1-33显示了如何同时编码两种数据速率。除了支持强制性的 2Mbps 服务,也支持选择性的11Mbps 服务。
跳频参数组合信息元素如图 1-34 所示,其中包含了加入 802.11跳频(frequency-hopping)网络所需要的参数。在FH Parameter Set中有四个特别针对 802.11跳频式网络的位。
图1-34:PH Parameter Set(跳频参数集合)信息元素
Dwell Time (停留时间)
802.11 FH 网络会在信道与信道间跳跃。停留在每个信道上的时间称为 dwell time(停留时间)。停留时间是以时间单位(time units 简称 TUs )来表示。
Hop Set(跳频组合)
802.11跳频物理层定义了若干跳频模式(hopping patterns)。此位的长度为一个字节,代表所使用的跳频模式组合。
Hop Pattern(调频模式)
工作站从跳频组合中挑出一种跳频模式。此位的长度亦为一个字节,代表所使用的跳频模式。
Hop Index(跳频索引)
每种跳频模式均包含一组跳频顺序。此位的长度为一个字节,代表目前位于跳频顺序的哪一点上。
802.11直接序列(Direct-sequence)网络只有一个参数:网络所使用的信道数。高速直接序列网络使用相同的信道,因此可以使用相同的参数集合。信道数以一个字节进行编码,如图1-35 所示。
图1-35:DS Parameter Set(直接序列参数集合)信息元素
接入点会为处于休睡状态的工作站暂存帧。每隔一段时间,接入点就会尝试传递这些暂存帧给休眠中的工作站。如此安排的理由是,启动发送器比启动接收器所耗费的电力还要多。802.11的设计者预见未来将会有以电池供电的移动工作站;定期发送暂存帧给工作站的这个决定,主要是为了延长设备的电池使用时间。将 TIM(数据待传指示信息)信息元素送到网络上,指示有哪些工作站需要接收待传数据,只是此过程的一部分。
图1-36 :Traffic Indication Map(数据待传指示信息)信息元素
TIM 的内容是虚拟 bit对映(virtual bitmap),这是由 2,008 个bit所组成的逻辑结构。每个bit分别对映到一个连接识别码(Association ID)。当某个识别码有数据暂存时,相应的 bit就会设成 1 ,否则会设成 0。
DTIM Count(DTIM计数)
此位的长度为一个字节,代表下一个 DTIM(数据待传指示传递信息)帧发送前,即将发送的Beacon帧数。DTIM帧用来表示所暂存的广播与组播帧即将被发送。并非所有
Beacon帧均为 DTIM帧。
DTIM Period(DTIM期闲)
此位的长度为一个字节,代表两个 DTIM帧之间的 Beacon interval数。0 值目前保留未用。DTIM会由此期间倒数至 0。
Bitmap Control(bit对映控制)与 Partial Virtual Bitmap(部分虚拟 bit对映)
Bitmap Control (bit对映控制)位可进一步划分为两个次位。Bit 0用来表示连接识别码0 的待传状态,主要是保留给组播使用。其他七个bit则是保留给 Bitmap Offset(bit对映偏移)次位使用。
为了节省频宽,可以通过 Bitmap Offset次位,只发送一部分的虚拟 bit对映。Bitmap Offset 是相对于虚拟 bit对映的开头处。利用 Bitmap Offset次位及 Length位,802.11工作站可以推断虚拟 bit对映有哪些部分包括在内。
CF Parameter Set(免竞争参数组合)
信息元素出现在支持免竞争接入点所发送的 Beacon帧中。免竞争服务并非必要,因此留待第九章讨论。
IBSS 目前只有一个参数,即 ATIM window (数据待传指示通知信息间隔期间),如图1-37所示。此位只用于 IBSS Beacon 帧,用来表示 IBSS 中ATIM帧之间相隔时间单位数量。
图1-37:IBSS 参数集合信息元素
802. 11 规格书原本是针对主要工业化国家现有的管制规定所设计。为了避免每新增一个国家就得重新修订规格,因此在规格书中加入新的规定,让网络能够提供管制规范给新加入的工作站。这一机制的核心,就是 Country 信息元素,如图 1-38 所示。
图1-38 :Country 信息元素
在type/length 信息元素标头之后的是国家识别码(country identifier),之后是一系列由三个字节所构成的限制描述符(three-byte descriptor )。每组限制描述均注明特定频段,它们彼此不会重覆,因为每个特定频率只会有一个最大允许功率。
Country String(国家字串,三个字节)
由三个字符所构成的 ASCII 字串,代表工作站的使用国家。前两个字符即 ISO 国码(例如US代表美国)。有些国家对室内与室外有不同的管制规定,第三个字符即是用来区别两者。如果室内外的管制规定相同,第三个字符则为空白。如果只想指定室内或室外管制规定,可以分别将第三个字符设为 I 或O。
First Channel Number (第一信道编号,一个字节)
第一信道编号即是符合功率限制的最低信道。
Number of Channels(信道数,一个字节)
符合功率限制的频段大小,是由信道数来指定。信道大小随 PHY而有所不同。
Maximum Transmit Power(最大传输功率,一个字节)
最大传输功率,以 dBm为单位。
Pad (补零码,一个字节;可有可无)
信息元素所使用的字节必须刚好是偶数。如果信息元素的长度恰为奇数,就必须用一个字节补零。
是根据设计当时的管制规定所制定。这两个元素可以用来制定新的跳频模式,以便符合其他国家的管制规定。如此一来,若要采用不同的跳频物理层,就不需要进一步修订规格书了。
在Probe Request 帧中,Request 信息元素(图 1-39 )用来向网络查询特定的信息元素。Request 信息元素本身具备 type/length 标头,以及一连串所要查询的信息元素编号。
图1-39:Request 信息元素
802.11所定义的共享密钥身份认证系统。会要求移动工作站必须成功解码一段加密过的质询口令。这段质询口令的发送系通过 Challenge Text(质询口令)信息元素,如图 1-4o 所示。
图1-40:Challenge Text (盘问口令)信息元素
Power Constraint(功率限制)信息元素让网络得以向工作站传达其所允许的最大传输功率。
除了管制上的最大值,另外还有实际使用上的最大值。此信息元素只有一个位,长度为一个字节,其中所记录的整数值,乃是管制上的最大值减去实际使用上的最大值,以 dBm为单位。例如,假设管制上允许的最大功率为 10 dBm,但是此信息元素值为 2 ,那么此工作站就会将本身的最大传输功率设为 8 dBm (图 1-41 )。
图1-41:Power Constraint (功率限制)信息元素
802.11 工作站通常以电池供电,在无线电波的性能上无法与接入点相提并论。另外部分原因是,移动工作站通常不需要像接入点那样以高功率进行传输。Power Capability(功率性能)信息元素让工作站得以报告本身最低与最高的传输功率,以 dBm为单位(图 1-42 )。
图1 _42:Power Capability(功率性能)信息元素
Transmit Power Control(发射功率控制,简称 TPC )Request 信息元素用来要求无线电波链路管理信息。此信息元素并无其他附属数据,因此长度位必然为 0 (图 1-43) 。
图1-43:TPC Request 信息元素
知道整个链路的衰减情况,可以帮助工作站了解该如何调整传输功率。TPC Report信息元素散见于各种管理帧,由两个长度各为一字节的位所构成(图 1-44 )。第一个位代表传输功率,亦即包含此信息元素帧的传输功率,以 dBm为单位。第二个位代表链路边际(link margin) ,亦即工作站所提出的安全边际值,同样以 dBm为单位。工作站将会根据这两个值来调整本身的传输功率。
图1-44:TPC Report信息元素
Supported Channels(所支持的信道)信息元素与 Country 信息元素类似,用来记载所支持的子频段。在标头之后的是一系列子频段的描述符(sub-band descriptor )。每组子频段描述符由第一信道编号,亦即所支持子频段中的最低信道,以及子频段的信道数所组成(图 1-45 )。举例来说,如果装置只支持信道 40至52,那么第一信道编号即为 40,信道数则为 12。
图1-45 :Supported Channels(所支持的信道)信息元素
802.11h 为网络加入了动态切换信道的能力。为了警告网络中的工作站即将变换信道,可以在管理帧中加入如图 1-46 所示的Channel Switch Announcement (信道切换宣布)信息元素。
图1-46:Channel Switch Announcement (信道切换宣布)信息元素
Channel Switch Mode(信道切换模式)
当信道改变,通讯会突然中断。如果此位设定为 1 ,已连接的工作站就会停止发送帧,直到信道切换完成。如果设定为 0,则帧的发送就不受限制。
New Channel Number (新信道编号〉
切换后的新信道编号。目前,此位的值尚不需要超过 255 。
Channel Switch Count (信道切换计时)
信道切换可以预先排定时程。此位记载再过多少 Beacon帧间隔后进行信道切换。信道切换会在发送 Beacon帧之前进行。非 0 值代表等待多少个 Beacon间隔;0 值代表信道切换可以立刻进行,无须多作警告。
信息元素对于信道与功率设定的监控而言,定期进行信道测量十分重要。为了让工作站能够提出测量要求与接收测量报告,因此定义了这两种信息元素。
开发动态选频的理由之一是为了避免与特定的军事雷达技术彼此干扰。要找出是否有雷达或其他干扰源存在,接入点可以使用 Quite信息元素,暂时关闭该信道,以改善测量的质量,如图1-47 所示。
图1-47 :Quiet信息元素
在标头之后有四个位:
Quiet Count(禁声计时)
禁声期可以预先排定时程。此位记载再过多少 Beacon间隔后开始进入禁声期。它的运作方式类似 Channel Switch Count 位。
Quiet Period(禁声期)
禁声期也可以预先排定周期。如果此位值为 0 ,代表没有预先排定的禁声期。非 0 值代表每段禁声期间相距多少 Beacon间隔。
Quiet Duration(禁声持续时闲)
禁声期不见得要持续一整个 Beacon间隔时间。此位用来指定禁声期打算持续多少个单位时间。
Quiet Offset(禁声偏移时间)
禁声期不见得始于某个 Beacon间隔。此位用来指定 Beacon间隔开始后经过多少单位时间后开始进入下一个禁声期。这个值必须小于 Beacon间隔时间。
在基础型网络里,是由接入点负责动态选频。至于独立型网络,则必须指定由谁进行动态选频(dynamic frequency selection,简称 DFS)算法。在 IBSS 中负责动态选频的工作站可以在管理帧中传递 IBSS DFS 信息元素,如图 1-48 所示。
图1-48 :IBSS Dynamic Frequency Selection (DFS) 信息元素
紧跟在标头之后的是负责管理 DFS信息之工作站的 MAC地址,以及测量间隔。之后就是一系列的信道对映表,用来报告在每个信道监测到什么东西。信道对映表由一个信道编号,以及一个对映字节所构成,其中包含下列位:
BSS (一个bit)
如果在测量期间侦测到来自其他网络的帧,则此 bit会被设定。
OFDM Preamble(一个 bit)
如果侦测到802.11a 的短调整序列(short training sequence ),但其余的帧并未追随其后,则此 bit会被设定。HIPERLAN/2 网络采用的是一样的同步信号,但显然使用不同的帧结构。
unidentified Signal(一个 bit)
当所接收到的信号功率颇高,但无法分辨此信号究竟来自另一个 802.11网络(因此要设定BSS bit)、另外一个 OFDM 网络(因此要设定 OFDM Preamble bit)或是一个雷达信号(因此要设定 Radar bit),则此 bit就会被设定。标准当中并没有明确规范功率必须高到何种程度,才可以设定本 bit。
Radar (一个 bit)
如果在测量期间监测到雷达信号,则此 bit会被设定,必须监测哪些雷达系统,由管制当局定义,而非 802.11任务小组。
Unmeasured(一个bit)
如果未曾测量该信道,则此 bit会被设定。如果未曾测量,当然也就监测不到任任何东西,因此上述四个 bit均会被设定为 0 。
802.11g 定义了扩展速率物理层(extended rate PHY,简称ERP)。为了兼容早期产品,另外定义了ERP信息元素,如图 4-49 所示。在最初的定义里,它相当于一个字节中的三个 bit旗标。
Non-ERP present (无 ERP信息)
当比较老旧、非802.11g 的工作站与网络连接,就会设定此 bit。如果监测到相邻网络无法使用 802.11g ,也会设定此 bit。
Use Protection(使用防护机制)
当网络中出现无法以802.11g 数据速率运作的工作站,此防护 bit就会被设定为1 。如此一来就可以兼容比较老旧的工作站。
Barker Preamble Mode(Barker 同步信号模式)
如果连接到网络的工作站没有能力使用第十二章所描述的短同步信号模式,则此 bit就会被设定。
图1-49:ERP信息元素
既然802.111 大幅改善了安全性,因此有必要开发一种方式,让工作站之间得以彼此交换安全性信息。用来达成此一目标的主要工具即是 Robust Security Network(强健安全网络,简称RSN)信息元素,如图 4-50 所示。其中包含几种可能变动的成份,在某些情况下,就算不计标头,RSN信息元素也有可能超出信息元素 255 个字节的限制。
Version(版本)
Version 属于必要位。802.111 定义了版本 1 。0 则保留未用,版本 2 以上则尚未定义。
Group cipher suite(群组密码锁集合)
紧跟版本编号之后的是 group cipher suite(群组密码锁节后)描述符。接入点必须从中选择一种相容于所有已连接工作站的群组密码锁,以便保护广播与组播帧。同时间只允许选择一种群组密码锁。
图1-50 :Robust Security Network (RSN)信息元素
密码锁集合选项(cipher suite selector) 的长度为四个字节,由厂商的 OUl 以及代表密码锁的编号所组成。标准化的密码锁集合如表 1-9 所示。(未出现在该表的值,代表保留未用。)802.11i所使用的 OUI 为00-OF-AC,为 802.11工作小组所拥有。
表1-9:密码锁集合
Pairwgse Cipher Suites (count+list) 〔成对密码锁集合(计数+列表)〕
除了群组密码锁集合,必然要有一些用来保护单点传播帧的成对密码锁集合。它是由两个字节的计数,以及一系列其所支持的密码锁描述符所组成。密码锁集合选项(cipher suite selector )可以设定为 0 ,代表只支持群组密码锁集合。除了信息元素的大小之外,支持多少成对密码锁并无限制。
Authentication and Key Management (AKM) suites (count +list) 〔身份认证与密钥管理集合(计数+列表)〕
和成对密码锁集合选项(pairwise cipher suite selector) 一样,目前也存在好几种身份认证类型。它是由计数,以及一系列四个字节的识别码所构成。和密码锁集合一样,由四个字节所构成的识别码,包含了一个 OUl 以及一组类型编号。标准的身份认证类型,
如表4-10 所示。
表4-10 :份认证与密钥管理组合
RSN Capabilities(RSN性能)
此位的长度为两个字节,由四个旗标构成,用来描述发送端的能力,其后的 bit保留未用,必须设定为 0。
Pre-authentication(事先身份认证)
接入点可以设定此bit,代表它可以和网络中其他接入点进行事先身份认证,以便安全地转移连接事宜。否则,此 bit会被设定为 0 。
No Pairwise(无成对密钥)
如果工作站除了较牢靠的单点传播密钥(unicast key ),也支持手动设定的 WEP密钥,以做为广播数据之用,则此 bit就会被设定。虽然工作站支持但除非绝对必要,否则不会使用这种配置设定。
Pairwise Replay Counter (成对重演计数器)与 Group Replay Counter (群组重演计数器)
在逐渐浮出台面的服务质量扩展功能中,每个优先程度可以拥有好几个不同的重演计数器。这些bit用来描述工作站所支持的重演计数器数量。
PMK list(count+list) 〔PMK列表(计数+列表)〕
如果接入点快取成对主钥(pairwise master key ),就可以在接入点间进行快速换手。工作站可以在进行连接时提供接入点一串主钥,如此就可以免除费时的身份认证程序。
Extended Supported Rates 信息元素的作用和图 1-33 的Supported Rates 元素没有两样,不过它允许信息元素的内容超过 25多个字节。
Wi-Fi访问保护从 802.11i 中抽出部分功能并稍做修改,目的是为了尽快将 TKIP推到市场上。它相当于图 1-50 的Robust Security Network 信息元素,不过做了以下变动:
• 元素识别码(element ID)为 221,而非 48。
• WPA 特有的 00:50:F2:01 标记被安插于版本位之前。
• 使用微软(00:50:F2)而非 802.11 工作小组的 OUI。
• 此信息元素只支持一种密码锁集合〈cipher suite〉以及一种身份认证组合
(authentication suite)。不过,有些 WAP 实作并未遵照此项限制。
• 使用 TKIP(而非 CCMP)做为预设的密码锁。
• WPA 不支持事先身份认证,因此 preauthentication capabilities bit 必然设定为0。
管理帧的主体所包含的固定位与信息元素是用来运送信息。管理帧有好几种分别负责链路层各种维护功能。
Beacon帧是相当重要的维护机制,主要用来宣告某个网络的存在。定期发送的信标,可让移动工作站得知该网络的存在,从而调整加入该网络所必要的参数。在基础型网络里,接入点必须负责发送 Beacon帧。Beacon帧所及范围即为基本服务区域。在基础型网络里,所有沟通都必须通过接入点,因此工作站不能距离太远,占则便无法接收到信标。
图1-51依序显示了 Beacon帧所使用的各个位。信标并不全然会用到所有位。选择性位只有在用到时才一会出现。只有在使用跳频(frequency hopping ,简州FH)或直接序列(direct-sequence,简称DS)物理层技术时,才会用到 FH与DS参数组合。任何时候只能使用一种物理层,因此 FH与DS参数组合是彼此互斥的。
CF参数组合只用于支持 PCF 的接入点所产生的帧中,至于是否支持 PCF并非强制 PCF的TIM 只用于接入点所产生的 Beacon帧中,因为只有接入点才会暂存帧。如果有特定国家的跳频扩展元素,则必然随附在 Country 信息元素之后。不过,跳频网络至今已不常见,同样地,若是出现 IBSS DFS 元素,则其必然位于 Quiet与TPC Report元素之间。
图1-51:Beacon(信标)帧
移动工作站将会利用 Probe Request (探测请求)帧,扫描所在区域内目前有哪些 802.11网络。Probe Request 帧的格式如图 1-52 所示。所有位均为必要。
图1-52:Probe Request (探测请求)帧
Probe Request 帧包含两个位:SSID以及 Supported Rates(移动工作站所支持的速率)。收到Probe Request 帧的工作站会据此判定对方能否加入网络。为了相处愉快,移动工作站必须支持网络所要求的所有数据速率,并以 SSID表明所欲加入的网络。SSID可设定为特定网络的SSID,或设定为任何相容网络的 SSID。允许网卡加入任何网络的驱动程式,将会在 Probe Requests中使用 broadcast SSID (广播形式的服务集合识别码)。
如果Probe Request 帧所探测的网络与之相容,该网络就会以 Probe Response 帧应答。送出最后一个 Beacon帧的工作站,必须负责应答所收到的探测信息。在基础架构型网络里,负责应答的工作站即为接入点。在 IBSS 当中,工作站会彼此轮流发送 Beacon信号。发送 Beacon信号的工作站必须负责发送 Probe Response帧,直到下一个 Beacon被发送出来。Probe Response帧的格式如图 1-53 所示。其中某些位彼此互斥;此规则同样适用于 Probe Response以及 Beacon帧。
图1-53:Probe Response(探测响应)帧
Probe Response帧中包含了 Beacon帧的所有参数,移动工作站可据以调整切入网络所需要的参数。Probe Response帧可以剔除 TIM 元素,因为此时工作站尚未建立连接,因此不必知道哪些连接在接入点中有暂存帧。
HISS 中没有接入点,因此无法仰赖接入点暂存帧。IBSS 中的工作站如果为处于休眠状态的接收者暂存帧,就会在递送期间送出一个 ATIM帧,通知对方有信息待阵,如图 1-54 所示。
图1-54:ATIM帧
Disassociation(解除关联)帧用来终结一段关联关系,而 Deauthentication(解除认证)帧则用来终结一段认证关系。两者均包含一固定位,Reason Code(原因代码),如图 1-55 所示。当然,Frame Control位彼此不同,因为不同类型的管理帧拥有不同的次类型。802.11改版并不需要改变这一格式,但几次修订均加入了新的原因代码。
图1-55:Disassociation(解除关联)与Deauthentication(解除认证)帧
一旦移动工作站找到相容网络并且通过身份认证,便会发送 Association Request(关联请求)帧,试图加入网络。Association Request帧的格式如图 1 一56所示。
图1-56:Association Request(关联请求)帧
Capability Information(性能信息)位用来指出移动工作站所欲加入的网络类型。在接受连接要求之前,接入点会验证 Capability Information 、SSID 以及(Extended)Supported Rated等位是否符合网络参数。此外,接入点也会记录工作站所使用的 Listen Interval(聆听间隔;即移动工作站每隔多久聆听一次 Beacon帧,以监视 TIM 信息)。支持频谱管理的工作站具备power(功率)与 channel(信道)性能信息元素,支持安全防护的工作站则具备 RSN信息元素。
位于相同扩展服务区域,但在不同基本服务区域之间游走的移动工作站,若要再次使用分布式系统,必须与网络重新关联。如果工作站暂时离开接入点所涵盖的范围,之后要重新加入的时候,也必须重新关联。如图 1-57 所示。
图1-57 :Reassociation Request(重新关联请求)帧
association Request (关联请求)与 Reassociation Request(重新关联请求)之间的差别在于,后者包含移动工作站目前所关联之接入点的地址。拥有这项信息可让新旧接入点彼此联系,以及交接关联数据。交接项目包括先前关联之接入点所暂存的帧。
当移动工作站试图关联接入点时,接入点会回覆一个 Association Response(关联响应)或Reassociation Response(重新关联响应)帧,如图小 58所示。两者之间的差别,在于 Frame Control位所记载的 subtype 位。所有位均属必要。在应答的过程中,接入点会指定一个 Association ID (关联识别码),至于指定的方式则因实作而异。
图1-58:(Re)Association Response (〔重新〕关联响应)帧
802.11网络发展初期,工作站是使用共享密钥以及图4-59 所示的 Authentication帧进行身份认证。到了 802.11i,共享密钥身份认证虽然仍保留在标准当中,但却无法与新的安全机制相容。如果工作站使用共享密钥身份认证,将不允许使用较为牢靠的安全性协议。
图1-59:Authentication(身份认证)帧
不同的身份认证算法可以同时存在。Authentication Algorithm Number(身份认证演算法编号)位用于选择演算法。整个认证程序可能包含好几个步骤(与所使用的算法有关),因此认证的过程中每个帧都有其序号。Status Code 与Challenge Text 的用法因算法而异。
802.11h 加入了 Action 帧的支持,用来触发测量动作。
所能发送的帧类型,依连接状态与身份认证状态而有所不同。工作站可能已经认证或未经认证,也可能己经连接或尚未连接。这两个变数的组合有三种可能状态,结果构成了 802.11的网络发展层级:
1. 初始状态;未经认证且尚未关联
2. 已经认证但尚未关联
3. 已经认证且已经关联
每种状态分别对应到 802.11连接的发展阶段。一开始,移动工作站处于状态 1 ,只有进入状态3 才可以通过传输系统发送数据。(IBSS 不包含接入点,也无须进行关联,因此只会停留在状态2。)802.11帧传输的整体状态图,如图 1-60 所示。
图1-60:802.11整体状态图
帧可以被划分为三种等级。在状态 1 可以传递第 1 级帧;在状态 2 可以发送第 1 与2 级帧;在状态3 则可以传递第 1 、2 与多级帧。
第1 级帧
第1 级帧可以在任何状态中传递,它让802.11的工作站得以进行基本作业。在IBSS 当中,控制帧主要用来依循 CSMA/CA 规则,以及发送帧。工作站也会使用第 1 级帧来找寻基础型网络,并与之进行身份认证。表 1-11 列出了属于第 1 级的各种帧。
表1-11 :第 1 级帧
第2 级帧
工作站只有在经过身份认证之后,方能够发送第 2 级帧,而且第 2 级帧只能使用于状态 2与状态3。2 级帧主要用来管理关联。关联或重新关联成功后,工作站就会进入状态 3 ;如果关联失败,则工作站依然处于状态 2。工作站收到未经认证的作站所传来的第 2 级帧时,就会应答一个Deauthentication(解除认证)帧,将对方推回状态 1 。表 1-12 列出了所有的第 2 级帧。
表1-12 :第 2 级帧
第3 级帧
第3 级帧的使用时机,是在工作站认证成功并与接入点关联之后”一旦工作站进入状态3,就可以使用分布式系统服务,也可以和接入点范围以外的对象进行通讯。在状态 3,工作站还可以利用PS-Poll帧享受接入点所提供的省电服务。表手 1-13列出了不同类型的第 3 级帧。
表1-13 :第多级帧
如果所收到的帧,来自一部已经验证但尚未关联的工作站,接入点就会应答一个Disassociation(解除关联)帧,迫使工作站回到状态 2 。如果发出帧的工作站尚未经过验证,则接入点会应答一个 Deauthentication(解除认证)帧,迫使工作站回到状态 1 。
大部分的传输均采用 DCF(分布式协调功能),DCF提供了类似以太网的标准竞争式服务。DCF允许多部独立的工作站彼此互动,无须通过中央管控,因此可以运用于 IBSS 网络或基础型网络。
试图传送任何数据之前,工作站必须检查介质是否处于闲置状态。若处于忙碌状态,工作站必须延迟访问,并利用指数型退避(orderly exponential backoff )算法来避免碰撞发生。
我们可从802.11 MAC 的规则中归纳出一组常使用的基本规则,其他额外规则的应用则视状况而定。在所有使用 DCF的传输当中,将会运用到两项基本原则:
1. 如果介质闲置时间长于 DIFS,便可立即进行传输。载波监听同时可通过物理与虚拟(NAV)方式进行。
a. 如果之前的帧接收无误,介质至少必须空出一段 DIFS 时间。
b. 如果之前的传输出现错误,介质至少必须空出一段 EIFS 时间。
2.如果介质处于忙碌状态,工作站必须等候至频道再度闲置。802.11 称之为访问延期。一旦访问延期,工作站会等候介质闲置一段 DIFS时间,同时准备指数型退避访问程序。
在特定状况下,会应用到一些额外的规则。其中有一些规则取决于”线上”的特殊状况,与之前传送的结果有关。
2.1. 错误复原(error recovery)属于传送端的责任。 传送端预期每个帧均应收到应答信息,而且必须负责重传,直到传送成功为止。
a. 只有收到正面应答讯息,才表示传送成功。基本交换操作必须完成才算成功。如果某个预期的应答迟迟未到,传送端即会认定其已丢掉,必须加以重送。
b. 所有单点传播数据必须得到应答。(因此,即使无线电波链路本质上属于广播介质,相较于广播数据,单点传播数据基本上还是具备较高的服务质量。)
c. 只要传送失败,重传计数器就会累计,然后重新加以传送。传送失败有可能是因为访问介质失败,也可能是因为得不到应答。不论如何,重传时会等待一段较长时间。
2.2 .涉及多个帧的传送,可以在传输过程的每个步骤更新 NAV。当所收到的介质预定时间比目前的NAV还长时,工作站即会更新 NAV。设定NAV的方式是以个别的帧为基准。
2.3 .以下的帧类型可在SIFS 之后传输,因此优先程度较高:应答(acknowledgment)、RTS/CTS交换程序中的 CTS ,以及分段程序中的帧片段。
a .一旦传送出第一个帧,工作站就会取得频道的控制权。以后帧及其回应均可使用SIFS进行传送,以锁定频道不被其他工作站使用。
b .传送中,后续帧会将 NAV更新成该介质预计使用的时间。
2.4 .如果较高层的封包长度超过所设定的门限,必须使用扩展帧格式。
a .长度超过 RTS门限的封包,必须使用 RTS/CTS交换程序。
b .长度超过分段门限的封包,必须加以分段。
错误监听与更正是由起始基本帧交换过程的工作站来决定。一旦监听到错误,该工作站必须负责重传。错误监听必须由传送端负责。有时候传送端可根据应答的有无,推论帧是否已经漏失。只要帧被重传,重传器就会累计。
每个帧或帧片段就会分别对应到一个重传计数器。工作站本身具有两个重传计数器:短帧重传计数器与长帧重传计数器。长度小于 RTS门槛值的帧视为短帧;长度超过该门槛值的数据则为长帧。根据帧的长度,将会分别对应到长短帧重传计数器。帧重传计数由 0 算起,只要帧传送失败即加以累计。
短帧重传计数器会在下列情况发生时归零:
| 之前传送的 RTS 得到CTS的应答时
| 之前传送的未分段帧得到 MAC层的应答时
| 收到广播或组播的帧时
长帧重传计数器会在下列情况发生时归零:
| 之前传送的帧大于 RTS门限值,并且得到 MAC层的应答时
| 收到广播或组播的帧时
除了响应的重传计数器,MAC会赋予每个帧片段最长的『存活期』。传送出第一个帧片段之后,存活计数器随即启动。一旦超过存活时间,该帧便会被丢弃,因此不会重传其余的帧片段。当然,上层协议也可能监听到数据漏失予以重传。不过当上层协议(如 TCP)重传数据,实际上传给802.11MAC的乃是新的帧,所有重传计数器也会归零重新计算。
和大部分其他的网络协议一样,802.11是通过重传机制来提供可靠性。数据传送是通过基本次序,整个过程必须完成才算传送成功。当工作站传送帧时,必须得到接收端的应答,否则便认为传送失败。若传送失败则与该帧或帧片段响应的重传计数器累加。如果达到重传限制,该帧随即被丢弃,并将此状况告知上层协议。
之所以要有短帧和长帧,其中一个原因是为了让网络管理人员利用不同长度的帧来调整网络的稳定性。长帧需要较多的缓存空间,所以两种不同重传限制的一个潜在应用,就是放宽长帧的重传限制,以减少所需要的缓存空间。
当帧传送完成并且经过一段 DIFS时间,工作站便会试图传送之前拥塞的数据。DIFS之后所紧接的一段时间,称为竞争期间或退避期间。此期间可进一步分割为时槽(slot)。时槽长度因介质而异。速度较高的物理层会使用较短的时槽。工作站会随机挑选某个时槽,等候该时槽到来以便访问介质。所有时槽的选择机会均等。当多部工作站同时试图传送数据,挑到第一个时槽(亦即取得最小随机号码)的工作站可以优先传送。根据 802.11标准,所有这些时槽号码不应有所差异。唯一值得注意的例外,详见本章稍后有关『spectralink 语音优先性』的相关说明。
要在无线网络上支持语音应用必须面临的挑战之一,就是语音对于网络服务品质的敏感性,远高于数据方面的应用。假设某图形有 1500个bit组的数据迟延了十分之一秒,那就令人无法忍受了。
要在IP 网络上提供高质量的服务已经相当困难。换成无线局域网络,那更是难上加难。以无线局域网络设计语音网络时,工程师遇到的主要问题在于,无线局域网络对所有数据均一视同仁。假设有一个短语音帧和一个长数据帧,此时无线局域网络并不会特别偏爱哪个帧。Spectralink是一家802.11手持电话制造商,该公司制定了一组特殊的协议延伸功能,称为Spectralink 语音优先性(Spectralink Voice Priority,简称 SVP ),该网络更适合用来传输语音。基站与手机当中均包含SVP 元件,让语音享有高于数据的优先性,同时在基站中管理语音通话过程。不论是从基站下行或者自手机上行的语音通话,均由 SVP 协助管理。
要支持SVP ,基站必须以零延后机制传递语音帧。选取延后时槽的时候,支持SVP 的基站并未依循 802.11标准,而是选择编号为零的时槽。竞争无线介质的时候,取得零延后时槽的语音帧将具备实质的优先性,因为数据帧所取得的时槽编号必定大于零。严格来讲,采用零延后机制的工作站已经不算相容于 802.11,因为它以固定的方式强迫取得特定的延后时槽。(不过,为了维持高度负载时的网络稳定性,重传的语音帧必须依循延后规则。)通过零延后机制,支持SVP 的基站可以确保语音帧能够优先访问介质。同时,这类基站也必须能够追踪语音帧,以及提供优先队列的处置。SVP 要求语音帧必须被置于传送队列的最前面。基站可以用不同的方式来提供传输队列,重要的是其所提供的功能,必须将语音帧移置传送队列的最前面。有些基站可能只有一个传送队列,此时语音帧会被置于队列的最前面。有些基站会使用多个传送队列,其中将会由一个队列专门用来传送高优先的语音帧。
如同以太网,每当传输失败时,便会从一个范围中挑选出退避时间。图1.7 以DSSS(直接序列展频)物理层为列,显示当传送次数增加,竞争期间随之增长的情况。不同物理层会使用不同大小的延后时间,不过原则是相同的。竞争期间的大小通常是 2 的指数倍数减 1 (例如11, 61,127 ,255 )。每当重传计数器累增,竞争期间即以移至下一个 2 的指数倍数。竞争期间的大小受到物理层的限制。例如,DS物理层限制竞争期间最多 1021个传输时槽。
当竞争期间达到最大极限时,就会维持在该数字,直到被重新设定。允许使用较长的竞争期间,可以在多部工作站同时试图访问介质时,保持 MAC验算法的稳定,就算负载极大。当帧传送成功,竞争期间即被重设为最小值,如果到达重传计数器上限,该帧则随即被丢弃。
图 1-7:DSSS(直接序列展频)的竞争期间
来自较上层的封包,以及某些较大的管理帧,可能必须经过分段,无线频道才有办法加以传输。当干扰存在时,分段封包同时有助于提升可靠性。利用帧的分段,无线局域网络的工作站可将干扰局限于较小的帧片段,而非较大的帧。由此降低可能受干扰的数据量,帧分段可以提高整体的有效传输量。干扰可能有不同来源。虽然并非全部,还是有些微波炉会对2.4GHZ 网络造成干扰。从交流电振幅升起到下降这段时间,电磁管会产生电磁辐射,因此会有一半时间受到微波的干扰。
注 1:在美国,家电产品使用 60HZ 交流电,因此在每 16 毫秒的周期中,微波炉所造成的干扰有 8 毫秒。其他国家使用 50HZ 交流电,因此在每 20 毫秒周期中大约有 10 毫秒会受到干扰。
当上层封包超过网络管理人员所设定的分割门限,就会进行帧的分割。帧控制信息用来指示是否还有其他帧片段待接收。构成整个帧的所有帧片段通常会在所谓的片段宣泄期传输,如图1-8 所示,其中包含了一个 RTS/CTS交换过程,因为 fragementation 与RTS/CTS门限通常会设定为相同的数值。此图同时显示了如何以 NAV与SIFS的组合来控制介质的访问。
图 1-8:片段宣泄期(fragmentation burst)
帧片段与其应答之间以 SIFS区隔,因此工作站在分段宣泄期(fragmentation burst )会一直持有频道的掌控权。NAV可确保其他工作站在此 fragmentation burst 期间不致使用该频道。正如任何的RTS/CTS交换,RTS与CTS 会将NAV设定成从预定时间到第一个帧片段结束。其后的帧片段会彼此串通。每个帧片段都会设定 NAV,继续掌握介质的使用权,直到下一个帧的应答结束。图中,fragment0 设定了 NAV,并继续掌握介质直到 ACK 1 ,而 Fragment 1也设定了NAV,并继续掌控介质直到 ACK 2 ,依此类推。当最后一个帧片段及其应答送出时,NAV即会设定为 0,代表介质即将在”片段宣泄期”完成之后释放。
因为无线数据链路所带来的挑战,MAC被迫采用了许多特殊的功能,其中包括使用四个地址位。并非每个帧都会用到所有的地址位,这些地址位的值,也会因为MAC帧种类的不同而有所差异。图1-9 展示了一般的 802.11 MAC帧。本节所有图示均依循 IEEE 802.11 的格式。位的传送顺序由左至右,最高效 bit将会最后出现。
图 1-9:一般的 802.11 MAC 帧
802.11 MAC 帧并未包含以太网帧的某些典型功能,其中最显著的是type/length 位以及preamble(同步信号)。Preamble属于物理层,而封装细节(如 type 与length )则出现在 802.11帧所携带的标头(header)中。
所有帧的开头均是长度两个元组的 Frame Control (帧控制)位,如图 1-10 所示。Frame Control 位包括以下次位:
Protocol 位
协议版本位由两个 bit构成,用以显示该帧所使用的 MAC版本。目前,802.11 MAC 只有一个版本;它的协议编号为 0 。未来IEEE 如果推出不同于原始规格的 MAC版本,才会出现其他版本的编号。到目前为止,802.11 改版尚不需用到新的协议编号。
图 1-10:Frame control 位
Type 与 Subtype 位
类型与次类型位用来指定所使用的帧类型。为了抵抗噪声与提升可靠性,802.11 MAC 内建了一些管理功能,有些功能之前已经提过,如RTS/CTS与应答。表1-1 显示了 type 与subtype位跟帧类型的对应关系。
如表1-1 所示,最高效 bit会最先出现,恰好与图 1-10 相反。因此,Type次位是 frame control位的第三个 bit之后跟着第二个 bit(b3 b2 ),而 Subtype 次位则是第七个 bit之后跟着第六、第五以及第四个 bit(b7 b6 b5 b4)。
表1 表 1-1:Type与Subtype 位的值与名称:
表1 表 1-1:控制帧Type与Subtype 位的值与名称
表1 表 1-1:数据帧Type与Subtype 位的值与名称
表1 表 1-1:管理帧Type与Subtype 位的值与名称
TO DS与From DSbit
这两个bit用来指示帧的目的地是否为传输系统。在基础网络里,每个帧都会设定其中一个DS bit 。你可以根据表 1-2 来解读这两个 bit。
表2 表 1-2 :To DS 与From DSbit所代表意义:
More fragments bit
此bit的功能类似 IP 的More fragmentsbit。若较上层的封包经过 MAC分段处理,最后一个片段除外,其他片段均会将此 bit设定为 1 。大型的数据帧以及某些管理帧可能需要加以分段;除此之外的其他帧则会将此 bit设定为0 。实际上,大多数数据帧均会以最大的以太网长度进行传送,不过帧分段并不常用。
Retry bit
有时候可能需要重传帧。任何重传的帧会将此 bit设定为 1 ,以协助接收端剔除重复的帧。
Power management bit
802.11网卡通常以 PC Card 的型式出现,主要用于以电池供电的膝上型或手持式电脑。为了提高电池的使用时间,通常可以关闭网卡以节省电力。此 bit用来指出传送端在完成目前的基本帧交换之后是否进入省电模式。1 代表工作站即将进入省电模式,而 0 则代表工作站会一直保持在清醒状态。基站必须行使一系列重要的管理功能,所以不允许进入省电模式,因此基站所传送的帧中,此 bit必然为 0 。
More data bit
为了服务处于省电模式的工作站,基站会将这些由”传输系统”接收而来的帧加以暂存。基站如果设定此 bit,即代表至少有一个帧待传给休眠中的工作站。
Protected Frame bit
相对于有线网络,无线传输本质上就比较容易遭受拦截。如果帧受到链路层安全协议的保护,此bit会被设定为 1 ,而且该帧会略有不同。之前,Protected Frame bit 被称为 WEP bit。
Orderbit
帧与帧片段可依序传送,不过发送端与接收端的 MAC必须付出额外的代价。一旦进行”严格依序”传送,此 bit被设定为 1。
Duration/ID 位紧跟在frame control 位之后。此位有许多功用,有三种可能的形式,如图1-11 所示。
图 1-11:Duration/ID 位
当第15个bit被设定为0 时,Duration/ID 位就会被用来设定 NAV。此数值代表目前所进行的传输预计使用介质多少微秒。工作站必须监视所收到的任何帧头,并据以更新 NAV。任何超出预计使用介质时间的数值均会更新 NAV,同时阻止其他工作站访问介质。
在免竞争期间(contention-free period ,简称 CFP),第 14个bit为0 而第15个bit为1。其他所有bit均为0 ,因此 duration/ID 位的值为 32768 。这个数值被解读为 NAV。它让没有收到Beacon(信标)帧『注』的任何工作站,得以公告免竞争期间,以便将 NAV更新为适当的数值,避免干扰到免竞争传输。
注 Beacon 帧是管理帧的次类型(subtype),因此字首以大写表示。
在PS-Poll(省电模式-轮询)帧中,第 14与第 15个bit会被同时设定为1。移动式工作站可以关闭天线以达到省电目的。休眠中的工作站必须定期醒来。为确保不致丢失任何帧,从休眠状态醒来的工作站必须送出一个 PS-Poll帧,以便从基站取得之前暂存的任何帧。此外,醒来的工作站会在 PS-Poll 帧中加入连接识别码(association ID,简称 AID),以显示其所隶属的BSS 。AID 包含在 PS-Poll帧中,其值介于 1-2,007。而介于 2,008-16,383 的值目前保留并未使用。
一个802.11帧最多可以包含四个地址位。这些位地址位均经过编号,因为随着帧类型不同,这些位的作用也有所差异。基本上,Address 1 代表接收端,Address 2 代表传送端,Address 3 位被接收端拿来过虑地址。举例而言,在基础网络里,第三个地址位会被接收端用来判定该帧是否属于其所连接网络。『注』
注 :802.11 规定工作站应该忽略那些不属于相同 BSSID 的帧,不过大多数产品并未正确实现 BSSID 过虑功能,还是会将接收到的所有帧传给上层协议。
802.11所使用的定位模式,乃是依循其他 IEEE 802 网络所使用的格式,包括以太网。地址位本身的长度有 48个bit。如果传送给实际介质的第一个 bit为0,该地址位代表单一工作站(单点传播[unicast] )。如果第一个 bit为1 ,该地址代表一组实际工作站,称为组播(多点传播[multicast] )地址。如果所有 bit均为1 ,该帧即属广播(broadcast),因此会传送给连接至无线介质的所有工作站。
这些长度 48个bit的地址位有各种不同的用途:
| 目的地址
和以太网一样,目的地址(Destination address )是长度 48个bit的IEEE MAC 识别,码,代表最后的接收端,亦即负责将帧交付上层协议处理的工作站。
| 源地址
此为长度 48个bit的IEEE MAC 识别码,代表传输的来源。每个帧只能来自单一工作站,因此Individual/Group bit 必然为0 ,代表来源地址(Source address )为单一工作站。
| 接收端地址
此为长度 48个bit的IEEE MAC 识别码,代表负责处理该帧的无线工作站。如果是无线工作站,接收端地址即为目的地址。如果帧的目的地址是与基站相连的以太网结点,接收端即为基站的无线界面,而目的地址可能是连接到以太网的一部路由器。
| 传送端地址
此为长度 48个bit的IEEE MAC 识别码,代表将帧传送至无线介质的无线界面。传送端地址通常只用于无线桥接。
要在同一个区域划分不同的局域网络,可以为工作站指定所要使用的 BSS (基本服务集)。在基础网络里,BSSID (基本服务集标识)即是基站无线界面所使用的 MAC地址。而对等(Ad hoc )网络则会产生一个随机的 BSSID ,并将Universal/Localbit 设定为1,以防止与其他官方指定的MAC地址产生冲突。
要使用多少地址位,取决于帧类型。大部分的数据帧会用到三个位:来源、目的以及 BSSID 。数据帧中,地址位的编号与排列方式取决于帧的传送路径。大部分的传输只会用到三个地址,这解释了为什么在帧格式中,四个地址位都有其中三个位相邻的。
此位的长度为 16个bit,用来重组帧片段以及丢弃重复帧。它由4 个bit的fragment number(片段编号)位以及 12个bit的sequence number (顺序编号)位所组成,如图 1 -12所示。控制帧未使用顺序编号,因此并无sequence control 位。
图 1-12:Sequence Control 位
当上层帧交付 MAC传送时,会被赋予一个 sequence number (顺序编号)。此位的作用,相当于已传帧的计数器取 4096的模(modulo)。此计数器由 0 起算,MAC每处理一个上层封包就会累加 1。如果上层封包被切割处理,所有帧片段都会具有相同的顺序编号。如果时重传帧,则顺序编号不会有任何改变。
帧片段之间的差异在于 fragment number (片段编号)。第一个片段的编号为 0 。其后每个片段依序累加 1 。重传的片段会保有原来的 sequence number 协助重组。
具备QoS 延伸功能的工作站对 sequence control 位的解读稍有不同,因为这类工作站必须同时维护多组传送队列。
帧主体(Frame Boby )亦称为数据位,负责在工作站间传送上层数据(payload)。在最初制定的规格中,802.11帧最多可以传送 2304个bit组的上层数据。(实际上必须能够容纳更多的数据,以便将安全性与 QoS 相关标头纳入)802.2 LLC 标头具有 8 个bit组,最多可以传送2296 个bit组的网络协议数据。防止分段必须在协议层加以处理。在IP 网络中,Path MTU Discovery(路径最大传输单位查询;RFC1191)将可避免大于 1500个bit组的帧传递。
802.11与其他链路层技术不同之处,表现在两个比较显著的方面。首先,在802.11帧中并无任何上层协议的标记可供区别。上层协议是以额外标头 type 位加以标记,同时将其作为 802.11所承载数据的开始。其次,802.11通常不会将帧填补至最小长度。802.11所使用的帧并不大,随着芯片与电子技术的进展,目前已经没有填补的必要。
和以太网一样,802.11帧也是以帧检验序列(frame check sequence ,简称 FCS )作为结束。FCS 通常被视为循环冗余码(cyclic redundancy check,简称 CRC),因为底层的数学运算相同。FCS 让工作站得以检查所收到的帧的完整性。FCS的计算范围涵盖 MAC标头里所有位以及帧主体。虽然 802.3 与802.11计算 FCS 的方法相同,不过 802.11所使用的 MAC 标头与802.3 的不同,因此基站必须重新计算 FCS 。
当帧送至无线界面时,会先计算 FCS ,然后再由 RF或IR 链路传送出去。接收端随后会为所收到的帧计算 FCS ,然后与记录在帧中的 FCS 做比较。如果两者相符,该帧极有可能在传输过程中并未受损。
在以太网上,如果帧的FCS 有误,则随即予以丢弃,否则就会传送给上层协议处理。在802.11网络上,通过完整性检验的帧还需接收端送出应答。例如,接收无误的数据帧必须得到正面应答,否则就必须重传。对于未能通过 FCS 检验的帧,802.11并未提供负面应答机制;在重传之前,工作站就必须等候应答超时。
和所有其他的 802 链路层一样,802.11可以传输各种不同的网络层协议。和以太网不同的是,802.11是以802.2 的逻辑链路控制封装来携带上层协议。图 1-13 显示了如何以 802.2LLC封装来携带 IP 封包。如该图所示,802.1H与RFC 1042 所使用的『MAC标头』长度为 12个bit组,其内容为以太网上的『源 MAC地址』与『目的 MAC地址』,或者前面所提到的长标头(long 802.11MAC header )。
图 1-13:802.11 里的 IP 封装
传输时,用来封装 LLC 数据的方式有两种。其中一种是 RFC 1042 所描述的方式,另外一种则是802.1H所规范的方式。两种标准各自有其别名。RFC 1042 有时候被称为 IETF 封装,而802.1H有时候则被称为隧道式封装(tunnel encapsulation).
这两种方式极为相似,如图 1-13所示。此图最上方为以太网帧,它具有 MAC标头(源与目的MAC地址),类型代码(type code ),内嵌封包(embedded packet )以及帧检验等位。
在IP 领域里,Type code 不是代表IP 的本身的OX0800(十进制的 2048),就是代表地址解析协议(简称 ARP)的 OX0806(十进制的 2054)。
RFC 1042 与802.1H均衍生自 802.2 的子网络访问协议(sub-network access protocol ,简称SNAP )。MAC地址会被复制到封装帧(encapsulation frame)的开头,然后插入 SNAP标头。SNAP 标头一开始是目的服务访问点(destination service access point,简称DSAP)与源服务访问点(source service access point, 简称SSAP)。然后是一个控制位。和高阶数据链路控制(high-level data link control, 简称HDLC)及其衍生协议一样,此控制位会被设定为 0x03,代表未编号信息(unnumbered information,简称UI),对应到IP datagram 所谓的尽力传送(best-effert delivery)范畴。SNAP 所置入的最后一个位是组织代码(organizationally unique identifier ,简称 OUI)。起初,IEEE 希望用一个 bit组的服务访问点(service access point )来涵盖网络协议编号,不过后来证明这种看法过于乐观。因此,SNAP 只得从原来的以太网帧复制一份类型代码(type code )。802.11H 与RFC 1042 之间的唯一差异,在于其使用的 OUI。
有些产品可以让使用者在两种封装标准间进行切换,虽然这种功能并不常见。以 Microsoft操作系统而言,AppleTalk 与IPX 协议组预设使用 802.1H,其他协议则使用 RFC 1042 。目前大部分接入点均依循 Microsoft的做法,不再提供封装方式的切换选项。事实上,由于 Microsoft所采用的封装方式得到广泛的支持,因此 Wi-Fi联盟的认证测试计划亦将它包含在内。
为了增加可靠性,802.11纳入了许多额外的功能。这些功能导致某些规则上的混淆,因而无法判断何时该允许使用何种类型的帧。这些额外的功能也让网络管理人员更难预测,有哪些帧会来往于所检视的网络中。本节的目的在澄清,802.11局域网络中负责运送数据的基本交换过程。(大部分的管理帧只会公告给该区域中相关的对象,信息的传递纯粹是单向的。)
本节所陈述的是基本交换程序,也就是说数据的交换过程必须视为单一整体。举例而言,单点传播数据必须得到应答以确保数据传送无误。虽然整个数据的交换过程包含两个帧,但数据交换本身只算第一过程。只要有一方失误,整个过程就必须重新来过。802.11 定义了两组截然不同的基本交换程序。其一为 DCF,用于竞争服务。第二种交换方式为 PCF,用于免竞争服务(contention-free service)。免竞争服务所使用的帧交换方式不仅错综复杂,而且还难以理解。有鉴于商业化产品很少实现免竞争服务,其交换过程不再赘述。
DCF说使用的帧交换方式在 802.11 MAC 中占有决定性的地位。根据 DCF的规定,所有的产品都必须提供尽力的传递功能。为了实现竞争式 MAC,处于作用状态的工作站都必须处理每个帧的 MAC标头。整个帧交换过程,始终某部工作站在 DIFS之后取得闲置介质的使用权。
广播与组播帧的交换过程最为简单,因为这些帧无须应答。这两种帧也可以视为群组帧,
因为其接收对象不限于单一工作站。帧封装(framing )与定位(addressing )在 802.11中较为复杂,适用此规则的帧类型如下所示:
| 广播数据帧会在 Address1位中填入广播地址
| 组播数据帧会在 Address1位中填入组播地址
| 广播管理帧会在 Address1位中填入广播地址(Beacon、Probe Request 以及IBSS ATIM帧)
组播帧无法加以分段,也无须得到应答。整个基本交换过程只牵涉到一个帧,根据竞争式访问控制规则加以传递。传送结束后,所有工作站必须等待一段 DIFS时间,然后在竞争期间倒数随机产生的延迟时间。
因为帧的交换过程只牵涉到一个帧,所以将 NAV(网络分配矢量)设定为 0。既然此后已无其他帧,也就不必使用虚拟载波监听锁住介质,来防止其他工作站的访问。传送该帧之后,所有工作站均会等候一段 DIFS时间,然后通过竞争期间开始为任何遭延迟的帧进行倒数。整个交换过程,详见图 1-14 。
图 1-14:广播/组播数据以及广播管理的基本帧交换过程
因环境而异,组播帧可能会遇到低劣的服务质量,因为这些帧没有得到任何应答。因此,有些工作站可能会遗漏广播或组播数据。不过MAC并未内建任何机制可用以重传广播或组播帧。
在802.11标准中,针对个别工作站所传送的帧称为直接数据(direct data )。本书中使用较通俗的字眼,称之为单点传播(unicast)。单点传播帧必须得到应答以确保可靠性,亦即可借助各种机制来改善传输效率。本节所描述的交换过程适用于任何单点传播帧,因此也适用于管理帧与数据帧。实际上,这些过程通常只见于数据帧。
两部工作站之间的传输可靠性建立在简单的正面应答上。单点传播数据帧必须得到正面应答,否则该帧即会被认定已经丢失。单一帧及其回应是最基本的例子,如图 1-15 所示。
图 1-15:单一帧及其正面回应
此帧会利用 NAV 为本身、应答及 SIFS 预定介质使用权。设定较长的 NAV,是为了替整个交换程序锁住虚拟载波,以保证接收端可以传送应答。因为此交换程序是以 ACK 做为结束,所以没有必要再锁住虚拟载波,因此该 ACK 中 NAV 会被设定为 0。
包括IP 在内,一些较上层的网络协议或多或少都会用到帧分段。在网络层进行分段的缺点是,接收端必须加以重组;如果帧在传输过程中遗失,整个封包就必须重传。在链路层使用分段机制可以提升速度,亦即以较小的 MTU在转运点(hop )间传送数据。
图 1-16:帧分段
此外,802.11可以利用帧分段来避免干涉。无线点播干扰通常会以瞬间而高能量的尖波形式出现,而且经常与 AC电源线同步。将帧加以分段,可保护大部分帧不遭受损害。基本分段机制如图1-16 所示。
最后两个帧和之前的交换过程没有两样,NAV的设定也完全相同。不过,倒数第二个帧之前所有帧均会使用 NAV,为下一个帧锁住介质。第一个数据帧会将 NAV的时间设定至足以涵盖ACK1, 下一个帧片段及其回应(ACK2)。为了表示其为帧片段,MAC会将帧标头控制位的 More Fragmentsbit 设定为1。最后一个回应(ACK3)除外,其余回应都会继续为下一个数据片段及其回应延长锁住介质的时间。后续的数据帧会继续延长 NAV以涵盖后续的回应,直到最后一个数据帧才会将 More Fragmentsbit设定为 0 ,而最后一个回应(ACK3)则会将 NAV设定为 0 。帧片段的数目并无限制,不过虚空总长度必须短于 PHY对交换过程所做的限制。
帧分段是由 MAC的fragmentation threshold(切割门限) 参数所控制。大部分的网卡驱动程序都允许使用者设定此参数。任何超过分段门限的帧都会被加以分段,分段方式因实际情况而异。调高分段门限意味着帧的传输负担较小,不过帧丢掉和损害的成本较高,因为将会有较多的数据必须丢弃与重传。调低分段门限意味着传输负担较重,不过在面临较恶劣的环境时,这种做法可以提供较佳的稳定性。
为保证介质使用权以及数据传输不被中断,工作站可使用 RTS/CTS的交换方式。图 1-17说明了整个过程。RTS/CTS交换的做法和帧分段一开始没有什么两样,只是RTS 帧并未携带任何数据。RTS/CTS中的 NAV可让CTS完成工作,而 CTS 则可用来为数据帧保留使用权。
RTS/CTS 可用在所有的帧交换、非帧交换或介于两者之间。和帧分段一样,RTS/CTS 是由启动程序中的门限值来控制的。超过该门限的帧由 RTS/CTS 先行清空介质,而较小的帧则直接传送。
图 1-17:以 RTS/CTS 锁住介质
实际上,RTS/CTS交换过程通常与帧分段并行,如图1-18所示。虽然经过分段,帧片段还是有一定的长度,因此可受惠与 RTS/CTS过程所确保的介质独家使用权,免与隐藏节点的竞争。有些厂商将帧分段门限与 RTS/CTS门限的预设值设成一样。
图 1-18:RTS/CTS 与帧分段
在RF系统中,放大器是最耗电的元件,由它负责将发送出的信号放大,以及将所收到的信号放大到可处理的水平。802.11工作站可以关闭无线电波收发器,并且定期进入休眠状态,以维持最长的电池使用时间。在这段期间,接入点会为每部处于休眠状态的工作站暂存帧。若有暂存帧,接入点会在后续的 Beacon帧中告知工作站。由省电状态唤醒的工作站可以使用 PS-Poll帧取得这些暂存帧。
接收到PS-Poll帧的接入点,可以立即采取回应,也可以等到环境许可,比较空闲时再予以应答。有时候,采用哪种 PS-Poll回应决定自接入点所采用的芯片组的厂商。有些芯片组厂商同时支持两种模式,有些则只支持一种。802.11只要求支持一种方式即可,因此两种做法均符合标准要求。
接入点可以对 PS-Poll(省电模式-轮询)帧立即作出应答。经过一段 SIFS(短帧间隔)时间,接入点即可传送帧。如图 1-19 所示,PS-Poll帧隐含了一 NAV。PS-Poll帧的Duration/ID位中包含了Association ID(连接识别码),因此接入点可以判断有哪些帧是为该工作站所暂存的。不过, MAC规格书要求所有收到 PS-Poll的工作站都必须更新 NAV,将NAV的值设定为一个 SIFS加上一个ACK的时间。虽然此 NAV对数据帧而言过短,但接入点会取得介质使用权,而所有工作站都会为了这个数据帧而延后访问介质。但数据帧传送结束时,NAV随即更新以反映数据帧标头中的数值。
图 1-19:立即的 PS-Poll 回应
如果暂存的帧过大,则必须进行分段。图 1-20 说明了帧分段情况下的 PS-Poll立即应答。和其他工作站一样,接入点的分段门限通常可由使用者来设定。
图 1-20:帧分割情况下的 PS-Poll 立即回应
除了立即应答,接入点可以先回复一个简单应答。这种做法称为延迟应答(deferred response),因为接入点虽然回应了访问暂存帧的要求,但未并立即采取实际的发送行动。使用延迟应答的优点之一,在于接入点方面的软件较易实现,因为应答信息可以通过芯片组立即传送,至于数据则可以先予以暂存,然后依正常过程传输。
通过PS-Poll要求帧的工作站必须保持清醒,直到该帧传输完成。不过,在竞争式服务期间,接入点可能在任何时间传递帧。此时工作站不能返回省电模式,除非接收到一个Beacon帧,其中对应该工作站的 TIM (数据待传)bit已被清除。
图1-21 说明了整个过程。在此图中,工作站刚由省电模式转变为活动模式,同时注意到接入点已经为它暂存了帧。于是工作站会发出 PS-Poll给接入点,要求接收这些暂存帧。不过,接入点可能会选择延迟应答,因此只回传了一个 ACK。到目前为止,接入点已经回应了工作站的暂存帧访问要求,并且承诺将在某个时间点加以传送。工作站必须处于活动模式等候,也许经过几次基本帧交换之后,接入点就会送出工作站所要的数据。虽然在图 1-21 中并未显示,不过暂存帧还是由可能遭到分段的。
图 1-21:PS-Poll 延迟回应的范例
收到数据帧之后,工作站还是必须停留在清醒状态,直到下一个 Beacon 帧被传送出来。Beacon帧只是用来提醒,是否有为某部工作站暂存的帧,没有办法告知实际的帧数量。一旦工作站收到的 Beacon帧中显示已无暂存帧,便可断定已经完成暂存帧的接收,然后返回省电模式。
能够以不同速度工作的网络技术必须具备一种机制,可以协调出一种收发端彼此均可接受的数据率。速度协商对工作站而言尤其方便。工作站可以经常变化速率,以便回应无线电环境的快速变动。但工作站间的距离改变,速度也会随之变动。工作站必须能够适应随时变动的环境,必要时更改传输速率。和一些其他协议功能一样,802.11标准并未规范该如何选择传输速率。标准只是提出一般原则,在实际上厂商享有相当大的自由。其中,有些规则适用于所有工作站:
1. 每部工作站均保有一份速率清单,其中记录工作站与所连接BSS均支持的所有速率。(所谓BSS,通常相当于一部接入点,不过较新的产品可以让使用者依虚拟接入点自订速率。)高于速率组合的传输速率是不允许用来传送帧的。
2. 每个BSS必须负责维护一组基本速率,即打算加入此BSS的工作站所必须支持的速率清单。任何传送至群组接收地址的帧必须以基本速率传送,确保所有工作站均可正确解读。
3. 用来起始帧交换的控制帧,如 RTS 与CTS ,必须以基本速率组合中的一种速率进行传输。这一规则可以确保必须以CTS 回应RTS 帧的工作站,能够以相同速率工作。
控制帧可以用于回溯相容模式(backwards-compatiblity),又称为防护(protection)模 式 ;防护模式是为了避免新旧工作站间彼此干扰,因为较旧的工作站或许只支持较慢的调制技术,新式工作站却可以使用较快的调制方式。如果所在地区有些工作站不支持较新的调制方式,则必须以较旧的调制方式传输防护帧(Protection frame)。
4. 发送给特定工作站的帧,会在 Address 1 位记载单点传播目的地址。单点传播帧(Unicast frame)可以使用目的端支持的任一速率传送。至于数据速率的选择方式, 802.11标准并未加以规范。
免竞争期间所使用的帧可以带有多重目的;如果帧中包含 ACK,就是用来应答之前的帧传送者而不是帧接收者。传送端必须确保该帧以接收端及目的端工作站均支持的速率传送。
5. ACK或CTS 之类的应答帧必须以基本速率组合所包含的速率传送,但不能高于这次传输所使用的起始帧。应答帧必须使用与起始帧相同的调制方式(DSSS 、CCK或OFDM )。
市面上所有 802.11界面均支持某种降速机制,可以适应不同网络环境选择所使用的数据率。速率选择主要在决定一张网卡该在何时升速以提高链路质量。802.11标准并未规范工作站如何决定是否降速(或升速),因此速率选择如何实现,留给芯片厂商自行决定。几乎所有芯片组均有自己一套选择机制,因此,大多数 802.11界面的工作方式均有所不同。速率选择可以通过程序控制,一般是由驱动界面的程序所控制。速率选择机制可以公国驱动程序或者软件升级。
最常用来判断何时应该变速的算法,其实是通过一些不是那么严谨的信号品质量测量。信号质量可以直接就信噪比(signal-to-noise ratio )加以测量,或者间接观察有多少帧需要重传。
直接测量信噪比,可以针对最近一个帧的瞬间信号质量,或者就最近一段期间所接收到之一定数量的帧取平均数。有些芯片组会直接测量信噪比,不过随后会将之转换为相应的”信号质量”(signal quality )。当信号质量变差,芯片就会以降速来适应。
至于间接测量,则是监测瞬间或平均漏失多少帧,然后予以适度补偿。采用间接测量的算法,简单来讲就是:如果帧已经丢失且帧重传计数器已经用尽,那就降速至下一档,然后重试一遍;反复进行以上步骤直到帧送出,或者一直尝试到最低速率都无法成功传递为止。采用间接信号品质量测的芯片组或许会稍微修改上述算法,避免耗费过多时间在物理层所支持的所有速率间逐次降速。尤其近来的芯片组均支持不少的速率,在较低速率上反复重试将会相当费时。
无线接入点的核心,其实就是桥接器,负责在无线与有线介质之间转换帧。虽然 802.11并未限制非得使用哪种有线介质技术,放弃以太网不用的接入点还真没见过。
图 1-22:在无线与有线介质之间转换帧
大多数接入点在设计上就是扮演802.11与以太网之间的桥梁,因此,了解帧在两种介质之间的传递方式就相当重要。如图1-22 所示。
当接入点的无线界面接收到准备传送至有线网络的帧,接入点就必须在两种介质间桥送帧。非正式来讲,以下是接入点必须进行的一系列工作:
1. 当接入点接收到一个帧,首先会检测该帧基本上是否完整。接下来,接入点会针对所使用的物理层,检视物理层标头,然后验证802.11帧上的帧检验码。
2. 验证帧接收无误后,接入点就会继续检视是否应该进一步处理该帧。
a. 传送至接入点的帧,会将接入点的 MAC 地址(即 BSSID)摆在 802.11 MAC 标头的 Address 1 位。不符该接入点 BSSID 的帧应予以丢弃。(有些产品并未实现此步骤。)
b. 802.11 MAC 接着监测且移出重复的帧。产生重复帧的原因很多,不过最常见的情况是 802.11 应答信息在传送过程中丢失或有所损毁。为了简化上层协议的工作,因此由 802.11 MAC 负责剔除重复的帧。
3. 一旦接入点判定需要进一步处理该帧,就必须予以解密,因为该帧会受到链路层安全算法的保护。
4. 成功解密之后,接入点即检视该帧是否为帧片段,需要进一步重组。完整性保护(integrity protection)针对重组后完整帧,而不是个别的帧片段。
5. 如果经过步骤2a的BSSID检验,判定接入点必须桥送该帧,较复杂的802.11 MAC 标头就会被转换为较简单的以太网 MAC 标头。
a. 记录在 802.11 MAC 标头之 Address 3 位里的目的地址,会被复制到以太网的目的地址。
b. 记录在 802.11 MAC 标头之 Address 2 位里的源地址,会被复制到以太网的源地址。
c. 从 802.11 Data 位里的 SNAP 标头,将(Type)类型代码复制到以太网帧里的 Type 位。如果该以太网帧亦使用 SNAP,就复制整个 SNAP 标头。
d. 顺序信息主要供帧片段重组之用,不过当帧被桥送之后即予以丢弃。
e. 如果有标准的服务质量处理程序,即在此进行无线与有线的 Qos 对应。不过到目前为止,用来表示服务质量的形式,通常就是在有线帧中使用 802.1p优先性等级 bit,或者其他的控制形式。
6. 重新计算帧检验码。以太网与802.11使用相同的算法来计算FCS ,不过802.11帧多出一些位,同时为FCS 所保护。
7. 所产生的新帧交付以太网界面传送。
将帧从接入点有线端桥接至无线介质的过程刚好相反:
1. 验证以太网 FCS 后,接入点首先会检视是否需要进一步处理所接收到的帧,亦即检视该帧的目的地址是否属于目前与接入点连接的工作站。
2. 将SNAP 标头附加于以太网帧的数据之前。上层封包是以SNAP 标头进行封装,而其Type位是自以太网帧里的类型代码复制而来。如果该以太网帧亦使用SNAP ,则复制整个SNAP 标头。
3. 对帧的传送进行调度。802.11包含复杂的省电过程,将帧置于传送序列之前,接入点可能会将帧暂存于缓存区。
4. 一旦帧被置于序列待传,就会被赋予一个顺序编号。如有必要,所产生的数据可以用完整性检验值加以保护。如果帧需要分段,则会根据事先设定好的分段门限进行分段。分段帧时,将会在Sequence Control 位指定片段编号。
5. 如果帧需要保护,则对帧(或每个帧片段)的本体加密。
6. 802.11 MAC 标头是根据以太网 MAC 标头产生。
a.将以太网 的目的地址复制到 802.11 MAC标头的 Address 1 位。
b.将 BSSID 置于 MAC 标头的 Address 2,以做为无线介质上之帧的发送者。
c.将帧的源地址复制到 MAC 标头的 Address 3 位。
d.将其他位填入 802.11 MAC 标头。也就是把预计传送时间填入 Duration 位,并把适当的旗标填入 Frame Control 位。
7. 重新计算帧检验码。以太网与802.11使用相同的算法来计算FCS ,不过802.11帧多出一些位,同时为FCS 所保护。
8. 所产生的新帧交付802.11界面传送。
服务质量延伸功能会影响帧的传输顺序,但并不会改变帧行径 802.11 MAC 的基本路径。
802.11e 服务质量延伸功能并非只使用单一传输序列,而是在上述有线至无线桥接程序中的第 4、5 、7 步骤采用多组传输序列。这些步骤会根据优先次序进行帧处理;而优先次序取决于帧的内容以及配置设定中预先指定的优先性分级规则。
在以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。
CSMA/CD(Carrier Sense Multiple Access/Collision Detect)即载波监听多路访问/冲突检测机制。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。
CSMA/CD是英文carrier sense multiple access/collision detected 的缩写,可把它翻成”载波监听多路访问/冲突检测”,或”带有冲突检测的载波侦听多路访问”。
所谓载波监听(carrier sense),意思就是以太网络上的各个工作站在发送数据前,都要监听总线上有没有数据正在传输。若有数据传输 (称总线为忙),则不发送数据,需要等待;若无数据传输(称总线为空),可以立即发送准备好的数据。
所谓多路访问(multiple access),意思就是以太网络上的各个工作站在发送数据时,共同使用一条总线,且发送数据是广播式的。
所谓冲突(collision),意思就是,若以太网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的冲突;多个工作站都同时发送数据,在总线上就会产生信号的冲突,哪个工作站接收到的数据都辨别不出真正的信息。这种情况称冲突或者碰撞。
为了减少冲突发生的影响,工作站在发送数据过程中还要不停地检测自己发送的数据,检测自己传输过程中有没有其他工作站在发送数据,在传输过程中与其它工作站的数据发生冲突,这就是冲突检测(collision detected)。
CSMA/CD是带有冲突检测的CSMA,其基本思想是:当一个节点要发送数据时,首先监听信道;如果信道空闲就发送数据,并继续监听;如果在数据发送过程中监听到了冲突,则立刻停止数据发送,等待一段随机的时间后,重新开始尝试发送数据。
CSMA/CD媒体访问控制方法的工作原理,可以概括如下:
先听后说,边听边说;
一旦冲突,立即停说;
等待时机,然后再说;
听,即监听、检测之意;说,即发送数据之意。
上面几句话在发送数据前,先监听总线是否空闲。若总线忙,则不发送。若总线空闲,则把准备好的数据发送到总线上。在发送数据的过程中,工作站边发送边检测总线,查看是否自己发送的数据有冲突。若无冲突则继续发送直到发完全部数据;若有冲突,则立即停止发送数据,但是要发送一个加强冲突的JAM信号,以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,且在总线为空闲时,再重新发送未发完的数据。
CSMA/CD是标准以太网、快速以太网和千兆以太网中统一采用的介质争用处理协议(但在万兆以太网中,由于采用的是全双工通信,所以不再采用这一协议)。之所以称之为”载波侦听”(”载波”就是承载信号的电磁波),而不是称之为”介质侦听”,那是因为如果介质上正在有载波存在,则证明介质处于忙的状态(因为信号或者数据不是直接传输的,而是通过电磁载波进行的);如果没有载波存在,则介质是空闲状态。也就是通过载波的检测,可以得知介质的状态,而不能直接来侦听介质本身得出其空闲状态。
【说明】其实这里侦听的应该是”信道”,而不是”介质”本身,因为在一条传输介质中,可能包含有多条信道,用于不同的传输链路。
在CSMA中,由于信道传播时延的存在,即使通信双方的站点都没有侦听到载波信号,在发送数据时仍可能会发生冲突,因为他们可能会在检测到介质空闲时同时发送数据,致使冲突发生。尽管CSMA可以发现冲突,但它并没有先知的冲突检测和阻止功能,致使冲突发生频繁。
一种CSMA的改进方案是使发送站点在传输过程中仍继续侦听介质,以检测是否存在冲突。如果两个站点都在某一时间检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。如果发生冲突,信道上可以检测到超过发送站点本身发送的载波信号幅度的电磁波,由此判断出冲突的存在。一旦检测到冲突,发送站点就立即停止发送,并向总线上发一串阻塞信号,用以通知总线上通信的对方站点,快速地终止被破坏的帧,可以节省时间和带宽。这种方案就是CSMA/CD,已广泛应用于局域网中。
CSMA/CD是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。主要应用于现场总线Ethernet中。另一个改进是,对于每一个站而言,一旦它检测到有冲突,它就放弃它当前的传送任务。换句话说,如果两个站都检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。它们不应该再继续传送它们的帧,因为产生冲突的数据是无法分辨出原始信息的,这时继续发送只会产生数据垃圾而已;相反一旦检测到冲突之后,它们应该立即停止传送数据。快速地终止发送被损坏的帧可以节省时间和带宽,避免造成资源浪费。
CSMA/CD控制方式的优点是:
原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
CSMA/CD应用在 OSI 的第二层数据链路层。
它的工作原理是:发送数据前,先侦听信道是否空闲;若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。
其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发
CSMA/CD采用IEEE 802.3标准。
它的主要目的是:提供寻址和媒体存取的控制方式,使得不同设备或网络上的节点可以在多点的网络上通信而不相互冲突。
有人将CSMA/CD的工作过程形象的比喻成很多人在一间黑屋子中举行讨论会,参加会议的人都是只能听到其他人的声音。每个人在说话前必须先倾听,只有等会场安静下来后,他才能够发言。人们将发言前监听以确定是否已有人在发言的动作成为”载波侦听”;将在会场安静的情况下每人都有平等机会讲话成为”多路访问”;如果有两人或两人以上同时说话,大家就无法听清其中任何一人的发言,这种情况称为发生”冲突”。发言人在发言过程中要及时发现是否发生冲突,这个动作称为”冲突检测”。如果发言人发现冲突已经发生,这时他需要先大喊一声再停止讲话,然后随机后退延迟,再次重复上述过程,直至讲话成功。如果失败次数太多,他也许就放弃这次发言的想法。通常尝试16次后放弃。
CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
【经验之谈】这里其实还有一个细节问题,那就是站点要多长时间才能检测到有冲突发生。理论上多数人认为是一倍于数据信号传播时延,认为在一个完整的数据帧载波信号传播过程中没有遇到冲突,就认为没有冲突发生。但事实上这是不正确的,而是要两倍于传播时延,因为可能就在一个传播时延结束时对方站点也开始了数据传输,这时同样会遇到冲突,而且冲突信号要传送到原来发送数据的站点时也需要一个传播时延,所以结果就是需要两倍于传播时延。
控制规程
控制规程的核心问题:解决在公共通道上以广播方式传送数据中可能出现的问题(主要是数据碰撞问题)
控制过程包含四个处理内容:侦听、发送、检测、冲突处理
(1) 侦听:
通过专门的检测机构,在站点准备发送前先侦听一下总线上是否有数据正在传送(线路是否忙)?
若”忙”则进入后述的”退避”处理程序,进而进一步反复进行侦听工作。
若”闲”,则根据一定算法原则(”X坚持”算法)决定如何发送。
(2) 发送:
当确定要发送后,通过发送机构,向总线发送数据。
(3) 检测:
数据发送后,也可能发生数据碰撞。因此,要对数据边发送,边检测,以判断是否冲突了。
(4)冲突处理:
当确认发生冲突后,进入冲突处理程序。有两种冲突情况:
① 侦听中发现线路忙
② 发送过程中发现数据碰撞
① 若在侦听中发现线路忙,则等待一个延时后再次侦听,若仍然忙,则继续延迟等待,一直到可以发送为止。每次延时的时间不一致,由退避算法确定延时值。
② 若发送过程中发现数据碰撞,先发送阻塞信息,强化冲突,再进行侦听工作,以待下次重新发送(方法同①)。
CSMA/CD哥哥参数指标可以概括如下:
性能指标:信道利用率、吞吐量、介质利用率
CSMA/CD的主要影响因素:传播时延、工作站数。
①CSMA/CD对站点个数不是很敏感,对实际的输入负载比较敏感。
②CSMA/CD对传播时延α比较敏感。
③CSMA/CD冲突不可避免。
④CSMA/CD的介质利用率随α的上升下降较快。
⑤CSMA/CD适合通信量不大,交互频繁的场合
⑥对于CSMA/CD帧越长,吞吐量越大,要求帧具有最小长度,当有许多短消息时,带宽浪费严重。
⑦CSMA/CD在轻负载时提供最短延迟,但对重负载敏感。
主要参数:
时间片512比特时间
帧间间隔9.6微秒
尝试极限16
退避极限10
人为干扰长32比特
最大帧长1518字节
最小帧长64字节
地址字段长48比特
2.2中两种冲突情况都会涉及一个共同算法——退避算法。
①退避算法:当出现线路冲突时,如果冲突的各站点都采用同样的退避间隔时间,则很容易产生二次、三次的碰撞。因此,要求各个站点的退避间隔时间具有差异性。这要求通过退避算法来实现。
截断的二进制指数退避算法(退避算法之一):
当一个站点发现线路忙时,要等待一个延时时间M,然后再进行侦听工作。延时时间M以以下算法决定:
M = 0 ~ (2^k – 1) 之间的一个随机数乘以512比特时间(例如对于10Mbps以太网,为51.2微秒),k为冲突(碰撞)的次数,M的最大值为1023,即当k=10及以后M始终是0~1023之间的一个随机值与51.2的乘积,当k增加到16时,就发出错误信息。
② 特殊阻塞信息:是一组特殊数据信息。在发送数据后发现冲突时,立即发送特殊阻塞信息(连续几个字节的全1,一般为32-48位),以强化冲突信号,使线路上站点可以尽早探测得到冲突的信号,从而减少造成新冲突的可能性。
③ 冲突检测时间>=2α: α表示网络中最远两个站点的传输线路延迟时间。该式表示检测时间必须保证最远站点发出数据产生冲突后被对方感知的最短时间。在2α时间里没有感知冲突,则保证发出的数据没有产生冲突。(只要保证检测2α时间,没有必要整个发送过程都进行检测)
④ X-坚持的CSMA算法:当在侦听中发现线路空闲时,不一定马上发送数据,而采用X-坚持的CSMA算法决定如何进行数据发送:
算法特点
– 非坚持的CSMA:线路忙,等待一段时间,再侦听;不忙时,立即发送;减少冲突,信道利用率降低:
– 1坚持的CSMA:线路忙,继续侦听;不忙时,立即发送;提高信道利用率,增大冲突:
– p坚持的CSMA:线路忙,继续侦听;不忙时,根据p概率进行发送,另外的1-p概率为继续侦听(p是一个指定概率值);有效平衡,但复杂:
⑤ 控制流程图:
⑥ CSMA控制规程的特征
① 简单
② 具有广播功能
③ 平均带宽: f = F / n
④ 绝对平等,无优先级
⑤ 低负荷高效,高负荷低效
⑥ 延时时间不可预测
⑦ 传输速率与传输距离为一定值
二进制指数退避算法是按”后进先出”(Last In First Out,LIFO)的次序控制的,即未发生冲突或很少发生冲突的数据帧具有优先发送的概率;而发生过多次冲突的数据帧,发送成功的概率更少。
二进制指数退避算法的规则如下:
对每个帧,当第一次发生冲突时,设置参数L=2。退避重发时间在0或者1个时隙中随机抽取一个再重发。
当帧再次冲突时,退避时间参数的最大值加倍,即是原来L值2的2次方。退避重发时间在0~3(=22-1)个时隙中随机抽取一个再重发。
当冲突n次,由此时的退避时间参数的最大值为最初L值的2^n倍。退避重发时间在0~(2n-1)个时隙中随机抽取一个再重发。可以设置一个最大重传次数,超过此值,不再重发,并报告出错。一般是第10次冲突之后,随机数的时间间隙数就固定在1023上,不再增加了。16次冲突后,就会放弃努力,并且给发送数据的站点返回一个错误报告。
从以上可以看出,退避时间参数值都是参数初始值的2的n次方倍,这也是取名为”二进制指数”退避算法的原因。此算法的效果是不冲突或少冲突的帧重发的机会多,冲突多的帧重发的机会少。
由上述分析可知,为了确保发送数据站点在传输时能及时检测到可能存在的冲突,数据传输时延至少要两倍于信号传播时延(两倍传播时延=一个帧从一个站点开始到达另一个站点所需的一个传播时延+冲突信号到达发送数据的站点所需的一个传播时延),其目的就是不要让数据在全部传输完才收到有冲突发生的信号,这样既浪费了时间,又浪费了带宽。
由此可以得CSMA/CD总线网络中最短帧长的计算关系式如下所示:
最短数据帧长(bit)= 2×数据传输速率(b/s)×两站点间的距离/200(m/μs)
CSMA/CD网络上进行传输时,必须按下列五个步骤来进行:
(1)传输前侦听
(2)如果忙则等待
(3)传输并检测冲突
(4)如果冲突发生,重传前等待
(5)重传或夭折
CSMA/CD 曾经用于各种总线结构以太网(bus topology Ethernet)和双绞线以太网(twisted-pair Ethernet)的早期版本中。
Type value | Type description | Subtype value | Subtype description | Wireshark display filter | |
0 | Management | 0 | Association Request | wlan.fc.type_subtype == 0x00 | |
0 | Management | 1 | Association Response | wlan.fc.type_subtype == 0x01 | |
0 | Management | 10 | Reassociation Request | wlan.fc.type_subtype == 0x02 | |
0 | Management | 11 | Reassociation Response | wlan.fc.type_subtype == 0x03 | |
0 | Management | 100 | Probe Request | wlan.fc.type_subtype == 0x04 | |
0 | Management | 101 | Probe Response | wlan.fc.type_subtype == 0x05 | |
0 | Management | 0110-0111 | Reserved | ||
0 | Management | 1000 | Beacon | wlan.fc.type_subtype == 0x08 | |
0 | Management | 1001 | ATIM | wlan.fc.type_subtype == 0x09 | |
0 | Management | 1010 | Disassociation | wlan.fc.type_subtype == 0x0A | |
0 | Management | 1011 | Authentication | wlan.fc.type_subtype == 0x0B | |
0 | Management | 1100 | Deauthentication | wlan.fc.type_subtype == 0x0C | |
0 | Management | 1101 | Action | wlan.fc.type_subtype == 0x0D | |
0 | Management | 1110-1111 | Reserved | ||
Type value | Type description | Subtype value | Subtype description | Wireshark display filter | |
1 | Control | 0000-0111 | Reserved | ||
1 | Control | 1000 | Block Ack Request | wlan.fc.type_subtype == 0x18 | |
1 | Control | 1001 | Block Ack | wlan.fc.type_subtype == 0x19 | |
1 | Control | 1010 | PS-Poll | wlan.fc.type_subtype == 0x1A | |
1 | Control | 1011 | RTS | wlan.fc.type_subtype == 0x1B | |
1 | Control | 1100 | CTS | wlan.fc.type_subtype == 0x1C | |
1 | Control | 1101 | ACK | wlan.fc.type_subtype == 0x1D | |
1 | Control | 1110 | CF-end | wlan.fc.type_subtype == 0x1E | |
1 | Control | 1111 | CF-end + CF-ack | wlan.fc.type_subtype == 0x1F | |
Type value | Type description | Subtype value | Subtype description | Wireshark display filter | |
10 | Data | 0 | Data | wlan.fc.type_subtype == 0x20 | |
10 | Data | 1 | Data + CF-ack | wlan.fc.type_subtype == 0x21 | |
10 | Data | 10 | Data + CF-poll | wlan.fc.type_subtype == 0x22 | |
10 | Data | 11 | Data +CF-ack +CF-poll | wlan.fc.type_subtype == 0x23 | |
10 | Data | 100 | Null | wlan.fc.type_subtype == 0x24 | |
10 | Data | 101 | CF-ack | wlan.fc.type_subtype == 0x25 | |
10 | Data | 110 | CF-poll | wlan.fc.type_subtype == 0x26 | |
10 | Data | 111 | CF-ack +CF-poll | wlan.fc.type_subtype == 0x27 | |
10 | Data | 1000 | QoS data | wlan.fc.type_subtype == 0x28 | |
10 | Data | 1001 | QoS data + CF-ack | wlan.fc.type_subtype == 0x29 | |
10 | Data | 1010 | QoS data + CF-poll | wlan.fc.type_subtype == 0x2A | |
10 | Data | 1011 | QoS data + CF-ack + CF-poll | wlan.fc.type_subtype == 0x2B | |
10 | Data | 1100 | QoS Null | wlan.fc.type_subtype == 0x2C | |
10 | Data | 1101 | Reserved | wlan.fc.type_subtype == 0x2D | |
10 | Data | 1110 | QoS + CF-poll (no data) | wlan.fc.type_subtype == 0x2E | |
10 | Data | 1111 | Qos + CF-ack (no data) | wlan.fc.type_subtype == 0x2F | |
11 | Reserved | 0000-1111 | Reserved |
开放空间损耗(以dB为单位)=32.5+20[log10(频率,以GHz为单位)+log10(距离,以米为单位)]
开放空间损耗受到两种因素的影响:”信号的频率”与”覆盖的距离”。频率越高或距离越长,衰减就越严重。
ACK (acknowledgment) | 应答 |
AID (association identifier) | 关联识别码 |
AP (accss point) | 访问点 |
ATIM (announceent traffic indication message) | 广播传输指示消息 |
BSA (basic service area) | 基本服务区 |
BSS (basic service set) | 基本服务集 |
BSSID (basic service set identification) | 基本服务集识别码 |
CCA (clera channel assessment) | 干净信道评价 |
CCK (complemenetary code keying) | 补码键控 |
CF (contention free) | 无竞争 |
CFP (contention-free period) | 无竞争期 |
CID (connection identifier) | 连接标识符 |
CP (contention period) | 竞争期 |
CRC (cyclic redundancy code) | 循环冗余码 |
CS (carrier serse) | 载波侦听 |
CTS (clear to send) | 允许发送 |
CW (contention window) | 竞争窗口 |
DA (destination address) | 目的地址 |
DBPSK (differential binary phase shift keying) | 差分二进制相移键控 |
DCE (data communication equipment) | 数据通信设备 |
DCF (distributed coordination function) | 分布式协调功能 |
DCLA (direct current level adjustment) | 直接电平调整 |
DIFS (distributed (coordination function)interframe space) | 分布式(协调功能)帧间间隔 |
DLL (data link layer) | 数据链路层 |
DP (desensitization) | 减敏现象 |
DQPSK (differential quadrature phase shift keying) | 差分正交相移键控 |
DS (ditribution system) | 分发系统 |
DSAP (destination service access point) | 目的服务访问点 |
DSM (distribution system medium) | 发系统媒介 |
DSS (distribution system service) | 分发系统服务 |
DSSS (direct sequence spread spectrum) | 直接序列扩频 |
DTIM (delivery traffic indication message) | 交付传输指示信息 |
ED (energy detection) | 能量检测 |
EIFS (extended interframe space) | 扩展帧间间隔 |
EIRP (equivalent isotropically radiated power) | 等效全向辐射功率 |
ERS (extended rate set) | 扩展速率集 |
ESA (extended service area) | 扩展服务域 |
ESS (extended service set) | 扩展服务集 |
FC (frame control) | 帧控制 |
FCS (frame check sequence) | 帧校验序列 |
FER (frame error ratio) | 帧差错率 |
FH (frequency hopping) | 跳帧 |
FHSS (frequency-hopping spread spectrum) | 跳帧扩频 |
FIFO (first in first out) | 先进先出 |
GFSK (Gaussian frequency shift keying) | 高斯频移键控 |
HEC (Header Error Check) | 头部差错校验 |
HR/DSSS (High Rate direct sequence spreadd spectrum using the Long Preamble and header) | 使用长前导和长头部的高速直接序列扩频 |
HR/DSSS/short (High Rate direct sequence spreadd spectrum using the optional Short Preamble and header mode) | 使用可选的短前导和短头部的高速直接序列扩频 |
HR/DSSS/PBCC (High Rate direct sequence spreadd spectrum using the optional packet | |
binary convolutional coding mode and the Long Preamble and header) | 使用可选分组二进制卷积编码方式和长前导和长头部的高速直接序列扩频 |
HR/DSSS/PBCC/short (High Rate direct sequence spreadd spectrum using the optional packet binary convolutional coding mode and the optional Short Preamble and header) | 使用可选分组二进制卷积编码方式和可选短前导和短头部的高速直接序列扩频 |
IBSS (independent basic service set) | 独立基本服务集 |
ICV (integrity check calue) | 完整性检验值 |
IDU (inteface data unit) | 接口数据单元 |
IFS (interframe space) | 帧间间隔 |
IMP (intermodulation) | 互调保护 |
IR (infrared) | 红外线(的) |
ISM (industrial,scientific.and medical) | 工业 科学 医疗 |
IV (initialization vector) | 初始化矢量 |
LAN (local area network) | 局域网 |
LLC (logical link control) | 逻辑链路控制 |
LME (layer management entity) | 层管理实体 |
LRC (long retry count) | 长重发计数器 |
LSB (least significant bit) | 最低位比特 |
MAC (medium access control) | 媒介访问控制 |
MDF (management-defined field) | 管理定义域 |
MIB (management information base) | 管理信息库协议层管理实体 |
MMPDU (MAC management protocol data unit) | 媒介访问控制管理协议数据单元 |
MPDU (MAC protocol data unit) | 媒介访问控制协议数据单元 |
MSB(most significant bit) | 最高位比特 |
MSDU(MAC service data unit) | 媒介访问控制服务数据单元 |
N/A(not applicable) | 不可用 |
NAV(network allocation vector) | 网络分配矢量 |
PC(point coordinator) | 集中协调器 |
PCF(point coordination function) | 集中协调功能 |
PDU(protocol data unit) | 协调数据单元 |
PHY(physical [layer]) | 物理层 |
PHY-SAP(physical layer service access point) | 物理层服务访问点 |
PIFS(point [coordination function] interframe space) | 集中协调功能帧间间隔 |
PLCP(physical layer convergence protocol) | 物理层收敛协议 |
PLME(physical layer management entity) | 物理层管理实体 |
PMD(physical edium dependent) | 物理媒介依赖 |
PMD-SAP(physical medium dependent service access point) | 物理媒介依赖服务访问点 |
PN(pseudo-noise [code sequence]) | 随机噪声(码序列) |
PPDU(PLCP protocol data unit) | 物理层收敛协议协议数据单元 |
ppm(paresper million) | 百万分率,百万分之…… |
PPM(pulse position modulation) | 脉冲相位调制 |
PRNG(pseudo-random number generator) | 随机号码发生器 |
PS(power save [mode]) | 节能(模式) |
PSDU(PLCP SDU) | 物理层收敛协议服务数据单元 |
RA(receiver address) | 接收地址 |
RF(radio frequency) | 射频 |
RTS(request to send) | 请求发送(发送请求) |
RSSI(received signal strength indication) | 接收信号强度指示 |
RX(receive or receiver) | 接收或者接收机 |
SA(source address) | 源地址 |
SAP(service access point) | 服务访问点 |
SDU(service data unit) | 服务数据单元 |
SFD(start frame delimiter) | 开始帧分隔符 |
SLRC(station long retry count) | 站点长和和重传计数器 |
SIFS(short interframe space) | 短帧间间隔 |
SME(station management entity) | 站点管理实体 |
SMT(station management) | 站点管理 |
SQ(signal quality [PN code correlation strength]) | 信号质量(PN码相关长强度) |
SRC(short retry count) | 短重传计数器 |
SS(station service) | 站点服务 |
SSAP(source service access point) | 源服务访问点 |
SSID(service set identifier) | 服务集识别码 |
SSRC(station short retry count) | 站点短和重传计数器 |
STA(station) | 站点 |
TA(transmitter address) | 发送地址 |
TBTT(target beacon transmission time) | 目标信标发送间隔时间 |
TIM(traffic indication map) | 传输指示图 |
TSF(timing synchronization funcgion) | 定时同步功能 |
TU(time unit) | 时间单位 |
TX(transmit or transmitter) | 发送或者发送机 |
TXE(transmit enable) | 发送使能 |
UCT(unconditional transition) | 无条件转移 |
WAN(wide area network) | 广域网 |
WDM(wireless distribution media) | 无线分发媒介 |
WDS(wireless distribution system) | 无线分布式系统 |
WEP(wired equivalent privacy) | 有线等效加密 |
WM(wireless medium) | 无线媒介 |
原文出处:http://blog.sinthink.cn/2016/02/13/%E5%85%B3%E4%BA%8E-802-11-%E5%8D%8F%E8%AE%AE/
由衷的感谢原文作者,在此致以真诚的谢意!