計算機網路之八:TCP協議(2) TCP可靠傳輸的實現
一.以位元組為單位的滑動視窗
在TCP裡,接收端(B)會給傳送端(A)報一個視窗的大小,叫Advertised window。
1.在沒有收到B的確認情況下,A可以連續把視窗內的資料都傳送出去。凡是已經傳送過的資料,在
未收到確認之前都必須暫時保留,以便在超時重傳時使用。
2.傳送視窗裡面的序號表示允許傳送的序號。顯然,視窗越大,傳送方就可以在收到對方確認之前連續
傳送更多資料,因而可能獲得更高的傳輸效率。但接收方必須來得及處理這些收到的資料。
3.傳送視窗後沿的後面部分表示已傳送且已收到確認。這些資料顯然不需要再保留了。
4.傳送視窗前沿的前面部分表示不允許傳送的,應為接收方都沒有為這部分資料保留臨時存放的快取空間。
5.傳送視窗後沿的變化情況有兩種:不動(沒有收到新的確認)和前移(收到了新的確認)
6.傳送視窗前沿的變化情況有兩種:不斷向前移或可能不動(沒收到新的確認)
二.超時重傳時間的選擇
TCP的傳送方在規定時間內沒有收到確認就要重傳已傳送的報文段。這種重傳的概念很簡單,但重傳時間的選擇
確是TCP最複雜的問題之一。TCP採用了一種自適應演算法,它記錄一個報文段發出的時間,以及收到相應的確認的時間
這兩個時間之差就是報文段的往返時間RTT。TCP保留了RTT的一個加權平均往返時間。超時重傳時間RTO略大於加權平均往返時間。
三:選擇確認SACK
如果收到的報文段無差錯,只是未按序號,中間還缺少一些序號的資料,那麼能否設法只傳送缺少的資料而不重傳已經正確到達接收方的資料?
答案是可以的,選擇確認就是一種可行的處理方法。
如果要使用選項確認SACK,那麼在建立TCP連線時,就要在TCP首部的選項中加上“允許SACK”的選項,而雙方必須都事先商定好。如果使用選擇確認,
那麼原來首部中的“確認號欄位”的用法仍然不變。SACK文件並沒有明確傳送方應當怎麼響應SACK.因此大多數的實現還是重傳所有未被確認的資料塊。
四:TCP的流量控制
一般說來,我們總是希望資料傳輸的更快一些,但如果傳送方把資料傳送的過快,接收方就可能來不及接收,這會造成資料的丟失。所謂流量控制就是讓傳送方的傳送速率不要太快,要讓接收方來得及接收。
五:TCP的擁塞控制
在計算機網路中的鏈路容量,交換節點中的快取和處理機等,都是網路的資源。在某段時間,若對網路中某一資源的需求超過了該資源所能提供的可用部分,網路的效能
就要變壞。這種情況就叫做擁塞。
擁塞控制方法:
1.慢開始和擁塞避免
2.快重傳和快恢復
3.隨機早期檢測
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2214613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 計算機網路之TCP可靠傳輸計算機網路TCP
- 計算機網路之七:TCP協議(1)計算機網路TCP協議
- 計算機網路之TCP/IP協議簡介計算機網路TCP協議
- Python 基於 TCP 傳輸協議的網路通訊實現PythonTCP協議
- Python 網路資料傳輸協議 TCP 程式設計Python協議TCP程式設計
- 用python實現TCP協議傳輸功能PythonTCP協議
- 計算機網路學習筆記(10) TCP/IP協議棧 之TELNET協議計算機網路筆記TCP協議
- TCP傳輸協議詳解TCP協議
- TCP可靠傳輸原理TCP
- TCP/IP五層模型-傳輸層-TCP協議TCP模型協議
- TCP協議之網路延時TCP協議
- 傳輸控制協議/網際網路協議(TCP / IP)是什麼意思?-VeCloud協議TCPCloud
- 計算機網路再次整理————tcp周邊[八]計算機網路TCP
- 傳輸層協議 TCP 和 UDP協議TCPUDP
- 網路學習筆記(二):TCP可靠傳輸原理筆記TCP
- 計算機網路之傳輸層TCP與UDP對比、流量控制、擁塞控制、超時重傳時間的選擇、可靠傳輸計算機網路TCPUDP
- [計算機網路]TCP/IP計算機網路TCP
- TCP/IP協議 - 網路層TCP協議
- 實用TCP協議(2):TCP 引數優化TCP協議優化
- 實用TCP協議(1):TCP 協議簡介TCP協議
- 網路通訊協議-TCP協議詳解!協議TCP
- TCP傳輸協議如何進行流量控制?TCP協議
- 計算機網路再次整理————tcp[二]計算機網路TCP
- 計算機網路-5-10-TCP運輸連線管理計算機網路TCP
- 計算機網路之傳輸層計算機網路
- TCP 學習筆記(三) 可靠傳輸TCP筆記
- Android程式設計師必知必會的網路通訊傳輸層協議——UDP和TCPAndroid程式設計師協議UDPTCP
- CS144 計算機網路 Lab2:TCP ReceiverCS144計算機網路TCP
- 通過故事引申網路協議TCP協議TCP
- TCP協議如何保證資料的順序傳輸TCP協議
- 計算機網路之十三:HTTPS協議計算機網路HTTP協議
- 計算機網路之十二:HTTP協議計算機網路HTTP協議
- 計算機網路之十:路由協議計算機網路路由協議
- 計算機網路之六:UDP協議計算機網路UDP協議
- 計算機網路之四:ICMP協議計算機網路協議
- 系列TCP/IP協議-TCP協議概述(011)TCP協議
- 計算機網路再次整理————tcp例子[五]計算機網路TCP
- 計算機網路——深入理解TCP/IP計算機網路TCP