本文最后更新于:2020年6月30日 晚上
* TCP协议保证可靠的数据传输。。使用哪些方法来保证呢。。?来瞧瞧滑动窗口。。→_→ *
- 滑动窗口的定义
TCP滑动窗口以字节为单位
-
- 发送窗口表示,在没有收到接收方的确认时,发送方可以把窗口内的数据都发送出去。发送过的数据在未收到确认之前都必须暂时保留,以便超时重传使用
发送窗口的位置由窗口前沿和后沿共同决定。
后沿不动——没有收到新的确认
后沿前移——收到了新的确认
前沿前移——没有收到新的确认,接收方的窗口大小不变
前沿不动——收到了新的确认,接收方的窗口缩小
-
P3 - P1 = A的发送窗口(通知窗口)
P2 - P1 = 已发送但尚未收到确认的字节数
P3 - p2 = 允许发送但尚未发送的字节数(可用窗口或有效窗口)
- 缓存和窗口的关系
-
发送缓存存放:应用程序传送给TCP的准备发送的数据和TCP已发送但尚未收到确认的数据
发送窗口只是发送缓存的一部分,发送缓存和发送窗口的后沿是重合的
-
接收缓存存放:按序到达、但尚未被应用程序读取的数据和未按序到达的数据
如果应用程序不及时读取缓存数据,那接收缓存最终就会被填满,使接收窗口减小到零
如果应用程序即使读取缓存数据,接收窗口就可以增大,但最大不超过接收缓存的大小
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!