滑动窗口

滑动窗口是TCP使用的一种流量控制的方法。

在TCP中采用滑动窗口来进行传输控制时,滑动窗口的大小意味着接收方的有多大的缓冲来接收数据。一般发送方确认滑动窗口应发送多大的数据,而接收方则确认接收窗口的大小。

一般接收方提供的窗口大小通常由接收进程控制,这将影响TCP的性能。一般操作系统默认设置发送和接收缓冲区的大小为4096字节。

当滑动窗口在未发送数据时,窗口的大小为0,正常是不能发送数据出去,但是有2种情况能发送出数据:1、发送紧急数据。2、发送方通知接收方希望接收下一字节的数据及发送方滑动窗口的大小。

在TCP滑动窗口发送数据时,如下图所示。假设每个标号为1字节,该窗口的大小为7字节,第一次接收了0-2字节的数据,等接收方回复了ACK后,窗口的右边缘先左扩大。有时会发现发送窗口的大小的左边缘会向右进行移动,而右边缘没有移动,是因为滑动窗口的大小可以减小。

         在滑动窗口中,发送方不一定会发送全窗口大小的数据,就像上图一样,一次发3字节的数据给接收方。当发送方接受到了接受方的ACK时,滑动窗口才会向右滑动。在滑动窗口中可以多个数据只需要一个ACK进行确认。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值