两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種用于衛(wèi)星網(wǎng)絡的傳輸控制協(xié)議方法

文檔序號:7749529閱讀:267來源:國知局
專利名稱:一種用于衛(wèi)星網(wǎng)絡的傳輸控制協(xié)議方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機網(wǎng)絡和衛(wèi)星信道傳輸技術(shù)領(lǐng)域,涉及一種適合衛(wèi)星網(wǎng)絡的 TCP (Transmission Control Protocol)傳輸控制方法,主要用于解決衛(wèi)星通信數(shù)據(jù)傳輸, 以提高傳輸數(shù)據(jù)的效率,減少系統(tǒng)開銷和網(wǎng)絡延遲。
背景技術(shù)
隨著互聯(lián)網(wǎng)的迅速發(fā)展以及信息全球化的加快,多媒體技術(shù)、通訊技術(shù)獲得了巨 大發(fā)展。與此同時,各種新的業(yè)務需求如遠程教育、電視會議、遠程醫(yī)療的產(chǎn)生對網(wǎng)絡又提 出了新的要求,現(xiàn)有的地面網(wǎng)絡已不能完全滿足用戶的需求。交互的、高速的、和因特網(wǎng)相 結(jié)合的新一代衛(wèi)星通信網(wǎng)絡很好的解決了這些問題。衛(wèi)星通信的面積廣、通信費用與距離 無關(guān)、不受地面自然災害影響等固有的優(yōu)點,很好的適應了當前迅猛發(fā)展的互聯(lián)網(wǎng)業(yè)務需 求,同時這也使得對衛(wèi)星網(wǎng)絡協(xié)議的研究成為當前的研究熱點。應用需求的不斷變化給互聯(lián)網(wǎng)技術(shù)提出了巨大挑戰(zhàn),為了更有效地提供數(shù)據(jù)傳輸 業(yè)務,減少與其他網(wǎng)絡協(xié)議的接口轉(zhuǎn)換,傳輸控制協(xié)議(Transmission ControlProtocol, TCP)在衛(wèi)星通信中受到了很大的關(guān)注。其中作為TCP協(xié)議核心的擁塞控制機制,是研究的 熱點問題之一。網(wǎng)絡中如果通過路由器的流量過大就會引起網(wǎng)絡擁塞,即超過了路由器的 緩沖處理能力的時候,路由器就會丟棄數(shù)據(jù)包。發(fā)生丟包后,除了重傳丟失的數(shù)據(jù)包以外, TCP還會降低傳輸速率,以減少網(wǎng)絡中的數(shù)據(jù)流量,使路由器有足夠的時間來處理轉(zhuǎn)發(fā)數(shù) 據(jù),然后TCP逐漸增加傳輸速率來探測網(wǎng)絡的容量,避免擁塞再次發(fā)生。傳統(tǒng)的TCP應用于地面有線網(wǎng)絡中性能很好,但是由于衛(wèi)星網(wǎng)絡所具有的大時 延、高誤碼率、鏈路不對稱等等與地面網(wǎng)絡相異的特點,使得基于地面網(wǎng)絡的TCP協(xié)議并不 能很好的運用于衛(wèi)星網(wǎng)路中。特別是地面有線網(wǎng)絡的誤碼率很低,丟包都默認是鏈路擁塞 造成的,而衛(wèi)星網(wǎng)絡誤碼率較高,丟包可能是由于鏈路誤碼造成的,所以地面網(wǎng)絡中使用的 TCP擁塞控制會造成衛(wèi)星網(wǎng)絡吞吐量降低,不適合衛(wèi)星網(wǎng)絡,如何提高TCP協(xié)議在衛(wèi)星網(wǎng)絡 中的性能成為重要的研究課題。當前高速TCP擁塞控制是衛(wèi)星網(wǎng)絡研究的熱點,其中的TCP ffestwood是代表之 一。TCP Westwood 算法(簡稱 TCPW)是由 UCLA 大學 High Performance InternetLab 實 驗室提出的一種主要針對高誤碼率無線網(wǎng)絡、衛(wèi)星網(wǎng)絡等網(wǎng)絡的端到端的擁塞控制算法, 在原有TCP Reno基礎(chǔ)上修改而來的。它是基于帶寬估計開發(fā)的,其主要思想是通過發(fā)送 端不斷檢測ACK的到達速率來進行帶寬估計(BWE),然后當擁塞發(fā)生時,利用估計的帶寬 去調(diào)整窗口(cwnd)和慢啟動門限(ssthresh),有效地利用了估計帶寬。擁塞控制機制為 AIAD (Additive Increase adaptive Decrease,力口性增力口適度減小)。

發(fā)明內(nèi)容
技術(shù)問題本發(fā)明的目的是針對現(xiàn)有的為地面有線網(wǎng)絡設(shè)計的TCP擁塞控制不能 適應衛(wèi)星網(wǎng)絡的需要的缺點,提供一種用于衛(wèi)星網(wǎng)絡的TCP傳輸控制方法,從而提高衛(wèi)星網(wǎng)絡的吞吐量和公平性,減少系統(tǒng)開銷和網(wǎng)絡延遲。本發(fā)明提出的方法可以在NS2網(wǎng)絡仿 真器中進行仿真驗證。技術(shù)方案為了實現(xiàn)本發(fā)明的目的,本發(fā)明提供了一種適合衛(wèi)星網(wǎng)絡的TCP傳輸 控制協(xié)議方法,該方法是一種在現(xiàn)有TCP ffestwood算法基礎(chǔ)上改進的方法,通過改進實現(xiàn) 了一種能夠提高衛(wèi)星網(wǎng)絡傳輸性能的算法TCPW_BS⑶。一、體系結(jié)構(gòu)TCPW基本的擁塞窗口動態(tài)調(diào)整算法在慢啟動階段和擁塞避免階段都與Reno相 同,沒有改變,基本思想是當擁塞發(fā)生時用帶寬估計值(BWE)來調(diào)整擁塞窗口和慢啟動門 限值,擁塞控制機制為AIAD (加性增加適度減小)。TCPW使用最廣泛的帶寬估計算法如下,其帶寬估計的采樣尺寸如圖1所示。bk = dk/ (t.-t^i)取樣(sample)BWEk = akBWEkA + (1 -ak)(bk +,_l)指數(shù)濾波器(exponential filter)
2r - At.cck = k + 濾波器權(quán)值(filter gain)其中BWEk :tk時刻濾波器過濾的可用估計帶寬;1/ X 濾波器的中斷頻率;A tk = tftH,其它參數(shù)意義同上。TCPW BE算法采用了適時變化的濾波器權(quán)值a k,提高了帶寬 估計的穩(wěn)定性,但是算法會過高估計網(wǎng)絡帶寬,而且當有ACK壓縮發(fā)生時,帶寬估計會不穩(wěn) 定,另外過高估計帶寬使得此算法占用過多的帶寬,對TCPReno不很友好。TCPW算法原理如圖2所示。本方法是在現(xiàn)有TCP ffestwood算法基礎(chǔ)上改進的方 法。圖3給出了 TCPW-BS⑶算法的傳輸控制原理圖,其改進實現(xiàn)方法為以下三點1.采用二分增長的方法來快速搜索擁塞避免階段的最佳發(fā)送窗口,代替TCPW算 法中原有的線性增長。本發(fā)明用最大窗口值maxw和最小窗口值minw來控制擁塞窗口 cwnd 的大小,定義目標窗口 tarw為tarw = (maxw+minw)/2,用來作為下一個RTT后的擁塞窗口 的值;dist為目標窗口和當前窗口的差值;閾值smax用來限制初始時窗口增長過大。當 dist > smax時,即認為目標窗口與擁塞窗口的差值過大,則在下一個RTT后,將擁塞窗口 增加smax,即cwnd+ = smax ;當dist < smax時,在一個RTT之后將擁塞窗口增加dist,即 cwnd+ = dist。如果未發(fā)生丟包時,令cwnd = tarw,并將最小窗口值更新為此時的窗口大 小,然后使用公式tarw= (maxW+minW)/2重新更新目標窗口值。當發(fā)生丟包后,令丟包前 的窗口大小為新的最大窗口值,并將最小窗口值更新為丟包后的窗口大小,此窗口值在改 進TCPW算法中是通過帶寬估計值獲得的。同時使用公式tarw= (maxw+minw)/2更新目標 窗口值。重復此過程,直至最大窗口和最小窗口的差值小于一預設(shè)的閾值smin;2.采取一種預測方案區(qū)分鏈路擁塞或鏈路誤碼。計算鏈路中正在傳輸?shù)臄?shù)據(jù)包的 個數(shù)paCketS_in_f light,然后與當前擁塞窗口 cwnd進行比較,如果大于當前擁塞窗口,則 認為丟包是擁塞造成的,從而進入擁塞控制階段;否則,則認為是誤碼等原因造成的丟包, 將窗口、慢啟動門限值保持不變,繼續(xù)發(fā)送數(shù)據(jù)分組。消除衛(wèi)星網(wǎng)絡的無線鏈路高誤碼所引 起的擁塞窗口錯誤變化;3.采用SACK選擇性確認機制。在丟包時盡可能只重傳丟棄的分組,減小了 TCPW 算法在高誤碼率下發(fā)送的一次窗口數(shù)據(jù)出現(xiàn)多個分組丟棄的可能性,提高網(wǎng)絡的利用率。
二、方法流程現(xiàn)有標準的地面TCP協(xié)議采用三次握手方式建立連接,其核心擁塞控制機制一般 采用四種算法實現(xiàn)①慢啟動(Slow-start)慢啟動為發(fā)送方的TCP增加了擁塞窗口 (congestionwindow),記為cwnd。當TCP連接建立時,擁塞窗口被初始化為1個報文段,每 返回一個ACK,擁塞窗口 cwnd加l(Cwnd以字節(jié)為單位,但是這里以報文段大小為單位進行 增加)。發(fā)送方開始時發(fā)送一個報文段,然后等待ACK。當收到該ACK時,擁塞窗口從1增 加到2,即可以發(fā)送兩個報文段。當收到這兩個報文段的ACK時,擁塞窗口就增加為4。就 這樣呈指數(shù)增加,從1迅速增加到慢啟動門限。②擁塞避免(Congestion avoidance)當擁塞窗口 cwnd大于慢啟動門限 ssthresh后,就采用擁塞避免機制,預防可能發(fā)生的擁塞。此時擁塞窗口增長緩慢,要求每 次收到一個ACK確認時將cwnd增加1/cwnd,即在每個往返時間RTT內(nèi)cwnd窗口線性增加 1,這是一種加性增長(additive increase) 0慢啟動和擁塞避免過程如圖1所示。③快速重傳(Fast retransmit)收到3個相同的ACK,判定數(shù)據(jù)分組丟失,這時進 行快速重傳,把ssthresh設(shè)置為cwnd的一半,再把cwnd設(shè)置為ssthresh的值,重新進入 擁塞避免階段。④快速恢復(Fast recover)當收到3個重復ACK時,把ssthresh設(shè)置為cwnd的 一半,把cwnd設(shè)置為ssthresh的值加3,然后重傳丟失的報文段,再收到重復的ACK時,擁 塞窗口增加1。當收到新的數(shù)據(jù)包的ACK時,把cwnd設(shè)置為之前的ssthresh的值,再次進 入擁塞避免狀態(tài)。對于每一個TCP連接包括接收窗口 rwnd,擁塞窗口 cwnd以及慢啟動門限 ssthresh,其中接收窗口是接收端的流量控制,而擁塞窗口則是源于發(fā)送端的流量控制。一 般都認為擁塞窗口大于接收窗口,即網(wǎng)絡的擁塞限制發(fā)送窗口的大小。根據(jù)擁塞窗口增長 的模式不同,整個TCP連接可以劃分為慢啟動和擁塞避免兩個階段。網(wǎng)絡發(fā)生擁塞時,當發(fā) 送端連續(xù)收到三個以上重復ACK確認信號則認為對應分組丟失,此時啟動快速重傳機制, 發(fā)送端不等重傳定時器超時,直接重新傳送該分組。而快速恢復機制將cwnd和ssthresh都 減少一半。在成功重傳丟失的數(shù)據(jù)段后,進入到擁塞避免階段。若出現(xiàn)多個數(shù)據(jù)丟失,cwnd 和ssthresh會重復減半。其避免了擁塞窗口重新從1開始所導致的長時間慢啟動階段。TCPW算法中,在檢測到分組丟失后,根據(jù)帶寬估計來確定新的窗口門限值,不像 Reno那樣盲目降低窗口,消除了高誤碼率的影響,所以在誤碼較多的衛(wèi)星鏈路中TCPW能夠 獲得較好的性能。雖然TCPW能夠較好處理高誤碼率的影響,但是在長時延的環(huán)境中,表現(xiàn) 較差。實驗表明,隨著時延的增加,TCPW的吞吐量迅速下降,波動幅度加大,在時延較小時, 發(fā)生丟包后,TCPW通過處理可以及時調(diào)整窗口值來提高吞吐量,但是隨著時延的增大,往返 時延RTT的測量精度下降,導致性能下降。在慢啟動和擁塞避免階段仍然采用Reno的標準窗口增加機制,但是這種機制沒 有考慮網(wǎng)絡的實際可用帶寬,沒有區(qū)分分組丟失原因,比較盲目。本發(fā)明基于TCPW算法提 出的TCPW-BS⑶算法克服了以上缺點,使之能夠較好的應用于衛(wèi)星網(wǎng)絡中,提高了傳輸性 能。本發(fā)明的具體方法流程如下
5
步驟1)建立連接,進入監(jiān)聽狀態(tài),等待發(fā)送端的連接請求,地面網(wǎng)絡的發(fā)送端發(fā) 出TCP連接請求,通過衛(wèi)星網(wǎng)絡鏈路的傳輸?shù)竭_接收端,根據(jù)三次握手的方式建立連接,
步驟2)傳輸數(shù)據(jù),步驟2. 1)慢啟動,當TCP連接建立,擁塞窗口被初始化為1個報文段,每返回一個 石角認字符 ACK (ACKnowledge Character,),擁塞窗口 cwnd (congestionwindow)力口 1,單位 是報文段;發(fā)送方開始時發(fā)送一個報文段,然后等待確認字符ACK確認,當收到該確認信號 時,擁塞窗口從1增加到2,即可以發(fā)送兩個報文段;當收到這兩個報文段的ACK確認時,擁 塞窗口就增加為4 ;就這樣呈指數(shù)增加,從1迅速增加到慢啟動門限,慢啟動階段的發(fā)送窗 口的增長速率與數(shù)據(jù)往返時間RTT呈反比關(guān)系,即RTT越長,發(fā)送速率增長越慢;步驟2. 2) 二分增長探測擁塞窗口,當擁塞窗口 cwnd大于慢啟動門限 ssthresh(slow start thresh,)時,采用二分增長的方法來快速搜索該階段的最佳發(fā)送窗 口,而不是TCPW算法(TCP Westwood的簡稱)中原有的線性增長;用最大窗口值maxw和最 小窗口值minw來控制擁塞窗口 cwnd的大小,定義目標窗口 tarw為tarw= (maxw+minw)/2, 用來作為下一個RTT后的擁塞窗口的值;定義dist為目標窗口和當前窗口的差值,定義閾 值smax用來限制初始時窗口增長過大,當dist > smax時,即認為目標窗口與擁塞窗口的 差值過大,則在下一個RTT后,將擁塞窗口增加smax,即cwnd+ = smax ;當dist < smax時, 在一個RTT之后將擁塞窗口增加dist,即cwnd+ = dist ;如果未發(fā)生丟包時,令cwnd = tarw,并將最小窗口值更新為此時的窗口大小,然后使用公式tarw = (maxw+minw)/2重新 更新目標窗口值;當發(fā)生丟包后,令丟包前的窗口大小為新的最大窗口值,并將最小窗口值 更新為丟包后的窗口大小,此窗口值在改進TCPW算法中是通過帶寬估計值獲得的;同時使 用公式tarw = (maxw+minw)/2更新目標窗口值;重復此過程,直至最大窗口和最小窗口的 差值小于一預設(shè)的閾值smin ;這種窗口增長比線性增長快,可以快速達到最佳的發(fā)送窗口值,提高傳輸效率;步驟2. 3)傳輸中,若發(fā)生timeout超時,根據(jù)體系結(jié)構(gòu)中講到的預測方案來判斷 是擁塞或誤碼造成超時,該預測方案就是計算鏈路中正在傳輸?shù)臄?shù)據(jù)包的個數(shù)packet^ in_f light (當前傳輸鏈路中的數(shù)據(jù)包 packets_in_f light = snd_nxt-snd_una_left_out, 其中snd_nxt為發(fā)送端下一個要發(fā)送的數(shù)據(jù)包序號,sncLima為最早的還沒有被確認的數(shù) 據(jù)包序號,left_out為基于SACK (Selective Acknowledgment,選擇性確認)機制接收方通 告給發(fā)送方?jīng)]有收到的數(shù)據(jù)包數(shù)),然后與當前擁塞窗口 cwnd進行比較,若大于cwnd,則認 為是網(wǎng)絡擁塞造成的,否則認為是誤碼造成的,如果是擁塞造成超時,那么就重傳期望的數(shù) 據(jù)包,令 ssthresh = (BTO*RTTmin)/seg_size,其中 BTO 為 TCPWestwood 算法估計可用帶 寬,RTTmin為測得的最小RTT,seg_size為報文段的大??;cwnd = 1,然后重新回到慢啟動 階段,否則各參數(shù)保持不變,繼續(xù)傳輸接下來的數(shù)據(jù)包;步驟2. 4)若收到三個重復的ACK,表示數(shù)據(jù)包丟失,同樣根據(jù)本發(fā)明提出的預測 方案判斷是擁塞或誤碼導致的丟包,如果是誤碼造成的,保持參數(shù)不變,繼續(xù)傳輸數(shù)據(jù)包, 如果是擁塞造成丟包,則進入第4步快速重傳;步驟2. 5)快速重傳當發(fā)送端檢測到三個重復ACK時,令ssthresh = (BffE^RTTmin) /seg_size,如果 cwnd > ssthresh,則 cwnd = ssthresh,重傳丟失的數(shù)據(jù)包, 不需等到定時器超時,接下來進入第2步二分增長探測窗口階段,而不是慢啟動階段;
步驟3)拆除連接發(fā)送端發(fā)送連接結(jié)束數(shù)據(jù)包,等待對方的應答,當接收端收到 連接結(jié)束TCP數(shù)據(jù)包后,返回連接拆除確認應答數(shù)據(jù)包,拆除此次連接,進入到監(jiān)聽狀態(tài), 發(fā)送端接收到拆除應答后,拆除連接。有益效果本發(fā)明提供了一種適合衛(wèi)星網(wǎng)絡的TCP傳輸 控制的新協(xié)議方法,主要 用于衛(wèi)星通信數(shù)據(jù)傳輸中,以提高傳輸數(shù)據(jù)的效率,減少系統(tǒng)開銷和網(wǎng)絡延遲。下面我們給 出具體的說明。TCPW-BS⑶算法在TCP Westwood這種高速TCP擁塞控制算法的基礎(chǔ)上,采用了二 分增長的思想來快速搜索擁塞避免階段的最佳發(fā)送窗口,此外采取了一種計算鏈路中正在 傳輸?shù)臄?shù)據(jù)包的個數(shù),然后與當前擁塞窗口進行比較的方法區(qū)分鏈路擁塞和傳輸誤碼從而 有效解決了衛(wèi)星網(wǎng)絡的無線鏈路高誤碼所引起的擁塞窗口錯誤變化,可以較大幅度的提高 衛(wèi)星網(wǎng)絡傳輸吞吐量,減小了系統(tǒng)開銷。


圖ITCPW帶寬估計(BE)取樣尺寸,圖2TCPW算法慢啟動和擁塞避免原理示意圖,圖3TCPW-BS⑶算法的具體擁塞控制原理圖,圖4衛(wèi)星網(wǎng)絡拓撲圖。
具體實施例方式為了方便描述,我們假定有如下應用實例開發(fā)一個衛(wèi)星網(wǎng)絡傳輸系統(tǒng),應用的基 本要求是減小衛(wèi)星網(wǎng)絡高誤碼率大時延等特性對傳輸?shù)挠绊?,提高傳輸?shù)據(jù)的吞吐量。實施方案(1)開發(fā)人員根據(jù)需求創(chuàng)建實現(xiàn)數(shù)據(jù)傳輸?shù)男l(wèi)星網(wǎng)絡,生成數(shù)據(jù)傳輸?shù)母鱾€節(jié)占.
^ \\\ (2)開發(fā)人員把數(shù)據(jù)的傳輸分解成由網(wǎng)絡的各個功能層分別來完成;(3)開發(fā)人員根據(jù)衛(wèi)星網(wǎng)絡特點設(shè)計傳輸層的傳輸控制協(xié)議的算法;(4)開發(fā)人員把傳輸控制協(xié)議具體算法在傳輸系統(tǒng)的各個節(jié)點中實現(xiàn)。本發(fā)明的特點是其可以在開放源代碼的Linux操作系統(tǒng)中實現(xiàn),在開放源代碼的 NS2網(wǎng)絡仿真軟件中仿真驗證,具體方法流程如下步驟(1)建立連接進入監(jiān)聽狀態(tài),等待發(fā)送端的連接請求。地面網(wǎng)絡的發(fā)送端發(fā)出TCP連接請求,通 過衛(wèi)星網(wǎng)絡鏈路的傳輸?shù)竭_接收端,根據(jù)三次握手的方式建立連接。步驟⑵傳輸數(shù)據(jù)步驟(2.1)慢啟動(Slow-start)當TCP連接建立,擁塞窗口被初始化為1個報文段,每返回一個ACK確認信號,擁 塞窗口 cwnd加1 (cwnd以字節(jié)為單位,但是這里以報文段大小為單位進行增加)。發(fā)送方開 始時發(fā)送一個報文段,然后等待ACK確認。當收到該確認信號時,擁塞窗口從1增加到2,即 可以發(fā)送兩個報文段。當收到這兩個報文段的ACK確認時,擁塞窗口就增加為4。就這樣呈 指數(shù)增加,從1迅速增加到慢啟動門限。慢啟動階段的發(fā)送窗口的增長速率與數(shù)據(jù)往返時間(RTT)呈反比關(guān)系,即RTT越長,發(fā)送速率增長越慢。步驟(2. 2) 二分增長探測擁塞窗口當擁塞窗口 cwnd大于ssthresh時,采用二分增長的方法來快速搜索該階段的最佳發(fā)送窗口,而不是TCPW算法中原有的線性增長。用最大窗口值maxw和最小窗口值minw 來控制擁塞窗口 cwnd的大小,定義目標窗口 tarw為tarw= (maxw+minw)/2,用來作為下一 個RTT后的擁塞窗口的值。定義dist為目標窗口和當前窗口的差值,定義閾值smax用來 限制初始時窗口增長過大,當dist > smax時,即認為目標窗口與擁塞窗口的差值過大,則 在下一個RTT后,將擁塞窗口增加smax,即cwnd+ = smax ;當dist < smax時,在一個RTT 之后將擁塞窗口增加dist,即cwnd+ = dist。如果未發(fā)生丟包時,令cwnd = tarw,并將最 小窗口值更新為此時的窗口大小,然后使用公式tarw = (maxw+minw)Λ重新更新目標窗口 值。當發(fā)生丟包后,令丟包前的窗口大小為新的最大窗口值,并將最小窗口值更新為丟包后 的窗口大小,此窗口值在改進TCPW算法中是通過帶寬估計值獲得的。同時使用公式tarw =(maxw+minw)/2更新目標窗口值。重復此過程,直至最大窗口和最小窗口的差值小于一 預設(shè)的閾值smin ;這種窗口增長比線性增長快,可以快速達到最佳的發(fā)送窗口值,提高傳輸效率。步驟(2.3)傳輸中,若發(fā)生timeout超時,根據(jù)本發(fā)明提出的預測方案來判斷是 擁塞或誤碼造成超時,計算鏈路中正在傳輸?shù)臄?shù)據(jù)包的個數(shù)paCketS_in_flight,packet、 in_f light = snd_nxt-snd_una-left_out,然后與當前擁塞窗口 cwnd進行比較,若大于 cwnd,則認為是網(wǎng)絡擁塞造成的,否則認為是誤碼造成的,如果是擁塞造成超時,那么就重 傳期望的數(shù)據(jù)包,令 ssthresh = (BWE*RTTmin)/seg_size (而不是 cwnd/2,BffE 為 TCPW 算 法估計可用帶寬),cwnd = 1,然后重新回到慢啟動階段,否則各參數(shù)保持不變,繼續(xù)傳輸接 下來的數(shù)據(jù)包。步驟(2. 4)若收到三個重復的ACK,表示數(shù)據(jù)包丟失,同樣根據(jù)本發(fā)明提出的預測 方案判斷是擁塞或誤碼導致的丟包,如果是誤碼造成的,保持參數(shù)不變,繼續(xù)傳輸數(shù)據(jù)包, 如果是擁塞造成丟包,則進入第4步快速重傳。步驟(2. 5)快速重傳,當發(fā)送端檢測到三個重復ACK時,令ssthresh = (BffE^RTTmin) /seg_size (而不是 ssthresh = cwnd/2),如果 cwnd > ssthresh,貝cwnd = ssthresh,重傳丟失的數(shù)據(jù)包,不需等到定時器超時,接下來進入第2步二分增長探測窗口 階段,而不是慢啟動階段。步驟(3)拆除連接發(fā)送端發(fā)送連接結(jié)束數(shù)據(jù)包,等待對方的應答,當接收端收到連接結(jié)束TCP數(shù)據(jù) 包后,返回連接拆除確認應答數(shù)據(jù)包,拆除此次連接,進入到監(jiān)聽狀態(tài),發(fā)送端接收到拆除 應答后,拆除連接。
權(quán)利要求
一種用于衛(wèi)星網(wǎng)絡的傳輸控制協(xié)議方法,其特征在于該傳輸控制方法的具體方法流程如下步驟1)建立連接,進入監(jiān)聽狀態(tài),等待發(fā)送端的連接請求,地面網(wǎng)絡的發(fā)送端發(fā)出TCP連接請求,通過衛(wèi)星網(wǎng)絡鏈路的傳輸?shù)竭_接收端,根據(jù)三次握手的方式建立連接,步驟2)傳輸數(shù)據(jù),步驟2.1)慢啟動,當TCP連接建立,擁塞窗口被初始化為1個報文段,每返回一個確認字符ACK,擁塞窗口cwnd加1,單位是報文段;發(fā)送方開始時發(fā)送一個報文段,然后等待確認字符ACK確認,當收到該確認信號時,擁塞窗口從1增加到2,即可以發(fā)送兩個報文段;當收到這兩個報文段的ACK確認時,擁塞窗口就增加為4;就這樣呈指數(shù)增加,從1迅速增加到慢啟動門限,慢啟動階段的發(fā)送窗口的增長速率與數(shù)據(jù)往返時間RTT呈反比關(guān)系,即RTT越長,發(fā)送速率增長越慢;步驟2.2)二分增長探測擁塞窗口,當擁塞窗口cwnd大于慢啟動門限ssthresh時,采用二分增長的方法來快速搜索該階段的最佳發(fā)送窗口,用最大窗口值maxw和最小窗口值minw來控制擁塞窗口cwnd的大小,定義目標窗口tarw為tarw=(maxw+minw)/2,用來作為下一個RTT后的擁塞窗口的值;定義dist為目標窗口和當前窗口的差值,定義閾值smax用來限制初始時窗口增長過大,當dist>smax時,即認為目標窗口與擁塞窗口的差值過大,則在下一個RTT后,將擁塞窗口增加smax,即cwnd+=smax;當dist<smax時,在一個RTT之后將擁塞窗口增加dist,即cwnd+=dist;如果未發(fā)生丟包時,令cwnd=tarw,并將最小窗口值更新為此時的窗口大小,然后使用公式tarw=(maxw+minw)/2重新更新目標窗口值;當發(fā)生丟包后,令丟包前的窗口大小為新的最大窗口值,并將最小窗口值更新為丟包后的窗口大小,此窗口值在改進TCPW算法中是通過帶寬估計值獲得的;同時使用公式tarw=(maxw+minw)/2更新目標窗口值;重復此過程,直至最大窗口和最小窗口的差值小于一預設(shè)的閾值smin;步驟2.3)傳輸中,若發(fā)生timeout超時,根據(jù)體系結(jié)構(gòu)中講到的預測方案來判斷是擁塞或誤碼造成超時,該預測方案就是計算鏈路中正在傳輸?shù)臄?shù)據(jù)包的個數(shù),然后與當前擁塞窗口cwnd進行比較,若大于cwnd,則認為是網(wǎng)絡擁塞造成的,否則認為是誤碼造成的,如果是擁塞造成超時,那么就重傳期望的數(shù)據(jù)包,令ssthresh=(BWE*RTTmin)/seg_size,其中BWE為TCP Westwood算法估計可用帶寬,RTTmin為測得的最小RTT,seg_size為報文段的大??;cwnd=1,然后重新回到慢啟動階段,否則各參數(shù)保持不變,繼續(xù)傳輸接下來的數(shù)據(jù)包;步驟2.4)若收到三個重復的ACK,表示數(shù)據(jù)包丟失,同樣根據(jù)本發(fā)明提出的預測方案判斷是擁塞或誤碼導致的丟包,如果是誤碼造成的,保持參數(shù)不變,繼續(xù)傳輸數(shù)據(jù)包,如果是擁塞造成丟包,則進入第4步快速重傳;步驟2.5)快速重傳當發(fā)送端檢測到三個重復ACK時,令ssthresh=(BWE*RTTmin)/seg_size,如果cwnd>ssthresh,則cwnd=ssthresh,重傳丟失的數(shù)據(jù)包,不需等到定時器超時,接下來進入第2步二分增長探測窗口階段,而不是慢啟動階段;步驟3)拆除連接發(fā)送端發(fā)送連接結(jié)束數(shù)據(jù)包,等待對方的應答,當接收端收到連接結(jié)束TCP數(shù)據(jù)包后,返回連接拆除確認應答數(shù)據(jù)包,拆除此次連接,進入到監(jiān)聽狀態(tài),發(fā)送端接收到拆除應答后,拆除連接。
全文摘要
一種用于衛(wèi)星網(wǎng)絡的傳輸控制協(xié)議方法是一種在衛(wèi)星網(wǎng)絡傳輸層中進行數(shù)據(jù)傳輸?shù)目刂品椒?,用來在網(wǎng)絡中進行傳輸?shù)牧髁靠刂坪筒铄e控制,實現(xiàn)數(shù)據(jù)的高效傳輸,該方法主要針對擁塞控制中的擁塞避免進行改進,用二分增長來探測最佳發(fā)送窗口,然后通過計算當前網(wǎng)絡中正在傳輸?shù)臄?shù)據(jù)包個數(shù)這種預測方法來進行擁塞誤碼的區(qū)分,從而有效地解決了高誤碼率的問題。同時采用了SACK選擇性確認機制,丟包時盡可能只重傳丟棄的分組,減小了高誤碼率下發(fā)送的一次窗口數(shù)據(jù)出現(xiàn)多個分組丟棄的可能性,提高了網(wǎng)絡利用率。本發(fā)明用在高誤碼率大時延的衛(wèi)星網(wǎng)絡中,可以實現(xiàn)數(shù)據(jù)的高效傳輸。
文檔編號H04W80/06GK101854738SQ201010179728
公開日2010年10月6日 申請日期2010年5月21日 優(yōu)先權(quán)日2010年5月21日
發(fā)明者葉曉國, 孫力娟, 王汝傳, 肖甫, 謝銳, 郭劍, 黃海平 申請人:南京郵電大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
湄潭县| 栾川县| 武强县| 青浦区| 三亚市| 东台市| 保山市| 穆棱市| 临夏市| 铜川市| 纳雍县| 逊克县| 天峨县| 乌审旗| 蒙城县| 毕节市| 金乡县| 巫山县| 乌兰察布市| 太康县| 武宣县| 三穗县| 库车县| 平山县| 南郑县| 元朗区| 迁安市| 仙游县| 遂川县| 浏阳市| 织金县| 达拉特旗| 石楼县| 页游| 祁连县| 定日县| 阳山县| 遂川县| 花垣县| 桑植县| 肥西县|