欣欣然DR FEEL
本文關(guān)鍵詞:ca協(xié)議,由筆耕文化傳播整理發(fā)布。
1.1 載波偵聽多路訪問
根據(jù)具體的監(jiān)聽/發(fā)送策略,可將CSMA分為:
非持續(xù)CSMA(英語:non-persistent CSMA)
當(dāng)要發(fā)送幀的設(shè)備偵聽到線路忙或發(fā)生沖突時,會隨機(jī)等待一段時間再進(jìn)行偵聽;若發(fā)現(xiàn)不忙則立即發(fā)送;此策略可以減少沖突,但會導(dǎo)致信道利用率降低,以及較長的延遲。
1-持續(xù)CSMA(英語:1-persistent CSMA)
當(dāng)要發(fā)送幀的設(shè)備偵聽到線路忙或發(fā)生沖突時,會持續(xù)偵聽;若發(fā)現(xiàn)不忙則立即發(fā)送。當(dāng)傳播延遲較長或多個設(shè)備同時發(fā)送幀的可能性較大時,此策略會導(dǎo)致較多的沖突,導(dǎo)致性能降低。
p-持續(xù)CSMA(英語:p-persistent CSMA)
當(dāng)要發(fā)送幀的設(shè)備偵聽到線路忙或發(fā)生沖突時,會持續(xù)偵聽;若發(fā)現(xiàn)不忙,則根據(jù)一個事先指定的概率p來決定是發(fā)送幀還是繼續(xù)偵聽(以p的概率發(fā)送,1-p的概率繼續(xù)偵聽);此種策略可以達(dá)到一定的平衡,但對于參數(shù)p的配置會涉及比較復(fù)雜的考量。
正確使用以上策略可以在一定程度上減少沖突的發(fā)生,但無法徹底解決沖突問題。
1.2 CSMA/CD
載波監(jiān)聽多路訪問/沖突檢測,此方案要求設(shè)備在發(fā)送幀的同時要對信道進(jìn)行偵聽,以確定是否發(fā)生沖突,若在發(fā)送數(shù)據(jù)過程中檢測到?jīng)_突,則進(jìn)行如下沖突處理操作:
發(fā)送特殊阻塞信息并立即停止發(fā)送數(shù)據(jù):特殊阻塞信息是連續(xù)幾個字節(jié)的全1信號,此舉意在強(qiáng)化沖突,以使得其它設(shè)備能盡快檢測到?jīng)_突發(fā)生。
在固定時間內(nèi)等待隨機(jī)的時間,再次發(fā)送。
此方案應(yīng)用于以太網(wǎng)(DIX Ethernet V2)標(biāo)準(zhǔn),IEEE 802.3標(biāo)準(zhǔn)
1.3 CSMA/CA
載波監(jiān)聽多路訪問/沖突避免,此種方案采用主動避免碰撞而非被動監(jiān)測的方式來解決沖突問題?梢詽M足那些不易準(zhǔn)確監(jiān)測是否有沖突發(fā)生的需求,如無線局域網(wǎng)。
CSMA/ca協(xié)議主要使用兩種方法來避免碰撞:
設(shè)備欲發(fā)送幀,且監(jiān)聽到信道空閑時,維持一段時間后,,再等待一段隨機(jī)的時間依然空閑時,才送出信息。由于各個設(shè)備的等待時間是分別隨機(jī)產(chǎn)生的,因此很大可能有所區(qū)別,由此可以減少沖突的可能性。
RTS-CTS握手(英語:handshake):設(shè)備欲發(fā)送幀前,先發(fā)送一個很小的RTS(Request to Send)幀給目標(biāo)端,等待目標(biāo)端回應(yīng)CTS(Clear to Send)幀后,才開始傳送。此方式可以確保接下來傳送信息時,不會發(fā)生沖突。同時由于RTS幀與CTS幀都很小,讓傳送的無效開銷變小。
此方案應(yīng)用于無線局域網(wǎng)的IEEE 802.11標(biāo)準(zhǔn)。
2.1 協(xié)議簡介
無線局域網(wǎng)標(biāo)準(zhǔn)802.11的MAC和802.3協(xié)議的MAC非常相似,都是在一個共享媒體之上支持多個用戶共享資源,由發(fā)送者在發(fā)送數(shù)據(jù)前先進(jìn)行網(wǎng)絡(luò)的可用性檢測。在802.3協(xié)議中,是由一種稱為CSMA/CD(Carrier Sense Multiple Access with Collision Detection)的協(xié)議來完成調(diào)節(jié),這個協(xié)議解決了在Ethernet上的各個工作站如何在線纜上進(jìn)行傳輸?shù)膯栴},利用它檢測和避免當(dāng)兩個或兩個以上的網(wǎng)絡(luò)設(shè)備需要進(jìn)行數(shù)據(jù)傳送時網(wǎng)絡(luò)上的沖突。
CSMA/CA的過程
在802.11無線局域網(wǎng)協(xié)議中,沖突的檢測存在一定的問題,這個問題稱為"Near/Far"現(xiàn)象,這是由于要檢測沖突,設(shè)備必須能夠一邊接受數(shù)據(jù)信號一邊傳送數(shù)據(jù)信號,而這在無線系統(tǒng)中是無法辦到的。但由于無線產(chǎn)品的適配器不易檢測信道是否存在沖突,因此802.11全新定義了一種新的協(xié)議,即載波偵聽多點接入/避免沖撞CSMA/CA(with Collision Avoidance)。一方面,載波監(jiān)聽----查看介質(zhì)是否空閑;另一方面,避免沖撞----通過隨機(jī)的時間等待,使信號沖突發(fā)生的概率減到最小,當(dāng)介質(zhì)被偵聽到空閑時,優(yōu)先發(fā)送。不僅如此,為了系統(tǒng)更加穩(wěn)固,802.11還提供了帶確認(rèn)幀ACK的CSMA/CA。在一旦遭受其他噪聲干擾,或者由于監(jiān)聽失敗時,信號沖突就有可能發(fā)生,而這種工作于MAC層的ACK此時能夠提供快速的恢復(fù)能力。
鑒于這個差異,在802.11中對CSMA/CD進(jìn)行了一些調(diào)整,采用了新的協(xié)議CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)或者DCF(Distributed Coordination Function)。 CSMA/CA利用ACK信號來避免沖突的發(fā)生,也就是說,只有當(dāng)客戶端收到網(wǎng)絡(luò)上返回的ACK信號后才確認(rèn)送出的數(shù)據(jù)已經(jīng)正確到達(dá)目的地址。
CSMA/ca協(xié)議的工作流程是:一個工作站希望在無線網(wǎng)絡(luò)中傳送數(shù)據(jù),如果沒有探測到網(wǎng)絡(luò)中正在傳送數(shù)據(jù),則附加等待一段時間,再隨機(jī)選擇一個時間片繼續(xù)探測,如果無線網(wǎng)路中仍舊沒有活動的話,就將數(shù)據(jù)發(fā)送出去。接受端的工作站如果受到發(fā)送端送出的完整的數(shù)據(jù)則回發(fā)一個ACK數(shù)據(jù)報,如果這個ACK數(shù)據(jù)報被接收端收到,則這個數(shù)據(jù)發(fā)送過程完成,如果發(fā)送端沒有收到ACK數(shù)據(jù)報,則或者發(fā)送的數(shù)據(jù)沒有被完整地收到,或者ACK信號的發(fā)送失敗,不管是哪種現(xiàn)象發(fā)生,數(shù)據(jù)報都在發(fā)送端等待一段時間后被重傳。
2.2 工作原理
這種協(xié)議實際上就是在發(fā)送數(shù)據(jù)幀之前先對信道進(jìn)行預(yù)約。下面為了方便解釋這種技術(shù)的主要原理請大家先看下圖。
CSMA/ca協(xié)議中的RTS和CTS幀
① 在圖中,展示了各個工作站部署位置及其覆蓋范圍。
● 站B、站C、站E在站A 的無線信號覆蓋的范圍內(nèi)。而站D不在其內(nèi)。
● 站A、站E、站D在站B 的無線信號覆蓋的范圍內(nèi),但站C不在其內(nèi)。
② 如果站A要向站B發(fā)送數(shù)據(jù),那么,站A在發(fā)送數(shù)據(jù)幀之前,要先向站B發(fā)送一個請求發(fā)送幀RTS(Request To Send)。在RTS幀中已說明將要發(fā)送的數(shù)據(jù)幀的長度。站B收到RTS幀后就向站A回應(yīng)一個允許發(fā)送幀CTS(Clear To Send)。在CTS幀中也附上A欲發(fā)送的數(shù)據(jù)幀的長度(從RTS幀中將此數(shù)據(jù)復(fù)制到CTS幀中)。站A收到CTS幀后就可發(fā)送其數(shù)據(jù)幀了,F(xiàn)在討論在A和B兩個站附近的一些站將做出什么反應(yīng)。
● 對于站C,站C處于站A的無線傳輸范圍內(nèi),但不在站B的無線傳輸范圍內(nèi)。因此站C能夠收聽到站A發(fā)送的RTS幀,但經(jīng)過一小段時間后,站C收聽不到站B發(fā)送的CTS幀。這樣,在站A向站B發(fā)送數(shù)據(jù)的同時,站C也可以發(fā)送自己的數(shù)據(jù)而不會干擾站B接收數(shù)據(jù)(注意:站C收聽不到站B的信號表明,站B也收不聽到站C的信號)。
● 對于站D,站D收聽不到站A發(fā)送的RTS幀,但能收聽到站B發(fā)送的CTS幀。因此,站D在收到站B發(fā)送的CTS幀后,應(yīng)在站B隨后接收數(shù)據(jù)幀的時間內(nèi)關(guān)閉數(shù)據(jù)發(fā)送操作,以避免干擾站B接收自A站發(fā)來的數(shù)據(jù)。
● 對于站E,它能收到RTS幀和CTS幀,因此,站E在站A發(fā)送數(shù)據(jù)幀的整個過程中不能發(fā)送數(shù)據(jù)。
③ 雖然使用RTS和CTS幀會使整個網(wǎng)絡(luò)的效率有所下降。但這兩種控制幀都很短,它們的長度分別為20和14字節(jié)。而數(shù)據(jù)幀則最長可達(dá)2346字節(jié),相比之下的開銷并不算大。相反,若不使用這種控制幀,則一旦發(fā)生沖突而導(dǎo)致數(shù)據(jù)幀重發(fā),則浪費的時間就更大。雖然如此,但協(xié)議還是設(shè)有三種情況供用戶選擇:
● 使用RTS和CTS幀;
● 當(dāng)數(shù)據(jù)幀的長度超過某一數(shù)值時才使用RTS和CTS幀;
● 不使用RTS和CTS幀。
④ 盡管協(xié)議經(jīng)過了精心設(shè)計,但沖突仍然會發(fā)生。
例如:站B和站C同時向站A發(fā)送RTS幀。這兩個RTS幀發(fā)生沖突后,使得站A收不到正確的RTS幀因而站A就不會發(fā)送后續(xù)的CTS幀。這時,站B和站C像以太網(wǎng)發(fā)生沖突那樣,各自隨機(jī)地推遲一段時間后重新發(fā)送其RTS幀。推遲時間的算法也是使用二進(jìn)制指數(shù)退避。
⑤ 為了盡量減少沖突,802.11標(biāo)準(zhǔn)設(shè)計了獨特的MAC子層。
2.3 工作流程
CSMA/ca協(xié)議的工作流程分為兩個分別是:
1.送出數(shù)據(jù)前,監(jiān)聽媒體狀態(tài),等沒有人使用媒體,維持一段時間后,再等待一段隨機(jī)的時間后依然沒有人使用,才送出數(shù)據(jù)。由于每個設(shè)備采用的隨機(jī)時間不同,所以可以減少沖突的機(jī)會。
2.送出數(shù)據(jù)前,先送一段小小的請求傳送報文(RTS: Request to Send)給目標(biāo)端,等待目標(biāo)端回應(yīng) 允許傳送報文(CTS:Clear to Send )后,才開始傳送。 利用RTS-CTS握手(handshake)程序,確保接下來傳送資料時,不會被碰撞。 同時由于RTS-CTS封包都很小,讓傳送的無效開銷變小。
CSMA/CA通過這兩種方式來提供無線的共享訪問,這種顯式的ACK機(jī)制在處理無線問題時非常有效。然而不管是對于802.11還是802.3來說,這種方式都增加了額外的負(fù)擔(dān),所以802.11網(wǎng)絡(luò)和類似的Ethernet網(wǎng)比較總是在性能上稍遜一籌。
2.4 主要差別
CSMA/CD:帶有沖突檢測的載波監(jiān)聽多路訪問,可以檢測沖突,但無法“避免”
CSMA/CA:帶有沖突避免的載波偵聽多路訪問,發(fā)送包的同時不能檢測到信道上有無沖突,只能盡量“避免”;
1.兩者的傳輸介質(zhì)不同,CSMA/CD用于總線式以太網(wǎng),而CSMA/CA則用于無線局域網(wǎng)802.11a/b/g/n等等;
2.檢測方式不同,CSMA/CD通過電纜中電壓的變化來檢測,當(dāng)數(shù)據(jù)發(fā)生碰撞時,電纜中的電壓就會隨著發(fā)生變化;而CSMA/CA采用能量檢測(ED)、載波檢測(CS)和能量載波混合檢測三種檢測信道空閑的方式;
3.WLAN中,對某個節(jié)點來說,其剛剛發(fā)出的信號強(qiáng)度要遠(yuǎn)高于來自其他節(jié)點的信號強(qiáng)度,也就是說它自己的信號會把其他的信號給覆蓋掉;
4.本節(jié)點處有沖突并不意味著在接收節(jié)點處就有沖突。
綜上,在WLAN中實現(xiàn)CSMA/CD是比較困難的。
發(fā)表于
本文關(guān)鍵詞:ca協(xié)議,由筆耕文化傳播整理發(fā)布。
本文編號:41102
本文鏈接:http://www.sikaile.net/wenshubaike/shangbiaozhuanli/41102.html