無線局域網MAC層訪問方式分析
網絡技術
作者:王浩 貟永剛 張欣
摘 要 無線局域網的MAC子層的功能是為用戶提供可靠的數據傳輸,實現共享介質訪問的公平機製。MAC子層有兩個主要的功能,分別是DCF(分布式協調功能)和PCF(點協調功能),主要介紹這兩種訪問方式。
關鍵詞 DCF PCF CSMA/CD
中圖分類號:TN925.93 文獻標識碼:A
無線局域網采用的是廣播通信的方式,在這種通信方式下必然會引起的信道訪問衝突,因此必須解決多個用戶競爭信道使用權的這個問題,多個用戶競爭信道使用權也稱為多路複用信道或隨機訪問信道。這個問題的解決可以采用介質訪問控製(MAC),它是將傳輸介質的信道有效地分配給網絡的各站點用戶的方法。無線局域網中有兩種分配方式。
1分布式協調功能
它是最基本的無線局域網訪問方法。采用帶衝突避免的載波偵聽多址訪問(CSMA/CA)。應用在所有的無線局域網站點的網絡結構配置(IBSS,BSS和ESS)中。分布式協調功能通過使用CSMA/CA和隨機退避時間來實現介質的自動共享。在發送數據前,首先檢測介質上是否有其他站點正在發送數據。最常用的就是載波檢測(CS),它分別在物理層和MAC層進行檢測。物理層的檢測就是對天線接收的無線信號是否有效進行檢測,若探測到是有效信號,表明當前信道上有數據在傳送或者是接收,表明信道正在使用;反之表示信道空閑。這種方法稱為物理載波檢測。MAC層的檢測是由網絡分配矢量(NAV)的值來確定的,這裏的NAV值是設備使用當前介質傳輸數據結束需要的時間(整個數據傳輸階段介質的使用情況進行預測),這些預測信息是由要發送數據的站點提供的。這個站點將它要傳輸數據所占用的時間通知其餘的站點,告訴這些站點在這一段時間內都不要使用信道發送數據從而避免了數據衝突。這種方式不是真正的檢測介質,而是因為接收到了發送數據的站點通知而進行的等待,所以稱為“虛擬”載波檢測。NAV是一個減1計數器,按固定速率遞減的形式表示了時間的流逝,當NAV中的值減為0時,表示數據在介質上已經傳輸結束,虛擬載波檢測認為信道“空閑”,不為0時,表明信道“忙”。物理載波檢測和虛擬載波檢測的值共同決定載波檢測的結果,當兩種檢測方式都指示信道“空閑”,CS就認為信道為“空閑”狀態。但是隻要其中一種檢測方式檢測到信道為“忙”,那麼CS結果就是“信道忙”,物理載波檢測考慮的是發送方,虛擬載波檢測考慮的是接收方。因此,IEEE802.11無線局域網的MAC層協議是同時從發送方和接收方來解決無線介質上分組傳輸碰撞問題的。
其實在使用上述載波檢測也是有一定困難的,比如物理檢測中對於天線的信號是否有效設備自己是檢測不到的。虛擬載波中NAV中的值隻能檢測出當前信道的狀態,但是對於發送數據前的多個設備如何競爭信道也是無能為力的。所以CSMA/CA的本質是用競爭時間片的方法來避免數據衝突。核心思想就是源站點必須檢測到當前的網絡是空閑的,之後才能發送信息,如果有兩個或者更多的站點要使用網絡就會發生衝突,那麼就在網絡上發送一個阻止信號用來通知所有的衝突站點,同步所有的衝突站點時鍾開啟用來競爭網絡的時間片稱為競爭時間片(contention time slice)。它一般是跟隨在阻止信號之後的,隻比繞著當前整個網絡環路傳輸一遍的時間稍微長一點。這時,每個特點的站點都有一個競爭時間片,每個站點在相應的時間內如果有任何信息要發送就可以開始進行傳輸。其他結點檢測到這個站點在進行信息傳輸以後,時間片中的時間就停止,一直到傳輸結束以後,所有的結點才可以恢複時間片的運行。當所有的時間片都失去作用的時侯,網絡就進入了空閑的狀態。為了保證公平性和可確定性,每次傳輸以後,時間片需要循環。另外,優等級的時間片的運行要優先於普通時間片的運行。另外,在CSMA/CA中除了采用硬件進行衝突避免,也可以采用軟件的方法來實現。例如,可以發送空信息(使得時間片在沒有信息傳輸的情況下仍然保持活動這樣一種狀態)。具體的實現方法是通過偵聽載波(查看無線傳輸介質是否空閑)的同時使用隨機的等待時間、虛擬的感測載波,讓其他設備知道設麼時候能夠進行通信以防止數據衝突。這樣做的好處保證某一時刻隻有一個站點使用信道,將衝突發生的概率減到最低保證了係統對所有網絡設備的集中控製。