基於浮點窗口增量因子的自適應包長方法
2023-04-23 00:32:36
專利名稱::基於浮點窗口增量因子的自適應包長方法
技術領域:
:本發明涉及一種無線傳輸
技術領域:
的方法,具體是一種基於浮點窗口增量因子的自適應包長方法。技術背景無線自組織網絡飛速發展,以WLAN(無線區域網)、無線傳感器網絡等形式廣泛應用於生產生活實踐。但在無線自組織網絡的自身特性(比如隱藏終端、暴露終端、信道誤碼、拓撲變化等)的限制下,無線自組織網絡的吞吐量、時延性能與有線網絡相比有很大差距,尚不能滿足人們對於大量數據傳輸的需求。對於提高傳輸層控制協議在無線網絡中的性能,一部分是基於使傳輸層控制協議能夠識別丟包的原因從而做出不同的響應;而另一部分則根據傳輸層控制協議的統計特性來調整協議,從而獲得更佳的性能。經對現有技術文獻的檢索發現,ZhenghuaFu等在2005年3月的《MobileComputing,IEEEtransactionson》(《電子電器工程師協會無線計算機技術期刊》)第四巻第2期209-211頁上發表的"Theimpactofmultih叩wirelesschannelonTCPperformance"("多跳無線信道對TCP性能的影響")指出在802.11無線網絡中,限定最大擁塞窗口至1或2,將使其性能大大提高。KitaeNahm等利用了這個研究成果,在2005年5月的proceedingsofACMMobiHoc》(《無線多跳算法會議》)上發表了"TCPovermultihop802.11networks:issuesandperformanceenhancement"(802.11多跳網絡中的TCP:問題與性能增強)。文中提出了一種浮點窗口方法(FeW),它通過改變每一週遊時間的窗口的增量因子ra(EKa《i》,來減小平均窗口大小,FeW具有最高的吞吐量表現。但浮點窗口方法的不足之處在於未充分利用其方法,浪費了預測信道的容量,究其原因,是因為它沒有捨棄傳統傳輸層控制協議的窗口利用方案,從而導致浪費大量的傳輸帶寬。
發明內容本發明針對上述現有技術的不足,提出了一種傳輸層控制協議(TCP)中基於浮點窗口增量因子的自適應包長方法,使其進一步提高傳輸吞吐量,同時實現向後兼容,提高了技術的適用範圍。本發明是通過以下技術方案實現的,本發明包括如下具體步驟步驟一,當發送端正常收到來自接收端的一個確認分組(ACK)時,發送端根據浮點窗口更新方法更新窗口,然後由更新後的窗口大小計算下一個包使用的分組長度,傳輸層發送端使用計算後的分組長度傳送後續分組,直到再次收到一個確認分組,重複步驟一;所述根據浮點窗口更新方法更新窗口,具體為*OtcwicLeurrent其中cwnd,"為更新後的擁塞窗口大小,cwnd—,一為當前擁塞窗口,a為浮點窗口增量因子,在傳統TCP中a為l。所述計算下一個包使用的分組長度,具體為下一個包使用的分組長度7-.Iew打d—xM^ie&etsfzeIpacketsize—,,汰gtSI21=-^-^-其中initPacketsize—為傳輸層控制協議初始分組長度,cwnd—為當前擁塞窗口大小。步驟二,當發送端計時器超時,傳輸層控制協議進入慢啟動狀態,擁塞窗口重置為1,當前分組長度重置為初始分組長度initPacketsize一,發送端對緩衝中的數據按照當前分組長度重新打包,進行重傳;所述重新打包,具體為取出發送緩衝中的所有包,按照順序去除包的TCP協議頭部,將數據部分重新合併,並且將TCP當前序列號(sequencenumber)置為超時包首字節的序列號,然後按照當前分組長度,重新打包數據。由於是超時引起的重傳,超時的包首字節對應TCP(傳輸控制協議)序列號的後續字節都要進行重傳,因此重新打包不用考慮字節的順序問題。步驟三,當發送端收到3個重複的確認分組,傳輸層控制協議進入快速啟動狀態時,發送端只重傳丟失的包,重傳成功後再按照步驟一計算下一個包使用的分組長度,傳輸層發送端使用計算後的分組長度傳送後續分組。所述重傳丟失的包,具體為發送端鎖定擁塞窗口,忽略當前分組長度,重傳丟失的包,並且等待確認分組,若確認分組正確到達,根據TCP的快速啟動定義將當前擁塞窗口減半,然後按照步驟一計算當前分組長度,繼續傳輸,若確認分組未到達,計時器超時,則進入步驟二。與現有技術相比,本發明具有如下有益效果本發明是基於發送端的TCP方法,因此無需對接收端的傳輸層控制協議做任何修改,接收端只需按照慣例,讀取傳輸層分組頭部的信息(包長等),接收整個分組正文,並且發送確認分組即可;本發明同時也改善了傳輸性能,在鏈狀拓撲下可提高吞吐量達25%,在網格及隨即移動拓撲下平均提高吞吐量15%。圖1是本發明的實施例仿真場景的拓撲結構圖;圖2是本發明的實施例中鏈路拓撲下單條TCP流,本發明方法與浮點窗口方法的吞吐量對比圖;圖3是本發明的實施例中7x7柵格拓撲下,本發明方法與浮點窗口方法的吞吐量對比圖;圖4是發明的實施例中13x5柵格拓撲下,本發明方法與浮點窗口方法的吞吐量對比圖;圖5是本發明實施例中隨機移動拓撲結構下,本發明方法與浮點窗口方法的吞吐量對比圖。具體實施方式下面結合附圖對本發明的實施例作詳細說明本實施例在以本發明技術方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護範圍不限於下述的實施例。本實施例的仿真環境參數設置如下使用802.ll作為MAC層協議,信道帶寬為2Mbps,發送距離為250m,幹擾距離為500m,相鄰節點之間的距離為200m,初始分組長度為1024位元組,圖1為本實施例仿真場景中的鏈狀與柵格狀拓撲結構圖,圖(a)為4到22跳的鏈狀拓撲結構圖,圖(b)為X+Y柵格裝拓撲結構圖。步驟一,當發送端正常收到來自接收端的一個確認分組(ACK)時,發送端根據浮點窗口方法的窗口更新策略更新窗口其中cwnd—""為更新後的擁塞窗口大小,cwnd,,t為當前擁塞窗口,a為浮點窗口增量因子,傳統TCP中的a為l。然後由更新後的窗口大小計算下一個包使用的分組長度,傳輸層發送端使用計算後的分組長度傳送後續分組,直到再次收到一個確認分組,重複步驟一。所述計算下一個包使用的分組長度,具體為下一個包使用的分組長度packetsize—:1cwndxfii"Pa.eite.tsiz"eIticwncf」J其中initPacketsize—為傳輸層控制協議初始分組長度,cwncL為當前擁塞窗口大小。為了便於實現,此處packetsize—取整數部分,由於捨棄的部分僅為幾個比特,可以忽略不計,因此本實施例方法充分使用了預測的信道容量,從而提高了吞吐量。步驟二,當發送端計時器超時,傳輸層控制協議進入慢啟動狀態,擁塞窗口cwnd—重置為l,當前分組長度重置為初始分組大小initPacketsize—,艮P:packetsize_=initPacketsize—發送端對緩衝中的數據按照當前分組長度重新打包,進行重傳;所述重新打包,具體為取出發送緩衝中的所有包,按照順序去除包的TCP協議頭部,將數據部分重新合併,並且將TCP當前序列號置為超時包首字節的序列號,然後按照上述的當前分組長度,重新打包數據,由於是超時引起的重傳,超時的包首字節對應TCP序列號的後續字節都要進行重傳,重新打包不用考慮字節的順序問題。步驟三,當發送端收到3個重複的確認分組,傳輸層控制協議進入快速啟動狀態時,發送端只重傳丟失的包,重傳成功後再按照步驟一中計算下一個包使用的分組長度方法更新當前分組長度。步驟三與步驟二區別於之處在於步驟二中的超時重傳被TCP解釋為連接斷裂,重建連接後需要重傳丟失包和其後續的所有數據;而步驟三中3個重複的確認分組被TCP解釋為丟失包由於誤碼而未正確傳輸,因此僅需要重傳丟失包,如果仍然按照步驟二實施,將浪費帶寬,傳輸不必要的數據。所述重傳丟失的包,具體為發送端鎖定擁塞窗口cwncL,忽略當前分組長度packetsize」重傳丟失的包,並且等待確認分組,若確認分組正確到達,根據TCP的快速啟動定義將當前擁塞窗口減半,艮P:cwnd_=cwnd_/2然後按照步驟一計算當前分組長度,繼續傳輸,若確認分組未到達,計時器超時,則進入步驟二。如圖2所示,為鏈路下單條TCP流吞吐量比較(a=0.01),自適應包長方法除了在16跳時性能比FeW有所下降外,吞吐量都超越了FeW,平均來說比FeW提高了10%的吞吐量。如表1所示,為本實施例中鏈路拓撲下4條TCP流吞吐量對比情況(a=0.05),在鏈狀拓撲下,4條TCP流同時傳輸時,自適應包長方法超越FeW的性能達10%-25%。表1本實施例方法與FeW在鏈路拓撲下4條TCP流吞吐量對比情況tableseeoriginaldocumentpage8如圖3所示,在7x7的柵格拓撲結構下,分別選擇a=0.01和a=0.05兩種情況下,本實施例方法與FeW方法的吞吐量進行比較,自適應包長方法不僅在網絡資源充沛時是優於FeW,而且在網絡負荷很大時仍相對FeW吞吐量的改善可達12%。如圖4所示,在13x5的狹長柵格拓撲結構下,分別選擇a=0.01和a=0.05兩種情況下,本實施例方法與FeW方法的吞吐量進行比較,結果表明本實施例的自適應包長方法超越FeW平均達10.4°/。。如圖5所示,仿真了150個節點在2000mx2000m的區域內隨機移動的場景,每個節點被設置為具有l一10m/s的隨機速度,反覆仿真測試代碼10次並取得平均值。本實施例方法比傳統TCP改善了25%,比FeW改善了10%的吞吐量。權利要求1、一種基於浮點窗口增兩因子的自適應包長方法,其特徵在於,包括如下步驟步驟一,當發送端收到來自接收端的一個確認分組時,發送端根據浮點窗口更新方法更新窗口,然後由更新後的窗口大小計算下一個包使用的分組長度,傳輸層發送端使用計算後的分組長度傳送後續分組,直到再次收到一個確認分組,重複步驟一;步驟二,當發送端計時器超時,傳輸層控制協議進入慢啟動狀態,擁塞窗口重置為1,當前分組長度重置為初始分組長度,發送端對緩衝中的數據按照當前分組長度重新打包,進行重傳;步驟三,當發送端收到3個重複的確認分組,傳輸層控制協議進入快速啟動狀態時,發送端只重傳丟失的包,重傳成功後再按照步驟一計算下一個包使用的分組長度,傳輸層發送端使用計算後的分組長度傳送後續分組。2、根據權利要求l所述的基於浮點窗口增兩因子的自適應包長方法,其特徵是,所述根據浮點窗口更新方法更新窗口,具體為formulaseeoriginaldocumentpage2其中cwnd—,為更新後的擁塞窗口大小,cwnf為當前擁塞窗口,a為浮點窗口增量因子,在傳統傳輸層控制協議中a為l。3、根據權利要求l所述的基於浮點窗口增兩因子的自適應包長方法,其特徵是,所述計算下一個包使用的分組長度,具體為下一個包使用的分組長度packetsize_,formulaseeoriginaldocumentpage2其中initPacketsize—為傳輸層控制協議初始分組長度,cwncL為當前擁塞窗口大小。4、根據權利要求l所述的基於浮點窗口增兩因子的自適應包長方法,其特徵是,所述重新打包,具體為取出發送緩衝中的所有包,按照順序去除包的傳輸層控制協議頭部,將數據部分重新合併,並且將傳輸層控制協議當前序列號置為超時包首字節的序列號,然後按照當前分組長度,重新打包數據。5、根據權利要求l所述的基於浮點窗口增兩因子的自適應包長方法,其特徵是,所述重傳丟失的包,具體為發送端鎖定擁塞窗口,忽略當前分組長度,重傳丟失的包,並且等待確認分組,若確認分組正確到達,根據傳輸層控制協議的快速啟動定義將當前擁塞窗口減半,然後按照步驟一計算當前分組長度,繼續傳輸,若確認分組未到達,計時器超時,則進入步驟二。全文摘要一種無線傳輸
技術領域:
的基於浮點窗口增量因子的自適應包長方法,包括如下步驟當發送端正常收到來自接收端的一個確認分組時,發送端更新的窗口大小並計算下一個包使用的分組長度,傳輸層發送端使用計算後的分組長度傳送後續分組;步驟二,當發送端計時器超時,傳輸層控制協議進入慢啟動狀態,擁塞窗口重置為1,當前分組長度重置為初始分組長度,發送端對緩衝中的數據按照當前分組長度重新打包,進行重傳;步驟三,當發送端收到3個重複的確認分組,傳輸層控制協議進入快速啟動狀態時,發送端只重傳丟失的包。本發明大大提高了無線網絡的TCP性能,吞吐量優於FeW最多達20%。文檔編號H04L29/08GK101316157SQ20081003274公開日2008年12月3日申請日期2008年1月17日優先權日2008年1月17日發明者徐友雲,王新兵,贇韓申請人:上海交通大學