一.线网与有线网的区别
(1.)传输媒介是完全不同的
(1.)无线网的传输媒介既没有绝对的边界,也不容易明显观察到。(在边界之外的STA收不到帧)
(2.)不能保证不被外界信号干扰
(3.)可靠性比有线传输差
(4.)动态拓扑结构
(5.)缺少完全连通性,即STAs间可能互不可见,所以每个STA可听到其它所有STAs的假设是不成立的。
(6.)不对称的传输特性
(2.)地址不同
二.无线网结构
IEEE802.11在物理层定义了数据传输的信号特征和调制方法,定义了两个射频(RF)传输方法和一个红外线传输方法。RF传输标准是直接序列扩频(DSSS)和跳频扩频(FHSS)。由于在无线网络中冲突检测较困难,媒体访问控制(MAC)层采用避免冲突(CA)协议,而不是冲突检测(CD),但也只能减少冲突。IEEE802.11物理层的无线媒体(WM)决定了它与现有的有线局域网的MAC不同,它具有独特的媒体访问控制机制,以CSMA/CA的方式共享无线媒体。
基本服务群(BSS)是无线局域网的基本单元,它的功能包括分布式协调功能(DCF)和点协调功能(PCF)。协调功能是决定在BSS内工作的一个站,通过WM允许发送和可能接收协议单元的逻辑功能。DCF是IEEE802.11MAC协议的基本媒体访问方法,作用于基本服务群和基本网络结构中,可在所有站实现,它支持竞争型异步业务。而PCF可支持无竞争型时限业务及无竞争型异步业务。无线局域网MAC提供的服务有:安全服务、MSDU重新排序服务和数据服务。
DCF基于载波侦听多址接入/碰撞预防(CSMA/CA)而未采用有线LAN中主要使用的载波侦听多址接入/碰撞检测(CSMA/CD)多址接入方式。这是因为站点传输时听不到信道碰撞。由于无线信道动态范围大,在有效带宽内采用碰撞检测方式是很困难的,故只能采取随机退避方式以减少两帧碰撞的概率。
PCF需与DCF共存,逻辑上位于DCF之上。非竞争期重复间隔(CFP周期)用于决定PCF产生的频率。重复间隔内的一部分时间分配给无竞争业务流,剩下的提供给基于竞争的业务流。非竞争期重复间隔由标志帧(B)初始化。标志帧由接入点传送,主要功能之一是同步和定时。非竞争期重复间隔长度是一可调参数,可随输入负荷而变化。如果负载轻,接入点会缩短非竞争期,提供更多的时间给DCF。图2所示为非竞争期重复间隔内PCF和DCF共存的情况。
IBSS,BSS,ESS,Wired LAN,DS,
三.服务
作为由MAC子层调用的逻辑上的服务接口,802.11架构中完整的服务集有:
(1.)Authentication
(2.)Association
(3.)Deauthentication
(4.)Disassociation
(5.)Distribution
(6.)Integration
(7.)Privacy
(8.)Reassociation
(9.)MSDU delivery
服务又分为2部分:STA和DS。
STA部分SS包括:
(1.)Authentication
(2.)Deauthentication
(3.)Privacy
(4.)MSDU delivery
DS部分DSS包括:
(1.)Association
(2.)Disassociation
(3.)Distribution
(4.)Integration
(5.)Reassociation
在这些服务中,按服务的目的又分为2部分:
(1.)其中6种服务用来支持MSDU delivery between STAs
(2.)其余3种服务用来控制802.11LAN 的access and confidentiality
Distribution, Integration是DS中转发消息
Association, Reassociation, Disassociation的服务为distribution service提供support
Authentication, Preauthentication, Deauthentication, Privacy是Access and confidentiality control services
四.消息
802.11共有3种消息类型:data,management and control。每种消息又有多种子类型。
Data:Data,Data+CF-ACK,Data+CF-Poll,Data+CF-ACK+CF-Poll,CF-ACK,CF-Poll,CF-ACK+CF-Poll,
Management:Association request,Association response,Reassociation request,Reassociation response,Probe request,Probe response,Beacon,Announcement traffic indication message(ATIM),Disassociation,Authentication,Deauthentication
Control:PS-Poll,RTS,CTS,ACK,CF-End,CF-End+CF-ACK
五.MAC
MAC层的结构就是PCF和DCF,且PCF是建立在DCF基础上的。
********************************************************************
DCF在每个通讯站都应被实现的,不论在IBSS或infrastructure network。
DCF中有著名的带冲突防止的载波侦听多路访问(CSMA/CA)机制,这一机制是通过任意回退(random backoff interval)来实现的。冲突防止大体的说,就是当网络空闲时,站点并不立即进行通信,而是选择一个任意回退时间,当这段时间内网络仍空闲才会进行通信。由于是任意回退,所以也就大大减小了冲突发生的几率。
DCF通过RTS/CTS获取网络的控制权。
*********************************************************************
PCF只存在于infrastructure network。在BSS的接入点AP处实现。
PC实际上就是一个选择器,通过从polling list中按AID升序依次挑选通讯站点来实现的。
PCF中有虚拟载波侦听机制。通过发送Beacon管理帧,并设置网络分配向量(NAV)来实现。并且通过使用比DCF的小的帧间间隔(interframe space),PCF的传输可获得比DCF更高的优先级。
===================================
MAC的MSDU和MMPDU被分成了更小的MMPDU,这主要是针对无线传输可靠性的下降。每个小片断长度不超过FragmentationThreshold。通过划分,可提高通讯的可靠性,并且重传时减小了重传数据量,提高了网络利用率。
===================================
MAC层的数据服务(data service)主要负责:将由逻辑链路层(LLC)发出的MAC服务请求转化为可被MAC状态机利用的输入信号;同时将MAC状态机的输出信号转化为给逻辑链路层的service indication。
五-1 DCF
所有定向传输(directed traffic)应使用立即主动回复(immediate positive acknowledge),如果没收到回复的ACK就进行重传。
DCF中的带冲突防止的载波侦听多路访问是为了降低多个站点传输时发生冲突的可能性。
载波侦听既有物理机制也有虚拟机制。虚拟机制通过发送预约信息(reservation information)来实现的。
预约信息的发送方法有:
(1.)通过交换RTS/CTS帧。里面的Duration/ID域定义了接下来发送数据帧和ACK帧所需的时间。所有能接收到RTS或CTS的站点都获得这一信息。
(2.)所有定向帧(directed frame)中的Duration/ID域。预约时间或者到接下来的ACK,或者是接下来接下来的片断+ACK。
************************************************************************
RTS/CTS帧除了作为冲突的快速检测外,还是对传输路径的检测。RTS/CTS还可以解决STAs之间的不可见性(被AP阻隔)。但在发送广播/多址(broadcast/multicast)的帧时,并不使用RTS/CTS机制,一方面是因为冲突,另一方面是加重了网络负担。
RTS/CTS的使用是由dot11RTSThreshold属性来控制的。但那些不使用RTS/CTS机制的站点,仍然应用收到的RTS或CTS更新NAV向量,并对发往自己的RTS作出CTS相应。且RTS/CTS的传输率应在aBasicRateSet范围内。
====================================
在DCF期间,最基本的过程是Backoff procedure。(Figure 52 Backoff procedure)
在一个任务完全结束后,首先是一个DIFS帧间隙。如果没有SIFS和PIFS的帧在这之前传输的话,那么STAs就开始了各自的任意回退过程。如果回退期间,有其它STA的任务开始(通过收到其它STA发出的RTS得知),则暂停自己的回退、更新NAV、并等待到任务结束后,继续自己剩余的回退过程。回退过程以aSlotTime为单位减少。
在回退结束后,则开始自己传输数据的过程。(Figure 53)
在传输数据过程中,使用的是SIFS帧间隙。介质上帧出现的顺序(来自发送方和接收方的)为RTS-CTS-(Fragment 0-Ack0)-……-(Fragment n-Ack n) 。每个帧都有Duration/ID域,包含到下一任务(即下一个括号中内容)结束时所用时间。(Figure 55)
RTS发出后,接受RTS的STA应该在一个SIFS之后,若NAV表明介质空闲,则传输CTS;若NAV表明介质忙,则对RTS不作响应。发送方STA则在发出RTS后,以PHY-TXEND.confirm为开始,等待一个CTSTimeout interval。
如果在这段时间内,没有PHY-RXSTART.indication发生,STA就认为RTS发送失败,然后进行backoff procedure。
如果在这段时间内,PHY-RXSTART.indication发生了,那STA就等待响应的PHY-RXEND.indication来最后决定RTS是否发送成功。
当STA成功识别RTS接收者发出的帧时有效的CTS帧时,才断定RTS发送成功,并可以发送接下来的帧序列。
当STA识别的RTS接收者发出的帧是其它帧,即便是有效的,也断定RTS发送失败。然后在PHY-RXEND.indication后进行backoff procedure。
如果在这段时间内,没有PHY-RXSTART.indication发生,STA就认为RTS发送失败,然后进行backoff procedure。
如果在这段时间内,PHY-RXSTART.indication发生了,那STA就等待响应的PHY-RXEND.indication来最后决定RTS是否发送成功。
当STA成功识别RTS接收者发出的帧时有效的CTS帧时,才断定RTS发送成功,并可以发送接下来的帧序列。
当STA识别的RTS接收者发出的帧是其它帧,即便是有效的,也断定RTS发送失败。然后在PHY-RXEND.indication后进行backoff procedure。
**************************************************************************
Directed MPDU transfer procedure
STA传输directed frames时,只有当MPDU长度大于dot11RTSThreshold时,才会用RTS/CTS进行传输。
dot11RTSThreshold时MAC MIB的一个对象,可通过MAC LME设置和恢复。为0时,表示所有MPDUs应该通过RTS/CTS传输。当大于MSDU的最大长度时,表示所有MPDU不通过
RTS/CTS传输。
如果通过RTS/CTS进行传输,则在CTS帧和一个SIFS后进行传输,不用考虑介质状态。
如果不通过RTS/CTS进行传输,则在获取基本的传输权限后进行。
无论用不用RTS/CTS,接收端STA都要有ACK procedure。
Broadcast and multicast MPDU transfer procedure
在没有PCF时,broadcast/multicast MPDUs的ToDS为空,传输只需基本的access procedure。不用RTS/CTS,没有ACK返回。
如果STA发出的broadcast/multicast MPDUs的ToDS不为空,则传输需遵循RTS/CTS,因为这种MPDU是给AP,然后分发到BSS的。
所有STA会过滤掉source address中包含自己的address的帧。
对于broadcast/muliticast帧,没有MAC-level recovery,除非ToDS不为空。结果可靠性降低。
ACK procedure
如果AP接收到的帧中,ToDS不为空,表示要求acknowledgment。此AP应在一个SIFS后发送ACK,而不考虑网络情况。
源STA在判断MPDU发送失败之前,应以PHY-TXEND.confirm为开始标志等待ACKTimeout interval时间。
如果在这段时间内,没有PHY-RXSTART.indication发生,则断定MPDU发送失败。(并在ACKTimeout interval结束后进行backoff procedure)
如果在这段时间内,有PHY-RXSTART.indication发生,则继续等待响应的PHY-RXEND.indication。
如果成功辨识ACK帧,则认为发送成功。
否则,即使辨识为其它有效帧,也认为发送失败。此时STA应在PHY-RXEND.indication后进行backoff procedure。唯一例外的是:由PS-Poll接收者发出的任何有效帧被
认为是对PS-Poll的成功响应。
Duplicate detection and recovery
重复帧的过滤是依赖Sequence Control field完成的。
Sequence Control field由sequence number和fragment number组成。同一个MSDU的MPSUs拥有相同的sequence number,而不同的MSDUs拥有不同的sequence
number。sequence number是由发送方STA产生的递增整数。
接收方STA应维持一cache,存储最近接收到的<Address2,sequence-number,fragment-number>元组。cache中broadcast/multicast或ATIM帧的元组会被忽略过去。
接收方STA还应拒绝那些Reset bit不空且与cache中的元组重复的帧。
但接收方STA还是要对那些要求acknowledgment的帧做ACK procedure,即使是要被丢弃的重复帧。
DCF timing relations
aSIFSTime和aSlotTime对每个PHY是固定的。
PIFS = aSIFSTime+aSlotTime
DIFS = aSIFSTime+2*aSlotTime
==================================================================
五-2 PCF
如果STA没收到期望中的ACK,则不重传。要重传,也要等到下次被选中,或在CP期间重传。
如果PC没收到期望中的ACK,在重传前要进行backoff。要重传,也要等到这个AID再次被选中。
CFP的时间结构:
PC以CFPRate的频率(即CFP repetition interval)产生CFP,这由CF parameter set中的CFPPeriod确定。
CFP的最长持续时间由CF parameter set的CFPMaxDuration确定。
CFP的剩余时间由CF parameter set的CFPDurRemaining确定。
********************************************************************
STAs方NAV的设置:
在每个CFP开始时(即TBTT),每个不是PC的站点都将自己的NAV设置为CFPMaxDuration。此后,每收到一个beacon帧,就将自己的NAV更新为CFPDurRemaining。CFP结束时会以CF-End或CF-End+ACK结束。收到这些帧时,站点就将自己的NAV重置。
*********************************************************************
在PCF期间,最基本的就是Beacon帧。
STA会根据收到的beacon来决定自己下面的状态。(??由Partial virtual bitmap和Bitmap Control决定自己是否被选中。)由DTIM Count决定是否是DTIM帧,再根据Bitmap Control的第0位决定接下来是否接收broadcast/multicast 帧。同时Beacon interval决定接收beacon帧的周期,这对于处于PS状态的站点尤为重要。
在TBTT时,每个STA将自己的NAV设为CFPMaxDuration,而PC首先检查网络是否忙,要等到网络空闲后(是否有SIFS等)立即发送beacon帧。收到beacon的STA会进行时间同步、NAV更新、确定beacon interval、(??确定自己是否被选中)等动作。在发送beacon帧后SIFS时间后,PC根据AID升序原则,从polling list中依次挑选站点,并向被选中站点发送含有CF-Poll的帧。并等待回应。如果在SIFS后仍没等到,则在PIFS时间后继续选取下一个站点。被选中的站点收到后必须回应。如果没有待发送数据,就发回null或CF-ACK。如果有,就发回data或Data+CF+ACK。(还有一种情况就是:如果被选中站点使用FH PHY,且dwell time不足,此时MPDU会发送被推迟,且发回null或CF-ACK)。AP收到后,根据frame control域的more fragement和more data决定站点还有没有待发数据。 如果没有,PC就发送Daia+CF-ACK+CF-Poll帧至polling list中的另一站。(其中该帧的CF-ACK部分用于对前一数据帧确认。在点协调器和站点之间将轮询和确认帧结合起来传送是为了提高效率。)直到CFPDurRemaining时间结束,或PC再也没有待发数据且polling list被选完,这时CFP会提前结束,PC会发送CF-END帧来立即终上非竞争期。
**********************************************************************
operation with overlapping point-coordinated BSSs
由于没有CSMA/CA contention window randomization和backoff of the DCF,所以重叠的,带PC的BSSs,若CFP Rate和Beacon interval相似,且在同一PHY信道上,
就可能发生冲突。
所以当PC的beacon因网络忙延迟时,PC就该在DIFS+任意backoff delay后再开始CFP。PC也可能用这种backoff来重发未被响应的定向data和management帧。