一 前言
802.11 规格的关键在于MAC(介质访问控制层),属于数据链路层,它定义了数据帧怎样在介质上进行传输。MAC 位于各种物理层之上,控制数据的传输。不同的物理层可以提供不同的传输速度,不过物理层之间必须彼此互通。
二 正文
3.1 MAC 所面临的挑战
3.1.1 射频链路质量
在有线的以太网中,假定对方必然会收到所传送的帧是合理的。无线链路问题:噪声问题,多径衰落(multipath fading)所造成的传输死角(dead spot),也可能导致帧的
无法传递。
有线:必然会收到帧。
无线:干扰和多径衰落总会存在。
802.11 采用正面回应机制。所有传送出去的帧都必须得到回应。
图3-1 所列出的步骤称为基本操作,指不可分割的单一处理单元。虽然整个处理过程包含好几个步骤,但还是会被视为单一不可分割的过程。无线电波的链路品质也会影响网络连接的速度。信号质量较好就可以用较高的速度来传送数据。信号质量通常随着距离的拉长而有所衰减,亦即802.11 工作站的数据传输速度,取决于他和接入点之间的相对位置。
3.1.2 隐藏节点的问题
在以太网络中,工作站是通过接收传输信号来行使CSMA/CD 载波侦听的功能。空中的介质线路中包含了信息,而且会传输到各网络节点。无线网络的界线比较模糊,有时候并不是每个
节点都可以跟其他节点直接通信,如图3-2 所示。
如图3-2 所示,节点2 可以之间跟节点1 和节点3 通信,不过某些因素导致节点1 与节点3 无法直接通信。(这与障碍物的关系并不大:节点1 与3 之间可能只是因为距离远,无法收到
对方的无线电波。)从节点1 的角度来看,节点3 属于隐藏节点。隐藏节点:我的看法是,不在节点的无线电波覆盖范围内,且是相对某个节点而言。如对于节点1,则节点3属于隐藏接点。
在无线网络中,由隐藏节点所导致的碰撞问题相当难以监听,因为无线收发器通常是半双工工作模式,即无法同时收发数据。为了防止碰撞发生,802.11 允许工作站使用请求发送(RTS)和允许发送(CTS)帧来清空传送区域。如图3-3 所示,节点1 有个数据帧待传送,因此送出一个RTS 帧启动整个过程。RTS 帧本身带有两个目的:预约无线链路的使用权,并要求接收到这一消息的其他的工作站停止发言。一旦收到RTS 帧,接收端会以CTS 帧应答。随着802.11 逐渐成熟,隐藏节点已经不成问题。在小型、不太活跃、只有几部客户端共享
一个接入点的网络里,很少会有同时进行传输的情况,何况还有不少闲置频宽可供重传之用。如果802.11 网卡的驱动程序支持,使用者可以通过调整RTS 门限值来控制RTS/CTS 程序。只要大于此门限值,就会进行RTS/CTS 交换程序。小于此门限值则会直接传送数据帧。
3.2 MAC 访问控制与时钟
无线介质的访问,是由协调功能所管控。以太网之类的CSMA/CA 访问,是由分布式协调功能(distributed coordination function,简称DCF)所管控。如果需要用到免竞争服务,则可
通过架构于DCF 之上的点协调功能(point coordination function,简称PCF)来管控。免竞争服务只提供于基础网络(infrastructure network),不过只要工作站支持HCF,就可以在网络中提供服务质量(quality of service ,简称QoS)。
DCF(分散式协调功能)
DCF 是标准CSMA/CA 访问机制的基础。
PCF(点协调功能)
点协调功能提供的是免竞争服务。称为点协调者的特殊工作站可以确保不必通过竞争即可使用介质。
HCF(混和式协调功能)
有些应用需要尽力传达更高一级的服务质量,却又不需要用到PCF 那么严格的管控。HCF允许工作站维护多组服务队列,针对需要更高服务品质的应用,则提拔更多的介质访问机会。
3.2.1 载波监听功能与网络分配矢量
载波监听主要用来判定介质是否处于可用状态。802.11 具备两种载波监听功能:物理载波监听与虚拟载波监听。只要其中有一个监听功能显示介质处于忙碌状态,MAC 就会将此报告给
高层的协议。虚拟载波监听是由网络分配矢量(Network Allocation Vector,简称NAV)所提供。802.11的帧通常会包含一个duration 位,用来预定一段介质使用时间。。工作站会将NAV 设定为预计使用介质的时间,这包括完成整个处理必须用到的所有帧。其他工作站会由NAV 值倒数至零。只要NAV 的值不为零,代表介质处于忙的状态,此即虚拟载波监听功能。当NAV 为零时,虚拟载波监听功能会显示介质处于闲置状态。
3.2.2 帧间隔。
802.11 会用到四种不同的帧间隔。其中三种用来判定介质的访问;为802.11 MAC 内建避免碰撞的功能,所以工作站会延迟介质的访问,直到介质再度空闲。不同的帧间隔,会为不同类型的传输产生不同的优先次序。其后的决定逻辑十分简单:当介质闲置下来时,高优先级的数据所等待的时间较短。
短帧间隔(Short interframe space ,简称SIFS)
SIFS 用于高优先级的传输场合,例如RTS/CTS 以及正面应答帧。经过一段SIFS(时间),即可进行高优先级的传输。
点帧间隔(PCF interframe space ,简称PIFS)
PISF 主要被PCF 使用在免竞争过程,有时被误解为优先性帧间隔。在免竞争时期,有数据传输的工作站可以等待PISF 期间过后加以传送,其优先程度高于任何竞争式传输。
分布式帧间隔(DCF interframe space ,简称DIFS)
DIFS 是竞争式服务中最短的介质闲置时间。如果介质闲置时间长于DIFS,工作站可以立即对介质进行访问。
扩展的帧间隔(Extended interframe space ,简称EIFS)
因为EIFS 并非固定的时间间隔。只有在帧传输出现错误时才会用到EIFS。
3.2.3 帧间隔与优先程度
一开始,基本操作和一般传送并无不同:在可以开始传送之前,基本操作同样必须等待一段帧间隔(通常是DIFS)时间。不过,其后的步骤即开始使用SIFS,而非DIFS。由于SIFS短于其他帧间隔,一项基本操作的第二(以及之后的)步骤会在其他类型的帧被传送之前将介质占为己用。利用SIFS 与NAV,工作站可以视需要占用介质一段时间。