官术网_书友最值得收藏!

6.3.3 IEEE 802.11協議棧

IEEE 802.11協議主要由物理層和數據鏈路層的MAC層組成,其中物理層又可分為物理層匯聚(PLCP)子層和物理層媒質依賴(PMD)子層。IEEE 802.11協議參考模型如圖6.11所示。參考模型中各層之間、管理實體之間以及層與管理實體之間主要通過服務訪問點進行訪問,利用服務原語彼此建立聯系。LLC層通過MAC層服務訪問點與對等的LLC實體進行數據交換。本地MAC層利用下層的服務將一個MSDU傳給一個對等的MAC實體,然后由該對等MAC實體將數據傳給對等的LLC實體。

圖6.11 IEEE 802.11協議參考模型

IEEE 802.11規定在MAC層采用兩種介質控制方式:分布式控制方式(Distributed Coordination Function,DCF)和中心控制方式(Point Coordination Function,PCF)。其中,DCT工作在競爭期(CP),PCF工作在非競爭期(CFP),如果沒有特別說明,本書中后面研究的無線局域網均采用分布式控制方式。

1. 分布式控制方式

分布式控制方式(DCF)是與物理層兼容的工作站和無線接入點(AP)之間自動共享無線介質的訪問協議,是IEEE 802.11 MAC層主要采用的訪問協議。IEEE 802.11 DCF采用具有沖突避免的載波監聽多路訪問(CSMA/CA)協議進行無線介質共享。

物理層和虛擬載波監聽機制可以讓MAC層監聽介質處于繁忙或者空閑狀態,CSMA/CA流程圖如圖6.12所示。物理層控制機制將物理信道評估結果發送到MAC層,作為確定信道狀態信息的一個因素。

圖6.12 CSMA/CA流程圖

MAC層控制機制利用幀中持續時間字段的保留信息實現虛擬監測機制,這一保留信息向所有站發布本站將使用介質的消息。MAC層將監聽所有MAC幀的持續時間字段,如果監聽到的值大于當前的網絡分配矢量(NAV)值,就用這一信息更新該工作站的NAV,NAV就像一個計數器,開始值是最后一次發送的幀的持續時間字段值,然后開始倒計時,當NAV的值為0,且物理層控制機制表明有空閑信道時,這個工作站就可以發送幀了。

物理信道評估和NAV的內容為MAC層判斷信道狀態提供了足夠的信息。

當一個節點需要發送幀時,首先調用載波偵聽機制來確定信道的忙/閑狀態,如果信道忙,它將推遲發送,直到信道處于空閑狀態的時間達到一個DIFS長度為止。為了避免發送沖突,該節點在發送前必須經過一個附加的退避周期,將產生一個隨機的退避時間(Back off Time),并存入退避計數器。如果退避計數器中已經包含一個非0的值,那么就不再執行產生隨機退避時間的過程。退避時間的產生方法為

BackoffTime=Random()×aslotTime

式中,Random()是均勻分布在[0,CW]范圍內的隨機整數;競爭窗口(Contention Window,CW)是介于由物理層特征決定的最小競爭窗口CWmin和最大競爭窗口CWmax之間的一個整數值,CWmin<CW<CWmax;aslotTime是由物理層特性決定的一個時隙的實際長度值。退避時間是一個以時隙為單位的隨機整數。

當一個節點執行退避過程時,在每一個時隙中偵聽信道的狀態,如果信道空閑,則將退避時間計數器值減l;如果信道忙,則退避時間計數器被凍結(即不再遞減),直到偵聽到信道處于連續空閑狀態的時間達到DIFS長度,退避過程重新被激活,繼續遞減。當退避計數器遞減到0時,節點就可以發送數據。當多個節點同時競爭信道時,每個節點都必須經過一個隨機時間的退避過程,才能占據信道,這樣就可大大減少沖突發生的概率。另外,通過采用退避過程中的凍結機制,使得被推遲的節點在下一輪競爭中無須再次產生一個新的隨機退避時間,只需繼續進行計數器遞減即可,等待時間長的節點的優先級高于新加入的節點,可能優先得到信道,從而維護競爭節點之間一定的公平性。

例如,在節點A發送數據時,節點B、C、D都有幀要發送,需要等待信道連續空閑DIFS時間,這時三個節點進入退避階段。節點B、C、D在CW內隨機產生一個退避時間,因為節點C所產生的退避時間最短,其退避計時器最先減至0,從而開始發送幀,同時節點B和節點D的退避計時器被凍結。在節點C的傳送過程中,節點E也有幀要發送,進入等待過程。信道空閑時間達到DIFS后,節點B和節點D的退避計時器解凍,節點E產生隨機退避時間。因為節點D的退避計時器最先減至0,所以節點D獲得發送機會。

每個節點都要維護一個CW參數,CW的初始值為CWmin。當一個節點發送失敗時,該節點的CW參數值就會增加1倍。以后,該節點每次因發送失敗而重傳時,CW參數值都會增加1倍,即CW=2m(CWmin+1)-1,其中m為重傳次數。當CW參數值增加到CWmax時,再連續重傳時CW參數值將保持為CWmax不變,當該節點發送成功或者達到了最大重傳次數限制,CW將被重新置為CWmin

這樣就帶來了一個公平性問題:對于一個發送成功的節點來說,當它要繼續發送新的幀時,它的退避計數器是從最小范圍內選取的,這使得它選取一個小退避值的概率遠遠大于其他節點,尤其是當其他節點因多次發送失敗而使得退避窗口很大,從而使退避值的選擇范圍很大時。所以,一個發送成功的節點發送新的幀很可能要優于發送失敗節點對幀的重傳。

2. 中心控制方式

中心控制方式(PCF)是優先級高于分布式控制方式(DCF)的訪問方式,提供對無線媒質的無競爭訪問。在這種工作模式下,置于無線接入點(AP)中的中心控制器(PC)控制來自工作站的幀的傳送。工作站均在PC的控制下獲得對媒質的優先訪問權。中心控制器在其發出的查詢幀中使用PIFS,因為PIFS小于DIFS,因而中心控制器總是能獲得對介質的訪問權,并且在其發送查詢幀、接收響應時,把異步通信全部都鎖住。PC在每一個無競爭期開始,都對介質進行監測。如果介質在PIFS間隔之后仍然空閑,PC就發送一個包含無競爭期各項參數的信標(Beacon)幀。在含有AP的BSS中,信標幀用于保證相同物理網絡中工作站的同步,它包含時間戳(Time Stamp),所有工作站都利用時間戳來更新計時器,IEEE 802.11定義其為時間同步功能(Timing Synchronization Function,TSF)計時器。工作站接收到信標幀后,利用CF參數設置中的CFPMaxDuration值更新NAV,該值向所有工作站通知無競爭期的長度,直到無競爭期結束才允許工作站獲得對介質的控制權。

發送信標幀后,PC等待至少一個DIFS間隔,然后發送下列幀。

(1)數據幀:該幀直接從PC發往某個特定的工作站,如果PC沒有收到接收端返回的確認幀(ACK),它就會在無競爭期內的DIFS間隔后重發該幀。除了這種單點傳輸的數據幀,PC還可以向所有的終端(包括處于節能模式下的終端)發送廣播幀,因為所有處于節能模式下的終端每隔TIM(Traffic Indication Map,業務指示表)時間都要轉入活動狀態接收PC發出的信標幀。

(2)無競爭輪詢幀:PC向某個工作站發送無競爭輪詢幀,授權該工作站可以向任何其他目的終端發送數據。如果被輪詢的工作站沒有數據要發送,就發送一個空的數據幀。如果該站沒有收到已發送數據的確認幀,則必須在被PC再次輪詢時重發未被確認的幀。

(3)數據幀+無競爭輪詢幀:PC向某個工作站發送數據,并輪詢其是否有數據發送,這樣可以減少因分兩次發送和確認帶來的系統開銷。

(4)無競爭結束幀:該幀用于確定競爭期的結束。

工作站可以選擇是否被PC輪詢,它在Association Request(連接請求)幀的功能信息字段的CF-Pollable(可輪詢CF)和CF-Poll_Request中表明自己能否被輪詢和是否要求被輪詢。工作站可以通過重新連接請求來改變現有的連接屬性,表達是否愿意加入輪詢隊列。PC維護著一個輪詢隊列,在每個非競爭期PC至少會發送一次CF-Pollable,從而使隊列中的工作站都有可能被PC輪詢到。

主站蜘蛛池模板: 宁海县| 韶关市| 卫辉市| 凤凰县| 抚顺县| 烟台市| 务川| 陵水| 合阳县| 墨竹工卡县| 鄢陵县| 榆林市| 石首市| 左云县| 甘孜县| 阜城县| 株洲县| 大同市| 仪征市| 横山县| 麻阳| 泸水县| 苏尼特左旗| 四川省| 商水县| 临颍县| 西丰县| 九龙城区| 博湖县| 从江县| 苍山县| 大冶市| 高淳县| 金沙县| 东台市| 惠来县| 南宫市| 云浮市| 连山| 怀安县| 冀州市|