WLAN芯片的指數(shù)回歸技術(shù)
當(dāng)802.11 WLAN網(wǎng)絡(luò)上的數(shù)個裝置同時傳送數(shù)據(jù)時,由于頻寬的限制,會發(fā)生“封包碰撞”(collision)的情況。一般以太網(wǎng)絡(luò)是使用“指數(shù)回歸算法”(exponential backoff algorithm)來解決這種問題,而802.11標(biāo)準(zhǔn)也不例外。802.11的MAC標(biāo)準(zhǔn)稱作“分布式基礎(chǔ)無線媒體擷取控制”(distributed foundation wireless MAC;DFWMAC)。
本文引用地址:http://m.butianyuan.cn/article/156349.htm如果真要自行設(shè)計“專屬的WLAN”,必須先行克服從射頻實體層至MAC層的通信協(xié)議問題。假設(shè)他們已經(jīng)具有很純熟的27MHz無線電傳收機(jī)技術(shù),則剩下的就是要解決MAC層的通信協(xié)議問題,這主要包含兩個重要的問題:CSMA/CA和回歸(backoff)。當(dāng)然,除此之外,RTS/CTS流量控制和“分布式協(xié)調(diào)功能(distributed coordination function;DCF)”,以及更上層的驅(qū)動程序、應(yīng)用軟件、各通信層之間的接口….等,都要嚴(yán)格考慮在內(nèi)。不過,本文將專注于回歸技術(shù)的探討。
碰撞的問題
當(dāng)兩臺裝置同時開始傳送數(shù)據(jù)時,它們將會先檢查纜線中是否有載波存在,若載波有存在,而且纜線是處于閑置狀態(tài),它們就會馬上傳送封包。因為它們所發(fā)射的電子信號會彼此干擾,這種干擾會造成“封包碰撞”的結(jié)果。碰撞會使封包內(nèi)的數(shù)據(jù)混淆不清,致使接收到的封包無法還原成正確的數(shù)據(jù)。
雖然,CSMA/CA和回歸都能解決碰撞的問題,不過,在功能上,它們是有差別的。CSMA/CA是一種“競爭”(contention)通信協(xié)議,它傾聽WLAN網(wǎng)絡(luò),避免碰撞發(fā)生。它和傳統(tǒng)的CSMA/CD(被以太網(wǎng)絡(luò)使用)不同,CSMA/CD是在碰撞發(fā)生之后,才起來處理后續(xù)的傳送作業(yè)。CSMA/CA則是防患未然,所以比較有助于網(wǎng)絡(luò)通信。因為它在任何真正的數(shù)據(jù)被傳送之前,會先在網(wǎng)絡(luò)上廣播(broadcast)一個信號,傾聽是否有碰撞發(fā)生,同時告訴其它裝置不要廣播。
當(dāng)發(fā)生碰撞時,裝置必須等待一段時間,等纜線恢復(fù)閑置時,才能再傳送。不過,若兩個裝置
同時再次發(fā)射信號,則另一個碰撞又將再次發(fā)生。為了避免這個情況發(fā)生,就必須采用“二進(jìn)制指數(shù)回歸算法”來解決。
回歸的概念
在碰撞之后,再次嘗試發(fā)射信號之前,每一個傳送裝置必須等待一段時間。不過,如果它們的等待或延遲時間都一樣,則下次還是會有碰撞發(fā)生。因此,每個裝置必須選擇一個0到D的隨機(jī)數(shù),當(dāng)成必須等待的時間長度。D是標(biāo)準(zhǔn)的延遲時間值。若又發(fā)生碰撞,則每個裝置會將之前所選擇的隨機(jī)數(shù)大小加倍,這表示現(xiàn)在的隨機(jī)延遲時間是在0到2D之間。如果又有另一個碰撞發(fā)生,則延遲范圍將在0到4D之間。以此類推。每碰撞一次,隨機(jī)延遲時間會以指數(shù)增加,所以下次會發(fā)生碰撞的機(jī)率將會大幅降低,而且重復(fù)回歸所花費的時間很短,可以忽略不計。
802.11的回歸機(jī)制
802.11/DFWMAC的回歸機(jī)制和以太網(wǎng)絡(luò)的不完全一樣,因為前者還牽涉到DCF。DCF是以CSMA/CA為基礎(chǔ)的通信協(xié)議。DFWMAC整合了兩個協(xié)調(diào)功能—PCF和DCF。PCF支持同步數(shù)據(jù)傳輸,DCF支持異步數(shù)據(jù)傳輸。這兩個模式共享媒體頻寬,以多時分工(time-multiplex)的方式,將彼此的數(shù)據(jù)組合成一個“超大訊框(superframe)”的結(jié)構(gòu)。
利用訊框之間不同的間距(interframe space;IFS),DCF和PCF可以并存。由于具有PCF的橋接器(AP)的IFS比較小,因此它的通信優(yōu)先級會比處于DCF模式中的工作站高。所以,AP可以在CSMA/CA網(wǎng)絡(luò)上建立一個超大訊框。
在沒有AP裝置的WLAN網(wǎng)絡(luò)環(huán)境之中,存取數(shù)據(jù)要靠DCF。一旦媒體閑置了一段特定的時間(DIFS),并且可以在“競爭窗口”(contention window;CW)的大小范圍內(nèi),選擇一個隨機(jī)的回歸值當(dāng)成延遲時間。競爭窗口或回歸時間都是被分割成數(shù)個時槽(slot),每個時槽至少要包含:發(fā)射機(jī)開啟所需的時間+媒體傳播所需的時間+偵測忙碌的媒體所需的時間。每個時槽的大小和實體層非常有關(guān)。
選擇最小延遲時間的工作站,將是最早存取媒體的;其它工作站則暫停它們的回歸定時器,等待別人傳送完畢;而且,在下一個周期內(nèi),繼續(xù)等待所剩余的延遲時間。通常,已經(jīng)等待很久的工作站,會比剛加入的工作站,能更早存取媒體。等待的時間愈久,獲得存取權(quán)的機(jī)率就愈高。碰撞只發(fā)生在兩個或更多個工作站選擇了相同的時槽的時候。若持續(xù)發(fā)生碰撞,它們必須重新競爭,并使用以指數(shù)增加的CW值,亦即,2倍的CW、4倍的CW、……,直到最大的CW限制值。
評論