IEEE 802.11又稱為『無線乙太網路』(Wireless Ethernet),這是因為 802.11 的存取技術與 Ethernet 網路非常相似。Ethernet 的 MAC 協定是 CSMA/CD(Carrier Sense Multiple Access with Collision Detection);而 802.11 是 『載波偵測多重存取附碰撞避免』(Carrier Sense Multiple Access with Collision Avoidance, CSMA/CA),兩者之間的運作模式非常接近。它們的基本原理都是在一個多重存取的環境下,制定一個標準的競爭模式,而各個工作站就依照此競爭模式來取得傳輸媒介(有線媒介或無線電波)的使用權。CSMA/CD 的運作是在一個有線的傳輸媒介(同軸電纜)上,工作站比較容易偵測到所發送的訊號是否有和其他工作站碰撞;但在無線網路的環境裡,要偵測訊號是否有和其他工作站碰撞可就難了,因此,IEEE 802.11 採用另一種運作模式來避免工作站之間發生碰撞,這個模式就是 CSMA/CA 通訊協定。 15-4-1 CSMA/CA 協定 圖 15-19 為 CSMA/CA 的運作模式,首先發送端會去偵測網路(或環境),假如頻道中沒有其他訊號傳遞時,發送端會再等待一段隨機時間,在這段時間過後,如果還是沒有偵測到任何信號在傳遞,發送端就會將封包傳送出去。假如一開始就偵測到有訊號使用了這個頻道,發送端會等到頻道淨空之後、再等待一個隨機的後退(Backoff)時間,才重新進入頻道的競爭模式。由此可見 CSMA/CA 和 CSMA/CD 的運作有一個關鍵性的不同點:在 CSMA/CD 運作下的工作站,如偵測到網路是淨空時,立即將訊框發送到網路上,再來偵測是否有和其他工作站發生碰撞;而 CSMA/CA 則是先等待一段時間之後,再判斷網路是否真正淨空,最後才決定是否發送資料,如此來儘可能避免碰撞的發生。
圖 15-19 CSMA/CA 運作模式 當發送端偵測出頻道空閒時,都會再等待一段時間之後,再來偵測頻道是否還是保持空閒,這段時間稱之為『訊框間隔』(Interval Frame Space, IFS)。IEEE 802.11 利用不同長度的 IFS 時間,來分辨它所提出兩種傳輸媒介的擷取方式: (1) 分散式協調功能(Distributed Coordination Function, DCF) (2) 集中式協調功能(Point Coordination Function, PCF) 所謂『協調功能』(Coordination Function)是指用什麼機制來決定工作站可以使用傳輸媒介的時機。『分散式協調功能』(DCF)是所有工作站利用 CSMA/CA 協定,由競爭模式取得傳輸媒介的機制。而『集中式協調功能』(PCF)是表示網路上有一個『集中協調站』(Point Coordination),由它來輪詢(Polling)所有工作站,看看是否有資料準備傳送;而被詢問到的工作站就可以取得傳輸媒介來傳輸資料。因此,IEEE 802.11 的 MAC 協定就有『無競爭式服務』(Contention-Free Server)和『競爭式服務』(Contention Service)兩種。圖 15-20 為 IEEE 802.11 的兩種服務模式,要特別注意的是 PCF 必須要透過 DCF 才能實現出來,也就是說,無競爭服務是經由集中協調站決定出哪一個工作站(屬於無競爭工作站群組)取得傳輸的優先權之後,再以競爭式服務取得傳輸媒介的使用權。這也表示在一個 WLAN 上允許無競爭式服務與競爭式服務同時存在,而各自有其工作站群組。
圖 15-20 分散式與集中式協調功能 15-4-2 基本存取機制 圖 15-21 為 MAC 的基本存取機制,其中包含DCF 與 PCF 兩種傳輸模式。至於如何來區分 DCF 和 PCF 之間取得傳輸媒介的時機,乃依照『訊框間隔』(Interval Frame Space, IFS)的長短來辨識。 IEEE 802.11 利用 IFS 的長短將訊框區分為三種不同優先等級,每一種優先等級的訊框在傳送之前,都必須等待一段固定大小的 IFS 時間。在 IEEE 802.11 標準之下,有下列四種 IFS 格式(如圖 15-21): (1) 短訊框間隔(Short Interval Frame Space, SIFS):此間隔時間是用來做立即回應的訊框使用,屬於 SIFS 等級的訊框有:『允許傳送』(Clear to Send, CTS)、『確認回覆』(Acknowledge, ACK)或『輪詢回應』(Poll Response)等。 (2) PCF 訊框間隔(PCF IFS, PIFS):此間隔時間是在無競爭式傳輸服務時,PCF 工作站傳送訊框前所必須等待的時間。 (3) DCF 訊框間隔(DCF IFS, DIFS):此間隔時間是在競爭傳輸模式下,DCF 工作站傳送訊框前所必須等待的時間。 (4) 延長訊框間隔(Extended IFS, EIFS):此間隔時間是工作站進行重送訊框時,所必須等待的時間(不在圖 15-21 中顯示,容後說明)。
圖 15-21 基本存取機制 當任何一個工作站感測到頻道空閒後,必須等待一個不等的 IFS 間隔時間,隨著間隔時間的長短來區分各種訊框的優先等級,其中 SIFS < PIFS < DIFS < EIFS,這也表示各種訊框的優先權是 RTS/CTS/ACK > PCF > DCF > 重送訊框(有關 RTS/CTS 容後介紹)。 15-4-3 分散式協調功能 『分散式協調功能』(DCF)是 IEEE 802.11 最基本的媒介存取機制,在此模式下,所有工作站都以 CSMA/CA 協定來競爭取得媒介(頻道)使用權。它的運作方式如圖 15-21 所示,傳送端感測到頻道空閒時,必須再等候一段 DIFS 的間隔時間,如果頻道仍然是空閒著,便可以開始發送訊號。但在網路上可能有多個工作站等待準備傳送資料,它們也都等待了 DIFS 的間隔時間後再發送訊號,因此,雖然經過延遲發送訊號,但不同工作站之間發生碰撞的機率還是很大。解決此問題的方法是,工作站在等待訊框間隔(DIFS)後,再等待一段由亂數所產生的時間才將訊框發送出去,因為每個工作站所產生的後退(Backoff)時間大多不會相同,所以便可以降低訊框發生碰撞的機率。後退演算法也如同 CSMA/CD 的演算法一樣,都是以某一個『時槽』(Time Slot)(容後介紹)時間為基準,而亂數所產生的數目為時槽時間的倍數,做為後退等待的時間。 至於後退時間的計算,並非每次感測到頻道空閒都必須重新計算,而且每部工作站的後退時間是可以保留使用的。其運作方式如圖 15-22 所示,假設一開始工作站 A 正在傳送資料,而同時工作站 B 和 C 也欲傳輸資料,於是都去感測網路是否空閒(時段 1)。當工作站 A 傳送完畢後,經過 DIFS 間隔時間,工作站 A、B 和 C 都有資料準備傳送,也各自計算後退時間(10, 8, 5)。因工作站 C 的後退時間較短(5),便優先發送資料(時段 2)。工作站 C 傳送完後,網路上又出現三個工作站準備競爭取得傳輸媒介,此時工作站 B 所保留的後退時間為 3(8-5 = 3),較工作站 A(10-5=5)和工作站 D 為短,因此工作站 B 先發送資料,而工作站 A 和 C 必須再等待(時段 3)。下一次換工作站 A 的保留後退時間最短,而先發送資料到頻道上(時段 4)。由上例可以發現,每一工作站所產生的後退等待時間幾乎不可能相同,因此,發生碰撞的機會也較少。採用保留後退等待時間的做法,是希望在這種不公平的競爭模式下,保證每一個工作站都能取得媒介使用權,而不論它隨機所產生的後退等候時間(容後介紹)有多長。
圖 15-22 分散式協調的運作 15-4-4 RTS/CTS協調功能 在無線網路系統中,除了不容易偵測出碰撞現象外,在載波感測方面,要判斷網路是否真正空閒也同樣非常困難。無論在 DCF 或 PCF 的運作模式下,都不能確定訊框在傳送之中會不會和其他訊框發生碰撞。為了克服此困難,IEEE 802.11 採用「交談式」的傳輸方式,亦即傳送端欲發送訊框給接收端之前,必須尋求對方同意。另一方面,接收端收到訊框後,也必須即時回應確認訊號給傳送端,這就稱之為『RTS/CTS 協調功能』(RTS/CTS coordination Function),包含有下列訊框訊號: (1) 確認(Acknowledge, ACK):當工作站收到一個位址指向自己的訊框(並非多重傳播或廣播),便會在 SIFS 時間間隔後(如圖 15-21 所示),立即回應一個確認訊框(ACK)給原發送端。 (2) 要求傳送(Request to Send, RTS):工作站欲傳送資料之前,首先送出 RTS 訊框給接收端,得到接收端回應後,才將資料訊框發送到網路上。 (3) 允許傳送(Clear to Send, CTS):當工作站收到 RTS 訊框,並確認有工作站欲傳送資料給自己時,便在 SIFS 時間間隔後(如圖 15-21 所示),立即回應一個允許傳送(CTS)給 RTS 訊框的發送端。 圖 15-23 為RTS/CTS 傳送機制,傳送端與接收端利用 RTS 和 CTS 訊框來達到交談式的傳輸;而接收端在收到資料之後,也會回應一個 ACK 訊框給傳送端。 圖 15-23 RTS/CTS 傳送機制 RTS/CTS 協調機制的主要特性是,工作站首先利用較小的訊框(RTS 訊框)來測試網路是否空閒,如果可以收到對方的回應訊框(CTS 訊框),那表示網路是真正的空閒。並且 CTS 訊框是在 SIFS 間隔時間(較短間隔)後立即回應,這也有先下手為強的味道。另外,為了克服無線網路上偵測是否空閒的困難,我們希望每一工作站隨時都能隨時瞭解網路情況,依此來判斷它是否空閒,而不需完全依賴載波感測,這個方法稱之為『虛擬載波偵測』(Virtual Carrier Sense)。它的基本原理是工作站只要由網路上收到(或聽到)某個訊框(網路傳輸是用廣播的,所有工作站都能收到其他工作站的傳送訊號),便知道另一工作站正準備傳送訊號,如果能夠大略知曉所需傳送的時間,在這段時間內該工作站就不需要去做載波感測,等時間過後才去偵測。如此便能減少工作站載波感測的次數,也能減少因載波感測發生誤解(沒空閒卻以為空閒)。做一個簡單的結論,虛擬載波偵測的做法是每一工作站都備有一個『網路配置向量』(Net Allocation Vector, NAV),此向量記載其他著其他工作站還需要多久的時間來傳送訊框,而這段時間內網路一定是忙碌的;所以要等到 NAV 紀錄內的時間過了之後,再去偵測網路是否真正空閒。 每一工作站上的 NAV 向量值是如何填入的?IEEE 802.11 的做法是利用 RTS 和 CTS 訊框來承載,亦即在 RTS 和 CTS 訊框裡都包含了一個『持續時間』(Duration Time)欄位,標示緊接其後的資料訊框會佔用多少時間。其他工作站收到(或聆聽到)RTS 或 CTS 訊框後,便將該訊框的『持續』欄位的內容登錄到工作站的 NAV 向量內。如果網路一直忙碌著,則網路配置向量所記載的等待時間可能會一直累積,在未歸零之前,工作站都不能傳送資料。如此一來,網路配置向量(NAV)就好像具備載波偵測的功能,能告訴工作站目前傳輸媒介是否空閒,因此稱之為『虛擬載波偵測』(Virtual Carrier Sense)。 圖 15-24 為配置向量的運作模式,其中 RTS 訊框所攜帶的持續時間值(單位為微秒)是預估所要傳遞資料的長度,另外,CTS 也攜帶著預估收取資料的時間,其他工作站收到這些訊息後,便將它填入本身的 NAV 向量值內,並開始計時。在 NAV 值歸零之前,工作站是不會去感測網路是否空閒的。然而,當工作站收到其他工作站發送 ACK 訊框時,它便知道前面所傳送 RTS/CTS 的資料都已傳送完畢,因此將 NAV 歸零,並進入頻道競爭的階段。 圖 15-24 網路配置向量的運作模式 RTS/CTS 的運作模式也可以解決『隱藏工作站』(Hidden Terminals)的問題。我們用圖 15-25 來說明何謂『隱藏工作站』問題,由於無線電波有一定的涵蓋範圍,假如有兩個工作站(STA1 與 STA2)同時有資料要傳送給基地台(AP1),而且這兩個工作站都不在彼此涵蓋範圍內,也就是說,STA1 和 STA2 彼此根本不知道對方的存在,這種情況下,當某一方與基地台(AP1)通訊時,另一方的工作站並不知道。譬如,當 STA1 發送訊號給基地台(AP1),而 STA2 收不到 STA1 所發送的訊號,就以為目前頻道是空閒的,而將訊號發到頻道上,如此便會發生碰撞的現象。 圖 15-25 隱藏工作站問題 我們用 STA1 欲傳送資料給 AP1 為範例,來說明 RTS/CTS 機制如何解決隱藏工作站的問題。當 STA1 向 AP1 要求傳送資料時,雖然 STA2 無法收到 STA1 發送出 RTS 訊框的訊號,但當 AP1 發送 CTS 訊號時,STA2 仍可以收到該訊號,並設定 NAV 向量值,保持一段時間不會去強用頻道,如此便能解決隱藏工作站問題。 另外值得特別注意的是,在 IEEE 802.11 標準中,傳遞訊息並非完全使用 RTS/CTS 機制。如果不是使用 RTS/CTS 機制,接收端收到資料之後,也都必須在 SIFS 間隔時間之後,立即回應一個 ACK 訊框給傳送端。當網路上其他工作站收到 ACK 訊框後,便知道通訊中的工作站已經結束工作了,網路又可以恢復競爭取得傳輸媒介的狀態,如圖 15-26 所示。
圖 15-26 直接傳送訊框模式 15-4-5 後退演算法與碰撞延遲 在分散式協調機制下,工作站偵測到頻道空閒之後,會再等待一段 DIFS 時間,才進入『競爭視窗』(Contention Window, CW,如圖 15-26 所示)。 工作站進入競爭視窗後,會依照後退演算法計算出一個隨機時間,再等待這段隨機時間之後,才將訊框發送到頻道上。另一種情況是,當傳送端在發送訊框後的預期時間內沒有收到接收端回應 ACK 訊框,便判斷所發送的訊框和其他工作站發生碰撞(也有可能訊號太弱,對方接收不到),此時,傳送端也會經由後退演算法,來計算重送訊框所必須等待的時間。因此,後退演算法在無線區域網路是個重要的計算公式,其時間計算方式如下: Backoff = INT(CW * Random()) * Time-Slot 其中:INT(x)為整數函數,表示小於 x 或等於 x 的最大整數; CW 是介於 CWmin 與 CWmax 之間的某一個數值; Random() 為介於 0 與 1 之間的隨機(Random)數值; Time-Slot = 傳送端啟動延遲 + 媒介傳遞延遲 + 感測媒介反應延遲。 其中 CW 是一個競爭視窗參數,是由最小值(CWmin)到最大值(CWmax)的排列中,取得其中一個數值。在標準規範中,CW 數值的排列為(7, 15, 31, 63, 127, 255, 255, 255, …)。每一筆訊框在第一次傳送時,CW 值都會採用最小值(CWmin = 7),當該訊框第一次發生碰撞,重送時會採用第二個 CW 值(CW=15),如連續發生碰撞,則依此類推;到了第五次重送以後,CW 值會選擇最大值(CWmax = 255)。但選擇出來的值還要乘以 Random() 的隨機值,因此連續發生碰撞的訊框,經過後退演算法所計算出較長時間的機率較大。工作站發生碰撞後,再經由後退演算法所計算出的必須等待時間,就會比一般後退時間為長,也稱之為『延長訊框間隔』(Extended IFS, EIFS)。 圖 15-27 為工作站後退演算法的運作程序,首先工作站 B、C 和 D 感測到工作站 A 傳送結束,經過 DIFS 間隔時間後,假設所有工作站都有資料要傳送,也經過各自的後退演算法(CW=7)計算出後退等待時間(10、10、5 和 14);又因工作站 C 的後退等待時間較短,而得以先發送資料到頻道上(時段 1)。當工作站 C 結束傳送資料後(如圖 15-27 的運作程序),再進入競爭視窗,因為工作站 A 和 B 的遺留後退等候時間相同(5),於是同時將訊框發送到頻道上,而發生碰撞的情形(時段 2)。工作站 A 和 B 發送訊後,沒有收到 ACK 回應訊框,因此都決定重送訊框,也分別以 CW =15 再計算出等候時間(25 和 29),同時也依此後退等待時間來競爭頻道的使用權(時段 3)。
圖 15-27 後退演算法的運作程序 15-4-6 集中式協調功能 IEEE 802.11 除了提供分散式協調機制,讓工作站得以透過競爭方式取得傳輸媒介的使用權之外,也提供『無競爭』(Contention Free)方式,使工作站以公平分配的方式,來取得傳輸媒介的使用權。它的無競爭模式稱之為『集中式協調功能』(Point Coordination Function, PCF)。顧名思義,集中式協調功能必須有一部『集中協調者』(Point Coordinator),來負責整個網路的協調工作。通常在一個基本服務區域內的集中協調者,都是由該區域的『擷取點』(Access Point)來負責。另外,在一個基本服務區內的工作站都可自行選擇是否願意加入被協調的行列,未加入者只能在競爭模式下取得傳輸媒介使用權。首先,我們來介紹一些有關集中式協調的元件及其特性: (1) 可輪詢工作站(CF_Pollable):參與被協調之列的工作站,或者具有被輪詢能力的工作站。 (2) 非輪詢工作站(Non_CF_Pollable):未參與被輪詢的工作站。 (3) 無競爭輪詢(Contention Free Poll, CF_Poll)訊框:即為集中協調者用以輪流詢問參與協調的工作站是否有資料要傳送。 (4) 當可輪詢工作站被協調者詢問到時,必須在一個 SIFS 時間間隔後,立即回應是否有資料要傳送。 (5) 可輪詢工作站在無競爭週期可以傳送訊框,傳送對象可以是協調者、可輪詢工作站或非輪詢工作站。 (6) 非輪詢工作站在無競爭週期內不可以傳送訊框,但可以接收訊框、或回應 ACK 確認訊框。 (7) 在無競爭週期內所傳遞的訊框可以攜帶一個回覆(ACK)訊息,用以回覆前一筆由協調者傳送而來的訊框。 (8) 當工作站傳送訊框後沒有收到回覆訊息時,此工作站不可以立即進行重送的程序,而必須等到下一次被詢問時,或等到進入競爭週期時,才能重送訊框。 (9) 如果可輪詢工作站傳送訊框的對象是非輪詢工作站,則該非輪詢工作站必須依照 DCF 的運作模式,在 SIFS 時間間隔後立即回應 ACK 訊息。 (10) 在 PCF 週期中,協調者和被詢問者在傳送訊框時,都不使用 RTS/CTS 控制訊框。 (11) 在無競爭週期中,傳送訊框發生碰撞而重新傳送時,都不採用 DCF 的後退(Backoff)演算法,而是在下一次被詢問到時、或 DCF 週期時才重送訊框。 (A) 無競爭週期的時序 在一個基本服務區內傳輸媒介(頻道)的使用時序,是由無競爭週期和競爭週期輪流出現著,其中無競爭週期是由 PCF 機制所控制;而競爭週期是由 DCF 所控制,如圖 15-28 所示。另外,由一個無競爭和一個競爭週期所構成的週期,稱之為『超級訊框』(Superframe),超級訊框的出現率是固定的,如果因為某種因素使上一個超級訊框延遲,則在下一個超級訊框內會減少無競爭週期的時間,以保持超級訊框固定的出現率。 圖 15-28 超級訊框週期 無競爭週期是由協調者發送出一個 Beacon 訊框來開啟,而結束於協調者送出 CF_End 或 CF_End+ACK 訊框。當協調者送出 Beacon 訊框時,訊框內會包含著 PCF 持續的時間(CFPDurRemaining),其他工作站收到 Beacon 訊框後,便將該值填入『網路配置向量』(NAV),並保持在這段時間內不會強用傳輸媒介。又當協調者送出 CF_End 訊號來表示無競爭週期結束時,工作站再將 NAV 設定為零,並進入競爭週期。協調者會依照系統所設定的週期時間(CFPMaxDuration)發送 Beacon 訊框,表示無競爭週期的開始。但當協調者計時期滿而須發送 Beacon 訊框時,此時網路並非一定空閒,說不定還有工作站正在發送,或是競爭不到傳輸媒介使用權,而發生延後進入無競爭週期的現象。但為了保持超級訊框的固定週期,延後的時間必須由縮短無競爭週期來彌補,如圖 15-28 所示。 (B) PCF 基本運作程序 協調者是在傳輸媒介空閒後的 PIFS 時間間隔內將 Beacon 發送出去,因 PIFS 小於 DIFS 時間間隔,而使協調者比一般競爭者優先取得媒介使用權。在一個基本服務區(BSS)內的協調者大多是由擷取點的 PCF 程式來控制。所有位於 BSS 中的工作站在無競爭週期開始後,都將 NAV 設定為無競爭週期的最大值(CFPMaxDuration),也保證這段時間不會參與傳輸媒介的競爭,以避免發生碰撞的機會。 在未討論 PCF 運作程序之前,先來討論無競爭週期中訊框的回覆方式。依照訊框之目的位址,可歸類為下面三種: (1) 接收該訊框的工作站是協調者:協調者收到訊框後,可在傳送下一筆資料及詢問給別的工作站時,順便攜帶回覆訊號,訊框為 Data + CF_Poll + CF_ACK 格式(一個訊框)。或在輪詢給別的工作站時,順便攜帶回覆訊框,訊框為 CF_Poll + CF_ACK(一個訊框,容後說明此訊框格式)。 (2) 接收該筆訊框的工作站剛好被輪詢到:該工作站收到訊框後,如有資料要傳送,則發送 Data + CF_ACK;否則直接回覆CF_ACK。 (3) 接收該訊框的工作站不是剛好被輪詢到的工作站:訊框的目的工作站可能是可輪詢工作站或非輪詢工作站,此時該工作站必須於SIFS 時間間隔內回應 ACK 訊號。 當進入無競爭週期後,協調者依照本身內部的輪詢名單,發送輪詢訊號(CF_Poll)給可輪詢工作站(CF_Pollable)。圖 15-29 為典型的無競爭週期運作程序,圖中由協調者發送的資料訊號稱之為『下傳訊務』(Down Traffic);而由一般工作站發送的資料訊號稱之為『上傳訊務』(Up Traffic),另外 Dx 表示下傳的第 x 筆資料;Ux 表示上傳的第 x 筆資料。在協調者發送 Beacon 訊框進入無競爭週期後,協調者會在經過 SIFS 時間間隔後送出輪詢的訊框(CF_Poll);而被詢問到的工作站也會在下一個 SIFS 間隔後送出資料訊框,或表明無資料須傳送。
圖 15-29 典型無競爭週期的運作程序 當協調者送出詢問訊框時,也有可能會連續送出詢問訊框,或回應 ACK 訊框,然而,這些訊框的目的位址並不一定相同;但網路是屬於廣播型態,任何工作站都可以接收到這些訊框,因此,不會影響各自訊框的傳遞動作。同樣的,當工作站被詢問到時,在傳送資料當中,也可以攜帶確認(ACK)訊框。 一般無線網路都是透過擷取點和有線網路聯結,同時將協調程式安裝在擷取點上,因此,無線工作站大部份的通訊是透過擷取點來連接有線網路,也就是說,大部份的通訊是發生在工作站和協調者之間。因此可將 PCF 的運作模式以: (1) 當協調者是傳送工作站或接收站,與 (2) 當協調者不是傳送及接收工作站,兩種模式來探討,以下分別敘述其運作程序。 (C) 當協調者是傳送工作站或接收站的運作程序 圖 15-29 為協調者是傳送工作站或接收工作站的運作程序範例,在這種情況下,協調者傳送給輪詢工作站的訊框可能是下列七種訊框之一: (1) Data 訊框:協調者傳送資料訊框給某一工作站,該工作站不是剛好被輪詢到的(或是非可輪詢工作站),而且協調者沒有未回覆訊息。 (2) Data+CF_ACK 訊框:協調者傳送資料訊框給某一工作站,該工作站不是剛好被輪詢到的,協調者並回覆一個確認訊框給另一工作站(或同一工作站)。 (3) Data+CF_Poll 訊框:協調者傳送資料給某一工作站,並且詢問它是否有資料要傳送。 (4) Data+CF_ACK+CF_Poll 訊框:協調者傳送資料給某一工作站,同時回覆一個確認訊息,並且詢問它是否有資料要傳送。 (5) CF_Poll 訊框:協調者僅依照輪詢名單,傳送詢問訊框給某一工作站,詢問該工作站是否有資料要傳送。 (6) CF_ACK+CF_Poll 訊框:協調者詢問工作站,並送出一個回覆訊框。 (7) CF_ACK:協調者僅送出回覆訊框。 當工作站收到協調者送來的 CF_Poll 訊框時,就可以在 SIFS 間隔後傳送一個 Data 訊框,如果沒有資料要傳送,必須回覆一個 Null 訊框給協調者。協調者在無競爭週期內,可直接傳送 Data 訊框或管理訊框給工作站(輪詢工作站或非輪詢工作站),這些工作站收到資料訊框後必須在 SIFS 間隔後回應一個 ACK 訊框。當協調者送出 CF_Poll 訊框時,可視需要攜帶 Data 或 CF_ACK 訊框,如圖 15-29 中的 D1 或 D2;工作站傳送 Data 訊框時,也可視需要攜帶 ACK 訊框,如 U1 或 U2 訊框。當協調者發送完訊框(資料或詢問訊框),若經過 SIFS 間隔後還未收到對方回應,此即表示對方工作站不存在或收不到訊號,這時協調者會等到 PIFS 間隔後再送出下一個訊框(詢問或資料)。如圖 15-29 中,協調者發送 D3 + ACK + Poll 後卻未收到回應訊號,於是直到 PIFS 間隔後再送出下一個訊框(D4 + Poll)。圖 15-29 同時可看出,協調者送出 Beacon 訊框後,所有工作站都將 NAV 設定成 PCF 的最大週期時間,一直到收到 CF_END 後,才將 NAV 清除為零。 (D) 當協調者不是傳送工作站或接收站的運作程序 第二種情況是當協調者非傳送或接收工作站時,其運作情況如圖 15-30 所示。此種情形是發生在工作站被輪詢到時,傳送資料訊框給同一 BSS 中另一個工作站(而不是協調者),此時資料訊框的接收與回覆必須採用 DCF 規則,亦即接收訊框者(任何工作站)必須在一個 SIFS 間隔後回送一個 ACK 訊框。如圖 15-30 中,協調者詢問到某一工作站時(D1 + Poll),該工作站傳送訊框給另一工作站(S-To-S),收到訊框者必須在 SIFS 間隔後,發送 ACK 訊框來表示正常接收。此時,協調者必須等到一個 PIFS 間隔後,才可再發送詢問訊框(或資料訊框)給其他工作站。
圖 15-30 協調者非傳送或接收工作站運作範例 另一種重要的情況,無線區域網路上所傳送的訊框都是屬於短訊框格式,然其所連接的其他網路大多是採用長訊框來傳遞訊息,因此,一筆傳送的資料大多由多個資料訊框所構成,亦是所謂的資料片段(Fragments)。在這種情況下,傳送端取得媒介使用權(經協調者授權)後,會連續傳送多個資料訊框,其間每當它收到接收端回應 ACK 訊框後,也需要在 SIFS 間隔後立即發送出下一個訊框。由此可見,雖然無競爭週期沒有使用 RTS/CTS 機制,仍可達到連續傳送訊框的功能。 (E) 輪詢名單的建立與維護 在無競爭週期中,協調者是利用輪詢名單來分配可輪詢工作站的媒介使用權,因此輪詢名單的建立與維護就顯得非常重要。輪詢名單的建立方法是,當工作站啟動時會向協調者(擷取點)要求連線,在建立通訊連線(Association)時,就必須表明是否願意加入被輪詢名單。工作站如欲退出輪詢名單,也需要重新連線(Reassociation)來表明欲退出。雖然加入輪詢名單的工作站較能保證取得媒介使用權,但也有缺點,譬如進入省電狀態的工作站,會在每次被詢問到時又被叫醒,來回答是否有資料要傳送。因此,對於時常處於省電狀態的工作站,最好不要加入輪詢名單;但未加入輪詢名單時,又僅能在競爭週期傳送資料。 協調者依據輪詢名單來詢問工作站,也有不同的做法,例如輪詢名單過長時,可能需要經過幾個無競爭週期才能輪詢一遍;但輪詢名單較少時,輪詢一遍可能還有剩餘時間。一般情況下,可依據訊務(Traffic)流量的分佈情形,或是不同服務品質的要求,來選擇輪詢工作站的優先次序,或是給予某些工作站較多的傳輸機會,如此便牽涉到協調者的排程演算法。然而在規範中並沒有制定標準演算法,都是由製造廠商各自制定。
|
翻轉工作室:粘添壽
電腦網路與連結技術:
翻轉電子書系列:
|