tcp的滑动窗口
今天閱讀了TCP中滑動窗口部分的內容,總結如下:
滑動窗口:又叫緩沖區,是兩臺主機間傳送數據時的緩沖區。每臺TCP/IP主機支持兩個滑動窗口:一個用于接收數據,另一個用于發送數據。
窗口尺寸表示計算機可能緩沖的數據量大小。?
為什么要有滑動窗口
a)每次只發送出一個數據包。
b)為什么不一次發送完所有數據包?
在Internet中,可能同時存在著數百萬條TCP連接。如果這些連接同時無節制的發送數據包,那么整個網絡都會被堵死,沒有數據包能到達目的地。
因此TCP需要根據網絡狀況,每次發送若干數據包。
1、滑動窗口的意義:
? ? ? ?因特網中有數以萬計的TCP連接,它們需要共享帶寬,緩存等網絡資源。 TCP希望能最大效率的利用網絡資源,? ? ? ?并將資源公平的分配到每條TCP連接上,還要盡量保證不讓網絡超負荷。滑動窗口機制有效的解決了這些問題。
2、滑動窗口的作用:
? ? ? ? 滑動窗口機制是TCP用來控制發送數據包速率的。?發送方每次只能發送滑動窗口內部的數據包。
3、滑動窗口的運行方式:
? ? ? ? 每收到一個新的確認(ack),滑動窗口的位置就向右移動一格。
? ? ? ? 滑動窗口大小,受擁塞窗口(cwnd)和通告窗口(awnd)的制約。swnd = min [ cwnd , awnd ]。
? ? ? ? 擁塞窗口是為了不造成阻塞,網絡對發送方發包數量的限制。
? ? ? ? 通告窗口是接收方TCP緩存當前的大小。它阻止由于發包數量過多,超出接收方緩存的容量。
滑動窗口設計的原則:
1.滑動窗口過大:帶寬利用率較高,容易產生丟包現象的網絡,則需要多次發送重復的數據,會造成重傳太多,也同樣耗費了網絡帶寬,通信效率嚴重下降
2.滑動窗口過小:則需要在網絡上頻繁的傳輸確認信息,占用了大量的網絡帶寬;也會造成通信效率下降
總結
- 上一篇: R-CNN算法学习(步骤二:特征提取)
- 下一篇: Linux下修改只读文件