[發明專利]TCP協議的傳輸方法、裝置和系統在審
| 申請號: | 201410817885.4 | 申請日: | 2014-12-24 |
| 公開(公告)號: | CN104580171A | 公開(公告)日: | 2015-04-29 |
| 發明(設計)人: | 張鵬;張昕 | 申請(專利權)人: | 北京高森明晨信息科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L1/00 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 羅振安 |
| 地址: | 100020 北京市朝陽區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | tcp 協議 傳輸 方法 裝置 系統 | ||
技術領域
本發明涉及通信領域,尤其涉及一種TCP協議的傳輸方法、裝置和系統。
背景技術
隨著通信技術飛速發展,數據傳輸協議也得到快熟的應用。TCP(Transmission?Control?Protocol,傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。TCP采用滑動窗口進行擁塞控制來適應網絡狀況的變化,同時實現端到端結點之間的可靠數據傳輸。
TCP中使用的擁塞控制技術一般采用滑動窗口機制還可對網絡進行擁塞控制,將網絡中的分組(TCP報文段作為其數據部分)數量維持在一定的數量之下,當超過該數值時,網絡的性能會急劇惡化。傳輸層的擁塞控制有慢開始(Slow-Start)、擁塞避免(Congestion?Avoidance)、快重傳(Fast?Retransmit)和快恢復(Fast?Recovery)四種算法。
大量數據報涌入同一交換節點(如路由器),導致該節點資源耗盡而必須丟棄后面到達的數據報時發生擁塞。因此發送端的主機在確定發送報文段的速率時,既要根據接收端的接收能力,又要從全局考慮不要使網絡發生擁塞。因此,每一個TCP連接需要有以下兩個狀態變量:其一是接收端窗口rwnd(receiver?window)又稱為通知窗口(advertised?window)。這是接收端根據其目前的接收緩存大小所許諾的最新的窗口值,是來自接收端的流量控制。接收端將此窗口值放在TCP報文的首部中的窗口字段,傳送給發送端。其二是擁塞窗口cwnd(congestion?window)。cwnd是發送端根據自己估計的網絡擁塞程度而設置的窗口值,是來自發送端的流量控制。
在以太網的環境下,當發送端不知道對方窗口大小的時候,便直接向網絡發送多個報文段,直至收到對方通告的窗口大小為止。但如果在發送方和接收方有多個路由器和較慢的鏈路時,就可能出現一些問題,一些中間路由器必須緩存分組,并有可能耗盡存儲空間,這樣就會嚴重降低TCP連接的吞吐量。
現有技術在解決傳輸擁塞和數據延遲時,通過快重傳和快恢復機制解決。如有時一條TCP連接會因等待重傳計時器的超時而空閑較長的時間。為此以后又增加了兩個新的擁塞控制算法。假定發送端發送了一個報文段M1~M4共4個報文段。假定由于網絡擁塞使M3丟失了。接收端后來收到下一個M4,發現其序號不對,但仍收下放在緩存中,同時發出確認,不過發出的是重復的ACK2共(不能夠發送ACK4,因為ACK4表示M4和M3都已經收到了)。發送端接著發送M5和M6。接收端收到了M5和M6后,也還要分別發出重復的ACK2。這樣,發送端共收到了接收端的四個ACK2,其中三個是重復的。
快重傳算法規定,發送端只要一連收到三個重復的ACK即可斷定有分組丟失了,就應立即重傳丟失的報文段M3而不必繼續等待為M3設置的重傳計時器的超時。若倒數第三個分組丟失了,TCP只能收到兩次重復ACK,因為后續沒有分組可以觸發新的ACK了。這時,只能通過超時計時器檢測到丟包,這比三次ACK方式要慢很多。
因此,會造成數據包傳輸延遲增大,帶寬利用率下降。當一條TCP連接用來傳輸數據量比較大且連續,且傳輸完就直接關閉,TCP尾部丟包的后果,相比來說不是很嚴重。但是,TCP連接上傳輸的數據通常是不連續的,即數據分很多次傳輸,且每次的數據量不是很大。例如,在瀏覽網頁時,分布式文件系統中請求數據塊時,TCP連接上傳輸的數據時不連續的。更嚴重的時,很多時候用戶對時延比較敏感,如瀏覽網頁。TCP尾部丟包的后果會嚴重影響用戶體驗質量。
發明內容
為了解決現有技術的問題,本發明實施例提供了一種TCP協議的傳輸方法、裝置和系統。所述技術方案如下:
第一方面,本發明實施例提供的TCP協議的傳輸方法,所述方法包括:
發送一條TCP連接的若干TCP數據包;
當任一TCP數據包為所述TCP連接的尾部數據包時,根據接收端對所述任一TCP數據包的響應消息,繼續發送至少一個冗余數據包;
根據接收端對冗余數據包的響應消息,停止發送冗余包。
優選地,所述冗余包是一條TCP連接的尾部最后一個數據包。
優選地,所述冗余包是一條TCP連接的尾部最后一個數據包中一段字節。
優選地,所述方法還包括:
根據丟包率確定發送冗余包的數量。
優選地,所述發送一條TCP連接若干TCP數據包時,所述方法還包括:
每次判斷若干TCP數據包是否為一條TCP連接的尾部數據包。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京高森明晨信息科技有限公司,未經北京高森明晨信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410817885.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據處理方法和裝置
- 下一篇:一種負載均衡處理裝置





