• 沒有找到結果。

第一章 緒論

1.3 論文架構

在本論文後續的章節中,第二章主要是針對IEEE 802.11 DCF、EDCA 以及相關作法的詳細介紹,第三章將介紹我們所提出的改善以及分析方 法,第四章為實驗結果,第五章為結論。

第二章 相關知識與作法介紹

2.1 802.11b DCF 運作原理

在 802.11MAC 層底下,因為要避免兩個或兩個以上的站台(station)同 時傳送各自的訊框(frame),因此設計了排程與競爭兩種服務,在 802.11b 的環境中排程的服務被稱做集中式協調功能(Point Coordination Function,

PCF),是由網路協調者(Point Coordination)以輪詢(polling)的方式安排每個 station 傳送各自的訊框的時間與順序,而 802.11b 裡面所使用的競爭服務 稱為分散式協調功能(Distributed Coordination Function,DCF),主要是利用 載波感測多重存取及碰撞避免(CSMA/CA)的技術所設計的,不過 DCF 無 法像集中式協調那樣完全避免不必要的碰撞,但是比較之下的好處就在於 DCF 不需要反覆的輪詢,因此可減少控制封包佔據通道的情況。

圖 2-1 DCF 競爭機制範例

圖 2-1 是一個使用 DCF 機制競爭通道的例子,我們假設每個傳送的時間是 包含 interframe space 以及其他控制封包在內的當次佔用時間,站台 A 在封 包產生之後,等待通道閒置了一段 DIFS(Distributed Interframe Spacing)的 時間便開始使用通道資源,而此時站台 B 因為必須選擇一個隨機選取的倒 數時間,所以站台 A 會先開始傳送,而感測到通道被佔用的站台 B 此時則 會暫停倒數的程序(frozen),一直等到通道資源被釋放才會開始倒數的程 序,當站台 A 完成了當次的傳輸而欲請求下一次的使用權,此時站台 A

也必須加入倒數的程序,在圖 2-1 中此時的站台 A 和站台 B 選到同樣的 backoff time 為 4,一般的情況是選到較小 backoff time 的站台會優先取得 使用權,而 backoff time 較大的站台會先暫停到對方使用完畢,但是如果 兩方使用同樣的 backoff time 的話,在倒數結束的同時(backoff time = 0),

雙方同時都會送出他們各自想傳送的封包,此時就發生了碰撞的情形,因 為在無線傳輸的環境中並沒有辦法在傳送封包的過程中偵測到碰撞,而是 必須依靠回傳的確認封包有無來決定是否重新傳送封包,因此我們可以得 知每次碰撞所必須花費的時間會等於在當次碰撞中所花費時間最長的那 段時間,在圖 2-1 中站台 A 與站台 B 會在 backoff 同時等於 0 時發生碰撞,

而且站台 A 傳送的時間比較長,所以此時的站台 B 在傳送完成時會偵測到 通道仍然是忙碌的狀態而開始等待(wait),直到通道被釋放資源才被允許進 行下次的請求。

在DCF的機制裡定義了兩種傳送封包的方法,其中的第一種稱為basic access mechanism (BAS),定義在當獲得通道使用權的時候直接傳送欲傳送 的資料封包,如果之後有收到確認成功的訊息封包(acknowledge,ACK)則 成功完成當次的傳輸,圖2-2分別表示成功與失敗時,BAS機制所需花費的 過程:

DIFS Payload

SIFS ACK H

圖 2-2(a) BAS 機制成功過程

圖 2-2(b) BAS 機制失敗過程

第二種方法稱為request-to-send/clear-to-send (RTS/CTS),當站台獲得通道使 用權時,首先會先送出請求的封包(request to send,RTS),如果有收到回傳

的准許請求的封包(clear to send,CTS),才會開始把欲傳輸的資料封包傳 送出去,等到接收到ACK才算整個傳送過程完成。這兩種方法大略上的差 異就是在於RTS/CTS方法會先送出請求的訊息才會把自己欲傳送的資料封 包傳送出去,而RTS/CTS的使用與否則決定於訊框的長度,系統會定義一 個參數稱為RTSThreshold,訊框長度必須大於或等於RTSThreshold的值才 使用RTS/CTS,這樣做的優點是在於一但較長的訊框在傳送時被碰撞將會 消耗較長的時間,嚴重影響網路頻寬使用效率,設定門檻值可以讓環境中 不會出現太長的訊框封包,避免不必要的長訊框碰撞。另外,RTS/CTS另 外一個優點是可以解決隱藏節點所造成的溝通問題,如圖2-3所示

A B C

圖 2-3 隱藏節點範例

在圖2-3中,站台A與站台C皆嘗試與站台B進行通訊,但是站台A和站 台C卻因為距離的關係無法感測到彼此的存在,也就是說不會知道對方目 前的狀態是閒置或是正在通訊,由於站台B無法同時接收來自站台A與站台 C的資訊,所以站台A與站台C只允許在站台B確認許可之後才可與站台B 進行通訊,我們假設每次站台請求傳輸時,RTS/CTS機制總是被啟動,則 站台B會先接收到RTS的請求來決定是否許可,如果只有收到一個RTS的請 求,則為確認許可的狀態,站台B便可廣播一個CTS的封包暫停周遭其他 的請求,如此便可在無干擾的環境之下與原請求的站台進行接下來的資訊 交換,反之則站台B不會有下一步動作,原請求的站台在未收到CTS的狀

況之下會把自己的請求視為不被允許而不會貿然的送出自己欲傳送的資 料,如此便可解決隱藏節點的問題。圖2-4分別表示成功與失敗時,RTS/CTS 機制所需花費的過程:

圖 2-4(a) RTS/CTS 機制成功過程

圖 2-4(b) RTS/CTS 機制失敗過程

圖 2-4 顯示每次資訊的交換中間都間隔了一段 SIFS(Short Interframe Spacing)的時間,為最短的 IFS(Interframe Spacing),可確保其他等待中的 站台因為較長的 DIFS 的限制而不會介入這兩方的資訊交換過程。

2.2 802.11e EDCA 運作原理

而在 802.11e 的環境中對於競爭服務的需求更甚於 802.11b,為了增加 對 WLAN 的 QoS(Quality of service)的需求,因此在 802.11e 裡的競爭服務 EDCA(Enhanced Distributed Channel Access,EDCA)就特別針對不同優先權 等級(AC,Access Category)的資料提供不對等的操作環境以增加優先權 高的資料提前傳送的機會。優先權等級是以欲傳輸的資料類型作區分,通 常分成四個等級,按照優先權大小依次為:

voice > video > background > best effort

相對於沒有優先權順序的 DCF 而言,EDCA 可以視為四種不同參數的 DCF 混合系統,實際上會有四種不同的 CWmin、CWmax與 IFS 在同樣的一個通 道競爭,互相比較之下會使得較小的 CW 與較小的 IFS 的資料類型會有較 高的機會先搶得通道使用權以增進其服務速率。

此外,不同的 IFS 代表著在通道閒置的時候,這四種等級的資料類型必須 等待的開始啟動 backoff 程序的時間也就不一樣長,可說是四種不等長的 DIFS 存在系統中,而這四種 IFS 被稱做 AIFS(Arbitrary Interframe Space),

如圖 2-5 所示

圖 2-5 不同等級資料類型間等待時間差異

在通道被釋放資源的時候,會有 AC1、AC2、AC3、AC4 四種等級的資料 欲參與競爭,我們假設 AC1 為優先權等級最高的資料類型,在經過了 AIFS1 的等待時間之後,AC1 會開始 backoff 的程序,而其他優先權等級較低的 資料類型則只能等待,直到閒置的時間到達 AIFS2,也就是說所有 AC1 尚 未提前使用通道的情形下,優先權第二高的 AC2 才會加入競爭的行列,與 AC1 一起參與 backoff 的程序,以此類推,一直到 AIFS4 之後才會使得四 種資料類型皆參與 backoff 程序。光從 AIFS 的差距就已經可以看出優先權 較高的資料類型所佔的優勢,因為總是提前開始 backoff 的程序,相較之 下對於通道的優先使用權會優於其他類型,除此之外,802.11e EDCA 對於 四種類型之間的 CW 也定義了不同的大小,以便凸顯優先權等級存取通道 使用權的優勢,對於優先權較高的資料類型給定比較小的 CWmin 以及 CWmax,相較之下會更凸顯不同資料類型之間優先權的差距。

2.3 相關研究與文獻回顧

[1] 是 分 析 802.11b MAC 層 針 對 每 個 站 台 之 間 競 爭 機 制 (Distributed Coordination Function,DCF)的吞吐量(Throughput)最重要的文獻之一,此 篇文獻主要是以馬可夫鍊 (Markov Chain) 來表示站台所可能發生的各種

狀態及其平均的發生機率,也引起了學界對分析 MAC 層的相關數據的高 度興趣。

圖 2-6 文獻[1]所提出的馬可夫鍊模型

圖 2-6 為[1]所提出的馬可夫模型,其中包含可能發生的各種狀態以及各 自之間的轉換機率,每個狀態裡面個別都有兩個參數,分別為 backoff stage 和 backoff 的數字,由圖可知在每個 backoff 減少的過程中所會發 生的機率為 1,直到 backoff 一直減少到 0 的時候,因為此時此站台必定 會傳送一個封包,才會有發生碰撞(p)與成功傳輸(1-p)的兩種機率。又因 為在飽和的狀態下每次碰撞或成功都會重新在 contention window 裡面均等 的重新選擇一個 backoff slot,所以每次的 p 或 1-p 各自都還要分成 W 等 分。利用所有狀態的機率總和為 1 跟各自的轉換機率便可知道各狀態發生 的概率,進而獲得每個站台平均會傳送的機率 τ(p)。

=

= m

i

bi

p

0 0

) ,

τ( (2-1)

而碰撞機率 p 亦可用τ來表示為 p(τ)。

) 1

1 ( 1 )

( = − − N

τ (2-2)

(2-1)與(2-2)可解出τp這兩個參數,因為每個 slot 只含有三種可能:成 功傳送的 Ts,傳送失敗的 Tc,沒人傳送的σ,我們可以計算出每個 slot 發 生這三種可能的機率與長度,便可以求出系統的平均吞吐量 Throughput。

文獻[2] 提出了以排隊理論的方式分析 DCF 機制的一種新想法,如下 所示:

圖 2-7 文獻[2]所提出的模型

考慮每個 backoff stage,因為各自的 CW 大小不同,視為擁有不同服務速 率的 QUEUE,因為要經歷碰撞才會進入下一個 stage,所以進入每個 QUEUE 的速率必須考慮碰撞的機率 p,所以進入與服務的速率λ、μ如下:

k

k

λ +1 = (2-3)

 

= 

+ 2

1

k

k m

µ

µ

µ m0kk<<mm' (2-4)

此篇文獻跟[1]一樣都是為了求出平均的傳送機率τ,而

N

τ = λ (2-5)

其中的

=

= '

0 m

i

λi

λ (2-6)

所以還必須算出λ與 N 的關係,引用 little’s theorem,每個 QUEUE 裡面平 均待服務的個數為

k k

NK

µ

= λ (2-7)

由以上的式子便可求得τ與 p 之間的關係,再由 τ,利用文獻[1]的概念便可求出平均的 Throughput。

文獻[3]則是文獻[1]的引申,主要是想藉由[1]的模型所求得的傳送機率 τ來探討當封包長度為平均分佈的時候,系統平均的 Throughput 應該如何 來決定。在這篇文獻中又分成離散與連續的兩種情況去討論,首先探討離 散的情況。假設封包長度為 m 的累積機率分佈(CDF)為 f(m),則其機率密 度函數(PDF)為 f(m)-f(m-1),對照 DCF 的機制,只要封包長度比門檻值 (Threshold)lr 還小的話,則封包就不會以 RTS/CTS 的方式傳送,而是以 BAS 的方式傳送,因此平均成功的時間可以分成這兩個部分:

長一點,所以如果以最長的長度取決此次碰撞的長度的話,那麼就會是在

長一點,所以如果以最長的長度取決此次碰撞的長度的話,那麼就會是在

相關文件