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