802.3以太网帧格式11的四种帧间间格SIFS,PIFS,DIFS,EIFS的时间大小关系

 上传我的文档
 上传文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
802.11协议标准
下载积分:2500
内容提示:802.11协议标准
文档格式:PPT|
浏览次数:143|
上传日期: 12:52:41|
文档星级:
全文阅读已结束,如果下载本文需要使用
 2500 积分
下载此文档
该用户还上传了这些文档
802.11协议标准
关注微信公众号豆丁微信公众号
君,已阅读到文档的结尾了呢~~
Ad Hoe网络作为一种无中心节点自由组网的特点的网络非常适合应急通信的要求。在应急通信中,语音通信是最基本也是最为实用的。近些年来VOIP技术迅猛发展。相比于传统语音通信,VOIP技术使用语音压缩编码,带宽利用率高,利用互联网进行传输,因而价格低廉。更重要的是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。SIP协议以其强大的功能和良好的扩展性是未来VOI..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Ad+Hoc网络中VOIP应用的研究
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口802.11协议帧间间隔-SIFS,DIFS,PIFS,EIFS&及&slottime
SIFS, Short Interframe
Space(SIFS):在802.11系列无线局域网中SIFS是固定值,SIFS是最小的帧间间隔,因此采用SIFS的节点具有访问无线链路的最高优先级。它等于节点从发送状态切换到接收状态并能正确解码所需要的时间,或者从接收状态转为发送状态所需要的时间,在SIFS过期后可能发送的数据包包括ACK、CTS帧,不同标准中规定的SIFS值不同。
IEEE 802.11b
IEEE 802.11a
IEEE 802.11g
DIFS, DCF Interframe
Space(DIFS):在DCF协议中,节点在开始发送数据之前需要监测信道是否空闲。如果信道已经空闲,则节点仍需等待DIFS段时间才开始发送数据;而如果在DIFS时间段内任一时刻信道被监测为忙,则节点不得不推迟它的数据发送。DIFS和SIFS间的计算关系如下:
DIFS = SIFS + (2 * Slot time)
Slot Time(&s)
IEEE 802.11b
IEEE 802.11a
IEEE 802.11g
PIFS, PCF Interframe
Space(PIFS):PCF使得AP等待PIFS而不是DIFS时间以访问信道,由于DIFS & PIFS
& SIFS,因此AP总比普通节点具有更高的访问信道的优先级。
PIFS = SIFS + Slot time
Slot time(&s)
IEEE 802.11b
IEEE 802.11a
IEEE 802.11g
EIFS, Extended Interframe
Space(EIFS):在前一帧出错的情况下,发送节点不得不延迟EIFS而不是DIFS时间段后再发送下一帧。
EIFS = Transmission time of Ack frame at lowest basic rate + SIFS +
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。您还可以使用以下方式登录
当前位置:&>&&>& > 802.11mac层详解
802.11mac层详解
IEEE 802.11 Wireless LAN 网络1. 网络架构及特性简介由于可携式计算机(包含笔记型计算机 (notebook) 和掌上型计算机 (laptop))普及率的快速成长,无线局域网络对今日的计算机及通讯工业来讲,将成为一项重要的观念及技术。在无线局域网络的架构中,计算机主机不需要像在传统的有线网络里,必需保持固定在网络架构中的某个节点上,而是可以在任意的时间作任何的移动,也能对网络上的资料作任意的接入。大体说来,无线网络有四项特性与传统的有线网络不同: 一、无线网络的目的地址(Destination Address)通常不等于目的位置(Destination Location):在有线网络里,一个地址通常就代表一个固定的位置,然而在无线网络里,这件事不一定成立,因为在无线网络中,事先被给定地址的一部计算机,随时都有可能会移动到不同的地方。二、无线网络的传输媒介会影向整体网络的设计:无线网络的实体层和有线网络的实体层基本上有很大的不同,无线网络的实体层有下列特性:点和点之间的连结范围是有限的,因为这牵涉到讯号强弱的关系。 使用了一个需要共享的传输媒介。传送的讯号未被保护,易受外来噪声干扰。 在资料传送的可靠性来讲,较有线网络来的差。 具有动态的网络拓朴结构。因为上述的原因,使得设计整个网络的软硬体架构,就会和传统的有线网络不同。举例而言,由于讯号传送范围的受限,使得无线局域网络硬体架构的设计,就必需考虑到只能在一个有着合理几何距离的区域内。三、无线网络要有能力处理会移动的工作站:对无线网络来讲,一个重要的要求就是,不但能处理可携式的工作站 (portable station),更要能处理移动式的工作站 (mobile station),可携式的工作站也会从某一个位置移动到另一个位置,但长时间来看,它通常还是会固定在某一个位置上。而移动式的工作站就有可能在短时间内不断的移动,且会在移动中仍对网络上的资料作存取。 四、无线网络和其它 IEEE 802 网络层间的关系不同:为了达到网络的透明化,无线局域网络希望做到在逻辑链接层就能和别的网络相通,这使得无线局域网络必需将处理移动性工作站及保持资料传送可靠性的能力全做在网络媒介接入层 (MAC Layer) 中,这和传统有线网络在媒介接入层所需具有的功能是不同的。 无线局域网络正逐渐受到重视,为了使各种竞争产品之间能兼容互通,标准的制定就成了重要的工作,而 IEEE 802.11 无线局域网络 (wireless LAN) 的标准就在这样的情况下诞生。IEEE 802.11 主要目的是要制定一套适合在无线局域网络环境下作业的通讯协议,最重要的工作,就是要制定出 MAC 层和实体层。因此 IEEE 802.11 的参考模式主要分成两部份,第一部份是制定出适用于所有无线网络系统的 MAC 规格,设计出和实体层无关的MAC 协议。第二部份则是制定出和传输媒介相关的 PHY 规格。IEEE 802.11 所支持的每一种传输讯号频宽,都有不同的 PHY 规格。例如,915MHz 频宽、2.4GHz 和5.2GHz 频宽以及红外线频宽等,都有不同的 PHY 规格。此外功率的管理和时限性的服务等也包括在 IEEE 802.11的定义范围内。本章讨论的重点将着重在 IEEE 802.11 所制订出的 MAC 通讯协议上。IEEE 802.11 无线局域网络的主要特性如下:(1)多重传输速率:IEEE 802.11可以让工作站使用不同的传输速率(单位为100kbps)在网络上通讯。例如 0.5 Mbps, 1 Mbps 或 2 Mbps。(2)帧为 IEEE 802.11 帧。
(3)传输媒介为无线电。(4)基本通讯协议为 CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance)。如果同时有二个或二个以上的工作站传送帧将造成冲撞,发生冲撞的帧视为无效并丢弃。IEEE 802.11所采用的 CSMA/CA通讯协议虽可避免大部分不必要的冲撞,但仍无法完全排除冲撞的现象。因此只适合用来传送非实时性的资料。(5)提供两种传送服务。分布式协调功能 (Distributed Coordination Function, DCF) 使用 CSMA/CA ,适合传输非实时信息。集中式协调功能 (Point Coordination Function, PCF) 由网络协调者 (Point Coordinator) 掌控并且以轮询 (polling) 的方式安排工作站传送帧的时机及顺序。由于工作站传送的时间可事先安排,因此可提供保证传送延迟的服务。非实时传输使用之频宽不保证公平分配。在 DCF 部份,由于工作站利用 CSMA/CA 通讯协议来互相竞争传送帧的机会,并没有轮流传送的特性,因此每个工作站实际使用的频宽量可能不同。(6)提供认证 (Authentication) 及资料保密 (Privacy) 功能。无线电是一种开放性的介质,任何人都可以很容易的干扰或窃听。任证是确任对方的身分,免得在不知情的状况下,因为与陌生人通讯而泄漏重要的信息。保密是利用加密 (Encryption) 及解密 (Decryption) 的技术来保护传送的资料,使得窃听者即使窃听到资料也无法得知其内容。(7)较不适合多媒体信息传输。虽然网络提供保证的传送延迟服务,但目前最高的传送速率只有 2 Mbps。此频宽尚不足以应付具有实时要求的多媒体信息。如果无线网络上同时存在许多工作站,则每一部工作站平均分配到的频宽将更少。2.无线局域网络硬件架构要了解无线局域网络硬件架构之前,要先了解无线局域网络协议的功能需求,因为 IEEE 802.11 就是根据这些需求,拟订了一套无线局域网络系统的基本架构。 IEEE 802.11将最低的功能频宽订为 1Mbps,这对于一般性的操作,像档案传输、程序加载、交易处理等,是绝对必要的。对于需要传输实时数据的应用软件,像数字式声音、影像等,IEEE 802.11也提供了时限性 (time bounded)的服务。另外,IEEE 802.11也定义了包括财务、办公室、学校以及工业大楼等各种环境中的可靠操作需求。此外,还定义了行动式的计算机系统至少必须支持每小时几哩的行人速度。而为了整合这些需求,IEEE 802.11就制订出两种不同类型的无线局域网络基本架构:有基础架构的无线局域网络 (Infrastructure Wireless LAN) 无基础架构的无线局域网络 (Ad Hoc Wireless LAN)所谓的基础架构通常指的就是一个现存的有线网络分布式系统 (wired distribution system),在这种网络架构中,会存在一种特别的节点,称作接入点 (access points),这个接入点的功能就是要将一个或多个的无线局域网络和现存的有线网络分散系统相连结,以提供某个无线局域网络中的工作站,能和较远距离的另一个无线局域网络的工作站通讯,另一方面也促使无线局域网络中的工作站,能接入有线分布式系统中的网络资源。这一类型的无线网络通讯范围,通常是以同一栋建筑物出现,例如,商店、医院、或是同一栋楼层。无基础架构的无线局域网络主要是要提供不限量的用户,能实时架设起无线通信网路,在这种架构中,通常任二个用户间都可直接通讯,这一类的无线网络架构在会议室里经常用得上。IEEE 802.11所制订的架构允许「无基础架构的无线局域网络」和「有基础架构的无线局域网络」同时使用同一套基本接入协议。然而,一般讨论 IEEE 802.11 无线局域网络硬体架构,还是偏重在「有基础架构的无线网络上」。IEEE 802.11 所定义的无线网络硬体架构,主要由下列组件所组成(参考图13-1): 图13-1 无线网络硬体架构组成组件Wireless Medium (WM):无线传输媒介,无线局域网络实体层所使用到的传输媒介。Station (STA):工作站,任何设备只要拥有 IEEE 802.11 的 MAC 层和 PHY 层的接口,就可称为一个工作站。Station Services (SS):工作站服务,提供工作站送收资料的服务。Basic Service Area (BSA):在「有基础架构的无线局域网络」中,每一个几何上的建构区块 (building block) 就称为一个基本服务区域 (Basic Service Area, 简称 BSA) ,每一建构区块的大小依该无线工作站的环境和功率而定。Basic Service Set (BSS):基本服务区中所有工作站的集合。 Distribute System (DS):分布式系统,通常是由有线网络所构成,可将数个 BSAs 连结起来。 Access Point (AP):接入点,连结 BSS 和 DS 的设备,不但具有工作站的功能,还提供工作站具有接入分布式系统的能力,通常在一个 BSA 内会有一个接入点。Extended Service Area (ESA):数个 BSAs 经由 DS 连结在一起,所形成的区域,就叫作一个扩充服务区。Extended Service Set (ESS):数个经由分布式系统所连接的 BSS 中的每一基本工作站集,形成一个扩充服务集。Distribution System Services (DSS):分布式系统所提供的服务,使得资料能在不同的 BSSs 间传送。IEEE 802.11 无线网络系统与传统的有线局域网络相连结是经由一个称为 「埠接器」(Portal)的连结设备,如图13-2 所示。端口接器的主要功能是将资料从有线局域网络送入无线网络系统,或将来自无线局域网络的资料送入有线局域网络中。这之间除了必须考虑通讯协议的不同外也要考虑到传输媒介的差异。 图13-2 无线局域网络与有线局域网络之相连结3.无线局域网络软件架构IEEE 802.11的软体架构主要可分为工作站软体和分布式系统软体二部份。标准中并无规定应如何实作此分布式系统软体,取而代之的是,它描述了这个分布式系统应提供那些服务才能满足整个系统所需。因此,无线网络的软件架构可看成是由下列二大类的服务所组成(参考图13-3): 图13-3 无线网络软体服务架构 工作站服务 (Station Services, 简称 SS), 由工作站所提供。此类服务提供工作站具有正确送收资料的能力,另外也考虑传送资料的安全性。包含下列两种服务:身份确认服务(Authentication) 隐密性服务(Privacy)分布式系统服务(Distribution System Services, 简称 DSS),由分布式系统所提供。此类服务使 MAC 帧能在同一个 ESS 中的不同 BSS 间传送。无论工作站移动到那里,也都要能收到它该收到的资料,这类服务大部份是由一个特别的工作站呼叫使用,此工作站本身也同时提供这些服务,因此也称为接入点(Access Point, 简称AP)。接入点是唯一同时提供 SS 和 DSS的无线网络组件,它也是工作站与分布式系统间的桥梁。分散系统提供下列五种服务:联结服务(Association)取消联结服务(Disassociation) 分送服务(Distribution) 整合服务(Integration)重联结服务(Reassociation)IEEE 802.11 所指定的七种服务中有五种是用来支持使「媒介接入服务资料单元」(MAC service data unit,简称 MSDU) 能在不同的 BSS 间传送。另外二种则是用来控制工作站对 IEEE 802.11局域网络的接入,及资料的隐私性。其功能分述如下:分送服务(Distribution):此服务的主要工作就是将分布式系统中的资料送到该送到的地方。以图13-3 为例,假设有一笔帧要从 工作站 1 送到 工作站 4 ,一开始这笔帧会先被送到工作站 2 ( 输入接入点),接着工作站 2 会透过「分送服务」将这笔帧送到工作站 3 (输出接入点),而工作站 3 再透过无线媒介将帧送达工作站 4 。IEEE 802.11 并没有规定分散系统要如何将帧正确的送达目的位置,但它说明了在「联结」(Association)、「取消联结」(Disassociation)及「重联结」(Reassociation) 等服务中该提供那些信息,使得分散系统可以决定该笔帧该送往那个输出接入点,而将帧送达正确的目的地位置。整合服务(Integration):此服务的主要目的是要使帧能在分散系统和现存的传统局域网络间传送。如果分送服务知道该笔帧的目的地位置是一个现存的 IEEE 802.x 有线局域网络,则该笔帧在分散系统中的输出点将是埠接器而不是接入点。分送服务若发现该帧是要被送到埠接器将会使得分散系统在帧送达端口接器后接着驱动「整合服务」,而整合服务的任务就是将该笔帧从分散系统转送到相连的局域网络媒介。其中整合服务要做的主要工作就是将不同的地址空间做一个转换。 为了要了解以下所将要介绍的「联结」(Association)、「取消联结」(Disassociation)及「重联结」(Reassociation)等服务的意义,我们先介绍一个叫做「移动性」(mobility) 的观念,IEEE 802.11对工作站,定义了三种程度的「移动性」,分别描述如下:无变动:此程度的移动性又可分为以下两种型式:静止(工作站根本就没动)及区域性的移动(工作站只在一个基本服务区内移动)。基本服务区的变动:工作站会从一个基本服务区移动到另一个基本服务区,但仍保持在同一个扩充服务区内。扩充服务区的变动:工作站会从某一个扩充服务区内的基本服务区移动到另一个扩充服务区内的基本服务区。联结服务(Association):此服务的主要目的是要在工作站和接入点之间建立一个通讯联机。当分布式系统要将资料送给工作站时,它必需事先知道这个工作站目前是透过那个接入点来接入分布式系统,这些信息就是由联结服务来提供。一个工作站在被允许藉由某个接入点送资料给分散系统之前,它必须先和此接入点作联结,通常在一个基本服务区内有一个接入点,因此任何在这个基本服务区内的工作站想和外界作通讯,就必须先向此接入点相联结。此动作类似注册,因为当工作站作完联结的动作后,接入点就会记住此工作站目前在它的管辖范围之内。请注意在任一瞬间,任一个工作站只会和一个接入点作联结,这样才能使得分散系统能在任一时候知道哪一个工作站是由哪一个接入点所管辖。然而,一个接入点却可同时和多个工作站作联结。联结服务都是由工作站所激活的,通常工作站会藉由激活联结服务来要求和接入点作一个联结。重联结服务(Reassociation):此服务的主要目的是要将一个移动中工作站的联结,从一个接入点转移到另一个接入点。当工作站从一个基本服务区移动到另一个基本服务区时,它就会激活一个「重联结的服务」,此服务会将工作站和它所移入的基本服务区内的接入点作一个联结,使得分散系统将来能知道此工作站目前已由另一个接入点所管辖了。重联结的服务也都是由工作站所激活的。取消联结服务(Disassociation):此服务的主要目的是取消一个联结。当一个工作站传送资料结束时,可以激活「取消联结服务」。另外,当一个工作站从一个基本服务区移动到另一个基本服务区时,它除了会对新的接入点激活「重联结服务」外,也会对旧的接入点激活「取消联结服务」。此服务可由工作站或接入点来激活。不论是哪一方激活,另一方都不能拒绝。接入点可能因为网络负荷的原因,而激活此服务对工作站取消联结。身份确认服务(Authentication):此服务的主要目的是用来确认每一个工作站的身份。IEEE 802.11 支持一种叫做「盘问/响应」(Challenge/Response,简称 C/R) 的身份确认方法。一般 C/R 身份确认的方法主要有下列三个步骤:声明身份 (Assertion of Identity) 盘问声明 (Challenge of Assertion) 响应盘问 (Response to Challenge)
以下为 C/R 身份确认方法的实例声明 (Assertion):我是工作站 4 盘问 (Challenge):证明你的身份 响应 (Response):这是我的密码结果 (Result):如果密码 OK ,工作站就完成身份确认IEEE 802.11 通常要求双向式的身份确认。在任一瞬间,一个工作站能同时和多个工作站(包含接入点)作身份确认的动作。身份确认的服务是属于工作站服务。 隐密性服务 (Privacy);此服务的主要目的是避免传送资料的内容被窃听。无线网络和有线网络不太相同的地方,其中一点就在于无线网络的资料是在空气这开放的介质中传播,因此任何只要装有 IEEE 802.11 适配卡的工作站都能接收到别人的资料,所以资料的保密性若做的不好,资料就很容易被别人所窃听。「隐密性服务」的主要功能就是提供一套「隐密性服务」的算法 (privacy algorithm) 将资料做加密与解密。「隐密性服务」也是属于工作站服务 。? ? ------------------------- MAC Header --------------------------??图13-4 MAC 帧格式4.帧格式IEEE 802.11 的 MAC 帧格式如图13-4 所示,其中包含:帧标头 (Header):30字节,此部份主要包括了控制信息 (control information),地址 (addressing),顺序号码 (sequencing number),持续时间 (duration) 等字段。资料:长度不一(0 - 2312 字节),此部份依帧型态 (frame type) 有所不同。 错误检查码 :4 字节,记录帧的检查码,采用 CRC-32 技术。 2 2 6 6 6 2 6 0-2312 4 字节4.1 帧控制字段帧控制字段之格式如图13-5 所示。其中图13-5 帧控制字段格式Protocol Version : 802.11 标准版本,目前值为 00。Type and Subtype : 帧型态,目前定义的有三种 : Data 帧, Control 帧, Management 帧。 每一种型态有可分为若干次型态,如表13-1 所示。To DS : 此旗标值为 1 表示此 Data 帧(包括广播或群播帧)要传送给分布式系统。若为其它种类的帧,则其值应为 0。From DS : 此旗标值为 1 表示此 Data 帧(包括广播或群播帧)是由分布式系统传送下来。若为其它种类的帧,则其值应为 0。To DS 与 From DS之组合有四种,期代表意义如表13-2 所示。More Fragments : 此旗标值为 1 表示工作站尚有其它片段(Fragments) 待传送。若为其它种类的帧,则其值应为 0。Retry : 此旗标值为 1 表示此 Data 帧(或Management帧)为重送之帧。接收端可依此信息来丢弃重复之帧。Power Management : 此旗标用来显示工作站之电源管理模式。其值为 1 表示此工作站处于省电模式,其值为 0 表示此工作站处于正常模式。所有由 AP 传送的帧上此值都必须为 0。More Data : 此旗标由 AP 用来通知处于省电模式之工作站说 AP 目前仍有MSDUs 欲传送给该工作站。在 Data 帧上其值为 1 表示至少还有一个 MSDU 待转送。若为其它种类的帧,则其值应为 0。WEP : 此旗标值为 1 表示此 Data 帧(或Management帧)中所携带的资料已经过 WEP 算法处理过。若为其它的帧,则其值应为 0。Order : 此旗标值为 1 表示此 Data 帧经由严格依序服务等级 (Strictly-Ordered service class) 来传送。若为其它的帧,则其值应为 0。表13-1 各式帧型态及次型态表13-2 To DS 与 From DS组合与意义表13-3 Duration /ID 字段意义4.2 Duration/ID 字段Duration /ID 字段长度为16位,其用法如下(请参考表13-3):若帧为控制型态(Control Type),且次型态为PS-Poll, 则此字段代表一个SID, 其最左边两个位都是1, 而剩下的 14 位则是传送此帧之工作站之SID。SID 值的范围为 1 到 2007。 若为其它帧,则此字段代表一个duration, 其值依各帧型态而定。不过对于所有在免竞争期间所传送的帧来说,此字段之值应设为 32768。当Duration/ID 字段的内容小于 32768 时,表示其为一个duration 值,应该被拿来修正NAV(Net Allocation Vector)。4.3 地址字段MAC帧格式中共有四个地址字段。这些字段用来记录BSSID (BSS Identifier), 起始工作站地址 (Source Address, SA),目地的工作站地址(Destination Address, DA),传送工作站地址(Transmitter Address, TA),及接收工作站地址(Receiver Address, RA)。其中目地的工作站地址(DA) 可以是各别或群播地址。是该帧的最终目的地。起始工作站地址 (SA) 是产生此帧的工作站地址。传送工作站地址(TA) 是指在无线媒介上传送此帧的工作站地址。接收工作站地址(RA) 则是指在无线媒介上接收此帧的工作站地址。每一个地址长度都是符合 IEEE 802 标准之 48 位。有些帧并不需要用到所有的地址字段。有些地址字段在使用时和其在地址字段的相对地址(1-4)有关而与地址型态无关。例如当一个工作站接收到一笔帧时,都是用Address 1 的内容来判断该帧是否传送给自己。而 CTS 帧 (ACK帧) 中的 RA 则等于 RTS 帧 (需要被回复之帧) 中的 Address 2 的内容。每个 BSS 都有一个具唯一性的辨识码 (BSSID, 长度为 48 位), 对于有基础架构的BSS, 此辨识码为接入点 (AP) 中的工作站的地址。对于无基础架构的BSS (IBSS), 此辨识码最左边两个位为 01, 而剩下的 46 位则以随机数产生。广播性BSSID (48 位都为 1) 只能用在管理帧且次型态为Probe (Type = 00, Subtype = 0100 或 0101)。4.4 顺序控制字段 (Sequence Control)顺序控制字段包含两个次字段 : 顺序号码 (Sequence Number, 12 位) 及片段号码 (Segment Number, 4 位), 如图13-6 所示。其中顺序号码为该帧携带之 MSDU 的顺序号码。每一个 MSDU 都有一个顺序号码, 其值由 0 开始, 到4095, 然后重复轮流使用。由同一个 MSDU 切割出来的片段都应该使用相同的顺序号码。片段号码则是指该片段在原来MSDU所切割出来的片段顺序。第一个片段(或没有切割的MSDU)其值为0。以后则依序加一,到 15 为止,然后重复轮流使用。4 12 位图13-6 顺序控制字段5. 各式帧型态之格式5.1控制帧控制帧之控制字段内容如图13-7所示。2 2 4 1 1 1 1 1 1 1 1 位图13-7 控制帧之控制字段内容RTS 帧格式如图13-8(a) 所示,其中 RA 应该是无线媒介上的一个地址,也就是待送Data 帧或 Management 帧的立即目的地地址。TA 则是传送此帧之工作站之地址。Duration 的值(单位是us) 应该等于传送该待送 Data 帧或 Management 帧,加上一个 CTS 帧,加上一个 ACK 帧及加上三个 SIFS 帧间隔的时间。如果Duration 计算的结果不是整数,则进位为整数。如 250.1 us 及 2413.7 us可分别进位为 251 us 及 248 us。CTS 帧格式如图13-8(b) 所示,其中 CTS 帧中的 RA 内容应该等于前一个对应之 RTS 帧中之 TA 内容。Duration 的值(单位是us) 应该等于前一个对应之 RTS 帧中之 Duration 值减掉传送此 CTS 帧及一个 SIFS 帧间隔的时间。如果 Duration 计算的结果不是整数,则进位为整数。(RTS/CTS协议即请求发送/允许发送协议,相当于一种握手协议,主要用来解决ACK 控制帧格式如图13-8(c) 所示,其中 ACK 帧中的 RA 内容应该等于前一个对应之 Data 帧, Management 帧, 或 PS-Poll 控制帧中之 Address 2 字段内容。如果前一个对应之 Data 帧或 Management 帧中之帧控制字段中之More Fragment旗标为0,则 Duration 的值应设为零。如果More Fragment旗标为1,则Duration 的值(单位是us) 应该等于前一个对应之Data 帧或 Management 帧中之 Duration 值减掉传送此 ACK 帧及一个 SIFS 帧间隔的时间。如果 Duration 计算的结果不是整数,则进位为整数。省电轮询 (Power Save Poll, PS-Poll) 帧之格式如图13-8(d) 所示。其中BSSID是隶属于AP中之工作站之地址,TA是传送此帧之工作站之地址,而SID则是传送帧之工作站之 SID 值,此值是 AP 先前经由Association Response分配给该工作站的。SID值的最左边两个位都是1。所有收到 PS-Poll 轮询帧的工作站都应该修正其 NAV 值。修正时所使用的duration 值为传送一个 ACK 帧所需要的时间加上一个 SIFS 帧间隔。免竞争周期结束 (Contention-Free End, CF-End) 帧之格式如图13-8(e)所示。其中BSSID 是隶属于 AP 中之工作站之地址,而 RA 则是广播地址。Duration 值应设为 0。免竞争周期结束回复 (Contention-Free End Acknowledge, CF-End+CF-Ack) 帧之格式如图13-8(f) 所示。其中BSSID 是隶属于 AP 中之工作站之地址,而 RA 则是广播地址。Duration 值亦应设为 0。
2 2 6 6 4 字节(a) RTS 帧格式2 2 6 4 字节(b) CTS 帧格式2 2 6 4 字节(c ) ACK 帧格式2 2 6 6 4 字节(d) PS-Poll 帧格式2 2 6 6 4 字节(e) CF-END 帧格式2 2 6 6 4 字节CF-End + CF-Ack 帧格式 图13-8 MAC 控制帧格式 5.2 数据帧数据帧的格式与次型态无关,如图13-9所示。数据帧的四个地址的内容与To DS 及 From DS 位有关,其用法如表13-4所示。其中N/A代表该字段可取消。 2 2 6 6 6 2 6 0-2312 4 字节图13-9 数据帧格式 表13-4 Address 字段内容工作站在决定要不要收一个数据帧时是依据Address 1的内容来判断的。如果Address 1的内容与自己的地址相同则可接收。如果Address 1的内容是一个群体地址,则BSSID也要一并检查,以确定该广播或群播帧是来自相同的BSS。如果接收帧的工作站需要传送回复信息时,则以Address 2 字段的内容为回复地址。DA 代表此帧的最终目的地地址,而 SA 则代表产生此帧的工作站地址。在DS 是无线分布式系统下,RA代表接受此帧的下一个工作站地址,此工作站应属于某一个连结在无线分布式系统上的接入点 (Access Point)。TA 则代表在无线分布式系统上传送此帧的工作站地址,此工作站也应属于某一个连结在无线分布式系统上的接入点。BSSID的值则依据传送此帧之工作站之性质来决定。如果该工作站是一个接入点或已经与某一个接入点建立连结关系,则此BSSID的值为隶属于该接入点的工作站的地址。如果该工作站为一个独立BSS (IBSS) 的成员,则此BSSID的值为该 IBSS 的BSSID 值。5.3 管理帧管理帧之通用格式如图13-10所示。各式管理帧之格式则如下所述。图13-10 管理帧格式5.3.1 各式管理帧之格式图 13-11 所示为各式管理帧之帧主体。Beacon 帧主体Disassociation 帧主体(c ) Association Request 帧主体Association Response 帧主体Reassociation Request 帧主体Reassociation Response 帧主体(g) Probe Request 帧主体(h) Probe Response 帧主体(i) Authentication 帧主体(j) Challenge Text 信息呈现时机Deauthentication 帧主体 图13-11 管理帧之各类主体格式注1 : FH Parameter Set 只能出现在实体层采用跳频技术 (Frequency Hopping) 之工作站所传送之Beacon 帧中。注2 : DS Parameter Set 只能出现在实体层采用直接顺序技术 (Direct Sequence) 之工作站所传送之Beacon 帧中。注3 : CF Parameter Set 只能出现在具有 PCF 功能之 AP 所传送之Beacon 帧中。 注4 : IBSS Parameter Set 只能出现在隶属于一个独立BSS (IBSS) 之工作站所传送之Beacon 帧中。注5 : TIM (Traffic Information Map) 只能出现在AP 所传送之Beacon 帧中。注6 : 在某些Authentication帧中,Status code应该被保留并且设为零,如表中所定义。 注7 : Challenge Text 只能出现在某些Authentication帧中,如表中所定义。
5.3.2 管理帧主体组件为了方便起见,管理帧中必要且固定长度的字段称为固定字段 (Fixed Fields),必要但不固定长度或属于选项的字段称为信息组件 (Information elements)。以下分别说明这两部份。固定字段管理帧可能包含的固定字段有 10 种,如下所述:Authentication Algorithm Number (2 字节) : 记录工作站采用之认证演算方法(0:Open System, 1: Shared Key)。Authentication Transaction Sequence Number (2 字节) : 记录认证过程中的帧交换顺序。Beacon Interval (2 字节) : 记录 Beacon 帧预计传送时间 (Target BeaconTransmission Time, TBTT) 的间隔,单位为Kus。Capability Information (2 字节) : 记录所要求或响应之功能。此字段又分为 5 个次字段:ESS (Bit 0)Independent BSS (Bit 1) CF-Pollable (Bit 2)CF Polling Request (Bit 3)
Reserved (Bits 4-15)协调者所传送的 Beacon 帧及 Probe Response 帧中,ESS = 1, IBSS = 0。属于 IBSS 的工作站所传送的 Beacon 帧及Probe Response 帧中,ESS = 0, IBSS = 1。工作站为了侦测 ESSs 而传送的 Probe 帧中,ESS =1。工作站为了侦测 IBSSs 而传送的 Probe 帧中,IBSS =1。工作站如果想同时侦测所有存在的ESSs及IBSSs, 则可同时设定ESS =1, IBSS=1。 可轮询工作站在传送 Association 及 Reassociation 帧时,应设定 CF-Pollable = 1。协调者所传送的 Beacon 帧, Association Response 帧, Reassociation Response 帧, 及Probe Response 帧时,应设定 CF-Pollable = 1。可轮询工作站如果欲加入被轮询名单中,则在传送 Association 及 Reassociation 帧时,应设定 CF-Polling Request = 1。协调者在传送响应这些要求的 Association Response 及 Reassociation Response 帧时,也应设定 CF-Polling Request = 1,表示已经将提出要求的工作站加入轮询名单中。Current AP Address (6 字节) : 记录工作站目前连结的接入点的 MAC 地址。Listen Interval (2 字节) : 处于省电模式之工作站应该醒来接收Beacon 帧的时间间隔(单位为Beacon Interval)。协调者可依据此参数了解工作站的行为并且决定属于该工作站之帧之储存时间。Reason Code (2 字节) : 记录产生非邀请性管理帧(Disassoication 或Deauthentication)的理由。Station ID (SID) (2 字节) : 记录在连结期间协调者所分配的工作站识别码 SIDi(14 位,其值介于1 ~ 2007)。此字段之最左边两个位都应设为 1。在 TIM 信息组件中,协调者利用 SID0(不代表工作站)来显示其是否储存广播或群播帧。Status Code (2 字节) : 记录要求帧的处理结果。Status Code = 0 表示成功,其余代表失败的原因。Timestamp (8 字节) : 记录传送此帧之工作站之 TSFTIMER值 (Timing Synchronization Function Timer)。此值为网络上工作站间达成同步运作的参考时间值。
信息组件:所有帧中所携带的信息组件 (Information Elements) 都使用相同的格式来表达(如图13-12(a) 所示):一个字节的组件识别码 (Element ID) 字段,一个字节的信息长度 (Length) 字段,以及不固定长度的信息 (Information) 字段。目前已经定义的组件种类则如表13-5 所示。表13-5 信息组件种类及代码 SSID (Service Set Identity) 组件的格式如图13-12(b) 所示。其中 SSID 是一个ESS (Extended Service Set) 或IBSS (Independent BSS) 的识别码。长度字段值若等于零表示所携带的是广播 SSID (broadcast SSID)。Supported Rates 组件的格式如图13-12(c) 所示。此组件主要是让工作站来声明其所能接收的有哪些传输速率。信息字段中的每一个字节携带一种可接收的传输速率(单位是100 kbps)。速率的表示式依管理帧的种类而有所不同,在Beacon, Probe Response, Association Response, 及 Reassociation Response等四种管理帧中之速率表示法如下:如果该速率属于 aBSSBasicrateSet 所定义的速率,则最左边的位(第七位)应设为 1。否则最左边的位应设为 0。例如假设 1Mbps (=10x100 kbps) 于 aBSSBasicrateSet 中有定义,则其代码为x8A)。 又假设 2Mbps (=20x100 kbps) 于 aBSSBasicrateSet 中无定义,其代码为x14)。在其它种类的管理帧中之速率表示法则忽略最左边位的值。例如x94) 及 x14) 都代表2Mbps。FH Parameter Set 组件的格式如图13-12(d) 所示。以跳频技术 (Frequence Hopping, FH) 为实体层传输技术之工作站间必须达到彼此同步的状态才能正确的通讯。此组件主要携带完成此任务所需要的参数。信息字段内容包含 Dwell time(单位为kus),Hop Set, Hop Pattern, 及Hop I 其中Hop Set 表示所使用的频率跳跃顺序组 (Hopping Sequence Set),例如北美地区目前已制定三组频率跳跃顺序组。CF Parameter Set 组件的格式如图13-12(e) 所示。此组件携带支持PCF功能所需要的参数。信息字段内容包含CFP Count, CFP Period, CFPMaxDuration, 及CFPDurR 其中 CFP Count 记录在下次免竞争周期开始前应该出现几次DTIM (包含目前这次), CFP Period 记录免竞争周期间应该有几个DTIM间隔, CFPMaxDuration 记录此免竞争周期的最长时间(单位为kus, 工作站可依此设定其NAV值), CFPDurRemaining 则记录此免竞争周期尚余多少时间(单位为kus, 工作站可依此修正其 NAV 值)。在竞争周期内所传送之 Beacon 帧之CFPDurRemaining 值应设为0。DS Parameter Set 组件的格式如图13-12(e) 所示。此组件主要让使用直接顺序技术 (Direct Sequence, DS) 为实体层接入技术之工作站能辨识出目前所使用之信道编号。TIM 组件的格式如图13-12(g) 所示。协调者利用此组件通知所有工作站其储存帧的最新状况。信息字段内容包含DTIM Count, DTIM Period, Bitmap Control, 及Partial Virtual B 其中DTIM Count 记录在下次DTIM出现前应该出现几次Beacon 帧 (包含目前这个)。DTIM = 0 表示目前这个 TIM 组件就是一个 DTIM。DTIM Period 记录DTIM 间应该有几个 Beacon 间隔。如果所有的 TIM 组件都是 DTIM组件,则 DTIM Period之值应为 1。Bitmap Control 字段(1 字节)分为两个次字段:Bitmap Offset 次字段(7 位)及 Traffic Indicator 次字段(1 位),其中Traffic Indicator 位记录协调者是否储存有广播或群播帧。如果有则在传送 DTIM 时此位应设为1,其它情形此位应设为 0。Bitmap Offset 次字段之值介于 0 到 250 之间,如下所述:虚拟位对照表 (virtual bitmap) 应包含 2008 位,每一个位对照一部工作站(无线网络上最多可同时存在 2007 部工作站)。此 2008 位应以251 个字节 (2008/8 = 251) 来表示,使得第 k 个位, 0 ? k ? 2007, 被安置于第 ? k/8? 个字节中的第 (k mod 8) 位。这里假设最左边的字节编号为第 0 个字节,而一个字节中,最右边位为第 0 个位,最左边位为第 7 个位。例如 k = 200, 则其代表位为第 25 个字节中的第 0 个位。 k = 209, 则其代表位第
26 个字节(? 209/8? =26)中的第 1 个位 (209 mod 8 = 1)。协调者如果有储存 SIDk 的帧,则第 k 个位应设为 1。由于网络上同时存在的工作站数量通常不会太多而且协调者也可能只储存少量的帧(此时绝大部份的位值为0),如果每次都固定传送 251 字节的对照表似乎显得过于浪费频宽。因此这里只传送部份的对照表(只传送最左边的 1 到最右边的 1 之间的部份),方法如下:Partial Virtual Bitmap 只包含第 N1 个字节到第N2 个字节,其中N1 是满足对照表中位 1 至位 (N1x8)-1 都为 0 的最大偶数,N2 是满足对照表中位 (N2+1)x8 至位 2007 都为 0 的最大偶数。例如假设协调者只储存工作站 195, 200 及 209的帧, 则其部份对照表内容为:00,,000,10,000,,00。其中最左边第一个1 (第24 个字节的第 3 个位, bitmap中的第 196 位) 代表 SID195, 第二个1 (第 25 个字节的第 0 个位) 代表SID200, 最右边的 1 (第 26 个字节的第 1 个位, bitmap中的第 214 位) 代表SID209。此时N1 = 24((N1x8)-1 = 191, 此例中,位 0-191 都为0), N2 = 26 ((N1+1)x8 = 216, 此例中,位216-2007 都为 0)。再举一例说明,假设协调者只储存工作站 191 及 216 的帧, 则其部份对照表内容为:00,,000,00,,,00。其中最左边第一个1 (第23 个字节的第 7 个位, bitmap中的第 176 位) 代表 SID191, 最右边的 1 (第 27 个字节的第 0 个位, bitmap中的第 215 位) 代表SID216。此时N1 = 22((N1x8)-1 = 175, 此例中,位 0-175 都为0), N2 = 26 ((N1+1)x8 = 216, 此例中,位 216-2007 都为 0)。 在TIM组件格式中,Bitmap Offset 记录 N1 的值,而 N2 的值则隐藏于Length 中。方法是设定Length = N2-N1+4。在前面两个例子中,其Length 字段分别等于 6 (26-24+4=6) 及 8 (26-22+4=8)。工作站收到此 TIM组件后可分别解出N2 = Length+N1-4 = 6+24-4 = 26 及 N2 = Length+N1-4 = 8+22-4 = 26。Partial Virtual Bitmap 的长度则分别为 3 个字节(10) 及 5 个字节(000,00001)。如果virtual bitmap中除了第 0 个位 (SID0代表广播或群播,不代表某一工作站) 之外的所有位都是 0 (协调者无储存帧),则Partial Virtual Bitmap 字段的长度为 1 字节,内容则为。而且Bitmap Offset = 0, Length = 4。也就是说,N1 = 0, N2 = Length+N1-4 = 0。IBSS Parameter Set 组件的格式如图13-12(h) 所示。此组件包含支持IBSS所需要的参数,信息字段为ATIM Window的长度(单位为kus)。Challenge Text 组件的格式如图13-12(i) 所示。此组件包含认证过程所需之盘问全文,其长度与所采用的认证算法以及认证过程之交换顺序有关。信息组件格式1 1 0-32 字节(b) SSID 信息组件格式1 1 1-8 字节(c) Supported Rates 信息组件格式1 1 2 1 1 1 字节(d) FH Parameter Set 信息组件格式1 1 1 字节(e) DS Parameter Set 信息组件格式1 1 1 1 2 2 字节(f) CF Parameter Set 信息组件格式1 1 1 1 1 1-251 字节(g) TIM 信息组件格式1 1 2 字节(h) IBSS Parameter Set 信息组件格式1 1 1-253 字节Challenge Text 信息组件格式图13-12 信息组件格式 6.认证与保密认证 (Authentication) 的目的是确认对方身分的合法性,以免与身分不明的对象沟通,泄漏了重要的机密。也就是双方进行通讯之前,必须先经过认证的程序。IEEE 802.11 提供两种认证的服务:开放系统式 (Open System) 及共享密匙式 (Shared Key)。前者是IEEE 802.11 内定的认证方法,不过工作站提出认证要求时可指定要采用哪种方式进行双向认证。6.1 开放系统式认证 (Open System)开放系统式认证可以说是所有认证方法中最简单的一种。事实上就是一种不须认证算法的认证方法。任何提出以此方式进行认证的工作站都可通过认证,只要对方支持并允许开放系统式认证。这种方式主要是让工作站简单表明身分,以便双方可尽速进行通讯。就好象如果有一天突然有人打电话给我们时说“我是某某某,我是你的小学同学 ” (表明身分)。如果我们并不在意对方是否真的就是某某某,当然接下来就可以开始进行沟通。如果对方有特殊要求,我们可能就会想进一步确认对方就是某某某(假设多年不见,声音已经认不出),我们于是可提出一些诸如“班上最高的同学是谁 ? ”, “坐在你旁边的女生是谁 ? ”,“和我最要好的同学是谁 ? ”, 或“当时你家养的小狗叫什么名字 ? ” 等等的问题。可依确认的重要性提出不同难度的问题。当然有个条件是我们必须先知道这些问题的答案。共享密匙式认证就是用来支持这种需要进一步确认身分的方法。开放系统式认证包含两个认证步骤。第一个步骤是要求认证者声明自己的身份 (Identity assertion) 并且送出认证帧 (Authentication frame) 要求认证,如图13-13(a) 所示。这里所谓的身分声明就是利用帧标头中的 SA 字段内容 (Station ID)。第二个步骤是被要求认证者回送一个认证帧其中记录认证结果,如图13-13(b) 所示。如果被要求认证者同意采用开放系统式认证,则表示认证成功,否则就是失败。这两个认证帧在传送时都不经过加密处理 (WEP = OFF)(a) 要求认证讯框(b) 回复认证讯框图13-13 开放系统式认证讯框主体内容6.2 共享密匙式认证 (Shared Key)共享密匙式认证是假设有一群工作站拥有共同的密匙 (Shared Key)。然后当有工作站声明它属于这个群体时,我们要有能力判断对方是否真的属于此群体(例如查询对方密匙为何?)。至于一群工作站如何能拥有共同的密匙则不是IEEE 802.11的任务范围。通常群体的发起人应该透过特殊的管道将密匙安全的送给每一个会员。在查询时,如果对方不属于此群体,当然就交不出密匙。如果对方的确是会员,则会送回正确的密匙。此时如果恰巧有人窃听,则将造成密匙曝光。为了避免密匙曝光,我们需要利用WEP 加密算法。共享密匙式认证包含四个认证步骤。第一个步骤是要求认证者送出认证帧 (Authentication frame) 要求对方认证,如图13-14(a) 所示。此帧任务是声明身份 (Identity assertion) ,这是利用帧标头中的 SA 字段内容 (Station ID) 来声明。第二个步骤是被要求认证者先检查双方认证方法是否相同。如果被要求认证者没有支持共享密匙式认证法,则认证结果 (result) 失败。此时认证程序结束,不再传送认证帧。如果成功(被要求认证者支持共享密匙式认证法)则被要求认证者利用 WEP 算法产生一个长度为128字节之盘问全文 (Challenge text) 。并将此盘问全文送给要求认证者,如图13-14(b) 所示。此全文的目的是要检验对方的密匙,因此其内容并不重要。此两个帧在传送时都不可以经过加密处理 (WEP = OFF)。否则对方将无法解读认证内容。第三个步骤是要求认证者将此盘问全文由前一个认证帧中拷贝至第三个认证帧,并且再送给对方,如图13-14(c) 所示。不过此认证帧必须经过加密的处理 (WEP = ON)。第四个步骤是被要求认证者将收到的密文用手上的共享密匙解密。如果发现所解出来的盘问全文与当初送出去的相同,则表示要求认证者也有相同的密匙,此时认证成功。否则表示双方之密匙不同,认证失败。被要求认证者于是将认证结果用第四(WEP = OFF)。(a) 要求认证讯框(b) 回复认证讯框(c) 再要求认证讯框(d) 再回复认证讯框图13-14 共享密匙式认证讯框主体内容6.3 有线等效保密算法 (Wired Equivalent Privacy Algorithm, WEP)在无线通讯中,传输资料被窃听是常见的现象。由于无线电波的广播特性,任何欲窃听者只要将其窃听器的接收频率调至传送频率即可顺利进行窃听的工作。为了解决这个问题,IEEE 802.11标准中制定了一个与有线网络具同等功效的资料保密算法。也就是要保护无线网络之授权使用者使之免于被窃听的烦恼。有线网络上要进行窃听的工作至少要连接到线上,这种不方便性在某种程度上也可说是一种安全属性。无线网络虽然不具备这种特有的安全属性,802.11却希望能提供与此功能相当的安全性。802.11 采用了将传送资料加密 (enciphering) 的方法。这种方式通常也必须将资料解密 (deciphering) 所需的钥匙 (key) 透过某种管道传给接收端。这就需要一种有效的钥匙管理服务。WEP 算法特色:抗窃听性强 : 此算法所提供的安全性程度有赖于利用各种暴力方式 (brute-force) 去发现钥匙的困难度。如果困难度够高,则窃听者就必须花很长的时间来猜钥匙,等到猜到时,资料内容可能已经过时,不具窃取价值。而这又与钥匙的长度与更换钥匙的频率有关。WEP算法允许变更钥匙及频繁变更加密时的初始向量 (Initialization Vector, IV)。具自我同步功能 : 针对每一笔资料,WEP都能做到自我同步 (self-synchronization) 的功能。在资料流失率较高且采用尽力式传送的环境下,此特性对于一个位于链接层 (data-link level) 的加密算法来说,是相当具关键性的。效率佳 : WEP 算法的执行效率佳,并且可以用硬件或软件的技术来制作。出口争议性 : WEP 系统在设计时就考虑到要尽量提高此产品自美国出口的可行性。但由于密码技术的争议性较高(虽然可反窃听,也是犯罪时保密通讯的利器),到目前为止并无法保证使用 WEP 技术的 802.11 产品能自美国出口。选项功能 : WEP 是一种选项配备,802.11 产品可包含 WEP 算法(可能有出口问题),也可不包含WEP 算法。WEP 运作原理:所谓加密 (encryption) 就是将原始二进制数据经过处理后,将其信息内容隐藏起来。没有经过加密处理的资料称为原文 (plaintext, 简称 P),而经过加密处理的资料则称为密文 (ciphertext, 简称 C)。将密文还原成原文的过程称为解密 (decryption) 。密码算法 (cryptographic algorithm, 或称为cipher) 就是一种用来对资料进行加密及解密的数学函式。近代密码算法大都采用钥匙 (key, 简称 k) 技术来进行加密及解密的工作。加密函式(Encryption function, 简称 E) 处理原文 P 后得到密文 C :Ek(P) = C欲还原时,解密函式 (Decryption function, 简称 D) 利用相同的钥匙处理密文 C 后得到原文 P : Dk ( C) = Dk (Ek(P) ) = P, 图13-15 所示为原文经过加密及解密的过程。 图13-15 原文加密及解密基本过程WEP 算法的主要技术在于将一段原文区块 (plaintext block) 与一个等长的随机钥匙 (random key sequence) 做位与位间的互斥运算 (XOR operation)。而此随机钥匙则是由 WEP 算法所产生。WEP 算法是一种对称性的算法,也就是加密与解密都用相同的钥匙。在此我们假设钥匙可经由另外的钥匙管理服务将之传给其它有关的工作站。如图13-16 所示,加密的过程由一个重要的密匙 (secret key) 开始。此密匙后面串接一个初始向量 (Initialization Vector, IV) 后成为一个种子 (seed) ,此种子则是随机数产生器 (pseudo random number generator, PRNG) 的一个输入参数。随机数产生器则输出一个具随机性质的钥匙顺序 (key sequence, k), 其长度等于 (MAC Service Data Unit) 的可能最大长度。原文则必须经过两种处理程序。第一个是为了保护原文未经授权被修改,原文先经过一个完整算法 (Integrity algorithm) 的处理得到一个完整检查码 (Integrity Check Value, ICV)。另一方面,原文则和钥匙顺序进行互斥的运算得到密文。结果所输出的信息 (message) 则包含三部分:密文,初始向量 (IV),及完整检查码 (ICV)。 图13-16 WEP 算法加密过程在整个过程中,WEP 随机数产生器可说是最关键的零组件。它负责将相对较短的密匙转换成任意长的钥匙顺序。这样做可以简化钥匙传递的负担因为欲进行通讯之工作站间只要传递密匙即可。在通讯进行期间,由于初始向量 (IV) 可以周期性的变换而密匙则可保持不变,因此初始向量具有延长密匙有效期的功用并且提供此算法自我同步的重要特性。每一个新的初始向量都可以得到一个新的种子及钥匙顺序,因此初始向量 (IV) 与钥匙顺序 (k) 间具有一对一的关系。为了避免窃听者有足够的时间或信息破解密文,初始向量可以经常变换,甚至每一个MPDU都使用不同的初始向量。由于初始向量和信息是一起传送的,接收端工作站可以很容易的用来解密。并不会因为初始向量经常变换而造成困扰。另外由于初始向量并无提供任何与密匙有关的信息,因此在传送上不必加密。窃听者可以清楚看到初始向量,但是无法用它来猜出密匙。WEP算法处理的资料单位是一个MPDU (MAC Protocol Data Unit), 输出则依序是 {IV, MPDU, ICV}。其中 IV 与 ICV 的长度都是 4 个字节。值得留意的是,输入随机数产生器的种子长度为 64 位,其组成方式是将密匙当成是最左边的 40 位,而将初始向量当成是最右边的 24 位。如图13-17 所示,初始字段虽然占 4 个字节,初始向量事实上只有 3 个字节。另外一个字节则包含一个填塞 (PAD, 6 位) 及钥匙码 (Key ID, 2 位)。其中钥匙码是用来通知接收端在解密时应该使用四个可能的密匙中的哪一个。至于 WEP 所采用的完整检查算法事实上就是最常用的 CRC-32 算法。 图13-17 经 WEP 处理过的 MPDU 架构WEP 算法解密的过程和加密的过程相反。如图13-18 所示,当工作站收到一笔帧时,其上的初始向量先与事先取得的密匙合并成为随机数产生器的种子,经由随机数产生器的处理后得到钥匙顺序。此顺序与密文进行XOR的运算后便得到原文。为了进一步检查资料在传送的过程中是否被修改过,此原文还必须经过完整检查算法的处理,所得到的完整检查码则与帧上的完整检查码比较。如果不同则表示资料被窜改过。此时除了通知MAC 管理软件外,并不将错误的帧传给上层软件。 图13-18 WEP 算法解密过程7.MAC 通讯协议IEEE 802.11 MAC 主要提供了二种不同功能的接入方法:分散协调式功能 (Distributed Coordination Function, 简称 DCF )集中协调式功能 (Point Coordination Function, 简称 PCF )所谓的「协调式功能」(Coordination Function) 是指一个用来决定什么时候那个工作站能开始送收资料的机制。DCF 是 IEEE 802.11 MAC 的基本接入方法,它主要是利用一种叫做载波检测多重接入及冲突避免(carrier-sense multiple access/collision avoidance, 简称 CSMA/CA)的技术,来提供工作站送收异步资料,这种方法可用在 Ad Hoc 和 Infrastructure 的无线局域网络架构中。PCF 提供工作站送收具有时限性 (time bounded) 的资料,在使用上属于免竞争(contention free)方法,因此也不会发生帧冲撞的情形,但只能用在某种基础架构的无线局域网络中。图13-19 描述了IEEE 802.11 MAC 通讯协议的架构,其中 PCF 是透过 DCF 来完成的。在一个BSS运作范围内,这两种功能是可以共存并容的。一个BSS中,如果有一个「协调站」(Point coordinator) ,则由其来负责督导这两种服务的交替进行。也就是先进行一段时间的免竞争式传输,再跟着进行一段时间的竞争式传输。如此一个周期称为一个超级帧 (Superframe)。超级帧的长短不固定,而每一个超级帧中免竞争式传输的时间及竞争式传输的时间也可以不固定长短。以下介绍此二种方法的运作原理。 图13-19 MAC 架构的另一种表示方式帧之切割与组合所谓帧之切割(fragmentation) 是指将一个MSDU 帧切割成许多较小的MPDU 帧。切割的目的是提升帧传送的可靠度,因为无线电波的易受干扰性并不适合传送过长的帧。切割的工作由传送器负责。将许多收到的 MPDUs 组合成原来的 MSDU 则称为帧组合 (Reassembly)。接收器必须负责将属于同一个 MSDU 的MPDUs 收齐后立刻进行组合的工作,不可以将各别的 MPDU 转送出去。只有指定单一目的地的帧才能被切割,广播及群播的帧即使其长度大于切割临界值 (aFragmentation Threshold) 也不能进行切割。图13-20 所示为帧切割的范例。当一个MSDU帧的长度大于切割临界值就必须被切割。每一个MPDU的资料长度都必须小于切割临界值。在传送时,每一个MPDU都代表一个独立的帧,都必须分别收到对方的回复信息。不过属于同一个 MSDU 的 MPDUs 在传送时是以密集式的方式一个接着一个传送,当然每一个MPDU 都必须收到回复信息。一个 MSDU 帧只要呼叫一次DCF或PCF 的传送服务就可以传送其所属的MPDUs, 不必每一个 MPDU 都呼叫一次。 图13-20 帧切割范例7.1 分布式协调功能 (DCF)分布式协调功能是 IEEE 802.11 最基本的接入方法。无论是无基础架构网络 (Ad hoc) 或有基础架构网络 (infrastructure), 所有工作站都应该具有分布式协调功能。如图13-21 所示,利用 CSMA/CA 的技术,不同工作站间能共享同一传输媒介,并且解决不同工作站间可能发生的接入冲突。CSMA/CA 是利用所谓的载波感测技术,来判断某一频宽中的信号能量是否达到一个基准点,如果信号的强度在这基准点之下,就表示该频宽未被占用,因此工作站就可使用该频宽来送收资料。反之,若信号强度在基准点之上,则表示传输媒介目前是忙碌的,在这种情况之下,工作站必需延缓 (defer) 帧传送时间,直到发现传输媒介是空闲的,才能传送帧。实际上, IEEE 802.11 又将帧分为三种不同的优先权等级,每种优先权等级的帧在传送之前都必需等待一段固定大小的时间,称为「帧间隔」(Inter-Frame Space, IFS):SIFS (Short IFS);短帧间隔,用来做立即的响应动作。下列帧送出的等候时间都是 SIFS等级:要求传送帧 (RTS)、允许传送帧 (CTS)、回复帧 (ACK) 等等。PIFS(PCF IFS);PCF 帧间隔。在进行 PCF 免竞争式传输功能时,工作站传送帧前所必须等待的时间。DIFS(DCF IFS); DCF 帧间隔。在进行 DCF 竞争式传输功能时,工作站传送帧前所必须等待的时间。EIFS (Extended IFS) : 延长帧间隔。工作站在进行重送帧时所必须等待的时间。其中 SIFS < PIFS < DIFS < EIFS。优先权等级越高的帧其帧间隔越短,因此其使用传输媒介的机会就越大。这也就是说,工作站发现媒介由忙碌变成空闲时,还不能马上送出帧,要依帧的优先权等级等待一段适当的帧间隔时间,且在这段时间内媒介仍保持是空闲的才能将帧送出去。在这种方式之下,同一种优先权等级的帧发生冲撞的机会仍很高,因为同一种权限的帧在等候了相同的帧间隔之后,若发现这段时间内媒介为空闲,就会同时将帧传送出去造成冲撞情形。解决此问题的方法是,工作站在等候了帧间隔的时间后,再等待一段由随机数决定的时间才将帧传送出去。因为每个工作站产生的后退时间极可能不同,所以帧发生冲撞的机会就会降低。这就是后退 (backoff) 算法的精神,与 IEEE 802.3 CSMA/CD 的后退算法相似。 图13-21 基本接入方式虽然 CSMA/CA 和 CSMA/CD 都是采用载波感测的原理来判断是否有其它工作站正在使用传输媒介,二者之间还是有些不同。其主要差别在于当工作站发现传输媒介由忙碌变成空闲时,CSMA/CD 会将帧立刻传送出去,然后监听是否发生冲撞,若发生冲撞,则立刻停止传送帧并且等待一段随机延迟时间后再从载波感测开始。CSMA/CA 的做法则是在发现传输媒介由忙碌变成空闲时,先产生一段随机延迟时间 (为了说明CSMA/CA和CSMA/CD的差异,在此暂不考虑帧间隔),然后才传送帧。其传送帧和产生随机延迟时间的顺序正好和 CSMA/CD的做法相反。先产生随机延迟时间的目的是想预先避免发生冲撞,所以此方法叫「冲撞避免」(collision avoidance)。这样做主要是因为在无线网络的系统中冲撞侦测的任务较不容易顺利完成,无法做的如有线网络中那样好。因为在无线网络系统中,不同工作站在传输媒介上所使用的信号强度范围是不定的,因此实体层很难在每次冲撞发生时,都能侦测出发生冲撞。避免发生冲撞并不表示冲撞就不会发生。由 CSMA/CA 的特性可以知道,帧传送前虽然延迟随机数时间但还是可能发生冲撞,而当冲撞发生时又侦测不出来,此时传送的帧就会漏失掉。为了提供可靠的通讯环境,IEEE 802.11在冲撞避免的功能中加入了帧传送的确认动作,以确保每一笔帧完整无损。在无线网络系统中,除了冲撞不易侦测出来外,实体层在使用载波侦测技术时也容易误判传送媒介是否忙碌。IEEE 802.11 解决前者的方法如下:在传送端要传送帧前,先送出一个「要求传送」控制帧 (Request to Send, RTS),而接收端在收到这个控制帧时则在经过一个 SIFS 帧间隔后立刻回送另一种「允许传送」控制帧 (Clear to Send, CTS)。只有当传送端正确的收到接收端所回复的 CTS 时 (表示传送端所传送的 RTS 没有发生冲撞),传送端才能送出帧。同时其它工作站看到此送给传送端的CTS 时,也会暂时停止尝试传送帧,因此传送端传送的帧与其它工作站帧发生冲撞的可能性就会大大的降低。IEEE 802.11 解决后者的方法是利用所谓的「虚拟载波侦测」(Virtual Carrier Sense),说明如下:虚拟载波侦测利用一个「网络配置向量」(Net Allocation Vector, 简称 NAV),此向量记载其它工作站还需要多久的时间来传送帧,而使工作站根据这些信息能知道传输媒介现在是否忙碌。前面曾说过,在用RTS/CTS 的技术送收帧时,当其它工作站看到接收端送回的 CTS 时,也会暂时停止传送帧。事实上,正确的说法应是,在 RTS 帧和 CTS 帧里都包含了一记载着传送端将来要传送帧的持续时间(duration)的字段,而当别的工作站在看到传送端送出的 RTS 帧,或接收端送出的 CTS 帧时,就会将里面记载的持续时间登录到自己的网络配置向量里。网络配置向量所记载的等待时间可能一直累积,如此一来,时间未归零前,就表示这个工作站现在不能传送帧,因为网络现在是忙碌的(其它工作站传送帧的时间还没结束)。此网络配置向量就好象具备了载波侦测功能,能告诉工作站传输媒介现在是否忙碌,因此也就称为虚拟载波侦测法。RTS 帧及 CTS帧必须成对使用,但是传送帧之前却不一定要使用RTC/CTS,如图13-22 所示。使用与否决定在于帧的长度。系统会定义一个参数称为RTSThreshold, 帧长度必须大于或等于 RTSThreshold 的值才使用RTS/CTS。主要的观念是传送端在传送帧后应该收到回复信息才能确认正确传送。而重要的是帧在传送的同时万一发生冲撞,传送端由于无法立刻发现,而必须继续传送完毕。传送端必须等不到对方的回复后才能认定发生冲撞。由于较长的帧在传送时被干扰或冲撞的机会也较大,而且长帧在传送时也会花较长的时间。在网络状况未清楚之前直接将长帧送上网络是非常冒险的,尤其是网络负载较重时,更会严重影响网络频宽使用效率。因此长帧先用短小的 RTS 帧打头阵是较聪明的作法。如果 RTS 帧与其它帧发生冲撞,也可以早点发现。RTS 帧上中的持续时间值则带有预约的性质。如果 RTS 帧没发生冲撞,则接下来的长帧应该可以成功的传送出去(还是可能受到干扰,但至少不会冲撞)。 图13-22 RTS/ CTS 属于选项使用图13-23 所示为传送端不使用 RTS/CTS 而直接传送帧之范例。传送端于等待媒介空闲期达 DIFS 时开始传送帧。如果没有发生冲撞,则经过一个 SIFS 时间间隔后可收到回复帧。此表示帧传送成功。其它工作站如果于其间想传送帧都必须等到回复帧传送结束后,依照DCF的规则争取传送权。 图13-23 直接传送帧范例(不使用RTS/CTS) 图13-24 所示为使用 RTS/CTS 帧时工作站网络配置向量的设定范例。其中RTS 帧所携带的持续时间值(单位为us)为预估其本身传送完毕至下一笔传送帧收到回复帧为止。由图中可发现,所有听到此 RTS 帧的工作站都将其NAV设为此值。相同的,接收端(通常是接入点)回送的 CTS 帧中也携带一持续时间值,其内容也是等于其本身 (CTS 帧)传送完毕至下一笔传送帧收到回复帧为止之预估时间。其它工作站在其 NAV 值不等于零之前不可以传送帧。在 NAV 值为零后则以 DCF 的方式进行帧的传送。
图13-24 网络配置向量使用范例RTS 帧与CTS 帧都需要携带持续时间值的目的是要解决可能存在的隐藏工作站 (hidden terminals) 问题。如图 13-25 所示,工作站 x 及工作站 y 分别位于接入点的左边及右边。他们都可以和接入点通讯但彼此之间因功率较小无法直接通讯。当工作站 x 传送 RTS 帧时,接入点收到此帧,但是工作站 y 没有收到此帧,如果 CTS 帧不携带持续时间值,则可能发生工作站 x 在传送长帧时工作站 y 也传送帧给接入点。结果两笔帧到达接入点时将造成冲撞,接入点无法同时接收两笔在同一频道传送的帧。如果 CTS 帧也携带持续时间值,则工作站 y 将听到此帧并且设定其 NAV 值。结果就不会在工作站 x 传送帧时又传送帧给接入点。如此便能解决隐藏工作站可能造成的冲撞的问题。 图13-25 避免隐藏工作站干扰传送范例图13-26所示为传送端不藉助 RTS/CTS 帧而直接传送片段 (fragments) 的情形。欲传送的帧如果过长,传送端可以事先切割成若干较小的片段,并且在取得传送权时将这些片段连续的传送出去,不必为每一个片段争取传送权。由于片段比较小,因此可以不需藉助 RTS/CTS帧来减少冲撞的影响。其方法是利用较短的 SIFS 间隔。传送第一个片段时当然还是可能发生冲撞,如果没有冲撞并且收到回复帧,则此工作站便在 SIFS 间隔后就送出下一个片段。当然每一个片段都必须收到一个回复帧,而且之间的间隔都等于 SIFS。其它工作站如果要依照 DCF 的原则来争取传送权必须至少等待媒介空档 DIFS 间隔,由于 SIFS < DIFS, 其它工作站将没有机会在片段传送的过程中夺取传送权。 图13-26 不藉助 RTS/CTS 时之多片段传送范例(利用 SIFS)工作站欲连续传送一般长度的片段当然也可以藉助 RTS/CTS 帧来预约频道。其方法如图13-27 所示。假设a = 传送CTS 所需的时间,b = 传送Fragment1 所需的时间,c = 传送ACK1 所需的时间,d = 传送Fragment2 所需的时间,e = 传送ACK2 所需的时间。传送端首先传送一个 RTS 帧,其所携带的持续时间值为预估其本身传送完毕至下一个片段收到回复帧为止(= 3SIFS+a+b+c)。所有听到此 RTS 帧的工作站都在RTS结束时将其NAV 设为此值。相同的,接收端回送的 CTS 帧中也携带一持续时间值,其内容也是等于其本身 (CTS 帧) 传送完毕至下一个片段收到回复帧为止之预估时间(= 2SIFS+b+c)。不同于前的是,片段本身及回复帧也都携带有持续时间值(与 RTS/CTS 帧之预约功能相同)。此值为对应之回复帧传送完毕至下一个片段收到回复帧为止的预估时间( = 2SIFS+d+e)。也就是说,此值为 NAV 延长量。其它工作站在片段传送结束时则将当时之 NAV 值加上此延长值。以图13-26为例,在 RTS/CTS 帧传送完毕后,其它工作站之NAV 值应剩下 NAV(CTS) = 2SIFS+b+c。工作站待第一个片段传送完时,将其当时之NAV值(NAV = SIFS+c)加上延长值。也就是说,NAV的值修正为等于 (3SIFS+c+d+e)。图中就是等于 ACK2 传送结束的时间。回复帧所携带的持续时间值则等于本身传送完毕至下一个片段收到回复帧为止的预估时间( = 2SIFS+d+e)。最后一个片段及所对应之回复帧所携带的持续时间值则等于 0。其它工作站收到此帧时就知道其为最后一个片段。此时 NAV 不做延长的修正,待 NAV 减为 0 时则以 DCF的方式进行帧之传送。 图13-27 使用RTS/CTS 传送连续片段范例图13-28 说明使用 RTS/CTS 传送连续片段但发生回复帧流失时的处置范例。如图所示,其它工作站在第一个片段传送结束时之 NAV = 3SIFS+c+d+e。如果 ACK1 流失,则其它工作站不会延长其 NAV 值,而打算于 NAV=0 时依照 DCF 规则竞争传送机会。值得注意的是,传送端如果没收到 ACK1, 则认定 Fragment1 传送失败,必须重送一次。不过此时传送端不能立刻进行重送的工作,因为其已失去传送权的绝对优势,而必须于预计ACK1 传送结束时间后也依照 DCF 规则竞争传送机会。 图13-28 使用RTS/CTS传送帧范例(ACK 流失)前面曾提过,在 DCF 的方法中,当工作站想传送帧时,必须先检测是否有其它工作站正在传送帧。即使此时媒介呈现空闲的状态也不能立刻传送帧,必须开始等待一段帧间隔时间(DIFS)。在这段时间中,如果仍然没有其它工作站传送帧,则在时间到时可立即传送帧。如果开始时媒介就忙碌或在 DIFS 时间到之前有其它工作站率先传送帧,则必须继续监听此帧之传送,待帧传送结束后再继续等待一段帧间隔时间(DIFS)。在这段时间中,如果仍然没有其它工作站传送帧,则接着进入所谓的竞争窗口 (Contention Window, CW)。此时工作站会产生一随机时段(称为后退时间, backoff time)。此后退时间随时间递减,工作站必须等到其后退时间减为零时才能传送帧。值得注意的是,此后退时间不一定能顺利的持续递减。如果只有一部工作站进入竞争窗口,则其后退时间可以持续递减到零。如果有许多工作站同时进入竞争窗口,则在递减的过程中,只要有其它工作站传送帧就表示此轮之竞争窗口结束,此时就必须暂停递减的工作,待下次再进入竞争窗口时才继续递减。举例来说,如果有n 部工作站 S1, S2, ,,, Sn 在前一笔帧传送期间陆续想要传送帧,则这些工作站都会在该笔帧传送结束并且等待一个 DIFS 时段后同时进入竞争窗口。假设这些工作站分别产生b1,b2,,,,bn 的后退时间,其中 b1 < b2 < ,, < bn。则工作站 S1 的后退时间可以持续递减到零并且在此轮的竞争中率先传送出去因为其后退时间(b1)最短。其它工作站 Si 则会在其后退时间递减到等于 bi - b1 时侦测到此传送行为。此表示其在此竞争窗口中没有成功,于是暂时将其后退时间冻结起来,待下次再进入竞争窗口时则以此值为其退后时间起始值。依此方式,如果中间没有其它新的工作站加入竞争的行列,则这些工作站传送帧的顺序将是 S1, S2, ,,, Sn。换句话说,工作站必须等到其后退时间减到零时才能将帧传送出去。如果所有工作站的后退时间都不相同,则帧在传送时就不会发生冲撞的情形。如果有两个或两个以上的工作站刚好产生相同的后退时间,则这些工作站将同时传送帧并且发生冲撞的现象。前面曾说过,每一笔帧的传送都必须收到对方的回复信息才能算传送成功。如果发生冲撞的情形(或帧传送时发生错误)则参与的工作站都不会收到任何回复信息。此时该工作站将进行重送阶段 (Retransmission)。进行重送阶段的工作站在进入竞争窗口前所等待的时间将是延长帧间隔时间(EIFS), 而不是帧间隔时间(DIFS)。在进入竞争窗口时其后退时间的计算也将不同。以下说明工作站如何产生后退时间的初始值。后退时间计算方式如下:Backoff = INT(CW x Random( )) x 时槽时间其中INT(x) 整数函示,表示小于或等于 x 的最大整数,CW 是一个介于 CWmin 和 CWmax 间的整数,Random() 为介于 0 与 1 间的实数,时槽时间= 传送器开启延迟 + 媒介传递延迟 + 媒介忙碌侦测反应时间。 CW是一个竞争窗口参数,每一笔帧第一次传送时采用的值为Cwmin。每当因为工作站传送的帧发生冲撞或错误现象而必须进行重送的程序时,CW值就会依序增加,直到其值达到Cwmax 为止。在标准中,此值之顺序依序为 (7,15,31,63,127,255,255,255,,,), 如图13-29 所示。也就是说,当一笔帧第一次进入竞争窗口时其CW = Cwmin =7,并且依此产生后退时间。如果此笔帧第一次传送时(后退时间递减为零,其间可能经过许多竞争窗口)没有成功,则下一次再进入竞争窗口时其CW=15,并且依此产生第二个后退时间。 依此类推,第五次重送时其值将为CW = Cwmax = 255。第六次以上的重送则仍然采用 Cwmax = 255。 图13-29 CW 值增加方式 图13-30(a) 所示为一个工作站传送帧时后退程序的例子。此例中,一开始工作站 B、C、D 想传送帧,而传输媒介为工作站 A 所使用。当工作站 A 送完帧时,工作站 B、C、D 在等待了一个 DIFS 时间后,就分别利用 CW = Cwmin = 7 产生一个随机后退时间(假设分别为 19us, 10us, 及15us),然后开始进行递减的工作。在这个例子中,由于工作站 C 产生的后退时间最小(10 us),于是率先递减为零并且在这次的竞争窗口中取得了传输媒介的使用权并且传送出帧。此时工作站 B、D 的后退时间分别剩下 9us 及 5us。工作站 C 传送帧的过程中,此两个后退时间被暂时冻结。在进入第二个竞争窗口时则分别以此值为其后退时间继续递减。结果在 5us 后工作站D 开始传送其帧,而工作站 B 必须等到进入第三个竞争窗口 4us后才会开始传送其帧。 图13-30(b) 所示为另一个工作站传送帧时后退程序的例子。开始时一样假设工作站 A正在传送帧而工作站 B、C、D 陆续想传送帧。当工作站 A 送完帧时,工作站 B、C、D 在等待了一个 DIFS 时间后,就分别产生一个随机后退时间(假设分别为 19us, 10us, 及15 us),然后开始进行递减的工作。由于工作站 C 产生的后退时间最小,于是在这次的竞争窗口中取得了传输媒介的使用权并且传送出帧。当工作站 C 传送帧时,假设工作站 E 也想传送帧,于是变成工作站 B、D、E 共同竞争媒介使用权。在进入下一个竞争窗口时,工作站 B、D 的后退时间分别为 9us 及 5us。而工作站 E 则利用 CW = Cwmin = 7 产生一个随机后退时间(假设为 7us)。结果在 5us 后工作站 D 开始传送其帧,而工作站 B、E 的后退时间则分别剩下 4us 及 2us。结果在下一个竞争窗口中工作站 E 将可较早传送帧,而工作站 B 则必须等到进入第四个竞争窗口 2us 后才会开始传送其帧。 图13-30(c) 所示为工作站传送及重送帧时后退程序的例子。开始时一样假设工作站A 正在传送帧而工作站 B、C、D、E 陆续想传送帧。当工作站 A 送完帧时,工作站 B、C、D、E 在等待了一个 DIFS 时间后,就分别利用 CW = Cwmin = 7 产生一个随机后退时间(假设分别为15us, 10us, 15 us 及18 us),然后开始进行递减的工作。由于工作站 C 产生的后退时间最小,于是在这次的竞争窗口中取得了传输媒介的使用权并且传送出帧。此时工作站 B、D、E 的后退时间分别剩下 5us, 5us, 及8us。工作站 C 传送帧的过程中,此三个后退时间被暂时冻结。在进入第二个竞争窗口时则分别以此值为其后退时间继续递减。结果在 5us 后工作站B 及 D 同时开始传送其帧,结果造成冲撞的现象。由于没有收到回复信息,工作站 B 及 D 分别进入重送阶段,并且在下一个竞争窗口中(工作站 B 及 D 此时必须等待 EIFS 时段才能进入竞争窗口) 分别利用 CW = 15 产生一个随机后退时间(假设分别为 20 us 及 25 us)。而工作站 E 则在第三个竞争窗口中(工作站E 只需等待 DIFS 时段即可进入竞争窗口) 等待 3us 后开始传送帧。此时工作站 B、D 的后退时间分别剩下 17us 及22us。结果工作站B 必须等到进入第四个竞争窗口 17us 后才会开始传送其帧,而工作站 D 则必须等到进入第五个竞争窗口 5us 后才能开始传送其帧。 图13-30 工作站传送帧时后退程序范例 7.2 集中式协调功能 (PCF)IEEE 802.11 除了提供上节所描述 DCF 方法来传送异步帧外,也提供了另一个方法来支持「免竞争」的服务,以传送具时限性的帧。此方法称为「集中协调式功能」(Point Coordination Function,简称PCF)。PCF运作的特色是在一个具有协调者 (Point Coordinator) 的BSS中,所有工作站都能接收在PCF控制下所传送的所有帧。至于工作站有无能力回复由协调者所传送的免竞争轮询 (Contention Free Poll, CF-Poll) 则属于一种选项。有能力回复免竞争轮询的工作站称为可轮询(CF-Pollable) 工作站。无能力回复免竞争轮询的工作站称为非轮询(Non CF-Pollable) 工作站。可轮询工作站可以要求加入协调者的轮询名单中。每次被轮询到时可以传送一笔帧。非轮询工作站则在免竞争周期中不能传送帧,只能在收到帧时回送一个回复帧。可轮询工作站所传送的帧的目的地工作站可以是任何工作站(协调者,可轮询工作站,或非轮询工作站)。此帧也可顺便携带一回复 (ACK) 信息,用以回复前一笔由协调者传送来的帧。如果此帧本身没有收到回复信息,则此工作站不可以立刻进行重送的程序,必须等到下一次被询问时,或等到进入竞争周期时才能重送此帧。如果可轮询工作站所传送的帧的目的地工作站是一个非轮询工作站,则此非轮询工作站必须依照 DCF 的方式在一个 SIFS 间隔时回送一个回复帧。在 PCF 周期中,协调者与被轮询者在传送帧时都不使用 RTS/CTS 控制帧。协调者在免竞争周期内重送帧时并不像DCF所采用的后退方法 (backoff)。它等到该目的地工作站再次成为轮询名单中的首位时才重送此帧。也可以在免竞争周期内等到一个 PIFS 的空档时重送此帧。 免竞争周期之结构与时序在免竞争周期 (Contention Free Period, CFP) 内,帧的传送由 PCF 控制,而在竞争周期(Contention Period, CP) 内,帧的传送则由DCF 所控制。免竞争周期与竞争周期应该轮流出现,如图13-31 所示。免竞争周期起始于一个由协调者所传送而携带 DTIM 组件的 Beacon 帧,终止于由协调者所传送的 CF-End 帧或 CF-End+ACK 帧。 图13-31 免竞争周期/竞争周期 交替出现协调者依照系统之免竞争再现率 (Contention-Free Repetition Rate, CFPRate) 产生免竞争周期。免竞争出现率是以包含几个DTIM 间隔来定义。协调者必须利用Beacon 帧中的 CF Parameter Set 组件中的 CFPPeriod 字段将此值传送给所有属于同一个 BSS 的工作站知道。免竞争周期的长度由协调者决定,其最大值由MAC MIB中的aCFPMaxDuration 对象所定义。免竞争周期的最大长度或实际长度不一定要是 Beacon 间隔的整数倍。如果免竞争周期的长度大于 Beacon 间隔,则协调者在免竞争周期间会于适当的时机送出 Beacon帧。这些Beacon 帧 (包括第一个Beacon 帧 )所携带的 CF Parameter Set 组件中的CFPDurRemaining 字段值 (记录此免竞争周期之最大剩余时间,单位为毫秒 ms)都不等于零。在竞争周期间所传送的 Beacon 帧的 CFPDurRemaining 字段值则都应该等于零。图13-32 所示为这些参数间的关系范例。图中 CFPRate 等于两个 DTIM 期间,也就每经过两个 DTIM 期间,就必须开始激活一个免竞争周期。图中一个 DTIM 期间等于三个 Beacon 期间。也就是一个超级帧的长度等于六个 Beacon 期间。协调者在此期间将传送六个 Beacon 帧,其中第一个 Beacon及第四个 Beacon 帧将携带 DTIM 组件。图中免竞争周期大约是2.5 个 Beacon 期间。 图13-32 Beacon 间隔与免竞争周期范例 协调者可以根据其必须处理的交通量及轮询工作站数量而提早或及时终止免竞争周期。由于原定传送 Beacon 帧的时间 (Target Beacon Transmission Time, 简称 TBTT) 可能恰巧有其它帧正在传送(媒介忙碌中),因此传送 Beacon 帧的时间可能会被延后(必须等该帧传送结束且完成回复工作后)。这使得此免竞争周期必须被迫缩短,缩短的时间就是 Beacon 帧被延后传送的时间,如图13-33 所示。此最大的延迟时间发生在该帧是一笔MSDU帧且其长度大于aRTSThreshold 临界值及 aFragmentationThreshold 临界值。此时最多会包含一个 RTS 帧,一个 CTS 帧,若干 Fragment 帧,而且每一个 Fragment 帧后面都跟着一个 ACK 帧。连续两个帧间则有一个SIFS 时间间隔。如果 Beacon 帧真的发生被延后传送的情形,则在免竞争周期开始的第一个Beacon 帧上之CFPDurRemaining 应该要仔细计算,以保证此免竞争周期可以在 TBTT + aCFPMaxDuration 之前结束。 图13-33 延迟传送之 Beacon 帧与缩短之免竞争周期范例 PCF 运作程序在免竞争周期中工作站传送帧的方式是依照一种称为「轮询」(polling)的方法上,并且由 BSS 中接入点内部的协调者来控制。协调者在免竞争周期的开始就取得传输媒介的使用控制权,并且在免竞争周期中以等待较短的帧间隔 (PIFS < DIFS) 方式来维持传输媒介的控制权。所有在 BBS中的工作站 (协调者除外) 于免竞争周期开始时都将其 NAV 值设为免竞争最大周期 (CFPMaxDuration)。这样可以避免因工作站未被轮询到却传送帧所造成的问题。在免竞争周期中帧的回复方式依该笔帧的目的地工作站性质分为三种:(1) 接收该笔帧的工作站是协调者。此时协调者可在传送下一笔帧及轮询给别的工作站时顺带回复此帧:Data+CF-Poll+CF-ACK, 或在传送轮询给别的工作站时顺带回复此帧: CF-Poll+CF-ACK。(2) 接收该笔帧的工作站刚好也是被协调者轮询的工作站。该工作站若有帧要传送则可在传送帧时顺带回复此帧:Data+CF-ACK。若无帧要传送则专程回复此帧: CF-ACK。(3) 接收该笔帧的工作站不是刚好被轮询的工作站(包括未轮询工作站及非轮询工作站)。此时该工作站应该以 DCF ACK 的方式回复此帧:等待一个 SIFS 间隔候传送一个回复帧。在免竞争周期开始前,协调者应该先侦测传输媒介,并且在媒介空档时间达一个 PIFS 时传送一个Beacon 帧激活此免竞争周期。此 Beacon 帧中带有CF Parameter Set 组件及 DTIM 组件。之后协调者必须等待至少一个SIFS间隔后传送下列四种帧的一种:Data 帧,CF-Poll 帧, Data+CF-Poll 帧, 或 CF-End 帧。如果免竞争周期是空的(协调者没有资料要送给工作站,也没有轮询名单),则 Beacon 帧后应立即跟上一个 CF-End 帧。在免竞争周期中处理NAV的方法主要是考虑到网络上可能存在重叠但彼此协调的BSS。前面已说过,所有在 BBS中的工作站 (协调者除外) 于免竞争周期开始时都将其 NAV 值设为免竞争最大周期 (CFPMaxDuration)。之后每次收到一个 Beacon 帧,就根据其上的CFPDurRemaining 值来修正 NAV 值。这包括由其它重叠BBS 的协调者所送来的 Beacon 帧。在 NAV 值不等于零之前工作站是不会主动传送帧的,这样可以避免工作站在免竞争周期间取得媒介的控制权。尤其是当免竞争周期横跨许多个媒介占用周期(medium-occupancy intervals,如采用跳频实体层之 dwell 周期)时,这个方法更是重要。此方法同时也有降低隐藏工作站 (hidden stations) 在免竞争周期中因侦测媒介空档达DIFS 时间而传送帧的可能性。这种传输可能破坏一笔正在传送中的帧。协调者在免竞争周期终止时会传送一个CF-End 帧或 CF-End+ACK 帧。工作站如果收到此类帧,无论是由哪一个 BSS 收到,都应该将其 NAV 值设为零,并且开始进入竞争周期。当工作站加入一个含有协调者且正运作中的BSS时,必须先设定其NAV值,不能立刻传送帧。方法是利用接收到的任何 Beacon 帧或 Probe Response 帧中的 CFDurRemaining 值。 PCF传输程序PCF传送帧的次序通常是先由协调者送给工作站,然后由工作站送给协调者,如此重复交替进行。至于工作站传送帧的先后顺序则由协调者来控制。图13-34 为免竞争周期中帧传送的典型范例。 图13-34 免竞争周期中帧传送范例 工作站如果配置跳频式实体层 (FH PHY), 则每次取得频道使用权时,有效期只有一个dwell time boundary。因此工作站如果要传送帧,则必须在dwell time boundary之前传送完成,并且收到对应之回复帧。被轮询的工作站如果预期不能在dwell time boundary之前完成此事,则应该延迟传送至下一次机会,并且传送一个 ACK 帧或 CF-ACK 帧。如果dwell time boundary已经非常逼近,使得工作站连传送一个 ACK 帧或 CF-ACK 帧都无法及时完成时,则协调者就不应该轮询该工作站。也就是说,协调者轮询某工作站时,一定保证该工作站至少有足够的时间传送一个 ACK 帧或 CF-ACK 帧。PCF 传送帧的运作模式可以分为两种:(1) 当协调者是传送工作站或接收工作站时, (2) 当协调者不是传送工作站也不是接收工作站时。以下说明此两种模式的运作情形。首先是当协调者是传送工作站或接收工作站时。协调者传送给可轮询工作站的帧可以是下列七种的任何一种:Data 帧: 使用时机是当协调者欲传送 Data 帧给某一工作站,而该接收工作站不是被轮询的工作站,而且协调者手上无尚未回复的帧。Data+CF-ACK 帧 : 使用时机是当协调者欲传送 Data 帧给某一工作站,而该接收工作站不是被轮询的工作站,而且协调者手上有一笔 SIFS 时间以前从可轮询工作站收到但尚未回复的帧。Data+CF-Poll 帧 : 使用时机是当协调者欲传送 Data 帧给某一工作站,而该接收工作站正好是下一个被轮询的工作站,而且协调者手上无尚未回复的帧。Data+CF-ACK+CF-Poll 帧 : 使用时机是当协调者欲传送 Data 帧给某一工作站,而该接收工作站正好是下一个被轮询的工作站,而且协调者手上有一笔 SIFS 时间以前从可轮询工作站收到但尚未回复的帧。CF-Poll 帧 : 使用时机是当协调者并无 Data 帧给某一工作站,但该工作站正好是下一个被轮询的工作站,而且协调者手上无尚未回复的帧。CF-ACK+CF-Poll 帧 : 使用时机是当协调者并无 Data 帧给某一工作站,但该工作站正好是下一个被轮询的工作站,而且协调者手上有一笔 SIFS 时间以前从可轮询工作站收到但尚未回复的帧。CF-ACK 帧 : 使用时机是当协调者并无 Data 帧给某一工作站,也不轮询工作站。不过协调者手上有一笔 SIFS 时间以前从可轮询工作站收到但尚未回复的帧。(例如协调者下一个欲传送的帧是属于管理类的帧,如Beacon帧,则是使用此CF-ACK 帧的适当时机)。 协调者也可以在免竞争周期内传送Data 帧或管理帧给非轮询工作站 (non-CF-Pollable) 及非省电工作站 (non-Power Save)。这些工作站则应该在一个 SIFS 间隔后回送一个 ACK 帧。协调者当然也可以在免竞争周期内传送广播帧或群播帧。因为激活免竞争周期的Beacon 帧带有DTIM组件,如果某些已连结的工作站处于省电模式,则这些欲广播或群拨给省电模式工作站的帧应该在此Beacon 帧后立刻传送。可轮询工作站只要收到任何由协调者送来而且设定 CF-Poll 的帧,就可以在一个 SIFS 间隔后传送一个 Data 帧。如果工作站刚好没有帧要送,则传送一个Null 帧。如果携带 CF-Poll 的帧需要回复,则可传送一个 Data+CF-ACK 帧 (或 Null+CF-ACK 帧)。如图13-35 所示,U1 帧同时也携带前一个 D1 帧的回复信息,而 D2 帧则携带 U1 帧的回复信息。在免竞争周期中,协调者传送帧的时间间隔是 SIFS, 除非原定 SIFS 间隔后应该出现的帧没有出现。此时协调者在继续等待至一个 PIFS 间隔后,立刻送出下一个帧。这样协调者就不会因为某些回复或响应帧的流失而丧失主控权。如果协调者等待时间过久(大于 DIFS),则某些刚加入的非轮询工作站可能在侦测媒介空档期达 DIFS 时开始传送帧,造成混乱。如图13-35 所示,D3 帧除了携带前一个U2 帧的回复信息外,也携带CF-Poll轮询某工作站,但该工作站没有任何反应(也许已当机)。协调者在继续等待至一个 PIFS 间隔后,立刻送出下一个 D4 帧。当协调者无帧可传送且轮询名单空白时,或 CFPDurRemaining 时间等于零时,可以送出一个 CF-End 帧终止此免竞争周期。如果之前尚有帧须回复,则可传送 CF-End+ACK 帧。所有收到 CF-End 帧或 CF-End+ACK 帧的工作站都应该将其 NAV 值设为零,并且开始进入竞争周期。如图13-35 所示,协调者送出一个 CF-End 帧后(如果U4帧须回复,则应该是 CF-End+ACK 帧),所有工作站将其 NAV 值设为零。由于此时 CFPDurRemaining 时间尚不等于零 (CFP < CF-Max-Duration),此免竞争周期的终止应该是属于协调者无帧可传送且轮询名单为空白的情况。 图13-35 免竞争周期帧传送范例(协调者是传送工作站或接收工作站) 协调者不是传送工作站也不是接收工作站的情形发生在可轮询工作站被轮询时可传送一个 Data 帧或Management 帧给同一个 BSS 中的任何一个工作站。此时 Data 帧的接收与回复方式必须采用DCF的规则,即目的地工作站必须在收到帧后一个 SIFS 间隔回送一个ACK帧。如图13-36 所示,由于 D1 帧携带轮询信息,因此 D1 帧的接收工作站可以传送一个 Data 帧。图中}

我要回帖

更多关于 802.11协议帧格式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信