我們知道總線型局域網(wǎng)在MAC層的標(biāo)準(zhǔn)協(xié)議是CSMA/CD,即載波偵聽多點接入/沖突檢測(Carrier Sense Multiple Access with Collision Detection)。但由于無線產(chǎn)品的適配器不易檢測信道是否存在沖突,因此802.15全新定義了一種新的協(xié)議,即載波偵聽多點接入/避免沖撞CSMA/CA(with Collision Avoidance)。一方面,載波偵聽----查看介質(zhì)是否空閑;另一方面,避免沖撞----通過隨機(jī)的時間等待,使信號沖突發(fā)生的概率減到最小,當(dāng)介質(zhì)被偵聽到空閑時,優(yōu)先發(fā)送。不僅如此,為了系統(tǒng)更加穩(wěn)固,802.15還提供了帶確認(rèn)幀ACK的CSMA/CA。在一旦遭受其他噪聲干擾,或者由于偵聽失敗時,信號沖突就有可能發(fā)生,而這種工作于MAC層的ACK此時能夠提供快速的恢復(fù)能力。
以太網(wǎng)屬于廣播形式的網(wǎng)絡(luò),當(dāng)一個站點發(fā)送信息時,網(wǎng)絡(luò)中的所有站點都能接收到,容易形成數(shù)據(jù)堵塞,導(dǎo)致網(wǎng)絡(luò)速度變慢,甚至發(fā)生系統(tǒng)癱瘓。為了盡量減少數(shù)據(jù)的傳輸碰撞和重試發(fā)送。以太網(wǎng)中使用了CSMA/CA(載波監(jiān)聽多路訪問/沖突檢測)工作機(jī)制。以防止各站點無序地爭用信道。無線局域網(wǎng)中采用了與CSMA/CD相類似的CSMA/CA(載波監(jiān)聽多路訪問/沖突防止)協(xié)議,當(dāng)其中一個站點要發(fā)送信息時。首先監(jiān)聽系統(tǒng)信道空閑期間是否大于某一幀的間隔。若是,立即發(fā)送,否則暫不發(fā)送,繼續(xù)監(jiān)利。CSMA/CA通信方式將時間域的劃分與幀格式緊密聯(lián)系起來,保證某一時刻只有一個站點發(fā)送,實現(xiàn)了網(wǎng)絡(luò)系統(tǒng)的集中控制。
因為傳輸介質(zhì)的不同,所以傳統(tǒng)的CSMA/CD與無線局域網(wǎng)中的CSMA/CA在工作方式上存在著差異。CSMA/CD的檢測方式是通過電纜中電壓的變化來測得,當(dāng)數(shù)據(jù)傳輸發(fā)生碰撞時,電纜中的電壓就舍隨著發(fā)生變化,而CSMA/CA使用空氣作為傳輸介質(zhì).必須采用其他的碰撞檢測機(jī)制。CSMA/CA采取了三種檢測信道空閣的方式:能量檢測(ED)、載波檢測(CS)和能量載波混臺檢測。
能量檢測(ED) 接收端對接收到的信號進(jìn)行能量大小的判斷,當(dāng)功率大于某一確定值時,表示有用戶在占用信道,否則信道為空。
載波檢測(CS)接收端將接收到的信號與本機(jī)的偽隨機(jī)碼(PN碼)進(jìn)行運算比較,如果其值超過某一極限時,表示有用戶在占用信道,否剛認(rèn)為信道為空。
能量載波檢測。它是能量檢測和載波檢測兩種工作方式的結(jié)合。
在IEEE 802.15.4 CSMA/CA機(jī)制中,網(wǎng)絡(luò)協(xié)調(diào)器在網(wǎng)絡(luò)中,會發(fā)出信標(biāo)給所有的可感應(yīng)節(jié)點,而對于有數(shù)據(jù)需傳送的設(shè)備來說,它們會向網(wǎng)絡(luò)協(xié)調(diào)器要求進(jìn)行傳送,由于在一個時間內(nèi)只能有一個設(shè)備進(jìn)行傳輸,因此所有想要傳輸?shù)墓?jié)點設(shè)備就會通過CSMA/CA機(jī)制來競爭傳輸媒體的使用權(quán)。所有準(zhǔn)備傳輸數(shù)據(jù)的設(shè)備,會監(jiān)測目前的無線傳輸媒體是否有其他設(shè)備在使用中,如果為宅閑,此時,這些設(shè)備會產(chǎn)生一個倒退延遲時間,來錯開這些設(shè)備同時送出數(shù)據(jù)從而造成碰撞的可能。若目前的無線傳輸媒體是忙碌中的,則這些設(shè)備將會在監(jiān)測到媒體為空閑后,再進(jìn)行CSMA/CA的競爭。
在IEEE 802.15.4 CSMA/CA算法中,CSMA/CA算法是用于節(jié)點問數(shù)據(jù)傳輸時的信道爭用機(jī)制,此算法中有三個重要的參數(shù)由每個要傳送數(shù)據(jù)的設(shè)備去維護(hù):Nb、CW和BE。
Nb(后退次數(shù),Number Of Back):Nb的初始值為0,當(dāng)設(shè)備有數(shù)據(jù)要傳送時,經(jīng)過一段后退時間后,發(fā)送CCA檢測,若檢測到信道忙,則會再一次產(chǎn)生倒退時間,此時Nb值會加1,在IEEE802.15.4中,Nb值最大定義為4,當(dāng)信道在經(jīng)過4次的后退延遲時間后仍為忙,剛放棄此次的傳送,以避免過大開銷。
CW (碰撞窗口的長度,content window length):也就是后退延遲時間的長度,單位是Backoff,一個后退周期的定義在MAC PIB中由參數(shù)aUnitBackofPeriod給出,為20symbol的時間。CW的初始值為2,最大值為31。
BE(后退指數(shù),Backoff exponent):取值范圍為0~5,15.4推薦的默認(rèn)值為3,最大值為5。當(dāng)BE設(shè)為0時,則只進(jìn)行一次碰撞檢測。在IEEE 802.15.4中,失敗的次數(shù)(重傳)最多3次。x下圖是CSMA/CA算法流程;其中在步驟(3)是完成CCA的部分。