TCP传输控制协议(3)--数据传输(滑动窗口)

滑动窗口协议

TCP发送数据时滑动窗口协议维护两个窗口结构,发送窗口结构和接收窗口结构(均为抽象结构 )
在这里插入图片描述

发送窗口结构如上,TCP通过字节大小维护窗口,即窗口大小(TCP头部中的窗口大小)和确认序号均为字节,SND.WND有接收方提供表示接受缓存区剩余大小(即当前能接受的数据大小),左边界SND.UNA为接收方最新确认序号大小, 右边界为左边界加上窗口大小, SND.NXT则记录下次发送的数据序列号

窗口移动的方式有以下几种:
1. 收到ACK通过确认序号左边界右移
2. 当已确认数据得到处理,接收端可用缓存变大,窗日也随之变大,此时发送方收到接受方发送的ACK中包含的窗口大小变大
3. 窗口收缩右边界向左移动

在这里插入图片描述
接受端窗口结构记录了已接收并确认的数据,以及它能够接收的最大序列号,该窗口可以保证其接收数据的正确性。特别是,接收端希望避免存储重复的已接收和确认的数据,以及避免存储不应接收的数据(大于能够接受的最大序列号)

零窗口和窗口探测

当左右边界相等时,称之为零窗口,此时发送方停止真正数据发送,进行窗口探测,发送端会采用一个持续计时器间歇性地查询接收端,看其窗口是否已增长,探测报文含一个字节数据,当接受方收到探测报文时,被强制要求回复ACK(其中包

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值