3.5.3   省电程序

在RF系统中,放大器是最耗电的元件,由它负责将发送出的信号放大,以及将所收到的信号放大到可处理的水平。802.11工作站可以关闭无线电波收发器,并且定期进入休眠状态,以维持最长的电池使用时间。在这段期间,接入点会为每部处于休眠状态的工作站暂存帧。若有暂存帧,接入点会在后续的 Beacon帧中告知工作站。由省电状态唤醒的工作站可以使用 PS-Poll帧取得这些暂存帧。

接收到PS-Poll帧的接入点,可以立即采取回应,也可以等到环境许可,比较空闲时再予以应答。有时候,采用哪种 PS-Poll回应决定自接入点所采用的芯片组的厂商。有些芯片组厂商同时支持两种模式,有些则只支持一种。802.11只要求支持一种方式即可,因此两种做法均符合标准要求。

3.5.3.1 立即应答

接入点可以对 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 立即回应

 3.5.3.2 延迟应答

除了立即应答,接入点可以先回复一个简单应答。这种做法称为延迟应答(deferred response),因为接入点虽然回应了访问暂存帧的要求,但未并立即采取实际的发送行动。使用延迟应答的优点之一,在于接入点方面的软件较易实现,因为应答信息可以通过芯片组立即传送,至于数据则可以先予以暂存,然后依正常过程传输。

通过PS-Poll要求帧的工作站必须保持清醒,直到该帧传输完成。不过,在竞争式服务期间,接入点可能在任何时间传递帧。此时工作站不能返回省电模式,除非接收到一个Beacon帧,其中对应该工作站的 TIM (数据待传)bit已被清除。

图1-21 说明了整个过程。在此图中,工作站刚由省电模式转变为活动模式,同时注意到接入点已经为它暂存了帧。于是工作站会发出 PS-Poll给接入点,要求接收这些暂存帧。不过,接入点可能会选择延迟应答,因此只回传了一个 ACK。到目前为止,接入点已经回应了工作站的暂存帧访问要求,并且承诺将在某个时间点加以传送。工作站必须处于活动模式等候,也许经过几次基本帧交换之后,接入点就会送出工作站所要的数据。虽然在图 1-21 中并未显示,不过暂存帧还是由可能遭到分段的。

 

            图 1-21:PS-Poll 延迟回应的范例

收到数据帧之后,工作站还是必须停留在清醒状态,直到下一个 Beacon 帧被传送出来。Beacon帧只是用来提醒,是否有为某部工作站暂存的帧,没有办法告知实际的帧数量。一旦工作站收到的 Beacon帧中显示已无暂存帧,便可断定已经完成暂存帧的接收,然后返回省电模式。

3.5.4   多种速率支持(Multirate Support )

能够以不同速度工作的网络技术必须具备一种机制,可以协调出一种收发端彼此均可接受的数据率。速度协商对工作站而言尤其方便。工作站可以经常变化速率,以便回应无线电环境的快速变动。但工作站间的距离改变,速度也会随之变动。工作站必须能够适应随时变动的环境,必要时更改传输速率。和一些其他协议功能一样,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 )。

 3.5.4.1 选速与降速

市面上所有 802.11界面均支持某种降速机制,可以适应不同网络环境选择所使用的数据率。速率选择主要在决定一张网卡该在何时升速以提高链路质量。802.11标准并未规范工作站如何决定是否降速(或升速),因此速率选择如何实现,留给芯片厂商自行决定。几乎所有芯片组均有自己一套选择机制,因此,大多数 802.11界面的工作方式均有所不同。速率选择可以通过程序控制,一般是由驱动界面的程序所控制。速率选择机制可以公国驱动程序或者软件升级。

最常用来判断何时应该变速的算法,其实是通过一些不是那么严谨的信号品质量测量。信号质量可以直接就信噪比(signal-to-noise ratio )加以测量,或者间接观察有多少帧需要重传。

直接测量信噪比,可以针对最近一个帧的瞬间信号质量,或者就最近一段期间所接收到之一定数量的帧取平均数。有些芯片组会直接测量信噪比,不过随后会将之转换为相应的“信号质量”(signal quality )。当信号质量变差,芯片就会以降速来适应。

至于间接测量,则是监测瞬间或平均漏失多少帧,然后予以适度补偿。采用间接测量的算法,简单来讲就是:如果帧已经丢失且帧重传计数器已经用尽,那就降速至下一档,然后重试一遍;反复进行以上步骤直到帧送出,或者一直尝试到最低速率都无法成功传递为止。采用间接信号品质量测的芯片组或许会稍微修改上述算法,避免耗费过多时间在物理层所支持的所有速率间逐次降速。尤其近来的芯片组均支持不少的速率,在较低速率上反复重试将会相当费时。

3.6   帧的处理与桥接

无线接入点的核心,其实就是桥接器,负责在无线与有线介质之间转换帧。虽然 802.11并未限制非得使用哪种有线介质技术,放弃以太网不用的接入点还真没见过。

 

            图 1-22:在无线与有线介质之间转换帧

大多数接入点在设计上就是扮演802.11与以太网之间的桥梁,因此,了解帧在两种介质之间的传递方式就相当重要。如图1-22 所示。

3.6.1   无线介质到有线介质(802.11至以太网)

当接入点的无线界面接收到准备传送至有线网络的帧,接入点就必须在两种介质间桥送帧。非正式来讲,以下是接入点必须进行的一系列工作:

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.  所产生的新帧交付以太网界面传送。

3.6.2   有线介质至无线介质(Wired Medium to Wireless Medium )

将帧从接入点有线端桥接至无线介质的过程刚好相反:

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界面传送。

3.6.3   服务质量延伸功能

服务质量延伸功能会影响帧的传输顺序,但并不会改变帧行径 802.11 MAC 的基本路径。

802.11e 服务质量延伸功能并非只使用单一传输序列,而是在上述有线至无线桥接程序中的第 4、5 、7 步骤采用多组传输序列。这些步骤会根据优先次序进行帧处理;而优先次序取决于帧的内容以及配置设定中预先指定的优先性分级规则。