專利名稱:移動自組織網(wǎng)中發(fā)送數(shù)據(jù)的方法及利用該方法的網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于在移動自組織網(wǎng)絡(luò)(mobile ad hoc network)中發(fā)送數(shù)據(jù)的方法以及利用該方法的網(wǎng)絡(luò)設(shè)備,尤其涉及一種其中當(dāng)重復(fù)ACK包被接收時(shí)通過調(diào)整擁塞窗口大小以調(diào)整被發(fā)送數(shù)據(jù)的數(shù)量的在自組織網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)的方法,以及利用該方法的網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
傳輸控制協(xié)議(TCP)是用作在以IP(互聯(lián)網(wǎng)協(xié)議)一起連接到網(wǎng)絡(luò)的節(jié)點(diǎn)間的數(shù)據(jù)傳輸?shù)膮f(xié)議。TCP的一個(gè)主要功能是在網(wǎng)絡(luò)上以安全的方式傳輸數(shù)據(jù)。為此,TCP采用擁塞控制機(jī)制。在TCP擁塞控制機(jī)制中,發(fā)生在數(shù)據(jù)傳輸期間的擁塞被從數(shù)據(jù)包丟失中檢測到以在發(fā)送方直接控制數(shù)據(jù)吞吐量并重傳丟失的數(shù)據(jù)包。
圖1示出根據(jù)傳統(tǒng)的慢啟動/擁塞避免算法的吞吐量的變化。
當(dāng)發(fā)送網(wǎng)絡(luò)設(shè)備的TCP初始化數(shù)據(jù)包傳輸時(shí),擁塞窗口(簡稱為“CWND”)大小被初始化為一個(gè)TCP段。每從接收網(wǎng)絡(luò)設(shè)備接收到確認(rèn)(ACK)包,TCP段被增加一(1)。因此,如圖1中標(biāo)記110,CWND大小呈指數(shù)增加,這被稱為慢啟動算法。
然而,如果沒有接收到已發(fā)送數(shù)據(jù)包的ACK包,則TCP等待重傳超時(shí),如標(biāo)記170。如果直到出現(xiàn)重傳超時(shí)170也沒有接收到ACK包,則TCP認(rèn)為網(wǎng)絡(luò)中發(fā)生擁塞。在這種情況下,TCP設(shè)置慢啟動閾值(SSTHRESH)為值SSTHRESH1,如標(biāo)記150,該值為在重傳超時(shí)前立即被設(shè)置的CWND大小的一半。另外,TCP設(shè)置CWND大小為一(1)個(gè)TCP段并隨即利用慢啟動算法發(fā)送在丟失的數(shù)據(jù)包之后被發(fā)送的數(shù)據(jù)包,如標(biāo)記120。
如果在利用慢啟動算法的傳輸期間,CWND大小到達(dá)SSTHRESH1150,則TCP利用擁塞避免算法執(zhí)行傳輸,如標(biāo)記130,其中,考慮到網(wǎng)絡(luò)擁塞,CWND呈線形增加。此后,如果沒有ACK包被再次接收并且出現(xiàn)重傳超時(shí),如標(biāo)記180,則TCP設(shè)置慢啟動閾值(SSTHRESH)為值SSTHRESH2,如標(biāo)記160,該值為在重傳超時(shí)發(fā)生前被立即設(shè)置的CWND大小的一半,設(shè)置CWND大小為1TCP段,并且慢啟動算法,如標(biāo)記140,被再次啟動。
在慢啟動/擁塞避免算法中,重傳定時(shí)器被用于檢查重傳超時(shí)。從而,當(dāng)當(dāng)前正被發(fā)送的數(shù)據(jù)包丟失時(shí),TCP在重傳丟失的數(shù)據(jù)包之前必須等待重傳超時(shí),這導(dǎo)致了網(wǎng)絡(luò)資源的浪費(fèi)。
為了陳述這個(gè)問題,提出了快速重傳/快速恢復(fù)算法。在慢啟動/擁塞避免算法中,數(shù)據(jù)包丟失的原因被確定為僅是發(fā)生重傳超時(shí)的結(jié)果。然而,在快速重傳算法中,當(dāng)重傳超時(shí)發(fā)生或即使在重傳超時(shí)發(fā)生之前收到特定數(shù)目的重復(fù)ACK包時(shí),即確定存在數(shù)據(jù)包丟失。
當(dāng)由發(fā)送網(wǎng)絡(luò)設(shè)備發(fā)送的數(shù)據(jù)包序列與由接收網(wǎng)絡(luò)設(shè)備接收的數(shù)據(jù)包序列不同時(shí),由接收網(wǎng)絡(luò)設(shè)備的TCP產(chǎn)生重復(fù)ACK包。該數(shù)據(jù)包序列可由數(shù)據(jù)包頭中設(shè)置的序列號來校驗(yàn)。
圖2是示出根據(jù)利用快速重傳/快速恢復(fù)算法的傳統(tǒng)擁塞控制算法的吞吐量的變化示圖。
如果在重傳超時(shí)發(fā)生之前接收到的相同重復(fù)ACK包的數(shù)目大于或等于預(yù)定的數(shù)目,則基于快速重傳算法的TCP認(rèn)為數(shù)據(jù)包被丟失并且利用快速重傳算法重傳被認(rèn)為丟失的數(shù)據(jù)包,標(biāo)記210。當(dāng)應(yīng)用快速重傳算法時(shí),當(dāng)接收到預(yù)定數(shù)目的重復(fù)ACK包時(shí),CWND大小被設(shè)置為值(CWND1/2)+3,如標(biāo)記240,該值比CWND大小,即CWND1,如標(biāo)記230,的一半大3。
對于快速重傳的接收到的重復(fù)ACK包的數(shù)目典型地為3。這樣做的理由解釋如下在一個(gè)或兩個(gè)重復(fù)ACK包被接收到的情況下,可確定為這一個(gè)或兩個(gè)重復(fù)ACK包的接收是由于由網(wǎng)絡(luò)中不同延時(shí)產(chǎn)生的接收端的數(shù)據(jù)包接收序列與發(fā)送端的數(shù)據(jù)包發(fā)送序列之間的不同引起,而不是由于數(shù)據(jù)包丟失引起。
當(dāng)執(zhí)行快速恢復(fù)算法220時(shí),丟失的數(shù)據(jù)包被重傳并且無需經(jīng)過慢啟動處理而直接進(jìn)入擁塞避免處理。為此,當(dāng)接收到預(yù)定數(shù)目的重復(fù)ACK包時(shí),SSTHRESH值和CWND大小被設(shè)置為值CWND1/2,如標(biāo)記250,該值為CWND大小,即CWND1,如標(biāo)記230,的一半。
TCP算法是針對其中路由器具有相當(dāng)長的隊(duì)列并且鏈路層有較少誤差的有線網(wǎng)絡(luò)提出的。然而,移動自組織網(wǎng)絡(luò)相較于有線網(wǎng)絡(luò)在鏈路層具有相當(dāng)慢的數(shù)據(jù)傳輸速率以及非常短的隊(duì)列。因此,在移動自組織網(wǎng)絡(luò)中發(fā)生數(shù)據(jù)包丟失的情況下,如果CWND大小銳降,則網(wǎng)絡(luò)資源的不必要消耗不可避免。
例如,當(dāng)實(shí)施快速恢復(fù)算法時(shí),當(dāng)接收到3個(gè)重復(fù)ACK包時(shí),重置的CWND值大約為CWND值的一半。然而,重復(fù)ACK包可被不斷接收,其意味著即使一個(gè)或兩個(gè)數(shù)據(jù)包丟失,其它的數(shù)據(jù)包也不斷被發(fā)送。也就是說,即使當(dāng)前的CWND大小被保持,傳輸仍在最大允許帶寬內(nèi)被執(zhí)行。因此,將CWND大小減至當(dāng)接收到3個(gè)重復(fù)ACK包時(shí)被設(shè)置的CWND大小的一半,可導(dǎo)致最大允許帶寬的浪費(fèi)。因此,不斷需要網(wǎng)絡(luò)資源有效利用的改進(jìn)的數(shù)據(jù)傳輸方法。
發(fā)明內(nèi)容
本發(fā)明提供一種改進(jìn)的數(shù)據(jù)傳輸方法,其中,在數(shù)據(jù)包丟失被從接收到的重復(fù)ACK包來確定的情況下,可以通過將重傳丟失的數(shù)據(jù)包之后被設(shè)置的CWND大小調(diào)整為當(dāng)該丟失的數(shù)據(jù)包被第一次發(fā)送時(shí)設(shè)置的CWND大小來增加數(shù)據(jù)傳輸吞吐量。
參照下面的描述、附圖和所附權(quán)利要求,本領(lǐng)域的技術(shù)人員會更加清楚本發(fā)明的上述及其它目的、特征和優(yōu)點(diǎn)。
根據(jù)本發(fā)明的一方面,提供一種用于發(fā)送數(shù)據(jù)的方法,包括在數(shù)據(jù)包傳輸期間,將被發(fā)送的數(shù)據(jù)包的序列號映射為擁塞窗口大小,確定在被發(fā)送的數(shù)據(jù)包中是否有丟失的數(shù)據(jù)包,以及如果確定有丟失的數(shù)據(jù)包,則重傳該丟失的數(shù)據(jù)包并且將擁塞窗口大小調(diào)整為被映射到該丟失的數(shù)據(jù)包的序列號的擁塞窗口大小。
根據(jù)本發(fā)明的另一方面,提供一種網(wǎng)絡(luò)設(shè)備,包括映射單元,用于在數(shù)據(jù)包傳輸期間,將被發(fā)送的數(shù)據(jù)包的序列號映射為擁塞窗口大??;控制器,如果確定有丟失的數(shù)據(jù)包,則重傳該丟失的數(shù)據(jù)包并且將擁塞窗口大小調(diào)整為被映射到該丟失的數(shù)據(jù)包的序列號的擁塞窗口大?。灰约笆瞻l(fā)器,用于發(fā)送數(shù)據(jù)包并接收與該數(shù)據(jù)包相應(yīng)的確認(rèn)(ACK)包。
通過下面結(jié)合附圖進(jìn)行的對示例性實(shí)施例的詳細(xì)描述,本發(fā)明的上述和/或其它方面將會變得更加清楚,其中圖1是示出根據(jù)傳統(tǒng)的慢啟動/擁塞避免算法的吞吐量的變化的示圖;
圖2是示出根據(jù)利用快速重傳和快速恢復(fù)算法的傳統(tǒng)擁塞控制算法的吞吐量的變化的示圖;圖3是示出根據(jù)本發(fā)明的示例性實(shí)施例,用于在移動自組織網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)的方法的流程圖;圖4示出數(shù)據(jù)包的發(fā)送以及ACK包的接收;圖5是示出根據(jù)本發(fā)明的示例性實(shí)施例的吞吐量的變化的示圖;圖6是根據(jù)本發(fā)明的示例性實(shí)施例的網(wǎng)絡(luò)設(shè)備的方框圖;以及圖7是示出在根據(jù)本發(fā)明的示例性實(shí)施例的數(shù)據(jù)傳輸方法和傳統(tǒng)數(shù)據(jù)傳輸方法中吞吐量的仿真結(jié)果的曲線圖。
具體實(shí)施例方式
參照示例性實(shí)施例的詳細(xì)描述以及附圖,本發(fā)明的多方面和實(shí)現(xiàn)其的方法將更易于理解。然而,本發(fā)明可以多種不同的形式實(shí)施,并不應(yīng)被解釋為受限于其中闡述的示例性實(shí)施例。而是,提供這些示例性實(shí)施例以便公開是徹底和完全的,并能夠向本領(lǐng)域技術(shù)人員充分傳達(dá)本發(fā)明的思想,并且本發(fā)明僅由所附的權(quán)利要求限定。說明書中,相同的標(biāo)號始終表示相同的部件。
參照附圖,更充分地描述本發(fā)明,其中示出本發(fā)明的示例性實(shí)施例。
圖3是示出根據(jù)本發(fā)明的示例性實(shí)施例,在移動自組織網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)的方法的流程圖。
在操作S110,想要發(fā)送數(shù)據(jù)的網(wǎng)絡(luò)設(shè)備將數(shù)據(jù)包的序列號映射為當(dāng)前的CWND大小。
然后,在操作S120,該網(wǎng)絡(luò)設(shè)備發(fā)送各個(gè)數(shù)據(jù)包。
為了控制數(shù)據(jù)包的傳輸,TCP使用被稱為是“窗口”的概念。如果將被發(fā)送的數(shù)據(jù)包被存儲在緩沖器中,則窗口大小內(nèi)的數(shù)據(jù)包被同時(shí)發(fā)送。通過改變擁塞窗口大小可調(diào)整窗口的大小??墒褂没瑒哟翱诜椒?。在滑動窗口方法中,每當(dāng)接收到ACK包時(shí),窗口沿包的序列滑動。
如上所述,數(shù)據(jù)包的傳輸以窗口內(nèi)的數(shù)據(jù)包為單位進(jìn)行。因此,在接收ACK包之前,窗口內(nèi)所有的數(shù)據(jù)包可被不斷發(fā)送。
在由網(wǎng)絡(luò)設(shè)備發(fā)送的數(shù)據(jù)包安全到達(dá)目的地的情況下,該網(wǎng)絡(luò)設(shè)備可接收到發(fā)送的數(shù)據(jù)包的ACK包。然而,如果該網(wǎng)絡(luò)設(shè)備處于擁塞狀態(tài)下,則在接收ACK包之前,網(wǎng)絡(luò)設(shè)備可發(fā)生傳輸超時(shí)。從而,在操作S130,網(wǎng)絡(luò)設(shè)備確定重傳超時(shí)是否發(fā)生。如果重傳超時(shí)發(fā)生,則在操作S195,可利用傳統(tǒng)的慢啟動/擁塞避免算法來調(diào)整數(shù)據(jù)傳輸?shù)耐掏铝俊?br>
然而,如果在重傳超時(shí)發(fā)生前接收到ACK包,則在操作S140,網(wǎng)絡(luò)設(shè)備確定接收到的ACK包是否是重復(fù)ACK包。
如果接收到的ACK包不是重復(fù)ACK包,則在操作S190,可以與傳統(tǒng)方法同樣的方式增加CWND大小。例如,當(dāng)實(shí)施慢啟動算法來調(diào)整當(dāng)前的CWND大小時(shí),CWND大小呈指數(shù)增加。當(dāng)目前運(yùn)行擁塞避免算法時(shí),CWND大小呈線性增加。
在操作S180,確定在增加CWND大小之后是否還有要被發(fā)送的數(shù)據(jù)包。如果由更多將被發(fā)送的數(shù)據(jù)包,則窗口移動以發(fā)送接下來的數(shù)據(jù)包。在這種情況下,當(dāng)將被接下來發(fā)送的數(shù)據(jù)包的序列號映射為當(dāng)前的CWND大小時(shí),網(wǎng)絡(luò)設(shè)備可重復(fù)操作S110和下面的操作,同時(shí),將被接下來發(fā)送的數(shù)據(jù)包的序列號映射成當(dāng)前的CWND大小(在操作S190增加的CWND大小)。
同時(shí),在操作S140,如果接收到的ACK包被確定為重復(fù)ACK包,則在操作S150,網(wǎng)絡(luò)設(shè)備確定接收到的相同的重復(fù)ACK包的數(shù)目是否大于或等于閾值數(shù)目。與現(xiàn)有技術(shù)中的快速重傳算法一致,為了確定是否有數(shù)據(jù)包丟失,相同的重復(fù)ACK包被接收3次。這樣,操作S150中的閾值數(shù)目優(yōu)選為三(3)。
如果接收到的重復(fù)ACK包的數(shù)目小于閾值數(shù)目,則重復(fù)ACK包的發(fā)生被確定為由網(wǎng)絡(luò)中的不同延時(shí)產(chǎn)生的接收端的數(shù)據(jù)包接收序列與發(fā)送端的數(shù)據(jù)包發(fā)送序列的不同引起的,而不是由于數(shù)據(jù)包丟失引起。在這種情況下,網(wǎng)絡(luò)設(shè)備確定無數(shù)據(jù)包丟失。從而,CWND大小以與無重復(fù)ACK包被接收到的情況相同的情況下在步驟S190被增加。
另一方面,如果重復(fù)ACK包的數(shù)目大于或等于閾值數(shù)目,則重復(fù)ACK包的發(fā)生可被確定為由數(shù)據(jù)包丟失引起。在這種情況下,在操作S160,網(wǎng)絡(luò)設(shè)備重傳從重復(fù)ACK包估計(jì)到的丟失的數(shù)據(jù)包。
當(dāng)重傳數(shù)據(jù)包時(shí),在操作S170,網(wǎng)絡(luò)設(shè)備可將CWND大小重置為映射到丟失的數(shù)據(jù)包的序列號的CWND大小。
此后,在操作S180,確定是否有更多將被發(fā)送的數(shù)據(jù)包。如果有,則窗口移動以發(fā)送接下來的數(shù)據(jù)包??芍貜?fù)執(zhí)行跟在操作S110之后的操作。
如上所述,數(shù)據(jù)包丟失從重復(fù)ACK包被檢測到以隨后重傳該丟失的數(shù)據(jù)包并且在操作S170重置CWND大小。此后,在發(fā)送剩余的數(shù)據(jù)包時(shí),網(wǎng)絡(luò)設(shè)備可以與使用擁塞避免算法的情況下相同的方式來線性地增加CWND大小。為此,當(dāng)在操作S170CWND大小被重置時(shí),SSTHRESH值可被設(shè)置為不小于重置的CWND大小的級別。
圖4示出數(shù)據(jù)包的發(fā)送和ACK包的接收。
如圖4所示,當(dāng)發(fā)送網(wǎng)絡(luò)設(shè)備310發(fā)送數(shù)據(jù)包時(shí),接收網(wǎng)絡(luò)設(shè)備320發(fā)送對于從發(fā)送網(wǎng)絡(luò)設(shè)備310發(fā)送的數(shù)據(jù)包的ACK包。根據(jù)本發(fā)明的示例性實(shí)施例,每當(dāng)每一數(shù)據(jù)包被發(fā)送時(shí),發(fā)送網(wǎng)絡(luò)設(shè)備310將數(shù)據(jù)包的序列號映射為當(dāng)發(fā)送數(shù)據(jù)包時(shí)設(shè)置的CWND大小。
在示出的示例性實(shí)施例中,包6和包7被正常地發(fā)送至接收網(wǎng)絡(luò)設(shè)備320。因此,接收網(wǎng)絡(luò)設(shè)備320分別發(fā)送包6和包7的ACK包321和322。每當(dāng)從接收網(wǎng)絡(luò)設(shè)備320接收到每一ACK包時(shí),發(fā)送網(wǎng)絡(luò)設(shè)備310可增加CWND大小。
同時(shí),如果在發(fā)送的數(shù)據(jù)包中的包8丟失,如圖4所示,則未接收到包8的接收網(wǎng)絡(luò)設(shè)備320不發(fā)送包8的ACK包。在這種情況下,即使包9-11隨后被接收到,接收網(wǎng)絡(luò)設(shè)備320也復(fù)制包7的ACK包以隨后將該包7的ACK包發(fā)送至發(fā)送網(wǎng)絡(luò)設(shè)備310,如標(biāo)記323至325。如果在操作S150中閾值數(shù)目被設(shè)為3,則當(dāng)接收到包7的第三個(gè)重復(fù)ACK包325時(shí),如標(biāo)記311,發(fā)送網(wǎng)絡(luò)設(shè)備310確定包8丟失。
如果包8被確定為丟失的包,則發(fā)送網(wǎng)絡(luò)設(shè)備310重傳包8并將CWND大小重置為與被映射為包8序列號的CWND大小相同的CWND大小。
圖5是示出根據(jù)本發(fā)明的數(shù)據(jù)傳輸?shù)耐掏铝孔兓緢D。
每當(dāng)每一數(shù)據(jù)包被發(fā)送時(shí),發(fā)送網(wǎng)絡(luò)設(shè)備將數(shù)據(jù)包的序列號映射為當(dāng)發(fā)送該數(shù)據(jù)包時(shí)設(shè)置的CWND大小。在接收到發(fā)送數(shù)據(jù)包的ACK包時(shí),發(fā)送網(wǎng)絡(luò)設(shè)備可增加CWND大小。
如果圖4中所示的數(shù)據(jù)包8在時(shí)間t1被發(fā)送,并且包7的第三個(gè)重復(fù)ACK包在時(shí)間t2被接收,如標(biāo)記311,則發(fā)送網(wǎng)絡(luò)裝置可在時(shí)間t2確定包8丟失。由于包8丟失,發(fā)送網(wǎng)絡(luò)設(shè)備重傳包8。另外,發(fā)送網(wǎng)絡(luò)設(shè)備可將CWND大小設(shè)置為在發(fā)送包8時(shí)映射為包8的序列號相同的410標(biāo)記的CWND大小。
其后,每當(dāng)每一ACK包被接收時(shí),CWND大小可被再次增加。為了線性地增加CWND大小,SSTHRESH值可被設(shè)置為映射為包8的序列號的CWND大小410。另外,SSTHRESH值被設(shè)置為小于被映射為包8的序列號的CWND大小410的值。因此,每當(dāng)接收到每一ACK時(shí),在時(shí)間t2之后設(shè)置的CWND大小呈線性增加。
圖6是根據(jù)本發(fā)明的網(wǎng)絡(luò)設(shè)備500的方框圖。
參照圖6,網(wǎng)絡(luò)設(shè)備500包括收發(fā)器510、控制器530、以及映射單元520。收發(fā)器510發(fā)送數(shù)據(jù)包并且接收被發(fā)送數(shù)據(jù)包的ACK包??刂破?30確定是否有丟失的數(shù)據(jù)包,重傳該丟失的數(shù)據(jù)包并且相應(yīng)地調(diào)整CWND大小。映射單元520將數(shù)據(jù)包的序列號映射為當(dāng)發(fā)送給數(shù)據(jù)包時(shí)被設(shè)置的相應(yīng)的CWND大小。
更詳細(xì)地,除了將數(shù)據(jù)包發(fā)送至目的地并接收發(fā)送的數(shù)據(jù)包的ACK包,收發(fā)器510可具有接收從另一網(wǎng)絡(luò)設(shè)備發(fā)送的數(shù)據(jù)包的功能。收發(fā)器510能夠在無線網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)數(shù)據(jù)發(fā)送和接收并且可根據(jù)每一網(wǎng)絡(luò)配置的相應(yīng)的無線網(wǎng)絡(luò)標(biāo)準(zhǔn)被配置為可工作在IEEE 802.11、藍(lán)牙、或IEEE 1394網(wǎng)絡(luò)中。
每當(dāng)數(shù)據(jù)包被發(fā)送時(shí),映射單元520將每一數(shù)據(jù)包的序列號映射為當(dāng)發(fā)送該數(shù)據(jù)包時(shí)被設(shè)置的相應(yīng)的CWND大小。
控制器530確定發(fā)送的數(shù)據(jù)是否丟失。實(shí)行此確定以便每當(dāng)每一數(shù)據(jù)包被發(fā)送時(shí),重傳定時(shí)器被起動,并且當(dāng)直到定時(shí)器期滿數(shù)據(jù)包的ACK包未被接收到時(shí)相應(yīng)的數(shù)據(jù)包被確定為丟失的數(shù)據(jù)包。
另外,即使重傳定時(shí)器未期滿,可從接收到的相同的重復(fù)ACK包數(shù)目檢測出數(shù)據(jù)包丟失。即,如果相同的重復(fù)ACK包被接收到預(yù)定的閾值數(shù)目次,則控制器530從接收到的重復(fù)ACK包確定數(shù)據(jù)包丟失。這里,預(yù)定的閾值數(shù)目優(yōu)選為3。
同時(shí),如果發(fā)送的數(shù)據(jù)包被確定為丟失的數(shù)據(jù)包,則控制器530減小CWND大小以使被發(fā)送的數(shù)據(jù)數(shù)量不超過當(dāng)前的無線網(wǎng)絡(luò)中的最大允許帶寬。
在這種情況下,如果數(shù)據(jù)包丟失確定基于重傳定時(shí)器的期滿,則控制器530可使用傳統(tǒng)的慢啟動/擁塞避免算法來調(diào)整CWND大小。即,在未接收到ACK包,重傳定時(shí)器期滿,或重傳超時(shí)發(fā)生的狀態(tài)下,CWND大小可被設(shè)置為1TCP段。
然而,如果數(shù)據(jù)包丟失的確定基于相同的重復(fù)ACK包接收了預(yù)定的閾值數(shù)目次,則控制器530重傳被認(rèn)為丟失的數(shù)據(jù)包并且將CWND大小減小為被映射到該丟失數(shù)據(jù)包的序列號的CWND大小。
此后,當(dāng)基于減小的CWND大小發(fā)送數(shù)據(jù)包時(shí),CWND大小可被逐漸增加。這里,為了線性增加CWND大小,控制器530可將SSTHRESH值設(shè)置為被映射為丟失數(shù)據(jù)包的序列號的CWND大小。另外,SSTHRESH可被設(shè)置為小于被映射為丟失數(shù)據(jù)包的序列號的CWND大小的值。
多個(gè)重復(fù)ACK包被不斷接收到的事實(shí)意味著在丟失的數(shù)據(jù)包之后發(fā)送的數(shù)據(jù)包被正常地發(fā)送至接收網(wǎng)絡(luò)設(shè)備,表明當(dāng)前的數(shù)據(jù)傳輸量沒有超過最大允許帶寬。因此,通過將新的CWND大小調(diào)整為相應(yīng)的丟失數(shù)據(jù)包的CWND大小以減少網(wǎng)絡(luò)資源的浪費(fèi)。
圖7是示出在根據(jù)本發(fā)明的示例性實(shí)施例的數(shù)據(jù)傳輸方法中和傳統(tǒng)傳輸方法中吞吐量的仿真結(jié)果的曲線圖。
在圖7中,x軸表示用于發(fā)送和接收數(shù)據(jù)的移動裝置的移動速度,y軸表示吞吐量。
為了比較本發(fā)明的網(wǎng)絡(luò)性能參數(shù),利用網(wǎng)絡(luò)仿真器版本2(NS2)進(jìn)行TCP Reno版本、TCP Vegas版本和TCP SACK版本的仿真。
如圖7中所示的仿真結(jié)果顯示出本發(fā)明大大提高了TCP數(shù)據(jù)率吞吐量。即,根據(jù)本發(fā)明的數(shù)據(jù)傳輸方法的吞吐量大約好于TCP Reno版本11%并好于TCP SACK版本大約5%。
根據(jù)本發(fā)明的發(fā)送數(shù)據(jù)的方法以及使用該方法的設(shè)備,無線自組織網(wǎng)絡(luò)的吞吐量得到增加。
結(jié)束詳細(xì)描述,本領(lǐng)域技術(shù)人員將理解在基本上不脫離本發(fā)明的原理的情況下,可對示例性實(shí)施例進(jìn)行多種變化和修改。因此,本發(fā)明的公開的示例性實(shí)施例只具有一般的和描述性的意義,不具限制目的。
權(quán)利要求
1.一種用于發(fā)送數(shù)據(jù)的方法,包括在數(shù)據(jù)包傳輸期間,將待被發(fā)送的數(shù)據(jù)包的序列號映射為擁塞窗口大小;確定在發(fā)送的數(shù)據(jù)包中是否有丟失的數(shù)據(jù)包;以及如果有丟失的數(shù)據(jù)包,則重傳該丟失的數(shù)據(jù)包并且將擁塞窗口大小調(diào)整為被映射為該丟失的數(shù)據(jù)包的序列號的擁塞窗口大小。
2.如權(quán)利要求1所述的方法,其中,確定步驟包括確定接收到的重復(fù)ACK包的數(shù)目是否大于或等于預(yù)定的閾值數(shù)目。
3.如權(quán)利要求2所述的方法,還包括將慢啟動閾值設(shè)置為等于被映射為丟失的數(shù)據(jù)包的序列號的擁塞窗口大小。
4.一種網(wǎng)絡(luò)設(shè)備,包括映射單元,用于在數(shù)據(jù)包傳輸期間,將待被發(fā)送的數(shù)據(jù)包的序列號映射為擁塞窗口大?。豢刂破?,如果確定有丟失的數(shù)據(jù)包,則其重傳該丟失的數(shù)據(jù)包并且將擁塞窗口大小調(diào)整為被映射為該丟失的數(shù)據(jù)包的序列號的擁塞窗口大小;以及收發(fā)器,用于發(fā)送數(shù)據(jù)包并接收與該數(shù)據(jù)包相應(yīng)的確認(rèn)(ACK)包。
5.如權(quán)利要求4所述的網(wǎng)絡(luò)設(shè)備,其中,如果接收到的重復(fù)ACK包的數(shù)目大于或等于預(yù)定的閾值數(shù)目,則控制器確定有丟失的數(shù)據(jù)包。
6.如權(quán)利要求5所述的網(wǎng)絡(luò)設(shè)備,其中,控制器將慢啟動閾值設(shè)置為等于被映射為丟失的數(shù)據(jù)包的序列號的擁塞窗口大小。
全文摘要
提供一種其中當(dāng)重復(fù)ACK包被接收時(shí)通過調(diào)整擁塞窗口大小來調(diào)整被發(fā)送數(shù)據(jù)的數(shù)量的在自組織網(wǎng)絡(luò)中發(fā)送數(shù)據(jù)的方法,以及利用該方法的網(wǎng)絡(luò)設(shè)備。該方法包括在數(shù)據(jù)包的傳輸期間,將待被發(fā)送的數(shù)據(jù)包的序列號映射為擁塞窗口大小,確定是否有丟失的數(shù)據(jù)包,以及如果有丟失的數(shù)據(jù)包,則重傳該丟失的數(shù)據(jù)包并且將擁塞窗口大小調(diào)整為被映射為該丟失的數(shù)據(jù)包的序列號的擁塞窗口大小。因此,在無線自組織網(wǎng)絡(luò)中的數(shù)據(jù)率吞吐量被增加。
文檔編號H04L12/26GK1700629SQ20051007089
公開日2005年11月23日 申請日期2005年5月20日 優(yōu)先權(quán)日2004年5月21日
發(fā)明者辛鎮(zhèn)炫 申請人:三星電子株式會社