欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種傳輸層源端速率控制方法與流程

文檔序號(hào):12613533閱讀:292來源:國(guó)知局
一種傳輸層源端速率控制方法與流程

本發(fā)明涉及無線網(wǎng)絡(luò)擁塞控制技術(shù)領(lǐng)域,具體涉及一種傳輸層源端速率控制方法。



背景技術(shù):

現(xiàn)有研究已經(jīng)表明,傳輸控制協(xié)議(TCP)在多跳無線網(wǎng)絡(luò)中表現(xiàn)出嚴(yán)重的性能惡化。造成這種現(xiàn)象的主要原因是傳輸層經(jīng)常性地誤判網(wǎng)絡(luò)的擁塞狀況。一個(gè)數(shù)據(jù)包的丟失被認(rèn)為是網(wǎng)絡(luò)擁塞的一種標(biāo)志。然而,無線網(wǎng)絡(luò)中存在多種其它的可能導(dǎo)致丟包的因素。例如,無線信道的高誤碼率,開放共享信道的沖突,以及由終端的移動(dòng)造成的路由失效。頻繁的丟包抑制了傳輸層發(fā)送窗口的增大,從而降低了吞吐量。

以上三種導(dǎo)致丟包的原因分別發(fā)生在物理層、鏈路層和網(wǎng)絡(luò)層。已有的研究已經(jīng)指出,發(fā)生在鏈路層的開放共享信道沖突導(dǎo)致的丟包是無線網(wǎng)絡(luò)丟包的主要因素,而物理層的信道誤碼以及網(wǎng)絡(luò)層的路由失效重建影響相對(duì)較小。因此,為了有效地提高TCP在無線網(wǎng)絡(luò)中的傳輸性能,將注意力主要集中在緩解鏈路層的信道沖突上。

TCP采用發(fā)送窗口來進(jìn)行網(wǎng)絡(luò)擁塞控制。發(fā)送窗口增大,則在一個(gè)RTT內(nèi),可以發(fā)送的數(shù)據(jù)包增大,TCP的吞吐量也就增大,反之亦然。然而,TCP并未指出發(fā)送窗口內(nèi)可以發(fā)送的數(shù)據(jù)包將以怎樣的方式發(fā)送,因此大部分TCP版本采用盡力發(fā)送的方式一次性向下發(fā)送,也就是不管節(jié)點(diǎn)緩存能不能夠容納,都會(huì)將所有能夠發(fā)送的數(shù)據(jù)包發(fā)送下去。這種行為在有線網(wǎng)絡(luò)中不會(huì)造成太大的問題,但是在無線網(wǎng)絡(luò)中,由于無線網(wǎng)絡(luò)所特有的4跳干擾范圍的問題,導(dǎo)致源端附近的信道競(jìng)爭(zhēng)過于劇烈,最終浪費(fèi)了信道資源,降低了網(wǎng)絡(luò)傳輸效率。

與TCP類似,當(dāng)UDP的發(fā)送速率過大時(shí),也就出現(xiàn)了類似于TCP數(shù)據(jù)包突發(fā)的情況,也會(huì)因?yàn)闊o線信道的劇烈競(jìng)爭(zhēng)而導(dǎo)致浪費(fèi)網(wǎng)絡(luò)資源,最終導(dǎo)致網(wǎng)絡(luò)性能下降。

綜上所述,傳輸層需要一個(gè)源端的速率控制機(jī)制來緩解無線網(wǎng)絡(luò)中的擁塞。TCP有擁塞控制、流量控制和可靠性控制功能,但是缺少微觀層面的源端速率控制功能。有線網(wǎng)絡(luò)中下層鏈路間接實(shí)現(xiàn)了速率控制功能,但是在無線網(wǎng)絡(luò)中卻沒有實(shí)現(xiàn)。因此,傳輸層速率控制功能很有必要。UDP亦是如此。速率控制被視作用來進(jìn)行擁塞控制的一種很有用的工具。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中的上述缺陷,提供一種傳輸層源端速率控制方法,該方法根據(jù)源節(jié)點(diǎn)自身鏈路層上RTS次數(shù)和MAC發(fā)送時(shí)間參數(shù)的值,來確定一個(gè)發(fā)送速率使得RTS次數(shù)處在最大值和最小值之間的一個(gè)預(yù)設(shè)區(qū)間上,以達(dá)到減緩源節(jié)點(diǎn)附近激烈的信道競(jìng)爭(zhēng)和嚴(yán)重的網(wǎng)絡(luò)擁塞的目的,可以有效地提高吞吐量和降低時(shí)延,提高傳輸層的性能。

本發(fā)明的目的可以通過采取如下技術(shù)方案達(dá)到:

一種傳輸層源端速率控制方法,所述方法包括:

激進(jìn)發(fā)送步驟:只要鏈路層隊(duì)列為空就向傳輸層請(qǐng)求數(shù)據(jù)包,然后將請(qǐng)求到的數(shù)據(jù)包發(fā)送出去,同時(shí)測(cè)量出此時(shí)發(fā)送每個(gè)數(shù)據(jù)包所需的RTS次數(shù)和MAC發(fā)送時(shí)間,記為最大RTS次數(shù)和最長(zhǎng)MAC發(fā)送時(shí)間;當(dāng)發(fā)送完一定數(shù)量的數(shù)據(jù)包后,將最大RTS次數(shù)和最長(zhǎng)MAC發(fā)送時(shí)間的測(cè)量值上傳到傳輸層,進(jìn)入慢啟動(dòng)步驟;

慢啟動(dòng)步驟:將所述激進(jìn)發(fā)送步驟測(cè)量到的最長(zhǎng)MAC發(fā)送時(shí)間的倒數(shù)記為初始發(fā)送速率,同時(shí)也是搜索下界速率,在傳輸層以初始發(fā)送速率向下發(fā)送數(shù)據(jù)包,發(fā)送完一定數(shù)量的數(shù)據(jù)包后測(cè)出當(dāng)前RTS次數(shù),若當(dāng)前RTS次數(shù)小于最大RTS次數(shù)的一半,則倍增發(fā)送速率,然后以新的發(fā)送速率發(fā)送數(shù)據(jù)包;若當(dāng)前RTS次數(shù)大于最大RTS次數(shù)的一半,記當(dāng)前發(fā)送速率為搜索上界速率,進(jìn)入二分搜索步驟;

二分搜索步驟:記從搜索下界速率到搜索上界速率為初始速率搜索區(qū)間,在此區(qū)間上以二分搜索的方式搜索出一個(gè)速率,使得以此發(fā)送速率發(fā)送數(shù)據(jù)包時(shí),測(cè)量到的RTS次數(shù)在1和最大RTS次數(shù)之間的一個(gè)預(yù)設(shè)區(qū)間內(nèi),搜索成功則進(jìn)入穩(wěn)定步驟,搜索失敗則重新進(jìn)入激進(jìn)發(fā)送步驟;

穩(wěn)定步驟:以二分搜索步驟搜索出的發(fā)送速率發(fā)送數(shù)據(jù)包,并同時(shí)監(jiān)測(cè)當(dāng)前RTS次數(shù)與上次RTS次數(shù)之間的相對(duì)變化,若當(dāng)前RTS次數(shù)大于上次RTS次數(shù)的一定倍數(shù)或者小于上次RTS次數(shù)的一定倍數(shù),則重新進(jìn)入激進(jìn)發(fā)送步驟,否則,保持發(fā)送速率不變。

進(jìn)一步地,所述RTS次數(shù)和所述MAC發(fā)送時(shí)間均采用滑動(dòng)窗口平均方式測(cè)量得到,具體為發(fā)送一定數(shù)量數(shù)據(jù)包之后計(jì)算出來的滑動(dòng)窗口平均值。

進(jìn)一步地,所述激進(jìn)發(fā)送步驟持續(xù)發(fā)送數(shù)據(jù)包,當(dāng)傳輸層有數(shù)據(jù)包可以發(fā)送時(shí),鏈路層隊(duì)列即向上拉取數(shù)據(jù)包,然后嘗試發(fā)送;所述慢啟動(dòng)步驟、所述二分搜索步驟和所述穩(wěn)定步驟中鏈路層隊(duì)列不會(huì)主動(dòng)拉取數(shù)據(jù)包。

進(jìn)一步地,所述慢啟動(dòng)步驟、所述二分搜索步驟和所述穩(wěn)定步驟中使用一個(gè)發(fā)送定時(shí)器進(jìn)行控制發(fā)送速率,所述發(fā)送定時(shí)器的超時(shí)時(shí)間設(shè)置為發(fā)送速率的倒數(shù);當(dāng)所述發(fā)送定時(shí)器超時(shí)后,傳輸層向下發(fā)送一個(gè)數(shù)據(jù)包,然后重新啟動(dòng)定時(shí)器,每次重新啟動(dòng)發(fā)送定時(shí)器都需要根據(jù)當(dāng)前速率計(jì)算新的超時(shí)時(shí)間。

進(jìn)一步地,所述二分搜索步驟具體為:

首先設(shè)置發(fā)送速率為速率搜索區(qū)間的中間值,以此發(fā)送速率發(fā)送數(shù)據(jù)包,然后根據(jù)在該發(fā)送速率下測(cè)出的當(dāng)前RTS次數(shù)來調(diào)整發(fā)送速率,包括以下三種情況:

(1)若當(dāng)前RTS次數(shù)大于RTS次數(shù)預(yù)設(shè)區(qū)間的最大值,則將搜索速率上界設(shè)置為當(dāng)前速率,然后將當(dāng)前速率設(shè)置為搜索速率區(qū)間的中間值;

(2)若當(dāng)前RTS次數(shù)小于RTS次數(shù)預(yù)設(shè)區(qū)間的最小值,則將搜索速率下界設(shè)置為當(dāng)前速率,然后將當(dāng)前速率設(shè)置為搜索速率區(qū)間的中間值;

(3)若當(dāng)前RTS次數(shù)在RTS次數(shù)預(yù)設(shè)區(qū)間內(nèi),則停止速率的搜索過程,進(jìn)入所述穩(wěn)定步驟。

進(jìn)一步地,所述RTS次數(shù)預(yù)設(shè)區(qū)間是指一個(gè)在RTS次數(shù)最小值到RTS次數(shù)最大值之間人為設(shè)定的范圍,所述RTS次數(shù)預(yù)設(shè)區(qū)間設(shè)定為0.3到0.5倍的最小RTS次數(shù)到最大RTS次數(shù)之間的區(qū)間。

進(jìn)一步地,在所述穩(wěn)定步驟中,若RTS次數(shù)變化較大,說明網(wǎng)絡(luò)狀況改變,需要重新進(jìn)行新一輪的速率控制過程,其中轉(zhuǎn)換條件設(shè)置為RTS次數(shù)大于上一個(gè)RTS次數(shù)的1.2倍或者小于0.8倍。

進(jìn)一步地,所述若當(dāng)前RTS次數(shù)在RTS次數(shù)預(yù)設(shè)區(qū)間內(nèi),則停止速率的搜索過程中,停止搜索的上下界距離為初始上下界距離的5%。

本發(fā)明相對(duì)于現(xiàn)有技術(shù)具有如下的優(yōu)點(diǎn)及效果:

1、本發(fā)明具有簡(jiǎn)單易行的優(yōu)點(diǎn)。在傳輸層協(xié)議基礎(chǔ)上進(jìn)行改進(jìn),只在源節(jié)點(diǎn)根據(jù)本節(jié)點(diǎn)的信道信息調(diào)整發(fā)送速率,對(duì)源節(jié)點(diǎn)的傳輸層的更改也很少,不更改相鄰節(jié)點(diǎn)間的交互過程。

2、本發(fā)明具有廣泛適用性的優(yōu)點(diǎn)。RTS次數(shù)是反應(yīng)網(wǎng)絡(luò)擁塞狀況的很準(zhǔn)確的指標(biāo),而且在不同的信道帶寬下都是如此。將RTS次數(shù)控制在最大值和最小值之間,能夠顯著降低網(wǎng)絡(luò)擁塞,同時(shí)也不會(huì)損失網(wǎng)絡(luò)資源利用率。

3、本發(fā)明具有反應(yīng)迅速的優(yōu)點(diǎn)。用于調(diào)整速率的依據(jù)RTS次數(shù)只在源節(jié)點(diǎn)測(cè)量,節(jié)點(diǎn)內(nèi)傳遞,所以信息準(zhǔn)確、及時(shí)。搜索速率使用二分搜索算法,能夠以最快的收斂速度達(dá)到要求。

附圖說明

圖1是本發(fā)明公開的一種傳輸層源端速率控制方法的傳輸層狀態(tài)轉(zhuǎn)移圖;

圖2是本發(fā)明公開的一種傳輸層源端速率控制方法的RTS次數(shù)測(cè)量的流程圖;

圖3是本發(fā)明公開的一種傳輸層源端速率控制方法的二分搜索的流程圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

實(shí)施例

本發(fā)明為避免傳輸層源端數(shù)據(jù)突發(fā)造成的嚴(yán)重信道碰撞和網(wǎng)絡(luò)擁塞,在源端根據(jù)RTS次數(shù)進(jìn)行發(fā)送速率控制。通過二分搜索的方式,找到一個(gè)發(fā)送速率,使得在這個(gè)發(fā)送速率下,RTS次數(shù)處在最大RTS次數(shù)和最小RTS次數(shù)之間的一個(gè)預(yù)設(shè)區(qū)間內(nèi)。當(dāng)網(wǎng)絡(luò)狀況有明顯變化時(shí),該方法能夠探測(cè)到這一變化并重新進(jìn)行新的發(fā)送速率控制過程。

基于上述原理,本發(fā)明的具體方案如下:

激進(jìn)發(fā)送步驟:只要鏈路層隊(duì)列為空就向傳輸層請(qǐng)求數(shù)據(jù)包,然后將請(qǐng)求到的數(shù)據(jù)包發(fā)送出去,同時(shí)測(cè)量出此時(shí)發(fā)送每個(gè)數(shù)據(jù)包所需的RTS次數(shù)和MAC發(fā)送時(shí)間,記為最大RTS次數(shù)和最長(zhǎng)MAC發(fā)送時(shí)間。當(dāng)發(fā)送完一定數(shù)量的數(shù)據(jù)包后,將最大RTS次數(shù)和最長(zhǎng)MAC發(fā)送時(shí)間的測(cè)量值上傳到傳輸層,進(jìn)入慢啟動(dòng)步驟。

慢啟動(dòng)步驟:將激進(jìn)發(fā)送步驟測(cè)量到的最長(zhǎng)MAC發(fā)送時(shí)間的倒數(shù)記為初始發(fā)送速率,同時(shí)也是搜索下界速率。在傳輸層以初始發(fā)送速率向下發(fā)送數(shù)據(jù)包。發(fā)送完一定數(shù)量的數(shù)據(jù)包后測(cè)出當(dāng)前RTS次數(shù)。若當(dāng)前RTS次數(shù)小于最大RTS次數(shù)的一半,則倍增發(fā)送速率,然后以新的發(fā)送速率發(fā)送數(shù)據(jù)包;若當(dāng)前RTS次數(shù)大于最大RTS次數(shù)的一半,記當(dāng)前發(fā)送速率為搜索上界速率,進(jìn)入二分搜索步驟。

二分搜索步驟:記從搜索下界速率到搜索上界速率為初始速率搜索區(qū)間。在此區(qū)間上以二分搜索的方式搜索出一個(gè)速率,使得以此發(fā)送速率發(fā)送數(shù)據(jù)包時(shí),測(cè)量到的RTS次數(shù)在1和最大RTS次數(shù)之間的一個(gè)預(yù)設(shè)區(qū)間內(nèi)。搜索成功則進(jìn)入穩(wěn)定步驟,搜索失敗則重新進(jìn)入激進(jìn)發(fā)送步驟。搜索失敗是指,速率搜索區(qū)間小于初始速率搜索區(qū)間的一定比例時(shí),當(dāng)前RTS次數(shù)還沒進(jìn)入到RTS次數(shù)的預(yù)設(shè)區(qū)間內(nèi)。

穩(wěn)定步驟:以二分搜索步驟搜索出的發(fā)送速率發(fā)送數(shù)據(jù)包,并同時(shí)監(jiān)測(cè)當(dāng)前RTS次數(shù)與上次RTS次數(shù)之間的相對(duì)變化。若當(dāng)前RTS次數(shù)大于上次RTS次數(shù)的一定倍數(shù)或者小于上次RTS次數(shù)的一定倍數(shù),則重新進(jìn)入激進(jìn)發(fā)送步驟。否則,保持發(fā)送速率不變。

以上四個(gè)步驟分別對(duì)應(yīng)傳輸層中的四個(gè)狀態(tài),分別為激進(jìn)發(fā)送狀態(tài)、慢啟動(dòng)狀態(tài)、二分搜索狀態(tài)和穩(wěn)定狀態(tài)。這四個(gè)狀態(tài)在特定條件下可以相互轉(zhuǎn)換,具體的轉(zhuǎn)換過程見圖1。

基于上述方案形成的一種傳輸層源端速率控制方法,其具體實(shí)施過程如下:

1、鏈路層在兩個(gè)階段之間轉(zhuǎn)換。激進(jìn)發(fā)送步驟與慢啟動(dòng)步驟、二分搜索步驟、穩(wěn)定步驟不同之處在于,激進(jìn)發(fā)送步驟持續(xù)發(fā)送數(shù)據(jù)包,當(dāng)傳輸層有數(shù)據(jù)包可以發(fā)送時(shí),鏈路層隊(duì)列即向上拉取數(shù)據(jù)包,然后嘗試發(fā)送。而慢啟動(dòng)步驟、二分搜索步驟和穩(wěn)定步驟中,鏈路層隊(duì)列不會(huì)主動(dòng)拉取數(shù)據(jù)包。所以在鏈路層有兩個(gè)不同的階段,在這里分別設(shè)置為激進(jìn)發(fā)送階段和速率控制階段,分別對(duì)應(yīng)激進(jìn)發(fā)送步驟和慢啟動(dòng)步驟、二分搜索步驟、穩(wěn)定步驟。在不同步驟之間轉(zhuǎn)換時(shí),需要同步更改鏈路層的階段。

為了減少網(wǎng)絡(luò)狀況的波動(dòng)帶來的誤差,所有步驟中測(cè)量的RTS次數(shù)和MAC發(fā)送時(shí)間值都是采用發(fā)送一定數(shù)量數(shù)據(jù)包之后計(jì)算出來的滑動(dòng)窗口平均值。

具體應(yīng)用中,RTS次數(shù)和MAC發(fā)送時(shí)間采用滑動(dòng)窗口平均方式測(cè)量得到。每當(dāng)測(cè)量到當(dāng)前RTS次數(shù)和MAC發(fā)送時(shí)間后,將當(dāng)前值與之前一定數(shù)量測(cè)量值進(jìn)行平均。鏈路層在發(fā)送完一定數(shù)量的數(shù)據(jù)包后才將RTS次數(shù)和MAC發(fā)送時(shí)間上傳到傳輸層,這樣可以減輕之前網(wǎng)絡(luò)狀況對(duì)當(dāng)前測(cè)量值的影響。

鏈路層不同的狀態(tài)的區(qū)別只在于是否在隊(duì)列有空間時(shí)向上請(qǐng)求數(shù)據(jù)包,而對(duì)RTS次數(shù)和MAC發(fā)送時(shí)間的測(cè)量沒有影響。在此實(shí)例中,發(fā)送的數(shù)據(jù)包數(shù)量設(shè)置為10。具體過程如圖2所示。

2、在激進(jìn)發(fā)送步驟中測(cè)量出最大RTS次數(shù)和最大MAC發(fā)送時(shí)間后,將鏈路層轉(zhuǎn)換為速率控制階段,將最大RTS次數(shù)和最大MAC發(fā)送時(shí)間上傳給傳輸層。傳輸層根據(jù)最大MAC發(fā)送時(shí)間的倒數(shù)設(shè)置發(fā)送定時(shí)器,進(jìn)入慢啟動(dòng)步驟。鏈路層每發(fā)送完10個(gè)數(shù)據(jù)包之后,上傳新統(tǒng)計(jì)的RTS次數(shù),并通知傳輸層更新速率。如果RTS次數(shù)大于最大RTS次數(shù)的一半,這說明當(dāng)前發(fā)送速率已經(jīng)足夠高,以這個(gè)速率作為搜索上界,慢啟動(dòng)過程停止,進(jìn)入二分搜索步驟。如果RTS次數(shù)小于最大RTS次數(shù)的一半,則倍增當(dāng)前發(fā)送速率,繼續(xù)發(fā)送數(shù)據(jù)。

3、為了能自主控制發(fā)送速率,設(shè)置了一個(gè)發(fā)送定時(shí)器。發(fā)送定時(shí)器有兩個(gè)狀態(tài),停止?fàn)顟B(tài)和運(yùn)行狀態(tài)。激進(jìn)發(fā)送步驟時(shí)定時(shí)器處于停止?fàn)顟B(tài),其他步驟時(shí)處于運(yùn)行狀態(tài)。發(fā)送定時(shí)器超時(shí)后,如果傳輸層緩存有數(shù)據(jù)包,立即發(fā)送一個(gè)數(shù)據(jù)包。

慢啟動(dòng)步驟、二分搜索步驟、穩(wěn)定步驟中控制發(fā)送速率使用一個(gè)發(fā)送定時(shí)器進(jìn)行控制。發(fā)送定時(shí)器的超時(shí)時(shí)間設(shè)置為發(fā)送速率的倒數(shù)。當(dāng)發(fā)送定時(shí)器超時(shí)后,傳輸層向下發(fā)送一個(gè)數(shù)據(jù)包,然后重新啟動(dòng)定時(shí)器。每次重新啟動(dòng)定時(shí)器都需要根據(jù)當(dāng)前速率計(jì)算新的超時(shí)時(shí)間。

4、在經(jīng)過激進(jìn)發(fā)送步驟和慢啟動(dòng)步驟之后,確定了速率的搜索區(qū)間。要搜索出來一個(gè)合適的速率,可以用其它方法。例如,線性搜索。但是發(fā)送速率與RTS次數(shù)之間是存在線性關(guān)系的,因此可以使用二分搜索來尋找,這是最快的一種方法。同樣,可以搜索出一個(gè)能使得RTS次數(shù)處于固定點(diǎn)的速率,但是為了提高搜索收斂的速率,當(dāng)RTS次數(shù)處在一個(gè)RTS次數(shù)預(yù)設(shè)區(qū)間上時(shí),即可停止搜索過程。這個(gè)RTS次數(shù)預(yù)設(shè)區(qū)間是一個(gè)經(jīng)驗(yàn)數(shù)據(jù),不同的網(wǎng)絡(luò)下該數(shù)值不同。

RTS次數(shù)預(yù)設(shè)區(qū)間是指一個(gè)在RTS次數(shù)最小值到RTS次數(shù)最大值之間人為設(shè)定的范圍。RTS次數(shù)最小值為1。RTS次數(shù)最大值在數(shù)據(jù)包按照激進(jìn)發(fā)送步驟發(fā)送時(shí)測(cè)量得到。當(dāng)RTS次數(shù)在兩個(gè)極值之間的某一個(gè)位置時(shí),網(wǎng)絡(luò)資源利用率達(dá)到最大。為了加快收斂速率,將該點(diǎn)設(shè)置為一個(gè)區(qū)間。該區(qū)間是經(jīng)驗(yàn)值,因不同的網(wǎng)絡(luò)狀況而不同。

在本實(shí)例中,區(qū)間設(shè)置為0.3到0.5倍的最小RTS次數(shù)到最大RTS次數(shù)區(qū)間。發(fā)送速率的改變與實(shí)際發(fā)送數(shù)據(jù)包是相對(duì)獨(dú)立的。改變發(fā)送速率不影響當(dāng)前已經(jīng)在計(jì)時(shí)的發(fā)送定時(shí)器。而發(fā)送定時(shí)器發(fā)送完數(shù)據(jù)后要等實(shí)際發(fā)送了10個(gè)數(shù)據(jù)包之后,等鏈路層上傳了最新的RTS次數(shù)才會(huì)對(duì)發(fā)送速率進(jìn)行調(diào)整。

參考圖3,對(duì)二分搜索的具體流程分析如下:

(1)若RTS次數(shù)在預(yù)設(shè)區(qū)間之上,說明當(dāng)前速率太大了,將當(dāng)前速率設(shè)置為搜索上界,并將當(dāng)前速率設(shè)置為搜索上界與搜索下界之間的中間值;

(2)若RTS次數(shù)在預(yù)設(shè)區(qū)間之下,說明當(dāng)前速率太小了,將當(dāng)前速率設(shè)置為搜索下界,并將當(dāng)前速率設(shè)置為搜索下界與搜索上界之間的中間值;

(3)若RTS次數(shù)在預(yù)設(shè)區(qū)間之內(nèi),說明該速率是合適的速率,則停止搜索過程,將傳輸層狀態(tài)設(shè)置為穩(wěn)定狀態(tài)。

考慮到滿足條件的發(fā)送速率在一個(gè)范圍內(nèi),所以如果在二分搜索過程中搜索上下界之間的距離很近時(shí),仍然沒有達(dá)到停止搜索的條件,說明本次搜索過程可能有誤判,或者網(wǎng)絡(luò)狀況發(fā)生了突變,因此需要重新探測(cè)網(wǎng)絡(luò)狀況,傳輸層進(jìn)入激進(jìn)發(fā)送步驟,同時(shí)也需要將鏈路層的狀態(tài)從速率控制階段轉(zhuǎn)換為激進(jìn)發(fā)送階段。在本實(shí)例中停止搜索的上下界距離為初始上下界距離的5%。

5、速率需要適應(yīng)網(wǎng)絡(luò)狀況變化的情況,這時(shí)會(huì)導(dǎo)致RTS次數(shù)的變化。當(dāng)處在穩(wěn)定狀況時(shí),若RTS次數(shù)變化較大,說明網(wǎng)絡(luò)狀況改變,需要重新進(jìn)行新一輪的速率控制過程。本實(shí)例中將轉(zhuǎn)換條件設(shè)置為RTS次數(shù)大于上一個(gè)RTS次數(shù)的1.2倍或者小于0.8倍。

6、傳輸層需要做相應(yīng)的改變:

(1)若傳輸層協(xié)議為UDP,則在傳輸層設(shè)置一個(gè)隊(duì)列用于緩存UDP發(fā)送下來的數(shù)據(jù)包。此隊(duì)列采用尾部丟棄方式處理溢出數(shù)據(jù)。隊(duì)列長(zhǎng)度不要設(shè)置太小,這樣可以更好得平滑UDP數(shù)據(jù)包突發(fā)造成的影響。在本實(shí)例中設(shè)置為50個(gè)數(shù)據(jù)包的長(zhǎng)度。

(2)若傳輸層協(xié)議為TCP,則去掉發(fā)送窗口對(duì)數(shù)據(jù)包發(fā)送的限制,同時(shí)取消TCP主動(dòng)發(fā)送數(shù)據(jù)包的功能。TCP是否能發(fā)數(shù)據(jù)包取決于發(fā)送定時(shí)器是否超時(shí)以及激進(jìn)發(fā)送步驟中鏈路層隊(duì)列是否為空。保留TCP其它功能不變。

上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受上述實(shí)施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、替代、組合、簡(jiǎn)化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大田县| 南陵县| 保德县| 临清市| 云龙县| 综艺| 建水县| 峡江县| 牟定县| 项城市| 元氏县| 德钦县| 收藏| 河间市| 辽阳县| 通江县| 博野县| 信阳市| 施甸县| 家居| 安西县| 弋阳县| 锡林郭勒盟| 抚州市| 东乌| 鄄城县| 高碑店市| 和田市| 清丰县| 雅江县| 寻甸| 大新县| 云南省| 辽宁省| 隆回县| 宝山区| 绥宁县| 航空| 浠水县| 满洲里市| 蒙阴县|