亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種附帶式跨層設(shè)計(jì)的無(wú)線(xiàn)網(wǎng)絡(luò)擁塞控制方法

文檔序號(hào):7705789閱讀:181來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種附帶式跨層設(shè)計(jì)的無(wú)線(xiàn)網(wǎng)絡(luò)擁塞控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及無(wú)線(xiàn)網(wǎng)絡(luò)、網(wǎng)絡(luò)擁塞控制技術(shù)領(lǐng)域,具體指一種附帶式跨層設(shè)計(jì)的無(wú)線(xiàn)網(wǎng)絡(luò)擁塞控制方法。
背景技術(shù)
傳統(tǒng)TCP協(xié)議的擁塞控制算法根據(jù)數(shù)據(jù)分組的丟失來(lái)判斷網(wǎng)絡(luò)中的擁塞狀況,當(dāng) TCP源節(jié)點(diǎn)判定網(wǎng)絡(luò)擁塞時(shí),通過(guò)減小擁塞控制窗口來(lái)降低發(fā)送速率,最終達(dá)解除網(wǎng)絡(luò)擁塞的目的。而在無(wú)線(xiàn)網(wǎng)絡(luò)中,由于無(wú)線(xiàn)信道噪聲干擾、節(jié)點(diǎn)的移動(dòng)、隱藏終端等因素,會(huì)產(chǎn)生嚴(yán)重的丟包問(wèn)題。當(dāng)TCP應(yīng)用于無(wú)線(xiàn)網(wǎng)絡(luò)中時(shí),上述分組丟失將造成源節(jié)點(diǎn)誤判網(wǎng)絡(luò)處于擁塞狀況,使得TCP源節(jié)點(diǎn)降低發(fā)送速率,最終影響網(wǎng)絡(luò)的吞吐量。目前,研究人員提出了很多修改TCP的方案,以提高其在無(wú)線(xiàn)網(wǎng)絡(luò)中的性能。這些方案大致可以分為以下兩類(lèi)1)通過(guò)多層的相互協(xié)作,減少TCP發(fā)送端對(duì)網(wǎng)絡(luò)擁塞狀況的誤判;幻通過(guò)優(yōu)化網(wǎng)絡(luò)中特定的層,使得TCP更適應(yīng)無(wú)線(xiàn)網(wǎng)絡(luò)的特性。在現(xiàn)有技術(shù)中擁塞控制功能都是基于RTS/CTS握手機(jī)制上實(shí)現(xiàn),但是RTS/CTS握手機(jī)制在實(shí)際網(wǎng)絡(luò)中不一定被采用,因而在不使用RTS/CTS握手機(jī)制的無(wú)線(xiàn)網(wǎng)絡(luò)中,上述擁塞控制方法將無(wú)法實(shí)施,此外RTS/CTS機(jī)制會(huì)占用額外的信道資源。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)和不足,提供一種附帶式跨層設(shè)計(jì)的無(wú)線(xiàn)網(wǎng)絡(luò)擁塞控制方法,通過(guò)將節(jié)點(diǎn)擁塞狀態(tài)信息附帶于MAC中的ACK確認(rèn)幀,使其變成ACKC 幀。節(jié)點(diǎn)利用發(fā)送和接收ACK或ACKC來(lái)發(fā)布和獲取擁塞信息,以便于其準(zhǔn)確判斷網(wǎng)絡(luò)的擁塞狀況。本發(fā)明還提出縮短擁塞節(jié)點(diǎn)信道競(jìng)爭(zhēng)退避時(shí)間的算法,加快其解除擁塞的速度,這種擁塞控制機(jī)制能用來(lái)提高TCP協(xié)議在無(wú)線(xiàn)多跳網(wǎng)絡(luò)中的性能。本發(fā)明通過(guò)如下技術(shù)方案實(shí)現(xiàn)—種附帶式跨層設(shè)計(jì)的無(wú)線(xiàn)網(wǎng)絡(luò)擁塞控制方法,包括如下步驟1.數(shù)據(jù)幀的發(fā)送方在向接收方發(fā)送數(shù)據(jù)之前,依據(jù)其對(duì)鄰居擁塞狀況的評(píng)估來(lái)判斷是否有鄰居節(jié)點(diǎn)處于擁塞狀態(tài),如果有鄰居處在擁塞狀態(tài),發(fā)送方就延遲本次發(fā)送,并跟據(jù)其對(duì)鄰居擁塞程度的估計(jì)確定延遲發(fā)送的時(shí)間間隔;如果沒(méi)有鄰居處于擁塞狀態(tài),則當(dāng)發(fā)送方成功競(jìng)爭(zhēng)到信道時(shí),它就向接收方發(fā)送數(shù)據(jù)幀。所述數(shù)據(jù)幀的發(fā)送方和接收方為無(wú)線(xiàn)網(wǎng)絡(luò)中任意兩個(gè)相鄰節(jié)點(diǎn);所述發(fā)送方對(duì)鄰居擁塞狀況的評(píng)估是通過(guò)如下方式實(shí)現(xiàn)的節(jié)點(diǎn)設(shè)置用以評(píng)估鄰居擁塞程度的參數(shù),并根據(jù)接收或者偵聽(tīng)到ACK、ACKC以及數(shù)據(jù)幀,來(lái)動(dòng)態(tài)調(diào)整該參數(shù)。2.當(dāng)接收方在收到以它為目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)幀時(shí),向發(fā)送方回復(fù)確認(rèn)幀;同時(shí)接收方檢查自身是否處于擁塞狀態(tài),如果處在擁塞狀態(tài),則其向發(fā)送方回復(fù)ACKC幀;否則回復(fù) ACK 幀。所述ACK幀為沒(méi)有攜帶擁塞信息的確認(rèn)幀;所述ACKC幀為附帶擁塞信息的確認(rèn)幀。所述接收方檢查自身是否處于擁塞狀態(tài)是通過(guò)如下方式實(shí)現(xiàn)的把接收方內(nèi)的緩存劃分為接收緩存和發(fā)送緩存,本節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包直接進(jìn)入發(fā)送緩存,中轉(zhuǎn)的數(shù)據(jù)包先經(jīng)過(guò)接收緩存;所述的中轉(zhuǎn)是指把從其他節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到下一跳節(jié)點(diǎn)的操作;設(shè)Tl為接收緩存的擁塞門(mén)限值,T2為發(fā)送緩存的擁塞門(mén)限值,并設(shè)m為接收緩存內(nèi)數(shù)據(jù)包的個(gè)數(shù),N2為發(fā)送緩存內(nèi)數(shù)據(jù)包的個(gè)數(shù)。當(dāng)N2 < T2時(shí),中轉(zhuǎn)的數(shù)據(jù)包進(jìn)入發(fā)送緩存;否則,中轉(zhuǎn)的數(shù)據(jù)包占據(jù)接收緩存。當(dāng)m < Tl時(shí),接收方判定自身處在非擁塞狀態(tài);否則,接收方判定自身處在擁塞狀態(tài)。Tl、T2、m和N2都為自然數(shù)。接收方需要預(yù)留緩存空間,以接收在發(fā)送方不知道該接收方已擁塞的情況下所發(fā)送的數(shù)據(jù)幀。所述預(yù)留的緩存空間為接收方的內(nèi)存除去Tl個(gè)內(nèi)存空間后剩余的內(nèi)存空間。3.當(dāng)數(shù)據(jù)幀的發(fā)送方接收到來(lái)自接收方的確認(rèn)幀時(shí),確認(rèn)數(shù)據(jù)發(fā)送成功。同時(shí),發(fā)送方根據(jù)所接收的確認(rèn)幀的類(lèi)型來(lái)評(píng)估鄰居擁塞程度。4.為了盡快解除擁塞狀態(tài),減少數(shù)據(jù)幀丟失,針對(duì)下述情況采用如下的方式處理(1)當(dāng)數(shù)據(jù)幀的發(fā)送方競(jìng)爭(zhēng)信道失敗進(jìn)行退避時(shí),發(fā)送方先檢查自身是否處在擁塞狀態(tài),如果發(fā)送方處于非擁塞狀態(tài),則增加其退避窗口 ;如果發(fā)送方處在擁塞狀態(tài),則減小其退避窗口,以提高其信道競(jìng)爭(zhēng)的成功率。(2)當(dāng)數(shù)據(jù)幀發(fā)送方將一數(shù)據(jù)幀在MAC層重傳的次數(shù)達(dá)到協(xié)議所規(guī)定的最大次數(shù)后,仍然無(wú)法成功發(fā)送的情況下,將該數(shù)據(jù)幀退回給路由層,以告知路由層其下的MAC層已經(jīng)處于擁塞狀態(tài),同時(shí)路由層采取以下措施協(xié)助解除擁塞(i)如果該數(shù)據(jù)幀的生存時(shí)間已經(jīng)耗盡,則在路由層丟棄該幀;(ii)如果該數(shù)據(jù)幀的生存時(shí)間仍然有效,則路由層為該數(shù)據(jù)幀尋找一條經(jīng)過(guò)其他鄰居節(jié)點(diǎn)的路徑,如果尋找成功,將該數(shù)據(jù)幀傳向MAC層,進(jìn)行發(fā)送;如果不成功,則在延遲一定時(shí)間后,將該數(shù)據(jù)幀傳向MAC層,進(jìn)行發(fā)送。(3)當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)啟動(dòng)了虛擬載波偵聽(tīng)時(shí),在其處于虛擬載波偵聽(tīng)的時(shí)間段內(nèi), 節(jié)點(diǎn)保持物理偵聽(tīng)一段時(shí)間,如果在該段時(shí)間內(nèi),節(jié)點(diǎn)偵聽(tīng)到信道忙碌,則表明信道確實(shí)被占用,則節(jié)點(diǎn)在虛擬載波偵聽(tīng)截止之前不參與信道競(jìng)爭(zhēng);如果節(jié)點(diǎn)偵聽(tīng)到信道空閑,則其可以參與信道競(jìng)爭(zhēng)。相對(duì)于現(xiàn)有技術(shù),本發(fā)明具有如下優(yōu)點(diǎn)和有益效果1、在現(xiàn)有技術(shù)中擁塞控制功能都是基于RTS/CTS握手機(jī)制上實(shí)現(xiàn),但是RTS/CTS 握手機(jī)制在實(shí)際網(wǎng)絡(luò)中不一定被采用,同時(shí)RTS/CTS機(jī)制會(huì)占用額外的信道資源;而本發(fā)明所提出的擁塞控制方法不依賴(lài)于RTS/CTS握手機(jī)制,而是基于ACK來(lái)實(shí)現(xiàn)擁塞控制功能。 相對(duì)于RTS/CTS握手機(jī)制,ACK更廣泛的存在于無(wú)線(xiàn)網(wǎng)絡(luò)中,因而本發(fā)明有更廣泛的適用性。2、使用ACK作為擁塞信息的載體,能更及時(shí)準(zhǔn)確的發(fā)布擁塞信息.在現(xiàn)有技術(shù)中, 使用RTS、CTS作為擁塞信息的載體。在本發(fā)明中,節(jié)點(diǎn)在接收數(shù)據(jù)幀后,立即查看自身是否擁塞,如果擁塞則,回復(fù)ACKC幀;如果非擁塞則,回復(fù)ACK幀,相對(duì)與現(xiàn)有技術(shù)而言,使用 ACK幀來(lái)能更及時(shí)準(zhǔn)確的傳遞擁塞信息。3、提高信道利用率,消除死鎖隱患。在現(xiàn)有技術(shù)中,處在擁塞狀態(tài)的接收方會(huì)拒絕接收發(fā)送方發(fā)給它的數(shù)據(jù)幀,即使在發(fā)送方無(wú)法知道接收方擁塞的情況下,接收方也會(huì)這樣做。這將導(dǎo)致信道浪費(fèi),并有可能產(chǎn)生死鎖。而本發(fā)明能有效的解決上述問(wèn)題,當(dāng)接收方已經(jīng)擁塞而發(fā)送方無(wú)法知道的情況下,接收方需要預(yù)留緩存空間來(lái)接收在這種情況下發(fā)送方所發(fā)給它的數(shù)據(jù)幀。4、減少誤判鏈路失效造成的分組丟失,提高網(wǎng)絡(luò)性能。在現(xiàn)有的技術(shù)中,一個(gè)分組在鏈路層競(jìng)爭(zhēng)信道的次數(shù)超過(guò)協(xié)議規(guī)定的最大重傳次數(shù)時(shí),會(huì)認(rèn)為鏈路失效,把該分組丟棄。在無(wú)線(xiàn)網(wǎng)絡(luò)中,特別是高負(fù)載的情況中,容易誤判鏈路失效而丟棄分組。在本發(fā)明中,當(dāng)數(shù)據(jù)幀發(fā)送方將一數(shù)據(jù)幀在MAC層重傳的次數(shù)達(dá)到協(xié)議所規(guī)定的最大次數(shù)后,仍然無(wú)法成功發(fā)送的情況下,將該數(shù)據(jù)幀退回給路由層,以告知路由層其下的MAC層已經(jīng)處于擁塞狀態(tài),同時(shí)路由層采取以下措施協(xié)助解除擁塞(i)如果該數(shù)據(jù)幀的生存時(shí)間已經(jīng)耗盡,則在路由層丟棄該幀;(ii)如果該數(shù)據(jù)幀的生存時(shí)間仍然有效,則路由層為該數(shù)據(jù)幀尋找一條新的路徑,如果尋找成功,將該數(shù)據(jù)幀沿新的路徑發(fā)送;如果不成功,則在延遲一定時(shí)間后, 將該數(shù)據(jù)按原路徑發(fā)送。這樣可以減少誤判路由失效造成的丟包,提高網(wǎng)絡(luò)性能。5、通過(guò)縮短擁塞節(jié)點(diǎn)競(jìng)爭(zhēng)信道退避時(shí)間,提高其競(jìng)爭(zhēng)信道的優(yōu)先權(quán)。在本發(fā)明中, 當(dāng)數(shù)據(jù)幀的發(fā)送方已處于擁塞狀態(tài),并無(wú)法競(jìng)爭(zhēng)到信道時(shí),減小其競(jìng)爭(zhēng)窗口,縮短競(jìng)爭(zhēng)信道退避時(shí)間,以提高其競(jìng)爭(zhēng)信道的能力;當(dāng)非擁塞的發(fā)送方未能競(jìng)爭(zhēng)到信道時(shí),則增加其競(jìng)爭(zhēng)窗口,以利于擁塞節(jié)點(diǎn)解除擁塞狀態(tài)。6、采用新的虛擬載波偵聽(tīng)機(jī)制,節(jié)點(diǎn)能更準(zhǔn)確了解信道的狀態(tài),能更加充分的利用信道資源。在現(xiàn)有的技術(shù)中,當(dāng)節(jié)點(diǎn)啟動(dòng)虛擬載波偵聽(tīng)時(shí),就不再進(jìn)行物理偵聽(tīng),但在實(shí)際情形中,由于隱藏終端、節(jié)點(diǎn)移動(dòng)等因素,在節(jié)點(diǎn)進(jìn)行虛擬載波偵聽(tīng)的時(shí)段內(nèi),并沒(méi)有其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀,導(dǎo)致該時(shí)段內(nèi)信道資源的浪費(fèi)。在本發(fā)明中,在節(jié)點(diǎn)的網(wǎng)絡(luò)分配矢量所表示的虛擬偵聽(tīng)時(shí)段內(nèi),保持物理偵聽(tīng),以偵測(cè)該信道是否被實(shí)際占用,如果沒(méi)有被使用, 節(jié)點(diǎn)競(jìng)爭(zhēng)該信道的使用權(quán)。


圖1為本發(fā)明任意兩個(gè)相鄰發(fā)送方和接收方的數(shù)據(jù)發(fā)送和接收示意圖;圖2為本發(fā)明數(shù)據(jù)幀發(fā)送方發(fā)送數(shù)據(jù)前的判斷流程圖;圖3為本發(fā)明網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部結(jié)構(gòu)示意圖,網(wǎng)絡(luò)層負(fù)責(zé)為每個(gè)數(shù)據(jù)包計(jì)算下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn);鏈路層負(fù)責(zé)一跳內(nèi)無(wú)線(xiàn)信道資源的分配,其設(shè)有接收緩存和發(fā)送緩存;物理層負(fù)責(zé)數(shù)據(jù)幀的傳輸;圖4為本發(fā)明數(shù)據(jù)幀接收方收到發(fā)送方的數(shù)據(jù)幀后的流程圖。
具體實(shí)施例方式下面結(jié)合附圖1 4和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明,但是本發(fā)明要求保護(hù)的范圍并不局限于實(shí)施方式表述的范圍。實(shí)施例本發(fā)明附帶式跨層設(shè)計(jì)的無(wú)線(xiàn)網(wǎng)絡(luò)擁塞控制方法,通過(guò)如下步驟實(shí)現(xiàn)1、為了使確認(rèn)幀能附帶擁塞狀態(tài)信息,我們將確認(rèn)幀中的一個(gè)空閑控制位定義為擁塞狀態(tài)標(biāo)志位,如果將擁塞狀態(tài)標(biāo)志位設(shè)置為0,則該確認(rèn)幀為不攜帶擁塞信息的ACK 幀;如果將擁塞標(biāo)志位設(shè)置為1,則該確認(rèn)幀為攜帶擁塞信息的ACKC幀。當(dāng)數(shù)據(jù)幀的接收方向數(shù)據(jù)幀的發(fā)送方回復(fù)ACKC幀時(shí),表示該接收方處在擁塞狀態(tài);當(dāng)數(shù)據(jù)幀接收方向數(shù)據(jù)幀的發(fā)送方回復(fù)ACK幀時(shí),表示該接收方處在非擁塞狀態(tài)。2、為了判斷自身的擁塞狀態(tài),將網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的緩存劃分為接收緩存和發(fā)送緩存。本節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包直接進(jìn)入發(fā)送緩存。從其他節(jié)點(diǎn)轉(zhuǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)包,先進(jìn)入接收緩存,隨后網(wǎng)絡(luò)層判斷該數(shù)據(jù)包的最終目的節(jié)點(diǎn)是否為本節(jié)點(diǎn),如果目的節(jié)點(diǎn)是本節(jié)點(diǎn),則將該數(shù)據(jù)包傳給傳輸層;如果目的節(jié)點(diǎn)不是本節(jié)點(diǎn),則該數(shù)據(jù)包為需要轉(zhuǎn)發(fā)的數(shù)據(jù)包,當(dāng)網(wǎng)絡(luò)層為其選擇好路徑后,按照下面的規(guī)則將該數(shù)據(jù)包傳給鏈路層設(shè)Ll為接收緩存最大容量,Tl為接收緩存擁塞門(mén)限,且0 < Tl < Ll ;L2為發(fā)送緩存最大容量,T2為發(fā)送緩存擁塞門(mén)限,且0ST2SL2。Ni、N2分別表示當(dāng)前接收緩存和發(fā)送緩存中數(shù)據(jù)包的個(gè)數(shù)。若N2 <T2,需要轉(zhuǎn)發(fā)的數(shù)據(jù)包就由接收緩存進(jìn)入發(fā)送緩存。其中Τ1、Τ2、Ν1、Ν2都是自然數(shù)。3、當(dāng)數(shù)據(jù)幀的接收方接收完數(shù)據(jù),先判斷自身的擁塞狀態(tài),然后向數(shù)據(jù)幀的發(fā)送方回復(fù)確認(rèn)幀,方式如下如果當(dāng)前接收緩存內(nèi)的數(shù)據(jù)包個(gè)數(shù)m > Tl,接收方判定自身處在擁塞狀態(tài),其向數(shù)據(jù)幀的發(fā)送方回復(fù)ACKC幀;如果當(dāng)前接收緩存內(nèi)的數(shù)據(jù)包個(gè)數(shù)m < Tl,接收方判定自身處在非擁塞的狀態(tài),其向發(fā)送方回復(fù)ACK幀。4、為了評(píng)估周?chē)従拥膿砣麪顩r,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)在其內(nèi)存中維護(hù)三個(gè)參數(shù) 鄰居擁塞時(shí)刻,簡(jiǎn)稱(chēng)C0NG_TIME,用以表示鄰居發(fā)生擁塞的時(shí)刻;鄰居擁塞度,簡(jiǎn)稱(chēng)C0NG_ LEVEL,用以表示鄰居擁塞的嚴(yán)重程度;鄰居發(fā)包數(shù),簡(jiǎn)稱(chēng)DATA_NUM,用以記錄節(jié)點(diǎn)在得知鄰居擁塞后,偵聽(tīng)到鄰居發(fā)送的數(shù)據(jù)包個(gè)數(shù)。這三個(gè)狀態(tài)的初始值分別為_(kāi)1,0,0。由于時(shí)間不能為負(fù)值,所以C0NG_TIME取-1表示該節(jié)點(diǎn)未曾偵聽(tīng)到鄰居發(fā)送ACKC幀;CONG LEVEL 取0表示該節(jié)點(diǎn)偵聽(tīng)到鄰居發(fā)送了 0個(gè)ACKC幀;DATA NUM取0表示該節(jié)點(diǎn)偵聽(tīng)到鄰居發(fā)送0個(gè)數(shù)據(jù)幀。另外,CONGjIME的取值是一個(gè)確切的時(shí)刻值,單位必須精確到毫秒級(jí)別; 而C0NG_LEVEL和DATA_NUM的值為一個(gè)大于或者等于0的自然數(shù)。5、數(shù)據(jù)幀的發(fā)送方可以通過(guò)查看步驟4中的三個(gè)參數(shù)來(lái)判斷是否有鄰居處在擁塞狀態(tài),方式如下如果DATA_NUM的值小于C0NG_LEVEL的值,且N0W_C0NG_TIME的值小于 RTT與C0NG_LEVEL的乘積時(shí),發(fā)送方認(rèn)為有鄰居處在擁塞狀態(tài);否則,發(fā)送方認(rèn)為沒(méi)有鄰居處于擁塞狀態(tài)。上述中,NOW為網(wǎng)絡(luò)的當(dāng)前時(shí)刻;RTT為數(shù)據(jù)鏈路層完成一次數(shù)據(jù)通信所需要的時(shí)間,其值由所使用的物理層技術(shù)確定。數(shù)據(jù)幀的發(fā)送方在向接收方發(fā)送數(shù)據(jù)之前,先根據(jù)上述方法檢查是否有鄰居處在擁塞狀態(tài),如果發(fā)送方判定有鄰居處于擁塞狀態(tài),發(fā)送方就延遲本次發(fā)送,其延遲的時(shí)間間隔的計(jì)算方法如下=DELAY = RTT*C0NG_LEVEL ;如果發(fā)送方判定沒(méi)有鄰居處于擁塞狀態(tài),當(dāng)發(fā)送方成功競(jìng)爭(zhēng)到信道時(shí),立即向接收方發(fā)送數(shù)據(jù);若發(fā)送方未能競(jìng)爭(zhēng)到信道,則進(jìn)行信道競(jìng)爭(zhēng)退避。發(fā)送方發(fā)送數(shù)據(jù)前的判斷流程如圖2所示。6.網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)在收到或偵聽(tīng)到數(shù)據(jù)幀和確認(rèn)幀時(shí),按照如下的方式更新步驟4中的三個(gè)參數(shù)(1)當(dāng)節(jié)點(diǎn)收到或偵聽(tīng)到ACKC幀時(shí),將該節(jié)點(diǎn)的C0NG_TIME的值設(shè)置為網(wǎng)絡(luò)當(dāng)前時(shí)刻,表示從當(dāng)前時(shí)刻起有鄰居擁塞;將該節(jié)點(diǎn)的DATA_NUM的值設(shè)置為0,表示從該節(jié)點(diǎn)最近一次得知有鄰居擁塞的時(shí)刻起,偵聽(tīng)到其所有鄰居總共發(fā)送了 0個(gè)數(shù)據(jù)包;將該節(jié)點(diǎn)的 C0NG_LEVEL的值加一,表示該節(jié)點(diǎn)的鄰居擁塞的程度增加;(2)當(dāng)節(jié)點(diǎn)收到或偵聽(tīng)到數(shù)據(jù)幀時(shí),將該節(jié)點(diǎn)的DATA_NUM的值加一,表示從該節(jié)點(diǎn)最近一次得知有鄰居擁塞的時(shí)刻起,偵聽(tīng)到其所有鄰居總共發(fā)送了 DATA_NUM個(gè)數(shù)據(jù)包;
(3)當(dāng)節(jié)點(diǎn)接收或偵聽(tīng)到ACK幀時(shí),表示該節(jié)點(diǎn)的鄰居處于非擁塞狀態(tài),如果此時(shí)該節(jié)點(diǎn)的C0NG_LEVEL的值大于0,則將其C0NG_LEVEL的值設(shè)置為0,表示其鄰居的擁塞狀態(tài)已經(jīng)解除。7、在步驟5中,當(dāng)數(shù)據(jù)幀的發(fā)送方競(jìng)爭(zhēng)信道失敗而進(jìn)行退避時(shí),發(fā)送方先按照步驟5中方法檢查自身是否處在擁塞狀態(tài),如果發(fā)送方處于非擁塞狀態(tài),且此時(shí)發(fā)送方的退避窗口未達(dá)到協(xié)議規(guī)定的最大值,則增加其退避窗口 ;如果發(fā)送方處于擁塞狀態(tài),則將發(fā)送方的競(jìng)爭(zhēng)窗口調(diào)整為協(xié)議規(guī)定的最小競(jìng)爭(zhēng)窗口,以縮短擁塞發(fā)送方競(jìng)爭(zhēng)信道的退避時(shí)間, 提高其競(jìng)爭(zhēng)信道的優(yōu)先權(quán),以利于其解除擁塞。8、當(dāng)數(shù)據(jù)幀的發(fā)送方將一數(shù)據(jù)幀在MAC層重傳的次數(shù)達(dá)到協(xié)議所規(guī)定的最大次數(shù)后,仍然無(wú)法成功發(fā)送的情況下,將該數(shù)據(jù)幀退回給路由層,以告知路由層其下的MAC層已經(jīng)處于擁塞狀態(tài),同時(shí)路由層采取以下措施協(xié)助解除擁塞(i)如果該數(shù)據(jù)幀的TTL計(jì)數(shù)為0,表明該數(shù)據(jù)幀在網(wǎng)絡(luò)中的生存時(shí)間已經(jīng)耗盡,所以應(yīng)丟棄該數(shù)據(jù)幀;(ii)若該數(shù)據(jù)幀的TTL計(jì)數(shù)大于0,表明該數(shù)據(jù)幀在網(wǎng)絡(luò)中的生存時(shí)間仍然有效,則路由層為該數(shù)據(jù)幀尋找另外一條到達(dá)目的節(jié)點(diǎn)的路徑,若尋找成功,則將該數(shù)據(jù)幀傳向MAC層,進(jìn)行發(fā)送;如果尋找不成功,則在延遲一定時(shí)間后,將該數(shù)據(jù)幀傳向MAC層,進(jìn)行發(fā)送。所述TTL,全稱(chēng)為 Time-To-Live,是IP協(xié)議包中的一個(gè)值,它用于告訴網(wǎng)絡(luò),一個(gè)數(shù)據(jù)包在網(wǎng)絡(luò)中的時(shí)間是否太長(zhǎng)而應(yīng)被丟棄。9、在選用了 RTS/CTS握手機(jī)制的場(chǎng)景中,當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)偵聽(tīng)到不是以本節(jié)點(diǎn)為目的地址的RTS幀時(shí),保持物理載波偵聽(tīng)一段時(shí)間T2 = TSIFS+TCIS+TSIFS+t,如果在這段時(shí)間內(nèi),節(jié)點(diǎn)偵聽(tīng)到信道忙碌,則表明信道確實(shí)被占用,再將NAV定時(shí)器設(shè)定為T(mén)3 =TDATA+TSIFS+TACK-t ;如果節(jié)點(diǎn)偵聽(tīng)到信道空閑,則節(jié)點(diǎn)可以參與信道競(jìng)爭(zhēng)。RTS幀中的 DURATION 字段 Tl = Tsifs+Tcts+Tsifs+Tdata+Tsifs+Tac:k,其中 Tsifs 為短幀間間隔,Tcts 為節(jié)點(diǎn)發(fā)送 CTS幀所耗費(fèi)的時(shí)間,Tdata為發(fā)送數(shù)據(jù)幀的時(shí)間,Tack為發(fā)送ACK幀的時(shí)間。T2的取值標(biāo)準(zhǔn)是保證若信道確實(shí)被占用的話(huà),可以在T2時(shí)間內(nèi)檢測(cè)到其他節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包信號(hào),只要檢測(cè)到有信號(hào)即可,不需要完整的接收包,因而t的取值可以很小,在本發(fā)明中取t = Tsifso如上所述便可較好的實(shí)現(xiàn)本發(fā)明。
權(quán)利要求
1.一種附帶式跨層設(shè)計(jì)的無(wú)線(xiàn)網(wǎng)絡(luò)擁塞控制方法,包括如下步驟(1)數(shù)據(jù)幀的發(fā)送方在向接收方發(fā)送數(shù)據(jù)之前,依據(jù)其對(duì)鄰居擁塞狀況的評(píng)估來(lái)判斷是否有鄰居節(jié)點(diǎn)處于擁塞狀態(tài),如果有鄰居處在擁塞狀態(tài),發(fā)送方就延遲本次發(fā)送,并跟據(jù)其對(duì)鄰居擁塞程度的估計(jì)確定延遲發(fā)送的時(shí)間間隔;如果沒(méi)有鄰居處于擁塞狀態(tài),則當(dāng)發(fā)送方成功競(jìng)爭(zhēng)到信道時(shí),就向接收方發(fā)送數(shù)據(jù)幀;(2)當(dāng)接收方在收到以它為目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)幀時(shí),向發(fā)送方回復(fù)確認(rèn)幀;同時(shí)接收方檢查自身是否處于擁塞狀態(tài),如果處在擁塞狀態(tài),則其向發(fā)送方回復(fù)ACKC幀;否則回復(fù)ACK 幀;(3)當(dāng)數(shù)據(jù)幀的發(fā)送方接收到來(lái)自接收方的確認(rèn)幀時(shí),確認(rèn)數(shù)據(jù)發(fā)送成功;同時(shí),發(fā)送方根據(jù)所接收的確認(rèn)幀的類(lèi)型來(lái)評(píng)估鄰居擁塞程度;
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,解除擁塞狀態(tài),減少數(shù)據(jù)幀丟失,針對(duì)下述情況采用如下的方式處理(A)當(dāng)數(shù)據(jù)幀的發(fā)送方競(jìng)爭(zhēng)信道失敗進(jìn)行退避時(shí),發(fā)送方先檢查自身是否處在擁塞狀態(tài),如果發(fā)送方處于非擁塞狀態(tài),則增加其退避窗口 ;如果發(fā)送方處在擁塞狀態(tài),則減小其退避窗口,以提高其信道競(jìng)爭(zhēng)的成功率;(B)當(dāng)數(shù)據(jù)幀發(fā)送方將一數(shù)據(jù)幀在MAC層重傳的次數(shù)達(dá)到協(xié)議所規(guī)定的最大次數(shù)后, 仍然無(wú)法成功發(fā)送的情況下,將該數(shù)據(jù)幀退回給路由層,以告知路由層其下的MAC層已經(jīng)處于擁塞狀態(tài),同時(shí)路由層采取以下措施協(xié)助解除擁塞(i)如果該數(shù)據(jù)幀的生存時(shí)間已經(jīng)耗盡,則在路由層丟棄該幀;(ii)如果該數(shù)據(jù)幀的生存時(shí)間仍然有效,則路由層為該數(shù)據(jù)幀尋找一條經(jīng)過(guò)其他鄰居節(jié)點(diǎn)的路徑,如果尋找成功,將該數(shù)據(jù)幀傳向MAC層,進(jìn)行發(fā)送;如果不成功,則在延遲一定時(shí)間后,將該數(shù)據(jù)幀傳向MAC層,進(jìn)行發(fā)送;(C)當(dāng)節(jié)點(diǎn)啟動(dòng)了虛擬載波偵聽(tīng)時(shí),在其處于虛擬載波偵聽(tīng)的時(shí)間段內(nèi),節(jié)點(diǎn)保持物理偵聽(tīng)一段時(shí)間,如果在該段時(shí)間內(nèi),節(jié)點(diǎn)偵聽(tīng)到信道忙碌,則表明信道確實(shí)被占用,則節(jié)點(diǎn)在虛擬載波偵聽(tīng)截止之前不參與信道競(jìng)爭(zhēng);如果節(jié)點(diǎn)偵聽(tīng)到信道空閑,則其可以參與信道競(jìng)爭(zhēng)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟(1)數(shù)據(jù)幀的發(fā)送方和接收方為無(wú)線(xiàn)網(wǎng)絡(luò)中任意兩個(gè)相鄰節(jié)點(diǎn);發(fā)送方對(duì)鄰居擁塞狀況的評(píng)估是通過(guò)如下方式實(shí)現(xiàn)節(jié)點(diǎn)設(shè)置用以評(píng)估鄰居擁塞程度的參數(shù),并根據(jù)接收或者偵聽(tīng)到ACK、ACKC以及數(shù)據(jù)幀,來(lái)動(dòng)態(tài)調(diào)整該參數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟O)ACK幀為沒(méi)有攜帶擁塞信息的確認(rèn)幀;ACKC幀為附帶擁塞信息的確認(rèn)幀。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,步驟(2)節(jié)點(diǎn)判斷自身?yè)砣麪顟B(tài)是通過(guò)如下方式實(shí)現(xiàn)的把節(jié)點(diǎn)內(nèi)的緩存劃分為接收緩存和發(fā)送緩存,本節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)包直接進(jìn)入發(fā)送緩存,中轉(zhuǎn)的數(shù)據(jù)包先經(jīng)過(guò)接收緩存;所述的中轉(zhuǎn)是指把從其他節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)包轉(zhuǎn)發(fā)到下一跳節(jié)點(diǎn)的操作;設(shè)Tl為接收緩存的擁塞門(mén)限值,T2為發(fā)送緩存的擁塞門(mén)限值, 并設(shè)W為接收緩存內(nèi)數(shù)據(jù)包的個(gè)數(shù),N2為發(fā)送緩存內(nèi)數(shù)據(jù)包的個(gè)數(shù);當(dāng)N2 < T2時(shí),中轉(zhuǎn)的數(shù)據(jù)包進(jìn)入發(fā)送緩存;否則,中轉(zhuǎn)的數(shù)據(jù)包占據(jù)接收緩存;當(dāng)m < Tl時(shí),節(jié)點(diǎn)判定自身處在非擁塞狀態(tài);否則,節(jié)點(diǎn)判定自身處在擁塞狀態(tài);T1、T2、N1、N2都為自然數(shù);接收方需要預(yù)留緩存空間,以接收在發(fā)送方不知道該接收方已擁塞的情況下所發(fā)送的數(shù)據(jù)幀;所述預(yù)留的緩存空間為節(jié)點(diǎn)的內(nèi)存除去Tl個(gè)內(nèi)存空間后剩余的內(nèi)存空間。
全文摘要
本發(fā)明公開(kāi)了一種附帶式跨層設(shè)計(jì)的無(wú)線(xiàn)網(wǎng)絡(luò)擁塞控制方法。該方法讓節(jié)點(diǎn)利用MAC層的ACK確認(rèn)幀來(lái)附帶其擁塞信息,其它節(jié)點(diǎn)通過(guò)接收確認(rèn)幀來(lái)評(píng)估該確認(rèn)幀發(fā)送方的擁塞程度,并以此來(lái)決定是否發(fā)送數(shù)據(jù)。本發(fā)明還提出下列機(jī)制來(lái)配合上述方法進(jìn)行擁塞控制1.MAC層與路由層的協(xié)作擁塞控制方法,以減少數(shù)據(jù)幀的丟失,2.提高擁塞節(jié)點(diǎn)擁塞解除速度的信道競(jìng)爭(zhēng)退避方法,3.偵測(cè)被虛擬載波偵聽(tīng)所誤判的實(shí)際空閑信道的方法,提高信道的利用率。該發(fā)明能用來(lái)提高傳輸層協(xié)議如TCP在多跳無(wú)線(xiàn)網(wǎng)絡(luò)中的性能。
文檔編號(hào)H04L12/56GK102244568SQ201110173969
公開(kāi)日2011年11月16日 申請(qǐng)日期2011年6月24日 優(yōu)先權(quán)日2011年6月24日
發(fā)明者吳泉明, 姜?jiǎng)倜?申請(qǐng)人:華南理工大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1