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