首页 关于
树枝想去撕裂天空 / 却只戳了几个微小的窟窿 / 它透出天外的光亮 / 人们把它叫做月亮和星星
目录

802.11简介

在进入无线网络的细节之前,我们先通过本文从总体上介绍一下802.11的网络。 因为,网络协议往往涉及到各式各样的定义和缩写,本文将从总体上予以介绍,希望在以后深入到细节的时候能够有些概念。

虽然802.11网络与以太网(Ethernet)十分相似,但是802.11网络仍然有很多特定的设计,将以太网扩展到了无线世界中。 802.11的核心就是媒介访问控制(Media Access Control, MAC)的方式。无线网卡使用的是48位的MAC地址,保证了对有线网络的兼容性。 MAC地址就是一个固定值,与以太网的MAC地址一样,802.11的MAC地址也一样会出现在ARP列表中,使用相同的供应商前缀,这些都没有什么分别。

而构成802.11网络的设备则与以太网络的设备有很大的不同。最大的特点就是802.11的网络设备是可以随意移动的。

1. IEEE 802协议族

IEEE 802协议族是一系列局域网(Local Area Network, LAN)技术的协议族,802.11是其中一员。IEEE 802协议族关注的是OSI模型最底下的两层, 所有的802网络都有一个MAC和一个PHY组件,分别描述链路层和物理层的设备。MAC指定了访问媒介以及发送数据的规则, 而数据是如何接受和发送的则由PHY实现。

802协议族中的各个网络通过第二个数字加以区分。比如说,802.3是载波监听多路访问/冲突检测(Carrier Sense Multiple Access Network with Collision Detection, CSMA/CD)规范,它应用于以太网。802.5描述了令牌环(Token Ring)网络的实现。 802.2描述了一个一般的链路层控制协议LLC(Logical Link Control),可供所有局域网底层技术使用。802.1记录了802网络的管理特性, 它还有很多扩展协议比如桥接(802.1d)和虚拟局域网(Virtual LANs, VLANs, 802.1q)。

802.11只不过是一种使用LLC封装的链路层协议。最早802.11只定义了MAC和两种物理层:跳频扩频物理层(Frequency-Hopping Spread-Spectrum, FHSS)和直接序列扩频物理层(Direct-Sequence Spread-Spectrum, DSSS)。后来802.11陆续添加了其它的物理层, 802.11b描述了一个高速直接序列扩频物理层(High-Rate DSSS, HR/DSSS)。 802.11a定义了一个基于正交频分复用(Orthogonal Frequency Division Multiplexing, DFDM)的物理层。

802.11用无线电波作为物理层,将PHY划分为了两个一般组件:物理层汇聚过程(Physical Layer Convergence Procedure, PLCP)负责将MAC帧映射到传输媒介, 和物理媒介相关的系统(Physical Medium Dependent, PMD),负责传送MAC帧。PLCP是MAC与物理层之间的接口。

2. 802.11网络

802.11网络由四个部分构成:

基本服务集(Basic Service Set, BSS)是802.11网络的基本组件,它就是Stations之间简单的相互通信。通信在一个模糊的空间中进行,称为基本服务空间(basic service area), 它是无线媒介的传播特性决定的。当一个station在基本服务空间中,就可以与BSS中的其它成员通信。

BSS网络有两种形式:

IBSS网络中Stations之间虽然可以直接交互,但需要每个工作站维护与其它工作站之间的邻接关系,对物理层提出了比较高的要求。基础结构网络虽然需要更高的带宽,但维护结构简单。 基础结构网络要求各个Station有一个关联的过程,这个过程就好像是插上网线一样,关联一个AP之后才可以取得网络服务。

一个接入点的网络覆盖能力有限,如果我们希望得到一个能够覆盖一个公园的无线网络服务,就需要用到扩展服务集(Extended Servicce Set, ESS)。 它由多个通过分布系统连接在一起的AP构成。ESS是802.11网络中的最高抽象概念,其中的各个接入点(AP)相互合作, 使得外界能够使用单一的MAC地址与其它Station通信,而不必关心Station具体与哪个AP设备连接。

3. 802.11的MAC

802.11网络的关键就在于MAC。MAC位于各式物理层之上,控制着数据的传输,负责构成网络数据帧以及与有线骨干网络之间的交互。 不同的物理层可能提供不同的传输速度,但物理层之间必须彼此合作。

802.11也是采用CSMA的机制控制对传输媒介的访问。不过由于冲突(collisions)会浪费宝贵的传输资源,因此802.11使用的是冲突避免(Collision Avoidance, CA)机制, 而不是以太网中的冲突检测(Collision Detection, CD)机制。与以太网一样,802.11采用的是不具中枢控制功能的分布式访问机制,因此每个station访问媒介方式都是一样的。 802.11与以太网之间的主要差异在于各自所使用的底层媒介。

3.1 无线网络所面临的两个挑战

无线网络环境与有线网络环境之间存在较大的差异,为无线网络的设计带来了很多难题。其中最主要的有两个:无线通信的可靠性、隐藏节点问题。

在有线网络中,我们有理由假定数据的接收方一定能够收到所有的数据帧。但在无线链路中,存在着各种各样的噪声,微波炉都可能对无线传输带来干扰。 而且随着传播距离的拉长,无线信号减弱,数据在传输过程中出错甚至丢失是很正常的一件事情。

为了提高无线传输的可靠性,802.11采用了正确认(positive acknowledgment)的机制,要求所有发送出去的帧都必须得到响应。如果发送方没有接收到ACK, 就意味着一次传输失败。失败的原因可能有多种形式,接收方没有收到正确的数据帧、接收方正确的接收到帧了但发送方并没有收到确认信号,不论是那种形式的失效,都是失效。 发送数据帧并接收到ACK确认数据帧成功发送的过程就是一个原子操作,整个操作过程中包含若干个步骤,我们不必深究在哪一步失效了,只要没有收到确认信号,数据帧就需要予以重传。 这样就提高了无线通信的可靠性。

为了解释隐藏节点问题,我们考虑如下的一个场景。有三个节点需要通信,节点1和节点3只能分别与节点2通信,节点1与节点3之间因为距离太远无法收到对方的无线信号。 此时节点3对于节点1来说就是一个隐藏节点。节点1和节点3可能在同一时间传送数据,在节点2这边就会产生相互的干扰,以至于节点2无从响应。 但是节点1与节点3是不知道有冲突发生的。

对于有线传输,信号都是在线缆中进行的,通过检测线缆上有没有信号就可以知道通信媒介是否已经被占用了,这也就是所谓的冲突检测CD机制。 而在无线网络中,信号的传递范围是模糊的,冲突检测机制就显得不适用了。

为了让节点2能够正常的接受数据,避免冲突的发生。802.11允许Station使用请求发送(Request to Send, RTS)和清楚发送(Clear to Send, CTS)来控制信号空间。 当节点1有一个帧需要传送的时候,就先送出一个RTS帧开启数据帧的传递过程。空间中所有可能接收到RTS帧的设备在未来的一段时间内都会保持沉默,不再发送数据。 而RTS帧的目标端则会以CTS帧应答。同样的,空间中所有可能接收到CTS帧的设备也会保持一段时间的沉默。在这段沉默的时间中,无论是发送端还是接收端周围都不会再有其它设备发送数据, 占用无限信道。节点1就可以放心的发送数据帧到节点2不需要担心有任何隐藏节点的干扰。

3.2 MAC的访问模式与时机

无线媒介是整个网络的公共资源,为了正常的网络通信,我们就需要尽量避免冲突的发生。CSMA/CA机制就是有分布式协调功能(Distributed Coordination Function ,DCF)控制的。 如果要求无竞争服务(contenion-free service),则需要用到建立在DCF之上的点协调功能(Point Coordination Function, PCF)。

DCF是标准CSMA/CA访问机制的基础。和以太网一样,在传送数据之前,需要先检查无线链路是否处于清空的状态。当需要避免冲突时,Station会随机地为每个帧选定一个退避(backoff)时间。 有时也可以通过RTS/CTS来进一步减少冲突的可能性。PCF是由AP提供的服务,因此只有基础结构网络才有这种功能,提供的是无竞争服务。允许工作站经过一段较短的时间间隔后发送, 实际上PCF并没有被广泛的应用。实际上,还有一种介于DCF和PCF之间的混合协调功能(Hybrid Coordination Function, HCF)。可以在网络中提供质量服务(Quality of Service, QoS)。 可以提供比DCF更高一级的服务质量,却不需要PCF那样严格控制时机。

载波监听(Carrier Sensing)主要用来判断媒介是否处于可用的状态。802.11描述了物理和虚拟的两种载波监听功能,只要其中一个监听功能显示媒介处于忙碌的状态,MAC就将之汇报给高层的协议。 物理载波监听的硬件成本很高,而且由于隐藏节点问题的存在,物理载波监听技术并不能够提供所有的信息。一般都需要有虚拟载波监听手段。

虚拟载波监听是由网络分配向量(Network Allocation Vector, NAV)提供的。NAV本质上是一种计时器,它以微秒为单位向下计数。只要NAV的值不为零,就表示媒介处于忙碌的状态。 802.11的帧中有一个Duration的字段,指示一个设备占用媒介的时间。各个接收到数据帧的工作站都会更新其NAV计数为Duration字段中描述的值。

NAV可以保证数据帧传送的原子操作不被中断。RTS/CTS过程就是一对原子操作。比如说现在节点1先发送一个RTS帧,在帧中设定了Duration所有收到RTS帧的工作站都会延迟访问媒介, 直到NAV计数为零。但是由于隐藏节点的存在,并不保证接收端周围没有节点产生冲突,所以接收节点在发送CTS帧时,也会设置Duration以更新其周围节点的NAV。之后的帧传送和ACK过程, 一样可以设定Duration,直到整个传送过程结束后,再经过一段分布式帧间间隔(Distributed Interframe Space, DIFS)之后,任何设备就可以对媒介进行访问了,也就进入了竞争窗口(Contention Window)。

上述的DIFS就是分布式协调功能DCF的一个部分。帧间间隔就是在媒介上连续两帧之间的一段延时,它是协调媒介访问的重要手段。802.11涉及了四种不同的帧间间隔, 其中三种都是用来决定媒介的访问时机的。802.11的MAC内置了冲突避免机制,所以设备会延迟对媒介访问,直到媒介空闲。不同的帧间间隔为不同类型的传输带来了不同的优先级, 当媒介再次空闲的时候,高优先级数据帧的帧间间隔小,优先占用媒介。

3.3 基于DCF的竞争访问规则

大部分的无限网络都是采用DCF的,它允许多个独立的Station彼此交互,无需通过中心控制节点,因此可以运用于IBSS网络或者基础结构网络中。 在试图传送任何数据之前,Station必须查看无线媒介是否处于闲置状态。若不是,必须延迟访问并利用指数退避(exponential backoff)算法来避免冲突。 所有使用DCF的传输中都会用到如下的两个基本规则:

  1. 如果媒介闲置时间长于DIFS,便可以立即进行传输。载波监听可以同时使用物理和虚拟的两种方式进行。若之前的帧接收无误,则必须至少空出一段DIFS, 若有无,则需要空出一个EIFS。
  2. 若媒介处于忙碌状态,Station必须等待信道再次闲置方可使用,802.11称之为访问延迟(access deferral)。一旦经历过访问延迟,工作站将认为媒介闲置, 此时开始等候DIFS或者EIFS,同时准备指数退避过程(exponential backoff procedure)。

在一些特定的情况下还有一些额外的规则:

  1. 发送端负责错误恢复(error recovery)。发送端预期每个帧都会收到一个确认帧,如果没有收到就必须重新发送直到成功为止。
    • 只有收到正确认(positive acknowledgment)才表示发送成功。
    • 所有的单播(unicast)数据都必须确认,广播数据则不需要。
    • 每个Station都应当有一个重试计数器(retry counter),只要发送失败该计数器就要累加。
  2. 多帧序列可以在传送过程的每个步骤中都跟新NAV。当所收到的Duration比Station当前计数的NAV还要大,Station就需要更新NAV。
  3. 以下帧类型可在SIFS之后进行传输,具有较高的优先级:确认(acknowledgment)、RTS/CTS过程中的CTS以及片段序列(fragment sequence)中的帧片段(fragment)。
  4. 如果高层的包(higher-level packet)的大小超过所设定的分段阈值(fragmentation threshold),则必须加以分段,并使用扩展帧序列(extended frame sequence)。

上面所说的分段发送,是指当一个上层数据包的长度大于一定阈值之后,需要将一个大包拆分为若干小包予以发送。这样可以降低可能被干扰的数据量,提高整体的有效吞吐量。 在扩展帧序列中,每个帧片段都有一个相同的帧序号(frame sequence number)以及一个递增的帧片段编号(fragment number)以便重组。其中还有一个帧控制信息(frame control inforation)用来只是是否还有其它帧片段待收。

4. 总结

一个无限网络由四个部分构成:AP、Station、无线媒介和分布系统(或者说是骨干网络)。以BSS作为网络的基本组件,有支持Station之间直接通信的IBSS网络,也有建立在AP之上的基础结构型网络。 为了提高无限网络的覆盖范围,还有扩展服务集ESS。

802.11是IEEE 802网络协议族的一员,它定义和描述了用于无线网络的物理层和链路层,不同的物理层使用802.11a, 802.11b等协议具体定义。 其关键就是MAC,它位于各式物理层之上,控制着数据的传输。为了提高无线通信的可靠性,802.11采用应答的机制,执行出错重传。另外通过合理的控制无限媒介的访问时机,避免冲突, 通过CSMA/CA机制控制数据传输。




Copyright @ 高乙超. All Rights Reserved. 京ICP备16033081号-1