TCP的滑动窗口

说一说TCP的滑动窗口?

  • 滑动窗口实现了TCP流控制。首先明确滑动窗口的范畴:TCP是双工的协议,会话的双方都可以同时接收和发送数据。TCP会话的双方都各自维护了一个发送窗口和一个接收窗口。各自的接收窗口大小取决于应用、系统、硬件的限制(TCP传输速率不能大于应用的数据处理速率)。各自的发送窗口则取决于对端通告的接收窗口,要求相同。滑动窗口解决的是流量控制的问题。所谓流量控制,主要是接收方传递信息给发送方,使其不要发送数据太快,是一种端到端的控制。主要的方式就是返回的ACK中会包含自己的接收窗口的大小,并且利用大小来控制发送方的数据发送。
  • 发送方的发送缓存内的数据都可以被分为4类:已发送并收到确认、已发送但未收到确认、允许发送但尚未发送、不允许发送。其中已发送但未收到确认和允许发送但尚未发送都属于发送窗口。接收方的缓存数据分为3类:已发送确认并交付主机、允许接收、不允许接收。其中允许接收属于接收窗口。窗口大小代表了设备一次能从对端处理多少数据,之后再传给应用层。缓存传给应用层的数据不能是乱序的,窗口机制保证了这一点。因为即使有数据出现乱序到达接收方,接收方也只能对按序收到的数据中的最高序号给出确认。
  • 发送窗口只有收到发送窗口内字节的ACK确认,才会移动发送窗口的左边界。
  • 接收窗口只有在前面所有的数据都确认的情况下才会移动左边界。当前面还有字节未收到但收到后面字节的情况下,窗口不会移动也不会对后续字节确认。以保证对端会对这些数据重传。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值